Сервис 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)