自然語言理解實(shí)驗(yàn)報(bào)告_第1頁
自然語言理解實(shí)驗(yàn)報(bào)告_第2頁
自然語言理解實(shí)驗(yàn)報(bào)告_第3頁
自然語言理解實(shí)驗(yàn)報(bào)告_第4頁
自然語言理解實(shí)驗(yàn)報(bào)告_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、詞頻統(tǒng)計(jì)與簡(jiǎn)單中文分詞工程報(bào)告姓 名學(xué) 號(hào)所在學(xué)院計(jì)算機(jī)與信息學(xué)院專業(yè)年級(jí)計(jì)算機(jī)10-4班報(bào)告提交時(shí)間 2013年11月17日實(shí)驗(yàn)一:中文分詞一、研究背景 所謂漢語分詞,就是將中文語句中的詞匯切分出來的過程。由于漢語的書寫習(xí)慣,漢語語句中詞與詞之間的標(biāo)志是隱含的,英文的單詞與單詞之間有空格,所以不存在分詞問題。而中文的每一句中,詞與詞之問是沒有空格的,因而必須采用某種技術(shù)將其分開。 雅虎中文網(wǎng)頁搜索技術(shù)部總監(jiān)張勤認(rèn)為:中文分詞是中文搜索技術(shù)的基礎(chǔ),只有做好了分詞,才能有好的搜索??梢姡莆樟藘?yōu)秀的分詞技術(shù)就可以在中文搜索中占有一席之地。 分詞技術(shù)作為自然語言處理的

2、基礎(chǔ)環(huán)節(jié),同時(shí)也是關(guān)鍵環(huán)節(jié)之一,它的質(zhì)量好壞直接影響到后續(xù)處理步驟的效果。漢語分詞工作看似細(xì)微,但作為計(jì)算機(jī)自然語言處理的第一步,它的關(guān)鍵作用是不容忽視的。如今漢語分詞己成為自然語言處理的研究熱點(diǎn)與難點(diǎn)。 互聯(lián)網(wǎng)絕大部分需要分詞,其中典型的實(shí)例有: 內(nèi)容分析。這方面主要包括了機(jī)器翻譯、廣告推薦、內(nèi)容監(jiān)控等。 現(xiàn)在的翻譯技術(shù),無論是在線的還是單機(jī)的,在翻譯句子或段落的時(shí)候總會(huì)讓我們不知所措,語法錯(cuò)誤明顯,詞不達(dá)意等等。究其根本原因就是因?yàn)橹形姆衷~技術(shù)的滯后和一些多義詞匯選義的把握。 中文分詞的其中一個(gè)重要功能就是為詞語的計(jì)量分析,詞頻的統(tǒng)計(jì)提供可靠的依據(jù),

3、比如漢語中最常用的詞是哪個(gè)。這使我們可以做一些廣告推薦(哪些廣告被更多次的提起)等。說明本工程所涉及的研究背景,包括主要涉及領(lǐng)域,主要研究方法,主要存在問題,現(xiàn)有解決方案等等,可以自行補(bǔ)充其他內(nèi)容二、模型方法本工程采用正向最大匹配算法:從左到右將待分詞文本中的幾個(gè)連續(xù)字符與詞表匹配,如果匹配上,則切分出一個(gè)詞。三、系統(tǒng)設(shè)計(jì)假設(shè)句子:,某一詞,m 為詞典中最長(zhǎng)詞的字?jǐn)?shù)。(1) 令 i=0,當(dāng)前指針cutbegin指向輸入字串的初始位置,執(zhí)行下面的操作:(2) 計(jì)算當(dāng)前指針cutbegin到字串末端的字?jǐn)?shù)(即未被切分字串的長(zhǎng)度)len,如果n=1,轉(zhuǎn)(4),結(jié)束算法。否則,令 m=詞典中最長(zhǎng)單詞的

