訂閱
糾錯
加入自媒體

自然語言處理序列模型——CRF條件隨機場

2022-04-26 18:36
51CTO
關(guān)注

在之前對序列模型中的HMM(隱馬爾可夫模型)進行掌握以后,有必要對另外一個序列模型CRF進行掌握,因為這兩個模型都是自然語言處理序列模型中的核心模型。在之前介紹的概率有向圖模型,如HMM,即貝葉斯網(wǎng)絡,相對應的概率無向圖模型就稱為馬爾可夫網(wǎng)絡或者馬爾可夫隨機場(MRF),本篇文章所介紹的CRF就是馬爾可夫隨機場的一種。

1.馬爾可夫隨機場

馬爾可夫隨機場也叫馬爾可夫網(wǎng)絡,同時也是一種無向圖模型。在概率圖模型的基礎(chǔ)上,針對無向圖模型,首先需要對無向圖模型的基礎(chǔ)概念進行一定程度上的掌握。

1.1. MRF相關(guān)概念

無向圖模型MRF所特有的一些概念如下:

· 團:圖中的節(jié)點子集,并且其中任意兩個節(jié)點之間都有邊連接;

· 極大團:為一個團,并且加入任何一個其他的節(jié)點都不能再形成團,例如下圖中,該圖中的團一共有{1,2},{1,3},{2,3},{2,4},{3,4},{3,5},{3,6},{1,3},{1,2,3},{2,3,4};其中極大團為{1,2,3},{2,3,4},{3,5},{3,6};

image.png

· 勢函數(shù)(也稱因子Factor):定義在變量子集上的非負實函數(shù),用于定義概率分布函數(shù)。在馬爾可夫隨機場中,多個變量之間的聯(lián)合概率分布可以基于團分解為多個勢函數(shù)的乘積,每個勢函數(shù)僅僅與一個團相關(guān)。

· 特征函數(shù):通常情況下都是一些實數(shù)值函數(shù),它是用來刻畫數(shù)據(jù)的一些可能成立的經(jīng)驗特性。例如下式就是一個特征函數(shù):

image.png

1.2. Hammersley-Clifford定理

在對于勢函數(shù)與團相關(guān)理論掌握的基礎(chǔ)上,由此引申出隨機場的基礎(chǔ)定理,即Hammersley-Clifford定理。該定理的具體定義為:對于具有N個變量的馬爾可夫隨機場,已知變量為 ),這些變量中所有團所構(gòu)成的集合為T,同時與團 對應的變量集合記作 ,則其對應的聯(lián)合概率為:

image.png

上式中, 就是與團S所對應的勢函數(shù),其作用為對團 中的變量關(guān)系進行建模。 為規(guī)范化因子,其難以計算,在普遍情況下,無需計算出 的精確值。在針對于團 不是極大團的情況時,由于非極大團必定屬于某個極大團的性質(zhì),所以還是可以用極大團進行計算來替代非極大團的聯(lián)合概率,即:

image.png

上式中的 就是所有極大團的集合。Hammersley-Clifford定理是隨機場的基礎(chǔ)定理,其為馬爾可夫隨機場被表達為正概率分布的充分必要條件。針對于1.1中的示例圖,其聯(lián)合概率就為:

image.png

1.3. 分離集與馬爾科夫性

在對各種馬爾可夫性進行掌握前,首先需要理解分離集的概念。分離集的定義為:設(shè)A、B、C都是馬爾可夫隨機場中的節(jié)點集合,如果從集合A中的節(jié)點到集合C中的節(jié)點都必須要經(jīng)過集合B中的節(jié)點,那么就可以稱集合A和集合C被集合B給分離,其中集合B就為分離集。如下圖所示:

image.png

有了分離集合的概念,對下面幾種馬爾可夫性的理解就相對簡單了,馬爾可夫性的定義為:當一個隨機過程在給定當前狀態(tài)及所有過去狀態(tài)情況下,其未來狀態(tài)的條件概率分布僅依賴于當前狀態(tài),即只要給定了當前狀態(tài),未來狀態(tài)是與過去狀態(tài)無關(guān)的,也是條件獨立的,該隨機過程也就具有了馬爾可夫性。同理,在馬爾可夫隨機場中,馬爾可夫性可解釋為當前狀態(tài)看作為無向圖中的一個節(jié)點,過去狀態(tài)就是與當前狀態(tài)節(jié)點有邊連接的其他節(jié)點。針對于馬爾可夫性和下圖,又有:

