7NER實戰(zhàn)-(2)HMM,MEMM,CRF

image.png

先看上圖就知道LSTM和CRF具體產出什么。LSTM+softmax分類后只能把特征的上下文關系學出來,CRF可以把label的上下文學出來。

比如通過上下文特征,BiLSTM輸出“楊”最大概率是1.8,對應B-PER,“帥”最大概率是1.6,對應I-PER。這樣貌似已經(jīng)很完美了,都預測出來了。又比方我們換個句子,根據(jù)不同上下文特征學習后,“帥”的最大概率也許對應B-PER, 這就前后就有兩個B,很顯然就不對了。BiLSTM雖然是根據(jù)上下文特征學習后輸出,但是輸出值label相互之間是獨立的。有沒有可能在輸出值label間再加點“東西”來學習label之間的關系了?HMM, MEMM,CRF就可以。要弄懂HMM,MEMM,CRF要先從貝葉斯開始.


生成式模型:聯(lián)合概率P(Y, X) = P(Y|X) * P(X)=P(X|Y)*P(Y)

判別式模型:條件概率P(Y|X) = P(X|Y) / P(X)

從機器學習視角來看貝葉斯,假設分類問題中X可以理解為某特征,Y理解為某類

P(“屬于某類”|“具有某特征”)=在已知某樣本“具有某特征”的條件下,該樣本“屬于某類”的概率。
P(“具有某特征”|“屬于某類”)=在已知某樣本“屬于某類”的條件下,該樣本“具有某特征”的概率。 所以叫做『后驗概率』。
P(“屬于某類”)=(在未知某樣本具有該“具有某特征”的條件下,)該樣本“屬于某類”的概率。
P(“具有某特征”)= (在未知某樣本“屬于某類”的條件下,)該樣本“具有某特征”的概率。所以叫做『先驗概率』。


HMM屬于生成式模型,為什么了?

HMM由五元素組成:

    1. StatusSet隱藏狀態(tài)集,如上面例子中的{B,I,O};
    1. ObervedSet觀察值集,就是語料庫中的漢字{“楊”,“帥”......};
  • 3.InitStatus 初始狀態(tài)比如“O”;
  • 4.TransProbMatrix轉移概率矩陣,初始狀態(tài)“O”轉移到一下個隱狀態(tài)是“B”的概率,是一個33的矩陣 {B,I,O}{B,I,O};
  • 5.EmitProbMatrix發(fā)射概率矩陣,之前是隱狀態(tài)(都不知道系統(tǒng)在干嘛),這次要“發(fā)射”出來了,隱狀態(tài)值”B”到觀察值“楊”的概率。

整個過程中,先求P(“隱狀態(tài)O”),再求P(“隱狀態(tài)B”|“隱狀態(tài)O”),所以擬合的是 P(X)*P(Y|X) ,P(“隱狀態(tài)B”,“隱狀態(tài)O”)的聯(lián)合概率分布,是生成式模型。

HMM中從隱狀態(tài)“B”到觀察值“楊”,接著隱狀態(tài)“B”再到隱狀態(tài)“I”,然后“I”再到觀察值“帥”。這里兩個觀察值“楊”由“B”輸出,“帥”由“I”輸出,另外新的隱狀態(tài)“I”好像只與前一個隱狀態(tài)“B”有關。有沒有一種方法可以讓“楊”與“I”建立更多關系,這樣”I”輸出的觀察值是不是和“楊”就有更多關聯(lián),同時隱狀態(tài)“I”與更多的隱狀態(tài)有關聯(lián),這樣學習的會更深更準確。MEMM嘗試解決這兩個問題:


MEMM

image.png

MEMM 最大熵馬爾科夫模型把上一個隱狀態(tài)“B”和當前觀察值“楊”通過最大似然估計得到當前隱狀態(tài)“I”,再由“I”輸出“帥”,這樣“楊”和“帥”就建立了更多聯(lián)系,雖然解決了HMM的第一個問題,不過存在局部最優(yōu),而不是全局最優(yōu),CRF因此出現(xiàn)了。

MEMM是求條件概率的過程:P(Y|X1,X2) P(“隱狀態(tài)I”|“隱狀態(tài)”B,觀察值“楊”),因此是判別式模型。


最大似然估計(MLE)

岔開一個話題,講下最大似然估計(Maximum likelihood estimation, MLE),似然likelihood和概率probability在英語里都有可能性的意思,所以本質上這兩者都是概率。


image.png

不同的是likelihood是通過給定的數(shù)據(jù)來計算出參數(shù)的似然L,probability是通過給定的參數(shù)來觀測出數(shù)據(jù)的概率P。

