如何在你的应用中集成人机问答系统QuestionAnsweringSystem?http://url.cn/PDZAjQ

来源:互联网 发布:js中format是干什么的 编辑:程序博客网 时间:2024/05/22 00:07

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

 

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

 

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

 

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

 

Xml代码  收藏代码
  1. <dependency>  
  2.     <groupId>org.apdplat</groupId>  
  3.     <artifactId>deep-qa</artifactId>  
  4.     <version>1.1</version>  
  5. </dependency>  

 

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

 

Java代码  收藏代码
  1. String questionStr = "APDPlat的作者是谁?";  
  2. Question question = SharedQuestionAnsweringSystem.getInstance().answerQuestion(questionStr);  
  3. if (question != null) {  
  4.     List<CandidateAnswer> candidateAnswers = question.getAllCandidateAnswer();  
  5.     int i=1;  
  6.     for(CandidateAnswer candidateAnswer : candidateAnswers){  
  7.         System.out.println((i++)+"、"+candidateAnswer.getAnswer()+":"+candidateAnswer.getScore());  
  8.     }  
  9. }  

 

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

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

 

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

 

已经在121.40.143.109部署好了,以Json Over HTTP的方式提供服务,使用方法如下所示:

 

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