Извлечение синонимов (похожих слов) из текста с использованием BERT и NMSLIB 🔥
Извлечение синонимов с использованием BERT и NMSLIB
Подход к извлечению похожих или синонимичных слов из нескольких рядов текста с использованием BERT и NMSLIB.
![Иллюстрация Камила Сипена](https://miro.medium.com/v2/resize:fit:640/format:webp/1*II8gDfIGvrEs7MWqCyejSQ.jpeg)
Мы начнем с токенизации текста на отдельные слова, так как нам нужны однословные результаты. Затем мы будем использовать BERT (семантические трансформеры) для встраивания наиболее часто встречающихся слов, а затем мы будем использовать NMBLIB, чтобы получить наиболее близкие совпадения для каждого из них. Мы будем использовать набор данных твитов из Twitter, чтобы найти похожие слова внутри него.
ПРИМЕЧАНИЕ – В этой статье мы ищем похожие слова или синонимы внутри всего набора данных. Поэтому мы возьмем все строки и извлечем наиболее часто встречающиеся существительные и будем работать с ними в целом. Не будет понятия строк. Кроме того, полученные слова не обязательно будут идеально заменяемыми синонимами, а просто похожими словами, которые могут или не могут быть прямыми заменами в предложении. Например, мы получим что-то вроде «превосходство» и «качество» или «soundcloud» и «spotify».
Очистка твитов
Мы начинаем с очистки данных. Я удаляю стоп-слова и числа, а также привожу текст к нижнему регистру.
- Развертывание моделей PyTorch с использованием сервера вывода Nvidia Triton
- Краткое руководство по нормализации для вашей модели NLP
- Как создать водопадные диаграммы с помощью объектов графиков Plotly
![код для очистки текста](https://miro.medium.com/v2/resize:fit:640/format:webp/1*W1Tf2hP9vqBcntYAKQ9kAQ.png)
Создание списка слов из всех твитов
После того, как мы очистили каждый твит, мы токенизируем каждый твит на слова и создаем из них список.
Уменьшение списка слов
Так как у нас много слов, с которыми нужно работать, не имеет смысла находить похожие слова для всех из них. Поэтому я взял наиболее часто встречающиеся слова (10k) и далее отфильтровал только существительные.
![создание списка слов](https://miro.medium.com/v2/resize:fit:640/format:webp/1*bZeBgJjeM_4ETO6UR6zuYA.png)