【发布时间】:2018-08-11 04:06:48
【问题描述】:
假设我们有一个 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