Część 1. AI po stronie klienta do zwalczania toksycznych treści w internecie

Maud Nalpas
Maud Nalpas

Data publikacji: 13 listopada 2024 r.

Szerzenie nienawiści, nękanie i przemoc w internecie stały się powszechnym problemem. Toksyczne komentarze uciszają ważne głosyodstraczają użytkowników i klientów. Wykrywanie toksycznych treści chroni użytkowników i tworzy bezpieczniejsze środowisko online.

W tej dwuczęściowej serii omawiamy, jak używać AI do wykrywania i łagodzenia toksycznych treści u źródła, czyli na klawiaturze użytkownika.

W pierwszej części omawiamy przypadki użycia i zalety tego podejścia.

W części 2 opisujemy implementację, w tym przykłady kodu i wskazówki dotyczące UX.

Dlaczego warto wykrywać treści toksyczne po stronie klienta

.
Demonstracja publikowania komentarzy
Przykład wykrywania toksycznych treści po stronie klienta: gdy użytkownik przestanie wpisywać komentarz, w przeglądarce zostanie uruchomiona analiza toksycznych treści, a ostrzeżenie wyświetli się w czasie rzeczywistym. Obejrzyj prezentację.

Zalety

Wykrywanie treści szkodliwych po stronie klienta stanowi przydatną pierwszą linię obrony i świetnie uzupełnia kontrole po stronie serwera. Wykrywanie treści szkodliwych po stronie klienta zapewnia wiele korzyści:

  • Wczesne wykrywanie toksyczności. Dzięki weryfikacji po stronie klienta możesz wykrywać toksyczność już na jej źródłach, bez konieczności ingerowania w serwer.
  • Włącz sprawdzanie w czasie rzeczywistym. Korzystaj z szybkości po stronie klienta, aby tworzyć aplikacje o niskiej latencji i zapewniać użytkownikom natychmiastowy feedback.
  • Zmniejsz lub zoptymalizuj obciążenie po stronie serwera. Zmniejsz natężenie pracy po stronie serwera i koszty związane z wykrywaniem toksycznych treści: po pierwsze, ponieważ wskazówki dla użytkowników mogą pomóc w zmniejszeniu liczby toksycznych komentarzy, a po drugie, ponieważ oznaczenie niektórych komentarzy jako potencjalnie toksycznych jeszcze przed ich przesłaniem na serwer pomoże Ci je priorytetowo sprawdzać.
  • Zmniejsz obciążenie pracowników. zmniejszenie obciążenia moderatorów;

Przypadki użycia

Oto kilka możliwych powodów, dla których warto tworzyć systemy wykrywania toksycznych treści po stronie klienta:

  • Natychmiastowe wykrywanie w systemach komentarzy. Przesyłać użytkownikom, którzy tworzą toksyczne komentarze, natychmiastowe opinie i zachęcać ich do zmiany sformułowania wiadomości przed jej opublikowaniem. Dzięki AI po stronie klienta możesz to osiągnąć bez klucza API, kosztów klasyfikacji po stronie serwera w czasie wykonywania oraz opóźnień. Może to być idealne rozwiązanie w przypadku aplikacji do obsługi czatu.
  • Moderowanie czatu na żywo w czasie rzeczywistym. Szybkie wykrywanie i oznaczanie toksycznych wiadomości od użytkowników, co pozwala moderatorom natychmiast interweniować.

Sprawdzanie po stronie serwera

Chociaż wykrywanie toksycznych treści po stronie klienta jest szybkie, złośliwy użytkownik znający front-end może je wyłączyć. Poza tym żaden system wykrywania toksyczności nie jest w 100% dokładny.

Z tych powodów zdecydowanie zalecamy wdrożenie lub utrzymanie dodatkowej weryfikacji na serwerze zamiast polegania wyłącznie na wykrywaniu toksycznych treści po stronie klienta. Możesz na przykład uzupełnić sprawdzanie po stronie klienta w czasie rzeczywistym o asynchroniczne sprawdzanie po stronie serwera za pomocą interfejsu Perspective API. Aby uzyskać kompleksowe podejście, możesz połączyć te metody z moderacją przez człowieka.

Zastrzeżenia

