Инструмент для построения векторной модели слов


#1

Векторная модель подразумевает сопоставление каждому слову некоего вектора, что полезно для изучения кластеризации слов и применения к задачам NLP алгоритмов на нейросетях.

Хотелось бы напустить какой-нибудь алгоритм без учителя на большой корпус и проверить взаимоотношения между интересующими группами слов. Вопрос в выборе инструмента. Вроде как Стенфордская группа любит на эту тему писать статейки, но в CoreNLP что-то не заприметил. Нашёл их статью с сылкой на код, но в нём разбираться нужно. Гугление выдало не особо мёртвый инструментик, про который впервые слышу и который оптимистично заявляет: “The WVTool has been designed and optimized for flexibility and extendibility rather than for efficiency.” - но тем не менее называет вполне приемлимые времена обучения.

Вопрос к сообществу: кто-нибудь занимался чем-то подобным? Какими инструментами пользовались? Что посоветуете?


#2

Из вопроса не совсем ясно, о какой именно векторной модели слов идёт речь. Если имеется в виду модель bag-of-words, то её можно реализовать руками без каких-либо инструментов, хотя в курсе Introduction to Recommender Systems использовалась библиотека Lucene. Какой-то список инструментов есть в Википедии.


#3

Да, а с Solr можно построить такую модель (если та имеется в виду), даже не программируя.


#4

Благодарю, не подумал, что в простой вики может быть.
Подправил вопрос.


#5

LSI, TF*IDF и т.д. - немного не в ту степь, судя по вопросу. Если хочется получить более полезное векторное представление слов, то см. лучше https://code.google.com/p/word2vec/ (там консольные утилиты для word2vec) и http://radimrehurek.com/gensim/models/word2vec.html (там питонья библиотека, которая, вроде, даже быстрее оригинальных С++ утилит работать может). Применять все это можно не только в нейросетях - например, мы эти вектора для CRF как фичи используем (вдобавок к “стандартному” векторному представлению токенов, когда единичка в нужной позиции, и все остальное - нули), помогает. Ссылки на бумаги на страничке word2vec есть.


#6

Вот еще, наткнулся недавно: http://nlp.stanford.edu/projects/glove/ - статья 2014 года, Christopher D. Manning в авторах, есть софт для тренировки и уже готовые векторы. Пишут, что лучше word2vec должно быть для многих задач.