自然語言處理理論與應(yīng)用 課件 第2章 文本預(yù)處理_第1頁
自然語言處理理論與應(yīng)用 課件 第2章 文本預(yù)處理_第2頁
自然語言處理理論與應(yīng)用 課件 第2章 文本預(yù)處理_第3頁
自然語言處理理論與應(yīng)用 課件 第2章 文本預(yù)處理_第4頁
自然語言處理理論與應(yīng)用 課件 第2章 文本預(yù)處理_第5頁
已閱讀5頁,還剩63頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

文本清洗和去噪詞法分析句法分析語義分析1第2章文本預(yù)處理主要內(nèi)容:學(xué)習(xí)目標(biāo):(1)深入領(lǐng)會(huì)文本預(yù)處理的核心意義及關(guān)鍵步驟,并明晰其在自然語言處理流程中不可或缺的步驟。(2)熟練掌握詞法分析的基礎(chǔ)理念與技術(shù)手段,深化理解中文分詞的內(nèi)在機(jī)制與實(shí)施方法,并能熟練運(yùn)用詞性標(biāo)注工具對(duì)文本進(jìn)行精確的詞性標(biāo)注。(3)全面掌握句法分析庫的相關(guān)知識(shí)與評(píng)估方法,能夠熟練操作依存句法分析工具,對(duì)文本進(jìn)行精準(zhǔn)的句法結(jié)構(gòu)分析。(4)精通詞義消歧的技術(shù)方法,并掌握語義角色標(biāo)注的核心理念與操作技巧,以實(shí)現(xiàn)對(duì)文本深層語義的準(zhǔn)確解析與標(biāo)注。2.1文本清洗和去噪文本清洗和去噪是自然語言處理中至關(guān)重要的步驟,旨在剔除文本中的噪聲和冗余信息,從而顯著提升文本的質(zhì)量。這一過程主要包括去除文本中的無用部分、停用詞,并將繁體轉(zhuǎn)為簡(jiǎn)體、全角字符轉(zhuǎn)為半角字符、剔除數(shù)字和特殊字符,以及去除空白行和空行等。常用的文本清洗和去噪的代碼:importredeftext_cleaning(text):

text=re.sub(r'[^\w\s]','',text)stopwords=['的','是','在’]text=''.join([wordforwordintext.split()ifwordnotinstopwords])text=text.replace('繁體','簡(jiǎn)體')text=''.join([chr(ord(c)-65248)if65281<=ord(c)<=65374elsecforcintext])text=re.sub(r'\d+','',text)text=''.join([lineforlineintext.split('')ifline.strip()])returntexttext="我們來測(cè)試下列文本。在這個(gè)文本中包含了一些特殊符號(hào)!@#¥%……&*()——+【】{}|;':\"<>?,./。"cleaned_text=text_cleaning(text)print(cleaned_text)2.2詞法分析詞法分析作為自然語言處理領(lǐng)域中的基石,扮演著至關(guān)重要的角色。其核心任務(wù)是將輸入的字符串切分為獨(dú)立的詞或標(biāo)記,這些詞或標(biāo)記構(gòu)成了自然語言處理的基本單元。在中文詞法分析領(lǐng)域,主要存在3種方法。(1)基于規(guī)則的方法,它依賴預(yù)設(shè)的語法規(guī)則進(jìn)行切分。(2)基于統(tǒng)計(jì)的方法,它利用語料庫中的統(tǒng)計(jì)信息來識(shí)別詞邊界。(3)基于規(guī)則與統(tǒng)計(jì)的混合方法,它結(jié)合了前兩者的優(yōu)勢(shì),以提高詞法分析的準(zhǔn)確性和效率。2.2.1中文分詞現(xiàn)有的中文分詞算法大致可以分為三大類:基于字符串匹配的分詞方法、基于理解的分詞方法和基于統(tǒng)計(jì)的分詞方法。基于字符串匹配的分詞方法:正向最大匹配法逆向最大匹配法雙向最大匹配法正向最大匹配法正向最大匹配法是一種基于詞典的分詞方法,其基本思想是:假定詞典(或稱機(jī)器詞典)中最長(zhǎng)詞條的長(zhǎng)度為L(zhǎng),則用被處理文檔當(dāng)前字符串序列中的前L個(gè)字符作為一個(gè)詞,與詞典中的詞條進(jìn)行匹配。若詞典中存在這樣一個(gè)詞條,則該詞匹配成功(識(shí)別出一個(gè)詞)。此時(shí),將匹配成功的這個(gè)詞從字符串序列中刪去,然后繼續(xù)用下一個(gè)長(zhǎng)度為L(zhǎng)的字符串進(jìn)行匹配;若詞典中不存在這樣一個(gè)詞,則匹配失敗,此時(shí)將匹配字符串的最后一個(gè)字去掉,對(duì)剩下的字符串重新進(jìn)行匹配。如此進(jìn)行下去,直到整個(gè)字符串序列中的字全部處理完畢。第1步,假定分詞詞典中最長(zhǎng)詞有i個(gè)漢字字符,使用被處理的當(dāng)前字串中的前i個(gè)字符作為匹配字段,查找字典。第2步,若在詞典中找到了這樣一個(gè)i個(gè)字符的詞,則認(rèn)為匹配成功;否則,將匹配字段中的最后一個(gè)字符去掉,對(duì)剩下的字符串重復(fù)上述過程。第3步,這個(gè)過程會(huì)持續(xù)進(jìn)行,直到句子掃描完畢,也就是說,會(huì)盡可能多地從句子中切分出詞典中的詞語。具體步驟如下:例:我愛黃河母親河第1步,選取窗口。窗口大小為3(因?yàn)樵~典中最長(zhǎng)的長(zhǎng)度為3的詞為“母親河”)。第2步,向前匹配。每次匹配時(shí),將匹配字段的前k個(gè)字符去掉,k取決于詞典中的詞長(zhǎng)。第一次匹配“母親河”→命中{'母親河'},第二次匹配“愛黃河”→無,第三次匹配“黃河”→命中{'母親河','黃河'}。第3步,得出結(jié)果。最終分詞結(jié)果為“我”“愛”“黃河”“母親河”。逆向最大匹配法逆向最大匹配法的原理與正向最大匹配法的原理基本相同,不同的是分詞切分的方向相反,而且使用的分詞詞典也不同。由于漢語中主語和謂語的結(jié)構(gòu)特點(diǎn),逆向匹配對(duì)歧義字段的分詞很有效。統(tǒng)計(jì)結(jié)果表明,逆向最大匹配法的分詞精度略高于正向最大匹配法。例:我愛黃河母親河第1步,假定分詞詞典中的最長(zhǎng)詞有3個(gè)漢字字符,從文檔末端開始匹配掃描,每次取最末端的3個(gè)字符作為匹配字段,即“我愛黃河母親河”→“母親河”。第2步,在詞典中查找“母親河”,如果找到,則匹配成功,分詞結(jié)果為“我愛”“黃河”“母親河”。第3步,如果沒找到,將匹配字段中最前面的一個(gè)字符去掉,即去掉“母”,得到新的匹配字段“親河”,繼續(xù)在詞典中查找“親河”。第4步,如果找到,則匹配成功,分詞結(jié)果為“我愛”“黃河”“母親河”。第5步,如果還沒找到,則繼續(xù)重復(fù)上述步驟,直到句子被掃描完為止。

