QuestionAnsweringSystem

人机问答系统
授权协议 GPLv3
开发语言 Java
所属分类 建站系统、 开源问答系统
软件类型 开源软件
地区 国产
投 递 者 艾泰
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

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、时间
    如:
    大庆油田是哪一年发现的?

 

可部署war包下载

 

 相关资料
  • 数据概览 1.机器人问答界面 机器人问答是系统中重要的组成部分,能够帮助企业回答用户高重复、高频、无人或忙碌阶段的问答问题,较好的使用机器人问答能够回复80%以上的客户问题,通过知识维护和学习还将不断提高问答率,节省企业人工,提升准确率。 机器人问答界面包括几种类型: 单独网页标签页界面:单独网页咨询界面是一个独立网页,包含较为全面的页面信息 独立咨询控件窗口界面:单独的咨询控件窗口界面是一个悬浮

  • #软件开发笔面经# 二面和一面相比更是抽象,感觉字节系的面试官都是不愿意说话,具体体现在面试中就是多余的一个字都不说,项目也不怎么问,导致我一度以为一面挂了,也许这就是字节风格吧 项目: 介绍完之后又是象征性地问了问之前自驾工程侧的开发内容,参考一面 面试官直接表示了对算法侧的东西不太感兴趣,表示工程是这样的,算法那边只要实现就完事了,但是工程要考虑的就很多了 手撕: “给你40分钟做下这个啊”

  • 删除问题 DELETE /api/v2/qa/questions/{id} 1 仅拥有 [Q&A] Manage Questions 或者是问题发布者本人才有权限删除 响应: Status: 204 No Content 1 删除回答 DELETE /api/v2/qa/answers/{id} 1 仅拥有 [Q&A] Manage Answers 或者是回答发布者本人才有权限删除 响应: Sta

  • 这个产品可以用于生产环境吗?https://zeit.co 都是一直用 Next.js 写的。 它的开发体验和终端用户体验都很好,所以我们决定开源出来给大家共享。体积多大? 客户端大小根据应用需求不一样大小也不一样。 一个最简单 Next 应该用 gzip 压缩后大约65kb这个像 `create-react-app`? 是或不是. 是,因为它让你的 SSR 开发更简单。 不是,因为它规定了一定的

  • 对于ROS新手而言,可能会有疑问:学习机器人操作系统,实体机器人是必须的吗?答案是否定的,机器人一般价格不菲,为了降低机器人学习、调试成本,在ROS中提供了系统的机器人仿真实现,通过仿真,可以实现大部分需求,本章主要就是围绕“仿真”展开的,比如,本章会介绍: 如何创建并显示机器人模型; 如何搭建仿真环境; 如何实现机器人模型与仿真环境的交互。 本章预期的学习目标如下: 能够独立使用URDF创建机器

  • 应答机制可以保证消费数据的准确性,Canal 服务端会记录 Client 消费的进度,需要客户端发送 ACK 消息,服务端才会更新进度。类似于在消息队列中的 ACK 机制,如 RabbitMQ。 自动应答 await conn.GetAsync(1024);//获取数据并自动应答 GetAsync() 会在获取数据后,自动向 Server 发送 ack 消息。 手动应答 var msg = aw