Przetwarzanie języka naturalnego ma ogromny potencjał w tworzeniu nowoczesnego oprogramowania. Technologia ta jest wykorzystywana m.in. do programowania inteligentnych głośników, mechanizmu autouzupełniania tekstu w wyszukiwarkach internetowych czy tworzeniu słów kluczowych. To jednak nie koniec jej możliwości! Świetnie sprawdzi się także w moderowaniu treści, czego najlepszym przykładem jest zaprojektowane przez nasz zespół narzędzie Content Moderation Platform.

Projekt WP Moderacje

Content Moderation Platform –  narzędzie walczące z nienawiścią w sieci zrealizowane z budżetu Google

Content Moderation Platform to narzędzie stworzone w ramach finansowanego przez firmę Google projektu WP Moderacje, realizowanego we współpracy z serwisem Wirtualna Polska. Celem projektu było rozbudowanie wewnętrznego systemu do moderacji komentarzy, używanego przez zespół Wirtualnej Polski.

Content Moderation Platform –  narzędzie walczące z nienawiścią w sieci zrealizowane we współpracy z WP

Zespół WEBSENSA jako partner technologiczny był odpowiedzialny m.in. za wykonanie nowej aplikacji webowej do ręcznej moderacji komentarzy, a także zbudowanie platformy do automatycznej moderacji komentarzy – czyli tytułowej Content Moderation Platform.

System Content Moderation Platform – o narzędziu

System Content Moderation Platform został stworzony, aby wspomóc moderowanie komentarzy pojawiających się w serwisie Wirtualna Polska. Jest to narzędzie wykorzystujące przetwarzanie języka naturalnego (ang. natural language processing) w celu odpowiedniej klasyfikacji danej wypowiedzi. Na podstawie dogłębnej analizy, system określa, czy dany komentarz powinien zostać opublikowany w serwisie.

Cele

Stworzone przez nas narzędzie ma przede wszystkim wspomóc walkę z mową nienawiści w sieci, która w dzisiejszych czasach jest coraz częściej spotykana.

Content Moderation Platform –  narzędzie walczące z nienawiścią w sieci

Co więcej, Content Moderation Platform ma także odciążyć osoby pracujące na stanowiskach  moderatorów, których zadaniem do tej pory było ręczne zatwierdzanie lub odrzucanie pojawiających się na stronie komentarzy. Dzięki naszemu narzędziu moderatorzy mają czas realizować nowe, wymagające większej kreatywności zadania, takie jak animowanie dyskusji i budowanie społeczności. W efekcie, zmiana obszaru ich pracy ma wpłynąć na wzrost przywiązania i zaangażowania użytkowników Wirtualnej Polski.

Baza komentarzy

Do stworzenia modelu, firma Wirtualna Polska dostarczyła nam:

  • ok. 18 milionów komentarzy, które posłużyły za korpus języka, potrzebny do zbudowania modelu języka;
  • ok. 235 tysięcy komentarzy zmoderowanych ręcznie przez pracowników Wirtualnej Polski, które wykorzystaliśmy do stworzenia modelu moderującego (dzięki czemu nasz algorytm nauczył się moderować komentarze zgodnie z polityką firmy).
Przetwarzanie język naturalnego – jak używamy w projekcie CMP?

Do tego zadania nie wykorzystaliśmy dodatkowych tekstów, takich jak, przykładowo, artykuły z Wikipedii. – Dostępna literatura dotycząca przetwarzania języka naturalnego pod względem języka polskiego wyraźnie sugerowała, że takie łączenie, albo samo dostrajanie zadaniowe, nie pomaga. Wynika to z faktu, iż „czysty” język polski mocno różni się od języka znajdującego się w komentarzach, który posiada dużo zapożyczeń, skrótów myślowych, gwary internetowej, a przede wszystkim błędów językowych – wyjaśnia Konrad Krawczyk, Machine Learning Engineer, biorący udział w budowie CMP.

