文档章节

QuestionAnsweringSystem v1.1 发布,人机问答系统

杨尚川
 杨尚川
发布于 2014/08/30 23:07
字数 742
阅读 757
收藏 3

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/

 

项目主页 

可部署war包下载

© 著作权归作者所有

杨尚川

杨尚川

粉丝 1102
博文 220
码字总数 1624053
作品 12
东城
架构师
私信 提问
加载中

评论(1)

eeecheng
eeecheng
很厉害!!
QuestionAnsweringSystem v1.1 发布,人机问答系统

QuestionAnsweringSystem是一个Java实现的人机问答系统,能够自动分析问题并给出候选答案。IBM人工智能计算机系统"沃森"(Watson)在2011年2月美国热门的电视智力问答节目"危险边缘"(Jeopa...

杨尚川
2014/08/06
2.3K
18
QuestionAnsweringSystem v1.2 发布,智能人机问答系统

QuestionAnsweringSystem是一个Java实现的人机问答系统,能够自动分析问题并给出候选答案。IBM人工智能计算机系统"沃森"(Watson)在2011年2月美国热门的电视智力问答节目"危险边缘"(Jeopa...

杨尚川
2015/09/26
4.7K
15
如何在你的应用中集成人机问答系统QuestionAnsweringSystem?

QuestionAnsweringSystem是一个Java实现的人机问答系统,能够自动分析问题并给出候选答案。IBM人工智能计算机系统"沃森"(Watson)在2011年2月美国热门的电视智力问答节目"危险边缘"(Jeopa...

杨尚川
2014/08/30
1K
0
您提供的问答系统不考虑知识库吗

@杨尚川 你好,想跟你请教个问题:您提供的问答系统(QuestionAnsweringSystem)不考虑语料库吗?语料库如何建设啊

zhfneu
2015/06/10
174
2
word项目中没有PartOfSpeechTagging文件

@杨尚川 你好,想跟你请教个问题: 你在github中QuestionAnsweringSystem引用了 word-1.3,我下了你git中的word项目,打包成jar,添加到QuestionAnsweringSystem。但是还是编译不通过,提示缺...

danmoall
2015/05/05
129
1

没有更多内容

加载失败,请刷新页面

加载更多

表示数值的字符串

使用正则表达式进行匹配。 [] : 字符集合() : 分组? : 重复 0 ~ 1 次+ : 重复 1 ~ n 次* : 重复 0 ~ n 次. : 任意字符\\. : 转义后的 .\\d : 数字 public b...

Garphy
30分钟前
7
0
大数据最核心的关键技术——32个算法,记得收藏!

奥地利符号计算研究所的Christoph Koutschan博士在自己的页面上发布了一篇文章,提到他做了一个调查,参与者大多数是计算机科学家,他请这些科学家投票选出最重要的算法,以下是这次调查的结...

大数据金罗
今天
12
0
spring boot The server time zone value 'PDT' is unrecognized or represents more than one time zone.

spring boot启动项目时,发现数据库抛如下错误 Caused by: com.mysql.cj.exceptions.InvalidConnectionAttributeException: The server time zone value 'PDT' is unrecognized or represen......

huangkejie
今天
5
0
Laravel 5.1的多路由文件的配置

默认的路由配置文件只有一个, \app\Http\routes.php。 在同一个文件中写路由容易起冲突,文件会越来越大,就需要定义多个路由文件。 找到加载\app\Http\routes.php的文件, 打开\app\Provid...

mdoo
今天
5
0
Hibernate 5 开始使用指南前言

同时在面向对象软件和关系型数据库进行工作,可能会非常复杂和费时。数据在对象和数据库之间可能会不一致,然后导致开发成本会非常高。 Hibernate 是一个针对 Java 环境的对象关系映射(Obj...

honeymoose
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部