百度開源 FAQ 問答系統(AnyQ)試用及系統架構
阿新 • • 發佈:2018-11-27
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