เรากลั่นกรองโฆษณาอย่างไร

เรากลั่นกรองโฆษณาอย่างไร

แต่ละบริการที่ผู้ใช้สามารถสร้างเนื้อหาของตนเอง (UGC - เนื้อหาที่ผู้ใช้สร้างขึ้น) ไม่เพียงแต่ถูกบังคับเพื่อแก้ไขปัญหาทางธุรกิจเท่านั้น แต่ยังต้องจัดระเบียบสิ่งต่าง ๆ ใน UGC ด้วย การกลั่นกรองเนื้อหาที่ไม่ดีหรือคุณภาพต่ำสามารถลดความน่าดึงดูดใจของบริการสำหรับผู้ใช้ในท้ายที่สุด แม้กระทั่งการสิ้นสุดการดำเนินการก็ตาม

วันนี้เราจะมาเล่าให้คุณฟังเกี่ยวกับการทำงานร่วมกันระหว่าง Yula และ Odnoklassniki ซึ่งช่วยให้เรากลั่นกรองโฆษณาใน Yula ได้อย่างมีประสิทธิภาพ

การทำงานร่วมกันโดยทั่วไปเป็นสิ่งที่มีประโยชน์มาก และในโลกสมัยใหม่ เมื่อเทคโนโลยีและเทรนด์เปลี่ยนแปลงอย่างรวดเร็ว ก็สามารถเปลี่ยนเป็นผู้ช่วยชีวิตได้ เหตุใดจึงสิ้นเปลืองทรัพยากรและเวลาที่ขาดแคลนไปกับการคิดค้นสิ่งที่ถูกคิดค้นและนำมาสู่ความคิดต่อหน้าคุณ?

เราคิดแบบเดียวกันเมื่อต้องเผชิญกับงานเต็มรูปแบบในการกลั่นกรองเนื้อหาของผู้ใช้ - รูปภาพ ข้อความ และลิงก์ ผู้ใช้ของเราอัปโหลดเนื้อหาหลายล้านชิ้นไปยัง Yula ทุกวัน และหากไม่มีการประมวลผลอัตโนมัติ จะเป็นไปไม่ได้เลยที่จะกลั่นกรองข้อมูลทั้งหมดนี้ด้วยตนเอง

ดังนั้นเราจึงใช้แพลตฟอร์มการกลั่นกรองสำเร็จรูป ซึ่งในเวลานั้นเพื่อนร่วมงานของเราจาก Odnoklassniki ได้บรรลุสถานะ "เกือบจะสมบูรณ์แบบ" แล้ว

ทำไมต้อง Odnoklassniki?

ทุกๆ วัน ผู้ใช้หลายสิบล้านคนมาที่เครือข่ายโซเชียลและเผยแพร่เนื้อหานับพันล้านชิ้น ตั้งแต่รูปภาพไปจนถึงวิดีโอและข้อความ แพลตฟอร์มการดูแล Odnoklassniki ช่วยตรวจสอบข้อมูลปริมาณมาก และต่อต้านสแปมเมอร์และบอท

ทีมกลั่นกรอง OK ได้สั่งสมประสบการณ์มากมาย เนื่องจากได้ปรับปรุงเครื่องมือมาเป็นเวลา 12 ปี สิ่งสำคัญคือพวกเขาไม่เพียงแต่สามารถแชร์โซลูชันสำเร็จรูปของตนได้เท่านั้น แต่ยังปรับแต่งสถาปัตยกรรมของแพลตฟอร์มให้เหมาะกับงานเฉพาะของเราได้อีกด้วย

เรากลั่นกรองโฆษณาอย่างไร

จากนี้ไป เพื่อความกระชับ เราจะเรียกแพลตฟอร์มการกลั่นกรอง OK ว่า "แพลตฟอร์ม"

ทุกอย่างทำงานอย่างไร

การแลกเปลี่ยนข้อมูลระหว่าง Yula และ Odnoklassniki เกิดขึ้นผ่าน Apache Kafka.

