一種基于中文檢索的雙向分詞方法及裝置制造方法
【專利摘要】本發(fā)明提供一種基于中文檢索的雙向分詞方法和裝置,能夠比較準確地切分中文字串而不丟失其語義,尤其在句子長度較長時分詞結(jié)果比較準確,有利于提高查詢的準確度,可應(yīng)用于信息檢索領(lǐng)域的自動文摘和自動分類系統(tǒng)。
【專利說明】—種基于中文檢索的雙向分詞方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機網(wǎng)絡(luò)中網(wǎng)頁文字信息處理領(lǐng)域,特別涉及搜索引擎中的中文網(wǎng)頁檢索的方法和裝置。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)的不斷發(fā)展,Web頁面數(shù)量急劇大幅增加,網(wǎng)頁已經(jīng)成為人們最為巨大和廣泛的信息來源。許多有用的信息淹沒在浩如煙海的Web頁面中,面對海量信息,人們已經(jīng)不能簡單地靠人工來處理所有的信息。文本的搜索是大規(guī)模信息處理領(lǐng)域重要的應(yīng)用技術(shù)之一,也是信息處理領(lǐng)域的重要研究方向。隨著對文本的分類搜索技術(shù)研究的深入,文本的搜索技術(shù)在信息技術(shù)的應(yīng)用越來越廣泛。而分詞技術(shù)是任何一個搜索引擎的“靈魂”, 能否將檢索請求中的關(guān)鍵字通過正確的理解從句子中正確切分出來并進行匹配查找,是一個搜索引擎能否得到正確結(jié)果的關(guān)鍵過程。分詞的準確與否會直接影響到檢索結(jié)果的正確率?,F(xiàn)行常用的分詞技術(shù)有單字分詞法、二分法和最大長度匹配算法。
[0003](I)單字分詞法
單字分詞法是以單個字作為單元進行切分,把文本的每一個字切分出來,然后按照這種方式來建立索引。例如“中華人民共和國”使用單字分詞法進行分詞時,切分出來的詞為: “中”、“華”、“人”、“民”、“共”、“和”、“國”??梢姡瑔巫址衷~法實現(xiàn)比較簡單,但切分出來的詞沒有意義,喪失了文本原有的語義。
[0004](2) 二分法
二分法以兩個字作為一個單元進行切分,把文本中相鄰兩個字切分出來,然后按照這種方式建立索引。例如“中華人民共和國”使用二分法進行分詞,切分出來的詞為: “中華”、 “華人”、“人民”、“民共”、“共和”、“和國”。與單字分詞法相比,雖然二分法在處理字詞位置方面要好,但這種方法切分出很多無用詞條,從而產(chǎn)生索引冗余。
[0005](3)最大長度匹配算法
目前比較常用的分詞算法是最大匹配法(又稱MM法)。MM法是一種應(yīng)用廣泛的分詞方法,在其分詞過程中,它只使用一個分詞詞庫。MM法的基本思想如下:設(shè)詞典中最長的詞為個字,則每次均從句子開始位置起取一個長度為K的字串,依次將它與詞庫中的詞匹配,若詞庫中確有這樣一個字長為K的詞,則成功匹配,就把這個字串作為一個詞從句子切分出去。接著找到句子剩余部分的起始位置,依上法同樣取另一個字長為K的字串,重復(fù)以上方法,直到把句子切分完為止。當(dāng)詞庫中找不到一個匹配當(dāng)前字串的詞條,則應(yīng)刪掉該字串尾部一個字,另生成一個K-1字長的字串,再到詞庫中查詢。如成功匹配,把該字長為K-1的字串作為一個詞,從句子中切分出去;如匹配失敗,重復(fù)以上步驟,把該K-1字長的字串尾部再刪去一個字,生成一個K一 2的字串去詞庫中匹配,直到成功匹配。
[0006]假設(shè)一個需要進行切分的字符串:ClC2C3C4"?Cn,其中Ci (i=l,2,3,…,n)代表單個漢字字符,字典中最長的詞字長為i,以i字長進行第一次切分,如成功匹配,結(jié)果如下:
S=S1+S2, SI= {Cl…Ci},S2= {Ci+1…Cn}如匹配失敗,則以i_l字長進行再一次匹配,如匹配成功,則其結(jié)果如下:
S=S1+S2, SI= {Cl…C1-1},S2= {Ci…Cn}
以此類推,將SI切分出來后,再同樣遞歸處理S2。
[0007]最大匹配算法的特點是“長詞優(yōu)先”,與普通匹配相比,可以很好地提高檢索速率。 與正向最大長度匹配算法的取詞與步驟相同,只是從字符串的最后一個自開始向前取詞匹配,這種匹配算法叫做逆向最大長度匹配算法,即RMM。RMM匹配方式現(xiàn)階段也越來越受到人們在設(shè)計分詞方式時的青睞,因其在一些特殊檢索中的分詞可以達到更為精確的目的。
[0008]在普通最大長度匹配算法中,無論是正向還是逆向,都是在開始的局部范圍內(nèi)的最大匹配,即每個句子的前M個字符或者后M個字符進行匹配。在短句當(dāng)中,這樣的匹配方式還可以很好地解決問題,但是如果待匹配的句子長度遠遠大于最大匹配詞的長度,那么這種匹配方式的弊端就顯而易見了,只是局部的匹配不能完全囊括整個句子,使得在句子中間的詞匯沒有匹配成功,從而造成檢索中的漏詞和檢索不完全。
【發(fā)明內(nèi)容】
[0009]垂直搜索引擎是針對某一行業(yè)或組織,以構(gòu)筑某行業(yè)或組織的網(wǎng)絡(luò)信息資源庫為目標來滿足行業(yè)專業(yè)需求或者組織某項業(yè)務(wù)需求,智能地在互聯(lián)網(wǎng)上搜集符合某一專題需要的信息資源,是通用搜索引擎的細化和延伸,它對網(wǎng)頁庫中的某類專業(yè)信息進行整合,分字段抽取出用戶需要的數(shù)據(jù),處理后以某種形式返回給用戶。能夠為包括學(xué)科信息門戶、專業(yè)信息機構(gòu)、特定行業(yè)領(lǐng)域、公司信息中心、行業(yè)專家等等在內(nèi)的信息用戶,提供整套的網(wǎng)絡(luò)信息資源開發(fā)方案。由此可見,垂直搜索引擎是更有針對性的搜索引擎,它只搜索特定主題的息。
[0010]本發(fā)明針對單獨的正向或是逆向最大匹配算法存在的問題,在搜索系統(tǒng)尤其是垂直搜索系統(tǒng)中,充分利用專業(yè)類環(huán)境,在機器詞典庫中建立專業(yè)類詞庫,首先根據(jù)詞庫中的專有名詞的最大長度來確定MAX_Length的值,解決了匹配算法中盲目選擇最大長度的問題,并通過正向與逆向最大匹配算法結(jié)合的方式來構(gòu)成正反雙向匹配算法,讓正反最大匹配算法可以在匹配過程中彌補各自的不足,從很大程度上提高檢索的精確度。在這里,在提出雙向匹配算法的同時,針對正向和逆向的匹配過程中的分詞歧義和匹配不全問題,對最大長度的匹配算法提出改進,提出“窗口”匹配的思想來進一步提升分詞匹配效果。
[0011]本發(fā)明所提出的一種基于中文檢索的雙向分詞方法采用正向和逆向結(jié)合的最大長度匹配算法來分詞,其中正向分詞方法(改進的MM法)通過由中央處理器、輸入輸出設(shè)備、寄存器、機器詞典、窗口計數(shù)器、存儲器組成的裝置對中文字串S=C1C2C3Cf Cn進行分詞, 包括以下步驟:
(1)中央處理器從輸入輸出設(shè)備讀入中文字串S=C1C2C3C^Cn,放入寄存器中,如果n 的值小于等于1,則分詞匹配結(jié)束,分詞結(jié)果保存在存儲器中,直接轉(zhuǎn)到步驟(7);當(dāng)n > I 時,轉(zhuǎn)到步驟(2);
(2)中央處理器從機器詞典中查找最大長度匹配詞的值M=MAX_Length,窗口計數(shù)器的起始位置為待匹配句子的第一個字,記為j=0 ;
(3)當(dāng)n-j大于等于M且M大于等于I時,則從j的位置開始在寄存器中向后截取長度為M的子串進行匹配,若匹配不成功則轉(zhuǎn)到步驟(4),若匹配成功則轉(zhuǎn)到步驟(5);當(dāng)n-j小于M且M大于等于I時,轉(zhuǎn)到步驟(6);當(dāng)11小于I時,轉(zhuǎn)到步驟(7);
(4)j=j+l,即窗口計數(shù)器加I,轉(zhuǎn)到步驟(3);
(5)將匹配成功的分詞取出,存入存儲器,j=j+M,轉(zhuǎn)到步驟(3);
(6)M值減1,j=0,轉(zhuǎn)到步驟(3);
(7)將保存在存儲器中的分詞結(jié)果通過輸入輸出設(shè)備輸出;
一種基于中文檢索的雙向分詞方法的正向分詞的具體流程如圖1所示。
[0012]原始的RMM算法中,其匹配方式和正向匹配方式基本相同,只是在匹配行進的方向上互逆,這一點不同已經(jīng)可以在匹配過程中形成較大的結(jié)果差異。而在改進的匹配算法中,由于窗口的加入,逆向匹配方式的一個難點就是窗口起點的定位和挪動方向的控制,這也是與正向匹配方式相比較下的重要差別之一。
[0013]逆向分詞方法(改進的RMM法),通過由中央處理器、輸入輸出設(shè)備、寄存器、機器詞典、窗口計數(shù)器、存儲器組成的裝置對中文字串S=C1C2C3Cf Cn進行分詞,包括以下步驟:
(8)中央處理器從輸入輸出設(shè)備讀入中文字串S=C1C2C3CfCn,放入寄存器中,如果n 的值小于等于1,則分詞匹配結(jié)束,分詞結(jié)果保存在存儲器中,直接轉(zhuǎn)到步驟(14);當(dāng)11 > I 時,轉(zhuǎn)到步驟(9);
(9)中央處理器從機器詞典中查找最大長度匹配詞的值M=MAX_Length,窗口計數(shù)器的起始位置為待匹配句子的最后一個字,記為n-P,其中P=O ;
(10)若n-P小于0,則匹配結(jié)束,直接轉(zhuǎn)到步驟(14),當(dāng)P大于等于M且M大于等于 I時,則從n-P的位置開始向前截取長度為M的子串進行匹配,若匹配不成功則轉(zhuǎn)到步驟
(11);若匹配成功則轉(zhuǎn)到步驟(12);當(dāng)P小于M且M大于等于I時轉(zhuǎn)到步驟(13);當(dāng)M小于I時轉(zhuǎn)到步驟(14);
(11)p=p+l,轉(zhuǎn)到步驟(10);
(12)將匹配成功的分詞取出,存入存儲器,P=P+M,轉(zhuǎn)到步驟(10);
(13)M值減1,P=0,轉(zhuǎn)到步驟(10);
(14)將保存在存儲器中的分詞結(jié)果通過輸入輸出設(shè)備輸出。
[0014]一種基于中文檢索的雙向分詞方法的逆向分詞的具體流程如圖2所示。
[0015]本發(fā)明所提出的一種基于中文檢索的雙向分詞裝置,由中央處理器、輸入輸出設(shè)備、寄存器、機器詞典、窗口計數(shù)器、存儲器組成,對中文字串S=C1C2C3C4…(;進行分詞包括以下步驟:
(1)中央處理器從輸入輸出設(shè)備讀入中文字串S=C1C2C3CfCn,放入寄存器中,如果n 的值小于等于1,則分詞匹配結(jié)束,分詞結(jié)果保存在存儲器中,直接轉(zhuǎn)到步驟(7);當(dāng)n > I 時,轉(zhuǎn)到步驟(2);
(2)中央處理器從機器詞典中查找 最大長度匹配詞的值M=MAX_Length,窗口計數(shù)器的起始位置為待匹配句子的第一個字,記為j=0 ;
(3)當(dāng)n-j大于等于M且M大于等于I時,則從j的位置開始在寄存器中向后截取長度為M的子串進行匹配,若匹配不成功則轉(zhuǎn)到步驟(4),若匹配成功則轉(zhuǎn)到步驟(5);當(dāng)n-j小于M且M大于等于I時,轉(zhuǎn)到步驟(6);當(dāng)11小于I時,轉(zhuǎn)到步驟(7);
(4)j=j+l,即窗口計數(shù)器加I,轉(zhuǎn)到步驟(3);
(5)將匹配成功的分詞取出,存入存儲器,j=j+M,轉(zhuǎn)到步驟(3);(6)M值減1,j=0,轉(zhuǎn)到步驟(3);
(7)將保存在存儲器中的分詞結(jié)果通過輸入輸出設(shè)備輸出;
(8)中央處理器從輸入輸出設(shè)備讀入中文字串S=C1C2C3C^Cn,放入寄存器中,如果n 的值小于等于1,則分詞匹配結(jié)束,分詞結(jié)果保存在存儲器中,直接轉(zhuǎn)到步驟(14);當(dāng)11 > I 時,轉(zhuǎn)到步驟(9);
(9)中央處理器從機器詞典中查找最大長度匹配詞的值M=MAX_Length,窗口計數(shù)器的起始位置為待匹配句子的最后一個字,記為n-P,其中P=O ;
(10)若n-P小于0,則匹配結(jié)束,直接轉(zhuǎn)到步驟(14),當(dāng)P大于等于M且M大于等于 I時,則從n-P的位置開始向前截取長度為M的子串進行匹配,若匹配不成功則轉(zhuǎn)到步驟(11);若匹配成功則轉(zhuǎn)到步驟(12);當(dāng)P小于M且M大于等于I時轉(zhuǎn)到步驟(13);當(dāng)M小于I時轉(zhuǎn)到步驟(14);
(11)p=p+l,轉(zhuǎn)到步驟(10);
(12)將匹配成功的分詞取出,存入存儲器,P=P+M,轉(zhuǎn)到步驟(10);
(13)M值減1,P=0,轉(zhuǎn)到步驟(10);
(14)將保存在存儲器中的分詞結(jié)果通過輸入輸出設(shè)備輸出。
[0016]【專利附圖】
【附圖說明】
圖1是本發(fā)明一種基于中文檢索的雙向分詞方法的正向分詞具體流程圖;
圖2是本發(fā)明一種基于中文檢索的雙向分詞方法的逆向分詞具體流程圖;
圖3是在本發(fā)明基礎(chǔ)上構(gòu)建的Web全文檢索中間件架構(gòu)模型;
圖4是由圖3所示W(wǎng)eb全文檢索中間件構(gòu)建的文檔搜索系統(tǒng)架構(gòu)模型。
【具體實施方式】
[0017]下面以句子I “發(fā)展中國家人民”和句子2 “大學(xué)生活動點”的分詞結(jié)果為具體例子來說明中文雙向分詞方法中的改進效果。當(dāng)使用改進的MM算法進行分詞的時候,句子I 可以得出結(jié)果“發(fā)展/中國/家人/民”,而句子2可得出結(jié)果“大學(xué)生/活動/點”。當(dāng)使用改進的RMM算法時,句子I可以得出結(jié)果“發(fā)展中/國家/人民”,而句子2可以得出結(jié)果 “大學(xué)/生活/動點”。在這種情況下,顯然人腦可以清楚地辨別出,句子I用改進的RMM算法做出的分詞結(jié)果正確,句子2用改進的MM算法得出結(jié)果正確。
[0018]在這里即可以得知,當(dāng)單獨使用改進的MM算法或者改進的RMM算法進行分詞的時候,若這兩類句子同時在分詞工作中出現(xiàn),則必然會有一類不能做出正確的分詞結(jié)果。而此時若用改進的正向和逆向結(jié)合的最大長度匹配算法來分詞,則可以在對照專業(yè)詞庫的同時找出哪一種匹配方式最為合適,從而得出正確的分詞結(jié)果,即在匹配中判斷出句子I用改進的RMM算法和句子2用改進的麗算法。
[0019]在具體實施過程中,本發(fā)明還可以應(yīng)用于信息檢索領(lǐng)域,構(gòu)建出以下一種Web全文檢索中間件和一種文檔搜索系統(tǒng)。
[0020]圖3給出了Web全文檢索中間件的架構(gòu)模型。整個中間件由信息采集模塊、信息處理模塊和全文檢索模塊組成。各個模塊的簡要描述如下。
[0021]I)信息采集模塊。該模塊主要是負責(zé)對Web網(wǎng)頁進行多線程抓取并對抓取所得到的URL進行去重處理。在該模塊中,采集接口面向Web網(wǎng)站,只需給定抓取的起始URL,即可通過寬度優(yōu)先搜索策略完成整個站點所有網(wǎng)頁的抓取。
[0022]2)信息處理模塊。該模塊包含兩個主要內(nèi)容,先對采集到的網(wǎng)頁內(nèi)容進行正文提 ??;后利用上述一種基于中文檢索的雙向分詞方法對提取結(jié)果進行分詞并建立索引,其中 分詞功能通過使用上述一種基于中文檢索的雙向分詞裝置來實現(xiàn)。
[0023]3)全文檢索模塊。全文檢索模塊提供了用戶檢索功能的接口,其內(nèi)部封裝了全文 檢索、用戶檢索條件解析、對檢索結(jié)果進行排序以及若干提高用戶體驗的個性化操作功能, 如搜索關(guān)鍵詞智能提不、相關(guān)關(guān)鍵詞搜索和聞級檢索等。
[0024]圖4給出了文檔搜索系統(tǒng)的架構(gòu)模型。文檔搜索系統(tǒng)采用J2EE技術(shù)結(jié)合MVC架 構(gòu),利用Web全文檢索中間件,采用Java語言開發(fā)實現(xiàn)。
[0025]I)表示層。用于生成用戶訪問的Web頁面,包括文檔搜索引擎的搜索界面、結(jié)果的 返回頁面、高級搜索頁面,搜索引擎進行初始設(shè)置或者調(diào)整服務(wù)器功能的一些頁面,都集中 在表示層。簡單地說,表示層就是該系統(tǒng)與各種用戶的人機接口。
[0026]2)邏輯層。邏輯層位于系統(tǒng)的服務(wù)器端,包含眾多的功能模塊,是實現(xiàn)文檔搜索系 統(tǒng)和搜索服務(wù)功能的核心層次。表示層中提出的各種功能都通過邏輯層相應(yīng)的代碼模塊實 現(xiàn)。邏輯層的設(shè)計包含兩個主要的內(nèi)容:一是面向Internet的網(wǎng)頁信息自動采集功能,通 過一個專門的多線程爬蟲程序來實現(xiàn),并把采集的頁面信息存儲在下面的數(shù)據(jù)存儲層中; 另一個則是分析用戶條件,進行組合搜索,將檢索結(jié)果按照特定的緩存策略進行緩存,同時 對給予用戶展示的結(jié)果按照時問排序或者相關(guān)度排序。邏輯層的設(shè)計是實現(xiàn)系統(tǒng)健壯性、 可重用性、可擴展性和可維護性的關(guān)鍵因素。
[0027]3)數(shù)據(jù)存儲層。數(shù)據(jù)存儲層主要是負責(zé)將網(wǎng)頁爬蟲采集到的HTML頁面進行URL 去重,然后對頁面正文進行提取,將提取結(jié)果封裝成對象的形式,利用上述一種基于中文檢 索的雙向分詞方法對提取結(jié)果進行分詞并建立索引,其中分詞功能通過使用上述一種基于 中文檢索的雙向分詞裝置來實現(xiàn),在索引文件中存儲相應(yīng)的數(shù)據(jù)。
【權(quán)利要求】
1.一種基于中文檢索的雙向分詞方法,其特征是,通過由中央處理器、輸入輸出設(shè)備、 寄存器、機器詞典、窗口計數(shù)器、存儲器組成的裝置對中文字串S=C1C2C3C4…Cn進行分詞,包括以下步驟:(1)中央處理器從輸入輸出設(shè)備讀入中文字串S=C1C2C3CfCn,放入寄存器中,如果n 的值小于等于1,則分詞匹配結(jié)束,分詞結(jié)果保存在存儲器中,直接轉(zhuǎn)到步驟(7);當(dāng)n > I 時,轉(zhuǎn)到步驟(2);(2)中央處理器從機器詞典中查找最大長度匹配詞的值M=MAX_Length,窗口計數(shù)器的起始位置為待匹配句子的第一個字,記為j=0 ;(3)當(dāng)n-j大于等于M且M大于等于I時,則從j的位置開始在寄存器中向后截取長度為M的子串進行匹配,若匹配不成功則轉(zhuǎn)到步驟(4),若匹配成功則轉(zhuǎn)到步驟(5);當(dāng)n-j小于M且M大于等于I時,轉(zhuǎn)到步驟(6);當(dāng)11小于I時,轉(zhuǎn)到步驟(7);(4)j=j+l,即窗口計數(shù)器加1,轉(zhuǎn)到步驟(3);(5)將匹配成功的分詞取出,存入存儲器,j=j+M,轉(zhuǎn)到步驟(3); (6)M值減1,j=0,轉(zhuǎn)到步驟(3);(7)將保存在存儲器中的分詞結(jié)果通過輸入輸出設(shè)備輸出;(8)中央處理器從輸入輸出設(shè)備讀入中文字串S=C1C2C3C^Cn,放入寄存器中,如果n 的值小于等于1,則分詞匹配結(jié)束,分詞結(jié)果保存在存儲器中,直接轉(zhuǎn)到步驟(14);當(dāng)11 > I 時,轉(zhuǎn)到步驟(9);(9)中央處理器從機器詞典中查找最大長度匹配詞的值M=MAX_Length,窗口計數(shù)器的起始位置為待匹配句子的最后一個字,記為n-P,其中P=O ;(10)若n-P小于0,則匹配結(jié)束,直接轉(zhuǎn)到步驟(14),當(dāng)P大于等于M且M大于等于 I時,則從n-P的位置開始向前截取長度為M的子串進行匹配,若匹配不成功則轉(zhuǎn)到步驟(11);若匹配成功則轉(zhuǎn)到步驟(12);當(dāng)P小于M且M大于等于I時轉(zhuǎn)到步驟(13);當(dāng)M小于I時轉(zhuǎn)到步驟(14);(11)p=p+l,轉(zhuǎn)到步驟(10);(12)將匹配成功的分詞取出,存入存儲器,P=P+M,轉(zhuǎn)到步驟(10);(13)M值減1,P=0,轉(zhuǎn)到步驟(10);(14)將保存在存儲器中的分詞結(jié)果通過輸入輸出設(shè)備輸出。
2.一種基于中文檢索的雙向分詞裝置,其特征是,由中央處理器、輸入輸出設(shè)備、寄存器、機器詞典、窗口計數(shù)器、存儲器組成,對中文字串S=C1C2C3Cf Cn進行分詞包括以下步驟:(1)中央處理器從輸入輸出設(shè)備讀入中文字串S=C1C2C3C^Cn,放入寄存器中,如果n 的值小于等于1,則分詞匹配結(jié)束,分詞結(jié)果保存在存儲器中,直接轉(zhuǎn)到步驟(7);當(dāng)n > I 時,轉(zhuǎn)到步驟(2);(2)中央處理器從機器詞典中查找最大長度匹配詞的值M=MAX_Length,窗口計數(shù)器的起始位置為待匹配句子的第一個字,記為j=0 ;(3)當(dāng)n-j大于等于M且M大于等于I時,則從j的位置開始在寄存器中向后截取長度為M的子串進行匹配,若匹配不成功則轉(zhuǎn)到步驟(4),若匹配成功則轉(zhuǎn)到步驟(5);當(dāng)n-j小于M且M大于等于I時,轉(zhuǎn)到步驟(6);當(dāng)11小于I時,轉(zhuǎn)到步驟(7);(4)j=j+l,即窗口計數(shù)器加I,轉(zhuǎn)到步驟(3);(5)將匹配成功的分詞取出,存入存儲器,j=j+M,轉(zhuǎn)到步驟(3);(6)M值減1,j=0,轉(zhuǎn)到步驟(3);(7)將保存在存儲器中的分詞結(jié)果通過輸入輸出設(shè)備輸出;(8)中央處理器從輸入輸出設(shè)備讀入中文字串S=C1C2C3C^Cn,放入寄存器中,如果n 的值小于于1,則分詞匹配結(jié)束,分詞結(jié)果保存在存儲器中,直接轉(zhuǎn)到步驟(14);當(dāng)11 > I 時,轉(zhuǎn)到步驟(9);(9)中央處理器從機器詞典中查找最大長度匹配詞的值M=MAX_Length,窗口計數(shù)器的起始位置為待匹配句子的最后一個字,記為n-P,其中P=O ;(10)若n-P小于0,則匹配結(jié)束,直接轉(zhuǎn)到步驟(14),當(dāng)P大于等于M且M大于等于 I時,則從n-P的位置開始向前截取長度為M的子串進行匹配,若匹配不成功則轉(zhuǎn)到步驟(11);若匹配成功則轉(zhuǎn)到步驟(12);當(dāng)P小于M且M大于等于I時轉(zhuǎn)到步驟(13);當(dāng)M小于I時轉(zhuǎn)到步驟(14);(11)p=p+l,轉(zhuǎn)到步驟(10);(12)將匹配成功的分詞取出,存入存儲器,P=P+M,轉(zhuǎn)到步驟(10);(13)M值減1,P=0,轉(zhuǎn)到步驟(10);(14)將保存在存儲器中的分詞結(jié)果通過輸入輸出設(shè)備輸出。
3.—種Web全文檢索中間件,由信息采集接口、信息采集模塊、信息處理模塊、全文檢索模塊和檢索接口組成,其中,信息采集模塊對來自信息采集接口的Web網(wǎng)頁進行抓取并對抓取所得到的URL進行去重處理;信息處理模塊先對信息采集模塊采集到的網(wǎng)頁內(nèi)容進行正文提取,后對提取結(jié)果進行分詞并建立索引;全文檢索模塊內(nèi)部封裝了全文檢索、用戶檢索條件解析、對檢索結(jié)果進行排序以及提高用戶體驗的個性化操作功能,對外提供了檢索接口,其特征是,信息處理模塊中對正文提取結(jié)果進行分詞的裝置是如權(quán)利要求2所述的一種基于中文檢索的雙向分詞裝置。
4.如權(quán)利要求3所述的一種Web全文檢索中間件,其特征是,信息采集模塊對來自信息采集接口的Web網(wǎng)頁進行抓取時采用多線程抓取。
5.一種中間件的Web全文檢索方法,該中間件由信息采集接口、信息采集模塊、信息處理模塊、全文檢索模塊和檢索接口組成,全文檢索包括以下步驟:(1)信息采集模塊對來自信息采集接口的Web網(wǎng)頁進行抓取并對抓取所得到的URL進行去重處理;(2)信息處理模塊先對信息采集模塊采集到的網(wǎng)頁內(nèi)容進行正文提取,后對提取結(jié)果進行分詞并建立索引;(3)全文檢索模塊內(nèi)部封裝了全文檢索、用戶檢索條件解析、對檢索結(jié)果進行排序以及提高用戶體驗的個性化操作功能,對外提供了檢索接口 ;其特征是,在步驟(2)中,信息處理模塊中對正文提取結(jié)果進行分詞的的方法是如權(quán)利要求I所述的一種基于中文檢索的雙向分詞方法。
6.如權(quán)利要求5所述的一種Web全文檢索中間件的構(gòu)造方法,其特征是,信息采集模塊對來自信息采集接口的Web網(wǎng)頁進行抓取時采用多線程抓取。
7.一種文檔搜索系統(tǒng),其特征是,由人機接口和如權(quán)利要求3所述的一種Web全文檢索中間件組成,人機接口提供起始URL給中間件的信息采集接口,并顯示中間件通過檢索接口輸出的檢索結(jié)果。
8.一種文檔搜索的方法,通過人機接口和Web全文檢索中間件實現(xiàn)搜索,包括以下步驟:(1)人機接口提供起始URL;(2)Web全文檢索中間件進行全文檢索;(3)中間件將檢索結(jié)果輸出并顯不在人機接口;其特征是,在步驟(2)中,Web全文檢索中間件進行全文檢索的方法是如權(quán)利要求5所述的一種中間件的Web全文檢索 方法。
【文檔編號】G06F17/30GK103577391SQ201210241471
【公開日】2014年2月12日 申請日期:2012年7月28日 優(yōu)先權(quán)日:2012年7月28日
【發(fā)明者】劉迎春, 魏華峰, 方筠捷 申請人:江蘇新瑞峰信息科技有限公司