国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于知識(shí)圖譜的信息查詢系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)*

2020-06-18 09:08:10翟社平王志文
關(guān)鍵詞:信息檢索分詞圖譜

楊 榮 翟社平 王志文

(西安郵電大學(xué)計(jì)算機(jī)學(xué)院 西安 442000)

1 引言

隨著大數(shù)據(jù)時(shí)代的到來,人們的日常生活已于互聯(lián)網(wǎng)密不可分,人們?cè)诨ヂ?lián)網(wǎng)上自由獲取及發(fā)布信息的同時(shí),使得網(wǎng)絡(luò)上非結(jié)構(gòu)化、半結(jié)構(gòu)化數(shù)據(jù)量呈指數(shù)型增加,給用戶檢索有效信息帶來了一定的困難?;谏鲜霰尘?,領(lǐng)域內(nèi)的信息查詢系統(tǒng)逐漸走進(jìn)人們的視野。

領(lǐng)域內(nèi)的信息查詢系統(tǒng)通過關(guān)鍵詞匹配索引的方式進(jìn)行信息檢索,并將相關(guān)鏈接返回給用戶。這種檢索方法無法準(zhǔn)確理解用戶的需求,且返回的是與搜索關(guān)鍵詞相關(guān)的鏈接列表,而非用戶需要的準(zhǔn)確信息。用戶需要從鏈接的文檔中篩選查詢才能獲得所需信息,這給用戶的查詢?cè)黾恿祟~外的工作量。為了改善傳統(tǒng)查詢系統(tǒng)的弊端,張會(huì)會(huì)[1]提出基于ArcEngine的信息查詢系統(tǒng),趙琳[2]提出基于graph Info的城市公交信息查詢系統(tǒng)。但由于自然界實(shí)體間關(guān)系的復(fù)雜性,上述系統(tǒng)仍存在查詢結(jié)果不全、不準(zhǔn)的缺陷。為了滿足用戶更加快速、準(zhǔn)確、智能地獲取所需信息的需求,知識(shí)圖譜應(yīng)運(yùn)而生。

本文通過研究知識(shí)圖譜的構(gòu)建技術(shù)以及特定領(lǐng)域信息查詢系統(tǒng)搭建的相關(guān)理論及實(shí)現(xiàn)方法,利用網(wǎng)絡(luò)爬蟲、數(shù)據(jù)索引、知識(shí)抽取等關(guān)鍵技術(shù),設(shè)計(jì)并實(shí)現(xiàn)了基于知識(shí)圖譜的信息查詢系統(tǒng)[3]。該系統(tǒng)具有特定領(lǐng)域內(nèi)的實(shí)體查詢功能,即通過理解用戶需求,從實(shí)體庫中檢索出相關(guān)實(shí)體返回給用戶,用戶可更加快速、準(zhǔn)確、智能地獲取所需信息。

2 相關(guān)理論

2.1 知識(shí)圖譜及其構(gòu)建

1)知識(shí)圖譜定義

知識(shí)圖譜本質(zhì)上是語義網(wǎng)絡(luò),是一種基于圖的數(shù)據(jù)結(jié)構(gòu),由節(jié)點(diǎn)(Point)和邊(Edge)組成,如圖1所示。在知識(shí)圖譜里,每個(gè)節(jié)點(diǎn)表示現(xiàn)實(shí)世界中存在的“實(shí)體”,每條邊為實(shí)體與實(shí)體之間的“關(guān)系”[4]。知識(shí)圖譜是關(guān)系的最有效的表示方式。通俗地講,知識(shí)圖譜就是把所有不同種類的信息(Heterogeneous Information)連接在一起而得到的一個(gè)關(guān)系網(wǎng)絡(luò),它提供了從“關(guān)系”的角度去分析問題的能力[5]。

通過知識(shí)圖譜查詢系統(tǒng)將搜索結(jié)果進(jìn)行知識(shí)系統(tǒng)化,用戶搜索任何一個(gè)關(guān)鍵詞都能獲得完整的知識(shí)體系,從而使用戶不必瀏覽大量網(wǎng)頁,就可以準(zhǔn)確定位和深度獲取知識(shí)[6]。

2)知識(shí)圖譜的構(gòu)建

知識(shí)圖譜主要有自頂向下與自底向上兩種構(gòu)建方式。自頂向下指的是先為知識(shí)圖譜定義好本體與數(shù)據(jù)模式,再將實(shí)體加入到知識(shí)庫。該構(gòu)建方式需要利用一些現(xiàn)有的結(jié)構(gòu)化知識(shí)庫作為其基礎(chǔ)知識(shí)庫,其流程圖如圖2所示。自底向上指的是從一些開放鏈接數(shù)據(jù)中提取出實(shí)體,選擇其中置信度較高的實(shí)體加入到知識(shí)庫,再構(gòu)建頂層的本體模式。