image.png

· 全局馬爾可夫性:節(jié)點集合A,C是無向圖中被節(jié)點集合B分開的任意結(jié)點集合,則在給定隨機變量YB的條件下,隨機變量YA和YC條件獨立。如上圖中節(jié)點1,2就與節(jié)點6,7條件獨立。

· 局部馬爾可夫性:設(shè)X是無向圖中任意一個結(jié)點,T是與X有邊相連的所有結(jié)點,無向圖中其他剩余結(jié)點為S,則給定隨機變量YT的條件下,隨機變量YX和YS條件獨立。如上圖的節(jié)點2,與2連接的節(jié)點為1和5,即給定節(jié)點1和5的情況下,那么節(jié)點2就與剩下的節(jié)點3,4,6,7條件獨立。

· 成對馬爾可夫性:設(shè)無向圖中V和C是任意兩個沒有邊直接連接的結(jié)點,圖中其他結(jié)點的集合記做S,則給定隨機變量YS的條件下,隨機變量YV和YC條件獨立。如上圖中2和6兩個節(jié)點之間沒有邊直接連接,那么剩余其他節(jié)點為1,3,4,5,7,給定這些節(jié)點的情況下,節(jié)點2和節(jié)點6條件獨立。

綜上可知,這三種馬爾可夫性相互之間是關(guān)聯(lián)等價的,通過全局馬爾可夫性可以得到局部馬爾可夫性,通過局部馬爾可夫性也可得到成對馬爾可夫性,通過成對馬爾科夫性又可以推出全局馬爾可夫性。因此只要滿足三種性質(zhì)的一種的無向圖就稱為馬爾可夫隨機場(MRF)。

2.條件隨機場——CRF

通過上述闡述,讀者們可以對馬爾可夫隨機場,即馬爾可夫無向圖有了基本的掌握與理解。在此基礎(chǔ)上,本文就引出條件隨機場CRF。

2.1.CRF

由上述可知,CRF模型是無向圖模型的一種,但是其與馬爾可夫隨機場(MRF)有所不同,主要區(qū)別在于MRF模型是生成模型,而CRF模型是判別式模型,其是對條件分布進行建模。兩者之間也存在關(guān)聯(lián),即CRF是有條件的馬爾可夫隨機場,也就是在給定隨機變量的條件下的馬爾可夫隨機場。

CRF的基本定義為:設(shè)X和Y是隨機變量, 是給定X條件下Y的條件概率分布。若隨機變量Y構(gòu)成一個無向圖的馬爾可夫隨機場,則稱條件概率分布 為CRF。對應于馬爾可夫性可理解為,如果隨機變量Y構(gòu)成一個無向圖,且圖中每一個變量Y,都滿足馬爾可夫性(至少滿足全局馬爾可夫性、局部馬爾可夫性、成對馬爾可夫性中一種),則稱 為CRF。其中X為輸入變量,即需要標注的觀測序列,Y為輸出變量,表示狀態(tài)或標記序列。在自然語言處理領(lǐng)域中,普遍的輸入變量X和輸出變量Y具有相同圖結(jié)構(gòu)。

2.2.CRF線性鏈

在實際應用中,對于CRF的使用最多的情況是線性鏈CRF,線性鏈的結(jié)構(gòu)如下所示:

image.png

一般地,當X和Y具有相同圖結(jié)構(gòu)時,線性鏈結(jié)構(gòu)就變?yōu)槿缦滤荆?/p>

image.png

在上圖中,X就為觀測序列,Y就為狀態(tài)序列。同時在給定隨機變量序列X的條件下,如果隨機變量序列Y相對于序列X的條件概率分布P(YIX)構(gòu)成條件隨機場,那么可得隨機變量Y也滿足馬爾可夫性。公式表達為:

image.png

即Y當前狀態(tài)只與相連接的前后兩個狀態(tài)有關(guān),而與其他狀態(tài)相互獨立,為線性連接的關(guān)系。此時稱P(YIX)為條件隨機場,相應的,X為輸入或者觀測序列,Y為輸出或者狀態(tài)序列。

2.3. CRF相關(guān)計算

當選定好勢函數(shù)后,這里選取指數(shù)函數(shù),通過引入特征函數(shù),可以得到條件概率為:

image.png

