四字詞Sk+1 = W1,ι?+1). . .WlkW1 是否存在于詞典里,若是,則繼續(xù)往后逐次加一字再判斷,轉(7);若不 是,則把&切分出去,放入分詞結果;
[0031] 6)若此三字詞Sk= W不存在,則表明前兩個字是一個詞,將 S i中其切分出去,接著分詞查找指針后移,使指針j = j+2,再取后面兩個詞進行 新一輪的查找匹配。若j < m,表明當前短文本還未完全切分,轉(2),若指針j = m,則短文 本Si分詞結束;
[0032] 7)依此類推,每次移動分詞指針時判斷移動之后讀入的當前詞數(shù)L是否成立, 若成立,則繼續(xù)在Sk+1= W ^ι?+1)…WlkW1〇i+1)后逐次加一字進行判斷;否則從W 1〇?+1)處開始 取兩字字符進行下一輪查找匹配。
[0033] 步驟四、判斷讀入文本數(shù)i彡N是否成立,若成立,表明當前文本還未分詞結束,則 分詞指針增加一,i = i+Ι,讀入下一個句子重新按照上面的程序進行查找匹配以及分詞, 進行分詞直到整個輸入文本分詞結束;否則,說明整個文本分詞結束。
[0034] 實施例2 :如圖1-3所示,一種基于詞典的正向逐次加一字最大匹配中文分詞方 法,所述方法的步驟為:
[0035] 設定一個略小于詞典里最大詞長的分詞查找長度L ;設待切分字符串為S = S1S2S3S4. .. Si。從句頭開始,取前兩個字符S1S2,判斷S1S2是否是詞典里的一個詞,若不是,則 說明81是單字詞,將其切分出去,則將查找文本的長度指針往后增加一個字,增加到第三個 字,取在詞典中S2S3進行新一輪的查找匹配;若S1S2是詞典中的詞,則往后增加一個字,判 斷S 1S2S3是否成詞,若S P2S3不是詞典里的詞,則表明S而是一個詞,將其切分出去;若S P2S3 是詞典里的一個詞,則繼續(xù)往后增加一個字,查找S1S2S3S4是否是詞典里的詞,若不是詞,則 將S 1S2S3作為一個詞切分出去,若是詞典里的詞,則繼續(xù)往后增加一個詞再來匹配。依此類 推,直到整個句子S = S1S2S3S4. .. Si切分完畢。
[0036] 實施例3 :如圖1-3所示,一種基于詞典的正向逐次加一字最大匹配中文分詞方 法,所述方法的步驟為:
[0037] StepU讀入待切分文本,根據標點、數(shù)字、西文、圖表等明顯的分隔符將輸入的文 本進行粗切分,分割成一個個短文本;例如分成一個文本"今天天氣特別的好";
[0038] Step2、將粗切分的短文本作為進一步切分對象,設定進一步分詞查找長度L = 7, 其中L取小于詞典里最大詞長的長度,其中最大詞長為12 ;
[0039] Step3、取粗切分后的一個短文本的起始兩個字"今天",在詞典里查找匹配;經匹 配"今天"存在于詞典中,那么查找文本的長度指針往后增加一個字,增加到三個字"今天 天",繼續(xù)在詞典里進行匹配;經匹配"今天天"不存在,則表明"今天"是一個詞,那么把"今 天"切分出去,作為一次切分的結果;接著分詞查找指針后移,取后面兩個詞"天氣"進行新 一輪的查找匹配;經匹配"天氣"存在,那么查找文本的長度指針往后增加一個字,增加到三 個字"天氣特",繼續(xù)在詞典里進行匹配;經匹配"天氣特"不存在,則表明"天氣"是一個詞, 那么把"天氣"切分出去,作為一次切分的結果;依次類推,進行匹配查找,從而進行分詞,分 詞的結果為/今天/天氣/特別/的/好/;具體分詞的過程見表1所示;
[0040] 表1正向逐次加一字最大匹配分詞過程 [0041 ]
[0042] 為了驗證本方法的有益效果,用本方法與傳統(tǒng)的正向最大匹配分詞方法、逆向最 大匹配分詞方法(一次最大匹配字符長度為4)進行對比,傳統(tǒng)的正向最大匹配分詞方法、 逆向最大匹配分詞方法的分詞過程如表2、表3所示;
[0043] 1)正向最大匹配分詞方法:
[0044] 表2正向最大匹配分詞過程
[0045] CN 105138514 A ~P 5/7 頁
[0046] 正向最大匹配的結果是:/今天/天氣/特別/的/好/
[0047] 2)逆向最大匹配分詞方法:由右至左從待切分字符串中取子串進行匹配;
[0048] 表3逆向最大匹配分詞過程
[0049]
CN 105138514 A 仇 口月卞> 6/7 頁
[0050] 逆向最大匹配的結果是:/今天/天氣/特別/的/好/
[0051] 從上述三種方法的分詞過程可以看出,雖然最終的分詞結果都是相同的、正確的, 但是從分詞的過程上可以清楚的看到傳統(tǒng)的基于詞典的正向、逆向最大匹配方法的分詞過 程都出現(xiàn)了讀入詞不存在的重復匹配步驟,浪費了分詞的時間,造成分詞后詞典匹配、歧義 判斷的工作量。而本發(fā)明提出的正向逐次加一字最大匹配方法,幾乎每個兩字詞都得到了 一步分詞的快速、準確分詞,這樣分詞的整體效率就得到了很大的提高,試驗仿真的結論也 證明了這一點,如下表4所示。
[0052] 表4三種分詞方法的平均切分速率比較
[0053]
[0054] 將三種方法應用到本發(fā)明的試驗環(huán)境中去,以一個完整的包含27萬個詞條的詞 庫作為分詞詞典,在硬件采用計算機內存IG及以上,軟件為Wind 〇ws7,使用JAVA開發(fā)語 言,My Eclipse 8. 5開發(fā)工具的運行環(huán)境下進行模擬實驗。選取了經濟、科技、社會新聞、 軍事四個方面大小均為0.02M左右的文章,利用三種不同的分詞算法進行分詞,得到的結 果如圖3所示,縱坐標表示分詞準確率,橫坐標表示分詞的領域,可以看到在這三種分詞方 法中,本文提出的正向逐次加一字匹配方法和傳統(tǒng)的正向、逆向最大匹配分詞方法相比,準 確率均得到了提高。
[0055] 以上實施例的實驗結論表4,圖3均能表明本發(fā)明的一種基于詞典的正向逐次加 一字最大匹配分詞方法較傳統(tǒng)的基于詞典的分詞方法在分詞切分速度,分詞準確率方面都 有很顯著的改進。
[0056] 上面結合附圖對本發(fā)明的【具體實施方式】作了詳細說明,但是本發(fā)明并不限于上述 實施方式,在本領域普通技術人員所具備的知識范圍內,還可以在不脫離本發(fā)明宗旨的前 提下作出各種變化。
【主權項】
1. 一種基于詞典的正向逐次加一字最大匹配中文分詞方法,其特征在于:所述基于詞 典的正向逐次加一字最大匹配中文分詞方法的具體步驟如下: StepU讀入待切分文本,根據標點、數(shù)字、西文、圖表等明顯的分隔符將輸入的文本進 行粗切分,分割成一個個短文本; Step2、將粗切分的短文本作為進一步切分對象,設定進一步分詞查找長度L,其中L取 小于詞典里最大詞長的長度; Step3、取粗切分后的一個短文本的起始兩個字,在詞典里查找匹配; 若不存在當前輸入的兩個字,則表示第一個字是單字,將其切分出去; 若存在當前輸入的兩個字,則將查找文本的長度指針往后增加一個字,增加到三個字, 繼續(xù)在詞典里進行匹配; 若此三字詞不存在,則表明前兩個字是一個詞,將其切分出去,作為一次切分的結果; 接著分詞查找指針后移,取后面兩個詞進行新一輪的查找匹配; 若此三字詞存在,則繼續(xù)往后增加一個字,構成四字詞,查找此四字詞是否存在于詞典 里,以此類推,進行匹配查找,從而進行分詞; Step4、當查找到查找長度為L時,從L的下一個字符開始,重新按照步驟Step3中以此 類推的方法進行查找匹配以及分詞,直到所有短文本分詞結束。
【專利摘要】本發(fā)明涉及一種基于詞典的正向逐次加一字最大匹配中文分詞方法,屬于計算機中文文本處理技術領域。本發(fā)明包括步驟:首先讀入待切分文本,根據標點、數(shù)字、西文、圖表等明顯的分隔符將輸入的文本進行粗切分,分割成一個個短文本;將粗切分的短文本作為進一步切分對象,設定進一步分詞查找長度;取粗切分后的短文本按照正向逐次加一字的方式與字典匹配分詞,直到所有短文本分詞結束。本發(fā)明避免了傳統(tǒng)正向最大匹配分詞速率—準確率難以平衡的缺點,在切詞速度和分詞準確率方面都比傳統(tǒng)正向和逆向最大匹配分詞算法有所提高。
【IPC分類】G06F17/27
【公開號】CN105138514
【申請?zhí)枴緾N201510522091
【發(fā)明人】彭藝, 蘇黎韡, 邵玉斌, 龍華, 宋浩
【申請人】昆明理工大學
【公開日】2015年12月9日
【申請日】2015年8月24日