Python中文自然語言處理基礎(chǔ)與實戰(zhàn)(課件)第4章 中文分詞技術(shù)_第1頁
Python中文自然語言處理基礎(chǔ)與實戰(zhàn)(課件)第4章 中文分詞技術(shù)_第2頁
Python中文自然語言處理基礎(chǔ)與實戰(zhàn)(課件)第4章 中文分詞技術(shù)_第3頁
Python中文自然語言處理基礎(chǔ)與實戰(zhàn)(課件)第4章 中文分詞技術(shù)_第4頁
Python中文自然語言處理基礎(chǔ)與實戰(zhàn)(課件)第4章 中文分詞技術(shù)_第5頁
已閱讀5頁,還剩73頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

中文分詞技術(shù)1基于規(guī)則的分詞目錄中文分詞簡介2基于統(tǒng)計的分詞3中文分詞工具jieba庫4中文分詞的應(yīng)用5在英文中,單詞之間以空格為自然分隔符,分詞自然地以空格為單位切分,而中文分詞則需要依靠一定技術(shù)和方法尋找類似英文中空格作用的分隔符。簡單來說,中文分詞是指將漢字序列按照一定規(guī)范、逐個切分為詞序列的過程。例如:北京市民辦高中,分詞結(jié)果:北京市/民辦高中?;谝?guī)則的分詞是中文分詞最先使用的方法,隨著統(tǒng)計方法的發(fā)展,又提出了一些基于統(tǒng)計的分詞模型?;谝?guī)則的分詞:正向最大匹配發(fā)、逆向最大匹配法?;诮y(tǒng)計的分詞:隱馬爾可夫模型、條件隨機場模型。中文分詞簡介1基于規(guī)則的分詞目錄中文分詞簡介2基于統(tǒng)計的分詞3中文分詞工具jieba庫4中文分詞的應(yīng)用5基于規(guī)則或詞典的分詞方法是一種較為機械的分詞方法,其基本思想如下。將待分詞語句中的字符串和詞典逐個匹配。找到匹配的字符串則切分,不匹配則減去邊緣的某些字符。從頭再次匹配,直至匹配完畢或者沒有找到詞典的字符串而結(jié)束?;谝?guī)則分詞主要方法如下。正向最大匹配法(MaximumMatchMethod,MM法)。逆向最大匹配法(ReverseMaximumMatchMethod,RMM法)。雙向最大匹配法(Bi-directionMatchingMethod,BMM法)?;谝?guī)則的分詞正向最大匹配法(MaximumMatchMethod,MM法)基本思想如下。假設(shè)有一個待分詞中文文本和一個分詞詞典,詞典中最長的字符串長度為l。從左至右切分待分詞文本的前l(fā)個字符,然后查找是否有和詞典一致的字符串。若匹配失敗,則刪去該字符串的最后一個字符,僅留下前l(fā)-1個字符,繼續(xù)匹配這個字符串,以此類推。如果匹配成功,那么被切分下來的第二個文本成為新的待分詞文本,重復(fù)以上操作直至匹配完畢。如果一個字符串全部匹配失敗,那么逐次刪去第一個字符,重復(fù)上述操作。正向最大匹配法假設(shè)待分詞文本為“北京市民辦高中”,詞典為“{"北京市","北京市民","民辦高中","天安門廣場","高中"}”。由詞典得到最長字符串的長度為5,具體分詞步驟如下。切分待分詞文本“北京市民辦高中”前5個字符,得到“北京市民辦”,在詞典中找不到與之匹配的字符串,匹配不成功。刪去“北京市民辦”的最后一個字符得到“北京市民”,再與詞典進行匹配。在詞典中找到與之匹配的字符串,匹配成功。此時,將文本劃分為“北京市民”“辦高中”。將分詞后的第二個文本“辦高中”作為待分詞文本。此時詞典中找不到與之匹配的字符串,匹配不成功。刪去“辦高中”的最后一個字符,匹配失敗,直至刪去所有字符都沒有匹配成功,因此刪去“辦高中”的第一個字符,匹配“高中”一詞成功,將第二個文本劃分為“辦”、“高中”。正向最大匹配法分詞結(jié)果:“北京市民”、“辦”、“高中”。正向最大匹配法正向最大匹配法中文分詞具體流程展示如下所示。分詞結(jié)果為:“北京市民”、“辦”、“高中”。正向最大匹配法逆向最大匹配法(ReverseMaximumMatchMethod,RMM法)基本思想如下。RMM與MM法原理相反,從右至左匹配待分詞文本的后l個字符串,查找是否有和詞典一致的字符串。若匹配失敗,僅留下待分詞文本的后l-1個詞,繼續(xù)匹配這個字符串,以此類推。如果匹配成功,則被切分下來的第一個文本序列成為新的待分詞文本,重復(fù)以上操作直至匹配完畢。如果一個詞序列全部匹配失敗,則逐次刪去最后一個字符,重復(fù)上述操作。逆向最大匹配法同樣以待分詞文本“北京市民辦高中”為例說明逆向最大匹配法,具體分詞步驟如下。切分待分詞文本“北京市民辦高中”后5個字符,得到“市民辦高中”,在詞典中找不到與之匹配的字符串,匹配不成功。刪去“市民辦高中”的第一個字符得到“民辦高中”,再與詞典進行匹配,匹配成功,將文本劃分為“北京市”、“民辦高中”。將分詞后的第一個文本“北京市”作為待分詞文本,與詞典匹配成功。逆向最大匹配法分詞結(jié)果:

