Jak moderujemy reklamy

Jak moderujemy reklamy

Każdy serwis, którego użytkownicy mogą tworzyć własne treści (UGC – User-generated content) zmuszony jest nie tylko do rozwiązywania problemów biznesowych, ale także do porządkowania UGC. Zła lub niskiej jakości moderacja treści może ostatecznie obniżyć atrakcyjność serwisu dla użytkowników, a nawet zakończyć jego działanie.

Dziś opowiemy Wam o synergii pomiędzy Yula i Odnoklassniki, która pomaga nam skutecznie moderować reklamy w Yula.

Synergia w ogóle jest rzeczą bardzo przydatną, a we współczesnym świecie, gdy technologie i trendy zmieniają się bardzo szybko, może okazać się wybawieniem. Po co marnować ograniczone zasoby i czas na wymyślanie czegoś, co zostało już wynalezione i przyszło ci do głowy przed tobą?

To samo pomyśleliśmy, gdy stanęliśmy przed pełnym zadaniem moderowania treści użytkowników – zdjęć, tekstu i linków. Nasi użytkownicy codziennie przesyłają do Yula miliony treści, a bez automatycznego przetwarzania ręczne moderowanie wszystkich tych danych jest całkowicie niemożliwe.

Skorzystaliśmy zatem z gotowej platformy moderacyjnej, którą do tego czasu nasi koledzy z Odnoklassnik doprowadzili do stanu „prawie perfekcji”.

Dlaczego Odnoklassniki?

Każdego dnia dziesiątki milionów użytkowników odwiedza sieć społecznościową i publikuje miliardy treści: od zdjęć po filmy i teksty. Platforma moderacyjna Odnoklassniki pomaga sprawdzać bardzo duże ilości danych oraz przeciwdziałać spamerom i botom.

Zespół moderacyjny OK zgromadził duże doświadczenie, gdyż od 12 lat udoskonala swoje narzędzie. Ważne jest, aby mogli nie tylko dzielić się swoimi gotowymi rozwiązaniami, ale także dostosowywać architekturę swojej platformy do naszych konkretnych zadań.

Jak moderujemy reklamy

Od tej chwili platformę moderacyjną OK będziemy nazywać po prostu „platformą”.

Jak wszystko działa

Wymiana danych między Yulą a Odnoklassnikami odbywa się za pośrednictwem Apache Kafka.

Dlaczego wybraliśmy to narzędzie:

  • W Yula wszystkie reklamy są postmoderowane, więc początkowo synchroniczna odpowiedź nie była wymagana.
  • Jeśli zdarzy się zły akapit i Yula lub Odnoklassniki będą niedostępne, w tym z powodu niektórych szczytowych obciążeń, wówczas dane z Kafki nigdzie nie znikną i można je przeczytać później.
  • Platforma była już zintegrowana z Kafką, więc większość problemów związanych z bezpieczeństwem została rozwiązana.

Jak moderujemy reklamy

Dla każdej reklamy utworzonej lub zmodyfikowanej przez użytkownika w Yula generowany jest JSON z danymi, który umieszczany jest w Kafce w celu późniejszej moderacji. Z Kafki ogłoszenia ładowane są na platformę, gdzie są oceniane automatycznie lub ręcznie. Złe reklamy są blokowane bez powodu, a te, w których platforma nie znajduje naruszeń, są oznaczane jako „dobre”. Następnie wszystkie decyzje są odsyłane do Yuli i stosowane w służbie.

Ostatecznie dla Yuli wszystko sprowadza się do prostych działań: wyślij reklamę na platformę Odnoklassniki i otrzymaj odpowiedź „ok”, a może „ok”.

Automatyczne przetwarzanie

Co dzieje się z reklamą po tym, jak trafi na platformę? Każde ogłoszenie podzielone jest na kilka podmiotów:

  • Nazwa,
  • opis,
  • zdjęcia,
  • wybrana przez użytkownika kategoria i podkategoria ogłoszenia,
  • cena

Jak moderujemy reklamy

