基於學者網資訊和知識圖譜的智慧問答系統
知識圖譜 之 python 操作neo4j (匯入CSV操作)
知識圖譜之python操作Neo4j匯入CSV構建複雜的知識圖譜
基於python的Django框架和Neo4j的知識圖譜視覺化
大家可以先看看這幾篇文章 在這裡面我已經把我們需要的知識圖譜給構建好了。然後就是我們的問答環節。因為我們構建的知識圖譜就是基於學者網上面的學者資訊,所以我們的問答系統也只能回答關於學者網上學者的資訊問題。而我們構建的圖譜獲取的資訊有姓名,學位,研究方向,所在學校這四類資訊。所以我們只要能從使用者所問的問題中提取到關鍵詞,那麼就能根據關鍵詞獲取使用者想要的資訊。
例如:在使用者的問題裡面出現學者名字的時候我們會獲取到這個資訊,通過neo4j圖資料庫查詢這個學者是否在我們的資料庫中。再根據後面出現的關鍵詞確定使用者想要查詢的是哪方面的資訊,例如:陳小波是那個學校的老師。這句話的關鍵詞是 :陳小波和學校。如果有這個人則返回他所在學校,如果沒有則輸出查無此人。
姓名,學校,學歷,學位,研究方向這些都是關鍵詞,只要我們能從使用者的問題中準確的獲取到這些關鍵詞,那我們就能根據關鍵詞通過資料庫獲取使用者想要了解的資訊並返回給使用者。
怎麼獲取關鍵詞就成為了重點,這次我們用到了jieba分詞器,它不僅可以幫我們分詞還可以幫我們標註詞性,但需要注意的是結巴分詞分的並不是很準確,例如華南師範大學 就會被分割成 華南 和師範大學兩個詞。這時候我們就應該自己建立一個分詞庫定義一些自己的分詞方法。例如:我會把 研究 學校 學位 這類詞的詞性自己設定為 relation。把我們需要的關鍵詞單獨設定為一種詞性,當使用者的問題中有這些關鍵詞的時候我們就很容易的提取出來。
import jieba.posseg as pseg #詞性標註
import jieba
jieba.load_userdict('E:\\python\\基於學者網資訊的知識圖譜問答系統\\fenci.txt')
def ner(s):
words = pseg.cut(s)
d = {}
for word, flag in words: #結巴分詞 把我們的關鍵詞提取處理
if flag == 'nr':
d['nr'] = word
if flag == 'relation':
d['relation'] = word
if flag == 'major':
d['major'] = word
if flag == 'nt':
d['nt'] = word
#print(word,flag)
k = []
for i in d.keys():
k.append(i)
if len(k) == 0: #一個關鍵詞都沒有 說明問的問題可能與學者網的學者無關
print('對不起沒有查詢到你要的資訊')
if len(k) == 1: #只有一個關鍵詞 可能是姓名 可能是 研究方向 或者是學校
print(d[k[0]])
if 'nr' in k and 'nt' in k: #有兩個關鍵字
print(d['nr'], d['nt'])
if 'nr' in k and 'major' in k:
print(d['nr'], d['major'])
if 'nr' in k and 'relation' in k:
print(d['nr'], d['relation'])
if 'nt' in k and 'major' in k:
print(d['nt'], d['major'])
if 'relation' in k and 'major' in k:
print(d['relation'], d['major'])
這是我列舉出來的部分情況,根據不同的關鍵詞,我們很容易的能反推出使用者想要問什麼問題。
例如:使用者只輸入中只有知識圖譜一個關鍵詞 就是想知道有哪些人研究它
使用者輸入中有姓名和學校就是像知道該學者是否是這個學校的
我們根據不同的關鍵詞把從我們的資料庫中獲取不同的資訊並返回給使用者。
由於是基於學者網的問答系統,所以它能詢問的問題也就是哪幾類,只要我們認真的梳理清楚各關鍵詞之間的聯絡,完全可以把該問答系統做的很成功。準確率也會很高。
相關文章
- 基於知識圖譜的問答系統關鍵技術研究 #04
- 知識圖譜的問答系統關鍵技術研究 #01
- 知識圖譜的問答系統關鍵技術研究 #02
- 知識圖譜的問答系統關鍵技術研究 #03
- 基於neo4j構建火影忍者知識圖譜視覺化及問答系統視覺化
- NLPIR利用知識圖譜技術提高智慧問答準確率
- 知識圖譜構建下的自動問答KBQA系統實戰-文輝
- KGB知識圖譜在智慧問答方向發揮技術特色
- 基於倒排表的電力排程知識問答系統構建 (nlp問答系統實現,有程式碼)
- 美團知識圖譜問答技術實踐與探索
- 知了 | 基於NLP的智慧問答推薦系統
- 知識圖譜增強下的智慧推薦系統與應用-於敬
- KGB知識圖譜,利用科技解決傳統知識圖譜問題
- 達觀資料聯合同濟大學釋出新冠肺炎知識圖譜資料集及智慧問答系統
- 基於知識圖譜的人機對話系統 | 公開課筆記筆記
- 知識圖譜|知識圖譜的典型應用
- 知識圖譜01:知識圖譜的定義
- 汽車基礎知識問答
- NumPy基礎知識圖譜
- 基於知識圖譜的APT組織追蹤治理APT
- NLPIR系統構建知識圖譜助力智慧客服應用
- 基於TP3.2.3的問答系統!
- 知識圖譜系統在人工智慧領域的應用與前景人工智慧
- ERP基礎知識問答
- Flashback database基礎知識問答Database
- [基礎入門]網路安全知識問答(二)!
- 基於知識圖譜的知識泛化讓AI學會“舉一反三”AI
- 知識圖譜學習記錄--知識圖譜概述
- 區塊鏈基礎知識問答區塊鏈
- 知識圖譜 KnowledgeGraph基礎解析
- 悟空問答、知乎和分答的網際網路知識經濟變現戰爭
- 知識圖譜之知識表示
- 【知識圖譜】 一個有效的知識圖譜是如何構建的?
- go 知識圖譜Go
- OI知識圖譜
- 史上最全的人工智慧知識圖譜人工智慧
- 知識圖譜技術的新成果—KGB知識圖譜介紹
- 知識圖譜和行業領域的結合產物-KGB知識圖譜介紹行業