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łosyodstracają 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 toksycznych po stronie klienta zapewnia wiele korzyści:

  • Wczesne wykrywanie toksycznych treś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, zachęcając 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 tego powodu zdecydowanie zalecamy wdrożenie lub utrzymanie dodatkowej kontroli 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:

  • Koszty hostingu i wyświetlania modelu. 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 nowych treści (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 zgodną 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 wynik toxicity jest wysoki (0.92). Nie zidentyfikowano konkretnego typu toksyczności, więc inne wyniki 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