1. 程式人生 > >百度開源 FAQ 問答系統(AnyQ)試用及系統架構

百度開源 FAQ 問答系統(AnyQ)試用及系統架構

1.使用過程

  • AnyQ系統安裝完畢後,通過在build資料夾下執行./run_server命令,來執行系統。系統啟動完畢,即可在瀏覽器中輸入http://${host}:${port}/anyq?question=XXX向AnyQ系統發出以question=後面的內容為問題的請求。
  • 最初時,通過上述方式向AnyQ系統傳送問題,頁面返回結果為空,此時需要按下面文件所述方式對系統進行配置
    https://github.com/baidu/AnyQ/blob/master/docs/semantic_retrieval_tutorial.md
  • 配置完畢後,即可向系統傳送內容獲取答案。但是,系統初始時僅提供5個問題-答案集,因此輸入的問題僅與這10個問題進行語義相似度的計算。例如
    當我想question輸入:周杰倫是誰?

    後臺系統僅進行如下計算
    在這裡插入圖片描述
    即僅將問題‘周杰倫是誰’與圖片所示10個問題進行相似度計算,最終返回相似度最大的問題所對應的答案。

2.AnyQ系統框架及處理流程

AnyQ系統的整體架構如下所示:
在這裡插入圖片描述

  • 系統主要分為6個模組,每一個模組都以外掛的形式進行新增和配置,也就是說每一個模組,都可以通過相應模組的配置檔案,以JSON格式的形式,對已有外掛,或自定義外掛進行引用。
  • 下面4個模組組成了一個問題的解析過程
    1.問題分析(Qusetion Analysis),詳解:https://blog.csdn.net/qq_28385535/article/details/84446282
    2.檢索(Retrieval),詳解:待續
    3.匹配(Matching),詳解:待續
    4.分級(Ranking),詳解:待續
  • SimNet模組:用於計算語義相似度模型的訓練,支援兩種模型訓練框架:
    PaddleFluid
    TensorFlow,詳解:待續
  • 索引模組:索引模組主要對FAQ資料集進行處理,並將處理好的資料應用到檢索模組進行問題的解析。詳解:https://blog.csdn.net/qq_28385535/article/details/83958168