雙向最大匹配法雙向最大匹配法是一種綜合了正向最大匹配法和逆向最大匹配法的分詞方法。在雙向最大匹配法中,首先根據(jù)標(biāo)點(diǎn)對(duì)文檔進(jìn)行粗切分,把文檔分解成若干個(gè)句子,然后再對(duì)這些句子用正向最大匹配法和逆向最大匹配法進(jìn)行掃描切分。對(duì)于每個(gè)句子,雙向最大匹配法會(huì)分別使用正向最大匹配法和逆向最大匹配法進(jìn)行分詞處理,得到兩種可能的分詞結(jié)果。然后,根據(jù)“大顆粒度詞越多越好,非詞典詞和單字詞越少越好”的原則,選取其中一種分詞結(jié)果作為最終的輸出。這種方法有效地結(jié)合了正向最大匹配法和逆向最大匹配法的優(yōu)點(diǎn),能夠在不同的語境和語序中都得到較好的分詞結(jié)果。

例:我愛黃河母親河第1步,使用標(biāo)點(diǎn)符號(hào)對(duì)句子進(jìn)行粗切分,得到兩個(gè)句子:“我愛黃河母親河”“?!?。第2步,對(duì)于第一個(gè)句子“我愛黃河母親河”,會(huì)分別使用正向最大匹配法和逆向最大匹配法進(jìn)行掃描切分。

如果使用正向最大匹配法,會(huì)先將“我”作為一個(gè)詞,然后在詞典中查找,發(fā)現(xiàn)不存在,于是去掉“我”,將“愛黃”作為新的詞進(jìn)行查找,發(fā)現(xiàn)存在,于是識(shí)別出一個(gè)詞“愛黃”。然后繼續(xù)處理剩下的字符串“河母親河。”,以此類推。如果使用逆向最大匹配法,會(huì)先將“愛黃河母親河”作為一個(gè)詞,然后在詞典中查找,發(fā)現(xiàn)不存在,于是去掉最后一個(gè)字“河”,將“愛黃”作為新的詞進(jìn)行查找,發(fā)現(xiàn)存在,于是識(shí)別出一個(gè)詞“愛黃”。然后繼續(xù)處理剩下的字符串“河母親河。”,以此類推。第3步,根據(jù)“大顆粒度詞越多越好,非詞典詞和單字詞越少越好”的原則,選取其中一種分詞結(jié)果作為最終的輸出。

2.2.1.2基于理解的分詞方法基于理解的分詞方法是一種通過讓計(jì)算機(jī)模擬人對(duì)句子的理解,從而達(dá)到識(shí)別詞的效果的分詞方法。這種方法的基本思想是在分詞的同時(shí)進(jìn)行語法、語義分析,利用分析結(jié)果解決分詞中的歧義問題。它通常包括分詞子系統(tǒng)、句法語義子系統(tǒng)和總控部分。在總控部分的協(xié)調(diào)下,分詞子系統(tǒng)可以獲得有關(guān)詞、句子等的句法和語義信息,進(jìn)而對(duì)分詞歧義進(jìn)行判斷。這種分詞方法模擬了人對(duì)句子的理解過程,但需要使用大量的語言知識(shí)和信息進(jìn)行訓(xùn)練。2.2.1.3基于統(tǒng)計(jì)的分詞方法基于統(tǒng)計(jì)的分詞方法是目前應(yīng)用最廣泛的分詞方法之一。它結(jié)合統(tǒng)計(jì)學(xué)原理,利用大量語料庫進(jìn)行訓(xùn)練和學(xué)習(xí),從而實(shí)現(xiàn)對(duì)文本的分詞。該方法不依賴預(yù)先編制好的詞典,而是通過對(duì)文本中相鄰字同時(shí)出現(xiàn)的頻率的統(tǒng)計(jì)信息進(jìn)行分析,找出詞與詞之間的邊界?;诮y(tǒng)計(jì)的分詞方法的核心思想是相鄰的字同時(shí)出現(xiàn)的次數(shù)越多,就越有可能構(gòu)成一個(gè)詞。因此,通過對(duì)訓(xùn)練文本中相鄰的各字的組合頻率進(jìn)行分析,可以計(jì)算出字與字之間的互現(xiàn)信息,進(jìn)而反映成詞的可信度。當(dāng)這種互現(xiàn)信息的緊密程度超過某個(gè)閾值時(shí),就可以認(rèn)為這些字構(gòu)成了一個(gè)詞。步驟:第1步,需要構(gòu)建一個(gè)語言模型,這通常是利用大量語料庫進(jìn)行訓(xùn)練得到的。第2步,對(duì)輸入的句子進(jìn)行單詞劃分,這個(gè)過程可以通過一些統(tǒng)計(jì)方法來實(shí)現(xiàn),如隱馬爾可夫模型或條件隨機(jī)場(chǎng)等。第3步,根據(jù)統(tǒng)計(jì)結(jié)果,選擇概率最大的分詞方式作為輸出結(jié)果。