Wykrywanie toksycznych treści po stronie klienta wymaga pobrania modelu klasyfikacji na stronę internetową, a często także biblioteki AI po stronie klienta.

Rozważ konsekwencje:

  • Model kosztów hostingu i wyświetlania. Model może być duży.
  • Skuteczność i UX. Biblioteka i model zwiększą rozmiar pakietu.

Zanim zdecydujesz, czy ta opcja jest odpowiednia do Twojego przypadku użycia, zastanów się nad korzyściami. Stosuj sprawdzone metody dotyczące wydajności AI po stronie klienta i zapisuj model w pamięci podręcznej, aby pobieranie było jednorazowym kosztem.

Jak działa klasyfikacja toksyczności treści

Zanim przejdziemy do pełnego wdrożenia, zapoznaj się z najważniejszymi informacjami na temat wykrywania toksyczności.

Model wykrywania toksyczności analizuje istniejący tekst, a nie generuje nowego (generatywna AI). Jest to klasyczne zadanie przetwarzania języka naturalnego (NLP).

Zadanie przetwarzania języka naturalnego. Źródło: HuggingFace.

Wykrywanie toksyczności opiera się na klasyfikatorach tekstu, które przypisują tekstowi prawdopodobieństwo toksyczności lub nieszkodliwości. Klasyfikatory toksyczności otrzymują tekst jako dane wejściowe i przypisują mu różne etykiety toksyczności wraz z wynikiem. Wyniki mieszczą się w zakresie od 0 do 1. Wyższe wyniki wskazują, że dane wejściowe są bardziej toksyczne.

Wykrywanie toksyczności opiera się na klasyfikatorach tekstu, które przypisują tekstowi prawdopodobieństwo toksyczności lub nieszkodliwości.

Dane wejściowe użytkownika są klasyfikowane, a następnie oceniane.

Weźmy na przykład model Xenova/toxic-bert, który jest wersją modelu unitary/toxic-bert kompatybilną z internetem. Zawiera 6 etykietek:

  • toxic
  • severe_toxic
  • insult
  • obscene
  • identity_hate
  • threat

Etykiety takie jak toxicsevere_toxic oznaczają ogólną toksyczność.

Inne etykiety są bardziej szczegółowe. Identyfikują one konkretne rodzaje toksyczności, na przykład identity_hate (nękanie lub groźby dotyczące tożsamości danej osoby, takiej jak rasa, religia, tożsamość płciowa itp.) lub threat (oświadczenie o zamiarze wyrządzenia szkody).

Różne modele toksyczności różnie podchodzą do klasyfikacji. Oto kilka reprezentatywnych przykładów.

W tym przykładzie podany tekst zawiera słowo „nienawiść” i jest skierowany do osoby, więc toxicity ma wysoką ocenę (0.92). Nie zidentyfikowano konkretnego typu toksyczności, więc inne oceny są niskie.

Input: I hate you
Output of the toxicity classifier:
[
{ label: 'toxic', score: 0.9243140482902527 },
{ label: 'insult', score: 0.16187334060668945 },
{ label: 'obscene', score: 0.03452680632472038 },
{ label: 'identity_hate', score: 0.0223250575363636 },
{ label: 'threat', score: 0.16187334060668945 },
{ label: 'severe_toxic', score: 0.005651099607348442 }
]

W następnym przykładzie tekst ma ogólnie nienawistny ton, więc ma wysoki wynik toxicity (0.92). Ze względu na wyraźne odniesienie do szkód wynik threat jest też wysoki (0.81).

Input: I hate your garden, and I will kill your plants
Output of the toxicity classifier:
[
{ label: 'toxic', score: 0.9243140482902527 },
{ label: 'insult', score: 0.16187334060668945 },
{ label: 'obscene', score: 0.03452680632472038 },
{ label: 'identity_hate', score: 0.0223250575363636 },
{ label: 'threat', score: 0.819197041168808937 },
{ label: 'severe_toxic', score: 0.005651099607348442 }
]

Następny

Gdy już poznasz kontekst, możesz zacząć tworzyć system AI do wykrywania toksycznych treści po stronie klienta.

CZYTAJ CZĘŚĆ 2