圖2 自頂向下構(gòu)建知識(shí)圖譜

2.2 信息檢索

信息檢索是指將信息按一定的方式組織起來,并根據(jù)信息用戶的需要找出有關(guān)信息的過程和技術(shù)。狹義的信息檢索是指從信息集合中找出所需要的信息的過程。信息檢索經(jīng)歷了手工檢索、計(jì)算機(jī)檢索、網(wǎng)絡(luò)化檢索、智能化檢索等多個(gè)發(fā)展階段。檢索的工具也由通用的搜索引擎如Google,Yahoo發(fā)展到如今應(yīng)用領(lǐng)域高度專業(yè)化的檢索工具。

信息檢索是以信息的存儲(chǔ)為基礎(chǔ)的,要存儲(chǔ)的信息不僅包括原始文檔數(shù)據(jù),還包括圖片、視頻和音頻等。首先要將這些原始信息進(jìn)行計(jì)算機(jī)語言的轉(zhuǎn)換,并將其存儲(chǔ)在數(shù)據(jù)庫中,否則無法進(jìn)行機(jī)器識(shí)別。待用戶根據(jù)意圖輸入查詢請(qǐng)求后,檢索系統(tǒng)根據(jù)用戶的查詢請(qǐng)求在數(shù)據(jù)庫中搜索與查詢相關(guān)的信息,通過一定的匹配機(jī)制計(jì)算出信息的相似度大小,并按從大到小的順序?qū)⑿畔⑥D(zhuǎn)換輸出,信息檢索的原理如圖3所示。

圖3 信息檢索的原理

3 原型系統(tǒng)設(shè)計(jì)

3.1 系統(tǒng)邏輯結(jié)構(gòu)

系統(tǒng)的邏輯結(jié)構(gòu)可分為四層,如圖4所示,分別為網(wǎng)絡(luò)數(shù)據(jù)獲取層、數(shù)據(jù)預(yù)處理層、數(shù)據(jù)存儲(chǔ)層、查詢應(yīng)用層。具體流程如下:網(wǎng)絡(luò)數(shù)據(jù)獲取層利用爬蟲技術(shù)從圖書百科類網(wǎng)站、垂直類網(wǎng)站,比如:“豆瓣讀書”、“當(dāng)當(dāng)讀書”,獲取網(wǎng)頁文本資源。數(shù)據(jù)預(yù)處理層作為接口層,為下層模塊提供輸入數(shù)據(jù)的入口,為上層模塊提供優(yōu)質(zhì)的數(shù)據(jù)來源。利用解析器抽取出其中的非結(jié)構(gòu)化、半結(jié)構(gòu)化的數(shù)據(jù)、之后利用NLPIR對(duì)這些數(shù)據(jù)進(jìn)行分詞、詞性標(biāo)注預(yù)處理操作,從而將這些數(shù)據(jù)轉(zhuǎn)化為結(jié)構(gòu)化的數(shù)據(jù)。數(shù)據(jù)存儲(chǔ)層依照固定的格式存入CSV文件中,同時(shí)利用Cypher語言將實(shí)體及其關(guān)系文件導(dǎo)入Neo4j數(shù)據(jù)庫中,完成知識(shí)的存儲(chǔ)以及可視化展示。查詢應(yīng)用層通過搭建出信息查詢系統(tǒng),為用戶提供知識(shí)檢索,滿足用戶的信息查詢需求。

3.2 主要功能模塊

1)數(shù)據(jù)獲取模塊

由于垂直類網(wǎng)站“豆瓣讀書”實(shí)體數(shù)量較大且網(wǎng)頁布局規(guī)范,因此抽取規(guī)則的制定較為簡(jiǎn)單。首先,本文通過利用爬蟲技術(shù)獲得網(wǎng)頁文本資源,利用Jsoup API對(duì)網(wǎng)頁文本進(jìn)行解析,然后利用該API中所提供的select方法找到class=“info”的

標(biāo)簽,該方法返回的是泛型為“Emelents”的List集合,調(diào)用foreach迭代方法就可以得到
中的所有孩子標(biāo)簽,同時(shí)調(diào)用HTML方法就可以得到中的HTML字符串,該字符串就可定義為圖書實(shí)體的一個(gè)屬性,最后使用條件判斷語句獲取到每個(gè)標(biāo)簽后緊跟的Text文本,該文本就是對(duì)應(yīng)屬性的值,從而完成實(shí)體抽取工作。

2)數(shù)據(jù)預(yù)處理模塊

(1)分詞與詞性標(biāo)注

