Частеречная разметка по векторам слов с помощью RNNSharp

Mar 14, 2016 09:21

(предыстория тут http://kelijah.livejournal.com/177045.html)

Новый результат - ошибаемость частеречной разметки русского текста упала до:

Tag error rate=3,3119224650003%

И это уже очень неплохо.

В новом эксперименте изменился способ использования word2vector векторов слов.
Теперь для каждого токена берется не только вектор слова, но и вектора соседей слева и справа. Делается это с помощью настроек в файле features:

#The word embedding data file name generated by WSDSharp
WORDEMBEDDING_FILENAME:word_vectors_cbow=1_win=2_dim=128.dat
#The context range for word embedding.
WORDEMBEDDING_CONTEXT: -1,0,1
#The column index applied word embedding feature
WORDEMBEDDING_COLUMN: 0

Плюсом к более широкому векторному контексту, я обучал модель на полном корпусе, примерно на 3 миллионах токенов.
RNNSharp пыхтел 2 дня, с помощью магии Parallel.For забирая по 60% от четырехядерного i7 и весело разогревая его до 70 градусов. Летом придется думать о новом охлаждении.

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

part-of-speech tagging, unsupervised feature learning, rnn, word2vec, rnnsharp, word embedding, частеречная разметка

Previous post Next post
Up