1. 程式人生 > >【NLP】揭祕馬爾可夫模型神祕面紗系列文章(二)

【NLP】揭祕馬爾可夫模型神祕面紗系列文章(二)

作者:白寧超

2016年7月11日15:31:11

摘要:最早接觸馬爾可夫模型的定義源於吳軍先生《數學之美》一書,起初覺得深奧難懂且無什麼用場。直到學習自然語言處理時,才真正使用到隱馬爾可夫模型,並體會到此模型的妙用之處。馬爾可夫模型在處理序列分類時具體強大的功能,諸如解決:詞類標註、語音識別、句子切分、字素音位轉換、區域性句法剖析、語塊分析、命名實體識別、資訊抽取等。另外廣泛應用於自然科學、工程技術、生物科技、公用事業、通道編碼等多個領域。本文寫作思路如下:第一篇對馬爾可夫個人簡介和馬爾科夫鏈的介紹;第二篇介紹馬爾可夫鏈(顯馬爾可夫模型)和隱馬爾可夫模型以及隱馬爾可夫模型的三大問題(似然度、編碼、引數學習);第三至五篇逐一介紹三大問題相關演算法:(向前演算法、維特比演算法、向前向後演算法);最後非常得益於馮志偉先生自然語言處理教程一書,馮老研究自然語言幾十餘載,在此領域別有建樹

目錄

【自然語言處理:馬爾可夫模型(一)】:

馬爾可夫個人簡介

安德烈·馬爾可夫,俄羅斯人,物理-數學博士,聖彼得堡科學院院士,彼得堡數學學派的代表人物,以數論和概率論方面的工作著稱,他的主要著作有《概率演算》等。1878年,榮獲金質獎章,1905年被授予功勳教授稱號。馬爾可夫是彼得堡數學學派的代表人物。以數論和概率論方面的工作著稱。他的主要著作有《概率演算》等。在數論方面,他研究了連分數和二次不定式理論 ,解決了許多難題 。在概率論中,他發展了矩陣法,擴大了大數律和中心極限定理的應用範圍。馬爾可夫最重要的工作是在1906~1912年間,提出並研究了一種能用數學分析方法研究自然過程的一般圖式——馬爾可夫鏈

。同時開創了對一種無後效性的隨機過程——馬爾可夫過程的研究。馬爾可夫經多次觀察試驗發現,一個系統的狀態轉換過程中第n次轉換獲得的狀態常取決於前一次(第(n-1)次)試驗的結果。馬爾可夫進行深入研究後指出:對於一個系統,由一個狀態轉至另一個狀態的轉換過程中,存在著轉移概率,並且這種轉移概率可以依據其緊接的前一種狀態推算出來,與該系統的原始狀態和此次轉移前的馬爾可夫過程無關。馬爾可夫鏈理論與方法在現代已經被廣泛應用於自然科學、工程技術和公用事業中。   

1  引言

當需要計算現實世界上可以直接觀察到的時間序列的概率時,(如上面天氣事件),馬爾可夫鏈很有用。但是,當我們處理的事件是現實世界不能觀察到的,而是隱含在觀察背後,諸如詞類標註(根據具體的一個個的詞,我們實現看到的詞的序列去標註出正確的詞類,此事詞類的標註是隱藏的)、語音識別(聲學事件下,推斷出隱藏在其背後的單詞)等。類似這樣的事件馬爾可夫鏈是不能直接解決的,此處隱馬爾可夫模型便派到用場。

隱馬爾科夫模型:由被觀察到的事件(如:此類標記時我們輸入中看到的詞序列),又涉及到隱藏事件(對詞的標註),這些隱藏事件在概率模型中被我們認為是引導因素。

2 隱馬爾可夫模型

2.1 愛依斯訥(Jason Eisner)對隱馬爾可夫模型的描述

隱馬爾可夫模型在現實問題中應用:

