О проекте

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

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

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

Word2vec и используемые им предсказательные алгоритмы Continuous Bag-of-Words и Continuous Skipgram (а также подобные подходы) подробно изучаются и тестируются в применении к английскому языку, в то время как для русского языка такая работа едва начата. Таким образом, важно предоставить русскоязычному лингвистическому сообществу доступ к соответствующим инструментам и моделям.

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

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

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

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

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

В духе парадигмы Semantic Web, каждое слово каждой модели обладает своим уникальным идентификатором URI, явно указывающим лемму, модель и часть речи (например, http://rusvectores.org/ru/ruwikiruscorpora/алгоритм_NOUN/). По запросу на этот адрес генерируется список десяти слов, ближайших к данной лемме в данной модели и принадлежащих к той же части речи, что и сама лемма, а также другая информация о слове, например, его вектор в виде массива чисел.

Также у сервиса есть API, с помощью которого можно для любого слова получить список слов, семантически близких к данному в выбранной модели. Данные можно получить в двух форматах: json и csv. Для этого необходимо выполнить GET-запрос по адресу следующего вида: http://rusvectores.org/MODEL/WORD/api/FORMAT, где MODEL — идентификатор для выбранной модели, WORD — слово запроса, FORMAT — «csv» или «json» по вашему выбору. По запросу отдаётся файл в формате json или текстовый файл в формате tab-separated values, в котором перечислены ближайшие десять соседей слова.

Кроме того, можно получать значения семантической близости для пар слов в любой из моделей. Формат запроса: http://rusvectores.org/MODEL/WORD1__WORD2/api/similarity/ (обратите внимание на 2 знака подчеркивания между словами).

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

Естественно, можно сравнивать результаты разных моделей.

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

Ссылки

Этот сервис работает на WebVectors, свободном и открытом фреймворке для работы с векторными семантическими моделями через Сеть

Статья о WebVectors

Возможно, вас также заинтересует аналогичный сервис для английского и норвежского языков.

Публикации

Если вам интересны дистрибутивные семантические модели, просмотрите следующие публикации:

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

  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)

Цитирование

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