2016-11-15 5 views
0

Я новичок в моделировании языка и сделаю модель языка 3grams, используя kenlm (или this) из большого текстового файла (~ 7gb.). Я делаю двоичный файл с моего языка модели и назвать его в питон, как это:Отрицательные результаты с использованием kenlm

import kenlm 
model = kenlm.LanguageModel(<my .klm file>) 
model.score(<my sentence>) 

и я получить отрицательное число, как result.and, когда я изменить предложение для озвучивания, результат остается отрицательным, но изменения . Я даю ему ровно один из предложений с большим текстовым файлом, но он дает мне плохое отрицательное число (по сравнению с предложением, которое отсутствует в текстовом файле) Я не знаю, что означает отрицательный результат, и как я могу преобразовать его в положительный и нормальный результат, чтобы выбрать наиболее правильное присваивание между некоторыми предложениями.

+0

У меня есть сомнения, я видел kenlm документации, однако метод обучения в питона нигде не упоминается. Как мы можем обучать нашу модель? –

ответ

1

Последнее отрицательное число говорит, -9.585592 - это логарифмическая вероятность предложения. Поскольку это логарифм, вам нужно вычислить 10 на мощность этого числа, которое составляет около 2,60 x 10-10. Возможно, это положительное число, которое вы ищете.

Подробнее here