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

?

油氣行業(yè)垂直搜索引擎關(guān)鍵問(wèn)題解決方案①

2019-01-07 02:40蔡永香李博涵劉遠(yuǎn)剛
關(guān)鍵詞:詞庫(kù)爬蟲搜索引擎

王 督,蔡永香,李博涵,劉遠(yuǎn)剛

(長(zhǎng)江大學(xué) 地球科學(xué)學(xué)院,武漢 430100)

隨著互聯(lián)網(wǎng)普及率的不斷提高,網(wǎng)絡(luò)信息呈現(xiàn)出數(shù)量大、種類多、來(lái)源復(fù)雜,具有不一致性和不完整性等特點(diǎn)[1].垂直搜索引擎是為了幫助用戶從海量信息庫(kù)中快速而準(zhǔn)確地獲取所需的內(nèi)容.

目前建立垂直搜索引擎方面的研究主要包括網(wǎng)頁(yè)數(shù)據(jù)爬取、網(wǎng)頁(yè)結(jié)構(gòu)化數(shù)據(jù)抽取、網(wǎng)頁(yè)主題性判斷和分詞和索引策略等方面.國(guó)外對(duì)垂直搜索引擎的研究起步較早,經(jīng)典的Fish-search算法[2]根據(jù)potentialscore值動(dòng)態(tài)地改變抓取隊(duì)列中URL項(xiàng)的順序,實(shí)現(xiàn)相關(guān)網(wǎng)頁(yè)的快速抓取.文獻(xiàn)[3]在網(wǎng)頁(yè)采集的過(guò)程中,通過(guò)URL的MD5摘要計(jì)算,避免對(duì)相同的URL執(zhí)行多次網(wǎng)頁(yè)抓取過(guò)程.Ricardo[4]等利用分布式的查詢代理技術(shù),開發(fā)了一個(gè)高性能的查詢模塊的搜索系統(tǒng).Marin[5]通過(guò)對(duì)網(wǎng)頁(yè)中的信進(jìn)行抽取過(guò)濾后,通過(guò)構(gòu)建垂直搜索工具,幫助用戶查找某個(gè)特定領(lǐng)域的相關(guān)信息.近年來(lái),垂直搜索技術(shù)應(yīng)用相結(jié)合在國(guó)內(nèi)也獲得了較快的發(fā)展.劉全志等人[6]利用開源的Heritrix和Jsoup設(shè)計(jì)了一個(gè)網(wǎng)絡(luò)商品信息抽取系統(tǒng),實(shí)現(xiàn)了Web信息的抽取、存儲(chǔ)、檢索;張亞鳳[7]通過(guò)擴(kuò)展Hertrix框架并添加自定義詞庫(kù)實(shí)現(xiàn)了體育用品信息類的垂直搜索引擎,其添加自定義詞庫(kù)的方法,對(duì)本文擴(kuò)展完整性詞庫(kù)的研究起到了借鑒作用;吳潔明等[8]在對(duì)Hertrix拓展優(yōu)化的基礎(chǔ)上,通過(guò)倒排索引提高了搜索的效率.張敏等[9]基于Heritrix框架實(shí)現(xiàn)了通過(guò)IP地址限制爬蟲只抓取某一地區(qū)主機(jī)上的網(wǎng)頁(yè),采用拓展Heritrix爬蟲的Postprocessing chain 進(jìn)行限定性采集,有較強(qiáng)的實(shí)用性.吳偉等[10]運(yùn)用ELFHash算法對(duì)Heritrix進(jìn)行多線程的優(yōu)化,增加爬取線程數(shù),提高了網(wǎng)頁(yè)抓取的速度.上述研究總的來(lái)說(shuō),對(duì)爬蟲的抓取效率、正文的抽取精度和搜索精度方面起到一定提升作用,但也存在有待進(jìn)一步完善的問(wèn)題:(1)信息獲取階段,多數(shù)研究選取ELFHash作為Heritrix的散列函數(shù),但我們?cè)趯?shí)際應(yīng)用中發(fā)現(xiàn),ELFHash函數(shù)的散列效果并不是很好,且這些研究大多沒(méi)有實(shí)現(xiàn)增量抓取,導(dǎo)致大量URL的重復(fù)抓取,降低了抓取的效率;(2)結(jié)構(gòu)化信息處理階段,這些研究主要通過(guò)對(duì)不同網(wǎng)站手工配置不同模版的方式進(jìn)行正文抽取,沒(méi)有實(shí)現(xiàn)網(wǎng)站自動(dòng)化抽取;(3)建立索引階段,一般都是利用基礎(chǔ)詞庫(kù)進(jìn)行分詞建立索引,所提供的信息檢索服務(wù)精度有待進(jìn)一步提高;(4)大多研究只是對(duì)構(gòu)建搜索引擎的某一個(gè)或幾個(gè)過(guò)程進(jìn)行優(yōu)化,而非對(duì)其各階段進(jìn)行整體優(yōu)化、一體化的實(shí)現(xiàn)垂直搜索引擎的自動(dòng)化構(gòu)建.

