適用於中文詞庫的分詞歧義排除方法
2023-05-24 14:34:36
適用於中文詞庫的分詞歧義排除方法
【專利摘要】本發明涉及一種適用於中文詞庫的分詞歧義排除方法,其特點是:首先對中文分詞的進行劃分,至少劃分出,首詞,中間詞。之後,對中間詞的字進行檢查,列出歧義詞。接著,對首詞的字進行檢查,列出歧義詞。最後,將歧義詞對比特殊詞判斷詞庫與,保留符合特殊詞判斷詞庫的歧義詞。由此,將本發明應用在伺服器的中文分詞數據處理中後,能夠智能對分詞效果進行歧義識別,對於歧義識別效果不佳的可以靈活的通過配置特殊詞庫來修正識別效果。同時,解決用戶精準查找信息的需求,使用垂直搜尋引擎的人。在減少伺服器負擔的同時,提高了中文分詞的精確程度。並且,將本發明應用到旅遊行業後,可以提高搜索的準確性和速度,便於推廣。
【專利說明】適用於中文詞庫的分詞歧義排除方法
【技術領域】
[0001]本發明涉及一種分詞歧義排除方法,尤其涉及一種,屬於適用於中文詞庫的分詞歧義排除方法。
【背景技術】
[0002]信息的快速增長,人們想準確找到對自己有用的信息變得很困難,使搜尋引擎成為人們查找信息的首選工具,谷歌、百度是大家共知的全文搜尋引擎。隨著搜索市場價值的不斷增加,人們對信息準確性、實用性的要求越來越高,全文搜尋引擎已經不能滿足人們的需求,隨之而來的垂直搜尋引擎越來越受到人們的喜愛,垂直搜索專注於特定的搜索領域和搜索需求(例如:酒店搜索、旅遊搜索、火車票搜索等等),在其特定的搜索領域有更好的用戶體驗。垂直搜索需要的硬體成本低、用戶需求特定、查詢的方式多樣。目前在中文搜尋引擎領域,國內的搜尋引擎已經和國外的搜尋引擎效果上相差不遠。之所以能形成這樣的局面,有一個重要的原因就在於中文和英文兩種語言自身的書寫方式不同,這其中對於計算機涉及的就是中文分詞技術。
[0003]什麼是中文分詞
英文是以詞為單位的,詞和詞之間是靠空格隔開,而中文是以字為單位,句子中所有的字連起來才能描述一個意思。例如,英文句子I am a student,用中文則為:「我是一個學生」。計算機可以很簡單通過空格知道student是一個單詞,但是不能很容易明白「學」、「生」兩個字合起來才表示一個詞。把中文的漢字序列切分成有意義的詞,就是中文分詞。我是一個學生,分詞的結果是:我/是/ 一個/學生。
[0004]中文分詞和搜尋引擎:中文分詞到底對搜尋引擎有多大影響?對於搜尋引擎來說,最重要的並不是找到所有結果,因為在大數據量下面所有結果沒有太多的意義,沒有人能看得完,最重要的是把最相關的結果排在最前面,展示給用戶,這也稱為相關度排序。中文分詞的準確與否,常常直接影響到對搜索結果的相關度排序。
[0005]中文分詞技術:中文分詞技術屬於自然語言處理技術範疇,對於一句話,人可以通過自己的知識來明白哪些是詞,哪些不是詞,但如何讓計算機也能理解?其處理過程就是分詞算法。
[0006]現有的分詞算法可分為三大類:基於字符串匹配的分詞方法、基於理解的分詞方法和基於統計的分詞方法。
[0007]1、基於字符串匹配的分詞方法:這種方法又叫做機械分詞方法,它是按照一定的策略將要分析的漢字串與一個「充分大的」機器詞庫中的詞條進行匹配,若在詞庫中找到某個字符串,則匹配成功(識別出一個詞)。按照掃描方向的不同,串匹配分詞方法可以分為正向匹配和逆向匹配;按照不同長度優先匹配的情況,可以分為最大(最長)匹配和最小(最短)匹配。常用的幾種機械分詞方法如下:
O正向最大匹配法(由左到右的方向);
2)逆向最大匹配法(由右到左的方向); 3)最少切分(使每一句中切出的詞數最小)。
[0008]2、基於理解的分詞方法:這種分詞方法是通過讓計算機模擬人對句子的理解,達到識別詞的效果。其基本思想是在分詞的同時進行句法、語義分析,利用句法信息和語義信息來處理歧義現象。
[0009]3、基於統計的分詞方法:詞是穩定的字的組合,因此在上下文中,相鄰的字同時出現的次數越多,就越有可能構成一個詞。因此字與字相鄰共現的頻率或概率能夠較好的反映成詞的可信度。可以對語料中相鄰共現的各個字的組合的頻度進行統計,計算它們的互現信息。定義兩個字的互現信息,計算兩個漢字X、Y的相鄰共現概率。互現信息體現了漢字之間結合關係的緊密程度。當緊密程度高於某一個閾值時,便可認為此字組可能構成了一個詞。這種方法只需對語料中的字組頻度進行統計,不需要切分詞庫,因而又叫做無詞庫分詞法或統計取詞方法。
分詞中的難題
1、歧義識別
歧義是指同樣的一句話,可能有兩種或者更多的切分方法。例如:表面的,因為「表面」和「面的」都是詞,那麼這個短語就可以分成「表面的」和「表面的」。這種稱為交叉歧義。
[0010]交叉歧義相對組合歧義來說是還算比較容易處理,組合歧義就必需根據整個句子來判斷了。例如,在句子「這個門把手壞了」中,「把手」是個詞,但在句子「請把手拿開」中,「把手」就不是一個詞;在句子「將軍任命了一名中將」中,「中將」是個詞,但在句子「產量三年中將增長兩倍」中,「中將」就不再是詞。這些詞計算機又如何去識別,
如果交叉歧義和組合歧義計算機都能解決的話,在歧義中還有一個難題,是真歧義。真歧義意思是給出一句話,由人去判斷也不知道哪個應該是詞,哪個應該不是詞。例如:「桌球拍賣完了」,可以切分成「桌球拍賣完了」、也可切分成「桌球拍賣完了」,如果沒有上下文其他的句子,恐怕誰也不知道「拍賣」在這裡算不算一個詞。
[0011]2、新詞識別
新詞,專業術語稱為未登錄詞。也就是那些在詞庫中都沒有收錄過,但又確實能稱為詞的那些詞。最典型的是人名,新詞中除了人名以外,還有機構名、景點名、火車站名、商標名、簡稱、省略語等都是很難處理的問題,而且這些又正好是人們經常使用的詞,因此對於搜尋引擎來說,分詞系統中的新詞識別十分重要。目前新詞識別準確率已經成為評價一個分詞系統好壞的重要標誌之一。
[0012]分詞準確性對搜尋引擎來說十分重要,但如果分詞速度太慢,即使準確性再高,對於搜尋引擎來說也是不可用的,因為搜尋引擎需要處理的數據量過大,如果分詞耗用的時間過長,會嚴重影響搜尋引擎內容更新的速度。因此對於搜尋引擎來說,分詞的準確性和速度,二者都需要達到很高的要求。
【發明內容】
[0013]本發明的目的就是為了解決現有技術中存在的上述問題,提供一種適用於中文詞庫的分詞歧義排除方法。
[0014]本發明的目的通過以下技術方案來實現:
適用於中文詞庫的分詞歧義排除方法,其特徵在於包括以下步驟:步驟①,對中文分詞的進行劃分,至少劃分出,首詞,中間詞;步驟②,對中間詞的字進行檢查,列出歧義詞;步驟③,對首詞的字進行檢查,列出歧義詞;步驟④,將歧義詞對比特殊詞判斷詞庫與,保留符合特殊詞判斷詞庫的歧義詞。
[0015]上述的適用於中文詞庫的分詞歧義排除方法,其中:所述中間詞的字進行檢查為,中文分詞結果在3個詞以上時,滿足第一個詞的結束字為第二個詞的開始字且第二個詞的結束字為第三個詞的開始字,則將第二詞列出作為歧義詞。
[0016]進一步地,上述的適用於中文詞庫的分詞歧義排除方法,其中:所述的對首詞進行二次處理為,中文分詞結果在3個詞以上,按順序逐個檢查,滿足第一個詞包含了第二個詞,且第一個詞的結束字是第三個詞的開始字,則將第一詞列出作為歧義詞。
[0017]更進一步地,上述的適用於中文詞庫的分詞歧義排除方法,其中:所述的步驟④中保留的歧義詞,通過伺服器定義為普通詞。
[0018]再進一步地,上述的適用於中文詞庫的分詞歧義排除方法,其中:步驟①所述的劃分為,利用正向最大匹配法來匹配中文詞庫,進行詞的劃分,將匹配切分的首詞、中間詞結果,按切分先後順序存到鍊表結構中。
[0019]本發明技術方案的優點主要體現在:將本發明應用在伺服器的中文分詞數據處理中後,能夠智能對分詞效果進行歧義識別,對於歧義識別效果不佳的可以靈活的通過配置特殊詞庫來修正識別效果。同時,解決用戶精準查找信息的需求,使用垂直搜尋引擎的人,對於需求的信息非常明確。由此,在減少伺服器負擔的同時,提高了中文分詞的精確程度。並且,將本發明應用到旅遊行業後,可以提高搜索的準確性和速度,便於推廣。
[0020]本發明的目的、優點和特點,將通過下面優選實施例的非限制性說明進行解釋。這些實施例僅是應用本發明技術方案的典型範例,凡採取等同替換或者等效變換而形成的技術方案,均落在本發明要求保護的範圍之內。
【具體實施方式】
[0021]適用於中文詞庫的分詞歧義排除方法,其特徵在於包括以下步驟:首先,對中文分詞的進行劃分,至少劃分出,首詞,中間詞。具體來說,可以利用正向最大匹配法來匹配中文詞庫,進行詞的劃分,將匹配切分的首詞、中間詞結果,按切分先後順序存到鍊表結構中。之後,對中間詞的字進行檢查,列出歧義詞。同時,可以對首詞的字進行檢查,列出歧義詞。最後,將歧義詞對比特殊詞判斷詞庫,保留符合特殊詞判斷詞庫的歧義詞。
[0022]就本發明一較佳的實施方式來看,所述中間詞的字進行檢查為,中文分詞結果在3個詞以上時,滿足第一個詞的結束字為第二個詞的開始字且第二個詞的結束字為第三個詞的開始字,則將第二詞列出作為歧義詞。具體來說,比如詞庫中已有詞:「上海」,「海南」,「南站」,則「上海南站」切分為「上海海南南站」,這時切分出來的「海南」明顯不妥,針對這種情況,本發明進行了會將分詞結果的詞進行二次處理過濾,將第二詞「海南」作為歧義詞,與特殊詞判斷詞庫對比,發現其不在特殊詞判斷詞庫內,繼而進行排除。
[0023]與之對應的,本發明對首詞進行的二次處理為,如果中文分詞結果在3個詞以上,按順序逐個檢查,滿足第一個詞包含了第二個詞,且第一個詞的結束字是第三個詞的開始字,則將第一詞列出作為歧義詞。例如,詞庫中已有詞:「廣東」,「廣東話」,「話劇」。則「廣東話劇」切分為「廣東話廣東話劇」,這時切分出來的「廣東話」明顯不妥,廣東話劇應該是表達的是廣東的話劇這個意思。針對這種情況,第一個詞的結束字是第三個詞的開始字「廣東話」為歧義詞,與特殊詞判斷詞庫對比,發現其不在特殊詞判斷詞庫內,繼而進行排除。
[0024]進一步來看,為了避免出現重複判斷,影響採用本發明方法的伺服器執行效率,對於通過特殊詞判斷詞庫對比保留的歧義詞,通過伺服器定義為普通詞。
[0025]通過上述的文字表述可以看出,採用本發明後,將本發明應用在伺服器的中文分詞數據處理中後,能夠智能對分詞效果進行歧義識別,對於歧義識別效果不佳的可以靈活的通過配置特殊詞庫來修正識別效果。同時,解決用戶精準查找信息的需求,使用垂直搜尋引擎的人,對於需求的信息非常明確。由此,在減少伺服器負擔的同時,提高了中文分詞的精確程度。並且,將本發明應用到旅遊行業後,可以提高搜索的準確性和速度,便於推廣。
【權利要求】
1.適用於中文詞庫的分詞歧義排除方法,其特徵在於包括以下步驟: 步驟①,對中文詞庫中的中文詞進行劃分,至少劃分出,首詞,中間詞; 步驟②,對中間詞的字進行檢查,列出歧義詞; 步驟③,對首詞的字進行檢查,列出歧義詞; 步驟④,將歧義詞對比特殊詞判斷詞庫與,保留符合特殊詞判斷詞庫的歧義詞。
2.根據權利要求1所述的適用於中文詞庫的分詞歧義排除方法,其特徵在於:所述中間詞的字進行檢查為,中文分詞結果在3個詞以上時,滿足第一個詞的結束字為第二個詞的開始字且第二個詞的結束字為第三個詞的開始字,則將第二詞列出作為歧義詞。
3.根據權利要求1所述的適用於中文詞庫的分詞歧義排除方法,其特徵在於:所述的對首詞進行二次處理為,中文分詞結果在3個詞以上,按順序逐個檢查,滿足第一個詞包含了第二個詞,且第一個詞的結束字是第三個詞的開始字,則將第一詞列出作為歧義詞。
4.根據權利要求1所述的適用於中文詞庫的分詞歧義排除方法,其特徵在於:所述的步驟④中保留的歧義詞,通過伺服器定義為普通詞。
5.根據權利要求1所述的適用於中文詞庫的分詞歧義排除方法,其特徵在於:步驟①所述的劃分為,利用正向最大匹配法來匹配中文詞庫,進行詞的劃分,將匹配切分的首詞、中間詞結果,按切分先後順序存到鍊表結構中。
【文檔編號】G06F17/30GK103778161SQ201210414877
【公開日】2014年5月7日 申請日期:2012年10月26日 優先權日:2012年10月26日
【發明者】王專, 吳志祥, 張海龍, 馬和平, 吳劍, 郭鳳林, 王曉鍾, 龐紹進 申請人:同程網絡科技股份有限公司