Продолжаем тему
http://kelijah.livejournal.com/169218.html.
Сделал вариант модели word2vector на
лемматизированном корпусе. Лемматизацию взял из результатов
частеречной разметки. Лемматизировны только существительные, прилагательные, глаголы и
наречия (компаративы приведены к нормальной форме).
В материалах по "семантической близости"
http://www.
(
Read more... )
Comments 3
В работе с Word2Vec я, к примеру, стараюсь комбинировать разные режимы. Режим Bag of Words, режим Skipgrams, и для каждого режима - обучающая выборка по лемматизированным и не лемматизированным текстам. Итого - на любую пару слов имеем 4-ре косинусных дистанции. Можно их совместить регрессией, или вручную учесть разную специфику полученных векторов. Так, скипграммз - это слова, которые часто встречаются вместе (у слов, составляющих типичную фразу, вектора будут близкими - чай = заваривать, пакетированный), в то время как багофвордс - это взаимозаменяемые слова (чай = кофе, латте). Этими свойствами можно пользоваться.
Что касается требований к памяти - то 4.4 млн слов на 256 элементов вектора занимают порядка 9 Гб оперативной памяти, что я считаю, немного.
Reply
я подумываю над тем, чтобы проверить еще один вариант - помечать слова частями речи. По идее, львиная доля неоднозначности в тексте связана с омонимией. Подозреваю, что чистая полисемия СНЯТЬ.кино|СНЯТЬ.с_полки даже менее частотна. Поэтому интересно посмотреть на результаты, если исходный корпус для w2v не лемматизировать, а помечать вот так
Высокоуглеродистые#A стали#N
Мы#PN стали#V смеяться#V
Один из докладов на прошлогоднем диалоге, кстати, об этом хинте упоминает, правда с выводом, что овчинка и не стоит.
Reply
Q1_Доброе Q2_Утро Q3_! A1_И A2_тебе A3_не A4_хворать A5_.
Работает на удивление хорошо: http://servponomarev.livejournal.com/8599.html
Ещё один подход, который советую попробовать - это добавлять во фразу маркеры.
Высокоуглеродистые стали #N
Мы стали #V смеяться.
Тогда #N и #V будут обобщены, и можно будет по ним получить статистику слов-маркеров (в окружении). А в бою - вычислить вектор участка текста и проверить, к какому из маркеров он ближе #N или #V
Такой подход, с маркерами, хорошо работает на небольших обучающих выборках.
Reply
Leave a comment