1.N-gram語言模型的分詞方法

N-gram語言模型是一種基于N個(gè)連續(xù)字母或單獨(dú)字母的組合來進(jìn)行分詞的方法,它通過計(jì)算字符串中每種劃分的概率來確定最佳的分詞方式。在這種方法中,假設(shè)一個(gè)詞的出現(xiàn)只與前面N-1個(gè)詞相關(guān)。具體來說,設(shè)S為一個(gè)自然句子,w1,w2,…,wn

為構(gòu)成S的詞,句子S出現(xiàn)的概率為p(S),這種分詞方法會(huì)選取概率最大的分詞結(jié)果作為最終結(jié)果。p(S)的計(jì)算方法如式(2.1)所示。

p(S)=p(w1,w2,…,wn)

(2.1)

假設(shè)每一個(gè)詞wi都要受到第一個(gè)詞w1到它之前一個(gè)詞wi-1的影響,則由條件概率,S出現(xiàn)的概率等于每個(gè)詞出現(xiàn)的概率乘積,如公式(2.2)所示。p(S)=p(w1,w2,?,wn)=p(w1)p(w2|w1)?p(wn|wn-1?w2

w1)(2.2)

N-gram語言模型的具體步驟如下:第1步,數(shù)據(jù)預(yù)處理。數(shù)據(jù)預(yù)處理是分詞過程中的重要環(huán)節(jié),旨在去除文本中的標(biāo)點(diǎn)符號(hào)、停用詞和特殊字符等冗余信息,以便更準(zhǔn)確地識(shí)別文本中的語義信息。預(yù)處理過程中,需要使用各種技術(shù)手段,如正則表達(dá)式、字符串替換等,以高效處理大量文本數(shù)據(jù)。第2步,構(gòu)建N-gram語言模型。根據(jù)預(yù)處理后的文本,將文本切分成若干個(gè)字母或字的組合,其中,N表示每個(gè)組合的長(zhǎng)度。在構(gòu)建N-gram語言模型時(shí),需要對(duì)預(yù)處理后的文本進(jìn)行切分,形成一系列N-gram序列。第3步,計(jì)算頻率和概率。這一步是分詞過程中的重要環(huán)節(jié)。通過統(tǒng)計(jì)N-gram序列中每個(gè)組合的出現(xiàn)次數(shù),計(jì)算出它們的頻率和概率。這些信息對(duì)于后續(xù)的分詞結(jié)果選擇具有重要的參考價(jià)值。第4步,分詞結(jié)果。通過比較N-gram序列的頻率和概率,選擇出現(xiàn)次數(shù)最高的組合作為分詞結(jié)果。這種方法可以有效提高分詞的準(zhǔn)確性和效率。最終的分詞結(jié)果將作為后續(xù)自然語言處理任務(wù)的輸入,對(duì)于后續(xù)任務(wù)的效果至關(guān)重要

例如,對(duì)字符串“我喜歡吃蘋果,因?yàn)樘O果很好吃。我也喜歡吃香蕉,因?yàn)橄憬逗芴稹!边M(jìn)行分詞.fromcollectionsimportdefaultdictdeftrain_ngram_model(text,n):tokens=nltk.word_tokenize(text)model=defaultdict(lambda:defaultdict(lambda:0))foriinrange(len(tokens)-n+1):ngram=tuple(tokens[i:i+n])next_word=tokens[i+n]model[ngram][next_word]+=1forngraminmodel:total_count=float(sum(model[ngram].values()))forwordinmodel[ngram]:model[ngram][word]/=total_countreturnmodel

defgenerate_text(model,n,start_sequence,num_words):

current_sequence=list(start_sequence)output_text="".join(current_sequence)for_inrange(num_words):iflen(current_sequence)<n:ngram=tuple(current_sequence)else: ngram=tuple(current_sequence[-n+1:])next_word_probs=model[ngram]

next_word=max(next_word_probs,key=next_word_probs.get)

current_sequence.append(next_word)output_text+=""+next_wordreturnoutput_texttext="我喜歡吃蘋果,因?yàn)樘O果很好吃。我也喜歡吃香蕉,因?yàn)橄憬逗芴稹?n=2start_sequence=("我","喜歡")num_words=5model=train_ngram_model(text,n)generated_text=generate_text(model,n,start_sequence,num_words)print(generated_text)

2.隱馬爾可夫模型的分詞方法隱馬爾可夫模型是自然語言處理領(lǐng)域備受關(guān)注的一種模型,是一種概率模型,也是一種有向圖模型,用于解決序列預(yù)測(cè)問題,可以對(duì)序列數(shù)據(jù)中的上下文信息進(jìn)行建模。隱馬爾可夫模型主要用于描述包含隱含未知參數(shù)的馬爾可夫過程。在隱馬爾可夫模型中,存在兩種類型的節(jié)點(diǎn),分別是觀測(cè)序列和狀態(tài)序列。狀態(tài)序列是不可見的,它們的值需要通過對(duì)觀測(cè)序列進(jìn)行推斷來獲得。許多現(xiàn)實(shí)應(yīng)用可以抽象為狀態(tài)序列,如語音識(shí)別、自然語言處理中的分詞和詞性標(biāo)注等。隱馬爾可夫模型結(jié)構(gòu)如圖2.1所示。