隱馬爾可夫模型在現實事件中的使用,假設從2016年之後的一千年(3016年),我們想了解2016年某段時間中國*成都天氣狀況(假設簡單的熱冷表示即H|C),恰巧又沒有2016年成都天氣關於熱冷的記錄,唯一的線索便是小明日記本中夏天的一段記錄,記錄的是每天小明吃冰淇淋的數量觀察狀態),我們可以利用隱馬爾可夫模型根據小明夏天吃冰淇淋數量的記錄推斷中國成都天氣熱=0.8|冷=0.2,即隱含狀態),究竟該如何做?

(1)具有初始狀態和終結狀態的隱馬爾科夫鏈描述如下:

(2)沒有初始狀態和終結狀態的隱馬爾科夫鏈描述如下:

(3)一階隱馬爾可夫的兩個假設

2.2 拉賓納(Rabiner)對隱馬爾可夫模型思想的三個問題

問題1(似然度問題):給一個HMM λ=(A,B) 和一個觀察序列O,確定觀察序列的似然度問題 P(O|λ) 。

問題2(解碼問題):給定一個觀察序列O和一個HMM λ=(A,B),找出最好的隱藏狀態序列Q。

問題3(學習問題):給定一個觀察序列O和一個HMM中的狀態集合,自動學習HMM的引數A和B。

如上的冰淇淋事件是典型的問題1,似然度問題,對應向前演算法解決。詞類標註是典型問題2解碼問題,對應維特比演算法解決。問題3是機器學習問題,對應向前向後演算法解決。此三個問題稍後篇章會一一介紹。

3 案例解析隱馬爾可夫模型

下圖描述小明吃冰淇淋的數量觀察值)與天氣熱冷情況隱藏值H或C)之間的隱馬爾可夫模型

 

其中hot1的轉移概率是:

P(1|hot)=0.2    夏天某天天氣熱吃1根冰淇淋的概率

P(2|hot)=0.4    夏天某天天氣熱吃2根冰淇淋的概率

P(3|hot)=0.4    夏天某天天氣熱吃3根冰淇淋的概率

其中cold2的轉移概率是:

P(1|hot)=0.5    夏天某天天氣冷吃1根冰淇淋的概率

P(1|hot)=0.4    夏天某天天氣冷吃2根冰淇淋的概率

P(1|hot)=0.1    夏天某天天氣冷吃3根冰淇淋的概率

其中觀察值(吃的數量):

O={1,2,3}

隱藏值(天氣的狀態):

S={H,C}

全連通HMM:任何兩個狀態之間的轉移一個非零概率。

非全連通HMM:從左到右的單向序列,如對語音程序建模。

通過小明吃冰淇淋的觀察值推斷天氣狀態的問題,留著下節採用隱含馬爾可夫模型解決。此處採用一個短小簡明的例子,旨在讓讀者明白原理,後續會拿到現實應用中深入講解。

4  參考文獻

【1】統計自然語言處理基礎  Christopher.Manning等 著    宛春法等 譯

【2】自然語言處理簡明教程  馮志偉 著

【3】數學之美  吳軍 著

【4】Viterbi演算法分析文章  王亞強

宣告:關於此文各個篇章,本人採取梳理扼要,順暢通明的寫作手法。一則參照相關資料二則根據自己理解進行梳理。避免冗雜不清,每篇文章讀者可理清核心知識,再找相關文獻系統閱讀。另外,要學會舉一反三,不要死盯著定義或者某個例子不放。諸如:此文章例子冰淇淋數量(觀察值)與天氣冷熱(隱藏值)例子,讀者不免問道此有何用?我們將冰淇淋數量換成中文文字或者語音(觀察序列),將天氣冷熱換成英文文字或者語音文字(隱藏序列)。把這個問題解決了不就是解決了文字翻譯、語音識別、自然語言理解等等。解決了自然語言的識別和理解,再應用到現在機器人或者其他裝置中,不就達到實用和聯絡現實生活的目的了?

相關推薦

NLP揭祕模型神祕面紗系列文章