4、字?jǐn)?shù),如果len<m, 令 m=n;(3)從當(dāng)前cutbegin起取m個(gè)漢字作為詞 temp,判斷: (a) 如果temp確實(shí)是詞典中的詞,則在temp后添加一個(gè)切分標(biāo)志,轉(zhuǎn)(c); (b) 如果temp不是詞典中的詞且temp的長(zhǎng)度大于1,將wi 從右端去掉一個(gè)字,轉(zhuǎn)(a)步;否則(temp的長(zhǎng)度等于1),則在temp后添加一個(gè)切分標(biāo)志,將temp作為單字詞添加到詞典中,執(zhí)行 (c)步; (c) 根據(jù) wi 的長(zhǎng)度修改指針cutbegin的位置,如果cutbegin指向字串末端,轉(zhuǎn)(4),否則, i=i+1,返回 (2);(4) 輸出切分結(jié)果,結(jié)束分詞程序。源程序代碼如下:#inclu

5、de<iostream>#include<string>#include<fstream>#include<cstdlib>using namespace std;const int maxlen=8*2; /定義最大詞長(zhǎng)為8個(gè)漢字void error(const char * p,const char * p2="")std:cerr<<p<<' '<<p2<<'n'exit(-1);int main(int argc,char*argv)std

6、:ifstream dic("dictionary.txt",ios_base:in);if(!dic)error("不能打開dic文件");std:ifstream from("from.txt",ios_base:in);if(!from)error("不能打開from文件");std:ofstream to("to.txt",ios_base:out);if(!to)error("不能打開to文件");char ch;string s_dic;string s_from

