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

如何在应用中集成人机问答系统QuestionAnsweringSystem,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

创新互联建站成立于2013年,我们提供高端网站建设网站制作成都网站设计、网站定制、网络营销推广小程序设计、微信公众号开发、seo优化服务,提供专业营销思路、内容策划、视觉设计、程序开发来完成项目落地,为成都水泥搅拌车企业提供源源不断的流量和订单咨询。

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

系统架构如下:

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

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

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

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

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


    org.apdplat
    deep-qa
    1.1

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

String questionStr = "APDPlat的作者是谁?";
Question question = SharedQuestionAnsweringSystem.getInstance().answerQuestion(questionStr);
if (question != null) {
    List 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
        }
    ]

关于如何在应用中集成人机问答系统QuestionAnsweringSystem问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。


当前标题:如何在应用中集成人机问答系统QuestionAnsweringSystem
文章出自:http://myzitong.com/article/gjihep.html