實驗報告-中文分詞_第1頁
實驗報告-中文分詞_第2頁
實驗報告-中文分詞_第3頁
實驗報告-中文分詞_第4頁
實驗報告-中文分詞_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、精選優(yōu)質文檔-傾情為你奉上實驗報告1 雙向匹配中文分詞 小組信息目錄摘要 - 1理論描述 - 1算法描述 - 2詳例描述 - 3軟件演示 - 4總結 - 6 摘要 這次實驗的內容是中文分詞,現(xiàn)有的分詞算法可分為三大類:基于字符串匹配的分詞方法、基于理解的分詞方法和基于統(tǒng)計的分詞方法。按照是否與詞性標注過程相結合,又可以分為單純分詞方法和分詞與標注相結合的一體化方法。而我們用到的分詞算法是基于字符串的分詞方法(又稱機械分詞方法)中的正向最大匹配算法和逆向匹配算法。一般說來,逆向匹配的切分精度略高于正向匹配,遇到的歧義現(xiàn)象也較少。統(tǒng)計結果表明,單純使用正向最大匹配的錯誤率為1/169,單純使用逆向

2、最大匹配的錯誤率為1/245。 理論描述中文分詞指的是將一個漢字序列切分成一個一個單獨的詞。中文分詞是文本挖掘的基礎,對于輸入的一段中文,成功的進行中文分詞,可以達到電腦自動識別語句含義的效果。它是信息提取、信息檢索、機器翻譯、文本分類、自動文摘、語音識別、文本語音轉換、自然語言理解等中文信息處理領域的基礎。雙向最大匹配算法是兩個算法的集合,主要包括:正向最大匹配算法和逆向最大匹配算法如果兩個算法得到相同的分詞結果,那就認為是切分成功,否則,就出現(xiàn)了歧義現(xiàn)象或者是未登錄詞問題。正向最大匹配算法:從左到右將待分詞文本中的幾個連續(xù)字符與詞表匹配,如果匹配上,則切分出一個詞。逆向最大匹配算法:從右到

