我为句子完成实现创建了一个unigram语言模型。我有他们出现的所有字数。
我对如何从这里比较它们感到困惑。我认为我必须计算每个案例的概率并采取最大的概率。
因此,如果我有3个可以使用的单词,我会比较每个单词的出现次数并取最高值?这是正确的实施吗?
或者我将每个单词的出现次数除以训练集的所有(不同的?)单词的数量?
谢谢。
答案 0 :(得分:0)
如果您不想使用任何平滑(图灵,Kneser-Ney等),请记下每个单词(表格)的原始计数,并将其除以您的语料库的总字数(文本) 。这将为您提供每个单词的概率。现在,您并不总是选择概率最高的那个,因为生成的文本看起来像是:
'the the the the the the the ...'
相反,你必须根据他们的概率选择单词(看here来解释)。
顺便说一下,如果你想提出改进建议,你必须发布代码。