999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于SolrCloud的網(wǎng)絡(luò)百科檢索服務(wù)的實現(xiàn)

2016-01-24 12:09:46郝強高占春
軟件 2015年12期
關(guān)鍵詞:計算機軟件

郝強++高占春

摘要:網(wǎng)絡(luò)百科是一部在線百科全書,為用戶提供了資源豐富、內(nèi)容詳實的網(wǎng)絡(luò)查詢工具。網(wǎng)絡(luò)百科檢索服務(wù)是基于SolrCloud搭建的檢索平臺,服務(wù)部署在集群上,具有集中式的信息配置、自動容錯、近實時搜索和查詢時自動負載均衡的特點。本文介紹了SolrCloud平臺的搭建方案,結(jié)合數(shù)據(jù)特點設(shè)計了索引結(jié)構(gòu),增加了中文分詞器和中文詞表,提高了在創(chuàng)建索引和檢索索引過程中的中文分詞效果。在SolrCloud平臺基礎(chǔ)上,本文根據(jù)搜索引擎原理提出了搜索引擎優(yōu)化方案,進一步提升了搜索效果。通過在創(chuàng)建索引時對關(guān)鍵字段設(shè)置多顆粒度分詞模式,在檢索索引時對不同顆粒度分詞設(shè)置不同的權(quán)重,提高檢索效果;通過挖掘數(shù)據(jù)內(nèi)在的引用關(guān)系為文檔質(zhì)量評分,提高優(yōu)質(zhì)文檔在搜索結(jié)果中的排名。實驗數(shù)據(jù)表明,優(yōu)化方法對網(wǎng)絡(luò)百科檢索服務(wù)效果有很大的提升。

關(guān)鍵詞:計算機軟件;搜索引擎優(yōu)化;SolrCloud;中文分詞

中圖分類號:TP311

文獻標(biāo)識碼:A

DOI:10.3969/j.issn.1003-6970.2015.12.024

本文著錄格式:郝強,高占春.基于SolrCloud的網(wǎng)絡(luò)百科檢索服務(wù)的實現(xiàn)[J].軟件,2015,36(12):103-107

0 引言

1.網(wǎng)絡(luò)百科是一個包羅萬象的在線百科全書,涉及經(jīng)濟、政治、文化等各個方面。網(wǎng)絡(luò)百科的主體為詞條,分為中文和英文,由千萬量級的詞條構(gòu)成了龐大的知識庫,具有很強的知識性和科普價值,同時又鼓勵用戶參與創(chuàng)建和修改詞條,使網(wǎng)絡(luò)百科在豐富權(quán)威的同時,也具有趣味性和快更新的特點。

2.在海量的數(shù)據(jù)中,按照用戶的需求高效、準(zhǔn)確地檢索出詞條和同條內(nèi)容是一項極具挑戰(zhàn)的任務(wù)。搜索引擎技術(shù)可以通過對數(shù)據(jù)文檔創(chuàng)建索引,實現(xiàn)對相關(guān)查詢的高效快速檢索,為用戶返回相當(dāng)數(shù)量的排序搜索結(jié)果。并且可以根據(jù)實際的數(shù)據(jù)特點,通過多種手段對搜索引擎的進行優(yōu)化,提高搜索結(jié)果的準(zhǔn)確率。

3.在處理大規(guī)模數(shù)據(jù)時,不但需要考慮檢索的效果,也需要考慮計算機的運算能力和故障風(fēng)險。分布式搜索技術(shù)在集群上搭建服務(wù),通過負載均衡降低了機器的運算負擔(dān),通過并行計算提高了集群的運算能力,通過分布式存儲提高了整個集群的容災(zāi)能力。

4.本文使用SokCloud搭建分布式搜索引擎,為海量數(shù)據(jù)提供了高效準(zhǔn)確的檢索服務(wù),并提出了優(yōu)化搜索的方法,實驗數(shù)據(jù)表明優(yōu)化方法有效提高了搜索的準(zhǔn)確率。

l SolrCloud介紹

Solr是一個基于Lucene的全文搜索服務(wù)器。Solr與Lucene相比,提供了更為豐富的查詢語言,提供了提供了基于Http的可返回json、xml等格式的接口。Solr提供了配置接口和擴展接口,并能對查詢性能進行優(yōu)化。

