Лемматизировать корпус для word2vector или нет?

Oct 07, 2015 15:40

Продолжаем тему http://kelijah.livejournal.com/169218.html.
Сделал вариант модели word2vector на лемматизированном корпусе. Лемматизацию взял из результатов частеречной разметки. Лемматизировны только существительные, прилагательные, глаголы и наречия (компаративы приведены к нормальной форме).
В материалах по "семантической близости" http://www.Read more... )

лемматизатор, word2vec, word sense disambiguation, word embedding, частеречная разметка, pos tagger

Leave a comment

Comments 3

servponomarev October 8 2015, 10:23:08 UTC
Илья, приветствую.

В работе с Word2Vec я, к примеру, стараюсь комбинировать разные режимы. Режим Bag of Words, режим Skipgrams, и для каждого режима - обучающая выборка по лемматизированным и не лемматизированным текстам. Итого - на любую пару слов имеем 4-ре косинусных дистанции. Можно их совместить регрессией, или вручную учесть разную специфику полученных векторов. Так, скипграммз - это слова, которые часто встречаются вместе (у слов, составляющих типичную фразу, вектора будут близкими - чай = заваривать, пакетированный), в то время как багофвордс - это взаимозаменяемые слова (чай = кофе, латте). Этими свойствами можно пользоваться.

Что касается требований к памяти - то 4.4 млн слов на 256 элементов вектора занимают порядка 9 Гб оперативной памяти, что я считаю, немного.

Reply

Надо бы еще вариант проверить - с частеречной разметко kelijah October 9 2015, 05:08:33 UTC
Привет, Сергей,

я подумываю над тем, чтобы проверить еще один вариант - помечать слова частями речи. По идее, львиная доля неоднозначности в тексте связана с омонимией. Подозреваю, что чистая полисемия СНЯТЬ.кино|СНЯТЬ.с_полки даже менее частотна. Поэтому интересно посмотреть на результаты, если исходный корпус для w2v не лемматизировать, а помечать вот так

Высокоуглеродистые#A стали#N
Мы#PN стали#V смеяться#V

Один из докладов на прошлогоднем диалоге, кстати, об этом хинте упоминает, правда с выводом, что овчинка и не стоит.

Reply

Re: Надо бы еще вариант проверить - с частеречной размет servponomarev October 9 2015, 07:02:46 UTC
Не помню такого докладчика. Тут всё очень сильно зависит от размера корпуса. Я, к примеру, именно так и делал поиск подходящей ответной реплики. У меня обучающая выборка выглядит так:

Q1_Доброе Q2_Утро Q3_! A1_И A2_тебе A3_не A4_хворать A5_.

Работает на удивление хорошо: http://servponomarev.livejournal.com/8599.html

Ещё один подход, который советую попробовать - это добавлять во фразу маркеры.

Высокоуглеродистые стали #N
Мы стали #V смеяться.

Тогда #N и #V будут обобщены, и можно будет по ним получить статистику слов-маркеров (в окружении). А в бою - вычислить вектор участка текста и проверить, к какому из маркеров он ближе #N или #V

Такой подход, с маркерами, хорошо работает на небольших обучающих выборках.

Reply


Leave a comment

Up