Aby dobrze nauczyć nasz system odczytywania intencji komentarzy, konieczne było oczyszczenie komentarzy ze zbędnych atrybutów, które wnosiły jedynie szum do samej sentencji. – Taki szum albo usuwaliśmy, albo zamienialiśmy na specjalne tokeny, które nie wnosiły szumu, a informowały, że taki atrybut tam się znajduje – wyjaśnia Konrad Krawczyk.

Ocena pewności decyzji

Jak wiemy, zarówno maszyny, jak i ludzie nie są nieomylni. Dlatego też stworzona przez nasz zespół platforma, dokonując oceny, określa w jakim stopniu jest pewna swojej decyzji. 

Content Moderation Platform –  narzędzie walczące z nienawiścią w sieci

A co w przypadku, kiedy model wskazuje niepewność? – Komentarz skierowany do predykcji może zostać zaklasyfikowany jako zaakceptowany lub odrzucony, a jeżeli model jest niepewny, zostaje przekierowany do moderatora – wyjaśnia Konrad Krawczyk. – Decyzja na temat komentarza odbywa się za pomocą oceny prawdopodobieństwa, a więc pewności modelu co do podjęcia decyzji – dodaje.

W systemie został ustawiony tzw. próg pewności, który decyduje o tym, czy dany komentarz powinien przejść dodatkową weryfikację. Jeżeli stopień pewności jest niski, wówczas ostateczną decyzję podejmuje człowiek – moderator.

Więcej niż blokowanie wulgaryzmów

Identyfikacja negatywnych komentarzy w sieci w projekcie CMP do moderowania negatywnych komentarzy w internecie

Jak możecie się domyślić, nasz system blokuje oczywiście wszelkiego rodzaju wulgaryzmy, ale nie tylko. Jest to zaawansowane rozwiązanie, które posiada znacznie więcej funkcji, mogących stwierdzić, czy dany komentarz jest nasycony negatywnymi emocjami i można go zakwalifikować jako tzw. mowa nienawiści– To nie jest narzędzie do wyłapywania przekleństw, bo do tego wystarczyłaby zwykła lista słów kluczowych – wyjaśnia Jan Twardowski, będący koordynatorem projektu. – Siła tego rozwiązania polega na tym, że nasz model potrafi zrozumieć intencje użytkownika, czyli to, czy dany komentarz jest nacechowany negatywnymi emocjami, nawet jeśli nie zawiera wulgarnych słów – dodaje.

Model CMP jest w stanie wykryć negatywne intencje użytkownika, nawet jeśli w komentarzu nie ma wulgaryzmów

Aby stworzyć tak zaawansowane narzędzie, skupiliśmy się przede wszystkim na analizie treści i emocjach, jakie dana treść za sobą niesie. Odpowiednie przetwarzanie całej zawartości komentarzy pozwoliło na dodatkowe odczytanie emocji, które były wyrażane nie tylko słowami, ale także dodatkowymi jego atrybutami, takimi jak znaki specjalne czy emotikony. 

Dodatkowo, w naszej platformie uwzględniliśmy także dane behawioralne, pochodzące z innych systemów WP, którymi CMP wspomaga się podczas swojej oceny. To pozwoliło wprowadzić jeszcze bardziej zaawansowane możliwości, takie jak blokowanie ruchu pochodzącego od robotów.

Technologie użyte w projekcie

Językiem programowania, jaki wybraliśmy do stworzenia tego projektu, był Python. Jak wyjaśnia Jan Twardowski: – Wybraliśmy język Python, ponieważ obecnie jest to najlepsze możliwe rozwiązanie na rynku. Język ten posiada masę przydatnych bibliotek o różnorodnych zastosowaniach, pozwalających zarówno na analizę i przetwarzanie danych, jak i pisanie modeli. Tak naprawdę sprawdza się na wszystkich etapach tworzenia projektów związanych z uczeniem maszynowym czy też przetwarzaniem języka naturalnego.

Zobacz też: 5 najlepszych języków do programowania sztucznej inteligencji

Biblioteki języka Python były niezwykle pomocne podczas budowania CMP. Stworzony przez nas model został oparty na bibliotece PyTorch, natomiast do przetwarzania danych wykorzystaliśmy bibliotekę pandas.