SolrCloud是基于Solr和Zookeeper的分布式搜索方案,SolrCloud將服務(wù)部署在集群上,通過Zookeeper進行集群管理。SolrCloud在Solr的功能基礎(chǔ)上,具有4個新特性,包括集中式的配置信息,自動容錯,近實時搜索和查詢時自動負載均衡。SolrCloud為大數(shù)據(jù)量檢索提供了良好的解決方案。

SolrCloud集群中collection是一個邏輯意義上的完整索引。一個collection通常被分成一個或多個shard,同一個collection的所有shard具有相同的配置。一個shard有一個或多個replica作為副本,每個shard的replica中會選舉出一個leader。

2 SolrCloud部署

2.1 SolrCloud搭建

網(wǎng)絡(luò)百科檢索服務(wù)使用的是solr-5.2.1版本,solr-5.2.1需要運行在jdkl.7及以上版本。分析網(wǎng)絡(luò)百科數(shù)據(jù)量大小,以及自動容錯和負載均衡的需要,網(wǎng)絡(luò)百科檢索服務(wù)創(chuàng)建了名為baike的collection,baike分為5個shard,每個shard有3個replica。SolrCloud管理頁面展示的集群結(jié)構(gòu)見下圖。

搜索服務(wù)部署在5臺機器上,每臺機器分配4G內(nèi)存和16G存儲空間。分別在5臺機器上部署solr-5.2.1,在一臺機器的configsets目錄下創(chuàng)建屬于網(wǎng)絡(luò)百科檢索服務(wù)的配置目錄baike_configs,并在該機器上啟動SolrCloud創(chuàng)建baike實例,在其余4臺機器上啟動SolrCloud并加入該baike實例。這5臺機器組成了SolrCloud集群。

2.2 分詞器和詞表

網(wǎng)絡(luò)百科檢索服務(wù)是基于詞的倒排索引的查詢。詞是表達語義的最小單元,對于以英文為代表的的西方拼音語言來說,詞之間有明顯的分界符,英文以空格作為天然的分隔符。與西方拼音語言不同,中文繼承于古代漢語傳統(tǒng),詞之間沒有明確的分隔符。古代漢語中詞通常就是單個字,而現(xiàn)代漢語中雙字或多字居多。因此,中文搜索服務(wù)在索引創(chuàng)建和索引檢索之前,需要對文本中的句子進行分詞,然后才能做相應(yīng)的其他處理。

分詞器的分詞效果直接影響了創(chuàng)建索引的內(nèi)容以及檢索的準(zhǔn)確度。中文分詞算法可分為三大類:基于字典、詞庫匹配的分詞方法;基于詞頻度統(tǒng)計的分詞方法和基于知識理解的分詞方法。目前,成熟的中文分詞器主要有IKAnalyzer、Paoding、MMSEG、ICTCLAS等。其中,IKAnalyzer和Paoding是基于字符串匹配的分詞器,加入一些啟發(fā)式規(guī)則,比如“正向/反向最大匹配”、“長詞優(yōu)先”等策略優(yōu)化。ICTCLAS分詞理論使用的模型是層疊隱馬爾可夫模型,該分詞器除了具有中文分詞和詞性標(biāo)注功能外,還支持新詞識別。

通過對分詞器的分詞效果、執(zhí)行效率和是否符合SolrCloud接口的綜合考量,在網(wǎng)絡(luò)百科檢索服務(wù)選擇了MMSEG分詞器。MMSEG由Chih-Hao Tsai開發(fā),使用了加入3段回溯式方法的基于詞表的分詞。MMSEG提供了三種模式,simple、max-word和complex。網(wǎng)絡(luò)百科檢索服務(wù)使用了細顆粒度分詞的max-word模式和加入了四個過濾規(guī)則的粗顆粒度分詞的complex模式。并收集整理了自定義詞表。關(guān)于增加中文分詞器的schema.xml配置如下。

2.3 網(wǎng)絡(luò)百科索引

網(wǎng)絡(luò)百科的數(shù)據(jù)結(jié)構(gòu)為詞條標(biāo)題、詞條摘要、詞條正文、詞條語言和詞條圖片,在數(shù)據(jù)庫中存儲的對應(yīng)字段為title、digest、content、1anguage、picture。結(jié)合網(wǎng)絡(luò)百科的數(shù)據(jù)結(jié)構(gòu),設(shè)計的索引數(shù)據(jù)結(jié)構(gòu)見下表。

