在unigram语言模型中计算的概率是多少?

时间:2016-05-01 13:46:23

标签: python nlp n-gram sentence sentence-similarity

我为句子完成实现创建了一个unigram语言模型。我有他们出现的所有字数。

我对如何从这里比较它们感到困惑。我认为我必须计算每个案例的概率并采取最大的概率。

因此,如果我有3个可以使用的单词,我会比较每个单词的出现次数并取最高值?这是正确的实施吗?

或者我将每个单词的出现次数除以训练集的所有(不同的?)单词的数量?

谢谢。

1 个答案:

答案 0 :(得分:0)

如果您不想使用任何平滑(图灵,Kneser-Ney等),请记下每个单词(表格)的原始计数,并将其除以您的语料库的总字数(文本) 。这将为您提供每个单词的概率。现在,您并不总是选择概率最高的那个,因为生成的文本看起来像是:

'the the the the the the the ...'

相反,你必须根据他们的概率选择单词(看here来解释)。

顺便说一下,如果你想提出改进建议,你必须发布代码。