針對(duì)上述問(wèn)題,本文針對(duì)搜索引擎構(gòu)建的三個(gè)階段(信息獲取階段、結(jié)構(gòu)化信息抽取階段和信息存儲(chǔ)檢索階段)進(jìn)行研究與優(yōu)化,并將各過(guò)程進(jìn)行有效連接,實(shí)現(xiàn)了垂直搜索引擎的自動(dòng)化構(gòu)建.

1 自動(dòng)化垂直搜索引擎構(gòu)建方法

自動(dòng)化垂直搜索引擎構(gòu)建流程主要包含四步,如圖1所示.

1)優(yōu)化爬蟲,優(yōu)化抓取任務(wù)隊(duì)列分配策略,采用增量爬取,提高爬取效率.

2)使用經(jīng)過(guò)優(yōu)化后的文本標(biāo)簽路徑比算法抽取網(wǎng)頁(yè)正文,標(biāo)題和時(shí)間按其分布規(guī)律進(jìn)行抽取,最后將所有抽取出的部分按字段存儲(chǔ)到數(shù)據(jù)庫(kù)中.

3)使用優(yōu)化后的C-value方法抽取油氣資源新聞中的完整性詞,建立油氣行業(yè)專業(yè)詞庫(kù);使用專業(yè)詞庫(kù)進(jìn)行分詞,創(chuàng)建索引,提高搜索的精度.

4)實(shí)時(shí)獲取最新入庫(kù)文檔、抽取領(lǐng)域詞、更新詞庫(kù)、實(shí)現(xiàn)Solr的近實(shí)時(shí)搜索功能來(lái)不斷更新索引,為用戶提供最新的搜索服務(wù).

圖1 自動(dòng)化的垂直搜索引擎構(gòu)建流程

2 關(guān)鍵問(wèn)題及解決方案

決定垂直搜索引擎自動(dòng)化效能的幾個(gè)關(guān)鍵性問(wèn)題包括:1)爬蟲是否高效;2)爬取信息能否自動(dòng)存儲(chǔ)在數(shù)據(jù)庫(kù);3)是否能建立高效的索引,為用戶提供準(zhǔn)確的信息檢索服務(wù).本文對(duì)這幾方面展開了研究如下:

2.1 Heritrix爬蟲優(yōu)化

爬取模塊使用開源爬蟲Heritrix,并對(duì)其抓取任務(wù)的URL隊(duì)列分配策略進(jìn)行優(yōu)化,采用增量爬取方式,提高爬取效率.

2.1.1 抓取任務(wù)中定制 URL 隊(duì)列分配策略

默認(rèn)情況下,Heritrix使用域名分配策略(Hostname Queue Assignment Policy)將爬取的 URL 分配到不同的隊(duì)列抓取.該策略的特點(diǎn)是:根據(jù)域名作為分組依據(jù),即同一域名下的URL將被分配進(jìn)同一個(gè)抓取隊(duì)列.這樣在抓取時(shí)會(huì)單線程抓取.所以需要將要爬取的多個(gè)URL分散至多個(gè)隊(duì)列中并行處理,以提高爬取速度.大部分解決該問(wèn)題的方法都是使用ELFHash散列函數(shù),但通過(guò)實(shí)際測(cè)試,發(fā)現(xiàn)效果并不理想[11].ELFHash函數(shù)將URL的絕對(duì)長(zhǎng)度作為輸入,并與字符的十進(jìn)制值結(jié)合起來(lái)計(jì)算hash值,這種方式對(duì)長(zhǎng)字符串和短字符串都有效,能夠比較均勻地把字符串分布在散列表中.但采用該函數(shù)沒(méi)有考慮負(fù)載均衡,當(dāng)種子URL較少時(shí),使用該函數(shù)會(huì)使得多個(gè)線程一起去抓取少量種子,造成線程阻塞,無(wú)法抽取出新的URL.實(shí)踐中發(fā)現(xiàn),使用該函數(shù),爬蟲經(jīng)常會(huì)在散列30個(gè)DNS就自動(dòng)結(jié)束.