例如,對(duì)句子“我喜歡吃蘋果和香蕉”利用隱馬爾可夫模型進(jìn)行分詞,假設(shè)有一個(gè)簡(jiǎn)單的語料庫,包含三個(gè)詞性:名詞(N)、動(dòng)詞(V)和連詞(C)。使用這個(gè)語料庫訓(xùn)練一個(gè)隱馬爾可夫模型,然后使用該模型對(duì)新的句子進(jìn)行分詞。importnumpyasnpfromhmmlearnimporthmm#語料庫corpus=[('我','N'),('喜歡','V'),('吃','V'),('蘋果','N'),('和','C'),('香蕉','N')]defextract_features(word):return{'length':len(word)}X=np.array([[extract_features(word)['length']]forword,_incorpus])model=hmm.GaussianHMM(n_components=2,covariance_type="diag",n_iter=1000)model.fit(X)new_sentence='我喜歡吃蘋果和香蕉’words=new_sentence.split()new_X=np.array([[extract_features(word)['length']]forwordinwords])predicted_states=model.predict(new_X)fori,wordinenumerate(words):print(f"{word}:{corpus[predicted_states[i]][1]}")

3.條件隨機(jī)場(chǎng)的分詞方法條件隨機(jī)場(chǎng)是Lafferty等人于2001年提出的,結(jié)合了最大熵模型和隱馬爾可夫模型的特點(diǎn),是一種判別式模型。條件隨機(jī)場(chǎng)用于建模輸出隨機(jī)變量在給定一組輸入隨機(jī)變量條件下的條件概率分布。它的特點(diǎn)是假設(shè)輸出隨機(jī)變量構(gòu)成馬爾可夫隨機(jī)場(chǎng)。條件隨機(jī)場(chǎng)可以用于不同的預(yù)測(cè)問題。生成式模型是直接對(duì)聯(lián)合分布進(jìn)行建模的,而判別式模型則是對(duì)條件分布進(jìn)行建模的,隱馬爾可夫模型是生成式模型,條件隨機(jī)場(chǎng)是判別式模型。條件隨機(jī)場(chǎng)常用于標(biāo)注或分析序列資料,如自然語言文字或生物序列。近年來,條件隨機(jī)場(chǎng)在分詞、詞形標(biāo)注和命名實(shí)體識(shí)別等序列標(biāo)注中取得了很好的效果。

第1步,準(zhǔn)備訓(xùn)練數(shù)據(jù)。收集大量帶標(biāo)簽的文本數(shù)據(jù),其中每個(gè)文本都被分成若干個(gè)詞語,每個(gè)詞語都有一個(gè)對(duì)應(yīng)的標(biāo)簽??梢允褂瞄_源的中文分詞數(shù)據(jù)集訓(xùn)練數(shù)據(jù),如PKU、MSRA等。第2步,構(gòu)建特征函數(shù)。根據(jù)問題的特點(diǎn),設(shè)計(jì)合適的特征函數(shù)。例如,可以使用字符級(jí)別的特征、詞性特征、上下文特征等。字符級(jí)別的特征:當(dāng)前字符是否為漢字、是否為標(biāo)點(diǎn)符號(hào)等。詞性特征:當(dāng)前詞是否為名詞、動(dòng)詞等。上下文特征:當(dāng)前詞的前一個(gè)詞和后一個(gè)詞是否相同、當(dāng)前詞是否在一個(gè)固定的詞組中等。第3步,訓(xùn)練條件隨機(jī)場(chǎng)模型。使用訓(xùn)練數(shù)據(jù)和特征函數(shù),訓(xùn)練一個(gè)條件隨機(jī)場(chǎng)模型??梢允褂矛F(xiàn)有的庫,如Python的sklearn-crfsuite庫。以“我愛黃河母親河”為例。

2.2.2詞性標(biāo)注詞性是詞語的固有屬性,它依據(jù)詞語在句子中扮演的語法角色及與周圍詞語的相互關(guān)系進(jìn)行分類。詞性標(biāo)注,亦稱語法標(biāo)注或詞類辨析,是語料庫語言學(xué)中一項(xiàng)關(guān)鍵的文本數(shù)據(jù)處理技術(shù)。該技術(shù)旨在根據(jù)詞語的含義及上下文內(nèi)容,為語料庫中的每個(gè)詞語標(biāo)注詞性。簡(jiǎn)而言之,詞性標(biāo)注就是在特定的語境中,確定句子中各詞語的詞性歸屬。作為自然語言處理中的一項(xiàng)基礎(chǔ)性且至關(guān)重要的任務(wù),詞性標(biāo)注對(duì)于句法分析、信息抽取等后續(xù)工作具有舉足輕重的意義,它為這些更為復(fù)雜的自然語言處理任務(wù)奠定了堅(jiān)實(shí)的基礎(chǔ)。2.2.2.2中文分詞的分類及作用在漢語中,詞作為能夠完整表達(dá)語義的最小單位,扮演著不可或缺的角色。漢語的詞語可以被清晰地劃分為實(shí)詞和虛詞兩大類。實(shí)詞是指那些能夠獨(dú)立作為句子成分的詞,它們不僅具備豐富的詞匯意義,同時(shí)也承載著重要的語法功能。具體來說,實(shí)詞涵蓋了名詞、動(dòng)詞、形容詞、數(shù)詞、量詞及代詞等多種類型,在漢語中發(fā)揮著至關(guān)重要的作用,共同構(gòu)建了漢語的豐富表達(dá)體系。

表2.1列舉了實(shí)詞中關(guān)于名詞和動(dòng)詞的分類及意義,為深入理解這兩類實(shí)詞提供了清晰的框架。

虛詞虛詞在漢語中雖然不承載具體的詞匯意義,卻扮演著連接、修飾或強(qiáng)調(diào)其他詞語的關(guān)鍵角色。它們種類繁多,包括介詞、連詞、助詞、副詞和感嘆詞等。

