溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在應用中集成人機問答系統(tǒng)QuestionAnsweringSystem

發(fā)布時間:2021-12-21 17:24:50 來源:億速云 閱讀:132 作者:柒染 欄目:云計算

如何在應用中集成人機問答系統(tǒng)QuestionAnsweringSystem,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

QuestionAnsweringSystem是一個Java實現(xiàn)的人機問答系統(tǒng),能夠自動分析問題并給出候選答案。IBM人工智能計算機系統(tǒng)"沃森"(Watson)在2011年2月美國熱門的電視智力問答節(jié)目"危險邊緣"(Jeopardy?。┲袘?zhàn)勝了兩位人類冠軍選手,QuestionAnsweringSystem就是IBM Watson的Java開源實現(xiàn)。

系統(tǒng)架構(gòu)如下:

如何在應用中集成人機問答系統(tǒng)QuestionAnsweringSystem

QuestionAnsweringSystem提供了兩種集成方式,以庫的方式嵌入到應用中,以平臺的方式獨立部署。

下面說說這兩種方式如何做。

1、以庫的方式嵌入到應用中。

這種方式只支持Java平臺,可通過Maven依賴將庫加入構(gòu)建路徑,如下所示:

<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是問題類別分析依賴的模式定義,可根據(jù)自己的需要修改。

2、以平臺的方式獨立部署。

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

調(diào)用地址:
    http://192.168.0.1/api/ask?n=1&q=APDPlat的作者是誰?
參數(shù):
    n表示需要返回的答案的個數(shù)
    q表示問題
編碼:
    UTF-8編碼
返回json:
    [
        {
            "answer": "楊尚川",
            "score": 1
        }
    ]

關(guān)于如何在應用中集成人機問答系統(tǒng)QuestionAnsweringSystem問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI