Jak polscy studenci wykorzystali sztuczną inteligencję do moderacji ogłoszeń na OLX

Lokowanie produktu

OLX nie byłby takim samym serwisem bez uczenia maszynowego, które rozumie nasz język i dba o odpowiednią jakość ogłoszeń.

20.12.2017 17.38
Jak OLX wykorzystuje sztuczną inteligencję do moderacji ogłoszeń

Historia użycia elementów sztucznej inteligencji w OLX sięga 2014 roku, kiedy serwis ogłosił konkurs dla studentów o nazwie Data Ninja. Algorytmy młodych inżynierów okazały się wówczas tak dobre, że do dziś stanowią serce systemu moderacji ogłoszeń.

Trwa trzecia edycja konkursu OLX polegającą na przewidywaniu przyszłości z danych, a ja o tajnikach pracy data ninja rozmawiam z Tomkiem Gramzą, liderem sekcji deweloperskiej w Grupie OLX.

 class="wp-image-649390"
Tomasz Gramza na konferencji AWS.

Karol Kopańko, Spider’s Web: Dziś OLX jest niekwestionowanym królem ogłoszeń lokalnych. Co twoim zdaniem zadecydowało o tym, że nie pozwalacie, aby Gumtree, czy Gratka choćby na moment się do was zbliżyły?

Tomasz Gramza, OLX: Przede wszystkim jakość treści.

Oczywiście, ludzie idą tam, gdzie mogą znaleźć najlepsze ogłoszenia.

U nas nie znajdziesz nieodpowiednich treści, sprzedaży chronionych zwierząt, oszustw, niekulturalnego język, czy bałaganu w kategoriach. Odrzucamy nawet lakoniczne ogłoszenia, bo często nie wiadomo o co w nich chodzi.

Domyślam się, że są dwa sposoby, aby osiągnąć jak najlepszą bazę ogłoszeń. Trzeba mieć duży zespół moderatorów, który siedzi i przegląda ogłoszenia albo skorzystać z automatów.

Wybraliśmy drugą opcję, z użyciem uczenia maszynowego. Niemniej jednak cały czas wspiera nas zespół doświadczonych moderatorów.

I jak odsiewacie tu oszustów?

Nie chcę zdradzać za wiele z naszej kuchni, aby nie pomagać oszustom, ale podam przykład przekrętu na wózki dla dzieci, który swego czasu był dość popularny. Ktoś wrzucał ogłoszenie o sprzedaży takiego wózka, jednak wysyła go tylko po wpłaceniu zaliczki w wysokości 100 zł. Zaliczka była przelewana, ale wózek nigdy nie istniał.

Co utrudniało wyśledzenie takiego delikwenta?

Ci oszuści doskonale znają polskie prawo i zawsze działają poniżej pewnego poziomu finansowego, który nie kwalifikuje ich czynu jako przestępstwo. Dodatkowo cały czas rotują kontami, IP i komputerami. Zaaplikowaliśmy tu uczenie maszynowe, aby algorytmy nauczyły się wzorców postępowania naciągaczy i zawczasu ich neutralizowały.

A co gdy pojawiają się nowe typy oszustwa?

Wtedy wrzucamy nowe dane do modelu i douczamy algorytmy. Jesteśmy też w stałym kontakcie z policją, która uprzedza nas o nowych typach oszustw.

A skąd w ogóle wziął się pomysł, aby wykorzystać do tego algorytmy? Teoretycznie to przecież nie wasz problem, że ktoś wysyła pieniądze za kota w worku.

Tu chodzi o zaufanie. A historia wykorzystania machine learning zaczęła się w 2014 roku, kiedy jeszcze większość serwisów koncentrowała się na byciu mobile-first, a nie AI-first. Wspólnie z Politechniką Poznańską przygotowaliśmy konkurs, który trwał przez cały semestr, a przy okazji pozwalał na zaliczenie przedmiotu.

O co w nim chodziło?

Udostępniliśmy studentom dwa zbiory danych. Zbiór uczący miał milion ogłoszeń z decyzjami moderatorów czy ogłoszenie było dobre czy złe. Zbiór testowy nie miał decyzji, bo na nim sprawdzaliśmy poprawność algorytmu uczenia maszynowego. Chodziło tu m.in. o odpowiednie przetwarzanie języka naturalnego i wyłapywanie tych ogłoszeń, które nie powinny trafić do serwisu.

