如何规范不同长度句子中单词的概率?

问题描述 投票:1回答:1

假设我们有一个RNN模型,它输出在语料库上训练的给定上下文(或没有上下文)的单词的概率。我们可以将序列中每个单词的概率链接起来,以获得句子本身的整体概率。但是,因为我们正在进行链接,所以句子的概率(或可能性)随着长度的增加而下降。即使我们使用日志概率,情况也是如此。

无论如何我们可以将这些概率标准化吗?这是我在构建语言模型时面临的一个有趣的子问题。我有一个900万句话的语料库,长度从2-30不等。但是所有的句子都是有效的,我使用这些作为训练LM的语料库。

现在,我正在获取一部分数据并对其进行更改,例如将句子改组或缩减为一半,预先添加或附加随机单词等等。这是为了创造一个无效的“假句子”。我想做的是获得所有有效句子的可能性的某种阈值,然后当我使用RNN来计算假句子的概率时,它应该相当小或不同于计算的阈值。

tldr;句子就像

"the cat sat on the red mat"
"the cat sat on a mat"
"a cat sat on the red mat with brown coffee stains"

所有人都应该具有可比较的概率/分数/度量,而像句子一样

"cat cat mat on the brown red sat is"
"not mat in door on cat"

得分较低。

machine-learning nlp deep-learning rnn language-model
1个回答
0
投票

您可以引入一个特殊词END-OF-SENTENCE,并预测其概率以及其余词。在这种情况下,您将能够正确地模拟句子长度的分布。 Jurafsky在NLP book的练习4中有一个很好的例子。

事实上,句子“一只猫坐在红色的垫子上,棕色咖啡渍END”更可能是“一只猫坐在红色的垫子上用END”,只是因为那些很少以“with”结束。如果您的RNN足够好,它将反映出这一点。

如果您仍想对句子概率进行标准化,则可以计算困惑度(每个单词的平均对数概率),例如在this question中,其中概念用简单的1-gram模型显示。

© www.soinside.com 2019 - 2024. All rights reserved.