RusVectōrēs 4: отчёт за 2017 год

Андрей Анатольевич ЗализнякВеб-сервис дистрибутивно-семантических моделей для русского языка RusVectōrēs снова с вами! Мы выпускаем новый релиз нашего веб-сервиса под номером 4, и рады поделиться с вами новостями! Этот релиз посвящается светлой памяти Андрея Анатольевича Зализняка, без которого ничего бы этого не было.

Напомним, что RusVectōrēs — это инструмент для работы с лексическими моделями дистрибутивной семантики (word embeddings) прямо в браузере. Подобные алгоритмы (word2vec, GloVe, fasttext и другие) произвели революцию в автоматической обработке естественного языка в последние несколько лет. Они позволяют «научить» компьютер определять значения слов, используя в качестве обучающего множества большие массивы текстов и статистику совместной встречаемости слов в них.

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

Итак, новости RusVectōrēs 4:

  1. До последнего времени мы лемматизировали и размечали по частям речи наши обучающие корпуса при помощи Mystem. Сейчас мы перешли на UDPipe. Это позволило сразу и без конверсии получать частеречные тэги, соответствующие стандарту Universal PoS Tags. Кроме того, это означает, что теперь у нас в моделях есть слова с частеречным тэгом PROPN (имя собственное), что позволяет задавать ещё более гибкие запросы.
  2. Все модели теперь снабжены уникальным идентификатором, позволяющим сразу определить тип модели. Например, ruwikiruscorpora_upos_skipgram_300_2_2018 означает «модель, обученная на слиянии НКРЯ и Википедии, снабженная частеречными тэгами по стандарту Universal PoS, при обучении был использован алгоритм word2vec Continuous Skipgram с размерностью вектора 300 и размером окна 2, модель была обучена в 2018 году».
  3. Впервые появилась модель, обученная при помощи алгоритма fastText, с использованием символьных триграмм (на корпусе Araneum Maximum). Это означает, что модель использует морфемную информацию, и даже для неизвестного ей слова может сгенерировать вектор на основе составляющих его морфем. Эта модель обучена на леммах без частеречных тэгов.
  4. Для остальных моделей, в которых имеются частеречные тэги, RusVectōrēs теперь сохраняет пользовательский выбор частеречных фильтров для результата.
  5. Вычисление семантической близости между парами слов перенесено во вкладку Разные операции. Кроме того, у этой операции теперь сохраняется история и вы можете экспериментировать со словами, не теряя из виду прежние значения близости.
  6. Во всех вкладках цвет слов теперь зависит от их частотности в корпусах. Слова, выделенные зеленым — высокочастотные, а слова, выделенные красным — низкочастотные. Во многих случаях эта информация может быть важна, когда вы ищете ближайших семантических соседей того или иного слова.
  7. Большинство наших моделей обучено на корпусах, в которых склеены идущие непосредственно друг за другом имена собственные (например, «Василий_PROPN Иванович_PROPN» становится «Василий::Иванович_PROPN»). Также склеиваются двусловные коллокации с очень высоким значением pointwise mutual information (PMI). Тем не менее, мы понимаем, что для некоторых целей такая склейка не нужна. Поэтому теперь мы дополнительно предлагаем модель, обученную на НКРЯ и Википедии без склейки биграмм (ruwikiruscorpora-nobigrams_upos_skipgram_300_5_2018). И наоборот, для тех, кому важны двусловные словосочетания, доступна «супер-биграммная» модель, в которой перед обучением были склеены вообще все возможные пары слов продуктивных в русском языке типов (ruwikiruscorpora-superbigrams_skipgram_300_2_2018).
  8. Наш фреймворк WebVectors, на котором построен RusVectōrēs, был подвергнут серьезному рефакторингу:
    • Теперь вы можете запускать его как на Python 2, так и на Python 3. В дальнейшем мы планируем сохранить совместимость с обеими версиями Python.
    • Значительно усовершенствован обмен данными между фронтендом и бэкэндом.
    • Существенно облегчена процедура установки фреймворка и настройки его под себя, максимум опций вынесен в конфигурационные файлы.
    • Полностью переписано руководство по использованию WebVectors.
  9. В последних версиях известной библиотеки дистрибутивной семантики Gensim вы теперь можете одной командой загрузить и использовать одну из наших моделей, обученную на НКРЯ (ruscorpora_upos_skipgram_300_10_2017). Подробности тут. В ближайшее время такая возможность появится и для остальных моделей.
  10. Множество мелких улучшений.

У нас ещё много планов по дальнейшему совершенствованию RusVectōrēs. Подписывайтесь на наш RSS и оставайтесь с нами!

Команда RusVectōrēs:
Андрей Кутузов (Университет Осло)
Елизавета Кузьменко (Университет Гронингена)