本文采用的是Hflp散列函數(shù)[11].Hflp函數(shù)將不定長(zhǎng)的URL地址分割成位數(shù)相同的幾部分,然后取這幾部分的疊加之和(去除進(jìn)位)作為散列地址.實(shí)驗(yàn)證明,使用Hflp散列函數(shù)可以提高Heritrix的抓取效率,實(shí)現(xiàn)負(fù)載均衡.

2.1.2 增量爬蟲

增量式爬蟲是指對(duì)已下載網(wǎng)頁(yè)進(jìn)行增量式更新,只抓取新產(chǎn)生的網(wǎng)頁(yè)內(nèi)容,提高抓取速度[12].在互聯(lián)網(wǎng)信息快速增長(zhǎng)的今天,增量式網(wǎng)絡(luò)爬蟲能夠顯著的提高網(wǎng)絡(luò)信息獲取效率,這是因?yàn)樵隽渴脚老x具有以下優(yōu)點(diǎn):

(1)因只爬取新產(chǎn)生的或者己經(jīng)發(fā)生變化網(wǎng)頁(yè),對(duì)以前曾經(jīng)爬取過(guò)的網(wǎng)頁(yè)不再抓取,可有效減少爬取時(shí)數(shù)據(jù)的下載量;

(2)減小時(shí)間和空間上的耗費(fèi);

URI (Universal Resource Identifier)是通用資源標(biāo)識(shí)符的縮寫,唯一標(biāo)識(shí)一個(gè)網(wǎng)絡(luò)資源.URL (Universal Resource Locator)是統(tǒng)一資源定位符的縮寫,URL 是URI的子集,是獲取網(wǎng)絡(luò)資源的唯一標(biāo)識(shí),可以通過(guò)URL來(lái)區(qū)分不同的網(wǎng)頁(yè)資源.通常,爬蟲會(huì)將已抓取和待抓取的URL分別存放在不同爬取隊(duì)列中,并從已抓取的URL中發(fā)現(xiàn)新的URL,經(jīng)過(guò)一系列判斷、去重規(guī)則過(guò)濾后,將符合規(guī)則的URL加入待抓取URL隊(duì)列中等待抓取.

Heritrix爬蟲會(huì)自動(dòng)記錄每次爬取的URL,在爬取結(jié)果文件夾log文件中的recover.gz文件記錄了上一次已抓取的URL信息.所以可以對(duì)該文件中記錄的URL不斷過(guò)濾累加,每次爬取時(shí),將這些URL寫入到已抓取隊(duì)列,避免重復(fù)信息的二次爬取.具體改進(jìn)方法如下:

算法1.增量抓取算法1)建立 recoverAll.txt文件,記錄所有已爬取 URL.當(dāng)一次爬取完成后,首先讀取recoverAll中記錄的歷史URL信息(首次爬取為空),并使用指紋算法,將URL壓縮后存入Bloom Filter中,生成所有歷史URL信息的Bloom Filter;2)讀取Heritrix爬取結(jié)果log文件夾下的recover.gz文件,該文件記錄本次爬取結(jié)果,同樣使用指紋算法對(duì)有效的URL進(jìn)行壓縮處理;

3)使用步驟1)中建立的Bloom Filter[13]對(duì)步驟2)中讀取的URL過(guò)濾去重;4)將去重后的 URL,追加至 recoverAll文件中,并壓縮為recover.gz文件;.5)將Heritrix的配置文件order.xml中的<string name="recoverpath">屬性值更新為新生成的recover.gz文件地址,從而實(shí)現(xiàn)對(duì)網(wǎng)站長(zhǎng)時(shí)間監(jiān)測(cè)過(guò)程中的增量爬取.

