我有一个英文句子。现在我想把单词打乱并将这组单词输入到一个程序中,该程序应该根据英语语法的正常规则对单词进行排序以输出原始句子。我可以模糊地假设它需要自然语言生成算法。
例如:
句子:Mary 带着她的狗去散步了。词组:{has, for, a, with, her, dog, Mary, gone, walk}
输出应该是同一句话。
我可以假设只有单词集永远不足以生成原始句子。但是,还必须包含哪些信息才能恢复原句呢? 请指导我应该从哪里开始。
最佳答案
Language models是可以接受文本或句子(任何单词序列)并根据模型“识别”该文本的程度为其分配概率的事物。
要解决您的问题,您可以采用语言模型并使用它来计算您可以对输入词进行的每种可能排列的概率。符合模型的最可能的句子可能是最连贯的句子。
对于像您这样的情况,尝试使用 n-gram 模型(对于 n > 2.. 我认为 2 或 3 应该可以解决问题)或利用词性标签的隐式马尔可夫模型应该可以解决问题。
关于algorithm - 使用自然语言生成解读句子中的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24229863/