【发布时间】:2016-06-22 15:17:54
【问题描述】:
如何预测句子中缺少的单词?
我看过许多关于使用 n-gram 语言模型预测句子中的下一个单词的论文,该模型具有来自一组训练数据的频率分布。但相反,我想预测一个不一定在句末的缺失词。例如:
我带着我的___去散步。
我似乎找不到任何利用空格后面单词的算法;我想我可以忽略它们,但它们必须增加一些价值。当然,二元/三元模型不适用于预测前两个单词。
我应该使用什么算法/模式?还是用空格后面的词没有好处?
【问题讨论】:
-
您描述的任何算法都应该具有适应性,您只需稍微更改实现,使其不会专门针对先前的单词进行训练。我不确定您所说的“双/三元模型不适用于预测前两个单词”是什么意思,但是这些方法应该可以正常工作-您只需要更改扫描训练数据的模式为,稍微。
-
好的,谢谢!我会试一试。我的意思是,如果我使用基于前一个单词的算法,我无法预测句子的第一个单词(如果它基于前两个单词,我无法预测前两个单词);但我可能想错了。
-
好的,我明白你的意思了。我会发布一个答案来澄清更多。
-
当然,使用下面的词是有好处的。如果您不使用以下单词,那么您无法确定“狗”是一个合适的结果,而“船”是可笑的错误。
-
训练两种语言模型,一种用于从左到右读取语料库,另一种用于从右到左读取语料库。当给定一个间隙时,调用每个语言模型,其中一个您将预测概率限制在右侧的内容上,而在另一个您将预测概率限制在左侧的内容上。然后取两个概率的平均值,作为你的分数。
标签: algorithm machine-learning nlp