2.2 結(jié)構(gòu)化信息自動(dòng)抽取方法優(yōu)化

基于改進(jìn)的文本標(biāo)簽路徑比算法抽取出新聞中的正文,同時(shí)根據(jù)新聞標(biāo)題和時(shí)間的分布規(guī)律,實(shí)現(xiàn)對(duì)標(biāo)題和時(shí)間的精確抽取.

2.2.1 正文的抽取

文本標(biāo)簽路徑比算法[14]是一種抽取新聞?wù)谋容^有效的方法,其核心是通過(guò)比較正文內(nèi)容與噪音內(nèi)容在標(biāo)簽路徑和文本內(nèi)容等特征上的一些顯著區(qū)別,抽取出網(wǎng)頁(yè)中的正文信息.

該算法在處理大多數(shù)網(wǎng)頁(yè)時(shí),都具有較好的抽取效果.但對(duì)一些短文本新聞會(huì)出現(xiàn)抽取錯(cuò)誤.例如在“中國(guó)石油新聞中心”網(wǎng)站中,許多圖片新聞只含有一張圖片以及對(duì)圖片的簡(jiǎn)短描述,這時(shí)算法會(huì)將網(wǎng)站“底部版權(quán)區(qū)”的信息抽取出來(lái)作為結(jié)果.錯(cuò)誤原因在于,短新聞的“底部版權(quán)區(qū)”中的標(biāo)簽數(shù)量和“正文”中修飾部分的標(biāo)簽數(shù)量相差不大,但 “底部版權(quán)區(qū)”中的文字甚至比正文的還多,而該算法是依據(jù)文本長(zhǎng)度和標(biāo)簽的數(shù)量來(lái)計(jì)算文本塊的分值,導(dǎo)致最終“底部版權(quán)區(qū)”的分值高于“正文”部分.

針對(duì)這類問(wèn)題,本文對(duì)該算法進(jìn)行優(yōu)化.我們對(duì)中石油新聞中心、中石化新聞網(wǎng)、中海油新聞網(wǎng)三個(gè)主要油氣信息網(wǎng)站首頁(yè)共計(jì)306條新聞的正文部分進(jìn)行統(tǒng)計(jì),發(fā)現(xiàn)三個(gè)網(wǎng)站中的新聞的正文主要可分為三類:(1)文字類新聞,這類新聞只包含文字,不包含圖片;(2)圖文交替類新聞,這類新聞以文字為主,也包含有部分圖片;(3)圖片類新聞,這類新聞以圖片為主,文字說(shuō)明很少.這三類新聞都具有以下特征:(1)正文中一般都含有標(biāo)點(diǎn)符號(hào);(2)正文中一般都不含有超鏈接;(3)<p>標(biāo)簽和<strong>標(biāo)簽一般用于修飾正文中的內(nèi)容.對(duì)我們監(jiān)測(cè)的其他油氣相關(guān)網(wǎng)站進(jìn)行檢查,發(fā)現(xiàn)這些網(wǎng)站也具有上述特征.

根據(jù)上述特征,對(duì)該算法做出如下改進(jìn):

算法2.文本標(biāo)簽路徑比算法改進(jìn)1)對(duì)第一次抽取出的新聞內(nèi)容進(jìn)行統(tǒng)計(jì).2)確定標(biāo)點(diǎn)個(gè)數(shù)是否大于某個(gè)閾值α,超鏈接中字符數(shù)量是否小于

閾值β;3)若滿足上述兩個(gè)條件,則認(rèn)為新聞?wù)某槿≌_,將第一次抽取的內(nèi)容作為最終結(jié)果.若上述條件有一個(gè)不滿足,則按照新規(guī)則進(jìn)行二次抽取.4)在二次抽取中,統(tǒng)計(jì) DOM 中<p>和<strong>標(biāo)簽的個(gè)數(shù),將其作為參數(shù)添加至特征值計(jì)算公式中,進(jìn)行二次計(jì)算.5)對(duì)結(jié)果進(jìn)行排序,抽取高于閾值的結(jié)果,并按分?jǐn)?shù)高低遍歷.判斷:① 結(jié)果中的標(biāo)點(diǎn)個(gè)數(shù)是否大于閾值;② 超鏈接中的字符數(shù)量是否小于閾值.取出滿足①②條件且分?jǐn)?shù)最高的作為最終結(jié)果.

