文档章节

如何在你的应用中集成人机问答系统QuestionAnsweringSystem?

杨尚川
 杨尚川
发布于 2014/08/30 23:12
字数 439
阅读 1533
收藏 7

QuestionAnsweringSystem是一个Java实现的人机问答系统,能够自动分析问题并给出候选答案。IBM人工智能计算机系统"沃森"(Watson)在2011年2月美国热门的电视智力问答节目"危险边缘"(Jeopardy!)中战胜了两位人类冠军选手,QuestionAnsweringSystem就是IBM Watson的Java开源实现。

 

系统架构如下:

 

 

QuestionAnsweringSystem提供了两种集成方式,以库的方式嵌入到应用中,以平台的方式独立部署。

 

下面说说这两种方式如何做。

 

1、以库的方式嵌入到应用中。

 

这种方式只支持Java平台,可通过Maven依赖将库加入构建路径,如下所示:

 

<dependency>
    <groupId>org.apdplat</groupId>
    <artifactId>deep-qa</artifactId>
    <version>1.1</version>
</dependency>

 

在应用如何使用呢?示例代码如下:

 

String questionStr = "APDPlat的作者是谁?";
Question question = SharedQuestionAnsweringSystem.getInstance().answerQuestion(questionStr);
if (question != null) {
    List<CandidateAnswer> candidateAnswers = question.getAllCandidateAnswer();
    int i=1;
    for(CandidateAnswer candidateAnswer : candidateAnswers){
        System.out.println((i++)+"、"+candidateAnswer.getAnswer()+":"+candidateAnswer.getScore());
    }
}

 

运行程序后会在当前目录下生成目录deep-qa,目录里面又有两个目录dic和questionTypePatterns。

dic是中文分词组件依赖的词库,questionTypePatterns是问题类别分析依赖的模式定义,可根据自己的需要修改。

 

2、以平台的方式独立部署。

 

首先在自己的服务器上如192.168.0.1部署好了,然后就可以通过Json Over HTTP的方式提供服务,使用方法如下所示:

 

调用地址:
    http://192.168.0.1/api/ask?n=1&q=APDPlat的作者是谁?
参数:
    n表示需要返回的答案的个数
    q表示问题
编码:
    UTF-8编码
返回json:
    [
        {
            "answer": "杨尚川",
            "score": 1
        }
    ]

 


© 著作权归作者所有

杨尚川

杨尚川

粉丝 1103
博文 220
码字总数 1624053
作品 12
东城
架构师
私信 提问
QuestionAnsweringSystem v1.2 发布,智能人机问答系统

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

杨尚川
2015/09/26
4.7K
15
QuestionAnsweringSystem v1.1 发布,人机问答系统

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

杨尚川
2014/08/06
2.3K
18
您提供的问答系统不考虑知识库吗

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

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

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

danmoall
2015/05/05
131
1
QuestionAnsweringSystem问题

@杨尚川 你好,想跟你请教个问题:QuestionAnsweringSystem你开源的这个项目,如何自定义自己的问题及答案?

xying
2017/06/23
77
2

没有更多内容

加载失败,请刷新页面

加载更多

还为PDF转Word抓狂?以下神器让你在职场倍受欢迎!

身在职场的你,是否一直在琢磨:如何能让自己在公司更受欢迎?如何才能在办公室里混个好人缘?如何在同事圈里留个好印象?其实,想要让自己成为受欢迎的人,只要让自己成为大家需要的人不就行...

foxit2world
19分钟前
6
0
AndServer+Service打造Android服务器实现so文件调用

so 文件调用 随着 Android 移动安全的高速发展,不管是为了执行效率还是程序的安全性等,关键代码下沉 native 层已成为基本操作。 native 层的开发就是通指的 JNI/NDK 开发,通过 JNI 可以实...

夜幕NightTeam
21分钟前
3
0
Docker下kafka学习三部曲之二:本地环境搭建

在上一章《 Docker下kafka学习,三部曲之一:极速体验kafka》中我们快速体验了kafka的消息分发和订阅功能,但是对环境搭建的印象仅仅是执行了几个命令和脚本,本章我们通过实战来学习如何编写...

程序员欣宸
21分钟前
4
0
萌新推荐!不再为Excel转换PDF发愁,Aspose.Cells for .NET一步到位!

Aspose.Cells for .NET(点击下载)是Excel电子表格编程API,可加快电子表格管理和处理任务,支持构建具有生成,修改,转换,呈现和打印电子表格功能的跨平台应用程序。 将Excel工作簿转换为...

mnrssj
22分钟前
6
0
对于绘画小白怎么画制服?该注意什么?

怎样制作学生服装?想必绘画初学者们常常会想的问题吧,不知道怎样才能画好人物的衣服,别着急,今日就在这儿讲一些关于如何绘画学生衣服校服的教程给我们!期望能够帮到你们! 轻便西装是不...

热爱画画的我
27分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部