訂閱
糾錯(cuò)
加入自媒體

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

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

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

1.馬爾可夫隨機(jī)場

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

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

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

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

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

image.png

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

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

image.png

1.2. Hammersley-Clifford定理

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

image.png

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

image.png

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

image.png

1.3. 分離集與馬爾科夫性

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

image.png

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

image.png

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

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

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

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

2.條件隨機(jī)場——CRF

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

2.1.CRF

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

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

2.2.CRF線性鏈

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

image.png

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

image.png

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

image.png

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

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

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

image.png

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

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

image.png

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

image.png

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

image.png

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

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

相較于之前的HMM模型,CRF模型同樣需要解決三種問題,分別為概率計(jì)算問題、預(yù)測問題和學(xué)習(xí)問題。

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

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

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

4.總結(jié)

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

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

作者介紹

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

       原文標(biāo)題 : 自然語言處理序列模型——CRF條件隨機(jī)場

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

發(fā)表評論

0條評論,0人參與

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

請輸入評論/評論長度6~500個(gè)字

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

  • 看不清,點(diǎn)擊換一張  刷新

暫無評論

暫無評論

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

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