“北京市”“民辦高中”。逆向最大匹配法逆向最大匹配法中文分詞具體流程展示如下圖所示。分詞結(jié)果為:“北京市”“民辦高中”。逆向最大匹配法

雙向最大匹配法(Bi-directionMatchingMethod,BMM法)基本思想如下。雙向最大匹配法基本思想是將MM法和RMM法的結(jié)果進行對比,選取兩種方法中切分次數(shù)較少的作為切分結(jié)果。用正向最大匹配法和逆向最大匹配法對“北京市民辦高中”進行分詞,結(jié)果分別為“北京市民”、“辦”、“高中”和“北京市”、“民辦”、“高中”。選取切分次數(shù)最少的結(jié)果為“北京市”、“民辦高中”。研究表明,利用正向最大匹配法和逆向最大匹配法匹配,中文分詞大約90%的詞句完全重合且正確,有9%左右的句子得到的結(jié)果不一樣,但其中有一個是正確的。剩下不到1%的句子使用兩種方法進行切分都是錯誤的。因而,雙向最大匹配法在中文分詞領(lǐng)域中得以廣泛運用。雙向最大匹配法1基于規(guī)則的分詞目錄中文分詞簡介2基于統(tǒng)計的分詞3中文分詞工具jieba庫4中文分詞的應(yīng)用5基于規(guī)則的中文分詞常常會遇到歧義問題和未登錄詞問題。中文歧義問題主要包括兩大類。交集型切分歧義:指一個字串中間的某個字或詞,不管切分到哪一邊都能獨立成詞,如“打折扣”一詞,“打折”和“折扣”可以是兩個獨立的詞語。組合型切分歧義:指一個字串中每個字單獨切開或者不切開都能成詞,如“將來”一詞,可以單獨成詞,也可以切分為單個字?;诮y(tǒng)計的分詞未登錄詞也稱為生詞,即詞典中沒有出現(xiàn)的詞,未登錄詞可以分為四大類。第一類是日常生活出現(xiàn)的普通新詞匯,尤其是網(wǎng)絡(luò)熱門詞語,這類詞語更新?lián)Q代快,且不一定符合現(xiàn)代漢語的語法規(guī)定;第二類是專有名詞,主要指人名、地名和組織機構(gòu)名,它還包括時間和數(shù)字表達(dá)等;第三類是研究領(lǐng)域的專業(yè)名詞,如化學(xué)試劑的名稱等;第四類是其他專用名詞,如近期新上映的電影、新出版的文學(xué)作品等。遇到未登錄詞時,分詞技術(shù)往往束手無策。基于統(tǒng)計的分詞基于統(tǒng)計的分詞方法:有效解決了中文分詞遇到歧義問題和未登錄詞問題。基本思想:中文語句中相連的字出現(xiàn)的次數(shù)越多,作為詞單獨使用的次數(shù)也越多,語句拆分的可靠性越高,分詞的準(zhǔn)確率越高。基本原理:統(tǒng)計詞出現(xiàn)的次數(shù),次數(shù)足夠高的詞作為單獨的詞語被保留。優(yōu)勢:能夠較好地處理未登錄詞和歧義詞,不需要人為的搭建和維護詞典。缺點:需要依靠語料庫進行分詞,語料庫的準(zhǔn)確度不一定高,計算量較大,分詞速度一般。兩個步驟:建立統(tǒng)計語言模型;運用模型劃分語句,計算被劃分語句的概率,選取最大概率的劃分方式進行分詞。常見的基于統(tǒng)計的分詞方法有n元語法模型和隱馬爾可夫模型。基于統(tǒng)計的分詞