Następnie platforma wykonuje klastrowanie dla każdej jednostki w celu znalezienia duplikatów. Ponadto teksty i fotografie pogrupowano według różnych schematów.

Przed grupowaniem teksty są normalizowane w celu usunięcia znaków specjalnych, zmienionych liter i innych śmieci. Otrzymane dane są dzielone na N-gramy, z których każdy jest zahaszowany. Rezultatem jest wiele unikalnych skrótów. Podobieństwo między tekstami określa się poprzez Miara Jaccarda pomiędzy dwoma uzyskanymi zestawami. Jeśli podobieństwo jest większe niż próg, wówczas teksty są łączone w jedno skupienie. Aby przyspieszyć wyszukiwanie podobnych klastrów, stosowane jest mieszanie MinHash i zależne od lokalizacji.

Wynaleziono różne opcje klejenia obrazów do fotografii, od porównywania obrazów pHash po wyszukiwanie duplikatów za pomocą sieci neuronowej.

Ostatnia metoda jest najbardziej „surowa”. Aby wytrenować model, wybrano trojaczki obrazów (N, A, P), w których N nie jest podobne do A, a P jest podobne do A (jest półduplikatem). Następnie sieć neuronowa nauczyła się umieszczać A i P jak najbliżej siebie, a A i N jak najdalej. Powoduje to mniej fałszywych alarmów w porównaniu do zwykłego osadzania ze wstępnie wyszkolonej sieci.

Kiedy sieć neuronowa otrzymuje obrazy jako dane wejściowe, generuje dla każdego z nich wektor N(128) wymiarowy i wysyłane jest żądanie oceny bliskości obrazu. Następnie obliczany jest próg, przy którym bliskie obrazy są uznawane za duplikaty.

Model jest w stanie umiejętnie znaleźć spamerów, którzy specjalnie fotografują ten sam produkt pod różnymi kątami, aby ominąć porównanie pHash.

Jak moderujemy reklamyJak moderujemy reklamy
Przykład spamowych zdjęć sklejonych przez sieć neuronową jako duplikaty.

Na ostatnim etapie zduplikowane reklamy są wyszukiwane jednocześnie pod względem tekstu i obrazu.

Jeśli dwie lub więcej reklam skleja się w klaster, system rozpoczyna automatyczne blokowanie, które za pomocą określonych algorytmów wybiera, które duplikaty usunąć, a które pozostawić. Na przykład, jeśli dwóch użytkowników ma w ogłoszeniu te same zdjęcia, system zablokuje nowszą reklamę.

Po utworzeniu wszystkie klastry przechodzą przez serię automatycznych filtrów. Każdy filtr przypisuje klasterowi ocenę: prawdopodobieństwo, że zawiera on zagrożenie identyfikowane przez ten filtr.

System na przykład analizuje opis w ogłoszeniu i wybiera dla niego potencjalne kategorie. Następnie wybiera tę, która ma największe prawdopodobieństwo i porównuje ją z kategorią wskazaną przez autora ogłoszenia. Jeśli nie są one zgodne, ogłoszenie zostanie zablokowane w niewłaściwej kategorii. A że jesteśmy mili i szczerzy, to bezpośrednio informujemy użytkownika, jaką kategorię musi wybrać, aby ogłoszenie przeszło moderację.

Jak moderujemy reklamy
Powiadomienie o zablokowaniu dla nieprawidłowej kategorii.

Uczenie maszynowe czuje się na naszej platformie jak w domu. Na przykład za jego pomocą wyszukujemy nazwy i opisy towarów zabronionych w Federacji Rosyjskiej. Modele sieci neuronowych skrupulatnie „badają” obrazy, aby sprawdzić, czy zawierają adresy URL, SMS-y będące spamem, numery telefonów i te same „zakazane” informacje.

W przypadkach, gdy próbują sprzedać zabroniony produkt pod pozorem legalnego produktu, a w tytule lub opisie nie ma tekstu, stosujemy tagowanie obrazu. Do każdego obrazu można dodać aż 11 tysięcy różnych tagów opisujących, co znajduje się na obrazie.