表l中,field列是索引中的字段名,fieldType列是索引中該字段的處理類型,indexed為布爾值,代表該字段數(shù)據(jù)是否被用來建立索引,stored為布爾值,代表該字段數(shù)據(jù)是否存儲。其中title對應(yīng)詞條標(biāo)題,language對應(yīng)詞條語言,digest對應(yīng)詞條摘要。

與詞條的字段結(jié)構(gòu)相比,索引字段中增加id字段,作為SolrCloud創(chuàng)建索引的唯一標(biāo)識字段,同時需要在schema.xml中將該id字段配置成uniqueKey。

索引字段中添加title_complex和title_max字段,這兩個字段是對title字段數(shù)據(jù)的復(fù)制,目的是實現(xiàn)對title字段的多顆粒度的分詞,為此需要在schema.xml中增加配置如下。

3 SolrCloud優(yōu)化

3.1 優(yōu)化概述

檢索服務(wù)本質(zhì)上是索引創(chuàng)建和索引檢索的過程。在海量的網(wǎng)絡(luò)資源中,每一個網(wǎng)頁都是一個文檔。在創(chuàng)建索引的時候,首先將每一個文檔進行分詞得到詞,然后按詞生成倒排索引,倒排索引中存儲了文檔編號,也就是2.3節(jié)中的id字段。用戶在查詢時輸入查詢內(nèi)容。在檢索索引的時候,首先將用戶的查詢內(nèi)容進行分詞得到詞,然后按詞在倒排索引中進行檢索,最后對檢索結(jié)果處理,對檢索出的文檔進行評分,按照評分對檢索結(jié)果排名,將最終結(jié)果返回給用戶。

評分越高,說明文檔內(nèi)容與用戶查詢的相關(guān)性越高。每個文檔由詞組成,每個詞有一個權(quán)重,那么一個文檔中的所有詞可以組成一個向量,表達式如下。

將每一個詞作為N維空間中的一維,將網(wǎng)絡(luò)百科檢索服務(wù)中的文檔中詞組成的詞向量與用戶輸入查詢內(nèi)容中的詞組成的詞向量放在N維空間中,比較不同文檔的詞向量與查詢的詞向量的夾角。

文檔與查詢的相關(guān)性大小可以使用文檔的詞向量與查詢的詞向量之間的夾角大小表示。文檔的詞向量與查詢的詞向量之間夾角越小,文檔的相關(guān)性越大。向量夾角可以使用余弦定理計算出來,計算公式如下。

結(jié)合以上公式和分析,從以下幾點對SolrCloud搭建搜索服務(wù)進行優(yōu)化。

(1)對文檔和查詢語句進行準(zhǔn)確地分詞;

(2)對關(guān)鍵字段使用多顆粒度分詞模式;

(3)對文檔內(nèi)容進行評分,提高優(yōu)質(zhì)文檔在搜索結(jié)果中的排名。

其中,(l)已經(jīng)在2.2節(jié)介紹。

3.2 多顆粒度查詢

多顆粒度是指對語句分詞時切分的詞的粒度的大小。顆粒度大,平均詞的字?jǐn)?shù)較多,語句分詞后詞的數(shù)量較少;相反,顆粒度小,平均詞的字?jǐn)?shù)較少,語句分詞后詞的數(shù)量較多。在漢語中,詞是表達意思最基本的單位,但是不同的人對于詞的顆粒度理解是不同的。例如,某個語句中出現(xiàn)了“聯(lián)想公司”,有些人會將“聯(lián)想公司”看作一個整體,這是粗顆粒度分詞;有些人會認為“聯(lián)想”是修飾“公司”的定語,那么分詞為“聯(lián)想”和“公司”兩個詞,這是細顆粒度分詞。

通常,粗顆粒度的詞會攜帶更多的信息,在消除不確定性上發(fā)揮更大的作用。粗顆粒度的詞在語義上更加明確。雖然粗顆粒度的詞有諸多好處,但是在檢索服務(wù)的實現(xiàn)中,并不能只使用這一種分詞方法。比如在創(chuàng)建索引時將“清華大學(xué)”看作一個整體,那么用戶在搜索“清華”時就無法找到“清華大學(xué)”的文檔。

在網(wǎng)絡(luò)百科檢索服務(wù)的設(shè)計中對關(guān)鍵字段title進行了多顆粒度的分詞,通過字段的復(fù)制方法將title復(fù)制成title_complex和title max,并分別使用了完全匹配模式分詞、MMSeg的complex模式的粗顆度分詞和MMSeg的max模式的細顆粒度分詞。同時,對于不同分詞模式的結(jié)果,在評分階段給以不同的權(quán)重。因為不同顆粒度的詞所表達的信息量不同,通常粗顆粒度的詞會攜帶更多的信息,所以完全匹配模式的分詞給以最高的權(quán)重,complex模式的分詞次之,max模式的分詞給以最小的權(quán)重。分詞的顆粒度對查詢結(jié)果排名影響的計算公式如下