2.2.2.3詞性標(biāo)注的困難中文分詞工具種類繁多。其中,jieba分詞、HanLP和FoolNLTK等都是備受推崇的工具。這些分詞工具各有特色,運(yùn)用了不同的分詞算法來實(shí)現(xiàn)文本的切分,包括最短路徑分詞、N元語法分詞、由字構(gòu)詞分詞、循環(huán)神經(jīng)網(wǎng)絡(luò)分詞及Transformer分詞等。盡管這些工具在標(biāo)注體系上存在差異,但它們的詞性標(biāo)注類別大致相似,這為文本分析和處理提供了便利。

在進(jìn)行關(guān)鍵詞的選擇時(shí),詞性是一個(gè)重要的考慮因素。特別是名詞或名詞性詞組,它們往往承載著文本的核心信息,對(duì)于抽取關(guān)鍵內(nèi)容具有重要意義。jieba分詞詞性標(biāo)注規(guī)范如表2.2所示。

標(biāo)記名稱標(biāo)記名稱標(biāo)記名稱a形容詞l習(xí)用語t時(shí)間詞ad副形詞m數(shù)詞tg時(shí)語素ag形語素mq數(shù)量詞u助詞al形慣用語n名詞ud結(jié)構(gòu)助詞得an名形詞ng名語素ug時(shí)態(tài)助詞b區(qū)別詞nr人名uj結(jié)構(gòu)助詞的bl區(qū)慣用語ns地名ul時(shí)態(tài)助詞了c連詞nt機(jī)構(gòu)團(tuán)體名uv結(jié)構(gòu)助詞地cc并列連詞nx字母專名uz時(shí)態(tài)助詞著d副詞nz其他專名v動(dòng)詞dg副語素o擬聲詞vd副動(dòng)詞e嘆詞p介詞vg動(dòng)語素f方位詞q量詞vi不及物動(dòng)詞g語素r代詞vn名動(dòng)詞h前接成分rg代語素x非語素i成語rr人稱代詞y語氣詞j簡(jiǎn)稱略語rz指示代詞z狀態(tài)詞k后接成分s處所詞表2.2jieba分詞詞性標(biāo)注規(guī)范2.2.2.4詞性標(biāo)注的挑戰(zhàn)詞性標(biāo)注作為自然語言處理中的一項(xiàng)基礎(chǔ)任務(wù),雖然取得了顯著的進(jìn)展,但仍然面臨一些挑戰(zhàn)。

首先,詞性標(biāo)注的挑戰(zhàn)之一是歧義問題。

其次,低頻詞和未登錄詞的判斷也是一個(gè)挑戰(zhàn)。

最后,不同語言的特性也給詞性標(biāo)注帶來了不同的挑戰(zhàn)。

為了解決這些挑戰(zhàn),學(xué)者們正在不斷探索新的方法和技術(shù)。例如,基于深度學(xué)習(xí)的詞性標(biāo)注方法正在逐漸成為主流,它們能夠自動(dòng)學(xué)習(xí)和抽取語言的特征,從而提高詞性標(biāo)注的準(zhǔn)確率。同時(shí),對(duì)于低頻詞和未登錄詞,也可以通過一些技術(shù)手段進(jìn)行處理,如利用上下文信息、構(gòu)建更大的詞匯表等。

2.3句法分析句法分析是對(duì)輸入的句子進(jìn)行分析,以獲取其句法結(jié)構(gòu),這也是自然語言處理領(lǐng)域中的經(jīng)典任務(wù)之一。許多自然語言處理任務(wù),如機(jī)器翻譯、信息抽取和自動(dòng)摘要等,都需要依賴句法分析的準(zhǔn)確結(jié)果才能獲得令人滿意的解決方案。更為重要的是,語言是人類思維的載體,對(duì)自然語言句法分析的研究不僅有助于更深刻地理解人類思維的本質(zhì),更承載著重要的理論意義和實(shí)際價(jià)值,以及深遠(yuǎn)的哲學(xué)意義。

2.3.1句法分析的概念句法分析是根據(jù)給定的文法自動(dòng)識(shí)別句子所包含的句法單位,以及這些句法單位之間的關(guān)系。常見的句法分析形式包括成分句法分析和依存句法分析。成分句法分析的目標(biāo)是發(fā)現(xiàn)句子中的短語及短語之間的層次組合結(jié)構(gòu),而依存句法分析則是要發(fā)現(xiàn)句中單詞之間的二元依存關(guān)系。句法分析的結(jié)果一般用樹狀數(shù)據(jù)結(jié)構(gòu)表示,通常稱為句法分析樹,簡(jiǎn)稱分析樹。一般而言,句法分析有3個(gè)任務(wù)。(1)判斷輸入的字符串是否屬于某種語言。(2)消除輸入句子中詞法和結(jié)構(gòu)等方面的歧義。(3)對(duì)輸入句子進(jìn)行深入分析,包括成分構(gòu)成、上下文關(guān)系等內(nèi)部結(jié)構(gòu)信息。1.基于規(guī)則的分析方法基于規(guī)則的分析方法是一種傳統(tǒng)的自然語言處理方法,它通過人工制定語法規(guī)則來對(duì)輸入的句子進(jìn)行分析。這種方法需要專家手動(dòng)制定規(guī)則,因此對(duì)于復(fù)雜的語言現(xiàn)象其處理效果可能不盡如人意?;谝?guī)則的分析方法是一種傳統(tǒng)的自然語言處理方法,它通過人工制定語法規(guī)則來對(duì)輸入的句子進(jìn)行分析。這種方法需要專家手動(dòng)制定規(guī)則,因此對(duì)于復(fù)雜的語言現(xiàn)象其處理效果可能不盡如人意。

