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

?

應(yīng)用于問答系統(tǒng)的Lucene相似度檢索算法改進(jìn)

2017-11-20 11:12:01何聚厚
關(guān)鍵詞:詞項(xiàng)文檔檢索

白 菊,何聚厚

(1.現(xiàn)代教學(xué)技術(shù)教育部重點(diǎn)實(shí)驗(yàn)室,陜西 西安 710062;2.陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院,陜西 西安 710119)

應(yīng)用于問答系統(tǒng)的Lucene相似度檢索算法改進(jìn)

白 菊1,何聚厚2

(1.現(xiàn)代教學(xué)技術(shù)教育部重點(diǎn)實(shí)驗(yàn)室,陜西 西安 710062;2.陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院,陜西 西安 710119)

Lucene在文本檢索和搜索領(lǐng)域有著廣泛的應(yīng)用,相似度評(píng)分算法是其搜索引擎的核心部分之一。而在問答系統(tǒng)中,也要用到檢索功能,相似度評(píng)分算法也是其核心部分之一。那么能否對(duì)Lucene的相似度評(píng)分算法進(jìn)行改進(jìn),使其在問答系統(tǒng)的領(lǐng)域也能得到很好的應(yīng)用。針對(duì)上述提出的問題,結(jié)合問答系統(tǒng)中問句簡(jiǎn)短、包含信息量少的特點(diǎn),引入外部詞典對(duì)查找的關(guān)鍵詞進(jìn)行擴(kuò)展,分析檢索詞項(xiàng)的語(yǔ)義相似度以及將詞項(xiàng)位置關(guān)系的特征應(yīng)用到Lucene中。在Lucene的基礎(chǔ)上,對(duì)其語(yǔ)義相似度算法進(jìn)行改進(jìn),提出了一種新的語(yǔ)義相似度評(píng)分算法。該算法考慮了詞項(xiàng)位置關(guān)系和語(yǔ)義理解,能夠更好地應(yīng)用于問答系統(tǒng)。實(shí)驗(yàn)結(jié)果表面,提出的相似度算法能有效地提高自動(dòng)問答系統(tǒng)的回答準(zhǔn)確率。

Lucene;相似度;問答系統(tǒng);語(yǔ)義

0 引 言

Lucene是用Java語(yǔ)言實(shí)現(xiàn)的開放源代碼的全文檢索引擎工具包,是Apache軟件基金會(huì)Jakarta項(xiàng)目組下的一個(gè)子項(xiàng)目。Lucene以其索引結(jié)構(gòu)優(yōu)異、開源特性、高性能、易使用等特點(diǎn),廣泛應(yīng)用于Web、文本檢索等領(lǐng)域,以及各種軟件系統(tǒng)中,如開源軟件Eclipse的搜索功能等[1]。雖然Lucene有著廣泛的應(yīng)用,但也存在不足之處。例如,Lucene內(nèi)部默認(rèn)的是基于詞頻的分析檢索函數(shù)來考察檢索文本之間的相似性[2],很少有考慮詞項(xiàng)語(yǔ)義的相似度,也沒有考慮到詞語(yǔ)位置之間的關(guān)系對(duì)搜索準(zhǔn)確的影響。而且Lucene是一個(gè)開源的檢索框架,并不是一個(gè)完整的搜索引擎,它只是一個(gè)工具包[3]。因此,如果能對(duì)Lucene的檢索函數(shù)加以改進(jìn),并結(jié)合問答領(lǐng)域的特點(diǎn),則其在問答領(lǐng)域也能有很好的應(yīng)用。

根據(jù)以上問題,將檢索詞項(xiàng)語(yǔ)義的相關(guān)應(yīng)用考慮到該檢索函數(shù)中。該函數(shù)改進(jìn)了Lucene忽略語(yǔ)義信息而只考慮基于詞頻的檢索方法所引起的檢索不精確的問題[4]。在將詞擴(kuò)展應(yīng)用到該函數(shù)中的同時(shí),也將詞項(xiàng)位置關(guān)系特征考慮到該檢索函數(shù)中。這樣不但實(shí)現(xiàn)了Lucene的相似度算法的改進(jìn),也使其能更好地適應(yīng)問答領(lǐng)域中問句短、信息量少的特點(diǎn)。

