- 授权协议: GPLv3
- 开发语言: Java
- 操作系统: 跨平台
- 软件首页: https://github.com/ysc/QuestionAnsweringSystem
- 软件文档: https://github.com/ysc/QuestionAnsweringSystem
软件介绍
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、时间
如:
哪一年第一次提出“大跃进”的口号?
大庆油田是哪一年发现的?
澳门是在哪一年回归祖国怀抱的?
邓小平在什么时候进行南巡讲话?
ACM/ICPC程序设计与分析
沈云付 / 清华大学 / 2010-7 / 39.50元
《ACM/ICPC程序设计与分析(C++实现)》介绍ACM国际大学生程序设计竞赛概况及程序设计基础,系统介绍数论、组合数学、动态规划、计算几何、搜索、图论和网络流等专题的典型算法,挑选历年竞赛中许多有代表性的竞赛题作为例题进行分析,便于学生编程时模仿学习。每章的例题和习题都配有输入输出样例,方便学生在编程时测试与调试程序。《ACM/ICPC程序设计与分析(C++实现)》以C++为程序设计语言,以提......一起来看看 《ACM/ICPC程序设计与分析》 这本书的介绍吧!