最大似然估計有點貪婪的意味,已知結果,求產生該結最大可能的條件。也順帶提一下EM算法,EM相當于一個框架,你可以采用不同的模型進行聚類,比如HMM,MEMM,GMM(高斯混合模型)等。主要分兩大步驟:一是Expectation先初始化參數(shù),然后再觀察預期;二是如果燦在偏差就重新估計參數(shù),這個是最大化的步驟(Maximization).


CRF條件隨機場

image.png

回歸正題繼續(xù)CRF,上圖可以看出,線性Linear-CRF對比HMM把箭頭(轉移方向)變成了直線。最直白的感官體驗是每個圓圈(向量)都可以肆無忌憚暢通無阻的相鄰的圓圈相連了,交互多了,模型也變復雜了,每個圓圈之間的關系從“局部”也變成“全局”。線性Linear-CRF是CRF很多結構中比較常用的一種,只要保證狀態(tài)序列滿足馬爾科夫性都是CRF。那什么是馬爾科夫性了?

這時候引入“團”,“勢函數(shù)”和“分離”的概念。如下圖1,2,3就是一個極大團;1,3,4也是一個極大團;4,5也是一個極大團。當一個團中再也無法加入其他節(jié)點說明這個團就是一個極大團。做算法時,都是極大團,因為如果它不是極大團,那它一定屬于某個極大團。

image.png

每個極大團對應一個勢函數(shù),勢函數(shù)用于描述團中變量之間的關系,要求為非負函數(shù),除以Z是為了規(guī)范化,保證P(X)構成一個概率分布。
image.png

分離:比如從節(jié)點1到5,如果{1,2}和{5}被{3,4}分離,那么{1,2}和{5}可以看成是獨立的。方法分全局馬爾科夫性,局部馬爾科夫性和成對馬爾科夫性。實際上通過全局可以得到局部,通過局部可以得到成對,通過成對可以得到全局,所以這三者實際上是等價的。這里就解釋什么是馬爾科夫性了。直白總結,和我連接的節(jié)點說明是相關的,不連接的節(jié)點說明是獨立的。如下圖{1,2}與{3,4}相關,與{5}獨立。
image.png

繼續(xù)楊帥的例子,“楊”“帥”兩個字(圓圈)構成一個詞,這個詞就是一個“團”,并且這個“團”上有對應的“勢函數(shù)”。依次類推,“楊帥”與“出生”就是兩個“團”并對應兩個“勢函數(shù)”。比方說“楊帥”和“出生”分別對應{1,2},{3,4}, ”于”對應{5}。根據(jù)馬爾科夫性,“楊帥”與“出生”具備相關性,“楊帥”與“于”相互獨立。

以上是馬爾科夫性和馬爾科夫隨機場,條件隨機場相當于馬爾科夫隨機場加入了x輸入和y輸出。還是以輸出標簽為例,用線性linear-CRF來實現(xiàn)。

image.png

狀態(tài)特征:定義在節(jié)點上,該節(jié)點是否擁有某個屬性
轉移特征:定義在邊上,這兩個狀態(tài)是否會因為某個特征而轉移
比如楊帥,“楊”狀態(tài)特征是B,B的轉移特征:B后面可以接I,但是不能接B。那“帥”就不會是B。具體公式如下:
image.png

其實我們看到全連接,又看到w權重是不是很熟悉,這個不就是我們的深度學習的影子嗎?為什么CRF牛,建立了部分“全連接”而且可反向傳播調整權重。當然這是我的理解,不準確可以給我留言,大家一起討論。

進入代碼環(huán)節(jié):


image.png

之前的圖有隱層不是很詳細,所以換了張圖:


image.png

在損失層中,project_logits是神經(jīng)網(wǎng)絡最后一層的輸出,該矩陣的shape為[batch_size, num_steps, num_tags],第一個是batch size,第二個是輸入的句子的長度,第三個標記的個數(shù),即命名實體識別總標記的類別數(shù)。targets是輸入句子的label,即每個字的label,它的維度為[batch_size, num_steps]。損失層定義了一個self.trans矩陣,大小是[num_tags+1, num_tags+1], 加1是因為還有一個類別是未定義。將project_logit,targets以及self.trans交給tensorflow的系統(tǒng)函數(shù)crf_log_likelihood即可求得損失了。
image.png

crf_log_likelihood函數(shù)中分為兩步,最終得到scores:
(1)調用crf_sequence_score函數(shù)計算sequence_scores。
(2)將sequence_scores進行歸一化處理。
CRF參數(shù)的學習及score計算過程主要在crf_sequence_score中進行,我們好好看看這個函數(shù)。


image.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容