作者:白寧超 2016年7月11日15:31:11 摘要:最早接觸馬爾可夫模型的定義源於吳軍先生《數學之美》一書,起初覺得深奧難懂且無什麼用場。直到學習自然語言處理時,才真正使用到隱馬爾可夫模型,並體會到此模型的妙用之處。馬爾可夫模型在處理序列分類時具體強大的功能,諸如解決:詞類標註、語音識別、句

NLP揭祕模型神祕面紗系列文章

作者:白寧超 2016年7月10日20:34:20 摘要:最早接觸馬爾可夫模型的定義源於吳軍先生《數學之美》一書,起初覺得深奧難懂且無什麼用場。直到學習自然語言處理時,才真正使用到隱馬爾可夫模型,並體會到此模型的妙用之處。馬爾可夫模型在處理序列分類時具體強大的功能,諸如解決:詞類標註、語音識別、句

NLP揭祕模型神祕面紗系列文章

作者:白寧超 2016年7月11日22:54:57 摘要:最早接觸馬爾可夫模型的定義源於吳軍先生《數學之美》一書,起初覺得深奧難懂且無什麼用場。直到學習自然語言處理時,才真正使用到隱馬爾可夫模型,並體會到此模型的妙用之處。馬爾可夫模型在處理序列分類時具體強大的功能,諸如解決:詞類標註、語音識別、句

NLP揭祕模型神祕面紗系列文章

作者:白寧超 2016年7月12日14:28:10 摘要:最早接觸馬爾可夫模型的定義源於吳軍先生《數學之美》一書,起初覺得深奧難懂且無什麼用場。直到學習自然語言處理時,才真正使用到隱馬爾可夫模型,並體會到此模型的妙用之處。馬爾可夫模型在處理序列分類時具體強大的功能,諸如解決:詞類標註、語音識別、句

NLP揭祕模型神祕面紗系列文章

作者:白寧超 2016年7月12日14:08:28 摘要:最早接觸馬爾可夫模型的定義源於吳軍先生《數學之美》一書,起初覺得深奧難懂且無什麼用場。直到學習自然語言處理時,才真正使用到隱馬爾可夫模型,並體會到此模型的妙用之處。馬爾可夫模型在處理序列分類時具體強大的功能,諸如解決:詞類標註、語音識別、句

NLP驀然回首:談談學習模型的評估系列文章

作者:白寧超 2016年7月19日10:24:24 摘要:寫本文的初衷源於基於HMM模型序列標註的一個實驗,實驗完成之後,迫切想知道採用的序列標註模型的好壞,有哪些指標可以度量。於是,就產生了對這一專題進度學習總結,這樣也便於其他人蔘考,節約大家的時間。本文依舊旨在簡明扼要梳理出模型評估核心指標,

NLP驀然回首:談談學習模型的評估系列文章

作者:白寧超 2016年7月19日19:04:51 摘要:寫本文的初衷源於基於HMM模型序列標註的一個實驗,實驗完成之後,迫切想知道採用的序列標註模型的好壞,有哪些指標可以度量。於是,就產生了對這一專題進度學習總結,這樣也便於其他人蔘考,節約大家的時間。本文依舊旨在簡明扼要梳理出模型評估核心指標,

NLP驀然回首:談談學習模型的評估系列文章

作者:白寧超 2016年7月18日17:18:43 摘要:寫本文的初衷源於基於HMM模型序列標註的一個實驗,實驗完成之後,迫切想知道採用的序列標註模型的好壞,有哪些指標可以度量。於是,就產生了對這一專題進度學習總結,這樣也便於其他人蔘考,節約大家的時間。本文依舊旨在簡明扼要梳理出模型評估核心指標,

演算法模型 HMM

隱馬爾可夫模型 (Hidden Markov Model,HMM) 以下來源於_作者 :skyme 地址:http://www.cnblogs.com/skyme/p/4651331.html 隱馬爾可夫模型(Hidden Markov Model,HMM)是統計模型,它用來描述一