1 Lucene的相似度評(píng)分算法分析

Lucene的核心部分之一就是相似度評(píng)分算法,是用來衡量查詢串和檢索文檔相似程度的一種算法。Lucene使用一種基于向量空間模型(SVN)的TF-IDF方法來計(jì)算文檔的相似度。TF-IDF方法基于詞頻分析來考慮檢索文檔的相似度,它綜合考慮的是這個(gè)詞對(duì)不同文檔的分辨能力和不同的詞在所有文檔中的出現(xiàn)頻率[5]。

Lucene內(nèi)部的相似度評(píng)分算法如式(1)所示:

coord(q,d)×queryNorm(q)

(1)

其中,idf(t)2表示根據(jù)詞項(xiàng)t在倒排索引中出現(xiàn)的頻率;tf(tind)表示文檔d中詞項(xiàng)t出現(xiàn)的頻率;boost(t.field ind)表示詞項(xiàng)t所在的域的加權(quán)因子;lengthNorm(t.field ind)是在索引過程中計(jì)算出來并存儲(chǔ)在索引中的,表示域的標(biāo)準(zhǔn)化值,表示在某個(gè)域中詞項(xiàng)的個(gè)數(shù);coord(q,d)是一個(gè)協(xié)調(diào)因子,其取值大小由問答中包含的查詢?cè)~項(xiàng)的多少?zèng)Q定。包含的查詢?cè)~項(xiàng)越多,該值就越大;queryNorm(q)表示每個(gè)查詢?cè)~項(xiàng)的標(biāo)準(zhǔn)值,即每個(gè)查詢?cè)~項(xiàng)權(quán)重的平方和。

從式(1)可以看出Lucene內(nèi)部的相似度評(píng)分算法的特點(diǎn):

(1)一個(gè)文檔中包含該查詢?cè)~項(xiàng)的頻率越高,該文檔的得分就越高;

(2)查詢?cè)~項(xiàng)在文檔中的位置并不重要;

(3)在一個(gè)命中文檔中,如果除了該查詢?cè)~之外,其他的詞越多,該文檔得分越少[6-7]。

但在多數(shù)情況下,文檔與詞項(xiàng)的相似程度不但與詞項(xiàng)出現(xiàn)的頻率有關(guān),還與詞項(xiàng)的位置關(guān)系特征以及詞義有關(guān)。例如,不同文檔中有下面兩句話:

S:mooc發(fā)展的主要問題是市場(chǎng)環(huán)境和體制問題。

R:這種病的主要根源是生活的環(huán)境問題造成的。

對(duì)于查詢“環(huán)境問題”,在文檔R中的查找是完全匹配的,因此,R文檔的得分應(yīng)該比S文檔高,也更符合查詢者的要求。但是由于這兩句話中包含的詞項(xiàng)“問題”在文檔R中只出現(xiàn)一次,而在文檔S中出現(xiàn)兩次,所以由Lucene檢索得出的結(jié)果反而是S文檔的得分高于R文檔的得分[8-9]。

2 算法的改進(jìn)

Lucene內(nèi)部缺省實(shí)現(xiàn)的相似度檢索函數(shù)不考慮詞項(xiàng)的含義,也不考慮詞項(xiàng)出現(xiàn)的順序,而是將文本看作一個(gè)容納詞項(xiàng)的袋子。文本特征向量由文本中出現(xiàn)的詞項(xiàng)在文本中的頻率以及該詞項(xiàng)在整個(gè)文本集中出現(xiàn)的頻率表示。每一篇文本建模為由文中出現(xiàn)的n個(gè)加權(quán)詞項(xiàng)組成的向量。該方法基于以下兩點(diǎn)[10]:

