售前電話
135-3656-7657
售前電話 : 135-3656-7657
1、項(xiàng)目背景
為通過項(xiàng)目實(shí)戰(zhàn)增加對知識圖譜的認(rèn)識,幾乎找了所有網(wǎng)上的開源項(xiàng)目及視頻實(shí)戰(zhàn)教程。
果然,功夫不負(fù)有心人,找到了中科院軟件所劉煥勇老師在上的開源項(xiàng)目,基于知識圖譜的醫(yī)藥領(lǐng)域問答項(xiàng)目。
項(xiàng)目地址:
用了兩個晚上搭建了兩套,Mac版與版,哈哈,運(yùn)行成功!??!
從無到有搭建一個以疾病為中心的一定規(guī)模醫(yī)藥領(lǐng)域知識圖譜,以該知識圖譜完成自動問答與分析服務(wù)。該項(xiàng)目立足醫(yī)藥領(lǐng)域,以垂直型醫(yī)藥網(wǎng)站為數(shù)據(jù)來源,以疾病為核心,構(gòu)建起一個包含7類規(guī)模為4.4萬的知識實(shí)體,11類規(guī)模約30萬實(shí)體關(guān)系的知識圖譜。 本項(xiàng)目將包括以下兩部分的內(nèi)容:
1、基于垂直網(wǎng)站數(shù)據(jù)的醫(yī)藥知識圖譜構(gòu)建
2、基于醫(yī)藥知識圖譜的自動問答 2、項(xiàng)目環(huán)境 2.1 系統(tǒng)
搭建中間有很多坑,且行且注意。
配置要求:要求配置neo4j數(shù)據(jù)庫及相應(yīng)的依賴包。neo4j數(shù)據(jù)庫用戶名密碼記住,并修改相應(yīng)文件。
安裝neo4j,neo4j 依賴java jdk 1.8版本以上:
java jdk安裝方法可參考: 系統(tǒng)下安裝JDK8,下載地址:
安裝neo4j可參考博文: 安裝neo4j,下載地址:
安裝可參考: 環(huán)境下安裝.7
根據(jù)neo4j 安裝時的端口、賬戶、密碼配置設(shè)置設(shè)置項(xiàng)目配置文件:.py&.py(下載項(xiàng)目時根據(jù)個人需要也可使用git)
數(shù)據(jù)導(dǎo)入: .py,導(dǎo)入的數(shù)據(jù)較多,估計(jì)需要幾個小時。
.py導(dǎo)入數(shù)據(jù)之前,需要在該文件main函數(shù)中加入:
.py
啟動問答: .py
2.2 Mac系統(tǒng)
mac本身自帶、java jdk環(huán)境,可直接安裝neo4j圖數(shù)據(jù)庫,項(xiàng)目運(yùn)行步驟與基本一樣。
問題解答:
安裝過程中如遇問題可聯(lián)系: -sbb。 2.3 Neo4j數(shù)據(jù)庫展示
2.4 問答系統(tǒng)運(yùn)行效果
3、項(xiàng)目介紹
該項(xiàng)目的數(shù)據(jù)來自垂直類醫(yī)療網(wǎng)站尋醫(yī)問藥,使用爬蟲腳本.py,以結(jié)構(gòu)化數(shù)據(jù)為主,構(gòu)建了以疾病為中心的醫(yī)療知識圖譜,實(shí)體規(guī)模4.4萬,實(shí)體關(guān)系規(guī)模30萬。的設(shè)計(jì)根據(jù)所采集的結(jié)構(gòu)化數(shù)據(jù)生成,對網(wǎng)頁的結(jié)構(gòu)化數(shù)據(jù)進(jìn)行xpath解析。
項(xiàng)目的數(shù)據(jù)存儲采用Neo4j圖數(shù)據(jù)庫,問答系統(tǒng)采用了規(guī)則匹配方式完成,數(shù)據(jù)操作采用neo4j聲明的。
項(xiàng)目的不足之處在于疾病的引發(fā)原因、預(yù)防等以大段文字返回,這塊可引入事件抽取,可將原因結(jié)構(gòu)化表示出來。
3.1 項(xiàng)目目錄
. ├── README.md ├── __pycache__ \\編譯結(jié)果保存目錄 │ ├── answer_search.cpython-36.pyc │ ├── question_classifier.cpython-36.pyc │ └── question_parser.cpython-36.pyc ├── answer_search.py ├── answer_search.pyc ├── build_medicalgraph.py \\知識圖譜數(shù)據(jù)入庫腳本 ├── chatbot_graph.py \\問答程序腳本 ├── data │ └── medicaln.json \\本項(xiàng)目的全部數(shù)據(jù),通過build_medicalgraph.py導(dǎo)neo4j ├── dict │ ├── check.txt \\診斷檢查項(xiàng)目實(shí)體庫 │ ├── deny.txt \\否定詞庫 │ ├── department.txt \\醫(yī)療科目實(shí)體庫 │ ├── disease.txt \\疾病實(shí)體庫 │ ├── drug.txt \\藥品實(shí)體庫 │ ├── food.txt \\食物實(shí)體庫 │ ├── producer.txt \\在售藥品庫 │ └── symptom.txt \\疾病癥狀實(shí)體庫 ├── document │ ├── chat1.png \\系統(tǒng)運(yùn)行問答截圖01 │ ├── chat2.png \\系統(tǒng)運(yùn)行問答截圖01 │ ├── kg_route.png \\知識圖譜構(gòu)建框架 │ ├── qa_route.png \\問答系統(tǒng)框架圖 ├── img \\README.md中的所用圖片 │ ├── chat1.png │ ├── chat2.png │ ├── graph_summary.png │ ├── kg_route.png │ └── qa_route.png ├── prepare_data │ ├── build_data.py \\數(shù)據(jù)庫操作腳本 │ ├── data_spider.py \\網(wǎng)絡(luò)資訊采集腳本 │ └── max_cut.py \\基于詞典的最大向前/向后腳本 ├── question_classifier.py \\問句類型分類腳本 ├── question_classifier.pyc ├── question_parser.py \\問句解析腳本 ├── question_parser.pyc
3.2 知識圖譜的實(shí)體類型