第1步,定義語法規(guī)則。根據(jù)語言學(xué)知識(shí),定義句子的語法規(guī)則,包括詞匯、短語和句子之間的依存關(guān)系等。第2步,建立語法知識(shí)庫。將定義好的語法規(guī)則存儲(chǔ)在語法知識(shí)庫中,以供后續(xù)使用。第3步,進(jìn)行句法分析。對(duì)輸入的句子進(jìn)行句法分析,根據(jù)語法知識(shí)庫中的規(guī)則來判斷句子是否符合語法規(guī)范。第4步,輸出分析結(jié)果。將分析結(jié)果輸出給用戶或用于后續(xù)的自然語言處理任務(wù)。

2.基于統(tǒng)計(jì)的分析方法基于統(tǒng)計(jì)的分析方法是一種現(xiàn)代的自然語言處理方法,它通過機(jī)器學(xué)習(xí)技術(shù)從大規(guī)模語料庫中自動(dòng)獲取語言規(guī)律,并用于對(duì)輸入句子進(jìn)行分析。這種方法不需要人工制定規(guī)則,可以自動(dòng)適應(yīng)復(fù)雜多變的語言環(huán)境,但需要大量語料庫支持?;诮y(tǒng)計(jì)的分析方法的具體步驟如下。第1步,準(zhǔn)備語料庫。收集和整理大規(guī)模語料庫,包括各種類型和風(fēng)格的文本數(shù)據(jù)。第2步,特征提取。從語料庫中提取有用的特征信息,如詞性、短語結(jié)構(gòu)等。第3步,訓(xùn)練模型。使用機(jī)器學(xué)習(xí)算法(如隱馬爾可夫模型、條件隨機(jī)場(chǎng)等)對(duì)提取的特征進(jìn)行訓(xùn)練,得到句法分析模型。第4步,進(jìn)行句法分析。對(duì)輸入的句子進(jìn)行句法分析,根據(jù)訓(xùn)練好的模型來判斷句子是否符合語法規(guī)范。第5步,輸出分析結(jié)果。將分析結(jié)果輸出給用戶或用于后續(xù)的自然語言處理任務(wù)。

2.3.2句法分析樹庫及其評(píng)測(cè)方法句法分析樹庫及其評(píng)測(cè)方法是一種用于評(píng)估自然語言處理系統(tǒng)中句法分析算法性能的工具。為了確定句子中詞匯之間的語法關(guān)系,需要構(gòu)建一個(gè)包含大量句子及其對(duì)應(yīng)的正確句法分析樹的數(shù)據(jù)集,即句法分析樹庫。同時(shí),他們還需要設(shè)計(jì)一種方法來評(píng)估不同句法分析算法在這個(gè)數(shù)據(jù)集上的性能。

2.3.2.1句法分析樹庫句法分析樹庫涉及不同語言的句法分析樹庫,包括中文和英文。句法分析的數(shù)據(jù)集是一種樹形的標(biāo)注結(jié)構(gòu)。對(duì)于英文,最常用的是賓州樹庫,這是由賓夕法尼亞大學(xué)開發(fā)的樹庫,其前身是ATIS樹庫和WSJ樹庫,具有較高的一致性和標(biāo)注準(zhǔn)確率。對(duì)于中文,比較著名的有賓州中文樹庫、清華漢語樹庫等。其中,清華漢語樹庫是按照CoNLL格式組織的,包含大量中文依存句法分析語料。

構(gòu)建句法分析樹庫的幾個(gè)關(guān)鍵步驟。

第1步,樹庫設(shè)計(jì)。需要明確“句”和“組塊”的界定與表示。

第2步,數(shù)據(jù)收集與標(biāo)注。

第3步,句法樹構(gòu)建。

第4步,特征提取與模型訓(xùn)練。

第5步,樹庫質(zhì)量評(píng)估與優(yōu)化。

第6步,應(yīng)用與測(cè)試。

2.3.2.2評(píng)測(cè)方法句法分析樹庫的評(píng)測(cè)方法主要關(guān)注由句法分析器生成的樹結(jié)構(gòu)與人工標(biāo)注的樹結(jié)構(gòu)之間的匹配程度,以此來評(píng)估句法分析器的性能。評(píng)測(cè)句法分析器性能的方法通常包括以下幾個(gè)方面。

(1)精確率。

(2)召回率。

(3)F1值。

(4)交叉括號(hào)數(shù)。

2.3.3依存句法分析依存句法分析是基于句子中詞語之間的依存關(guān)系來分析句子結(jié)構(gòu)的方法。這種方法利用句子中詞語之間的依存關(guān)系來表示詞語的句法結(jié)構(gòu)信息,如主謂、動(dòng)賓、定中等依存關(guān)系。這種分析方法將句子視為一個(gè)有向圖,其中,節(jié)點(diǎn)表示單詞,邊表示單詞之間的依存關(guān)系。依存句法分析的目標(biāo)是找出句子中每個(gè)詞語之間的直接依存關(guān)系,從而揭示句子的結(jié)構(gòu)和意義。在自然語言處理中,依存句法分析被廣泛應(yīng)用于問答系統(tǒng)、信息抽取、機(jī)器翻譯等領(lǐng)域。常見的依存句法分析方法包括基于圖模型的依存句法分析、基于轉(zhuǎn)移模型方法的依存句法分析。

2.3.3.1基于圖模型的依存句法分析2.3.3.2基于轉(zhuǎn)移模型方法的依存句法分析基于轉(zhuǎn)移模型方法的依存句法分析是自然語言處理中的一種關(guān)鍵技術(shù),它的目標(biāo)是分析句子的語法結(jié)構(gòu)并將其表示為容易理解的結(jié)構(gòu),通常是樹形結(jié)構(gòu)。在生成依存句法樹時(shí),先從空狀態(tài)開始,通過動(dòng)作轉(zhuǎn)移到下一個(gè)狀態(tài),一步一步生成依存句法樹,最后生成一棵完整的依存句法樹,具體過程如下。