其中,tk和 sk分別為特征函數(shù),tk定義為邊上的特征函數(shù),也叫轉(zhuǎn)移特征,它依賴于當前節(jié)點和前一個節(jié)點; sk定義為結(jié)點上的特征函數(shù),也叫狀態(tài)特征,只依賴于當前結(jié)點。一般情況下,tk和sk的取值為1或者0,即滿足特征條件時為1,不滿足則為0。λk和μk分別為tk和sk所對應的權(quán)值。Z(x)為規(guī)范化因子,來保證P(YIX)為概率分布。

對于上述公式的理解,通過一個簡單例子可以更好地去掌握。例如設(shè)輸入觀測序列X X3為(X1,X2,X3)對應的狀態(tài)序列Y為(Y1,Y2,Y3),其中Y1,Y2,Y3 的取值為1或者2。對于第一條連接邊,設(shè)特征和權(quán)值為:

image.png

對應的特征函數(shù)為:

image.png

根據(jù)上式,同時給定相對應的權(quán)重 可寫出:

image.png

由此可計算狀態(tài)為 的非規(guī)范化條件概率為(不需要除以規(guī)范化因子Z) 。

3.CRF模型解決的三種問題類型

相較于之前的HMM模型,CRF模型同樣需要解決三種問題,分別為概率計算問題、預測問題和學習問題。

· 概率計算問題:針對于概率計算問題,通常情況給定的已知信息是CRF模型的條件概率分布P(YIX)、觀測序列X和狀態(tài)序列Y,求解目標為某一條件概率以及相對應的數(shù)學期望。求解的方法基本就是前向后向計算方法。

· 預測問題:針對于預測問題,通常情況給定的已知信息是CRF模型的條件概率分布P(YIX)、觀測序列X,求解目標為使得條件概率最大的狀態(tài)序列Y,即求解觀測序列所對應的狀態(tài)。求解方法基本是函數(shù)計算。

· 學習問題:學習問題也叫模型訓練求解參數(shù)問題,通過給定的數(shù)據(jù)集(觀測序列和狀態(tài)序列等)來求解CRF模型所需要的參數(shù),通常用到的方法就是模型訓練常用的尺度迭代方法(如梯度下降算法等)。

4.總結(jié)

相較于HMM模型,CRF模型計算的過程更為復雜,但是對于整體把握CRF模型的影響并不大,只需要在思路上明白CRF模型和HMM模型在實際應用中所需要解決的三種問題即可,針對于特定問題中給定的已知條件來實現(xiàn)求解目標。

在自然語言處理領(lǐng)域,對于概率統(tǒng)計模型的掌握其實也就是對于HMM模型和CRF模型的掌握。雖然,HMM和CRF模型流行于在自然語言處理領(lǐng)域使用深度學習技術(shù)之前,但是還是那句話,目前針對于自然語言處理領(lǐng)域深度學習技術(shù)的瓶頸問題,不妨換個思維,考慮下概率統(tǒng)計模型來處理,也許能取得不錯的效果。

作者介紹

稀飯,51CTO社區(qū)編輯,曾任職某電商人工智能研發(fā)中心大數(shù)據(jù)技術(shù)部門,做推薦算法。目前攻讀智能網(wǎng)絡與大數(shù)據(jù)方向的研究生,主要擅長領(lǐng)域有推薦算法、NLP、CV,使用代碼語言有Java、Python、Scala。

       原文標題 : 自然語言處理序列模型——CRF條件隨機場

聲明: 本文系OFweek根據(jù)授權(quán)轉(zhuǎn)載自其它媒體或授權(quán)刊載,目的在于信息傳遞,并不代表本站贊同其觀點和對其真實性負責,如有新聞稿件和圖片作品的內(nèi)容、版權(quán)以及其它問題的,請聯(lián)系我們。

發(fā)表評論

0條評論,0人參與

請輸入評論內(nèi)容...

請輸入評論/評論長度6~500個字

您提交的評論過于頻繁,請輸入驗證碼繼續(xù)

暫無評論

暫無評論

    掃碼關(guān)注公眾號
    OFweek人工智能網(wǎng)
    獲取更多精彩內(nèi)容
    文章糾錯
    x
    *文字標題:
    *糾錯內(nèi)容:
    聯(lián)系郵箱:
    *驗 證 碼:

    粵公網(wǎng)安備 44030502002758號