7、;string s1,s2;while(getline(dic,s1)s_dic+=s1;s_dic+='n'while(getline(from,s2)s_from+=s2;/s_from+='n'int len=maxlen;int cutbegin=0;string temp;int s_from_length=s_from.length();/cout<<s_from;while(cutbegin<s_from_length)temp=s_from.substr(cutbegin,len);if(s_dic.find(temp)!=-1

8、)cutbegin=cutbegin+len;len=maxlen;to<<temp<<" "std:cout<<temp<<" "elseif(len=2)cutbegin=cutbegin+len;len=maxlen;to<<temp<<" "std:cout<<temp<<" "elselen=len-2;std:cout<<endl;if(!dic.eof()error("有錯(cuò)誤發(fā)生n&q

9、uot;);return 1;四、系統(tǒng)演示與分析實(shí)驗(yàn)分析: 從上述結(jié)果可以看出,基本上程序輸出的結(jié)果是正確的,只有少數(shù)詞存在一些誤差。而這些誤差對(duì)于這個(gè)算法是完全允許的。可見,正向最大匹配法并不能做到完美。有時(shí)逆向最大匹配法會(huì)比正向最大匹配法四處結(jié)果要好很多五、對(duì)本門課的感想、意見和建議通過這門課程的學(xué)習(xí),我獲益良多。從剛開始的迷茫到后來的豁然開朗,讓我在學(xué)習(xí)的過程中感受到獲得知識(shí)的樂趣。在上級(jí)實(shí)驗(yàn)中老師和學(xué)長(zhǎng)的悉心指導(dǎo)也給了很大幫助。學(xué)習(xí)自然語言理解,讓我對(duì)計(jì)算機(jī)的用途和功能有了更大程度上的理解,開拓了我的視野。實(shí)驗(yàn)二:詞頻統(tǒng)計(jì)一、研究背景在人們用語言進(jìn)行交際活動(dòng)時(shí),語言成分的使用顯示出一定

10、的規(guī)律性,因此可使用統(tǒng)計(jì)方法對(duì)其進(jìn)行研究統(tǒng)計(jì),語言學(xué)采用概率論、數(shù)理統(tǒng)計(jì)以及信息論等數(shù)學(xué)工具來研究語言成分出現(xiàn)的概率和頻率,從而揭示語言的統(tǒng)計(jì)規(guī)律。從形式上看,詞是穩(wěn)定的字的組合,因此在上下文中,相鄰的字同時(shí)出現(xiàn)的次數(shù)越多,就越有可能構(gòu)成一個(gè)詞。因此字與字相鄰共現(xiàn)的頻率或概率能夠較好地反應(yīng)成詞的可信度。這就是詞頻統(tǒng)計(jì)的基本原理,這種技術(shù)發(fā)展至今已經(jīng)有許多不同的統(tǒng)計(jì)原理。詞頻統(tǒng)計(jì)法也就是向量空間模型采用的相似度計(jì)算方法。許多搜索引擎都以索引項(xiàng)的詞頻和位置作為相關(guān)度的判定標(biāo)準(zhǔn),采用前述的詞頻加權(quán)方法來計(jì)算相關(guān)度。一個(gè)詞在網(wǎng)頁文檔中出現(xiàn)的頻率越高,它代表該文檔主題的程度就越大,其作為索引項(xiàng)的準(zhǔn)確性也

11、就越高,權(quán)值就越大。因此詞頻統(tǒng)計(jì)在網(wǎng)絡(luò)搜索中意義重大。二、模型方法本工程采用基于分詞系統(tǒng)的詞頻統(tǒng)計(jì)方法,建立結(jié)構(gòu)體struct DATAstring str1000;int num1000;分別存儲(chǔ)文本中出現(xiàn)的詞和次數(shù)進(jìn)行統(tǒng)計(jì)。三、系統(tǒng)設(shè)計(jì)源代碼如下/ cipin.cpp : 定義控制臺(tái)應(yīng)用程序的入口點(diǎn)。/#include "stdafx.h"#include<iostream>#include<string>#include<fstream>#include<iomanip>#include<cstdlib>us

12、ing namespace std;/定義常量const int maxlen=8*2; const int maxdata=100;/定義結(jié)構(gòu)體保存讀入的詞struct DATAstring str1000;int num1000;void error(const char * p,const char * p2="")std:cerr<<p<<' '<<p2<<'n'exit(-1);int main(int argc,char*argv)/打開字典文件std:ifstream dic(&q

13、uot;D:wordlist_2.txt",ios_base:in);if(!dic)error("Open wordlist_2.txt !");else cerr << "Open wordlist_2.txt !" << endl ;/打開材料文件std:ifstream from("D:source.txt",ios_base:in);if(!from)error("Open source.txt !");else cerr << "Open sour

14、ce.txt !" << endl ;/打開輸入文件std:ofstream to("D:des.txt",ios_base:out);if(!to)error("Open des.txt !");else cerr << "Open des.txt !" << endl ;DATA data;string s_dic;string s_from;string s1,s2;/初始化data結(jié)構(gòu)體for(int i=0;i<maxdata;i+)data.stri="&quo

15、t;data.numi=0;/從字典問件中讀出一行存到s_dic中while(getline(dic,s1)s_dic+=s1;s_dic+='n'/從資料文件中讀取一行,添加到s_form后面while(getline(from,s2)s_from+=s2;int cut=0;int len=maxlen;int cutbegin=0;string temp;int s_from_length=s_from.length();while(cutbegin<s_from_length)bool isnew=true; /判斷標(biāo)記,看不是不第一次出現(xiàn)temp=s_from.

16、substr(cutbegin,len);if(s_dic.find(temp)!=-1)cutbegin=cutbegin+len;len=maxlen;for(int i=0;i<maxdata;i+)if(data.stri=temp)data.numi+;isnew=false;if(isnew=true)data.strcut=temp;data.numcut+;cut+;elseif(len=2)cutbegin=cutbegin+len;len=maxlen;for(int i=0;i<maxdata;i+)if(data.stri=temp)data.numi+;i

17、snew=false;if(isnew=true)data.strcut=temp;data.numcut+;cut+;elselen=len-2;for(int j=0;j<maxdata;j+)if(data.strj!="")to << setw(4)<< data.strj << setw(3) << data.numj << "n" ;std:cout << setw(4) << data.strj << setw(3) << data.numj << "n" ;std:cout<<endl;if(!dic.eof()error("Wrong!n");return 1;四、系統(tǒng)演示與分析在對(duì)“四是四,十是十,十四是十四,四十是四十。莫把四字說成十,休將十字說成四。若要分

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論