ทำไมเราถึงเลือกเครื่องมือนี้:

  • ใน Yula โฆษณาทั้งหมดจะได้รับการตรวจสอบภายหลัง ดังนั้นในตอนแรกจึงไม่จำเป็นต้องมีการตอบสนองแบบซิงโครนัส
  • หากเกิดย่อหน้าที่ไม่ดีและ Yula หรือ Odnoklassniki ไม่พร้อมใช้งาน รวมถึงเนื่องจากมีการโหลดสูงสุด ข้อมูลจาก Kafka จะไม่หายไปทุกที่และสามารถอ่านได้ในภายหลัง
  • แพลตฟอร์มดังกล่าวได้รับการผสานรวมกับ Kafka แล้ว ปัญหาด้านความปลอดภัยส่วนใหญ่จึงได้รับการแก้ไข

เรากลั่นกรองโฆษณาอย่างไร

สำหรับโฆษณาแต่ละรายการที่สร้างหรือแก้ไขโดยผู้ใช้ใน Yula จะมีการสร้าง JSON พร้อมข้อมูล ซึ่งจะถูกวางไว้ใน Kafka เพื่อการกลั่นกรองในภายหลัง จาก Kafka ประกาศต่างๆ จะถูกโหลดเข้าสู่แพลตฟอร์ม โดยจะมีการพิจารณาโดยอัตโนมัติหรือด้วยตนเอง โฆษณาที่ไม่เหมาะสมจะถูกบล็อกด้วยเหตุผล และโฆษณาที่แพลตฟอร์มไม่พบการละเมิดจะถูกทำเครื่องหมายว่า "ดี" จากนั้นการตัดสินใจทั้งหมดจะถูกส่งกลับไปยัง Yula และนำไปใช้ในการให้บริการ

ในท้ายที่สุด สำหรับ Yula ทุกอย่างขึ้นอยู่กับการกระทำง่ายๆ: ส่งโฆษณาไปที่แพลตฟอร์ม Odnoklassniki และรับวิธีแก้ปัญหากลับมาเป็น "ตกลง" หรือทำไมไม่ "ตกลง"

การประมวลผลอัตโนมัติ

จะเกิดอะไรขึ้นกับโฆษณาหลังจากที่โฆษณาเข้าสู่แพลตฟอร์ม โฆษณาแต่ละรายการแบ่งออกเป็นหลายรายการ:

  • ชื่อ,
  • คำอธิบาย,
  • ภาพถ่าย,
  • หมวดหมู่ที่ผู้ใช้เลือกและหมวดหมู่ย่อยของโฆษณา
  • цена

เรากลั่นกรองโฆษณาอย่างไร

จากนั้นแพลตฟอร์มจะทำการจัดกลุ่มสำหรับแต่ละเอนทิตีเพื่อค้นหารายการที่ซ้ำกัน นอกจากนี้ ข้อความและรูปถ่ายยังถูกจัดกลุ่มตามรูปแบบที่ต่างกัน

ก่อนที่จะจัดกลุ่ม ข้อความจะถูกทำให้เป็นมาตรฐานเพื่อลบอักขระพิเศษ ตัวอักษรที่เปลี่ยนแปลง และขยะอื่นๆ ข้อมูลที่ได้รับจะถูกแบ่งออกเป็น N-grams ซึ่งแต่ละข้อมูลจะถูกแฮช ผลลัพธ์ที่ได้คือแฮชที่ไม่ซ้ำใครมากมาย ความคล้ายคลึงกันระหว่างข้อความถูกกำหนดโดย มาตรการของแจ็คการ์ด ระหว่างสองเซ็ตผลลัพธ์ หากความคล้ายคลึงกันมากกว่าเกณฑ์ ข้อความจะถูกรวมเป็นคลัสเตอร์เดียว เพื่อเร่งการค้นหาคลัสเตอร์ที่คล้ายกัน จึงมีการใช้ MinHash และ Locality-sensitive hashing

มีการคิดค้นตัวเลือกต่างๆ สำหรับการติดภาพสำหรับภาพถ่าย ตั้งแต่การเปรียบเทียบภาพ pHash ไปจนถึงการค้นหาภาพซ้ำโดยใช้โครงข่ายประสาทเทียม

