Репозиторий эксперимента:
https://github.com/Koziev/WordRepresentations Сделал условный grid search для основных гиперпараметров. Для 2-грамм и 3-грамм эксперимент закончен, для 4-грамм продолжается:
NB_SAMPLES=1,000,000 NGRAM_ORDER=2 w2v_tags acc=0.8340
NB_SAMPLES=2,000,000 NGRAM_ORDER=2 w2v_tags acc=0.8405
NB_SAMPLES=3,000,000 NGRAM_ORDER=2 w2v_tags acc=0.8474
NB_SAMPLES=5,000,000 NGRAM_ORDER=2 w2v_tags acc=0.8511
NB_SAMPLES=10,000,000 NGRAM_ORDER=2 w2v_tags acc=0.8561
NB_SAMPLES=1,000,000 NGRAM_ORDER=2 word_indeces acc=0.7452
NB_SAMPLES=2,000,000 NGRAM_ORDER=2 word_indeces acc=0.7619
NB_SAMPLES=3,000,000 NGRAM_ORDER=2 word_indeces acc=0.7735
NB_SAMPLES=5,000,000 NGRAM_ORDER=2 word_indeces acc=0.7835
NB_SAMPLES=6,000,000 NGRAM_ORDER=2 word_indeces acc=0.7849
NB_SAMPLES=10,000,000 NGRAM_ORDER=2 word_indeces acc=0.8103
NB_SAMPLES=1,000,000 NGRAM_ORDER=2 w2v acc=0.7954
NB_SAMPLES=2,000,000 NGRAM_ORDER=2 w2v acc=0.8010
NB_SAMPLES=3,000,000 NGRAM_ORDER=2 w2v acc=0.8050
NB_SAMPLES=5,000,000 NGRAM_ORDER=2 w2v acc=0.8065
NB_SAMPLES=6,000,000 NGRAM_ORDER=2 w2v acc=0.8086
NB_SAMPLES=10,000,000 NGRAM_ORDER=2 w2v acc=0.8132
NB_SAMPLES=1,000,000 NGRAM_ORDER=3 w2v_tags acc=0.8528
NB_SAMPLES=2,000,000 NGRAM_ORDER=3 w2v_tags acc=0.8585
NB_SAMPLES=3,000,000 NGRAM_ORDER=3 w2v_tags acc=0.8662
NB_SAMPLES=5,000,000 NGRAM_ORDER=3 w2v_tags acc=0.8738
NB_SAMPLES=6,000,000 NGRAM_ORDER=3 w2v_tags acc=0.8760
NB_SAMPLES=8,000,000 NGRAM_ORDER=3 w2v_tags acc=0.8774
NB_SAMPLES=1,000,000 NGRAM_ORDER=3 word_indeces acc=0.7719
NB_SAMPLES=2,000,000 NGRAM_ORDER=3 word_indeces acc=0.7807
NB_SAMPLES=3,000,000 NGRAM_ORDER=3 word_indeces acc=0.7875
NB_SAMPLES=5,000,000 NGRAM_ORDER=3 word_indeces acc=0.8250
NB_SAMPLES=6,000,000 NGRAM_ORDER=3 word_indeces acc=0.8266
NB_SAMPLES=8,000,000 NGRAM_ORDER=3 word_indeces acc=0.8328
NB_SAMPLES=1,000,000 NGRAM_ORDER=3 w2v acc=0.8116
NB_SAMPLES=2,000,000 NGRAM_ORDER=3 w2v acc=0.8140
NB_SAMPLES=3,000,000 NGRAM_ORDER=3 w2v acc=0.8191
NB_SAMPLES=5,000,000 NGRAM_ORDER=3 w2v acc=0.8280
NB_SAMPLES=6,000,000 NGRAM_ORDER=3 w2v acc=0.8275
NB_SAMPLES=8,000,000 NGRAM_ORDER=3 w2v acc=0.8289
NB_SAMPLES=1,000,000 NGRAM_ORDER=4 w2v_tags acc=0.8376
NB_SAMPLES=2,000,000 NGRAM_ORDER=4 w2v_tags acc=0.8575
NB_SAMPLES=3,000,000 NGRAM_ORDER=4 w2v_tags acc=0.8701
NB_SAMPLES=5,000,000 NGRAM_ORDER=4 w2v_tags acc=0.8789
NB_SAMPLES=6,000,000 NGRAM_ORDER=4 w2v_tags acc=0.8751
NB_SAMPLES=8,000,000 NGRAM_ORDER=4 w2v_tags acc=0.8805
Пояснение по смыслу параметров w2v, w2v_tags и word_indeces, которые встречаются в таблице результатов.
w2v - для слов в n-грамме берем word2vector представления, полученные обучением отдельной gensim-модели по очень большому корпусу.
w2v_tags - в добавок к w2v представлений слов мы добавляем бинарные флаги, соответствующие разным морфологическим признакам слов. Например, для именительного падежа есть свой битовый фраг, для множественного числа - свой.
word_indeces - используется слой
Embedding, который в онлайне настраивает векторное представление слов.
Уже на этих результатах видны две интересные тенденции.
Во-первых, использование отдельно обученной w2v модели лучше, чем online настройка встраиваний через Embedding. По мере роста обучающей выборки качество онлайн-встраиваний растет и в какой-то момент бьет стороннюю w2v модель.
Во-вторых, 3-граммы дают лучшее качестве, чем 2-граммы, а 4-граммы - лучше, чем 3-граммы. Это немного неожиданный результат.