QuestionAnsweringSystem是一个Java实现的人机问答系统,能够自动分析问题并给出候选答案。IBM人工智能计算机系统"沃森"(Watson)在2011年2月美国热门的电视智力问答节目"危险边缘"(Jeopardy!)中战胜了两位人类冠军选手,QuestionAnsweringSystem就是IBM Watson的Java开源实现。
系统架构如下:
工作原理:
1、判断问题类型(答案类型),当前使用模式匹配的方法,将来支持更多的方法,如朴素贝叶斯分类器。
2、提取问题关键词。
3、利用问题关键词搜索多种数据源,当前的数据源主要是人工标注的语料库、谷歌、百度。
4、从搜索结果中根据问题类型(答案类型)提取候选答案。
5、结合问题以及搜索结果对候选答案进行打分。
6、返回得分最高的TopN项候选答案。
目前支持5种问题类型(答案类型):
1、人名
如:
APDPlat的作者是谁?
APDPlat的发起人是谁?
谁死后布了七十二疑冢?
杨尚川最爱的女人是谁?
2、地名
如:
“海的女儿”是哪个城市的城徽?
世界上流经国家最多的河流是哪一条?
世界上最长的河流是什么?
汉城是哪个国家的首都?
3、机构团体名
如:
BMW是哪个汽车公司制造的?
长城信用卡是哪家银行发行的?
美国历史上第一所高等学府是哪个学校?
前身是红色中华通讯社的是什么?
4、数字
如:
全球表面积有多少平方公里?
撒哈拉有多少平方公里?
北京大学占地多少平方米?
撒哈拉有多少平方公里?
5、时间
如:
哪一年第一次提出“大跃进”的口号?
大庆油田是哪一年发现的?
澳门是在哪一年回归祖国怀抱的?
香港是在哪一年回归祖国怀抱的?
API接口:
调用地址:
http://121.40.143.109/api/ask?n=1&q=APDPlat的作者是谁? 参数: n表示需要返回的答案的个数 q表示问题 编码: 服务端和客户端均使用UTF-8编码 服务端需要修改tomcat配置文件conf/server.xml,在相应的Connector中加入配置URIEncoding="UTF-8" 返回json: [ { "answer": "杨尚川", "score": 1 } ]
使用说明:
1、初始化MySQL数据库:
在MySQL命令行中执行QuestionAnsweringSystem\src\main\resources\mysql\questionanswer.sql文件中的脚本
主机:127.0.0.1
端口:3306
数据库:questionanswer
用户名:root
密码:root
2、构建war文件并部署到tomcat:
cd QuestionAnsweringSystem
mvn install
cp target\QuestionAnsweringSystem-1.0.war apache-tomcat-7.0.37/webapps/QuestionAnsweringSystem-1.0.war
启动tomcat
3、打开浏览器访问:
http://localhost:8080/QuestionAnsweringSystem-1.0/
相关推荐
ysc-QuestionAnsweringSystem是一个专门设计用于实现问答功能的软件系统,版本号为1.1-125-gbb52537。这个系统提供了一个交互式的平台,允许用户提出问题并获取精确的答案。其核心特性是能够调用外部搜索引擎如百度...
QuestionAnsweringSystem是一个Java实现的人机问答系统,能够自动分析问题并给出候选答案。IBM人工智能计算机系统"沃森"(Watson)在2011年2月美国热门的电视智力问答节目"危险边缘"(Jeopardy!)中战胜了两位人类...
【QuestionAnsweringSystem:简单的问答系统】 在信息技术领域,问答系统(Question Answering System,简称QAS)是一种人工智能技术,其目标是理解自然语言问题,并从大量文本数据中找到最合适的答案。...
QuestionAnsweringSystem是一个Java实现的人机问答系统,能够自动分析问题并给出候选答案。IBM人工智能计算机系统"沃森"(Watson)在2011年2月美国热门的电视智力问答节目"危险边缘"(Jeopardy!)中战胜了两位人类...
Gloves.6B:这个文件需要从网上下载,下载地址为: ://nlp.stanford.edu/projects/glove/ 请使用d = 100的词向量(用于PART3)环境: Python 3(必须要使用Python 3)简单的问答系统编写文本的读取:从JSON文件里读...
这是一个基于SpringMVC和Hibernate框架构建的简单问答系统,适合初学者学习和借鉴。这个系统可能没有华丽的界面,但其核心在于后端逻辑的实现,对于理解如何将这两个技术结合来处理Web应用中的数据交互有很好的示例...
其技术实现涉及多个层次,包括信息获取、信息评估和答案生成,每个环节都至关重要,共同构成了一个强大的问答系统。在未来,随着自然语言处理技术的进一步发展,我们可以期待更加智能、精准的QA系统服务于人类社会。
CrowdSourcing_QuestionAnsweringSystem 它是一个基于 CrowdSourcing 的问答 Android 应用程序,它使用数据挖掘技术来隔离用户。 它具有基于地图的位置服务、用户通知、基于图库的图像分类等功能
问题解答系统DocBot- 给定Wikipedia文章,生成N个“好”问题并回答N个问题。 我们在问答比赛中赢得了第一名! 看看我们如何在或制作它 状态 这是CMU 11611的一个学期项目。我们有一个由4个人组成的团队。 原始代码...