(1)詞頻(Term Frequency):某個(gè)詞項(xiàng)在文本中出現(xiàn)的頻率越高,則它和該文本的相關(guān)度越高;但在很多特定的語(yǔ)言環(huán)境下,有許多特定的詞不具備這種特性,從而應(yīng)將其排除,如英文的“she”和“he”,中文的“的”和“得”。

(2)逆文本詞項(xiàng)頻率(Inverse Document Frequency):某個(gè)詞項(xiàng)在文本集合的多篇文本中出現(xiàn)的頻率越高,則該詞項(xiàng)的區(qū)分度越差。例如,在包含1 500個(gè)文本集的集合中,某個(gè)詞項(xiàng)S在300篇文章中都有出現(xiàn),而另一個(gè)詞項(xiàng)R只在30篇文章中出現(xiàn),則詞項(xiàng)R比S有更好的區(qū)分度。通過對(duì)文本集中的每一個(gè)詞項(xiàng)都進(jìn)行上述分析,然后得到每一篇文章中每一個(gè)詞項(xiàng)的TF-IDF值[11]。再利用這些TF-IDF值為每一篇文章建立一個(gè)空間向量模型,通過計(jì)算Jaccard系數(shù)或向量間的余弦相似度來表示檢索與文本之間的相似性。最終根據(jù)檢索文檔與用戶查詢之間的相似度值的高低排序,將檢索結(jié)果返回給用戶[12]。

2.1語(yǔ)義改進(jìn)

盡管上述Lucene內(nèi)部相似度評(píng)分算法在實(shí)踐應(yīng)用中效果較好,但未能捕捉到文本的語(yǔ)義信息。而在自動(dòng)應(yīng)答系統(tǒng)中,用戶提出的問句本來就比較短,能捕捉到的信息也比較少,如果不考慮語(yǔ)義信息,則給用戶返回的回答的準(zhǔn)確率可想而知[13]。例如,用戶提問有關(guān)電腦的問題,而電腦也稱計(jì)算機(jī),如果僅用Lucene中只考慮詞頻而不考慮語(yǔ)義的方法,只能搜到有“電腦”這個(gè)詞的回答,而在只有“計(jì)算機(jī)”這個(gè)詞的答案是找不到的[14]。如果考慮檢索詞項(xiàng)的語(yǔ)義信息,則能更準(zhǔn)確地獲取用戶的檢索信息[15]。

對(duì)以上提出的問題,對(duì)式(1)的相似度算法進(jìn)行改進(jìn),改進(jìn)后的相似度算法函數(shù)如下所示:

lengthNorm(t.field ind)×

coord(q,d)×queryNorm(q)

(2)

其中,Sim[tf(tind)]表示在進(jìn)行查詢之前,先對(duì)詞項(xiàng)t進(jìn)行擴(kuò)展,將與詞項(xiàng)t相似的詞項(xiàng)加到查詢?cè)~項(xiàng)中之后再進(jìn)行查詢。在對(duì)詞項(xiàng)t進(jìn)行擴(kuò)展時(shí),引入外部詞典WordNet對(duì)詞項(xiàng)進(jìn)行相似度查詢。

2.2詞項(xiàng)位置改進(jìn)

詞項(xiàng)的位置關(guān)系在問答系統(tǒng)中也占有非常重要的位置,對(duì)于本來信息量就比較少的問句,詞項(xiàng)的位置關(guān)系特征對(duì)回答準(zhǔn)確率的影響可能就至關(guān)重要。而詞項(xiàng)的位置關(guān)系特征不僅與詞項(xiàng)出現(xiàn)的頻率有關(guān),還與詞語(yǔ)位置的關(guān)系特征有關(guān)[15]。文中將詞項(xiàng)位置的關(guān)系特征分為三種:當(dāng)距離為1時(shí),這兩個(gè)詞是直接相鄰的;當(dāng)距離大于0小于1時(shí),該詞是去掉停用詞后相鄰的;當(dāng)距離等于0時(shí),這兩個(gè)詞是不相鄰的。因此,詞項(xiàng)的位置關(guān)系特征可進(jìn)一步表示為詞項(xiàng)間的距離關(guān)系。為了更好地體現(xiàn)這一關(guān)系,引入“詞項(xiàng)位置相鄰相似度”來反映查詢?cè)~項(xiàng)與檢索文檔中的詞項(xiàng)在相鄰性關(guān)系上的相似程度。

