自然語言處理 序列模型

2021-10-04 07:31:58 字數 3134 閱讀 8070

本文主要寫些關於常見序列模型的一些理解,主要是為了記錄一下,自己對這幾個模型的理解還遠遠不夠。

馬爾可夫性是指當前狀態t 只和前一狀態t-1相關(一階),和之前t-2之前的就不相關,這個也算是n-gram語言模型吧,都是為了控制模型複雜度(一方面模型過於複雜,資料集不夠會導致模型達不到收斂;另外一方面模型複雜度成指數增長的話,硬體和時間都是不能接受的)。

隱馬爾可夫模型,指定隱含狀態滿足一階馬爾可夫,而觀測是由單個隱含狀態決定的。

模型主要引數就包括: 隱含狀態之間的轉移矩陣,和隱含狀態到發射概率的發射概率矩陣,以及隱含狀態初始概率。

如果把序列標註問題完全按照分類來做,也就是單獨來看每個字的分類,然後使用生成模型來建模。 那麼我們引數模型仍然包括, 隱含狀態的分布 和隱含狀態下觀測的條件概率。

而序列任務,明顯i1和i2是相關的。而使用馬爾可夫性來簡化建模序列模型,將之前的隱含狀態的分布 轉換為 隱含狀態初始概率和轉移矩陣。利用轉移矩陣就考慮了i1和i2的相關性。 (比如從i1(b_n)到i2(e_v)的轉移矩陣為0,那麼就不可能出現"b_n,e_v"這樣的序列)

hmm的問題主要分為

已知模型,和觀測序列, 計算某個隱含序列的概率

已知觀測序列,求解模型

已知模型和觀測序列,計算最可能的隱含序列

其分別使用了前向演算法、維特比演算法(使用動態規劃的方法來解決問題)最大似然、baum-welch演算法。(baum-welch演算法類似em演算法,具體我不懂)

最大熵模型

me模型主要是在保證特徵f

ff的期望應該和從訓練資料中得到的特徵期望一致的條件下,使得條件熵最大。

m in

−h(p

)=∑x

,yp^

(x,y

)f(x

,y)min -h(p)=\sum_\hat(x,y)f(x,y)

min−h(

p)=x

,y∑​

p^​(

x,y)

f(x,

y)s .t

.∑x,

yp^(

x)p(

y∣x)

fi(x

,y)=

τis.t.\ \ \sum_\hat(x)p(y|x)f_i(x,y)=\tau_i

s.t.x,

y∑​p

^​(x

)p(y

∣x)f

i​(x

,y)=

τi​

∑ xp

(y∣x

)=1\sum_xp(y|x)=1

x∑​p(y

∣x)=

1memm演算法如下圖所示

memm與hmm首先不同的是,這裡箭頭是從觀測序列指向隱含序列(這裡不是生成模型,不存在隱含序列,就是從x指向y)在相同的序列標註任務中(x即詞語,y即對應的標籤)

其建模概率為:

其中

求解模型主要是獲取λ

\lambda

λ的權重。已知權重便可以使用上圖的公式, 計算出 已知o,i的轉移矩陣。這裡i的轉移矩陣是和o相關的。另外這裡可以新增很多特徵,比如 i-2,i-3,其肯定就保證了更長的資訊區間。

為什麼叫做最大熵

這個我沒有看懂,看知乎說因為這裡p(y|x)使用了最大熵分類器的形式,但是我沒有看出來該公式和最大熵模型的聯絡。。

具體計算

具體其求解序列標註三類問題和hmm很類似。由於其有馬爾可夫性,還是用動態規劃的思路求解。

然後就是其存在標註偏置的問題。

如圖的轉移矩陣:狀態1傾向於轉換到狀態2,同時狀態2傾向於保留在狀態2。

具體計算出來最優路徑(累乘最大)是p(1-> 1-> 1-> 1)= 0.4 x 0.45 x 0.5 = 0.09 ,

其餘的p(2->2->2->2)= 0.2 x 0.3 x 0.3 = 0.018,

p(1->2->1->2)= 0.6 x 0.2 x 0.5 = 0.06,

p(1->1->2->2)= 0.4 x 0.55 x 0.3 = 0.066

那麼為什麼會產生偏置呢?區域性歸一化?但是

狀態1傾向於轉換到狀態2,同時狀態2傾向於保留在狀態2。這個意味著什麼?意味著最優路徑的終點肯定是2?

這個和viterbi演算法優化有關係麼?

這裡貼上知乎截圖,沒有看懂。。。。但是我感覺區域性歸一化是有問題的。

crf和前面最大區別就是其是無向圖,所以其計算概率的方式不一樣,所以其可以避免標籤偏置的問題。

具體其建模為

感覺上和memm最大的區別就在於其歸一化在最外面,而memm是歸一化之後再累乘的。(因為無向圖和有向圖的區別?)

具體求解出 λ

\lambda

λ之後,便可以計算序列的概率。

現在神經網路後面接crf已經成為標配了。

參考lstm+crf

具體看lstm之後接的crf,其將lstm輸出的標籤當作自身(ii)特徵分數,乙個轉移矩陣(ii-1到ii)充當相鄰特徵分數,其目標函式就是實際序列概率最大。

自然語言處理 資訊模型

今天拜讀了數學之美的第一章,例舉的例子感覺真是淺顯易懂,這裡不禁要對吳軍老師的寫作功底拜服,下面談談對資訊模型的理解,數字 文字和語言作為資訊的載體,他們的目的都是記錄和傳播資訊,就像我們的老祖先一樣烏拉烏拉幾句,對方就明白了,你丫的罵我,拿起石頭就扔過去了,其實他們的這種交流可以概括為 資訊1 編...

自然語言處理(N gram語言模型)

n gram語言模型 問題描述 由於公司業務產品中,需要使用者自己填寫公司名稱,而這個公司名稱存在大量的亂填現象,因此需要對其做一些歸一化的問題。在這基礎上,能延伸出乙個 使用者填寫的公司名是否有效的模型出來。目標 問題提出來了,就是想找到一種辦法來 使用者填寫的公司名是否有效?問題分析 要想 使用...

自然語言處理(三) 主題模型

什麼是lda?latent dirichlet allocation 什麼是貝葉斯模型?事件 和y同時發生的概率 發生的概率 在 發生的情況下y發生的概率 y發生的概率 在y發生的情況下 發生的概率 要想理解lda,分為以下五個步驟 1 gamma函式 看完這三篇,基本上對gamma函式就有所了解了...