我是语言建模的新手,我使用kenlm(或this)从一个大的文本文件(~7 7gb)中创建了一个3gram语言模型。我从我的语言模型创建了一个二进制文件,并在python中调用它,如下所示:
import kenlm
model = kenlm.LanguageModel(<my .klm file>)
model.score(<my sentence>)
当我改变句子进行评分时,我得到了一个负数作为result.and,结果仍然是负的,但发生了变化。我恰好给了它一个大的文本文件句子,但它给了我一个糟糕的负数(与文本文件中没有的句子相比)我不知道负结果是什么意思,我不知道如何将它转换为正的和正常的结果,以便在一些句子之间选择最正确的句子。
发布于 2017-02-28 16:25:25
最后一个负数表示-9.585592是句子的对数概率。由于它是对数,您需要计算该数字的幂的10,大约是2.60x10-10。也许这就是你要找的正数。
更多信息here
发布于 2018-04-02 11:25:01
要获得0到1之间的相应分数,请执行以下操作:
import math
print(math.pow(10,model.score(<my sentence>)))
https://stackoverflow.com/questions/40607574
复制相似问题