首頁人工智能技術(shù)資訊正文

HMM與CRF模型的使用過程有哪些差異?

更新時(shí)間:2023-02-03 來源:黑馬程序員 瀏覽量:

IT培訓(xùn)班

在NLP領(lǐng)域, HMM用來解決文本序列標(biāo)注問題. 如分詞, 詞性標(biāo)注, 命名實(shí)體識(shí)別都可以看作是序列標(biāo)注問題。同HMM一樣, CRF一般也以文本序列數(shù)據(jù)為輸入, 以該序列對(duì)應(yīng)的隱含序列為輸出。

HMM模型

HMM模型表示為: lambda = HMM(A, B, pi), 其中A, B, pi都是模型的參數(shù), 分別稱作: 轉(zhuǎn)移概率矩陣, 發(fā)射概率矩陣和初始概率矩陣.

接著, 我們開始訓(xùn)練HMM模型, 語料就是事先準(zhǔn)備好的一定數(shù)量的觀測(cè)序列及其對(duì)應(yīng)的隱含序列, 通過極大似然估計(jì)求得一組參數(shù), 使由觀測(cè)序列到對(duì)應(yīng)隱含序列的概率最大。

在訓(xùn)練過程中, 為了簡(jiǎn)化計(jì)算, 馬爾可夫提出一種假設(shè): 隱含序列中每個(gè)單元的可能性只與上一個(gè)單元有關(guān). 這個(gè)假設(shè)就是著名的隱含假設(shè).

訓(xùn)練后, 我們就得到了具備預(yù)測(cè)能力的新模型: lambda = HMM(A, B, pi), 其中的模型參數(shù)已經(jīng)改變。

之后給定輸入序列(x1, x2, ..., xn), 經(jīng)過模型計(jì)算lambda(x1, x2, ..., xn)得到對(duì)應(yīng)隱含序列的條件概率分布。

最后, 使用維特比算法從隱含序列的條件概率分布中找出概率最大的一條序列路徑就是我們需要的隱含序列: (y1, y2, ..., yn)。

CRF模型

首先, CRF模型表示為: lambda = CRF(w1, w2, ..., wn), 其中w1到wn是模型參數(shù).

接著, 我們開始訓(xùn)練CRF模型, 語料同樣是事先準(zhǔn)備好的一定數(shù)量的觀測(cè)序列及其對(duì)應(yīng)的隱含序列.與此同時(shí)我們還需要做人工特征工程, 然后通過不斷訓(xùn)練求得一組參數(shù), 使由觀測(cè)序列到對(duì)應(yīng)隱含序列的概率最大.

訓(xùn)練后, 我們就得到了具備預(yù)測(cè)能力的新模型: lambda = CRF(w1, w2, ..., wn), 其中的模型參數(shù)已經(jīng)改變.之后給定輸入序列(x1, x2, ..., xn), 經(jīng)過模型計(jì)算lambda(x1, x2, ..., xn)得到對(duì)應(yīng)隱含序列的條件概率分布.

最后, 還是使用維特比算法從隱含序列的條件概率分布中找出概率最大的一條序列路徑就是我們需要的隱含序列: (y1, y2, ..., yn).

1675416625631_nlp.png


HMM與CRF模型之間差異

HMM模型存在隱馬假設(shè), 而CRF不存在, 因此HMM的計(jì)算速度要比CRF模型快很多, 適用于對(duì)預(yù)測(cè)性能要求較高的場(chǎng)合。同樣因?yàn)殡[馬假設(shè), 當(dāng)預(yù)測(cè)問題中隱含序列單元并不是只與上一個(gè)單元有關(guān)時(shí), HMM的準(zhǔn)確率會(huì)大大降低, 而CRF不受這樣限制, 準(zhǔn)確率明顯高于HMM。





分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!