2.2.2 標(biāo)題和時(shí)間的抽取

一般來(lái)說(shuō),新聞標(biāo)題在網(wǎng)頁(yè)中的分布位置,按優(yōu)先級(jí)排序?yàn)?(1)頁(yè)面中被<h>標(biāo)簽修飾且和<head>標(biāo)簽中<title>標(biāo)簽內(nèi)容相似部分;(2)網(wǎng)頁(yè)<head>標(biāo)簽中<title>標(biāo)簽的內(nèi)容;(3)頁(yè)面 id或 class屬性值為title的標(biāo)簽的內(nèi)容.

根據(jù)以上規(guī)律,抽取新聞標(biāo)題方法可分為兩種情況處理:

(1)頁(yè)面<head>里的<title>標(biāo)簽中有字符;

(2)頁(yè)面<head>里的<title>標(biāo)簽中沒(méi)有字符.

具體抽取算法如下:

算法3.正文標(biāo)題抽取算法1)對(duì)于情況(1),遍歷DOM到正文元素,獲取<h>標(biāo)簽修飾的字符,計(jì)算字符和<head>里的<title>標(biāo)簽中字符的相似度[15],若某個(gè)<h>標(biāo)簽中的字符和<title>中字符相似,則將其作為標(biāo)題.若頁(yè)面中所有<h>標(biāo)簽中的字符和<head>里的<title>標(biāo)簽中字符都不相似,則將<head>里的<title>標(biāo)簽中字符作為標(biāo)題;2)對(duì)于情況(2)遍歷DOM,找出id或class屬性的值為title的標(biāo)簽,將第一個(gè)找到的字符作為標(biāo)題內(nèi)容.

對(duì)時(shí)間信息的處理方法如下:由于Heritrix會(huì)以其爬取的URL地址作為路徑建立文件夾,將爬取下來(lái)的內(nèi)容存儲(chǔ)在該文件夾中.例如,http://news.cnpc.com.cn/system/2016/05/09/001591599.shtml頁(yè)面下載到本地的存儲(chǔ)路徑為:項(xiàng)目根目錄/jobs/爬取任務(wù)名稱/mirror/news.cnpc.com.cn/system/2016/09/001591599.shtml.而“項(xiàng)目根目錄/jobs/爬取任務(wù)名稱”部分路徑可由用戶自定義.根據(jù)該特點(diǎn),正文的時(shí)間抽取算法如下:

算法4.正文時(shí)間抽取算法.1)利用正則表達(dá)式將該地址下mirror文件夾后面部分內(nèi)容截取出來(lái);2)在截取的部分前面加上爬取網(wǎng)站的網(wǎng)絡(luò)協(xié)議即為爬取的URL;3)在使用正則表達(dá)式,將URL中的年月時(shí)間信息提取出來(lái),即為新聞的發(fā)布時(shí)間.

2.3 基于C-Value改進(jìn)的油氣行業(yè)詞庫(kù)建立方法

索引的建立是以詞為基礎(chǔ)的,分詞的準(zhǔn)確性是衡量一個(gè)垂直搜索引擎搜索精度的重要指標(biāo).基礎(chǔ)分詞器通常會(huì)根據(jù)基本詞典切分,往往將有完整意義的詞分開,例如:“中石油”會(huì)被分為“中”和“石油”、“國(guó)際能源產(chǎn)業(yè)”會(huì)被分為“國(guó)際”、“能源”和“產(chǎn)業(yè)”等.分割開的詞無(wú)法反映原詞本身含義,通過(guò)這樣的方式分詞建立索引,只能檢索出割裂詞的索引信息.本文通過(guò)抽取大量新聞中的具有完整意義的詞,建立完整性詞庫(kù),并利用詞庫(kù)進(jìn)行分詞、建立索引,提高搜索準(zhǔn)確度.

2.3.1 C-value 方法