公式(4)中,coord(query,doc)表示一個文檔中包含查詢詞的數(shù)量,表示了該文檔與查詢語句的相關(guān)性。文檔中包含查詢詞的數(shù)量越多,coord(query,doc)的分?jǐn)?shù)越高,導(dǎo)致搜索結(jié)果的評分score(query,doc)越高。term.getBoost()表示了查詢內(nèi)容中每種顆粒度的分詞對查詢結(jié)果的影響。根據(jù)上面介紹的設(shè)置不同分詞模式的權(quán)重,不同分詞顆粒度對評分的影響大小也是不同的。顆粒度越大,term.getBoost()的分?jǐn)?shù)越高,導(dǎo)致搜索結(jié)果的評分score(query,doc)越高。所以完全匹配模式的評分對最終評分的影響最大,粗顆粒度分詞模式對最終評分的影響次之,細顆粒度分詞模式對最終評分的影響最小。

3.3 文檔評分

搜索結(jié)果的好壞即取決于查詢與網(wǎng)頁的相關(guān)性,也取決于網(wǎng)頁的質(zhì)量。在網(wǎng)絡(luò)百科檢索服務(wù)的設(shè)計中,通過文檔之間的相互引用關(guān)系來評價詞條內(nèi)容的質(zhì)量。網(wǎng)絡(luò)百科中的詞條都經(jīng)過專業(yè)編輯,詞條的內(nèi)容是可靠的,所以一個詞條被越多的文檔引用,那么它的內(nèi)容就越重要,所獲得的評分就會越高。該詞條的評分會影響到搜索結(jié)果的評分,最終影響詞條在搜索結(jié)果中的排名。

網(wǎng)絡(luò)百科檢索服務(wù)是通過solr4j編寫程序創(chuàng)建索引的。首先,使用分布式并行運算統(tǒng)計出詞條的被引用情況并加以處理;然后創(chuàng)建索引時,為每個詞條的SolrInputDocument對象,通過setDocument Boost()方法將處理后的文檔質(zhì)量評分存入索引。

文檔評分會影響搜索結(jié)果中文檔的排名,搜索結(jié)果評分的計算公式如下。

公式(5)中doc.getBoost()表示文檔評分。文檔評分越高,在搜索結(jié)果的評分也會越高。

3.4 實驗結(jié)果

在搭建了SolrCloud平臺基礎(chǔ)上,從三個方面對網(wǎng)絡(luò)百科檢索服務(wù)進行優(yōu)化,以提高搜索效果。增加分詞器和詞表,提高對文檔和查詢內(nèi)容的分詞效果;設(shè)置分詞的多種模式,并在檢索時對不同分詞顆粒度設(shè)置不同的權(quán)重;對文檔質(zhì)量進行打分,提高優(yōu)質(zhì)文檔在搜索結(jié)果中的排名。通過實驗,上述三種方法有效提高了網(wǎng)絡(luò)百科檢索服務(wù)的搜索效果。實驗結(jié)果見下圖。

在實驗中,通過比較不同優(yōu)化方法對搜索準(zhǔn)確率的影響來評估對搜索效果的影響。在無優(yōu)化的搜索實驗中,搜索的準(zhǔn)確率為56.2%。在分詞優(yōu)化的實驗中,對SolrCloud增加了中文分詞器和多種顆粒度分詞,搜索的準(zhǔn)確率為80.6%,比無優(yōu)化的搜索準(zhǔn)確率提高了43.4%。在分詞+評分優(yōu)化的實驗中,不但增加了中文分詞器和多種顆粒度分詞,還對文檔質(zhì)量進行評分,評分結(jié)果影響查詢搜索的排名,該種方法實驗中搜索的準(zhǔn)確率為85.3%,比無優(yōu)化的搜索準(zhǔn)確率提高了51.8%。實驗數(shù)據(jù)表明,對SolrCloud的優(yōu)化方法對搜索效果有較大提升,最終的搜索結(jié)果準(zhǔn)確率更高。

4 結(jié)論

