專利名稱:基于旅游業特征詞庫的中文分詞方法
技術領域:
本發明涉及一種中文分詞方法,尤其涉及一種基于旅游業特征詞庫的中文分詞方法。
背景技術:
伴隨信息的快速增長,人們想準確找到對自己有用的信息變得很困難,使搜索引擎成為人們查找信息的首選工具,谷歌、百度是大家共知的全文搜索引擎。隨著搜索市場價值的不斷增加,人們對信息準確性、實用性的要求越來越高,全文搜索引擎已經不能滿足人們的需求,隨之而來的垂直搜索引擎越來越受到人們的喜愛,垂直搜索專注于特定的搜索領域和搜索需求(例如酒店搜索、旅游搜索、火車票搜索等等),在其特定的搜索領域有更好的用戶體驗。垂直搜索需要的硬件成本低、用戶需求特定、查詢的方式多樣。目前在中文搜索引擎領域,國內的搜索引擎已經和國外的搜索引擎效果上相差不遠。之所以能形成這樣的局面,有一個重要的原因就在于中文和英文兩種語言自身的書寫方式不同,這其中對于計算機涉及的就是中文分詞技術。什么是中文分詞英文是以詞為單位的,詞和詞之間是靠空格隔開,而中文是以字為單位,句子中所有的字連起來才能描述一個意思。例如,英文句子I am astudent,用中文則為“我是一個學生”。計算機可以很簡單通過空格知道student是一個單詞,但是不能很容易明白“學”、 “生”兩個字合起來才表示一個詞。把中文的漢字序列切分成有意義的詞,就是中文分詞。 我是一個學生,分詞的結果是我/是/ 一個/學生。中文分詞和搜索引擎中文分詞到底對搜索引擎有多大影響?對于搜索引擎來說,最重要的并不是找到所有結果,因為在大數據量下面所有結果沒有太多的意義,沒有人能看得完,最重要的是把最相關的結果排在最前面,展示給用戶,這也稱為相關度排序。中文分詞的準確與否,常常直接影響到對搜索結果的相關度排序。中文分詞技術中文分詞技術屬于自然語言處理技術范疇,對于一句話,人可以通過自己的知識來明白哪些是詞,哪些不是詞,但如何讓計算機也能理解?其處理過程就是分詞算法。現有的分詞算法可分為三大類基于字符串匹配的分詞方法、基于理解的分詞方法和基于統計的分詞方法。1、基于字符串匹配的分詞方法這種方法又叫做機械分詞方法,它是按照一定的策略將要分析的漢字串與一個 “充分大的”機器詞庫中的詞語進行匹配,若在詞庫中找到某個字符串,則匹配成功(識別出一個詞)。按照掃描方向的不同,串匹配分詞方法可以分為正向匹配和逆向匹配;按照不同長度優先匹配的情況,可以分為最大(最長)匹配和最小(最短)匹配。常用的幾種機械分詞方法如下
1)正向最大匹配法(由左到右的方向);2)逆向最大匹配法(由右到左的方向);3)最少切分(使每一句中切出的詞數最小)。2、基于理解的分詞方法這種分詞方法是通過讓計算機模擬人對句子的理解,達到識別詞的效果。其基本思想是在分詞的同時進行句法、語義分析,利用句法信息和語義信息來處理歧義現象。3、基于統計的分詞方法詞是穩定的字的組合,因此在上下文中,相鄰的字同時出現的次數越多,就越有可能構成一個詞。因此字與字相鄰共現的頻率或概率能夠較好的反映成詞的可信度。可以對語料中相鄰共現的各個字的組合的頻度進行統計,計算它們的互現信息。定義兩個字的互現信息,計算兩個漢字X、Y的相鄰共現概率。互現信息體現了漢字之間結合關系的緊密程度。當緊密程度高于某一個閾值時,便可認為此字組可能構成了一個詞。這種方法只需對語料中的字組頻度進行統計,不需要切分詞庫,因而又叫做無詞庫分詞法或統計取詞方法。分詞中的難題1、歧義識別歧義是指同樣的一句話,可能有兩種或者更多的切分方法。例如表面的,因為“表面”和“面的”都是詞,那么這個短語就可以分成“表面的”和“表面的”。這種稱為交叉歧義。交叉歧義相對組合歧義來說是還算比較容易處理,組合歧義就必需根據整個句子來判斷了。例如,在句子“這個門把手壞了”中,“把手”是個詞,但在句子“請把手拿開”中, “把手”就不是一個詞;在句子“將軍任命了一名中將”中,“中將”是個詞,但在句子“產量三年中將增長兩倍”中,“中將”就不再是詞。這些詞計算機又如何去識別?如果交叉歧義和組合歧義計算機都能解決的話,在歧義中還有一個難題,是真歧義。真歧義意思是給出一句話,由人去判斷也不知道哪個應該是詞,哪個應該不是詞。例如“乒乓球拍賣完了”,可以切分成“乒乓球拍賣完了”、也可切分成“乒乓球拍賣完了 ”,如果沒有上下文其他的句子,恐怕誰也不知道“拍賣”在這里算不算一個詞。2、新詞識別新詞,專業術語稱為未登錄詞。也就是那些在詞庫中都沒有收錄過,但又確實能稱為詞的那些詞。最典型的是人名,新詞中除了人名以外,還有機構名、景點名、火車站名、商標名、簡稱、省略語等都是很難處理的問題,而且這些又正好是人們經常使用的詞,因此對于搜索引擎來說,分詞系統中的新詞識別十分重要。目前新詞識別準確率已經成為評價一個分詞系統好壞的重要標志之一。分詞準確性對搜索引擎來說十分重要,但如果分詞速度太慢,即使準確性再高,對于搜索引擎來說也是不可用的,因為搜索引擎需要處理的數據量過大,如果分詞耗用的時間過長,會嚴重影響搜索引擎內容更新的速度。因此對于搜索引擎來說,分詞的準確性和速度,二者都需要達到很高的要求。
發明內容
本發明的目的就是為了解決現有技術中存在的上述問題,提供一種基于旅游業特
5征詞庫的中文分詞方法。本發明的目的通過以下技術方案來實現基于旅游業特征詞庫的中文分詞方法,其中建立初始旅游業特征詞庫,包括對行業內已經存在的旅游業特征詞語的收集整理,再根據以前網站的系統運行日志,分析出一些旅游業特征詞語,將兩處收集到的旅游業特征詞語進行合并,形成初始旅游業特征詞庫; 通過索引服務器定期建立索引庫,為用戶提供查詢工作,將用戶查詢日志傳給日志服務器; 對旅游業特征詞庫中的特征詞語進行分詞,包括詞語首字哈希索引,既將旅游業特征詞庫中的詞語首字取出后去除重復,通過一次哈希運算直接定位漢字的首字位置,配合以詞為單位的有序表,建立旅游業特征詞庫正文;通過首字哈希索引表和旅游業特征詞庫配合,實現指定詞在旅游業特征詞庫正文中的快速查找。上述的基于旅游業特征詞庫的中文分詞方法,其中所述的旅游業特征詞庫在每個周期制定時間,將已經分析好的線上網站運行日志進行統計,將發現的新詞放入新詞庫, 在新詞庫中停留一個月,之后將已經確定的新詞庫中的詞轉入旅游業特征詞庫;對于新形成的熱點詞語,直接錄入旅游業特征詞庫。進一步地,上述的基于旅游業特征詞庫的中文分詞方法,其中所述的索引服務器建立索引的過程為將用戶需要的信息從存儲介質中取出,作為輸入源給中文分詞系統,根據分出來的詞存入索引庫。更進一步地,上述的基于旅游業特征詞庫的中文分詞方法,其中所述的首字哈希索引包括最大詞長,在旅游業特征詞庫中的開始、結束行號,開始位置指針,指向以漢字為首字的所有詞語在旅游業特征詞庫正文中的起始位置。更進一步地,上述的基于旅游業特征詞庫的中文分詞方法,其中所述的旅游業特征詞庫中的特征詞語進行分詞時首先進行初始最大詞長的選取,取出待分詞字串中的每個漢字,在分詞旅游業特征詞庫中查找以每個漢字為首字的詞的最大詞長,選出其中最大者與待分詞字串的長度進行比較后,確定出最合適的初始最大詞長。更進一步地,上述的基于旅游業特征詞庫的中文分詞方法,其中所述的初始最大詞長的選取為,從待分詞字串的最后一個字η開始截取長度為i的字串,令它同旅游業特征詞庫中的詞語依次匹配;如果在旅游業特征詞庫中找不到一個詞語能同當前字串匹配, 就從第n-1個字開始截取長度為i的字串并重復以上過程;如果找不到,則依次從第n-2, n-3,...個字開始截取長度為i的字串進行匹配;如果在某一次匹配中查到表中確有這樣一個i字詞,則匹配成功,把這個字串作為一個詞從待分詞字串中切分出去,把原句中位于這個字串左右兩邊的部分視為兩個新的句子,遞歸調用這一過程;如果所有的匹配都不成功,說明句子中沒有長度為i的詞,則開始尋找長度為i_l的詞;重復這個過程直到整個句子被切分;所述的η代表句子中的最后一個字,1 < = i <=初始最大詞長。更進一步地,上述的基于旅游業特征詞庫的中文分詞方法,其中所述的索引服務器在接收用戶查詢之后,將用戶的查詢信息按照規定的格式記錄下來并傳給日志服務器; 日志服務器在特定時間通過定時任務運行來分析當天的日志,將結果持續化保存到存儲介質中。更進一步地,上述的基于旅游業特征詞庫的中文分詞方法,其中所述的比較分析服務器分析出新的旅游業特征詞語的過程為,取出特征詞語的首字,首先與停頓詞庫首字索引表進行一次哈希運算,得到此首字開始詞語在停頓詞庫正文中的起始和結束位置,從起始位置開始遍歷;如果找到對應的詞,將其從新詞庫中剔除,如果沒有發現,直到詞語在停頓詞庫正文的結束位置點時停止循環,以此循環整個過程;接著,取出詞語的首字,首先與旅游業特征詞庫首字索引表進行一次哈希運算,得到以此首字開始詞語在旅游業特征詞庫正文中的起始和結束位置,從起始位置開始遍歷,如果找到對應的詞,將其從新詞庫中剔除,如果沒有發現,直到詞語在旅游業特征詞庫正文的結束位置點時停止循環,以此循環整個過程;最后在停頓詞庫與旅游業特征詞庫對比結束之后,新詞庫中的所有詞語同步到線上新詞庫中,此時的新詞處在待觀察期,通過人工篩選和用戶反饋,過至少一個月之后把已經形成的新詞加入到旅游業特征詞庫。再進一步地,上述的基于旅游業特征詞庫的中文分詞方法,其中所述的旅游業特征詞庫結構為“詞語,相關詞詞相關詞語I……”詞語與相關詞語之間用逗號分開,相關詞語之間用豎線分開,當切分的詞在旅游業特征詞庫中找到相對應是詞之后,再查找是否有相關詞語,如果有相關詞語,將相關詞語作為一個詞返回。旅游業特征詞庫,它是指初始收集的旅游業特征詞語和不斷從新詞庫中補充過來的新詞共同組成的詞庫。停頓詞庫,放一些出現頻率比較高,但不是詞的詞語,如我的,他的寸。本發明技術方案的優點主要體現在解決新詞識別難題,對于新詞能很好的識別, 同時解決歧義識別難題。并且,解決用戶精準查找信息的需求,使用垂直搜索引擎的人,對于需求的信息非常明確。為本領域的技術進步拓展了空間,實施效果好。
本發明的目的、優點和特點,將通過下面優選實施例的非限制性說明進行圖示和解釋。這些實施例僅是應用本發明技術方案的典型范例,凡采取等同替換或者等效變換而形成的技術方案,均落在本發明要求保護的范圍之內。這些附圖當中,圖1是本基于旅游業特征詞庫的中文分詞方法的整體施示意圖;圖2是逆向最大匹配算法的示意圖;圖3是新詞發現示意圖;圖4是旅游業特征詞庫的劃分示意圖。圖中各附圖標記的含義如下1索引服務器2旅游業特征詞庫3比較分析服務器 4新詞庫5日志服務器
具體實施例方式如圖1 4所示的基于旅游業特征詞庫2的中文分詞方法,其特別之處在于建立初始旅游業特征詞庫2,包括對行業內已經存在的特征詞語的收集整理,并根據以前網站的系統運行日志,分析出新的旅游業特征詞語,將兩個特征詞語進行合并,形成初始旅游業特征詞庫2。并且,通過索引服務器1定期建立索引庫,為用戶提供查詢工作,將用戶查詢日志傳給日志服務器5。同時對旅游業特征詞庫2中的特征詞語進行分詞。具體來說,包括詞語首字哈希(Hash)索引,既將旅游業特征詞庫2中的詞語首字取出后去除重復,通過一次哈希運算直接定位漢字的首字位置,配合以詞為單位的有序表,建立詞庫正文。再者,通過首字哈希索引表和旅游業特征詞庫2配合,實現指定詞在詞庫正文中的快速查找。就本發明一較佳的實施方式來看,采用的旅游業特征詞庫2在每個周期制定時間如每個月月初,將已經分析好的線上網站運行日志進行統計,將發現的新詞放入新詞庫4。 并且,讓新詞在新詞庫4中停留一個月,之后將已經確定的新詞轉入旅游業特征詞庫2。與之對應的是,對于新發現的熱點詞語,可通過快速反應機制,直接錄入旅游業特征詞庫2。具體來說,快速反應機制旅游業特征詞庫2維護人員發現一些詞語,這些詞語被搜索的頻率非常的高,并且旅游業特征詞庫2中不存在此詞語,可以初步界定為新發現的熱點詞語,上報到項目經理,由項目經理召開短暫的討論會,確定是否為熱點詞語,如果是則下任務給旅游業特征詞庫2維護人員,讓他們通過程序后臺將熱點詞語直接添加到旅游業特征詞庫2 當中。由于此過程非常消耗性能,為不影響正常服務,所以定為快速反應機制,并對使用頻率做嚴格限制。同時,索引服務器1建立索引的過程為將用戶需要的信息從存儲介質,如硬盤上的文本文件、數據庫等中取出,作為輸入源給中文分詞系統,根據分出來的詞存入索引庫。進一步來看,傳統分詞詞庫有以下缺點一個是數據沒有經過有效的組織、內容查找的計算復雜度為Ο(η) (η為旅游業特征詞庫2中詞語數);另一個是最大匹配長度確定不合理,中文詞的字數以2為主,但存在長度不一的現象,此時最大的長度很難確定,如果以旅游業特征詞庫2中最大詞的長度,則每次分詞都有很多次無意義的循環,效率不高,處理時間過長;如果最大的長度定得比較短,則會有一些詞分不出來。并且旅游業特征詞庫2中會不斷的增加新詞,旅游業特征詞庫2中的最大詞長也是動態在變。因此,本發明所述的首字哈希索引包括最大詞長,在旅游業特征詞庫2中的開始、結束行號,開始位置指針,指向以漢字為首字的所有詞語在旅游業特征詞庫2正文中的起始位置。具體來說,現有的分詞方法中往往會采用逆向最大匹配算法遵循“長詞優先”的原則,即認為同一個句子,切分所得的詞數量少時是最佳切分結果。但是,這一原則雖然會引發一些切分錯誤首先,兩個算法都是以分詞旅游業特征詞庫2中最大詞語所含的漢字個數η為匹配的初始最大詞長,這樣的做法會造成很多無用的循環匹配,效率低。其次,“長詞優先”這一原則都是在局部范圍內進行的,即每次最大匹配的范圍都是最后i個字符,這樣并沒有充分體現“長詞優先”的原則,例如句子1 當中華人民共和國成立的時候。句子2 當他看到小孩子時。逆向最大匹配算法進行分詞,第1個句子的結果是當/中華人民共和國/成立/ 的/時候,切分是正確的,但第2個句子的結果是當/他/看到/小孩/子時,顯然切分時錯誤的。可以看到此算法存在歧義切分。這里歧義產生的原因是沒有充分體現“長詞優先” 的原則。中華人民共和國和小孩子都是句子里最長的詞,但是在某些情況下被切分開來。為了更合理的確定初始最大詞長以及避免上述一些歧義切分,必須在整個句子的范圍內實現“長詞優先”的原則。為此,本發明采用提出了改進的逆向最大匹配方式。具體來說,所述的旅游業特征詞庫2中的特征詞語進行分詞時首先進行初始最大詞長的選取,取出待分詞字串中的每個漢字,在分詞詞庫中查找以每個漢字為首字的詞的最大詞長,選出其中最大者與待分詞字串的長度進行比較后,確定出最合適的初始最大詞長。并且,初始最大詞長的選取為,從待分詞字串的最后一個字η開始截取長度為i的字串, 令它同旅游業特征詞庫2中的詞語依次匹配。如果在旅游業特征詞庫2中找不到一個詞語能同當前字串匹配,就從第n-1個字開始截取長度為i的字串并重復以上過程。如果找不到,則依次從第n-2,n-3,…個字開始截取長度為i的字串進行匹配。如果在某一次匹配中查到表中確有這樣一個i字詞,則匹配成功,把這個字串作為一個詞從待分詞字串中切分出去,把原句中位于這個字串左右兩邊的部分視為兩個新的句子,遞歸調用這一過程。如果所有的匹配都不成功,說明句子中沒有長度為i的詞,則開始尋找長度為i_l的詞;重復這個過程直到整個句子被切分。η代表句子中的最后一個字;1 <= i<=初始最大詞長。為了更好的實現分詞后的更新,本發明采用的索引服務器1在接收用戶查詢之后,將用戶的查詢信息按照規定的格式記錄下來并傳給日志服務器5。日志服務器5在特定時間如每天,通過定時任務運行來分析當天的日志,將結果持續化保存到存儲介質中。這些存儲介質可以為硬盤上的文本文件或是數據庫等。由此,可確保每個月會有定時的新詞發現程序進行分析找出新詞。結合本發明實際分析出新的旅游業特征詞語的過程來看,比較分析服務器3取出特征詞語的首字,首先與停頓詞庫首字索引表進行一次哈希運算,得到此首字開始詞語在詞庫正文中的起始和結束位置,從起始位置開始遍歷。在后續過程中,如果找到對應的詞, 將其從新詞庫中剔除。如果沒有發現,直到詞語在詞庫正文的結束位置點時停止循環,以此循環整個過程。接著,取出詞語的首字,首先與旅游業特征詞庫首字索引表進行一次哈希運算,得到以此首字開始詞語在詞庫正文中的起始和結束位置,從起始位置開始遍歷。在此期間,如果找到對應的詞,則將其從新詞庫中剔除。如果沒有發現,則直到詞語在詞庫正文的結束位置點時停止循環,以此循環整個過程。最后在停頓詞庫與旅游業特征詞庫對比結束之后,新詞庫中的所有詞語同步到線上新詞庫中,此時的新詞處在待觀察期,通過人工篩選和用戶反饋,過至少一個月之后把已經形成的新詞加入到旅游業特征詞庫。以此類推,旅游業特征詞庫會不斷的得到完善,解決新詞識別的難題。再結合本發明的具體實施過程來看,將本基于旅游業特征詞庫的中文分詞方法與垂直搜索引擎相結合,可實現用戶需求明確,搜索條件明確,選擇過慮的豐富的功能。以火車票查詢為例用戶需要輸入出發站和到達站,用戶點擊輸入框時會有提示,用來正確引導用戶輸入,系統也會根據用戶輸入的信息時時查找已有的信息,引導用戶正確輸入,這樣就很好的解決了詞語歧義的問題。以火車時刻表查詢為例,以下是五家行業內火車票查詢比較有名的網站,以此作為實施結果的對比 用戶在搜索關鍵詞為“泰安”時,除“同程網火車票頻道”以外,其它頻道全部搜索http://www. huoche. com. cn/http//www. 12306. cn/http//search, huochepiao. com/http://huoche.kuxun.cn/http://www.17u.com/train/
火車網
中國鐵路客戶服務中心
火車票網酷訊網
同程網火車票頻道
9不出來。此時,使用者也許會質疑——是不是泰安沒有火車站?其實是有的,只是火車站名叫做“泰山”,通過地理知道我們知道泰山位于山東省中部,隸屬于泰安市,所以泰安也就應該是有火車站的,但是為什么其它網站搜索不出來,原因是他們都是基于數據庫的。具體來說,數據庫內的數據更新慢且無法做到精確的分詞匹配。而本發明能夠將“泰安”進行有效的分詞,并與旅游業特征詞庫相配合,得到泰安與泰山的關系。實現方式如下在建立索引的過程中將詞語進行切分并與旅游業特征詞庫中詞語進行對比,匹配成功則作為一個詞語存入索引庫,之后再查找相關詞語,找到之后也作為詞語存入索引庫;以泰山和泰安為例,建立索引時切分出泰山一詞,并到旅游業特征詞庫中對比,匹配成功,將泰山作為一個詞語存入索引庫,查找相關詞語泰安匹配成功,將泰安作為一個詞語也存入索引庫。這樣泰山和泰安對應的就是一條相同的記錄,當用戶搜索泰安或者是泰山的時候都會找到想要的數據。同樣的,用戶在搜索“撫順城”除“同程網火車票頻道”以外,其它頻道全部搜索不出來。查找原因發現撫順城站已于2009年6月沈日更名為“撫順北站”。新撫順北站在原來撫順城站站址上重建,對站臺進行了改造,具備了通行動車的能力。利用旅游業特征詞庫的中文分詞技術很好的解決了這一問題,為習慣于搜索“撫順城”老火車站名的用戶提供的極大的方便。其原理同泰安與泰山的查找相同。解決新詞識別難題,傳統全文搜索引擎涉及的面大、量多、變化不確定等因素,對于新詞不能很好的識別,如對網友新發明的詞語、突發事件中的詞語等。而基于旅游業的旅游業特征詞庫就不存在這些問題,因為新詞出現的頻率比較低、大多數都能固化下來,也比較容易識別。同時解決歧義識別難題,傳統全文搜索引擎一個輸入框,讓用戶輸入一些詞語搜索,但是往往用戶輸入一句話,有時是有歧義的一句話,這樣給歧義識別造成了很大的困難。而垂直搜索引擎對于輸入框中要輸入的內容明確,并且大多數都有提示引導用戶正確輸入。并且,解決用戶精準查找信息的需求,使用垂直搜索引擎的人,對于需求的信息非常明確。通過上述的文字表述并結合附圖可以看出,采用本發明后解決新詞識別難題,傳統全文搜索引擎涉及的面大、量多、變化不確定等因素,對于新詞不能很好的識別,如對網友新發明的詞語、突發事件中的詞語等。而基于旅游業的旅游業特征詞庫就不存在這些問題,因為新詞出現的頻率比較低、大多數都能固化下來,也比較容易識別。同時解決歧義識別難題,傳統全文搜索引擎一個輸入框,讓用戶輸入一些詞語搜索,但是往往用戶輸入一句話,有時是有歧義的一句話,這樣給歧義識別造成了很大的困難。而垂直搜索引擎對于輸入框中要輸入的內容明確,并且大多數都有提示引導用戶正確輸入。并且,解決用戶精準查找信息的需求,使用垂直搜索引擎的人,對于需求的信息非常明確。
權利要求
1.基于旅游業特征詞庫的中文分詞方法,其特征在于建立初始旅游業特征詞庫,包括對行業內已經存在的旅游業特征詞語的收集整理,再根據以前網站的系統運行日志,分析出一些旅游業特征詞語,將兩處收集到的旅游業特征詞語進行合并,形成初始旅游業特征詞庫;通過索引服務器定期建立索引庫,為用戶提供查詢工作,將用戶查詢日志傳給日志服務器;對旅游業特征詞庫中的特征詞語進行分詞,包括詞語首字哈希索引,既將旅游業特征詞庫中的詞語首字取出后去除重復,通過一次哈希運算直接定位漢字的首字位置,配合以詞為單位的有序表,建立旅游業特征詞庫正文;通過首字哈希索引表和旅游業特征詞庫配合,實現指定詞在旅游業特征詞庫正文中的快速查找。
2.根據權利要求1所述的基于旅游業特征詞庫的中文分詞方法,其特征在于所述的旅游業特征詞庫在每個周期制定時間,將已經分析好的線上網站運行日志進行統計,將發現的新詞放入新詞庫,在新詞庫中停留一個月,之后將已經確定的新詞庫中的詞轉入旅游業特征詞庫;對于新形成的熱點詞語,直接錄入旅游業特征詞庫。
3.根據權利要求1所述的基于旅游業特征詞庫的中文分詞方法,其特征在于所述的索引服務器建立索引的過程為將用戶需要的信息從存儲介質中取出,作為輸入源給中文分詞系統,根據分出來的詞存入索引庫。
4.根據權利要求1所述的基于旅游業特征詞庫的中文分詞方法,其特征在于所述的首字哈希索引包括最大詞長,在旅游業特征詞庫中的開始、結束行號,開始位置指針,指向以漢字為首字的所有詞語在旅游業特征詞庫正文中的起始位置。
5.根據權利要求1所述的基于旅游業特征詞庫的中文分詞方法,其特征在于所述的旅游業特征詞庫中的特征詞語進行分詞時首先進行初始最大詞長的選取,取出待分詞字串中的每個漢字,在分詞旅游業特征詞庫中查找以每個漢字為首字的詞的最大詞長,選出其中最大者與待分詞字串的長度進行比較后,確定出最合適的初始最大詞長。
6.根據權利要求5所述的基于旅游業特征詞庫的中文分詞方法,其特征在于所述的初始最大詞長的選取為,從待分詞字串的最后一個字η開始截取長度為i的字串,令它同旅游業特征詞庫中的詞語依次匹配;如果在旅游業特征詞庫中找不到一個詞語能同當前字串匹配,就從第n-1個字開始截取長度為i的字串并重復以上過程;如果找不到,則依次從第 n-2, n-3,...個字開始截取長度為i的字串進行匹配;如果在某一次匹配中查到表中確有這樣一個i字詞,則匹配成功,把這個字串作為一個詞從待分詞字串中切分出去,把原句中位于這個字串左右兩邊的部分視為兩個新的句子,遞歸調用這一過程;如果所有的匹配都不成功,說明句子中沒有長度為i的詞,則開始尋找長度為i_l的詞;重復這個過程直到整個句子被切分;所述的η代表句子中的最后一個字,1 < = i <=初始最大詞長。
7.根據權利要求1所述的基于旅游業特征詞庫的中文分詞方法,其特征在于所述的索引服務器在接收用戶查詢之后,將用戶的查詢信息按照規定的格式記錄下來并傳給日志服務器;日志服務器在特定時間通過定時任務運行來分析當天的日志,將結果持續化保存到存儲介質中。
8.根據權利要求1所述的基于旅游業特征詞庫的中文分詞方法,其特征在于所述的比較分析服務器分析出新的旅游業特征詞語的過程為,取出特征詞語的首字,首先與停頓詞庫首字索引表進行一次哈希運算,得到此首字開始詞語在停頓詞庫正文中的起始和結束位置,從起始位置開始遍歷;如果找到對應的詞,將其從新詞庫中剔除,如果沒有發現,直到詞語在停頓詞庫正文的結束位置點時停止循環,以此循環整個過程;接著,取出詞語的首字,首先與旅游業特征詞庫首字索引表進行一次哈希運算,得到以此首字開始詞語在旅游業特征詞庫正文中的起始和結束位置,從起始位置開始遍歷,如果找到對應的詞,將其從新詞庫中剔除,如果沒有發現,直到詞語在旅游業特征詞庫正文的結束位置點時停止循環,以此循環整個過程;最后在停頓詞庫與旅游業特征詞庫對比結束之后,新詞庫中的所有詞語同步到線上新詞庫中,此時的新詞處在待觀察期,通過人工篩選和用戶反饋,過至少一個月之后把已經形成的新詞加入到旅游業特征詞庫。
9.根據權利要求1所述的基于旅游業特征詞庫的中文分詞方法,其特征在于所述的旅游業特征詞庫結構為“詞語,相關詞語I相關詞語I……”詞語與相關詞語之間用逗號分開,相關詞語之間用豎線分開,當切分的詞在旅游業特征詞庫中找到相對應是詞之后,再查找是否有相關詞語,如果有相關詞語,將相關詞語作為一個詞返回。
全文摘要
本發明涉及一種基于旅游業特征詞庫的中文分詞方法,特點是建立初始旅游業特征詞庫,分析出一些旅游業特征詞語,將兩處收集到的旅游業特征詞語進行合并,形成初始旅游業特征詞庫。通過索引服務器定期建立索引庫,對旅游業特征詞庫中的特征詞語進行分詞,通過一次哈希運算直接定位漢字的首字位置,配合以詞為單位的有序表,建立旅游業特征詞庫正文。通過首字哈希索引表和旅游業特征詞庫配合,實現指定詞在旅游業特征詞庫正文中的快速查找。由此,對于新詞能很好的識別,同時解決歧義識別難題。并且,解決用戶精準查找信息的需求,使用垂直搜索引擎的人,對于需求的信息非常明確。為本領域的技術進步拓展了空間,實施效果好。
文檔編號G06F17/30GK102411568SQ20101028753
公開日2012年4月11日 申請日期2010年9月20日 優先權日2010年9月20日
發明者吳劍, 吳志祥, 張海龍, 王專, 郭鳳林, 靳彩娟, 馬和平 申請人:蘇州同程旅游網絡科技有限公司