Какова вероятность расчета в модели языка униграмм?
Я создал модель языка униграмм для реализации завершения предложения. У меня есть все слова с номером их вхождения.
Я запутался в том, как их сравнить отсюда. Я бы подумал, что мне нужно рассчитать вероятность каждого случая и взять самый большой.
Так что, если у меня есть 3 слова, которые можно использовать, я сравниваю количество вхождений каждого слова и беру наибольшее? Это правильная реализация?
Или я делю количество вхождений каждого слова на количество всех (различных?) Слов обучающего набора?
Спасибо.
1 ответ
Если вы не хотите использовать какое-либо сглаживание (Тьюринг, Кнезер-Ней и т. Д.), Возьмите необработанные значения каждого слова (формы) и разделите их на общее количество слов в вашем корпусе (текст). Это даст вам вероятность каждого слова. Теперь вы не всегда выбираете тот, который имеет наибольшую вероятность, потому что ваш сгенерированный текст будет выглядеть так:
'the the the the the the the ...'
Вместо этого вы должны выбрать слова в соответствии с их вероятностью (смотрите здесь для объяснения).
Кстати, вы должны почтовый индекс, если вы хотите предложения по его улучшению.