第1步,定義一個(gè)轉(zhuǎn)移概率模型,該模型描述了在給定當(dāng)前詞語的情況下,下一個(gè)詞語可能的依存關(guān)系的概率分布。這個(gè)模型通過大規(guī)模的語料庫數(shù)據(jù)訓(xùn)練得到。第2步,從句子的起始位置開始,選擇一個(gè)詞語作為當(dāng)前詞語,并對(duì)其進(jìn)行標(biāo)注。第3步,根據(jù)當(dāng)前的標(biāo)注結(jié)果和轉(zhuǎn)移概率模型,計(jì)算出所有可能出現(xiàn)的下一個(gè)詞語及其對(duì)應(yīng)的依存關(guān)系的概率。第4步,選擇概率最高的下一個(gè)詞語作為當(dāng)前詞語的后續(xù)詞語,并將其添加到當(dāng)前標(biāo)注的結(jié)果中。第5步,重復(fù)上述步驟,直到遍歷整個(gè)句子。第6步,根據(jù)最終的標(biāo)注結(jié)果,構(gòu)建出句子的依存句法樹。

2.3.4依存句法分析工具中文句法分析工具主要包括以下幾種。(1)語言技術(shù)平臺(tái)。

(2)DDParser。

(3)TexSmart。

(4)THULAC。

(5)StanfordCoreNLP。

以“小明喜歡吃蘋果”為例,可以將其分解為以下依存句法結(jié)構(gòu)。1ROOT2└─[HED]喜歡3├─[SBV]小明4├─[VOB]吃5│└─[VOB]蘋果6└─[MT]這里的依存關(guān)系標(biāo)簽解釋如下。SBV:主謂關(guān)系是指主語與謂語間的關(guān)系。VOB:動(dòng)賓關(guān)系是指賓語與謂語間的關(guān)系。HED:核心關(guān)系是指整個(gè)句子的核心。

2.4語義分析語義分析是一種通過計(jì)算機(jī)程序來理解和解釋人類語言的技術(shù)。它的目標(biāo)是理解文本內(nèi)在的含義,而不僅僅是字面意思。語義分析在多個(gè)領(lǐng)域均有廣泛應(yīng)用,如自然語言處理、信息檢索、機(jī)器翻譯及問答系統(tǒng)等,為這些領(lǐng)域的發(fā)展注入了強(qiáng)大的動(dòng)力。

2.4.1語義消岐在自然語言中,詞匯往往具有多重含義,而詞義消歧就是要明確一個(gè)詞在特定上下文中的精確意義。以單詞“play”為例,它既可以作為動(dòng)詞,表達(dá)玩耍、演出、投機(jī)等概念;也可以作為名詞,表示劇本、作用、玩笑等意義。同樣,漢字“長(zhǎng)”在“長(zhǎng)度”一詞中作為名詞,代表距離的大小;而在“長(zhǎng)大”中“長(zhǎng)”則作為動(dòng)詞,描述生長(zhǎng)的過程。因此,詞義消歧的任務(wù)便是依據(jù)詞語所處的上下文環(huán)境,判斷其確切含義。在實(shí)現(xiàn)詞義消歧的過程中,常采用多種方法,如基于規(guī)則的方法、基于統(tǒng)計(jì)的方法及基于知識(shí)的方法等。這些方法有助于精準(zhǔn)地理解詞匯在特定語境中的含義。

2.4.1.1基于規(guī)則的方法此方法通常包括以下步驟:第1步,確定目標(biāo)詞匯。在確定目標(biāo)詞匯階段,要清晰地指出需要進(jìn)行詞義消歧的目標(biāo)詞匯,這將作為制定和應(yīng)用規(guī)則的出發(fā)點(diǎn)和依據(jù)。第2步,制定規(guī)則。制定規(guī)則是詞義消歧的關(guān)鍵步驟。需要根據(jù)目標(biāo)詞匯制定一系列詳盡、明確的規(guī)則。這些規(guī)則應(yīng)具有明確的指導(dǎo)性,以便計(jì)算機(jī)程序能夠準(zhǔn)確地判斷和選擇詞匯在特定上下文中的具體含義。第3步,應(yīng)用規(guī)則。在應(yīng)用階段,需將已制定的規(guī)則應(yīng)用于實(shí)際的文本數(shù)據(jù)中。這一過程往往要求開發(fā)一個(gè)計(jì)算機(jī)程序,該程序能夠讀取并解析輸入文本,利用預(yù)設(shè)的規(guī)則對(duì)詞義進(jìn)行判定,并輸出判定結(jié)果。第4步,檢查結(jié)果。在檢查階段,需要對(duì)詞義判斷的結(jié)果進(jìn)行仔細(xì)核查,確保結(jié)果符合預(yù)期。一旦發(fā)現(xiàn)結(jié)果與預(yù)期不同,就要對(duì)已制定的規(guī)則進(jìn)行調(diào)整或修正。

例如,假設(shè)有以下句子。句子1:小明喜歡吃蘋果。句子2:小明買了一部蘋果手機(jī)。在這個(gè)例子中,“蘋果”這個(gè)詞有兩個(gè)可能的含義:一種水果或一個(gè)手機(jī)品牌。為了確定“蘋果”在這兩個(gè)句子中的確切含義,可以使用基于規(guī)則的方法。首先,需要定義一些規(guī)則來區(qū)分這兩種含義。例如,可以定義以下規(guī)則。規(guī)則1:如果“蘋果”前面跟著“吃”,那么它表示水果。規(guī)則2:如果“蘋果”后面跟著“手機(jī)”,那么它表示手機(jī)品牌。然后,可以根據(jù)這些規(guī)則判斷“蘋果”在每個(gè)句子中的詞義。對(duì)于第一個(gè)句子,因?yàn)椤疤O果”前面跟著“吃”,所以它的詞義是水果。對(duì)于第二個(gè)句子,因?yàn)椤疤O果”后面跟著“手機(jī)”,所以它的詞義是手機(jī)品牌。

