王偉桃
【摘? 要】 隨著時(shí)代的發(fā)展,傳統(tǒng)搜索引擎已無法滿足用戶的需求,為適應(yīng)新時(shí)代的潮流,相關(guān)技術(shù)人員需要不斷進(jìn)行創(chuàng)新,從用戶體驗(yàn)出發(fā),對(duì)技術(shù)以及應(yīng)用方面進(jìn)行優(yōu)化,從而實(shí)現(xiàn)企業(yè)級(jí)搜索引擎中結(jié)果聚類和查詢補(bǔ)全技術(shù),該技術(shù)可以在很大程度上提升系統(tǒng)應(yīng)用的有效性,且具有更高可靠性,同時(shí),也可以滿足智能時(shí)代的需求。
【關(guān)鍵詞】 企業(yè)級(jí)搜索引擎;搜索結(jié)果聚類;查詢補(bǔ)全技術(shù)
一、企業(yè)級(jí)搜索引擎系統(tǒng)總體結(jié)構(gòu)
企業(yè)級(jí)搜索引擎與傳統(tǒng)搜索引擎之間存在一定的差異性,在實(shí)際應(yīng)用的過程中,傳統(tǒng)搜索引擎更重視搜索的廣度,而企業(yè)級(jí)搜索引擎更重視搜索的精確性(如圖1所示),兩者分別為不同領(lǐng)域提供了強(qiáng)有力的支持。
企業(yè)級(jí)搜索引擎的六大模塊如下:
1. 管理模塊:其主要是對(duì)整體系統(tǒng)進(jìn)行管理,接收不同管理節(jié)點(diǎn)發(fā)出的不同命令,避免人工干預(yù),并對(duì)搜索信息等進(jìn)行記錄。
2. 采集模塊:其主要工作是收集互聯(lián)網(wǎng)網(wǎng)頁(yè)的網(wǎng)絡(luò)蜘蛛程序,具有自動(dòng)化的特點(diǎn),對(duì)網(wǎng)頁(yè)內(nèi)容進(jìn)行分析,并提取關(guān)鍵信息,計(jì)算關(guān)聯(lián)度。
3. 索引模塊:其主要是針對(duì)采集的內(nèi)容進(jìn)行集中處理,并對(duì)其進(jìn)行分類,以此為基礎(chǔ)建立索引數(shù)據(jù)庫(kù)。
4. 搜索頁(yè)面構(gòu)建模塊:用戶在輸入搜索內(nèi)容的關(guān)鍵詞之后,其會(huì)對(duì)搜索請(qǐng)求進(jìn)行相應(yīng)的分析,形成檢索命令查詢包,獲取與搜索內(nèi)容相關(guān)信息,最終構(gòu)成搜索頁(yè)面。
5. 檢索合并模塊:其主要是將用戶的搜索請(qǐng)求發(fā)送給不同的索引機(jī)器之后,合并成為單獨(dú)的結(jié)果數(shù)據(jù)包,最后發(fā)送至查詢端。
6. 數(shù)據(jù)分發(fā)控制模塊:其主要的工作內(nèi)容是將采集模塊采集的信息發(fā)送至索引模塊之中,同時(shí)其也可以根據(jù)實(shí)際情況增加多組機(jī)器,增加搜索結(jié)果。
二、企業(yè)級(jí)搜索引擎中結(jié)果聚類技術(shù)研究
(一)基本思想
通過研究人員的不斷分析,發(fā)現(xiàn)當(dāng)前由于信息數(shù)據(jù)內(nèi)容數(shù)量較多,為后續(xù)的一系列工作帶來了一定的難度,因此技術(shù)人員提出了結(jié)果聚類技術(shù),進(jìn)行結(jié)果聚類分析,對(duì)數(shù)據(jù)信息進(jìn)行分類,同時(shí)對(duì)數(shù)據(jù)信息進(jìn)行篩選,以此提升企業(yè)級(jí)搜索的精準(zhǔn)性。
(二)系統(tǒng)模型的基本設(shè)計(jì)
1. 預(yù)處理:在實(shí)際進(jìn)行結(jié)果聚類之前,需要對(duì)數(shù)據(jù)信息進(jìn)行清理,篩選關(guān)鍵信息,此過程尤為重要,在信息數(shù)據(jù)篩選的過程中,主要包括去除非字符、選取HTML標(biāo)簽、標(biāo)記標(biāo)題以及頁(yè)面語言識(shí)別等內(nèi)容。
2. 明確聚類算法:企業(yè)級(jí)搜索引擎中結(jié)果聚類技術(shù)主要以Lingo算法為主,Lingo算法在很大程度上解決了其他聚類算法存在的弊端,其在實(shí)際應(yīng)用的過程中,可以生成更為精準(zhǔn)、描述能力更強(qiáng)的聚類,并且將用戶體驗(yàn)作為核心,從根本上提升結(jié)果聚類質(zhì)量,以更好地為用戶提供所需內(nèi)容(如圖2)。
3. Lingo算法:Lingo算法整體較為復(fù)雜,較為重要的有兩個(gè)內(nèi)容(如圖3所示)。(1)在生成標(biāo)簽的過程中,首先要做的就是提取候選標(biāo)簽,應(yīng)用后綴詞組,主要是對(duì)共現(xiàn)的短語和詞組進(jìn)行獲?。唬?)潛在語義索引(LSI方法),此方法的應(yīng)用以VSM方法為基礎(chǔ),其在實(shí)際進(jìn)行工作的過程中,首先對(duì)TF-IDF權(quán)重進(jìn)行計(jì)算,權(quán)重一般表達(dá)公式為W(d,t)=TF(d,t),其中TF(d,t)表示詞t在文本d中出現(xiàn)的次數(shù),隨后進(jìn)行矩陣分解。
(三)確定系統(tǒng)結(jié)構(gòu)
聚類搜索引擎在工作的過程中,具有較強(qiáng)的自動(dòng)性,在用戶發(fā)起搜索之后,聚類搜索引擎會(huì)自主對(duì)結(jié)構(gòu)進(jìn)行搜索,并進(jìn)行相應(yīng)的組織分類,將最終結(jié)果呈現(xiàn)給用戶。聚類技術(shù)與分類和標(biāo)引之間存在較強(qiáng)的差異性,其在實(shí)際運(yùn)行的過程中,具有實(shí)時(shí)性,且不受人為干預(yù),此種方式在很大程度上能降低出現(xiàn)失誤的情況。此外,聚類搜索引擎在實(shí)際進(jìn)行工作的過程中,可以自主對(duì)搜索結(jié)果進(jìn)行分類,其中較為重要的一項(xiàng)內(nèi)容就是選取類名,以幫助用戶更加清楚此類結(jié)果的核心內(nèi)容。對(duì)類名的選取而言,需要保證其簡(jiǎn)潔性、準(zhǔn)確性、唯一性以及易于理解性(如圖4)。
(四)系統(tǒng)流程設(shè)計(jì)
在設(shè)計(jì)的過程中,技術(shù)人員將整體系統(tǒng)分為輸入模塊、過濾模塊以及輸出模塊3項(xiàng)內(nèi)容,同時(shí)需要保證各模塊之間的獨(dú)立性,這樣可以更好地利用算法對(duì)其中模塊進(jìn)行替換,進(jìn)而提升搜索結(jié)果聚類的有效性以及質(zhì)量,且處理速度更快。為保證企業(yè)級(jí)搜索引擎中結(jié)果聚類技術(shù)應(yīng)用的有效性,相關(guān)技術(shù)人員根據(jù)實(shí)際情況設(shè)計(jì)了系統(tǒng)主要運(yùn)行流程,如圖5所示。在完成聚類分析之后,可以將結(jié)果展現(xiàn)給用戶,在展現(xiàn)的過程中,為方便用戶觀看和獲取結(jié)果,會(huì)應(yīng)用分類目錄的方式,從根本上提升用戶體驗(yàn),提升應(yīng)用的整體效果,滿足企業(yè)級(jí)搜索引擎的應(yīng)用需求,這也是其在不同領(lǐng)域被大量應(yīng)用的主要原因之一。
企業(yè)級(jí)搜索引擎中結(jié)果聚類技術(shù)運(yùn)行會(huì)先獲取Web網(wǎng)頁(yè)的信息數(shù)據(jù),隨后進(jìn)入文件預(yù)處理階段,對(duì)獲取的信息進(jìn)行簡(jiǎn)單處理,接著對(duì)預(yù)處理后的數(shù)據(jù)信息進(jìn)行分詞以及降維,并將其發(fā)送至過濾模塊,過濾模塊在實(shí)際運(yùn)行的過程中,主要是應(yīng)用Lingo算法,對(duì)獲取的數(shù)據(jù)信息進(jìn)行聚類分析。
(五)系統(tǒng)閾值說明
在實(shí)際進(jìn)行設(shè)計(jì)的過程中,為保證搜索結(jié)果聚類的效果和有效性,需要閾值進(jìn)行定義,進(jìn)而對(duì)整體結(jié)果進(jìn)行控制。對(duì)系統(tǒng)閾值而言,主要分為4種,分別是短語頻率閾值(2.00~5.00)、聚類標(biāo)簽數(shù)目閾值(0.70~0.90)、聚類標(biāo)簽合并閾值(0.20~0.50)以及聚類內(nèi)容生成閾值(0.15~0.30),閾值定義的方式可以分為兩種,一種是提前由系統(tǒng)進(jìn)行設(shè)置,另外一種是方法與Lingo算法之間存在一定的相似性,讓用戶按照說明,將其作為參數(shù),自行進(jìn)行設(shè)置,此種方法具有個(gè)性化特點(diǎn),滿足不同用戶的需求,具有一定的優(yōu)勢(shì)。
三、企業(yè)級(jí)搜索引擎中查詢補(bǔ)全技術(shù)研究
(一)核心技術(shù)
Ajax技術(shù)的應(yīng)用直接改變了傳統(tǒng)Web應(yīng)用的交互模式,在實(shí)際進(jìn)行設(shè)計(jì)建設(shè)的過程中,其主要是構(gòu)建效果更好的Web應(yīng)用,完善和優(yōu)化Web應(yīng)用的動(dòng)態(tài)性能,同時(shí)也可以提升Web應(yīng)用的響應(yīng)速度,使其更加靈敏,為用戶帶來更為良好的體驗(yàn)。
Ajax技術(shù)設(shè)計(jì)內(nèi)容更多,完整性更強(qiáng),其相當(dāng)于一個(gè)綜合體,融合了多種不同的技術(shù),其中主要包括JAVA、HTML、CSS、DOM、XML以及XSTL技術(shù)等。而現(xiàn)階段隨著科學(xué)技術(shù)的不斷進(jìn)步,其也成為Web2.0的核心技術(shù)之一。
Ajax技術(shù)在實(shí)際應(yīng)用的過程中,其主要寄宿在瀏覽器的類中,即XML-HTTPRewquest。在XML-HTTPRewquest類的支持下,Ajax技術(shù)在與服務(wù)器進(jìn)行鏈接的過程中,不需要提交任何表單,簡(jiǎn)化了整體流程,且不需要對(duì)整體頁(yè)面進(jìn)行刷新,只需要刷新用戶需要的部分內(nèi)容,一般是通過動(dòng)態(tài)更新的方式進(jìn)行。對(duì)XML-HTTPRewquest而言,在對(duì)數(shù)據(jù)進(jìn)行交換時(shí),一般將XML作為載體,除此之外也可以應(yīng)用其他類型的載體,如純文本載體。在企業(yè)級(jí)搜索引擎運(yùn)行的過程中,在XML-HTTPRewquest的支持下,可以將用戶輸入的信息內(nèi)容發(fā)送至不同的服務(wù)器,同時(shí)也可以異步接收服務(wù)器處理并返回信息,最后利用JAVA技術(shù)與對(duì)網(wǎng)頁(yè)內(nèi)部分內(nèi)容進(jìn)行動(dòng)態(tài)更新。
(二)具體實(shí)現(xiàn)方法
為實(shí)現(xiàn)查詢自動(dòng)補(bǔ)全功能,Ajax技術(shù)成了核心技術(shù),在其實(shí)際運(yùn)行的過程中,需要在Web頁(yè)面上產(chǎn)生一個(gè)div區(qū)域,當(dāng)用戶利用企業(yè)級(jí)搜索引擎進(jìn)行搜索時(shí),自動(dòng)進(jìn)行補(bǔ)全。但當(dāng)索引框內(nèi)未輸入任何文本時(shí),自動(dòng)隱藏div區(qū)域,而當(dāng)用戶輸入搜索信息時(shí),JAVA運(yùn)行,其可以從服務(wù)端獲取搜索關(guān)鍵信息,并觸發(fā)div區(qū)域,自動(dòng)進(jìn)行查詢補(bǔ)全。最后,利用JAVA技術(shù),向服務(wù)端發(fā)送相應(yīng)的請(qǐng)求,而此時(shí)對(duì)Web頁(yè)面而言,會(huì)產(chǎn)生XML數(shù)據(jù)信息,并將其作為返回的關(guān)鍵數(shù)據(jù)信息,最終實(shí)現(xiàn)自動(dòng)補(bǔ)全的目的。
(三)數(shù)據(jù)來源
查詢補(bǔ)全技術(shù)在實(shí)際運(yùn)行的過程中,會(huì)將用戶輸入的關(guān)鍵詞進(jìn)行記錄,并將其作為下一次查詢補(bǔ)全的數(shù)據(jù),同時(shí)不斷對(duì)查詢補(bǔ)全數(shù)據(jù)庫(kù)進(jìn)行充實(shí)和完善。對(duì)數(shù)據(jù)而言,其主要是將用戶的日常使用習(xí)慣作為核心,對(duì)傳統(tǒng)自動(dòng)補(bǔ)全技術(shù)進(jìn)行完善和優(yōu)化,并對(duì)其進(jìn)行改進(jìn)。在完善優(yōu)化的過程中,需要對(duì)現(xiàn)有企業(yè)級(jí)搜索引擎搜索日志文件進(jìn)行整理和分析,提取搜索日志文件的關(guān)鍵內(nèi)容,并將其作為查詢自動(dòng)補(bǔ)全數(shù)據(jù)庫(kù)的基礎(chǔ)數(shù)據(jù)信息內(nèi)容。為使企業(yè)級(jí)搜索引擎實(shí)現(xiàn)查詢自動(dòng)補(bǔ)全的目的,需要大量數(shù)據(jù)的支持,才能實(shí)現(xiàn)企業(yè)級(jí)搜索引擎的應(yīng)用效果。通常情況下,為保證查詢補(bǔ)全的完整性以及整體性,需要的數(shù)據(jù)信息一般在8萬~10萬的范圍之內(nèi)。為保證數(shù)據(jù)來源的精準(zhǔn)性,需要對(duì)數(shù)值性屬性的相似度進(jìn)行計(jì)算,計(jì)算公式為Sim(vi,vj)=1-d(vi,vj)=1-dij,其中vi和vj是某個(gè)屬性V的兩個(gè)屬性值,dij典型的定義與絕對(duì)距離以及歐氏距離,在完成計(jì)算之后可以保證內(nèi)容補(bǔ)全的精準(zhǔn)性。