機器學習筆記18模型

【參考資料】 【1】《統計學習方法》 隱馬爾可夫模型(HMM)定義 隱馬爾可夫模型: 隱馬爾可夫模型是關於時序的模型,描述一個由隱藏的馬爾可夫鏈生成的不可觀測的狀態序列,再由各個狀態生成的觀測值所構成的一個觀測序列。 形式化定義HMM為λ=(A,B,π)\la

中文分詞模型HMM

Nianwen Xue在《Chinese Word Segmentation as Character Tagging》中將中文分詞視作為序列標註問題(sequence tagging problem),由此引入監督學習演算法來解決分詞問題。 1. HMM 首先,我們將簡要地介紹HMM(主要參考了李航老師的《

NLP之隱模型

馬爾可夫模型 在介紹隱馬爾可夫模型之前,先來介紹馬爾可夫模型。 我們知道,隨機過程又稱隨機函式,是隨時間而隨機變化的過程。 馬爾可夫模型(Markov model)描述了一類重要的隨機過程。我們常常需要考察一個隨機變數序列,這些隨機變數並不是相互獨立的,每個隨機變數的值依賴於這個序

統計學習方法-李航-筆記總結十、隱模型

本文是李航老師《統計學習方法》第十章的筆記,歡迎大佬巨佬們交流。 主要參考部落格: https://www.cnblogs.com/YongSun/p/4767667.html https://www.cnblogs.com/naonaoling/p/5701634.html htt

中文分詞階隱模型2-HMM

在前一篇中介紹了用HMM做中文分詞,對於未登入詞(out-of-vocabulary, OOV)有良好的識別效果,但是缺點也十分明顯——對於詞典中的(in-vocabulary, IV)詞卻未能很好地識別。主要是因為,HMM本質上是一個Bigram的語法模型,未能深層次地考慮上下文(context)。對於此,

中文分詞最大熵模型MEMM

Xue & Shen '2003 [2]用兩種序列標註模型——MEMM (Maximum Entropy Markov Model)與CRF (Conditional Random Field)——用於中文分詞;看原論文感覺作者更像用的是MaxEnt (Maximum Entropy) 模型而非MEM

NLP-隱模型及使用例項

說明:學習筆記,內容來自周志華的‘機器學習’書籍和加號的‘七月線上’視訊。 隱馬爾可夫模型 隱馬爾可夫模型(Hidden Markov Model,簡稱HMM)是結構最簡單的動態貝葉斯網,這是一種著名的有向圖模型,主要用於時序資料建模,在語音識別、

模型

image 之前 下標 如何 最大路 mage 局部最優 .com 紅色 預測算法 還記得隱馬爾可夫模型的三個問題嗎?本篇介紹第三個問題:預測問題,即給定模型參數和觀測序列,求最有可能的狀態序列,有如下兩種算法。 近似算法 在每個時刻t選出當前最有可能的狀態 it,從而得到

模型

回溯 一是 描述 數學 函數 觀測 tran 隱藏 之間 隱馬爾可夫模型   隱馬爾可夫模型(Hidden Markov Model,HMM)是一種統計模型,廣泛應用在語音識別,詞性自動標註,音字轉換,概率文法等各個自然語言處理等應用領域。經過長期發展,尤其

簡單模型的實現簡單的機器學習

自然語言 index 馬爾科夫 ref item model not 次數 read 馬爾可夫模型(Markov Model)是一種統計模型,廣泛應用在語音識別,詞性自動標註,音字轉換,概率文法等各個自然語言處理等應用領域。經過長期發展,尤其是在語音識別中的成功應用,使它成

轉:從頭開始編寫基於隱含模型HMM的中文分詞器

lan reverse single trim 地址 note str rip resources http://blog.csdn.net/guixunlong/article/details/8925990 從頭開始編寫基於隱含馬爾可夫模型HMM的中文分詞器之一 - 資