2.4.1.2基于統(tǒng)計(jì)的方法基于統(tǒng)計(jì)的方法主要分為有監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí)兩大類。在有監(jiān)督學(xué)習(xí)中,如貝葉斯分類法,它利用已知的上下文與詞義之間的對(duì)應(yīng)關(guān)系,來預(yù)測(cè)未知的上下文對(duì)應(yīng)的詞義。相對(duì)而言,無監(jiān)督學(xué)習(xí)則更多地依賴詞頻的統(tǒng)計(jì)、詞典資源及語言學(xué)知識(shí)等信息來進(jìn)行詞義消歧。此外,基于神經(jīng)網(wǎng)絡(luò)的統(tǒng)計(jì)方法,如采用BP神經(jīng)網(wǎng)絡(luò)的模型,也被廣泛應(yīng)用于詞義消歧,它通過模擬人類大腦神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)過程來推斷詞義。接下來,將詳細(xì)介紹貝葉斯分類方法。

2.4.1.3基于知識(shí)的方法基于知識(shí)的方法在詞義消歧中主要依賴對(duì)領(lǐng)域知識(shí)和上下文語境的深入理解。近年來,許多研究開始嘗試將領(lǐng)域知識(shí)融入詞義消歧中。

先從同一篇文章中篩選出包含相同歧義詞的句子,這些句子在主題上與歧義句子相關(guān)聯(lián),因此可以作為其上下文語境,為消歧提供必要的背景知識(shí)。然后,深入挖掘領(lǐng)域知識(shí),為目標(biāo)領(lǐng)域收集相關(guān)的文本領(lǐng)域關(guān)聯(lián)詞,以此作為文本領(lǐng)域知識(shí)。同時(shí),為目標(biāo)歧義詞的各詞義獲取詞義領(lǐng)域標(biāo)注,以此作為詞義領(lǐng)域知識(shí)。利用這些文本領(lǐng)域關(guān)聯(lián)詞和句子上下文詞,構(gòu)建一個(gè)消歧圖,并根據(jù)詞義領(lǐng)域知識(shí)對(duì)其進(jìn)行相應(yīng)的調(diào)整。為了評(píng)估消歧圖中各詞義節(jié)點(diǎn)的重要性,采用改進(jìn)的圖評(píng)分方法對(duì)其進(jìn)行評(píng)分,從而選擇出正確的詞義。此外,還結(jié)合無標(biāo)注文本構(gòu)建了詞向量模型,并融入了特定領(lǐng)域的關(guān)鍵詞信息,提出了一種創(chuàng)新的詞義消歧方法。通過引入多元化的領(lǐng)域知識(shí),這種方法不僅在特定領(lǐng)域的文本消歧任務(wù)中表現(xiàn)出色,同時(shí)也證明了基于知識(shí)的方法在其他領(lǐng)域同樣具有廣泛的應(yīng)用前景和有效性。

2.4.1.3基于知識(shí)的方法Lesk算法由邁克·E.萊斯克(MichaelE.Lesk)于1986年提出,是一種基于詞典資源進(jìn)行詞義消歧的有效方法。該算法的核心原理在于,一個(gè)詞在詞典中的定義與其所在句子的含義具有某種相似性。為了量化這種相似性,Lesk算法通過比較詞典中的詞義解釋與句子中的含義,尋找兩者的詞匯交集,并以交集中單詞的數(shù)量作為相似度的衡量標(biāo)準(zhǔn)。例如,若“cone”和“pine”在詞典中的解釋分別包含兩個(gè)相同的單詞,則它們的相似度被計(jì)為2。在實(shí)際應(yīng)用中,Lesk算法會(huì)針對(duì)某個(gè)具有多重含義的詞匯構(gòu)建不同的詞義語料庫。隨后,Lesk算法會(huì)計(jì)算待判斷句子中目標(biāo)詞匯與各詞義語料庫之間的詞匯重合度。最終,選擇重合度最高的詞義作為該詞在特定上下文中的確切含義。這種方法雖然直觀且實(shí)用,但其效果在很大程度上受所用詞典的詳盡程度和語境復(fù)雜性的影響。

2.4.2語義角色標(biāo)注語義角色標(biāo)注是自然語言處理中的一個(gè)重要任務(wù),它的目標(biāo)是識(shí)別句子中的謂語(動(dòng)作或狀態(tài))及與該謂語相關(guān)的各成分,并用語義角色來描述這些成分與謂語之間的關(guān)系。這個(gè)過程有助于深入理解句子的含義。在語義角色標(biāo)注中,一個(gè)句子的核心是謂語,它描述了句子中的主要?jiǎng)幼骰驙顟B(tài)。與謂語相關(guān)的成分包括施事者(執(zhí)行動(dòng)作的實(shí)體)、受事者(動(dòng)作的接收者或受影響者)、工具、時(shí)間、場(chǎng)所等,這些成分在句子中擔(dān)任特定的語義角色。例如,在句子“小明昨天在公園遇到了小紅”中,“遇到”是謂語,“小明”是施事者,“小紅”是受事者,“昨天”是時(shí)間,“公園”是場(chǎng)所。語義角色標(biāo)注的理論基礎(chǔ)源于Fillmore于1968年提出的格語法。這里介紹兩種比較常用的語義角色標(biāo)注方法:格語法和句法樹。

2.4.2.1格語法格語法是一種語言學(xué)理論,最初由查爾斯·菲爾墨提出,旨在深入研究句子成分之間的關(guān)系。這一理論主要基于這樣的觀點(diǎn):句子中的動(dòng)詞是核心,與各種名詞短語存在特定的關(guān)系,這些關(guān)系被定義為不同的“格”。在格語法中,每個(gè)動(dòng)詞都被認(rèn)為支配著一定數(shù)量的格,這些格描述動(dòng)詞與周圍名詞短語之間的語義關(guān)系。菲爾墨建議使用9個(gè)格,分別為施事格、受事格、對(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)論