Dziesięć najlepszych zespołów wzięło udział w Gali Finałowej. Zwycięzcy dostali nagrody pieniężne, a także ofertę stażu.

A co się stało ze zwycięskim algorytmem?

Dziś nazywa się Mobius i jest sercem naszego systemu moderacji. Zwycięzcy dołączyli do naszego zespołu i wdrożyli swój algorytm. Później dostali zielone światło, aby wdrożyć go produkcyjnie.

Rozumiem, że dzięki temu użytkownicy czują się bezpieczniejsi, a czy OLX ma z tego jakieś bezpośrednie korzyści?

Nasze serwisy lepiej się skalują, bo jeśli chcielibyśmy obsłużyć większy ruch nie musimy zatrudniać dodatkowych ludzi.

W tym roku kontynuujecie konkurs. Jak wymyślacie zadania dla studentów?

Co roku, w wakacje pracujemy z politechniką nad problemem, który będziemy chcieli rozwiązywać. Musi on być zarówno interesujący z punktu widzenia naukowego, jak i biznesowego. W tym roku zadajemy więc pytanie: czy AI może przewidzieć przyszłość?

Po co w OLX sztuczna inteligencja przewidująca przyszłość?

Dzięki temu możemy przewidywać, jakie ogłoszenia i kiedy się sprzedadzą.

Jak rozumiem dajecie studentom dane z waszego serwisu, którymi mają karmić algorytmy?

Bez tego się nie obejdzie. Każdego miesiąca publikujemy miliony ogłoszeń, mamy informacje o tym czego ludzie szukali i po jakim czasie produkty się sprzedawały. Mierzymy zainteresowanie w ciągu całego roku i widzimy trendy takie jak poszukiwania nart na zimę czy roweru na wiosnę. Liczymy kontakty – smsy i połączenia, a potem wyselekcjonowanymi bazami dzielimy się z uczestnikami konkursu.

Wyobrażam sobie, że coś takiego np. z rowerami byłby względnie łatwe, ale już kiedy weźmiemy pod uwagę komputery i mnóstwo konfiguracji w jakich są dostępne... trudny orzech do zgryzienia.

Generalnie wszystkie problemy uczenia maszynowego nie są trywialne. Teoretycznie moglibyśmy posadzić przed komputerem eksperta, który po kolei by analizował ogłoszenia i oceniał kiedy co się sprzeda, ale jest to bardzo czasochłonne i nieefektywne. Wyobraźcie sobie, ilu ekspertów musiałoby tak pracować, żeby w szczycie naszego ruchu oceniać 100 ogłoszeń w każdej minucie...

Automat będzie tu sobie radził o wiele lepiej, podpowie użytkownikom (bazując na cenie i opcjach promowania) kiedy ich produkt ma szansę się sprzedać. Poradzi co zrobić, aby ogłoszenie było bardziej atrakcyjne i wyróżniało się z tłumu.

Gdybyś miał pokrótce powiedzieć jak powinny wyglądać czynności takiego data ninja, który weźmie udział w waszym konkursie.

Na początku musi wpaść na pomysł jak udostępniane dane wzbogacić i przetworzyć, aby później podążyć za którąś techniką uczenia maszynowego i podrasować ją jak najlepiej pod zadany problem. Możliwości jest wiele i widzimy, że wiele zespołów próbuje różnych podejść i odkrywa podczas konkursu, które metody dla naszego problemu radzą sobie lepiej, a które nieco gorzej.

 class="wp-image-649384"
Laureaci Data Ninja 2016/2017.

A jakie rozwiązanie z tych, nad którymi teraz pracujesz, jest dla ciebie największym wyzwaniem?

Przetwarzanie języka naturalnego.

Dlaczego?

Po pierwsze operujemy na wielu rynkach - w Europie, Afryce i Azji, więc języki potrafią się od siebie znacznie różnić. W języku naturalnym informacja jest nieustrukturyzowana, co sprawia szczególną trudność w analizie. Jedno słowo może przykładowo występować w wielu formach.

Język polski jest tu chyba ekstremalnym przykładem.

Zdecydowanie. W angielskim doprowadzenie słowa do podstawowej formy jest bardzo proste. W polskim, gdzie każdy rzeczownik może być odmieniony przez wszystkie przypadki już niekoniecznie. Weźmy słowa pies i psy. Mimo, że w języku różnią się zaledwie liczbą, to dla komputera wspólna jest tylko literka "p".

