如何根据它们在现实世界中出现的可能性对任意句子进行评分?

数据挖掘 神经网络 rnn
2021-10-03 11:06:50

根据有关 LSTM here的文章,我知道:

它允许我们根据它们在现实世界中出现的可能性对任意句子进行评分。这为我们提供了语法和语义正确性的衡量标准。此类模型通常用作机器翻译系统的一部分。

但是,这篇文章似乎没有指出如何用LSTM.

有什么方法可以计算分数吗?

1个回答

通常你会使用一个困惑值。例如,如果您的 LSTM 模型是基于单词的,并且您有一个句子[x1,x2...xN],并且您的模型以概率预测该句子中出现的单词p(xi|x0..xi1)(在哪里x0是一个“开始标记”或任何你用来开始你的 RNN 预测序列的东西)。然后,您可以在模型下为该句子引用每个单词的 perplexity 为

1Ni=1Nlog2(p(xi|x0..xi1))

使用 LSTM 预测连续单词,构造一个概率数组很实用 [p1,p2...pN] 通过在句子上运行网络并注意正确匹配单词的概率 - 即 pi= 正确类别的预测概率 xi 在每一步,这简化了表达式:

1Ni=1Nlog2(pi)