языковая модель с SRILM

Я пытаюсь построить языковую модель, используя SRILM. У меня есть список фраз, и я создаю модель, используя:

./ngram-count -text corpus.txt -order 3 -ukndiscount -interpolate -unk -lm corpus.lm

После этого я попытался сделать пример, чтобы увидеть вероятности разных фраз, и оказалось, что логарифмическая вероятность -0,9.

Проблема в том, что в обучении есть слова с меньшей логарифмической вероятностью. Например, существует 5 "abatantuono", и его логарифмическая вероятность составляет -4,8.

Мне кажется это странным, потому что фраза <s> <unk> </s> более вероятна, чем <s> abatantuono </s>, а в обучающей выборке присутствует и 3-граммовая <s> abatantuono </s>!

Это можно увидеть здесь:

 % ./ngram -lm corpus.lm -ppl ../../../corpus.txt.test -debug 2 -unk
 reading 52147 1-grams
 reading 316818 2-grams
 reading 91463 3-grams
 abatantuono
     p( abatantuono | <s> )     = [2gram] 1.6643e-05 [ -4.77877 ]
     p( </s> | abatantuono ...)     = [3gram] 0.717486 [ -0.144186 ]
 1 sentences, 1 words, 0 OOVs
 0 zeroprobs, logprob= -4.92296 ppl= 289.386 ppl1= 83744.3

 abatantonno
     p( <unk> | <s> )   = [1gram] 0.00700236 [ -2.15476 ]
     p( </s> | <unk> ...)   = [1gram] 0.112416 [ -0.949172 ]
 1 sentences, 1 words, 0 OOVs
 0 zeroprobs, logprob= -3.10393 ppl= 35.6422 ppl1= 1270.36

 file ../../../corpus.txt.test: 2 sentences, 2 words, 0 OOVs
 0 zeroprobs, logprob= -8.02688 ppl= 101.56 ppl1= 10314.3

Как вы думаете, в чем может быть проблема?

Спасибо


person Daniele    schedule 31.03.2016    source источник


Ответы (1)


Это отмеченная проблема SRILM (см. тезис Кеннета Хифилда - сноска на стр. 30 и его веб-сайт примечания к SRILM). То, как масса распределяется по неизвестным словам, может присвоить им более высокую вероятность по сравнению с увиденными редкими словами в обучающих данных. Вы можете взглянуть на пакет KenLM, который имеет только реализацию Modified Kneser-Ney (обычно работает лучше, чем сглаживание Kneser-Ney), но выполняет массовое распределение неизвестных слов таким образом, чтобы этого не происходило.

person user3639557    schedule 02.04.2016