COVID-19知識圖譜問答系統(基於REFO)

本文共669個字,預計閱讀時間需要3分鐘。
在這裏插入圖片描述

簡介

基於知識圖譜的問答系統,即KBQA。其中一個簡單的實現方法是根據用戶輸入的自然語言問句,轉化爲圖數據庫中的關係查詢,最終將數據庫中的實體及關係呈現給用戶。

下面給出了一個KBQA的Demo。

實現依賴

  • Python 3.6+
  • Apache Jena Fuseki
  • SPARQLWrapper
  • refo
  • jiaba

實例數據

此知識圖譜的主題爲COVID-2019的知識查詢。三元組數據來自OpenKG的新冠數據集。

實現流程

  1. 數據提取:下載OpenKG提供的json-ld數據,通過腳本將json-ld數據轉化爲RDF格式的數據,RDF數據已經上傳至本實例中,用戶可以直接使用。
  2. 數據存儲:採用Apache Jena Fuseki,Apache Jena Fuseki是一個SPARQL服務,支持多種操作系統。可以存儲RDF數據,並通過SPARQL查詢語句查詢數據庫中的關係。這裏將上面給出的RDF數據導入至Jena中。
  3. Python編寫數據庫查詢語句與規則。規則採用refo,可以直接從Python中下載該包,這一步是自然語言轉爲結構化的規則的關鍵。
  4. 通過refo生成的SPARQL查詢語句傳遞到Jena中便可以查到相關的實體關係了,最終反饋給用戶。

需要注意的是此代碼實現倉促,編寫的規則內容較少,沒有對輸出進行規範表示。

代碼

https://github.com/xyjigsaw/COVID19-KBQA-DEMO

項目中包含了數據和代碼,數據需要自己導入到Jena中。爲了簡便系統,這裏沒有給出前端代碼。
在這裏插入圖片描述

前端代碼如頂部圖片所示。

參考

感謝前輩給出的參考:
https://blog.csdn.net/keyue123/article/details/85266355

更多內容訪問 omegaxyz.com
網站所有代碼採用Apache 2.0授權
網站文章採用知識共享許可協議BY-NC-SA4.0授權
© 2020 • OmegaXYZ-版權所有 轉載請註明出處

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章