在對(duì)Lucene的評(píng)分機(jī)制函數(shù)進(jìn)行改進(jìn)前,首先對(duì)分詞處理后此項(xiàng)之間的相鄰程度進(jìn)行標(biāo)注。若兩個(gè)詞在分詞前后都是相鄰的(即中間沒有去掉的字或詞),則兩個(gè)詞之間的距離等于1;如果在分詞后中間有停用詞或字,去掉停用詞或字后是相鄰的,則兩詞之間的距離等于0.7;否則兩詞之間的距離等于0。詞項(xiàng)距離得分如下所示:

(2)設(shè)計(jì)要求及專業(yè)工程特點(diǎn)。主要介紹該人防工程設(shè)計(jì)方面的情況和相關(guān)要求,如建筑面積、層數(shù)、層高、樁基情況、高程情況、底板類型、厚度;防水等級(jí);結(jié)構(gòu)方面如混凝土、鋼筋、磚、砂漿的強(qiáng)度等級(jí)等;人防工程的防護(hù)單元等級(jí)、功能、主次出入口及防護(hù)設(shè)施情況;設(shè)計(jì)方交待的難點(diǎn)和重點(diǎn)。

(3)

根據(jù)以上分析,對(duì)Lucene相似度評(píng)分函數(shù)進(jìn)行改進(jìn),如下所示:

NewScore(d)=α×SimScore(d)+β×

OrdScore(d)

(4)

其中,SimScore(d)是加入外部字典后計(jì)算的相似度得分;OrdScore(d)是考慮了詞位置后計(jì)算的相似度得分;α+β=1,經(jīng)過實(shí)驗(yàn),當(dāng)α=0.6,β=0.4時(shí),搜索結(jié)果最為有效。

3 實(shí)驗(yàn)結(jié)果與分析

3.1引入外部詞典

(1)在數(shù)據(jù)庫(kù)里面同時(shí)有“mooc”和“慕課”兩個(gè)詞語(yǔ),但沒有引入同義詞詞典時(shí)的搜索結(jié)果如圖1所示。

從圖1可以看出,沒有加查詢擴(kuò)展之前,電腦無(wú)法識(shí)別出“慕課”和“mooc”是同一個(gè)意思,所以在查找時(shí)輸入“mooc”就不會(huì)出現(xiàn)“慕課”的相關(guān)回答。

圖1 未引入同義詞字典的搜索結(jié)果

圖2 引入外部詞典的搜索結(jié)果

從圖2可以看出,在引入外部詞典進(jìn)行查詢擴(kuò)展之后,輸入“mooc”后,和“慕課”相關(guān)的答案也會(huì)得出。這樣的查詢結(jié)果更符合用戶的需求。

3.2考慮詞位置關(guān)系

(1)沒有考慮詞位置關(guān)系前的搜索結(jié)果如圖3所示。

圖3 未考慮詞位置關(guān)系的搜索結(jié)果

(2)考慮詞位置后的搜索結(jié)果如圖4所示。

圖4 考慮詞位置關(guān)系的搜索結(jié)果

從上面的搜索結(jié)果可以看出,在沒有考慮詞位置前,“環(huán)境問題”被分成“環(huán)境”和“問題”兩個(gè)沒有任何位置關(guān)系的詞分別進(jìn)行查找,查找結(jié)果只要有“環(huán)境”或“問題”的相關(guān)答案都會(huì)出來。加上詞位置關(guān)系后,當(dāng)查找到“環(huán)境”和“問題”兩個(gè)詞語(yǔ)位置相鄰的相關(guān)答案時(shí),得分會(huì)更高,會(huì)顯示在更前面,這樣查找的準(zhǔn)確率明顯高于前面查找的準(zhǔn)確率,更符合用戶的查找要求。