วิธีสุดท้ายคือวิธีที่ "รุนแรง" ที่สุด ในการฝึกแบบจำลอง จะมีการเลือกภาพสามภาพ (N, A, P) โดยที่ N ไม่เหมือนกับ A และ P นั้นคล้ายกับ A (เป็นแบบกึ่งซ้ำกัน) จากนั้นโครงข่ายประสาทเทียมเรียนรู้ที่จะทำให้ A และ P ใกล้ที่สุดเท่าที่จะเป็นไปได้ และ A และ N ให้มากที่สุด ซึ่งส่งผลให้เกิดผลบวกลวงน้อยลงเมื่อเทียบกับการรับการฝังจากเครือข่ายที่ได้รับการฝึกอบรมล่วงหน้า

เมื่อโครงข่ายประสาทเทียมได้รับภาพเป็นอินพุต มันจะสร้างเวกเตอร์มิติ N(128) สำหรับแต่ละภาพ และมีการร้องขอเพื่อประเมินความใกล้เคียงของภาพ ถัดไป จะมีการคำนวณเกณฑ์ที่ภาพที่ปิดจะถือว่าซ้ำกัน

โมเดลนี้สามารถค้นหาผู้ส่งอีเมลขยะที่ถ่ายรูปผลิตภัณฑ์เดียวกันจากมุมที่แตกต่างกันได้อย่างเชี่ยวชาญ เพื่อหลีกเลี่ยงการเปรียบเทียบค่า pHash

เรากลั่นกรองโฆษณาอย่างไรเรากลั่นกรองโฆษณาอย่างไร
ตัวอย่างภาพถ่ายสแปมที่เชื่อมต่อกันด้วยโครงข่ายประสาทเทียมที่ซ้ำกัน

ในขั้นตอนสุดท้าย โฆษณาที่ซ้ำกันจะถูกค้นหาพร้อมกันทั้งข้อความและรูปภาพ

หากโฆษณาตั้งแต่สองรายการขึ้นไปติดกันเป็นกลุ่ม ระบบจะเริ่มการบล็อกอัตโนมัติ ซึ่งใช้อัลกอริธึมบางอย่างในการเลือกว่ารายการใดซ้ำที่จะลบและรายการใดที่จะออก ตัวอย่างเช่น หากผู้ใช้สองคนมีรูปถ่ายที่เหมือนกันในโฆษณา ระบบจะบล็อกโฆษณาที่ใหม่กว่านั้น

เมื่อสร้างแล้ว คลัสเตอร์ทั้งหมดจะต้องผ่านชุดตัวกรองอัตโนมัติ ตัวกรองแต่ละตัวจะกำหนดคะแนนให้กับคลัสเตอร์: มีแนวโน้มมากน้อยเพียงใดที่คลัสเตอร์จะมีภัยคุกคามที่ตัวกรองนี้ระบุ

ตัวอย่างเช่น ระบบวิเคราะห์คำอธิบายในโฆษณาและเลือกหมวดหมู่ที่เป็นไปได้ จากนั้นจะนำอันที่มีความน่าจะเป็นสูงสุดมาเปรียบเทียบกับหมวดหมู่ที่ระบุโดยผู้เขียนโฆษณา หากไม่ตรงกัน โฆษณาจะถูกบล็อกสำหรับหมวดหมู่ที่ไม่ถูกต้อง และเนื่องจากเราใจดีและซื่อสัตย์ เราจึงบอกผู้ใช้โดยตรงว่าเขาต้องเลือกหมวดหมู่ใดเพื่อให้โฆษณาผ่านการกลั่นกรอง

เรากลั่นกรองโฆษณาอย่างไร
แจ้งการบล็อคหมวดที่ไม่ถูกต้อง

การเรียนรู้ของเครื่องให้ความรู้สึกเหมือนอยู่บ้านในแพลตฟอร์มของเรา ตัวอย่างเช่น ด้วยความช่วยเหลือ เราค้นหาชื่อและคำอธิบายของสินค้าที่ต้องห้ามในสหพันธรัฐรัสเซีย และโมเดลโครงข่ายประสาทเทียมจะ "ตรวจสอบ" รูปภาพอย่างละเอียดเพื่อดูว่ามี URL ข้อความสแปม หมายเลขโทรศัพท์ และข้อมูล "ต้องห้าม" เดียวกันหรือไม่

