我如何构建一个回答是或否的问答系统
我想建立一个问答系统,这个系统只能回答“是”或“否”。
假设我有一个问题和一个文本文件。在这个文本文件里,有4到5段文字。通过这些文字,我可以回答这个问题。
所以,我想建立一个系统,它可以接收一个问题和一个文本文件作为输入,然后提取出一个答案(是或否)。
我该从哪里开始呢?
我使用的工具有:
Python(nltk库)
Prolog
mysql(如果需要的话)
1 个回答
1
Prolog本身就是一个“回答是或否的问题系统”。
你的“文本文件”可以是简单的Prolog事实。然后你只需要在Prolog系统中加载(咨询)你的事实文件,就可以用查询来得到是或否的答案。
举个例子(facts.pl):
prime(2).
prime(3).
prime(5).
prime(7).
capital('Ukraine', 'Kyiv').
capital('Ukraine', 'Kiev').
bird(penguin).
fish(shark).
咨询这个文件:
?- [facts].
问问题。比如:企鹅是鸟吗?鲨鱼是鸟吗?
?- bird(penguin).
true.
?- bird(shark).
false.
SWI-Prolog会用'true'和'false'来回答,而其他系统(比如ECLiPSe CLP http://www.eclipseclp.org/)可能会用'Yes'和'No'。