本文中所使用的分詞以及詞性標(biāo)注的方法都是通過調(diào)用NLPIR系統(tǒng)的用戶詞典功能[9]。分詞方法的基本原理是將待分詞的字符串與系統(tǒng)已存在中的詞典逐一比較,劃分詞語的關(guān)鍵在于能否可以從詞典中找到相同的字符串。具體識(shí)別流程如下:倘若詞典中的最長(zhǎng)詞條的長(zhǎng)度為x,則取出待分詞字符串中前x個(gè)字符,與詞典中的詞條進(jìn)行比較,若比較成功,返回該字符串作為一個(gè)新的詞劃分出來,若失敗,則取出前x-1個(gè)字符進(jìn)行比較,重復(fù)上述步驟。

詞性標(biāo)注方法首先對(duì)于依靠爬蟲技術(shù)爬取出的網(wǎng)頁文本進(jìn)行分詞操作,之后對(duì)分出的單詞作詞性標(biāo)注,同時(shí)對(duì)名詞進(jìn)行實(shí)體分析,從而識(shí)別到對(duì)應(yīng)的實(shí)體。

(2)相似度計(jì)算

本文中的相似度計(jì)算方法:基于余弦定理的相似度計(jì)算,即利用兩個(gè)向量夾角余弦值來表示兩個(gè)字符或字符串的差異[7]。若文本向量分別為x1x2x3x4…x1000,y1y2y3y4…y1000,則可以得出余弦公式如式(1)。

(3)文本分類

文本分類采用KNN鄰近算法(K-Nearest Neighbors)[8],其給定待分類文本之后,根據(jù)選擇出的特征詞計(jì)算出與該文本比較相似的K篇文本,然后根據(jù)與其相似的文本類別確定出所屬的類別。算法代碼如下所示。

KNN算法偽代碼

#輸入:A[n]為N個(gè)訓(xùn)練樣本在空間中的坐標(biāo),k為近鄰數(shù)

#輸出:x所屬的類別

1.取A[1]~A[k]作為x的初始近鄰,計(jì)算與測(cè)試樣本x間的歐式距離d(x,A[i]);

2.按d(x,A[i])升序排序;

3.取最遠(yuǎn)樣本距離D=max{d(x,a[j])|j=1,2,…,k};

4.for(i=k+1;i<=n;i++)#繼續(xù)計(jì)算剩下的n-k個(gè)數(shù)據(jù)的歐氏距離

計(jì)算a[i]與x間的距離d(x,A[i]);

5.if(d(x,A[i]))

then用A[i]代替最遠(yuǎn)樣本#將后面計(jì)算的數(shù)據(jù)直接進(jìn)行插入即可;

6.最后的K個(gè)數(shù)據(jù)是有大小順序的,再進(jìn)行K個(gè)樣本的統(tǒng)計(jì)即可;

7.計(jì)算前k個(gè)樣本A[i],i=1,2,…,k所屬類別的概率;

8.具有最大概率的類別即為樣本x的類;

3)知識(shí)存儲(chǔ)模塊

本文中使用的存儲(chǔ)工具為Neo4j圖數(shù)據(jù)庫,該數(shù)據(jù)庫底層會(huì)將用戶定義的節(jié)點(diǎn)及其關(guān)聯(lián)關(guān)系以圖的形式存放,因此可以實(shí)現(xiàn)高效率的查找操作[10]。通過圖中任意節(jié)點(diǎn)可以找到與該節(jié)點(diǎn)有關(guān)聯(lián)關(guān)系的節(jié)點(diǎn),如圖5顯示出該種數(shù)據(jù)庫最為重要的功能便是存儲(chǔ)實(shí)體節(jié)點(diǎn)和關(guān)系。

4)圖譜構(gòu)建模塊

知識(shí)圖譜的構(gòu)建流程包含六個(gè)模塊,分別為知識(shí)獲取、知識(shí)融合、知識(shí)存儲(chǔ)、查詢式的語義理解、知識(shí)檢索和可視化展現(xiàn)[11]。其中知識(shí)庫的構(gòu)建是知識(shí)圖譜實(shí)現(xiàn)的核心,知識(shí)庫中存儲(chǔ)的內(nèi)容需要經(jīng)過廣泛的知識(shí)獲取及充分的知識(shí)融合。當(dāng)用戶進(jìn)行查詢檢索時(shí),用戶的自然語言查詢式經(jīng)過語義分析處理后進(jìn)入檢索系統(tǒng),然后和知識(shí)庫中的內(nèi)容進(jìn)行匹配,整合后的反饋結(jié)果以可視化的形式展現(xiàn)給用戶。

4 實(shí)驗(yàn)分析

4.1 實(shí)驗(yàn)環(huán)境及數(shù)據(jù)

