Для добавления нативной интеграции необходимо реализовать алгоритм фильтрации сообщений.
Пример фраз, которые годятся для нативной интеграции:
«не хочу толстеть», «я жирная» — хорошая фраза для приглашения в проект https://преображение39.рф/
«не хочу работать» — хорошая фраза для приглашения в бизнес https://annagrab.ru/
«мне нужен сайт» — хорошая фраза для предложения https://webdriver.agency/
Поиск ключевых фраз
Требования к алгоритму:
- Необходимо игнорировать регистр. Фразы идентичны:
- «я жирная»;
- «Я жирная»;
- «Я ЖИРНАЯ».
- Между ключевыми словами могут быть разные разделители и разное их количество. Необходимо учитывать разные разделители. Пример:
- «я жирная»;
- «я - жирная»;
- «я — жирная»;
- «я жирная».
- Между ключевыми словами могут быть разные усиливающие слова. Алгоритм должен это понимать:
- «я очень жирная»
- «я нереально жирная»
- «я в последнее время конкретно разжирела».
- Нет смысла обрабатывать сообщения, размер которых меньше пяти символов:
- «ок»;
- «неа»;
- «норм».
- Возможна ситуация, когда ключевые слова присутствуют в сообщении, но сообщение не является целевым. Пример:
- «я держусь, а вот подруга — жирная»;
- «я не хочу ходить в офис, но мне очень нравится работать».
- В объемном тексте с большей вероятностью встретится несколько ключевых слов. Искать необходимо только первое совпадение, остальные ключевые — игнорировать. В современности люди пишут короткие сообщения, а объемный текст скорее всего является копией и не представляет интереса. Подразумевается, что сознательное игнорирование дополнительных ключевых слов не является проблемой и не ведет к потере ключевых фраз.
Исходя из пунктов выше видно, что невозможно написать идеальный алгоритм. В пунктах 3 и 5 всегда будет противоречие.
Необходимо составить алгоритм, который будет точно определять вхождение ключевых слов и отправлять фразы человеку на модерацию.
Отображение результата
Вторая задача — отобразить найденное сообщение в удобном для пользователя виде. Предусмотреть минимальное количество текста.
Требования к алгоритму:
- Предварить каждую фразу строкой:
- «🤖 Cовпадение:»
- Выделить ключевое слово жирным. Пример:
- «🤖 Cовпадение:
Нам худеть надо к лету😂» - «🤖 Cовпадение:
Да какая гайка, мне нужно пожрать))» - Обрезать длинное сообщение. Иногда текст сообщения очень большой. Ограничить текст сообщения пятьюдесятью символами справа и слева. Пример:
- «🤖 Cовпадение:
...олго молча в трубку. Потом резко выпалила.
– Я сейчас приеду. И сбросила вызов.
Через несколько минут, девушка уже стояла в палате и утешала...» - «🤖 Cовпадение:
...ты покорила меня своим позитивом, добротней, бескорыстной помощью и мудростью💝 спасибо тебе за тебя 😘😘😘 желаю всего прекрасного и что б все твои мечты обязательно сбывались...» - Отключить предпросмотр ссылок.