我创建了一个用于句子补全实现的unigram语言模型。我有所有单词和它们的出现次数。
我对如何从这里比较它们感到困惑。我认为我必须计算每一种情况的概率,并取最大的一种。
因此,如果我有3个单词可以使用,我比较每个单词的出现次数,并取最高的?这是正确的实现吗?
或者我将每个单词的出现次数除以所有单词的出现次数(distinct?)训练集的单词?
谢谢。
发布于 2016-05-01 22:07:11
如果你不想使用任何平滑(Turing,Kneser-Ney等),取每个单词(表单)的原始计数,并将它们除以语料库(文本)的总字数。这将为您提供每个单词的概率。现在,您并不总是选择概率最高的文本,因为您生成的文本将如下所示:
'the the the the the the the ...'
取而代之的是,你必须根据它们的概率来选择单词(查看here以获得解释)。
顺便说一句,如果你想要改进它的建议,你必须发布代码。
https://stackoverflow.com/questions/36967388
复制相似问题