3.3綜合結(jié)果比較

任選七個(gè)問句,出現(xiàn)相關(guān)的前3個(gè)答案時(shí)所包含的答案條數(shù)如表1所示。

表1 算法比較

折線圖如圖5所示。

圖5 相似度改進(jìn)前后結(jié)果對(duì)比

從圖5中可以看出,在對(duì)Lucene的相似度算法改進(jìn)后,搜索的答案明顯優(yōu)于未改進(jìn)前。

4 結(jié)束語(yǔ)

在自動(dòng)應(yīng)答系統(tǒng)領(lǐng)域,語(yǔ)義相似度計(jì)算是一個(gè)極其重要的問題。文中對(duì)Lucene內(nèi)部的相似度評(píng)分算法進(jìn)行了闡述,并在此基礎(chǔ)上對(duì)其進(jìn)行改進(jìn)。引入詞項(xiàng)位置關(guān)系特征和語(yǔ)義相似度信息來提高檢索的準(zhǔn)確率。檢索結(jié)果表明,提出的方法可行、有效。雖然該算法有了一定的改進(jìn),但依然存在不足;在該算法中,引入的外部詞典都需要提前將近義詞等組織好,比較麻煩。需要尋找更簡(jiǎn)單有效的方法,使自動(dòng)應(yīng)答系統(tǒng)能自動(dòng)識(shí)別近義詞,而無(wú)需外部引入,這將是下一階段研究要考慮的問題。

[1] 李永春,丁華福.Lucene的全文檢索的研究與應(yīng)用[J].計(jì)算機(jī)技術(shù)與發(fā)展,2010,20(2):12-15.

[2] 吳代文,楊方琦.Lucene在數(shù)據(jù)庫(kù)全文檢索中的性能研究[J].微計(jì)算機(jī)應(yīng)用,2011,32(6):53-59.

[3] 張 俊,李魯群,周 熔.基于Lucene的搜索引擎的研究與應(yīng)用[J].計(jì)算機(jī)技術(shù)與發(fā)展,2013,23(6):230-232.

[4] 楊 彬.基于Lucene.NET的局域網(wǎng)全文搜索引擎的設(shè)計(jì)與實(shí)現(xiàn)[D].四川:電子科技大學(xué),2014.

[5] Pirro G,Talia D.An approach to ontology mapping based on the Lucene search engine library[C]//18th international workshop on database and expert systems applications.[s.l.]:IEEE,2007:407-411.

[6] 余正濤,樊孝忠,宋麗哲.基于問句語(yǔ)料庫(kù)的受限領(lǐng)域自動(dòng)應(yīng)答系統(tǒng)[J].計(jì)算機(jī)工程與應(yīng)用,2003,39(36):28-30.

[7] 張 宏.基于本體的農(nóng)業(yè)自動(dòng)應(yīng)答系統(tǒng)關(guān)鍵技術(shù)研究[D].保定:河北農(nóng)業(yè)大學(xué),2007.

[8] 王澤賢.基于Lucene的書目搜索相似度評(píng)分算法改進(jìn)研究[J].圖書情報(bào)工作,2014,58(4):94-98.

[9] 丁兆貴,金 敏.基于Lucene的個(gè)性化搜索引擎研究與實(shí)現(xiàn)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2011,21(2):105-108.

[10] 袁亞靜.基于查詢擴(kuò)展的微博客服自動(dòng)應(yīng)答系統(tǒng)[D].北京:北京郵電大學(xué),2015.

[11] 索紅光,孫 鑫.針對(duì)中文檢索的Lucene改進(jìn)策略[J].計(jì)算機(jī)應(yīng)用與軟件,2009,26(6):175-177.

[12] 任樹懷.LUCENE搜索算法剖析及優(yōu)化研究[J].圖書館雜志,2014,33(12):17-23.