C-value[16]方法是 Frantzi K(1999)提出的.該方法基于統(tǒng)計(jì)學(xué)與語(yǔ)言學(xué)規(guī)則,是一種領(lǐng)域獨(dú)立的多字詞語(yǔ)自動(dòng)抽取方法.

統(tǒng)計(jì)部分計(jì)算公式如下:

公式(1)中a表示某候選術(shù)語(yǔ),|a|指候選術(shù)語(yǔ)a的長(zhǎng)度,其值為a的字?jǐn)?shù),f(a)為a出現(xiàn)的詞頻,b表示包含a的候選術(shù)語(yǔ),f(b)表示其出現(xiàn)的頻率,Ta表示包含詞串a(chǎn)的集合.P(Ta)表示Ta的個(gè)數(shù).通過(guò)實(shí)驗(yàn)發(fā)現(xiàn),在實(shí)際應(yīng)用中使用C-value方法抽取的效果不好.原因如下:

(1)C-value的詞性過(guò)濾規(guī)則較為寬松,雖然一定程度上增加了召回率,但極大地降低了抽取精度;

(2)C-value是基于英文環(huán)境的,并不完全適用于中文領(lǐng)域詞的抽取.

2.3.2 總結(jié)行業(yè)詞典過(guò)濾規(guī)則

不同行業(yè)的詞庫(kù)可能具有不同的規(guī)律,因此需要根據(jù)涉及的領(lǐng)域,總結(jié)出該行業(yè)常用詞典的一些規(guī)律來(lái)指導(dǎo)建庫(kù).下面以油氣行業(yè)為例說(shuō)明.

搜集騰訊、搜狗等公開的詞庫(kù)、常用分詞器的詞庫(kù)以及互聯(lián)網(wǎng)上常用油氣行業(yè)詞庫(kù),對(duì)其進(jìn)行文本轉(zhuǎn)化,過(guò)濾,去重后得到油氣行業(yè)的常用詞,共30882條.對(duì)其結(jié)構(gòu)成分進(jìn)行分析發(fā)現(xiàn):

(1)油氣行業(yè)常用詞的字?jǐn)?shù)長(zhǎng)度變化范圍在1–10之間.其中,長(zhǎng)度在 2–5 間的詞最多,有 25 629 條,占總數(shù)的 83%.長(zhǎng)度為 1 的詞有 4614 條,占總數(shù)的 15%.長(zhǎng)度6–10的只有639條,占2%.這與一般來(lái)說(shuō)英語(yǔ)術(shù)語(yǔ)多由 2–3 個(gè)單詞組成,而漢語(yǔ)術(shù)語(yǔ)多由 2–6 個(gè)字組成[17]相符合.

(2)通過(guò)對(duì)30 882條詞語(yǔ)的結(jié)構(gòu)進(jìn)行統(tǒng)計(jì)分析,總結(jié)出長(zhǎng)度在2–5之間的排名前20的詞性列表如下:

2.3.3 抽取行業(yè)完整性領(lǐng)域詞建庫(kù)的方法

根據(jù)得到的詞性規(guī)則,采用以下算法抽取行業(yè)完整性領(lǐng)域詞:

算法5.行業(yè)完整詞抽取算法1)使用ICTCLAS分詞器對(duì)爬取下來(lái)的新聞進(jìn)行詞性標(biāo)注,并利用表1中20組語(yǔ)言學(xué)規(guī)則進(jìn)行過(guò)濾,匹配滿足上述20組規(guī)則的詞;2)對(duì)所有滿足規(guī)則的詞過(guò)濾噪聲,去除單字動(dòng)詞、特殊符號(hào)等,將剩下的詞作為語(yǔ)言學(xué)規(guī)則處理后的候選詞;3)使用公式(1)計(jì)算語(yǔ)言學(xué)規(guī)則候選詞的C-value;4)使用通用詞庫(kù),對(duì)計(jì)算結(jié)果中的常用詞進(jìn)行過(guò)濾并排序,將高于閾值的部分作為最終結(jié)果詞.

表1 語(yǔ)言學(xué)規(guī)則

經(jīng)過(guò)多次實(shí)驗(yàn),C-value的閾值在大于3.0抽取效果最好.

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