n元語法模型

n元語法模型1.n-gram模型

n元語法模型

n元語法模型2.n-gram模型的參數(shù)估計

假設(shè)語句序列為s={小孩,喜歡,在家,觀看,動畫片},估計這一語句的概率。以二元語法模型為例,需要檢索語料庫中每一個詞以及和相鄰詞同時出現(xiàn)的概率。假設(shè)語料庫中總詞數(shù)7542,單詞出現(xiàn)的次數(shù)如下圖所示。語句s在當(dāng)前語料庫中出現(xiàn)的概率的計算過程如下式所示。語句s在當(dāng)前語料庫下出現(xiàn)的概率約為0.2122347。n元語法模型在對統(tǒng)計語言模型的參數(shù)進行估計時,常會出現(xiàn)參數(shù)估計公式中分子或分母為零的情況,這種情況稱為數(shù)據(jù)稀疏。這時需要考慮在模型中結(jié)合相應(yīng)的數(shù)據(jù)平滑方法解決問題,常用的方法如下加1平滑古德-圖靈平滑線性插值平滑等n元語法模型3.數(shù)據(jù)平滑加1平滑是最簡單、最直觀的一種平滑算法。加1平滑規(guī)定在訓(xùn)練時任何一個詞語在訓(xùn)練語料庫都需要至少出現(xiàn)一次(規(guī)定沒有出現(xiàn)的在語料中也出現(xiàn)一次),這樣沒有出現(xiàn)過的詞語的概率不再是0。加1平滑的公式如式如下所示。通過加1平滑后,訓(xùn)練語料庫中出現(xiàn)的n-gram的概率不再為0,而是一個大于0的較小的概率值。但在實際的應(yīng)用中卻會出現(xiàn)一些問題,由于總的統(tǒng)計概率一定是1,那么這些后來增加的概率就必然會造成原來概率的減小,而且實驗證明,這種概率的減小幅度是巨大的,那么就可能會導(dǎo)致結(jié)果的不準(zhǔn)確。n元語法模型(1)加1平滑(2)古德-圖靈估計1953年古德(I.J.Good)引用圖靈(Turing)的方法而提出古德-圖靈(Good-Turing)估計法,它是很多平滑技術(shù)的核心技術(shù)?;舅枷耄菏菍τ跊]有看見的事件,不能認(rèn)為它發(fā)生的概率就是零,從概率的總量中,分配一個很小的比例給這些沒有看見的事件。此時看的見概率總和將會小于1,因此,需要將所有看見的事件概率適當(dāng)調(diào)小。n元語法模型

n元語法模型

n元語法模型

n元語法模型(3)線性插值平滑線性插值平滑是為高階n-gram模型提供幫助的一種平滑方法,它利用低階的n-gram模型對高階的n-gram模型進行線性插值。如要尋找“西紅柿紅”一詞,但語料庫中沒有出現(xiàn)過,這時用低階的n-gram模型替代,即用“西紅柿”出現(xiàn)的次數(shù)代替。通常在計算概率時,低階的n-gram模型往往能夠更好地反映信息。n元語法模型在一般的簡單線性插值中,不管高階模型是否可行,默認(rèn)低階模型和高階模型都有著相同的權(quán)重,這樣并不太合理。因此,線性插值平滑中將權(quán)重改為