網(wǎng)絡(luò)百科檢索服務(wù)使用SolrCloud搭建檢索海量網(wǎng)絡(luò)百科數(shù)據(jù)的平臺,為用戶提供了高效優(yōu)質(zhì)的查詢功能。結(jié)合網(wǎng)絡(luò)百科的數(shù)據(jù)字段設(shè)計了索引的結(jié)構(gòu),分析了搜索引擎原理并提出了優(yōu)化檢索服務(wù)的方法,為SolrCloud增加了中文分詞器和詞表,結(jié)合實際數(shù)據(jù)設(shè)置了多種顆粒度分詞模式,挖掘數(shù)據(jù)內(nèi)在引用關(guān)系為文檔質(zhì)量評分。優(yōu)化方法有效提高了SolrCloud的搜索效果。

猜你喜歡
計算機軟件
芻議計算機軟件中的安全漏洞檢測技術(shù)
消費電子(2021年7期)2021-08-10 06:03:55
計算機軟件技術(shù)的不可靠性探析
基于C語言的計算機軟件編程
電子制作(2018年16期)2018-09-26 03:27:08
淺談不同編程語言對計算機軟件開發(fā)的影響
電子制作(2018年1期)2018-04-04 01:48:36
計算機軟件數(shù)據(jù)庫設(shè)計應(yīng)用探析
電子制作(2017年14期)2017-12-18 07:08:03
計算機軟件安全檢測技術(shù)研究
電子制作(2017年10期)2017-04-18 07:22:58
淺談基于C語言的計算機軟件程序設(shè)計
電子制作(2017年24期)2017-02-02 07:14:40
淺析計算機軟件數(shù)據(jù)接口的應(yīng)用分析
神州修車救援APP取得計算機軟件著作權(quán)
計算機軟件開發(fā)中的分層技術(shù)分析
河南科技(2014年19期)2014-02-27 14:15:24
主站蜘蛛池模板: 色综合a怡红院怡红院首页| 亚洲人成网站在线播放2019| 久草中文网| 亚洲高清日韩heyzo| 婷婷亚洲综合五月天在线| 亚洲精品欧美日本中文字幕| 亚洲人成网站在线播放2019| 暴力调教一区二区三区| 久久精品视频亚洲| 色呦呦手机在线精品| 欧美激情,国产精品| 亚洲,国产,日韩,综合一区| 亚洲视频三级| 亚洲愉拍一区二区精品| 欧美精品不卡| 日韩欧美中文亚洲高清在线| 国产SUV精品一区二区6| 久久久久人妻精品一区三寸蜜桃| 91www在线观看| 最新国语自产精品视频在| 青青草国产在线视频| 精品国产成人高清在线| 18禁影院亚洲专区| 精品国产中文一级毛片在线看 | 在线免费无码视频| 91偷拍一区| 福利片91| 国禁国产you女视频网站| 国产精品自在线拍国产电影| 福利小视频在线播放| 日韩福利在线观看| 久草性视频| 97国产成人无码精品久久久| 欧美在线网| 免费一级毛片不卡在线播放| 朝桐光一区二区| 国产午夜一级毛片| 国产成人综合久久精品尤物| 亚洲无线一二三四区男男| 草草线在成年免费视频2| 国产成人在线小视频| 一本久道热中字伊人| 久热这里只有精品6| 欧美精品xx| 视频二区国产精品职场同事| 日韩二区三区无| 亚洲精品第1页| 国产 日韩 欧美 第二页| 国产精品久久自在自线观看| 色综合久久无码网| 国产日本一线在线观看免费| 97久久人人超碰国产精品| 热99精品视频| 亚洲国产成人自拍| 老汉色老汉首页a亚洲| 国产成人精品在线| 真实国产精品vr专区| 欧美国产日韩在线| 久久精品中文字幕免费| 久久免费观看视频| 免费观看国产小粉嫩喷水| 日本高清在线看免费观看| 国产性精品| 色妞www精品视频一级下载| 日本精品αv中文字幕| 91麻豆精品国产91久久久久| 欧美激情视频一区二区三区免费| 18禁影院亚洲专区| 亚洲精品无码抽插日韩| 国产精品蜜臀| 国产精品第一区在线观看| 欧美日韩成人| 亚洲天堂日韩av电影| 国产综合另类小说色区色噜噜 | 国产精品19p| 久久精品国产国语对白| lhav亚洲精品| 日韩无码视频播放| 欧美日韩国产成人高清视频| 日韩久草视频| 国产中文一区a级毛片视频| 免费一级大毛片a一观看不卡|