Jak moderujemy reklamy
Próbują sprzedać fajkę wodną, ​​udając samowar.

Równolegle ze złożonymi filtrami działają również proste, rozwiązując oczywiste problemy związane z tekstem:

  • antymata;
  • Detektor adresów URL i numerów telefonów;
  • wzmianka o komunikatorach internetowych i innych kontaktach;
  • obniżona cena;
  • reklamy, w których nic nie jest na sprzedaż itp.

Obecnie każda reklama przechodzi przez drobne sito składające się z ponad 50 automatycznych filtrów, które próbują znaleźć w reklamie coś złego.

Jeśli żaden z detektorów nie zadziałał, do Yuli wysyłana jest odpowiedź, że reklama „najprawdopodobniej” jest w idealnym stanie. Sami korzystamy z tej odpowiedzi, a użytkownicy, którzy zapisali się do sprzedawcy, otrzymują powiadomienie o dostępności nowego produktu.

Jak moderujemy reklamy
Powiadomienie, że sprzedawca ma nowy produkt.

W rezultacie każda reklama jest „zarośnięta” metadanymi, z których część jest generowana podczas tworzenia reklamy (adres IP autora, klient użytkownika, platforma, geolokalizacja itp.), a reszta to wynik wydawany przez każdy filtr .

Kolejki ogłoszeń

Gdy reklama trafi na platformę, system umieszcza ją w jednej z kolejek. Każda kolejka jest tworzona przy użyciu wzoru matematycznego, który łączy metadane reklamy w sposób wykrywający wszelkie nieprawidłowe wzorce.

Możesz na przykład utworzyć kolejkę reklam w kategorii „Telefony komórkowe” od użytkowników Yula rzekomo z Petersburga, ale ich adresy IP pochodzą z Moskwy lub innych miast.

Jak moderujemy reklamy
Przykład ogłoszeń zamieszczonych przez jednego użytkownika w różnych miastach.

Możesz też tworzyć kolejki na podstawie ocen przydzielanych reklamom przez sieć neuronową, układając je w kolejności malejącej.

Każda kolejka, według własnej formuły, przypisuje reklamie końcową punktację. Następnie możesz postępować na różne sposoby:

  • określić próg, powyżej którego reklama otrzyma określony rodzaj blokowania;
  • wyślij wszystkie reklamy w kolejce do moderatorów w celu ręcznego sprawdzenia;
  • lub połącz poprzednie opcje: określ próg automatycznego blokowania i wyślij do moderatorów te reklamy, które nie osiągnęły tego progu.

Jak moderujemy reklamy

Dlaczego te kolejki są potrzebne? Załóżmy, że użytkownik przesłał zdjęcie broni palnej. Sieć neuronowa przyznaje mu ocenę od 95 do 100 i z 99-procentową dokładnością stwierdza, że ​​na zdjęciu znajduje się broń. Jeśli jednak wartość wyniku spadnie poniżej 95%, dokładność modelu zaczyna spadać (jest to cecha modeli sieci neuronowych).

W rezultacie tworzona jest kolejka oparta na modelu punktowym, a reklamy, które otrzymały od 95 do 100, są automatycznie blokowane jako „Produkty zabronione”. Reklamy z wynikiem poniżej 95 są wysyłane do moderatorów w celu ręcznego przetworzenia.

Jak moderujemy reklamy
Czekoladowa Beretta z nabojami. Tylko do ręcznej moderacji! 🙂

Moderacja ręczna

Na początku 2019 roku około 94% wszystkich ogłoszeń w Yula jest moderowanych automatycznie.

Jak moderujemy reklamy

Jeśli platforma nie może zdecydować się na jakieś reklamy, wysyła je do ręcznej moderacji. Odnoklassniki opracowały własne narzędzie: zadania dla moderatorów natychmiast wyświetlają wszystkie niezbędne informacje, aby podjąć szybką decyzję – ogłoszenie jest odpowiednie lub powinno zostać zablokowane, ze wskazaniem przyczyny.