ในกรณีที่พวกเขาพยายามขายผลิตภัณฑ์ต้องห้ามซึ่งปลอมตัวว่าเป็นสิ่งที่ถูกกฎหมาย และไม่มีข้อความในชื่อหรือคำอธิบาย เราจะใช้การแท็กรูปภาพ สำหรับแต่ละภาพ คุณสามารถเพิ่มแท็กที่แตกต่างกันได้มากถึง 11 แท็กเพื่ออธิบายสิ่งที่อยู่ในภาพ

เรากลั่นกรองโฆษณาอย่างไร
พวกเขากำลังพยายามขายมอระกู่โดยปลอมตัวเป็นกาโลหะ

ควบคู่ไปกับตัวกรองที่ซับซ้อน ตัวกรองแบบง่ายก็ใช้งานได้เช่นกัน โดยแก้ไขปัญหาที่ชัดเจนที่เกี่ยวข้องกับข้อความ:

  • แอนติแมต;
  • เครื่องตรวจจับ URL และหมายเลขโทรศัพท์
  • การกล่าวถึงผู้ส่งข้อความโต้ตอบแบบทันทีและผู้ติดต่ออื่น ๆ
  • ลดราคา;
  • โฆษณาที่ไม่มีการขาย ฯลฯ

ทุกวันนี้ โฆษณาทุกรายการต้องผ่านการกรองอัตโนมัติมากกว่า 50 รายการเพื่อพยายามค้นหาสิ่งที่ไม่ดีในโฆษณา

หากไม่มีเครื่องตรวจจับใดทำงาน ระบบจะส่งการตอบกลับไปยัง Yula ว่าโฆษณานั้น "มีแนวโน้มมากที่สุด" ในลำดับที่สมบูรณ์แบบ เราใช้คำตอบนี้เอง และผู้ใช้ที่สมัครรับข้อมูลผู้ขายจะได้รับการแจ้งเตือนเกี่ยวกับความพร้อมของผลิตภัณฑ์ใหม่

เรากลั่นกรองโฆษณาอย่างไร
แจ้งว่าผู้ขายมีสินค้าใหม่

ด้วยเหตุนี้ โฆษณาแต่ละรายการจึง "รก" ด้วยข้อมูลเมตา ซึ่งบางส่วนจะถูกสร้างขึ้นเมื่อมีการสร้างโฆษณา (ที่อยู่ IP ของผู้เขียน ตัวแทนผู้ใช้ แพลตฟอร์ม ตำแหน่งทางภูมิศาสตร์ ฯลฯ) และส่วนที่เหลือเป็นคะแนนที่ออกโดยตัวกรองแต่ละตัว .

คิวประกาศ

เมื่อโฆษณาเข้าสู่แพลตฟอร์ม ระบบจะจัดโฆษณาให้อยู่ในคิวใดคิวหนึ่ง แต่ละคิวสร้างขึ้นโดยใช้สูตรทางคณิตศาสตร์ที่รวมข้อมูลเมตาของโฆษณาในลักษณะที่ตรวจจับรูปแบบที่ไม่ดี

ตัวอย่างเช่น คุณสามารถสร้างคิวโฆษณาในหมวดหมู่ "โทรศัพท์มือถือ" จากผู้ใช้ Yula ที่คาดว่าจะมาจากเซนต์ปีเตอร์สเบิร์ก แต่ที่อยู่ IP ของพวกเขามาจากมอสโกหรือเมืองอื่นๆ

เรากลั่นกรองโฆษณาอย่างไร
ตัวอย่างโฆษณาที่โพสต์โดยผู้ใช้รายหนึ่งในเมืองต่างๆ

หรือคุณสามารถสร้างคิวตามคะแนนที่โครงข่ายประสาทเทียมกำหนดให้กับโฆษณา โดยจัดเรียงโฆษณาจากมากไปน้อย

แต่ละคิวจะกำหนดคะแนนสุดท้ายให้กับโฆษณาตามสูตรของตัวเอง จากนั้นคุณสามารถดำเนินการได้หลายวิธี:

  • ระบุเกณฑ์ที่โฆษณาจะได้รับการบล็อกบางประเภท
  • ส่งโฆษณาทั้งหมดในคิวไปยังผู้ดูแลเพื่อตรวจสอบด้วยตนเอง
  • หรือรวมตัวเลือกก่อนหน้า: ระบุเกณฑ์การบล็อกอัตโนมัติและส่งโฆษณาที่ยังไม่ถึงเกณฑ์นี้ไปยังผู้ดูแล

