概率語言模型分詞方法
4.6 概率語言模型的分詞方法
從統計思想的角度來看,分詞問題的輸入是一個字串C=C1,C2,……,Cn,輸出是一個詞串S=W1,W2,……,Wm,其中m<=n。對於一個特定的字串C,會有多個切分方案S對應,分詞的任務就是在這些S中找出概率最大的一個切分方案,也就是對輸入字串切分出最有可能的詞序列。
例如對於輸入字串C"有意見分歧",有S1和S2兩種切分可能。
S1:有/ 意見/ 分歧/
S2:有意/ 見/ 分歧/
計算條件概率P(S1|C)和P(S2|C),然後採用概率大的值對應的切分方案。根據貝葉斯公式,有 。
其中P(C)是字串在語料庫中出現的概率,只是一個用來歸一化的固定值。從詞串恢復到漢字串的概率只有唯一的一種方式,所以P(C|S)=1。因此,比較P(S1|C)和P(S2|C)的大小變成比較P(S1)和P(S2)的大小。
概率語言模型分詞的任務是:在全切分所得的所有結果中求某個切分方案S,使得P(S)最大。那麼,如何來表示P(S)呢?為了容易實現,假設每個詞之間的概率是上下文無關的,則:
其中,對於不同的S,m的值是不一樣的,一般來說m越大,P(S)會越小。也就是說,分出的詞越多,概率越小。這符合實際的觀察,如最大長度匹配切分往往會使得m較小。計算任意一個詞出現的概率如下:
因此
從另外一個角度來看,計算最大概率等於求切分詞圖的最短路徑。但是這裡不採用Dijkstra演算法,而採用動態規劃的方法求解最短路徑。
常用的詞語概率表如表4-3所示。
表4-3 詞語概率表
詞語 |
概率 |
… |
… |
有 |
0.0180 |
有意 |
0.0005 |
意見 |
0.0010 |
見 |
0.0002 |
分歧 |
0.0001 |
… |
… |
P(S1) = P(有) P(意見) P(分歧) = 1.8 × 10-9
P(S2) = P(有意) P(見) P(分歧) = 1×10-11
可得P(S1) > P(S2),所以選擇S1對應的切分。
如何儘快找到概率最大的詞串?因為假設每個詞之間的概率是上下文無關的,因此滿足用動態規劃求解所要求的最優子結構性質和無後效性。在動態規劃求解的過程中並沒有先生成所有可能的切分路徑Si,而是求出值最大的P(Si)後,利用回溯的方法直接輸出Si。
到節點Nodei為止的最大概率稱為節點Nodei的概率:
如果Wj的結束節點是Nodei,就稱Wj為Nodei的前驅詞。這裡的prev(Nodei)就是節點i的前驅詞集合。
比如上面的例子中,候選詞"有"就是節點1的前驅詞,"意見"和"見"都是節點3的前驅詞。
StartNode(wj)是wj 的開始節點,也是節點i的前驅節點。
因此切分的最大概率max(P(S))就是P(Nodem)=P(節點m的最佳前驅節點) P(節點m的最佳前驅詞)。
按節點編號,從前往後計算如下:
P(Node0)=1
P(Node1)= P(有)
P(Node3)= P(Node1) P(意見)
相關推薦
概率語言模型分詞方法
4.6 概率語言模型的分詞方法 從統計思想的角度來看,分詞問題的輸入是一個字串C=C1,C2,……,Cn,輸出是一個詞串S=W1,W2,……,Wm,其中m<=n。對於一個特定的字串C,會有多個切分方案S對應,分詞的任務就是在這些S中找出概率最大的一個切分方案,也就是
hanlp中文自然語言處理分詞方法介紹
自然語言處理在大資料以及近年來大火的人工智慧方面都有著非同尋常的意義。那麼,什麼是自然語言處理呢?在沒有接觸到大資料這方面的時候,也只是以前在學習計算機方面知識時聽說過自然語言處理。書本上對於自然語言處理的定義或者是描述太多專業化。換一個通俗的說法,自然語言處理就是把我們人類
自然語言處理-中文分詞方法總結
中文分詞是中文文字處理的一個基礎步驟,也是中文人機自然語言互動的基礎模組。不同於英文的是,中文句子中沒有詞的界限,因此在進行中文自然語言處理時,通常需要先進行分詞,分詞效果將直接影響詞性、句法樹等模組的效果。當然分詞只是一個工具,場景不同,要求也不同。前人做的工
python自然語言處理(NLP)1------中文分詞1,基於規則的中文分詞方法
python中文分詞方法之基於規則的中文分詞 目錄 常見中文分詞方法 推薦中文分詞工具 參考連結 一、四種常見的中文分詞方法: 基於規則的中文分詞 基於統計的中文分詞 深度學習中文分詞 混合分詞方法 基於規則的中
自然語言處理基礎(1)--基本分詞方法
基本的分詞方法包括最大匹配法、最大概率法(最短加權路徑法)、最少分詞法、基於HMM的分詞法、基於互現資訊的分詞方法、基於字元標註的方法和基於例項的漢語分詞方法等。 1.最大匹配法 最大匹配法需要一個詞表,分詞的過程中用文字的候選
自然語言處理的中文分詞方法
中文分詞方法 平臺:win7,python,vs2010 1、CRF++ CRF++是著名的條件隨機場開源工具,也是目前綜合性能最佳的CRF工具。 一、工具包的下載: 其中有兩種,一種是Linux下(帶原始碼)的,一種是win32的,下載 ht
自然語言處理中的語言模型預訓練方法
16px 預測 網絡語言 緩解 lang 大數 一中 標準 小數 自然語言處理中的語言模型預訓練方法 最近,在自然語言處理(NLP)領域中,使用語言模型預訓練方法在多項NLP任務上都獲得了不錯的提升,廣泛受到了各界的關註。就此,我將最近看的一些相關論文進行總結,選取了幾
常見的中文分詞方法
常見的中文分詞方法 1.基於規則的方法(字串匹配、機械分詞) 定義:按照一定規則將待分析的漢字串與詞典中的詞條進行匹配,找到則切分,否則不予切分。按照匹配切分的方式,主要有正向最大匹配方法、逆向最大匹配方法和雙向最大匹配三種方法。
elasticsearch 外掛開發-自定義分詞方法
自定義elasticsearch外掛實現 1 外掛專案結構 這是一個傳統的maven專案結構,主要是多了一些外掛需要的的目錄和檔案 plugin.xml和plugin-descriptor.properties這兩個是外掛的主要配置和描述 pom.xml裡面也
神經概率語言模型
統計語言建模的目標是學習語言中單詞序列的聯合概率函式。由於 the curse of dimensionality,這本質上是困難的:測試模型的單詞序列可能與訓練期間看到的所有單詞序列不同。一種基於n-gram的傳統的但非常成功的方法是,通過連線訓練集中看到的非常短的重疊序列來獲得泛化。我們建議通過學習詞的分
NLP中語言模型預訓練方法
最近,在自然語言處理(NLP)領域中,使用語言模型預訓練方法在多項NLP任務上都獲得了不錯的提升,廣泛受到了各界的關注。就此,我將最近看的一些相關論文進行總結,選取了幾個代表性模型(包括ELMo [1],OpenAI GPT [2]和BERT [3])和大家一起學習分享。
自然語言處理(四)神經網路語言模型及詞向量
神經網路語言模型 用句子 S S S的概率
淺談分詞演算法(4)基於字的分詞方法(CRF)
目錄 前言 目錄 條件隨機場(conditional random field CRF) 核心點 線性鏈條件隨機場 簡化形式 CRF分詞 CRF VS HMM 程式碼實現 訓練程式碼 實驗結果 參考文獻
2 語言模型和詞向量 tensorflow詞向量
----------------------------大綱-------------------------- 1 隨著模型不斷更新 2 直接使用預先訓練好的詞向量如word2vec, glove 3 測試檔案向量化 ---------------------
概率語言模型 Probabilistic Language Modeling (二) --- 模型估計演算法介紹
1. 緣由–資料稀疏問題 假設k泛指某一事件,N(k)表示事件k觀察到的頻數,極大似然法使用相對頻數作為對事件k的概率估計為p(k)=N(k)N,在語言模型中,訓練語料中大量的事件N(k)=0,這顯然沒有反映真實情況,這種零值的概率估計會導致語言模型演算法的失
概率語言模型 Probabilistic Language Modeling (三) --- 訓練工具彙總
傳統演算法 1) BerkeleyLM 是用java寫的,號稱跟KenLM差不多,記憶體比srilm小 https://github.com/adampauls/berkeleylm 2)MITLM (The MIT Language Modeling toolkit) 引
常用中文分詞方法
一、正向最大匹配FMM從左到右將待分詞文字中的最多個連續字元與詞表匹配,如果匹配上,則切分出一個詞。二、逆向最大匹配從右到左將待分詞文字中的最多個連續字元與詞表匹配,如果匹配上,則切分出一個詞。三、雙向最大匹配正向最大匹配演算法和逆向最大匹配演算法.如果兩個演算法得到相同的分
文字分詞方法
廢話不多說,我就直接上乾貨吧,從過去到現在所知道的分詞方法有以下幾種: 1、mmseg4j 2、詞頻分組(有序文字足夠) 3、jieba分詞 下面細說一下幾種分詞方法, 第一種,mmseg4j,我使用這種方法是以R來分詞的,所以就用R來說這個包,R中這
MIT自然語言處理第三講:概率語言模型(第四、五、六部分)
MIT自然語言處理第三講:概率語言模型(第四部分) 自然語言處理:概率語言模型 Natural Language Processing: Probabilistic Language Modeling 作者:Regina Barzilay(MIT,EECS Dep
概率語言模型及其變形系列(2)-LDA及Gibbs Sampling
本系列博文介紹常見概率語言模型及其變形模型,主要總結PLSA、LDA及LDA的變形模型及引數Inference方法。初步計劃內容如下第三篇:LDA變形模型-Twitter LDA,TimeUserLDA,ATM,Labeled-LDA,MaxEnt-LDA等第四篇:基於變形L