Сервис RusVectōrēs вычисляет семантические отношения между словами русского языка и позволяет скачать предобученные дистрибутивно-семантические модели (word embeddings), в том числе контекстуализированные.
Он назван по аналогии с RusCorpora, веб-сайтом Национального Корпуса Русского Языка (НКРЯ). На RusCorpora можно работать с корпусами (лат. corpora), а на нашем ресурсе — с лексическими векторами (лат. vectōrēs).
Они представляют значение слова, автоматически извлеченное из статистики совместной встречаемости слов в корпусах (больших коллекциях текстовых данных).
В дистрибутивной семантике слова обычно представляются в виде векторов в многомерном пространстве их контекстов. Семантическое сходство вычисляется как косинусная близость между векторами двух слов и может принимать значения в промежутке [-1...1] (на практике часто используются только значения выше 0). Значение 0 приблизительно означает, что у этих слов нет похожих контекстов и их значения не связаны друг с другом. Значение 1, напротив, свидетельствует о полной идентичности их контекстов и, следовательно, о близком значении.
Дистрибутивная семантика лежит в основе почти всех современных систем автоматической обработки языка.
В основном используются векторные модели, обученные на больших корпусах: это так называемые word embedding models
(часто для их обучения применяют простые искуственные нейронные сети на основе предсказания следующего слова: language modeling).
В результате семантика слов представляется сжатыми векторами, которые можно использовать для самых разных компьютерно-лингвистических задач.
Один из первых и наиболее известный на сегодня инструмент в этой области — word2vec, но регулярно появляются новые алгоритмы и модели.
К сожалению, обучение дистрибутивных моделей на основе больших корпусов может требовать существенных вычислительных мощностей. Поэтому важно предоставить русскоязычному лингвистическому сообществу доступ к предобученным моделям.
Наш сервис дает пользователям готовые модели для скачивания (чтобы продолжить эксперименты на своём компьютере), а также удобный интерфейс запросов к ним. Также возможно визуализировать семантические отношения между словами, что, как мы надеемся, будет полезным для исследователей.
В целом, задача нашего сервиса — снизить порог входа для тех, кто хочет работать в этом новом и интересном направлении.
Возможности RusVectōrēs
RusVectōrēs — это инструмент, который позволяет исследовать отношения между словами в дистрибутивных моделях. Можно образно назвать наш сервис «семантическим калькулятором».
Пользователь может выбрать одну или несколько из тщательно подготовленных моделей, обученных на разных корпусах.
В духе парадигмы Semantic Web, каждое слово каждой модели обладает своим уникальным идентификатором URI, явно указывающим лемму, модель и часть речи
(например, https://rusvectores.org/ru/ruscorpora_upos_cbow_300_20_2019/алгоритм_NOUN/). По запросу на этот адрес генерируется список десяти слов, ближайших к данной лемме в данной модели и принадлежащих к той же части речи, что и сама лемма, а также другая информация о слове, например, его вектор в виде массива чисел.
Также у сервиса есть API, с помощью которого можно для любого слова получить список слов, семантически близких к данному в выбранной модели (одной из доступных для работы через веб-интерфейс).
Данные можно получить в двух форматах: json и csv. Для этого необходимо выполнить GET-запрос по адресу следующего вида: https://rusvectores.org/MODEL/WORD/api/FORMAT/, где MODEL — идентификатор для выбранной модели, WORD — слово запроса, FORMAT — «csv» или «json» по вашему выбору. По запросу отдаётся файл в формате json или текстовый файл в формате tab-separated values, в котором перечислены ближайшие десять соседей слова.
Кроме того, можно получать значения семантической близости для пар слов в любой из моделей. Формат запроса: https://rusvectores.org/MODEL/WORD1__WORD2/api/similarity/ (обратите внимание на 2 знака подчеркивания между словами).
Алгебраические операции над векторами дают интересные результаты и предоставляют простор для экспериментов.
Например, модель, обученная на Национальном корпусе русского языка, возвращает слово быт в результате вычитания слова любовь из слова жизнь.
Естественно, можно сравнивать результаты разных моделей.
Кроме веб-интерфейса, для нашего сервиса также доступен бот в мессенджере Telegram. С помощью бота можно делать запросы к API, не выходя из любимого мессенджера!
Это может быть удобно для лингвистических экспериментов по дороге на работу/учёбу, или в любой другой ситуации, когда хочется быстро проверить идею, а компьютера под рукой нет.
Также вы можете подписаться на наш Telegram-канал.
Нам бы хотелось, чтобы RusVectōrēs стал одним из узлов академической информации о дистрибутивных моделях для русского языка, поэтому на сайте имеется раздел «Публикации», содержащий опубликованные научные работы и ссылки на другие полезные ресурсы. В то же время, мы надеемся, что RusVectōrēs популяризует дистрибутивную семантику и компьютерную лингвистику и сделает их более доступными и привлекательными для русскоязычной публики.
Ссылки
Этот сервис работает на WebVectors, свободном и открытом фреймворке для работы с векторными семантическими моделями через Интернет. Статья о WebVectors.
Тьюториал, в котором описана предобработка корпусов, базовые операции над векторами слов в модели, обращение к API RusVectōrēs (всё с готовым кодом на Python).
Peters, M., et al. Deep Contextualized Word Representations. Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies (2018).
Доклад Андрея Кутузова "Дистрибутивно-семантические модели языка и их применение" на семинаре в Институте системного анализа РАН 3 марта 2017:
Кириллов, А. Н., Крижановский. А. А. Модель геометрической структуры синсета. Серия «Математическое моделирование и информационные технологии», Вып. 08, стр. 45-54, 2016 (in Russian)
Если вы используете RusVectōrēs в своей научной работе, пожалуйста, процитируйте эту статью:
Kutuzov A., Kuzmenko E. (2017) WebVectors: A Toolkit for Building Web Interfaces for Vector Semantic Models. In: Ignatov D. et al. (eds) Analysis of Images, Social Networks and Texts. AIST 2016. Communications in Computer and Information Science, vol 661. Springer, Cham
(pdf, bibtex)
Мы благодарим компанию nlogic за помощь в хостинге RusVectōrēs.