如何预测句子中缺失的一个词?
我看到很多关于使用n-gram语言模型和训练数据频率分布来预测句子中下一个词的论文。但是,我想要预测的不是句子末尾的缺失词。例如:
我带我的___去散步。
我似乎找不到任何利用空白后面的词的算法;我想我可以忽略它们,但它们肯定会增加一些价值。当然,二元/三元模型不适用于预测前两个词。
我应该使用什么算法/模式?还是使用空白后的词没有任何优势?
回答:
因此,当我使用二元/三元模型时,一个典型的查询通常看起来像“预测’你会____’中的缺失词”。然后我会遍历我的训练数据,收集所有符合该模式的三个词组,并统计空白处的内容。因此,如果我的训练数据看起来像:
would you not do thatwould you kindly pull that leverwould you kindly push that buttoncould you kindly pull that lever
我会得到“kindly”的两个计数和“not”的一个计数,我会预测“kindly”。对于你的问题,你只需要考虑空白在不同位置的情况:“____你kindly”会得到“would”的两个计数和“could”的一次计数,所以你会预测“would”。就计算机而言,词序没有什么特别的——你可以从训练数据中描述任何你想要的模式。这有意义吗?