3、左將待分詞文本中的幾個連續(xù)字符與詞表匹配,如果匹配上,則切分出一個詞。 算法描述本文實現(xiàn)雙向匹配算法,具體算法描述如下: 正向最大匹配算法MM:/對純中文句子s1的正向減字最大匹配分詞string CHzSeg:SegmentHzStrMM(CDict &dict,string s1)conststring s2=;/保存句子s1的分詞結果while(!s1.empty()unsigned int len=s1.size();/如果待切分的句子大于最大切分單元/len=最大切分單元,否則len=句子的長度if(lenMAX_WORD_LENGTH)len=MAX_WORD_LENGTH;/取s

4、1句子最左邊長度len為的子句子string w=s1.substr(0,len);/判斷剛剛取出來的子句子是不是一個詞bool isw=dict.IsWord(w);/當w中至少有一個中文字&不能構成字的時候,減去最右邊的一個中文字while(len2&isw=false)/減去最右邊的一個中文字len-=2;w=w.substr(0,len);/再次判斷減字后的w是不是構成一個詞isw=dict.IsWord(w);s2+=w+SEPARATOR;s1=s1.substr(w.size();/end whilereturn s2;逆向最大匹配算法RMM: /對純中文句子s1的逆向減字最大匹

5、配分詞string CHzSeg:SegmentHzStrRMM(CDict &dict,string s1)conststring s2=;/保存句子s1的分詞結果while(!s1.empty()unsigned int len=s1.size();/如果待切分的句子大于最大切分單元/len=最大切分單元,否則len=句子的長度if(lenMAX_WORD_LENGTH)len=MAX_WORD_LENGTH;/取s1句子最右邊長度len為的子句子string w=s1.substr(s1.length()-len,len);/判斷剛剛取出來的子句子是不是一個詞bool isw=dict.

6、IsWord(w);/當w中至少有一個中文字&不能構成字的時候,減去最左邊的一個中文字while(len2&isw=false)/減去最左邊的一個中文字len-=2;w=s1.substr(s1.length()-len,len);/再次判斷減字后的w是不是構成一個詞isw=dict.IsWord(w);w=w+SEPARATOR;s2=w+s2;/分出一個詞后的s1s1=s1.substr(0,s1.length()-len);return s2; 詳例描述: 逆向最大匹配思想是從右向左切分,以“對外經(jīng)濟技術合作與交流不斷擴大”為例,詳細描述算法如下 :輸入例句:S1=“對外經(jīng)濟技術合作與交

7、流不斷擴大” ;定義:最大詞長MaxLen = 6;S2= “”;分隔符 = “/ ”;逆向減字最大匹配分詞算法過程如下:(1)S2=“”;S1不為空,從S1右邊取出候選子串W=“斷擴大”;(2)查詞表,W不在詞表中,將W最左邊一個字去掉,得到W=“擴大”;(3)查詞表,“擴大”在詞表中,將W加入到S2中,S2=“ 擴大/ ”,并將W從S1中去掉,此時S1=“對外經(jīng)濟技術合作與交流不斷”;(4)S1不為空,于是從S1左邊取出候選子串W=“流不斷”;(5)查詞表,W不在詞表中,將W最左邊一個字去掉,得到W=“不斷”;(6)查詞表,“不斷”在詞表中,將W加入到S2中,S2=“不斷/ 擴大/ ”,并

8、將W從S1中去掉,此時S1=“對外經(jīng)濟技術合作與交流”;(7)S1不為空,于是從S1左邊取出候選子串W=“與交流”;(8)查詞表,W不在詞表中,將W最左邊一個字去掉,得到W=“交流”;(9)查詞表,“交流”在詞表中,將W加入到S2中,S2=“交流/ 不斷/ 擴大/ ”,并將W從S1中去掉,此時S1=“對外經(jīng)濟技術合作與”;(10)S1不為空,于是從S1左邊取出候選子串W=“合作與”;(11)查詞表,W不在詞表中,將W最左邊一個字去掉,得到W=“作與”;(12)查詞表,W不在詞表中,將W最左邊一個字去掉,得到W=“與”;(13)查詞表,“與”在詞表中,將W加入到S2中,S2=“與/ 交流/ 不斷

9、/ 擴大/ ”,并將W從S1中去掉,此時S1=“對外經(jīng)濟技術合作”;(14)S1不為空,于是從S1左邊取出候選子串W=“術合作”;(15)查詞表,W不在詞表中,將W最左邊一個字去掉,得到W=“合作”;(16)查詞表,“交流”在詞表中,將W加入到S2中,S2=“合作/ 與/ 交流/ 不斷/ 擴大/ ”,并將W從S1中去掉,此時S1=“對外經(jīng)濟技術”;(17)S1不為空,于是從S1左邊取出候選子串W=“濟技術”;(18)查詞表,W不在詞表中,將W最左邊一個字去掉,得到W=“技術”;(19)查詞表,“交流”在詞表中,將W加入到S2中,S2=“技術/ 合作/ 與/ 交流/ 不斷/ 擴大/”,并將W從S

10、1中去掉,此時S1=“對外經(jīng)濟(20)S1不為空,于是從S1左邊取出候選子串W=“外經(jīng)濟”;(21)查詞表,W不在詞表中,將W最左邊一個字去掉,得到W=“經(jīng)濟”;(22)查詞表,“交流”在詞表中,將W加入到S2中,S2=“經(jīng)濟/ 技術/ 合作/ 與/ 交流/ 不斷/ 擴大/ ”,并將W從S1中去掉,此時S1=“對外”; (23)S1不為空,由于此時S1只剩下“對外”于是從S1左邊取出候選子串W=“對外”;(24)查詞表,“對外”在詞表中,將W加入到S2中,S2=“對外/ 經(jīng)濟/ 技術/ 合作/ 與/ 交流/ 不斷/ 擴大/ ”,并將W從S1中去掉,此時S1=“”;(25)S1為空,輸出S2作為分詞結果,分詞過程結束。正向匹配法思想與逆向一樣,只是從左向右切分,因此只舉例逆向最大匹配算法描述。 軟件演示: 軟件界面:選擇分詞所要的方式(正向或逆向),然后輸入所要分詞的內容,分詞結果就會在右邊顯示出來。正向最大匹配分詞結果:逆向最大匹

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論