Опубликовано: 13 ноября 2024 г.
Разжигание ненависти, преследования и оскорбления в Интернете стали широко распространенной проблемой в Интернете. Ядовитые комментарии заглушают важные голоса и отпугивают пользователей и клиентов . Обнаружение токсичности защищает ваших пользователей и создает более безопасную онлайн-среду.
В этой серии из двух частей мы исследуем, как использовать ИИ для обнаружения и снижения токсичности в ее источнике: клавиатурах пользователей.
В первой части мы обсудим варианты использования и преимущества этого подхода.
Во второй части мы рассказываем о реализации, включая примеры кода и советы по UX.
Зачем выполнять обнаружение токсичности на стороне клиента
Преимущества
Обнаружение токсичности на стороне клиента — это полезная первая линия защиты и отличное дополнение к проверкам на стороне сервера. Обнаружение токсичности на стороне клиента предлагает множество преимуществ:
- Обнаружьте токсичность на ранней стадии . С помощью проверок на стороне клиента вы можете обнаружить токсичность в ее источнике, не затрагивая сервер.
- Включите проверки в реальном времени . Используйте скорость на стороне клиента для создания приложений с низкой задержкой и мгновенной обратной связи с пользователями.
- Сократите или оптимизируйте рабочую нагрузку на стороне сервера . Сократите рабочую нагрузку на сервере и затраты на обнаружение токсичности: во-первых, потому что ваши подсказки для пользователей могут помочь уменьшить объем токсичных комментариев, а также потому, что пометка определенных комментариев как вероятно токсичных до того, как они попадут на ваш сервер, поможет вам расставить приоритеты в вашем проверки на стороне сервера.
- Уменьшите человеческую нагрузку . Уменьшите нагрузку на модераторов.
Варианты использования
Вот несколько возможных причин для создания обнаружения токсичности на стороне клиента:
- Немедленное обнаружение в системах комментариев . Обеспечьте немедленную обратную связь пользователям, которые пишут токсичные комментарии, побуждая их перефразировать свое сообщение перед публикацией. С помощью ИИ на стороне клиента вы можете добиться этого без ключа API, без затрат на классификацию на стороне сервера и с низкой задержкой. Это может быть идеально для приложений чата.
- Модерация в режиме реального времени в чате . Быстро выявляйте и отмечайте токсичные сообщения от пользователей, позволяя модераторам немедленно вмешаться.
Сохраняйте проверки на стороне сервера
Хотя обнаружение токсичности на стороне клиента происходит быстро, злонамеренный пользователь, разбирающийся во внешнем интерфейсе, может его отключить. Кроме того, ни одна система обнаружения токсичности не дает 100% точности.
По этим причинам мы настоятельно рекомендуем вам по-прежнему проводить или проводить дополнительную проверку на сервере, а не полагаться только на обнаружение токсичности на стороне клиента. Например, дополните проверку на стороне клиента в реальном времени асинхронной проверкой на стороне сервера с помощью Perspective API . Для комплексного подхода вы можете объединить их с человеческой модерацией.
Предостережения
Обнаружение токсичности на стороне клиента требует загрузки модели классификации на вашу веб-страницу и часто библиотеки искусственного интеллекта на стороне клиента.
Рассмотрим последствия:
- Стоимость хостинга и обслуживания модели . Модель может быть большой.
- Производительность и UX . Библиотека и модель увеличат размер вашего пакета.
Рассмотрите преимущества, прежде чем решить, подходит ли это для вашего случая использования. Примените рекомендации по повышению производительности для ИИ на стороне клиента и кэшируйте модель , чтобы загрузка была единоразовой.
Как работает классификация токсичности контента
Прежде чем мы рассмотрим полную реализацию , взглянем на основы обнаружения токсичности.
Модель обнаружения токсичности анализирует существующий текст, а не генерирует новый контент (генеративный ИИ). Это классическая задача НЛП (обработка естественного языка).
Обнаружение токсичности основано на классификаторах текста, которые классифицируют текст как вероятно токсичный или безвредный. Классификаторы токсичности принимают текст в качестве входных данных и присваивают ему различные метки токсичности вместе с оценкой. Баллы варьируются от 0 до 1. Более высокие баллы указывают на то, что входные данные с большей вероятностью будут токсичными.
Обнаружение токсичности основано на классификаторах текста, которые классифицируют текст как вероятно токсичный или безвредный.
Возьмем в качестве примера модель Xenova/токсического-берта , веб-совместимую версию унитарного/токсического-берта . Он предлагает шесть ярлыков:
-
toxic
-
severe_toxic
-
insult
-
obscene
-
identity_hate
-
threat
Такие ярлыки, как toxic
и severe_toxic
обозначают общую токсичность.
Другие ярлыки более детальны. Они определяют конкретные типы токсичности, например, identity_hate
(запугивание или угрозы в отношении личности человека, такой как раса, религия, гендерная идентичность и т. д.) или threat
(заявление о намерении причинить ущерб).
Различные модели токсичности имеют разные подходы к классификации. Вот несколько показательных примеров.
В этом примере следующий ввод включает слово «ненависть» и направлен на человека, поэтому показатель toxicity
высокий ( 0.92
). Никакого конкретного типа токсичности не выявлено, поэтому другие оценки низкие.
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 }
]
В следующем примере ввод имеет общий ненавистный тон, поэтому ему присвоен высокий показатель toxicity
( 0.92
). Из-за явного упоминания об ущербе оценка threat
также высока ( 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 }
]
Дальше
Теперь, когда вы понимаете контекст, вы можете приступить к созданию клиентской системы обнаружения токсичности с помощью искусственного интеллекта .