本系統(tǒng)搭建的硬件環(huán)境是Intel處理器、6G內(nèi)存、互聯(lián)網(wǎng);軟件環(huán)境為Windows 7操作系統(tǒng)、Eclipse開發(fā)平臺(tái);所選用的面向?qū)ο箝_發(fā)語言為Java以及漢語分詞工具為NLPIR、利用Tomcat搭建Http服務(wù)器。實(shí)驗(yàn)采用的結(jié)構(gòu)化數(shù)據(jù)集如表2所示。

表2 實(shí)驗(yàn)數(shù)據(jù)

4.2 實(shí)驗(yàn)結(jié)果及可視化展示

本系統(tǒng)是針對(duì)圖書領(lǐng)域的JavaWeb項(xiàng)目,具體實(shí)驗(yàn)流程如下:

1)確定系統(tǒng)開發(fā)的技術(shù),包括編程語言為Java語言,數(shù)據(jù)庫為Neo4j圖數(shù)據(jù)庫,開發(fā)工具為Eclipse,Web服務(wù)器為Tomcat。

2)從垂直類網(wǎng)站“豆瓣讀書”抽取出實(shí)體,存入CSV實(shí)體文件,將實(shí)體之間的關(guān)系按照相應(yīng)的格式存入CSV實(shí)體關(guān)系文件,最后將這兩份文件導(dǎo)入數(shù)據(jù)庫,從而完成圖譜的構(gòu)建。

3)確定軟件開發(fā)架構(gòu)為MVC中的JSP+Servlet+JavaBean模式,從而提高開發(fā)效率[12],該模式的響應(yīng)流程如圖6所示。

圖6 MVC控制流程

查詢系統(tǒng)可以快速響應(yīng)用戶的查詢需求,系統(tǒng)通過研究查詢內(nèi)容背后語義信息,給用戶全面準(zhǔn)確地結(jié)果。如圖7所示當(dāng)用戶輸入“活著的作者”,查詢到的不僅是作者余華的信息,還包括余華的其他作品相關(guān)信息以及分析出的實(shí)體。當(dāng)用戶點(diǎn)擊詳細(xì)信息時(shí)便可得到相應(yīng)書的出版社、作者、簡(jiǎn)介等信息。

圖7 查詢結(jié)果

5 結(jié)語

本文以Web數(shù)據(jù)為主要數(shù)據(jù)源,使用知識(shí)圖譜相關(guān)技術(shù),構(gòu)建一個(gè)完善的領(lǐng)域知識(shí)圖譜,實(shí)現(xiàn)查詢、檢索該領(lǐng)域內(nèi)的相關(guān)知識(shí)的功能,可以快速、精準(zhǔn)地幫助用戶定位到他們感興趣的Web知識(shí)。不足之處在于知識(shí)抽取的規(guī)則較為單一,只能針對(duì)于某一類特定的網(wǎng)站,今后可以通過規(guī)則與自動(dòng)實(shí)體識(shí)別相結(jié)合的方法完成知識(shí)抽取。

猜你喜歡
信息檢索分詞圖譜
繪一張成長(zhǎng)圖譜
結(jié)巴分詞在詞云中的應(yīng)用
補(bǔ)腎強(qiáng)身片UPLC指紋圖譜
中成藥(2017年3期)2017-05-17 06:09:01
值得重視的分詞的特殊用法
醫(yī)學(xué)期刊編輯中文獻(xiàn)信息檢索的應(yīng)用
新聞傳播(2016年18期)2016-07-19 10:12:06
主動(dòng)對(duì)接你思維的知識(shí)圖譜
基于神經(jīng)網(wǎng)絡(luò)的個(gè)性化信息檢索模型研究
教學(xué)型大學(xué)《信息檢索》公選課的設(shè)計(jì)與實(shí)施
河南科技(2014年11期)2014-02-27 14:10:19
高考分詞作狀語考點(diǎn)歸納與疑難解析
公共圖書館信息檢索服務(wù)的實(shí)踐探索——以上海浦東圖書館為例
圖書館界(2013年5期)2013-03-11 18:50:29
太原市| 徐汇区| 红原县| 稻城县| 黑河市| 宕昌县| 马鞍山市| 个旧市| 大同县| 钟祥市| 嵩明县| 龙胜| 绥中县| 淅川县| 阳西县| 达孜县| 比如县| 阳山县| 荔浦县| 郑州市| 苍南县| 车险| 石渠县| 广东省| 淮南市| 青浦区| 朝阳县| 莎车县| 怀化市| 晋中市| 汝城县| 卓资县| 襄樊市| 喀喇| 固始县| 马尔康县| 杭锦后旗| 广丰县| 诸城市| 防城港市| 彭州市|