本文以油氣行業(yè)垂直搜索引擎的構(gòu)建為例,實(shí)現(xiàn)上述方法,并對(duì)各過(guò)程的結(jié)果進(jìn)行記錄分析.實(shí)驗(yàn)的硬件環(huán)境為:服務(wù)器 CPU 為 Intel Celeron E3300,雙核主頻為 2.5 GHz;Heritrix 采用 1.14.4 版本;爬取最大線程設(shè)置為50,最大深度設(shè)置為3,最大爬取時(shí)間為60 min,其他為Heritrix1.14.4默認(rèn)設(shè)置.

3.1 URL散列效果對(duì)比

使用Heritrix對(duì)中國(guó)石油新聞中心(http://news.cnpc.com.cn/)進(jìn)行爬取,分別采用ELFHash函數(shù)和Hflp函數(shù)進(jìn)行爬取對(duì)比.對(duì)60分鐘內(nèi)URL散列數(shù)進(jìn)行統(tǒng)計(jì),結(jié)果如圖2所示.

圖2 ELFHash 函數(shù)散列 URL 數(shù)

從圖2、3的對(duì)比中可以看出,在60分鐘內(nèi)的對(duì)各個(gè)時(shí)間點(diǎn)統(tǒng)計(jì),可見Hflp 較ELFHash 具有更好的散列效果.

3.2 增量爬取

采用Heritrix對(duì)中國(guó)石油新聞中心進(jìn)行增量抓取和普通(非增量)抓取,監(jiān)測(cè)時(shí)間為一周(網(wǎng)站周末不更新),每天抓取一次,抓取結(jié)果如圖3所示.

圖3 Hflp 函數(shù)散列 URL 數(shù)

從圖4、5對(duì)比中可以看出,在進(jìn)行普通(非增量)爬取時(shí),由于爬取時(shí)間都設(shè)置為1小時(shí),所以爬取URL 數(shù)波動(dòng)范圍不大,維持在 37 000 條左右,但這些爬取的新聞中包含了網(wǎng)站每天新發(fā)布的新聞和前面已爬取過(guò)的重復(fù)新聞.而采用增量爬取后,由于增量的作用每天只爬取新入庫(kù)的新聞.雖然爬取時(shí)間仍然設(shè)置為1小時(shí),但除了第一天爬取了1小時(shí)外,隨后幾天爬取的時(shí)間和URL都呈現(xiàn)明顯下降的趨勢(shì),最后基本趨于穩(wěn)定.進(jìn)一步表明增量抓取能有效提高爬蟲的抓取效率.

3.3 結(jié)構(gòu)化信息抽取部分

對(duì)中國(guó)石油新聞中心、中石化新聞網(wǎng)和中海油集團(tuán)新聞網(wǎng)爬取的1000個(gè)網(wǎng)頁(yè)進(jìn)行結(jié)構(gòu)化信息抽取,使用基于文本標(biāo)簽路徑比算法和優(yōu)化后的文本標(biāo)簽路徑比算法進(jìn)行抽取,并進(jìn)行效果對(duì)比.采用人工判讀的方式統(tǒng)計(jì)數(shù)據(jù)庫(kù)中新聞結(jié)構(gòu)化信息抽取正確與否,結(jié)果如表2所示.

圖4 普通抓取方式抓取的 URL數(shù) (min)

圖5 增量方式抓取 URL 數(shù) (min)

表2 文本標(biāo)簽路徑比算法優(yōu)化前后結(jié)果對(duì)比 (單位:%)

從表中可以看出,在對(duì)中國(guó)石油新聞中心、中石化新聞網(wǎng)和中海油集團(tuán)新聞網(wǎng)的抽取中,優(yōu)化后的文本標(biāo)簽路徑比正文抽取算法準(zhǔn)確率較優(yōu)化前有了明顯的提升.

3.4 完整詞抽取算法

評(píng)價(jià)抽取效果一般采用精度和召回率兩個(gè)指標(biāo)[18].本文采用精度、召回率和F-score三個(gè)指標(biāo)評(píng)價(jià)完整詞的抽取效果.精度用抽取算法抽取出的完整性詞占人工判讀標(biāo)記的完整性詞的百分比表示,而召回率用抽取算法抽取出的正確完整性詞數(shù)占人工判讀標(biāo)記正確完整性詞數(shù)的百分比表示.為綜合評(píng)價(jià)抽取效果,采用F-score評(píng)價(jià)指標(biāo),計(jì)算公式如下:

對(duì)中國(guó)石油新聞中心爬取的網(wǎng)頁(yè)清洗后,選取其中的50篇文章,通過(guò)分詞、停用詞過(guò)濾等處理后,得到8263個(gè)候選詞,通過(guò)精度、召回率和F-score對(duì)傳統(tǒng)和優(yōu)化后C-Value方法進(jìn)行評(píng)估,結(jié)果如表3所示.

表3 基于傳統(tǒng) C-value和行業(yè)詞典過(guò)濾規(guī)則改進(jìn)的CValue方法抽取結(jié)果對(duì)比(單位:%)

從結(jié)果可知,油氣行業(yè)詞典總結(jié)出的詞性規(guī)則較C-value的過(guò)濾規(guī)則更適合提取油氣行業(yè)完整性詞.

3.5 搜索結(jié)果比較

本文利用上述垂直搜索引擎自動(dòng)化構(gòu)建方法對(duì)中國(guó)石油新聞中心進(jìn)行處理,最后輸入關(guān)鍵詞進(jìn)行搜索,并將搜索結(jié)果與未使用專業(yè)詞庫(kù)只基于基礎(chǔ)詞庫(kù)分詞建立索引的搜索結(jié)果進(jìn)行對(duì)比.

圖6是未使用專業(yè)詞庫(kù)搜索的結(jié)果,當(dāng)輸入檢索詞“世界石油大會(huì)”后,檢索出的是按照基礎(chǔ)詞庫(kù)分詞建立索引獲取的結(jié)果,檢索出的主要是這個(gè)詞被分詞后的子詞相關(guān)信息,而包含有完整的“世界石油大會(huì)”詞的文檔并沒(méi)有優(yōu)先排在前面,結(jié)果不能讓用戶滿意.圖7是使用專業(yè)詞庫(kù)后搜索的結(jié)果,這里 “世界石油大會(huì)”是作為一個(gè)完整意義的詞被檢索,并沒(méi)有被分割為“世界”、“石油”、“大會(huì)”三個(gè)詞分別檢索,檢索結(jié)果能更好的滿足用戶對(duì)搜索精度的需求.

圖6 未使用專業(yè)詞庫(kù)搜索結(jié)果

4 結(jié)論

垂直搜索引擎技術(shù)研究的目的在于讓特定搜索領(lǐng)域和搜索需求的用戶有更好的用戶體驗(yàn).本文對(duì)垂直搜索引擎構(gòu)建中各個(gè)階段的關(guān)鍵問(wèn)題進(jìn)行了深入研究,提出一套自動(dòng)化構(gòu)建垂直搜索引擎的方法.與已有的方法相比,該方法能夠提高爬蟲的爬取效率,能夠進(jìn)行結(jié)構(gòu)化信息的自動(dòng)化提取,能夠抽取完整性領(lǐng)域詞建立油氣行業(yè)詞庫(kù),優(yōu)化分詞方式,提高搜索的精度.該方法已經(jīng)成功應(yīng)用于國(guó)土資源部油氣資源戰(zhàn)略研究中心的油氣資源行業(yè)信息網(wǎng),為油氣及相關(guān)從業(yè)人員提供快捷、準(zhǔn)確和有效的信息檢索服務(wù).

圖7 使用專業(yè)詞庫(kù)搜索結(jié)果

猜你喜歡
詞庫(kù)爬蟲搜索引擎
利用網(wǎng)絡(luò)爬蟲技術(shù)驗(yàn)證房地產(chǎn)灰犀牛之說(shuō)
Chrome 99 Canary恢復(fù)可移除預(yù)置搜索引擎選項(xiàng)
基于Python的網(wǎng)絡(luò)爬蟲和反爬蟲技術(shù)研究
世界表情符號(hào)日
一“吃”多用
目前互聯(lián)網(wǎng)中的網(wǎng)絡(luò)爬蟲的原理和影響
輸入法詞庫(kù)取證比較研究
輸入法詞庫(kù)乾坤大挪移
基于Lucene搜索引擎的研究
搜索引擎,不止有百度與谷歌