Skoro polski jest tak trudny, to nie lepiej tłumaczyć polski na angielski i dopiero oddawać komputerowi?

Taka ścieżka też nie jest doskonała. Bo działając na lokalnych rynkach ciężko jest przetłumaczyć wiele zwrotów. Co na przykład zrobisz ze słowem trabant? W ogólnych tłumaczeniach Tłumacz Google sprawdza się świetnie, ale w specjalistycznych już słabiej.

Jak więc radzicie sobie z językiem polskim?

Stosujemy wektorową reprezentację języka (ang. word embedding). Pozwala ona przedstawić w postaci przyjaznej dla maszyny nie tylko słowa, ale również relacje, które między nimi zachodzą. Przepuszczamy tekst przez algorytm, który kompresuje informację o słowie oraz jego sąsiedztwie i przekształca ją w wektor liczb, który dla komputera jest zrozumiały. Komputery lubią liczby i operacje na macierzach. Znalezienie relacji pomiędzy dwoma pojęciami (wektorami) jest tak proste jak znalezienie przesunięcia (nowego wektora) pomiędzy nimi.

Ok, a gdybyś miał to jeszcze raz powiedzieć, ale po polsku?

Załóżmy, że nasz model wyuczył się na treści Wikipedii i osadził w przestrzeni trzy słowa: kobieta, mężczyzna i król. Jeśli od króla odejmiemy mężczyznę, otrzymamy pewien wektor. Jeśli ten wektor dodamy do kobiety, zobaczymy, że w jego bardzo bliskim sąsiedztwie jest królowa. Cała ta metoda polega na zakodowaniu słów, aby relacje pomiędzy nimi można było zastosować do różnych wnioskowań.

Jak skomplikowane są takie wektory?

Standardem pozwalającym na zachowanie najwyższej szczegółowości jest tu 300 wymiarów, czyli 300 następujących po sobie liczb. W wielu problemach możemy ograniczyć się do mniejszej liczby wymiarów, np. 50.

Czyli można przyjąć, że jak my porozumiewamy się językiem polskim, tak to jest język maszyny?

Tak, a co ciekawe jeśli będziesz uczył swoje algorytmy np. na różnych językach Wikipedii, to król i king znajdą się bardzo blisko siebie. Tak samo jak wszystkie ich synonimy.

I dlatego tych samych systemów możecie używać w Polsce, Portugalii i Kazachstanie?

Dokładnie. Ale w tym modelu pojawia się też kilka wyzwań, z którymi trzeba sobie poradzić. Najlepiej znowu korzystając z uczenia maszynowego.  Literówki i synonimy w przestrzeni są tak samo blisko poprawnego słowa. ziś jeśli wpiszesz chulajnoga, to poprawimy to na hulajnoga, ale ogłoszeń szukamy też korzystając z najpopularniejszych synonimów, podobnie jak Google. Z drugiej strony jeśli ktoś wpisze w wyszukiwarkę damka, to musimy wiedzieć, że nie należy pokazywać górali.

Obecnie pracujemy też nad asystentem wyszukiwania, który będzie w stanie przewidywać intencje użytkownika. Taki jest przecież nasz biznes, że staramy się jak najlepiej dopasować do tego co ludzie chcą znaleźć. Musimy lepiej od nich samych wiedzieć co chcieli wyszukać.

Algorytmy okazują się więc bardziej „smart” niż ludzie. Wspominaliśmy wcześniej o studentach, którzy przyszli do pracy w OLX. Czy mógłbyś na koniec powiedzieć o tym, dlaczego warto pracować tam, gdzie pracujesz?

Zajmujemy się tu rozwiązaniami, z których korzystają miliony ludzi. Prawie w każdym kraju, gdzie jesteśmy obecni, mamy serwis, który jest w TOP 10 jeśli chodzi o popularność. Cały czas mamy też startupową atmosferę. Pracujemy w małych zespołach, które mają dużą niezależność i ogromny wpływ na swoje produkty.

Z drugiej strony OLX jest też dużą organizacją. Mamy umowy o pracę, różne benefity, prywatne ubezpieczenie i fajne biuro (ale możemy też pracować zdalnie). Cały czas dużo się uczymy i poszerzamy swoje kompetencje.

Lokowanie produktu
Najnowsze