,以遞歸的方式改寫線性插值法的公式,表示權(quán)重是歷史的函數(shù),如下式所示。其中可憑借經(jīng)驗設(shè)定,也可以通過某些算法確定,但是需要滿足條件。n元語法模型

n元語法模型4.中文分詞與n-gram模型

n元語法模型

n元語法模型

隱馬爾可夫模型(HiddenMarkovModel,HMM)是一種概率模型,用于解決序列預(yù)測問題,可以對序列數(shù)據(jù)中的上下文信息進行建模。HMM用于描述含有隱含未知參數(shù)的馬爾可夫過程。在HMM中,有兩種類型的節(jié)點,分別為觀測序列與狀態(tài)序列。狀態(tài)序列是不可見的,它們的值是需要通過從觀測序列進行推斷而得到的。很多現(xiàn)實應(yīng)用可以抽象為此類問題,如語音識別、NLP中的分詞、詞性標(biāo)注、計算機視覺中的動作識別等。隱馬爾可夫模型

隱馬爾可夫模型1.馬爾可夫模型

系統(tǒng)在不同時刻可以處于同一種狀態(tài),但在任一時刻只能有一種狀態(tài)。不同時刻的狀態(tài)之間是有關(guān)系的。時刻t的狀態(tài)由它之前時刻的狀態(tài)決定,即當(dāng)前時刻t處于狀態(tài)的概率取決于其在時間1,2,…,t-1時刻的狀態(tài),系統(tǒng)狀態(tài)的條件概率如下所示。上式中的條件概率要考慮之前所有時刻的狀態(tài),計算起來較為復(fù)雜,為此需要進行簡化。如果假設(shè)t時刻的狀態(tài)只與t-1時刻的狀態(tài)有關(guān),與更早的時刻無關(guān),則上式的條件概率可簡化為如下所示。上式稱為一階馬爾可夫假設(shè),滿足這一假設(shè)的馬爾可夫模型稱為一階馬爾可夫模型。

隱馬爾可夫模型

隱馬爾可夫模型

馬爾可夫模型中的狀態(tài)是可見的,而HMM的狀態(tài)則是部分可見。HMM描述觀測變量和狀態(tài)變量之間的概率關(guān)系。與馬爾可夫模型相比,HMM不僅對狀態(tài)建模,而且對觀測值建模。不同時刻的狀態(tài)值之間,同一時刻的狀態(tài)值和觀測值之間,都存在概率關(guān)系。隱馬爾可夫模型2.隱馬爾可夫模型(1)一個HMM示例通過擲骰子的例子說明HMM模型。假設(shè)暗室里有3個不同形狀的骰子,第一個骰子含有六個面(1~6,記為D6),第二個骰子含有四面體(1~4,記為D4),第三個骰子含有八個面(1~8,記為D8)。假設(shè)暗室里的實驗員根據(jù)某一概率分布隨機的挑選一個骰子,然后擲骰子,并向室外的報告投擲的數(shù)字結(jié)果,重復(fù)上述過程。對于暗室外邊的人來說,只能觀察到投擲的數(shù)字結(jié)果的序列,而骰子的序列是觀察不到的。如連續(xù)擲骰子8次,得到數(shù)字序列為{3,1,2,4,8,7,3,1}。這一串?dāng)?shù)字是可見的,也稱為可見狀態(tài)鏈。除了可見狀態(tài)鏈,還有一串隱含狀態(tài)鏈,也就是實驗員挑選骰子的序列。隱馬爾可夫模型HMM中的馬爾可夫鏈,通常是指隱含狀態(tài)鏈。隱含狀態(tài)鏈中有不同骰子之間的轉(zhuǎn)換概率,即不同隱含狀態(tài)之間有一個轉(zhuǎn)移概率。這里已知3個骰子任選一個時的概率都是1/3,如D4轉(zhuǎn)換成D6時,概率為1/3,D6轉(zhuǎn)換為D8時,概率也為1/3。當(dāng)然,也可以人為設(shè)定轉(zhuǎn)移概率,使得抽取到不同骰子的概率也不相同,從而形成一個新的隱馬爾可夫模型。另一方面,在每一個骰子擲出數(shù)字時也有一個概率,即不可見狀態(tài)和可見狀態(tài)之間有一個發(fā)射概率,如D4擲出數(shù)字1~4的概率都是1/4,D8擲出數(shù)字1~8的概率都是1/8。同樣地,輸出概率也可以人為設(shè)定,設(shè)定某個骰子擲出特定數(shù)字時的概率更大或更小。擲骰子過程如下圖所示。隱馬爾可夫模型

