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łosy i odstraczają 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
.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).
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.
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 toxic
i severe_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.