研究背景及意義
智能問(wèn)答是計(jì)算機(jī)與人類以自然語(yǔ)言的形式進(jìn)行交流的一種方式,是人工智能研究的一個(gè)分支。
知識(shí)圖譜本質(zhì)上是一種語(yǔ)義網(wǎng)絡(luò),其結(jié)點(diǎn)代表實(shí)體(entity)或者概念(concept),邊代表實(shí)體/概念之間的各種語(yǔ)義關(guān)系津坑。知識(shí)圖譜的出現(xiàn)是信息技術(shù)發(fā)展、時(shí)代發(fā)展的必然結(jié)果傲霸。語(yǔ)義的本質(zhì)是關(guān)聯(lián)疆瑰。只有基于語(yǔ)義的數(shù)據(jù)互聯(lián)才能發(fā)揮數(shù)據(jù)集成的非線性效應(yīng)眉反,才能獲取大數(shù)據(jù)的特有語(yǔ)義。
近年來(lái)穆役,基于知識(shí)圖譜的問(wèn)答系統(tǒng)則成為學(xué)術(shù)界和工業(yè)界的研究和應(yīng)用熱點(diǎn)方向寸五。相較于純文本,知識(shí)圖譜在問(wèn)答系統(tǒng)中具有以下優(yōu)勢(shì)耿币。這些優(yōu)勢(shì)都促使本文使用知識(shí)圖譜來(lái)作為問(wèn)答系統(tǒng)的知識(shí)來(lái)源梳杏。
-數(shù)據(jù)關(guān)聯(lián)度:語(yǔ)義理解智能化程度問(wèn)題語(yǔ)義理解程度是問(wèn)答系統(tǒng)的核心指標(biāo)。在知識(shí)圖譜中淹接,所有知識(shí)點(diǎn)被具有語(yǔ)義信息的邊所關(guān)聯(lián)十性。從問(wèn)句到知識(shí)圖譜的知識(shí)點(diǎn)的匹配關(guān)聯(lián)過(guò)程中,可以用到大量其關(guān)聯(lián)結(jié)點(diǎn)的關(guān)聯(lián)信息。這種關(guān)聯(lián)信息無(wú)疑更為智能化的語(yǔ)義理解提供了條件塑悼。
-數(shù)據(jù)精度:回答準(zhǔn)確率知識(shí)圖譜的知識(shí)來(lái)自專業(yè)人士標(biāo)注劲适,或者專業(yè)數(shù)據(jù)庫(kù)的格式化抓取,這保證了數(shù)據(jù)的高準(zhǔn)確率拢肆。
-數(shù)據(jù)結(jié)構(gòu)化:檢索效率知識(shí)圖譜的結(jié)構(gòu)化組織形式减响,為計(jì)算機(jī)的快速知識(shí)檢索提供了格式支持。
本系統(tǒng)實(shí)現(xiàn)目標(biāo)和內(nèi)容
本文針對(duì)實(shí)驗(yàn)室這一關(guān)系領(lǐng)域構(gòu)建知識(shí)圖譜郭怪,基于Neo4j(非關(guān)系型數(shù)據(jù)庫(kù))建立學(xué)生、老師刊橘、項(xiàng)目三個(gè)實(shí)體的關(guān)系網(wǎng)絡(luò)鄙才,使用Python AIML搭建智能問(wèn)答機(jī)器人開(kāi)發(fā)環(huán)境,將二者集成促绵,通過(guò)接入微信可視化攒庵。
最終實(shí)現(xiàn)的主要功能是:通過(guò)微信向個(gè)人(或公眾號(hào))賬號(hào)發(fā)送人物、關(guān)系查詢信息败晴,機(jī)器人能夠自動(dòng)查詢后回答浓冒。
知識(shí)圖譜設(shè)計(jì)
Neo4j 是一個(gè)無(wú)框架數(shù)據(jù)庫(kù),它將數(shù)據(jù)作為頂點(diǎn)和邊存儲(chǔ),適合知識(shí)圖譜的存儲(chǔ)結(jié)構(gòu)。它存儲(chǔ)和使用的數(shù)據(jù)自始至終都是使用原生的圖結(jié)構(gòu)數(shù)據(jù)進(jìn)行處理的尖坤,不像有些圖數(shù)據(jù)庫(kù)稳懒,只是在計(jì)算處理時(shí)使用了圖結(jié)構(gòu)數(shù)據(jù),而在存儲(chǔ)時(shí)還將數(shù)據(jù)保存在關(guān)系型數(shù)據(jù)庫(kù)中慢味。并且它性能高场梆;存儲(chǔ)讀寫速度快;穩(wěn)定性好纯路;作為較早的一批圖形數(shù)據(jù)庫(kù)之一或油,文檔和各種技術(shù)博客較多。
Neo4j 的查詢語(yǔ)言 Cypher 是一種對(duì)圖形聲明查詢的語(yǔ)言,使用圖形模式匹配作為主要的機(jī)制來(lái)處理圖形數(shù)據(jù)選擇驰唬。Neo4j 提供Python的基本操作API 接口,方便融合到整個(gè)系統(tǒng)當(dāng)中顶岸。
抽取的實(shí)體:學(xué)生腔彰、老師、項(xiàng)目
學(xué)生與老師之間存在“師生”關(guān)系辖佣;學(xué)生與項(xiàng)目存在“負(fù)責(zé)人”萍桌、“成員”等關(guān)系;老師與項(xiàng)目存在“負(fù)責(zé)人”凌简、“成員”等關(guān)系上炎。
智能問(wèn)答機(jī)器人
利用Python AIML 人工智能標(biāo)記語(yǔ)言建立機(jī)器人問(wèn)答語(yǔ)料庫(kù)。
微信接入可視化
微信團(tuán)隊(duì)給開(kāi)發(fā)者提供了一套標(biāo)準(zhǔn)的接口雏搂,為開(kāi)發(fā)者的開(kāi)發(fā)工作提供了很大的便利藕施,我們只需要學(xué)習(xí)如何通過(guò)開(kāi)放接口獲取用戶查詢的消息,以及如何發(fā)送給用戶消息這兩個(gè)部分凸郑。本系統(tǒng)正是利用微信公眾平臺(tái)開(kāi)發(fā)的這些優(yōu)勢(shì)裳食,只專注于智能問(wèn)答系統(tǒng)的實(shí)現(xiàn)過(guò)程,大大減少了網(wǎng)絡(luò)通信和交互界面設(shè)計(jì)的工作量芙沥,因此選擇它作為問(wèn)答這一互動(dòng)過(guò)程的交流渠道诲祸。
后記
由于數(shù)據(jù)可達(dá)性,選擇的是實(shí)驗(yàn)室的知識(shí)圖譜而昨,還可以擴(kuò)展到任一領(lǐng)域救氯,第一次寫作,做得不好希望大家提出意見(jiàn)歌憨,源碼見(jiàn)個(gè)人github
博客地址:https://veronica1997.github.io/