О проекте

Этот сервис вычисляет семантические отношения между словами русского языка и позволяет скачать предобученные дистрибутивно-семантические модели (word embeddings). Он назван по аналогии с RusCorpora, веб-сайтом Национального Корпуса Русского Языка (НКРЯ). На RusCorpora можно работать с корпусами (лат. corpora), а на нашем ресурсе — с лексическими векторами (лат. vectōrēs). Они представляют значение слова, автоматически извлеченное из статистики совместной встречаемости слов в корпусах (больших коллекциях текстовых данных).

В дистрибутивной семантике слова обычно представляются в виде векторов в многомерном пространстве их контекстов. Семантическое сходство вычисляется как косинусная близость между векторами двух слов и может принимать значения в промежутке [-1...1] (на практике часто используются только значения выше 0). Значение 0 приблизительно означает, что у этих слов нет похожих контекстов и их значения не связаны друг с другом. Значение 1, напротив, свидетельствует о полной идентичности их контекстов и, следовательно, о близком значении.

Дистрибутивная семантика лежит в основе почти всех современных систем автоматической обработки языка. В основном используются статистические модели, обученные на больших корпусах: это так называемые word embedding models (часто для их обучения применяют простые искуственные нейронные сети). В результате семантика слов представляется сжатыми векторами, которые можно использовать для самых разных компьютерно-лингвистических задач. Один из первых и наиболее известный на сегодня инструмент в этой области — word2vec, но регулярно появляются новые алгоритмы и модели.

К сожалению, обучение дистрибутивных моделей на основе больших корпусов может требовать существенных вычислительных мощностей. Поэтому важно предоставить русскоязычному лингвистическому сообществу доступ к предобученным моделям. Наш сервис дает пользователям готовые модели для скачивания (чтобы продолжить эксперименты на своём компьютере), а также удобный интерфейс запросов к ним. Также возможно визуализировать семантические отношения между словами, что, как мы надеемся, будет полезным для исследователей. В целом, задача нашего сервиса — снизить порог входа для тех, кто хочет работать в этом новом и интересном направлении.

Возможности RusVectōrēs

RusVectōrēs — это инструмент, который позволяет исследовать отношения между словами в дистрибутивных моделях. Можно образно назвать наш сервис «семантическим калькулятором». Пользователь может выбрать одну или несколько из тщательно подготовленных моделей, обученных на разных корпусах.

Выбрав модель, вы можете:

  1. вычислять семантическое сходство между парами слов;
  2. находить слова, ближайшие к данному (с возможностью фильтрации по части речи);
  3. решать аналогии вида «найти слово X, которое так относится к слову Y, как слово A относится к слову B»;
  4. выполнять над векторами слов алгебраические операции (сложение, вычитание, поиск центра лексического кластера и расстояний до этого центра).
  5. рисовать семантические карты отношений между словами (это позволяет выявлять семантические кластеры или тестировать ваши гипотезы о таких кластерах);
  6. получать вектор (в виде массива чисел) и его визуализацию для данного слова в выбранной модели: для этого нужно кликнуть по любому слову или использовать уникальный адрес этого слова, как описано ниже;
  7. скачать модель.