[13] 王 歡,孫瑞志.基于領(lǐng)域本體和Lucene的語(yǔ)義檢索系統(tǒng)研究[J].計(jì)算機(jī)應(yīng)用,2010,30(6):1655-1657.

[14] 白培發(fā),王成良,徐 玲.一種融合詞語(yǔ)位置特征的Lucene相似度評(píng)分算法[J].計(jì)算機(jī)工程與與應(yīng)用,2014,50(2):129-132.

[15] 宋 佳,諸云強(qiáng),劉潤(rùn)達(dá).一種基于Lucene改進(jìn)的全文檢索工具包[J].計(jì)算機(jī)工程與應(yīng)用,2008,44(4):172-175.

ImprovementofLuceneSimilaritySearchAlgorithmAppliedinQuestionAnsweringSystem

BAI Ju1,HE Ju-hou2

(1.Key Laboratory of Modern Teaching Technology of Ministry of Education,Shaanxi Normal University,Xi’an 710062,China;2.School of Computer Science,Shaanxi Normal University,Xi’an 710119,China)

Lucene has a wide range of applications in the field of text retrieval and search,and the similarity score algorithm is one of the key parts of its search engine.And in the question answering system,the search function is also used,and the similarity score algorithm is also one of the key parts of its search engine.It is possible to improve the similarity score algorithm of the Lucene so that it can be widely used in the field of question answering system.In view of this problem,combined with the question answering system in the characteristic of brief question and small amount of information,the external dictionary is introduced to expand the searched key words,analysis and retrieval of semantic similarity of words,application of lexical position relationship feature in Lucene.On the basis of Lucene,its semantic similarity algorithm is improved,and a new one is proposed which can be better applied in question answering system in consideration of lexical position relationship and semantic understanding.Experimental results show that the proposed algorithm can effectively improve the accuracy of the question answering system.

Lucene;similarity;question answering system;semantics

2016-11-16

2017-03-30 < class="emphasis_bold">網(wǎng)絡(luò)出版時(shí)間

時(shí)間:2017-08-01

教育部-中國(guó)移動(dòng)科研基金項(xiàng)目(MCM20150604)

白 菊(1990-),女,碩士研究生,研究方向?yàn)橹R(shí)工程與智能教學(xué)系統(tǒng);何聚厚,博士,副教授,研究方向?yàn)橹R(shí)工程與智能系統(tǒng)。

http://kns.cnki.net/kcms/detail/61.1450.TP.20170801.1551.034.html

TP301.6

A

1673-629X(2017)11-0079-04

10.3969/j.issn.1673-629X.2017.11.017

猜你喜歡
詞項(xiàng)文檔檢索
有人一聲不吭向你扔了個(gè)文檔
2019年第4-6期便捷檢索目錄
自然種類詞項(xiàng)二難、卡茨解決與二維框架
基于RI碼計(jì)算的Word復(fù)制文檔鑒別
專利檢索中“語(yǔ)義”的表現(xiàn)
專利代理(2016年1期)2016-05-17 06:14:36
Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
不讓他人隨意下載Google文檔
電腦迷(2012年4期)2012-04-29 06:12:13
英語(yǔ)詞項(xiàng)搭配范圍及可預(yù)見度
依據(jù)語(yǔ)篇中多層次信息的句法分析方法
大家(2011年9期)2011-08-15 00:45:37
國(guó)際標(biāo)準(zhǔn)檢索
沙坪坝区| 富阳市| 黑山县| 沁源县| 库车县| 光山县| 根河市| 武威市| 谷城县| 沽源县| 万盛区| 磐石市| 枣庄市| 通江县| 财经| 固镇县| 芒康县| 邢台市| 彰武县| 融水| 巴马| 渝北区| 宁乡县| 五大连池市| 宁津县| 昌乐县| 运城市| 洛扎县| 上饶市| 米泉市| 南丹县| 哈尔滨市| 冕宁县| 沙田区| 兴文县| 林西县| 彭泽县| 长沙市| 开阳县| 岳阳市| 梓潼县|