Aby jakość obsługi nie ucierpiała podczas ręcznej moderacji, praca ludzi jest stale monitorowana. Przykładowo w strumieniu zadań moderatorowi wyświetlają się „pułapki” – reklamy, dla których istnieją już gotowe rozwiązania. Jeśli decyzja moderatora nie pokrywa się z decyzją ukończoną, moderator otrzymuje błąd.

Moderator spędza średnio 10 sekund na sprawdzaniu jednej reklamy. Co więcej, liczba błędów nie przekracza 0,5% wszystkich zweryfikowanych reklam.

Umiarkowanie ludzi

Koledzy z Odnoklassnik poszli jeszcze dalej i skorzystali z „pomocy publiczności”: napisali aplikację do gry na portal społecznościowy, w której można szybko oznaczyć dużą ilość danych, podkreślając jakiś zły znak - Moderator Odnoklassniki (https://ok.ru/app/moderator). Dobry sposób na skorzystanie z pomocy użytkowników OK, którzy starają się, aby treści były przyjemniejsze.

Jak moderujemy reklamy
Gra, w której użytkownicy oznaczają zdjęcia, na których znajduje się numer telefonu.

Dowolną kolejkę reklam na platformie można przekierować do gry Moderatora Odnoklassniki. Wszystko, co zaznaczą użytkownicy gry, jest następnie wysyłane do wewnętrznych moderatorów w celu weryfikacji. Schemat ten pozwala blokować reklamy, dla których nie utworzono jeszcze filtrów, i jednocześnie tworzyć próbki szkoleniowe.

Przechowywanie wyników moderacji

Wszystkie decyzje podjęte w trakcie moderacji zapisujemy, aby nie przetwarzać ponownie tych reklam, co do których już podjęliśmy decyzję.

Na podstawie reklam każdego dnia powstają miliony klastrów. Z biegiem czasu każdy klaster zostaje oznaczony jako „dobry” lub „zły”. Każda nowa reklama lub jej wersja, wchodząca do klastra ze znakiem, automatycznie otrzymuje rozwiązanie od samego klastra. Takich automatycznych rozdzielczości dziennie jest około 20 tysięcy.

Jak moderujemy reklamy

Jeśli do klastra nie dotrą żadne nowe ogłoszenia, jest on usuwany z pamięci, a jego skrót i rozwiązanie są zapisywane w Apache Cassandra.

Kiedy platforma otrzymuje nowe ogłoszenie, najpierw próbuje znaleźć podobny klaster spośród już utworzonych i wyciągnąć z niego rozwiązanie. Jeśli nie ma takiego klastra, platforma udaje się do Cassandry i tam szuka. Znalazłeś to? Świetnie, stosuje rozwiązanie do klastra i wysyła je do Yuli. Takich „powtarzających się” decyzji jest średnio 70 tysięcy dziennie, co stanowi 8% całości.

Reasumując

Z platformy moderacyjnej Odnoklassniki korzystamy od dwóch i pół roku. Podobają nam się wyniki:

  • Automatycznie moderujemy 94% wszystkich reklam dziennie.
  • Koszt moderowania jednego ogłoszenia został obniżony z 2 rubli do 7 kopiejek.
  • Dzięki gotowemu narzędziu zapomnieliśmy o problemach związanych z zarządzaniem moderatorami.
  • Przy tej samej liczbie moderatorów i budżecie zwiększyliśmy 2,5-krotnie liczbę ręcznie przetworzonych reklam. Jakość ręcznej moderacji również wzrosła dzięki automatycznej kontroli i oscyluje wokół 0,5% błędów.
  • Szybko zabezpieczamy nowe rodzaje spamu filtrami.
  • Szybko podłączamy nowe działy do ​​moderacji „Pionki Yula”. Od 2017 roku Yula dodała branże: Nieruchomości, Oferty pracy i Samochody.

Źródło: www.habr.com

Dodaj komentarz