隱馬爾可夫模型

隱馬爾可夫模型

隱馬爾可夫模型

隱馬爾可夫模型

隱馬爾可夫模型

隱馬爾可夫模型中文分詞可以看作是中文的標(biāo)注問題。標(biāo)注問題是給定觀測序列預(yù)測其對應(yīng)的標(biāo)記序列。假設(shè)標(biāo)注問題的數(shù)據(jù)是由HMM生成的,利用HMM的學(xué)習(xí)與預(yù)測算法進行標(biāo)注。下面以中文分詞問題為例,介紹HMM如何用于中文標(biāo)注。對于句子“我是中華人民共和國國民”,在這里觀測序列為“我是中華人民共和國國民”,每個字為每個時刻的觀測值。隱馬爾可夫模型3.中文分詞與HMM狀態(tài)序列為標(biāo)注的結(jié)果,每個時刻的狀態(tài)值有4種情況{B,M,E,S},其中B代表該字是起始位置的字,M代表中間位置的字,E代表末尾位置的字,S代表能夠單獨成字的字。對待分詞語句進行序列標(biāo)注,如果得到狀態(tài)序列Q為{SSBEBME},則有“我/S是/S一/B位/E程/B序/M員/E”。得到了這個標(biāo)注結(jié)果后,即可得到分詞結(jié)果。遇到S,則為一個單字詞,遇到B,則為一個詞的開始,直到遇到下一個E,則為一個詞的結(jié)尾。這樣句子“我是中華人民共和國國民”的分詞結(jié)果為“我/是/中華人民共和國/國民”。隱馬爾可夫模型

隱馬爾可夫模型

隱馬爾可夫模型

維特比算法(Viterbialgorithm)是機器學(xué)習(xí)中應(yīng)用非常廣泛的動態(tài)規(guī)劃算法,在求解HMM模型預(yù)測問題中用到該算法。實際上,維特比算法不僅是很多NLP的解碼算法,也是現(xiàn)代數(shù)字通信中使用最頻繁的算法。中文分詞問題可以利用維特比算法求解,得到標(biāo)注的狀態(tài)序列值。隱馬爾可夫模型4.維特比算法(1)動態(tài)規(guī)劃如果一類活動過程可以分為若干個互相聯(lián)系的階段,在每一個階段都需做出決策,一個階段的決策確定以后,常常影響到下一個階段的決策,從而能夠完全確定一個過程的活動路線,則稱此類活動為多階段決策問題。各個階段的決策構(gòu)成一個決策序列,稱為一個策略。每一個階段都有若干個決策可供選擇。不同策略的效果也不同。多階段決策問題,就是要在可以選擇的策略中選取一個最優(yōu)策略,使其在預(yù)定的標(biāo)準(zhǔn)下達(dá)到最好的效果。多階段決策問題中,各個階段采取的決策,一般來說是與時間有關(guān)的,決策依賴于當(dāng)前狀態(tài),又隨即引起狀態(tài)的轉(zhuǎn)移,一個決策序列就是在變化的狀態(tài)中產(chǎn)生出來的,故有“動態(tài)”的含義,稱這種解決多階段決策最優(yōu)化問題的方法為動態(tài)規(guī)劃方法。隱馬爾可夫模型