В духе парадигмы Semantic Web, каждое слово каждой модели обладает своим уникальным идентификатором URI, явно указывающим лемму, модель и часть речи (например, https://rusvectores.org/ru/ruwikiruscorpora_upos_skipgram_300_2_2018/алгоритм_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, не выходя из любимого мессенджера! Это может быть удобно для лингвистических экспериментов по дороге на работу/учёбу, или в любой другой ситуации, когда хочется быстро проверить идею, а компьютера под рукой нет.

Нам бы хотелось, чтобы RusVectōrēs стал одним из узлов академической информации о дистрибутивных моделях для русского языка, поэтому на сайте имеется раздел «Публикации», содержащий опубликованные научные работы и ссылки на другие полезные ресурсы. В то же время, мы надеемся, что RusVectōrēs популяризует дистрибутивную семантику и компьютерную лингвистику и сделает их более доступными и привлекательными для русскоязычной публики.

Ссылки

Публикации

Избранные статьи о дистрибутивной семантике

  1. Turney, P. D., P. Pantel. From frequency to meaning: Vector space models of semantics. Journal of artificial intelligence research, 37(1), 141-188. (2010)
  2. Mikolov, T., et al. Efficient estimation of word representations in vector space. arXiv preprint arXiv:1301.3781 (2013).
  3. Mikolov, Tomas, et al. Exploiting similarities among languages for machine translation. arXiv preprint arXiv:1309.4168 (2013).
  4. Baroni, Marco, et al. Don’t count, predict! A systematic comparison of context-counting vs. context-predicting semantic vectors. Proceedings of the 52nd Annual Meeting of the Association for Computational Linguistics. Vol. 1. (2014)
  5. Pennington, J., et al. Glove: Global Vectors for Word Representation. EMNLP. Vol. 14. 2014.
  6. Le, Quoc., and Mikolov, Tomas. Distributed representations of sentences and documents. Proceedings of the 31st International Conference on Machine Learning (2014).
  7. Kutuzov, Andrey and Kuzmenko, Elizaveta. Comparing Neural Lexical Models of a Classic National Corpus and a Web Corpus: The Case for Russian. A. Gelbukh (Ed.): CICLing 2015, Part I, Springer LNCS 9041, pp. 47–58, 2015. DOI: 10.1007/978-3-319-18111-0_4
  8. Bartunov Sergey et al. Breaking Sticks and Ambiguities with Adaptive Skip-gram. Eprint arXiv:1502.07257, 02/2015
  9. O. Levy, Y. Goldberg, and I. Dagan Improving Distributional Similarity with Lessons Learned from Word Embeddings. TACL 2015
  10. Xin Rong word2vec Parameter Learning Explained. arXiv preprint arXiv:1411.2738 (2015)
  11. Panchenko A., et al. RUSSE: The First Workshop on Russian Semantic Similarity. Proceedings of the Dialogue 2015 conference, Moscow, Russia (2015)
  12. Kutuzov, Andrey and Andreev, Igor. Texts in, meaning out: neural language models in semantic similarity task for Russian. Proceedings of the Dialog 2015 Conference, Moscow, Russia (2015)
  13. Arefyev N.V., et al. Evaluating three corpus-based semantic similarity systems for Russian. Proceedings of the Dialogue 2015 conference, Moscow, Russia (2015)
  14. Lopukhin K.A., et al. The impact of different vector space models and supplementary techniques in Russian semantic similarity task. Proceedings of the Dialogue 2015 conference, Moscow, Russia (2015)
  15. Hamilton, W. L., et al. Diachronic Word Embeddings Reveal Statistical Laws of Semantic Change. Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics (2016).
  16. Sahlgren, M., and Lenci, A. The Effects of Data Size and Frequency Range on Distributional Semantic Models. Proceedings of EMNLP. (2016)
  17. Bojanowski, P., et al. Enriching Word Vectors with Subword Information. Transactions of the Association of Computational Linguistics – Volume 5, Issue 1 (2017).

Доклад Андрея Кутузова "Дистрибутивно-семантические модели языка и их применение" на семинаре в Институте системного анализа РАН 3 марта 2017:

Публикации, ссылающиеся на наш проект

  1. Кузнецов, И. Автоматическая разметка семантических ролей в русском языке. Диссертация на соискание ученой степени кандидата филологических наук (2016) (in Russian)
  2. Кириллов, А. Н., Крижановский. А. А. Модель геометрической структуры синсета. Серия «Математическое моделирование и информационные технологии», Вып. 08, стр. 45-54, 2016 (in Russian)
  3. Kalimoldayev, M. N., Koibagarov, K. C., Pak, A. A., & Zharmagambetov, A. S. The application of the connectionist method of semantic similarity for Kazakh language. In Electronics Computer and Computation (ICECCO), 2015 Twelve International Conference on (pp. 1-3). IEEE.
  4. Kopotev, M., Pivovarova, L., & Kormacheva, D. Constructional generalization over Russian collocations. Memoires de la Societe neophilologique de Helsinki, 2016
  5. Mrkšić, N. et al. Semantic Specialisation of Distributional Word Vector Spaces using Monolingual and Cross-Lingual Constraints. Transactions of the Association for Computational Linguistics (TACL) (2018)
  6. Panicheva, P., Badryzlova, Yu. Distributional semantic features in Russian verbal metaphor identification. Komp'juternaja Lingvistika i Intellektual'nye Tehnologii, Volume 1, Issue 16 (2017)
  7. Trofimov, I., Suleymanova, E. A syntax-based distributional model for discriminating between semantic similarity and association. Komp'juternaja Lingvistika i Intellektual'nye Tehnologii, Volume 1, Issue 16 (2017)
  8. Shelmanov, A., Devyatkin, D. Semantic role labeling with neural networks for texts in Russian. Komp'juternaja Lingvistika i Intellektual'nye Tehnologii, Volume 1, Issue 16 (2017)
  9. Enikeeva I., Mitrofanova, O. Russian Collocation extraction based on word embeddings. Komp'juternaja Lingvistika i Intellektual'nye Tehnologii, Volume 1, Issue 16 (2017)
  10. Bolotova, V., et al. Which IR model has a better sense of humor? Search over a large collection of jokes. Komp'juternaja Lingvistika i Intellektual'nye Tehnologii, Volume 1, Issue 16 (2017)
  11. Anh, L., et al. Application of a Hybrid Bi-LSTM-CRF model to the task of Russian Named Entity Recognition. arXiv preprint arXiv:1709.09686 (2017)
  12. Bogolyubova, O., et al. Dark Personalities on Facebook: Harmful Online Behaviors and Language. Computers in Human Behavior, Volume 78 (2018)
  13. ...

Цитирование

Если вы используете 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)


Команда RusVectōrēs

Университет Осло

Лицензия Creative Commons