เรากลั่นกรองโฆษณาอย่างไร

เหตุใดจึงต้องมีคิวเหล่านี้ สมมติว่าผู้ใช้อัปโหลดรูปถ่ายอาวุธปืน โครงข่ายประสาทเทียมให้คะแนนจาก 95 ถึง 100 และกำหนดด้วยความแม่นยำ 99 เปอร์เซ็นต์ว่ามีอาวุธอยู่ในภาพ แต่หากค่าคะแนนต่ำกว่า 95% ความแม่นยำของโมเดลจะเริ่มลดลง (นี่คือฟีเจอร์ของโมเดลโครงข่ายประสาทเทียม)

ด้วยเหตุนี้ คิวจึงถูกสร้างขึ้นตามโมเดลคะแนน และโฆษณาที่ได้รับระหว่าง 95 ถึง 100 จะถูกบล็อกโดยอัตโนมัติว่าเป็น "ผลิตภัณฑ์ต้องห้าม" โฆษณาที่มีคะแนนต่ำกว่า 95 จะถูกส่งไปยังผู้ดูแลเพื่อดำเนินการด้วยตนเอง

เรากลั่นกรองโฆษณาอย่างไร
ช็อคโกแลตเบเร็ตต้าพร้อมตลับหมึก สำหรับการกลั่นกรองด้วยตนเองเท่านั้น! 🙂

การกลั่นกรองด้วยตนเอง

ในช่วงต้นปี 2019 ประมาณ 94% ของโฆษณาทั้งหมดใน Yula ได้รับการตรวจสอบโดยอัตโนมัติ

เรากลั่นกรองโฆษณาอย่างไร

หากแพลตฟอร์มไม่สามารถตัดสินใจเลือกโฆษณาบางรายการได้ ระบบจะส่งโฆษณาเหล่านั้นไปตรวจสอบด้วยตนเอง Odnoklassniki พัฒนาเครื่องมือของตัวเอง: งานสำหรับผู้ตรวจสอบจะแสดงข้อมูลที่จำเป็นทั้งหมดทันทีเพื่อการตัดสินใจอย่างรวดเร็ว - โฆษณามีความเหมาะสมหรือควรถูกบล็อกโดยระบุเหตุผล

และเพื่อไม่ให้คุณภาพของการบริการลดลงในระหว่างการกลั่นกรองด้วยตนเอง งานของผู้คนจึงได้รับการตรวจสอบอย่างต่อเนื่อง ตัวอย่างเช่น ในสตรีมงาน ผู้ควบคุมจะแสดง "กับดัก" ซึ่งเป็นโฆษณาที่มีวิธีแก้ปัญหาสำเร็จรูปอยู่แล้ว หากการตัดสินใจของผู้ดูแลไม่ตรงกับการตัดสินใจของผู้ดูแลที่เสร็จสิ้น ผู้ดูแลจะได้รับข้อผิดพลาด

โดยเฉลี่ยแล้ว ผู้ตรวจสอบจะใช้เวลา 10 วินาทีในการตรวจสอบโฆษณาหนึ่งรายการ นอกจากนี้ จำนวนข้อผิดพลาดไม่เกิน 0,5% ของโฆษณาที่ได้รับการยืนยันทั้งหมด

การกลั่นกรองของผู้คน