隱馬爾可夫模型

隱馬爾可夫模型

隱馬爾可夫模型

隱馬爾可夫模型

隱馬爾可夫模型

隱馬爾可夫模型

通過一個的例子說明維特比算法的過程。假定某地區(qū)的天氣只分為雨天和晴天,初始狀態(tài)下雨天的概率為0.6,晴天的概率為0.4,兩種天氣狀態(tài)之間轉(zhuǎn)移概率和不同天氣狀態(tài)下產(chǎn)生的體感溫度對應(yīng)發(fā)射概率如下圖所示。已知該地區(qū)3天的體感溫度分別是熱的、溫和的、涼爽的,請判斷這3天的實際天氣狀況(雨天,晴天)。隱馬爾可夫模型隱馬爾可夫模型

隱馬爾可夫模型

通過上頁第2個公式,代入數(shù)據(jù),可得計算過程如下。由上頁第2個公式可知,。同理可以得到。則。隱馬爾可夫模型

隱馬爾可夫模型

隱馬爾可夫模型

終止。以表示最優(yōu)路徑的概率,則。路徑(狀態(tài)序列)回溯。最優(yōu)路徑的終點是,。由最優(yōu)路徑的終點,逆向找到,。在t=2時,。在t=1時,

。于是求得最優(yōu)路徑,即最優(yōu)狀態(tài)序列。因此,這3天的天氣情況最有可能是晴天、雨天、雨天。隱馬爾可夫模型

1基于規(guī)則的簡介目錄中文分詞的簡介2基于統(tǒng)計的分詞3中文分詞工具jieba庫4中文分詞的應(yīng)用5基于規(guī)則或詞典、n-gram模型、隱馬爾可夫模型、條件隨機場模型等分詞方法,在實際應(yīng)用中效果差異并不大。分詞技術(shù)更多的是以一種分詞方法為主,其余分詞方法為輔達(dá)到更高的分詞準(zhǔn)確率。最常用的是以基于詞典的分詞方法為主,以統(tǒng)計分詞方法為輔進行中文分詞,這種方法既能較好地處理未登錄詞和歧義詞,又能避免詞典準(zhǔn)確率帶來的問題。中文分詞工具jieba庫就采用了這種方法進行中文分詞。中文分詞工具jieba庫隨著近年來NLP技術(shù)的快速發(fā)展,自然語言處理中實現(xiàn)中文分詞的工具逐漸增多,其中包括Ansj、HanLP和盤古分詞等分詞工具。由于在實際開發(fā)與研究過程中,使用jieba進行中文分詞的人員占大多數(shù),使用較為廣泛。相比其他分詞工具而言,jieba不僅包含分詞這一功能,而且提供了許多分詞以外的算法。jieba使用簡單,并且支持Python、R、C++等多種編程語言的實現(xiàn),對于新手而言是一個較好的入門分詞工具。在Github社區(qū)上,jieba長期有著較高的活躍度,社區(qū)中也有不少jieba分詞實例,遇到問題時可以在社區(qū)中反饋。中文分詞工具jieba庫jieba分詞結(jié)合了基于規(guī)則和基于統(tǒng)計的分詞方法,分詞過程包含3個步驟?;谇熬Y詞典快速掃描詞圖,搭建可能的分詞結(jié)果的有向無環(huán)圖,構(gòu)成多條分詞路徑。如待分詞語句為“天津市河西區(qū)有點遠(yuǎn)”,詞典中出現(xiàn)了“天”字,以“天”開頭的詞語都會出現(xiàn),如“天津”、繼而出現(xiàn)“天津市”、“天津市河西區(qū)”,前綴詞典是按照包含前綴詞順序進行的。有向無環(huán)圖是指所有的分詞路徑都按照正向的順序,如果將每一個詞語看成一個節(jié)點,那么分詞路徑對應(yīng)了從第一個字到最后一個字的分詞方式,詞語之間不能構(gòu)成一個回路。采用動態(tài)規(guī)劃的方法尋找最大概率路徑,從右往左反向計算最大概率,依此類推,得到概率最大的分詞路徑,作為最終的分詞結(jié)果。采用HMM模型處理未登錄詞,借助模型中語句構(gòu)成的4個狀態(tài)B、M、E、S推導(dǎo),最后利用維特比算法求解最優(yōu)分詞路徑?;静襟Ejieba分詞支持精確模式、全模式和搜索引三種模式。

