Поместите слово в определенную зону.

Мы хорошо знакомы с использованием библиотеки word2vec для векторов слов. Для обработки естественного языка (NLP) полезнее использовать словари, которые определяют понятия с точки зрения их статистики использования, а модели Word2Vec полезны для создания таких словарей. в словаре, то модель не идентифицирует ее индивидуальное использование, и это недостатки моделей Word2vec.

Векторы слов, построенные с помощью этих методов, сопоставляют слова с точками в пространстве, которые эффективно кодируют семантическое и синтаксическое значение, несмотря на игнорирование информации о порядке слов.

В конце концов, все эти проблемы были выявлены и предложено позволить векторам слов произвольно расти, чтобы мы могли лучше моделировать сложные понятия. Именно по этой причине сегодня на сцену выходит Sense2Vec.

sense2vec работает, используя контролируемые метки НЛП вместо
неконтролируемых кластеров, чтобы определить смысл конкретного экземпляра слова. Это устраняет необходимость обучать встраиванию несколько раз, устраняет необходимость в шаге кластеризации и создает эффективный метод, с помощью которого контролируемый классификатор может использовать подходящее встраивание по смыслу слова.

Учитывая размеченный корпус с одной или несколькими метками на слово, модель sense2vec сначала подсчитывает количество использований каждого слова и генерирует случайное «встраивание смысла» для каждого использования. Затем модель обучается с использованием конфигураций модели CBOW (Continuous-Bag-of-Word), Skip-gram или Structured Skip-gram. Эта модель предсказывает смысл слова с учетом окружающих его смыслов.

Sense2vec — это замечательная библиотека для работы с word2vec, которая позволяет изучать более интересные, подробные и контекстно-зависимые вектора слов. Вы можете найти его больше по этой ссылке. Идея проста: если птица находится в двух разных ситуациях, возьмите две ее записи в качестве именованных объектов. Кроме того, мы объединяем именованные сущности и основные словосочетания в отдельные токены, чтобы они получали единый вектор.

Кроме того, библиотеку Sense2vec можно использовать отдельно или с компонентом конвейера Spacy с удобными настраиваемыми атрибутами.

Теперь давайте поговорим о проекте, который я сделал с помощью этой замечательной библиотеки. Прежде чем мы двинемся дальше, давайте поговорим об основных требованиях, которые нам нужно скачать, прежде чем перейти к этому. Итак, загрузите один из векторов Sense2vec здесь. И извлеките из него векторный файл и сохраните их в файле рассола как исходный файл, поместите их значения в переменную.

Теперь с помощью метода кластеризации K-средних, который дает вам количество кластеров, которые вы хотите сделать в качестве входных данных. Найдены расстояния определенного вектора до центроидов всех разных векторов и выбраны первые 5 наименьших расстояний этого вектора. Затем отделите все расстояния до этого конкретного вектора и сохраните номер его кластеров и его расстояния в файле рассола в качестве файла назначения.

Векторы перечислены с указанием количества и веса их кластеров в соответствии с центроидами различных кластеров. Как мы уже говорили ранее, мы возьмем только 5 самых близких по расстоянию.

Вывод:

В этой работе мы предложили новую модель устранения неоднозначности смысла слов, которая использует контролируемую НЛП-маркировку для устранения неоднозначности между смыслами слов. Однако вместо использования неконтролируемых методов кластеризации наш подход кластеризуется с использованием контролируемых меток, которые могут анализировать контекст определенного слова и назначать метку. Это значительно снижает вычислительные затраты на моделирование смыслов слов и обеспечивает естественный механизм для других задач НЛП для выбора подходящего встраивания смысла.

Посмотрите видео, чтобы ознакомиться с классификацией категорий хэштегов с помощью API:

Удачного обучения…!!!