Страница в процессе наполнения.
В реальной среде бот будет сталкиваться с оскорблениями и другим токсичным поведением пользователей. Для того, чтобы реагировать на такое поведение боту прежде всего необходимо детектировать такое поведение собеседников. В частности обнаруживать оскорбления. Я делаю это при помощи открытого фреймворка для диалоговых систем от команды DeepPavlov
Устанавливаем библиотеку
pip install deeppavlov
Запускаем нужный нам конфиг в виде API которое будет слушать порт 7000 на нашем компьютере.
/home/pi/dp14/env/bin/python -m deeppavlov
riseapi /home/pi/dp14/deeppavlov/deeppavlov/configs/classifiers/insults_kaggle_conv_bert.json -d -p 7000
Такое вариант применения удобен еще и тем, что несколько ботов может использовать одну нейросеть.
(Пояснение: /home/pi/dp14/ это каталог в который склонирована библиотека DeepPavlova 14 версии. Это довольно старая версия, но у меня по-прежнему работает)
Функция для бота которая определяет оскорбления будет выглядеть так:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
import json import requests def insult_detect(text): response = requests.post('http://127.0.0.1:7000/model', json={"x": [text]}) response = response.json() if (response[0][0]) == 'Insult': response = round((response[0][1][1]) * 100,2) return response return False if __name__ == "__main__": while True: text = input('enter a question: ') print(insult_detect(text)) |
Эта функция получает на вход текст, и выдает на выходе числовое значение уверенности от 0 до 100 в том, что введенный текст является оскорблением.
0