Sieć neuronowa

Sieci neuronowe użyte w projekcie CMP do moderowania negatywnych komentarzy w internecie

Kluczowym elementem naszego systemu jest model języka polskiego, pozwalający na analizę znaczenia danej wypowiedzi i określenie, czy powinna być wyświetlana na stronie. 

Nasz model opierał się na sieci neuronowej, która z komentarza tworzyła jego reprezentację numeryczną na podstawie korpusu języka, zbudowanego z pomocą m. in. narzędzia SentencePiece. 

Taka sieć neuronowa składała się z około 7 000 neuronów i umożliwiła m.in.:

  • odpowiedni podział tekstu na słowa lub fragmenty słów,
  • osadzenie słów w ogólnym modelu języka,
  • ocenę “stopnia obraźliwości” danej wypowiedzi.

System Content Moderation Platform – skuteczność

Skuteczność modeli w projekcie CMP do moderowania negatywnych komentarzy w internecie

Zbudowany przez nas model oceniał komentarze ze zbioru walidacyjnego ze skutecznością na poziomie około 95%. Oznacza to, że ok. 95% komentarzy miało ocenę zgodną z tą, którą przypisałby człowiek zajmujący się do tej pory ręczną moderacją. 

Co więcej, nasze badania wykazują, że model mylił się rzadziej niż ludzie pracujący jako moderatorzy. Wynika to prawdopodobnie z faktu, iż ludzie przeglądający kilkaset komentarzy dziennie, ręcznie klasyfikujący każdy komentarz, po kilku godzinach pracy tracili czujność, przepuszczając komentarze, które nie powinny znaleźć się na stronie. 

Nasz model CMP okazał się bardziej skuteczny niż rozwiązanie zwycięzców konkursu PolEval

Porównując wyniki, nasz model znacznie częściej blokował komentarze, niż pozwalał na publikację niedozwolonych treści. Nasz system pozwala więc unikać “ludzkich błędów”, spowodowanych chociażby zmęczeniem czy niedopatrzeniem. 

Skuteczność Content Moderation Platform jest naprawdę zdumiewająca. Co ciekawe, w ubiegłym roku w uczestnicy konkursu PolEval mieli za zadanie stworzyć najlepsze rozwiązanie związane z przetwarzaniem języka naturalnego dla treści w języku polskim, mające wykrywać mowę nienawiści w tweetach. Przetestowaliśmy, jak na zbiorze walidacyjnym z owego konkursu sprawdziłoby się nasze rozwiązanie. Wynik przerósł nasze oczekiwania, bowiem okazało się, że nasz model CMP był bardziej skuteczny niż rozwiązanie zwycięzców.

Wpływ CMP na pracę moderatorów

Współpraca ludzi i systemów informatycznych w projekcie CMP do moderowania negatywnych komentarzy w internecie

Czy nasz system odebrał pracę ludziom, którzy do tej pory zajmowali się ręczną weryfikacją komentarzy? Otóż nie! Zmieniły się jedynie ich obowiązki. Zamiast odrzucać niedozwolone komentarze, mogą się zająć innymi, bardziej angażującymi aktywnościami. Osoby pracujące jako moderatorzy przejmują teraz rolę animatorów, ożywiając dyskusję i budując społeczność wokół Wirtualnej Polski. Ich obecna praca wymaga zatem większego zaangażowania i kreatywności, a co za tym idzie – daje również więcej satysfakcji.

Content Moderation Platform to narzędzie, które z pewnością nadal będziemy chcieli rozwijać. Świetnie sprawdza się do moderowania komentarzy, ale to nie koniec jego możliwości i może mieć znacznie szersze zastosowanie.

Interesujesz się rozwiązaniami opartymi na przetwarzaniu języka naturalnego i uczeniu maszynowym? Masz pomysł, gdzie jeszcze można zastosować tę technologię? Jeśli tak, napisz do nas o swoich przemyśleniach pod tym postem na Facebooku!