精確模式采用最精確的方式將語句切開,適用于文本分析。全模式可以快速地掃描語句中所有可以成詞的部分,但無法解決歧義問題。搜索引模式在精確模式的基礎(chǔ)上再切分長詞,適用于搜索引擎的分詞。通過對“中文分詞是自然語言處理的一部分!”采用三種模型進行分詞,介紹jieba的分詞模式。3種分詞模式的結(jié)果如下。全模式:中文/分詞/是/自然/自然語言/語言/處理/的/一部/一部分/部分//精確模式:中文/分詞/是/自然語言/處理/的/一部分/!搜索引擎模式:中文/分詞/是/自然/語言/自然語言/處理/的/一部/部分/一部分/!分詞模式全模式和搜索引擎模式會打印所有可能的分詞結(jié)果,精確模式僅輸出一種分詞,除了一些適合全模式和搜索引擎模式的場合,一般情況下會較多地使用精確模式。這3種模式的分詞主要用jieba.cut函數(shù)和jieba.cut_for_search函數(shù)。jieba.cut函數(shù)可輸入3個參數(shù),待分詞字符串、cut_all參數(shù)選擇是否采用全模式(默認(rèn)為精確模式)、HMM參數(shù)控制是否使用HMM模型。jieba.cut_for_search函數(shù)可輸入兩個參數(shù)。待分詞字符串、是否使用HMM模型。分詞模式1基于規(guī)則的分詞目錄中文分詞簡介2基于統(tǒng)計的分詞3中文分詞工具jieba庫4中文分詞的應(yīng)用5使用Python代碼實現(xiàn)HMM分詞的過程主要包括訓(xùn)練HMM、定義viterbi函數(shù)、調(diào)用HMM模型與viterbi函數(shù)進行分詞3個步驟。1.訓(xùn)練HMM訓(xùn)練HMM過程定義了train函數(shù),用于在給定語料下,統(tǒng)計并計算各個位置狀態(tài)的初始概率、轉(zhuǎn)移概率和發(fā)射概率。函數(shù)train定義了3個用于存放初始概率、轉(zhuǎn)移概率和發(fā)射概率的字典,將結(jié)果存至json文件當(dāng)中。訓(xùn)練HMM的過程包含4個步驟。加載需要的庫,輸入待分詞文本。讀取語料。語料收集了國內(nèi)2012年6月和7月期間搜狐新聞中國際、體育、社會、娛樂等18個頻道的新聞內(nèi)容,對其進行預(yù)處理后存放于trainCorpus.txt文件中,語料中每句話中的每個詞都以空格隔開,讀取每一行中的詞語并標(biāo)注其位置狀態(tài)信息,共有B、E、M、S四種位置狀態(tài)。HMM中文分詞計算概率參數(shù)。統(tǒng)計每個出現(xiàn)在詞頭的位置狀態(tài)的次數(shù),得到初始狀態(tài)概率;統(tǒng)計每種位置狀態(tài)轉(zhuǎn)移至另一種狀態(tài)的次數(shù),得到轉(zhuǎn)移概率;統(tǒng)計每個位置狀態(tài)下對應(yīng)的字以及其出現(xiàn)次數(shù),計算時采用加法平滑,得到其發(fā)射概率。存儲概率參數(shù)。將初始概率、轉(zhuǎn)移概率和發(fā)射概率寫入json文件當(dāng)中,dumps函數(shù)用于將字典轉(zhuǎn)化為字符串格式,enumerate函數(shù)用于將對象組合為一個索引序列。HMM中文分詞2.定義viterbi函數(shù)viterbi函數(shù)用于實現(xiàn)維特比算法。將待分詞

溫馨提示

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

評論

0/150

提交評論