我正在研究一个从句子中产生问题的项目。现在,我正处于可以产生以下问题的地步: “安吉拉默克尔是德国的机会。” - > “Angela Merkel是谁?”
现在,当然,我希望问题看起来像“谁是......?”代替。是否有任何简单的方法可以做到这一点,我还没有想到呢?
我目前的想法是训练英语(不是问题) - >英语(问题)翻译,可能使用像摩西这样的现有机器翻译引擎。这有点矫枉过正吗?我需要多少数据?是否存在解决此问题或类似问题的语料库?是否使用适合此任务的通用翻译引擎?
答案 0 :(得分:0)
如果你把自己局限于相对简单的问题,你可以做一个解析,然后翻转元素来解决问题。你如何决定问题?谁,什么,哪里,为什么......为此你需要一个分类器来查看一个句子的元素。安吉拉·默克尔应该很容易归类为一个人/名字,所以她得到了“谁”,柏林应该在地理词典中,所以它得到“哪里”。
我不确定具体的软件,但我可能会使用NLTK,使用依赖解析,然后是你想要的分类方案。
最终,您的成功取决于您的输入和输出空间有多大。我会首先考虑绝对最简单的问题。
答案 1 :(得分:0)
查看Michael Heilman的论文Automatic Factual Question Generation from Text,了解问题产生的背景,看看他对这个问题的看法是什么样的。您可以通过搜索“问题生成”的研究找到更多。他提到了微软的一个语料库:Microsoft Research Question-Answering Corpus。
我不认为单纯基于(当前)统计机器翻译方法的方法可以很好地工作,因为你通常需要对源语句进行更深层次的句法分析才能做好产生一个适当的问题。对于像你的例子这样的简单问题,设计句法树转换以生成问题非常容易,但是一旦句子变得复杂一点就会变得更加棘手。