เพื่อนร่วมงานจาก Odnoklassniki ก้าวไปอีกขั้นและใช้ประโยชน์จาก "ความช่วยเหลือจากผู้ชม": พวกเขาเขียนแอปพลิเคชันเกมสำหรับเครือข่ายโซเชียลซึ่งคุณสามารถทำเครื่องหมายข้อมูลจำนวนมากได้อย่างรวดเร็วโดยเน้นสัญญาณที่ไม่ดี - Odnoklassniki Moderator (https://ok.ru/app/moderator). วิธีที่ดีในการใช้ประโยชน์จากความช่วยเหลือของผู้ใช้ OK ที่พยายามทำให้เนื้อหาสนุกสนานยิ่งขึ้น

เรากลั่นกรองโฆษณาอย่างไร
เกมที่ผู้ใช้แท็กรูปภาพที่มีหมายเลขโทรศัพท์อยู่

คิวโฆษณาใดๆ ในแพลตฟอร์มสามารถเปลี่ยนเส้นทางไปยังเกม Odnoklassniki Moderator ได้ ทุกสิ่งที่ผู้ใช้เกมทำเครื่องหมายจะถูกส่งไปยังผู้ดูแลภายในเพื่อทำการตรวจสอบ รูปแบบนี้ช่วยให้คุณสามารถบล็อกโฆษณาที่ยังไม่ได้สร้างตัวกรอง และสร้างตัวอย่างการฝึกอบรมไปพร้อมๆ กัน

การจัดเก็บผลการกลั่นกรอง

เราบันทึกการตัดสินใจทั้งหมดที่เกิดขึ้นในระหว่างการกลั่นกรอง เพื่อที่เราจะไม่ประมวลผลโฆษณาที่เราได้ทำการตัดสินใจไปแล้วอีกครั้ง

คลัสเตอร์นับล้านถูกสร้างขึ้นทุกวันตามโฆษณา เมื่อเวลาผ่านไป แต่ละคลัสเตอร์จะมีป้ายกำกับว่า "ดี" หรือ "ไม่ดี" โฆษณาใหม่แต่ละรายการหรือการแก้ไขที่เข้าสู่คลัสเตอร์ที่มีเครื่องหมาย จะได้รับการแก้ปัญหาจากคลัสเตอร์โดยอัตโนมัติ มีการแก้ไขอัตโนมัติดังกล่าวประมาณ 20 รายการต่อวัน

เรากลั่นกรองโฆษณาอย่างไร

หากไม่มีประกาศใหม่มาถึงคลัสเตอร์ คลัสเตอร์นั้นจะถูกลบออกจากหน่วยความจำ และแฮชและโซลูชันของคลัสเตอร์จะถูกเขียนไปยัง Apache Cassandra

เมื่อแพลตฟอร์มได้รับโฆษณาใหม่ อันดับแรกแพลตฟอร์มจะพยายามค้นหาคลัสเตอร์ที่คล้ายกันจากคลัสเตอร์ที่สร้างไว้แล้วและหาทางแก้ไข หากไม่มีคลัสเตอร์ดังกล่าว แพลตฟอร์มจะไปที่ Cassandra และมองดูที่นั่น คุณหาเจอไหม? เยี่ยมมาก ใช้โซลูชันกับคลัสเตอร์แล้วส่งไปที่ Yula มีการตัดสินใจ "ซ้ำ" ดังกล่าวโดยเฉลี่ย 70 รายการทุกวัน - 8% ของทั้งหมด

ข้อสรุปถึง

เราใช้แพลตฟอร์มการดูแล Odnoklassniki มาเป็นเวลาสองปีครึ่งแล้ว เราชอบผลลัพธ์:

  • เรากลั่นกรอง 94% ของโฆษณาทั้งหมดต่อวันโดยอัตโนมัติ
  • ค่าใช้จ่ายในการกลั่นกรองโฆษณาหนึ่งรายการลดลงจาก 2 รูเบิลเป็น 7 โกเปค
  • ต้องขอบคุณเครื่องมือสำเร็จรูปที่ทำให้เราลืมปัญหาในการจัดการผู้ดูแลไปได้
  • เราเพิ่มจำนวนโฆษณาที่ประมวลผลด้วยตนเองขึ้น 2,5 เท่าโดยมีจำนวนผู้ดูแลและงบประมาณเท่าเดิม คุณภาพของการกลั่นกรองด้วยตนเองยังเพิ่มขึ้นเนื่องจากการควบคุมอัตโนมัติ และมีข้อผิดพลาดประมาณ 0,5% ผันผวน
  • เราครอบคลุมสแปมประเภทใหม่ๆ อย่างรวดเร็วด้วยตัวกรอง
  • เราเชื่อมโยงแผนกใหม่เข้ากับการกลั่นกรองอย่างรวดเร็ว “ยูลา เวอร์ติเคิลส์”. ตั้งแต่ปี 2017 Yula ได้เพิ่มธุรกิจอสังหาริมทรัพย์ ตำแหน่งงานว่าง และธุรกิจยานยนต์

ที่มา: will.com

เพิ่มความคิดเห็น