О проекте

Этот сервис вычисляет семантические отношения между словами русского языка. Он назван по аналогии с 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). Каждая модель содержит от 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. Bybee, J. Frequency of use and the organization of language. (2006)
  2. Turney, P. D., P. Pantel (2010). From frequency to meaning: Vector space models of semantics. Journal of artificial intelligence research, 37(1), 141-188.
  3. Řehůřek, Radim, and Petr Sojka. Software framework for topic modelling with large corpora. // in Proceedings of the LREC 2010 Workshop on New Challenges for NLP Frameworks (2010).
  4. Panchenko A., et al.. Serelex: Search and Visualization of Semantically Related Words. In Proceedings of the 35th European Conference on Information Retrieval (ECIR 2013). Springer’s Lecture Notes on Computer Science, 2013, Moscow (Russia).
  5. Mikolov, T., et al. Efficient estimation of word representations in vector space. arXiv preprint arXiv:1301.3781 (2013).
  6. Mikolov, Tomas, et al. Exploiting similarities among languages for machine translation. arXiv preprint arXiv:1309.4168 (2013).
  7. 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)
  8. Pennington, J., et al. Glove: Global Vectors for Word Representation. EMNLP. Vol. 14. 2014.
  9. 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
  10. Bartunov Sergey et al. Breaking Sticks and Ambiguities with Adaptive Skip-gram. Eprint arXiv:1502.07257, 02/2015
  11. O. Levy, Y. Goldberg, and I. Dagan Improving Distributional Similarity with Lessons Learned from Word Embeddings. TACL 2015
  12. Xin Rong word2vec Parameter Learning Explained. arXiv preprint arXiv:1411.2738 (2015)
  13. 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)
  14. Panchenko A., et al. RUSSE: The First Workshop on Russian Semantic Similarity. Proceedings of the Dialogue 2015 conference, Moscow, Russia (2015)
  15. Arefyev N.V., et al. Evaluating three corpus-based semantic similarity systems for Russian. Proceedings of the Dialogue 2015 conference, Moscow, Russia (2015)
  16. 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)
  17. Hamilton, W. L., et al. Diachronic Word Embeddings Reveal Statistical Laws of Semantic Change. arXiv preprint arXiv:1605.09096 (2016).
  18. Hamilton, W. L., et al. Cultural Shift or Linguistic Drift? Comparing Two Computational Measures of Semantic Change. arXiv preprint arXiv:1606.02821 (2016).

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

Статьи, ссылающиеся на наш проект

  1. Кириллов, А. Н., Крижановский. А. А. Модель геометрической структуры синсета. Серия «Математическое моделирование и информационные технологии», Вып. 08, стр. 45-54, 2016 (in Russian)
  2. Кузнецов, И. О. Автоматическая разметка семантических ролей в русском языке. Диссертация на соискание степени кандидата филологических наук, МГУ, 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

Цитирование

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

Мы благодарим Mail.ru Group за предоставление хостинга для этого сервиса.