前面已經學習完詞法,現在就可以學習語法了。語法學習中比較常用的是馬爾可夫模型,然後進行詞性標註,接著採用概率上下文無關文法學習人們說話的方式存在的一些結構和規則,最後採用概率句法分析來識別出高層次的結構但願來簡化句子的描述,實現語塊分析。下面先來介紹馬爾可夫模型。
markov模型,具體來說是**馬爾可夫模型已經成為現代語音識別系統中構建統計模型的重要手段,即使存在不足,但仍然認為是最成功的運用在自然語言處理中的技術。為了區別不同的馬爾可夫過程,我們把一般的馬爾可夫模型稱為顯馬爾可夫模型(visible markov model, vmm), 而通過假定額外的隱含結構,使模型在更高的抽象水平上進行操作,並且允許我們檢視詞語類別順序,該模型稱為**馬爾可夫模型(hide markov model, hmm)。
在顯式馬爾可夫模型中,機器的當前狀態是已知的,因此狀態系列或者它的一些確定函式被認為是輸出。在**馬爾可夫模型中,模型所經過的狀態系列是未知的,我們只知道它的一些概率函式。可以看到,**馬爾可夫模型輸出之前,經過的狀態是未知的,那麼在什麼情況下才可以使用隱性馬爾可夫過程呢?
當系統中表層事件可能是由底層事件引發的時,可以採用hmm有效地解決這類問題。乙個hmm可以由乙個五元組(s,k,i,a,b)表示,其中s、k分別表示狀態集合和輸出字母表,i、a和b分別是初始狀態、狀態轉移以及符號發射概率。
在隱性馬爾可夫模型中我們需要了解三個基本問題:
1、給出乙個模型,怎麼有效地計算某個觀測序列發生地概率?
2、給出觀測序列和模型,我們怎麼樣選擇乙個狀態序列,以便能夠最好地解釋觀測序列?
3、給定觀測序列,以及通過改變模型地引數而得到的模型空間,我們怎麼樣才能找到乙個最好地解釋這個觀測序列的模型?
當模型的引數未知,我們不得不從資料中估計,即解決上面的問題3;通過解決問題1,我們可以確定最佳模型。而問題2讓我們猜測出馬爾可夫鏈中哪條路徑才是最優可能經過的,而且這條隱藏路徑能夠被用來解決分類問題。
針對上面的三個問題,我們首先來介紹如何計算觀測序列的概率。
採用直接的演算法來計算觀測序列的概率,效率較低。因此,我們才用動態程式設計和記憶來避免複雜度,即記住部分結果而不是每次都重新計算,即為前向過程。前向過程表示可以通過對每個入弧的概率與起始節點的前向概率的乘積進行求和計算得到。
前向過程需要儲存較多的結果,而實際上我們不一定需要像這樣一直儲存前向計算的結果,我們也可以進行後向計算。後向過程計算了後向向量,後向變數中紀錄了在給定當前狀態si和t時刻的情況下觀測序列中剩餘部分概率之和。
結合前向概率和後向概率,對於解決問題3中的引數重估很關鍵。
對於問題2,怎麼最好地解釋觀測序列?可以認為該問題是解碼過程,即需要最大化將被正確猜測的狀態的期望數目。解碼最常用的方法是viterbi演算法,因為它能夠有效地計算最可能地狀態序列。viterbi演算法地詳細過程參見:hmm學習最佳範例六:維特比演算法。
hmm廣泛應用於
機器學習
模型中,但其的難點在於其引數估計問題。根據給定特定的觀測序列,我們希望能夠確定模型的引數值,並且要求該模型能夠給出觀測序列的最佳解釋。通過觀測序列,一般可以採用期望最大化演算法,其工作方式如下:
1、在不知道模型引數的資訊時,可以使用某個隨機的模型算出觀測序列的概率——e步驟;
2、檢視計算過程,可發現哪個狀態轉移或者符號發射可能出現的次數最多。通過增加其概率,修改模型引數,使得選擇出可以為觀測序列給出更高概率的模型——m步驟。
通過e步驟,使用現有的模型估計每個模型引數值的期望;m步驟,迭代改善模型,使得模型收斂到引數的最優值。
hmm模型建立完成後,可以用來處理對測試序列進行**,同時通過測試序列不斷修改模型引數,使得模型更加精確地表示事物的發展規律,能夠更精準的解答hmm的三個問題。
python自然語言處理 馬爾科夫模型
馬爾科夫模型常用於分析大量隨機事件,隨機事件的特點是乙個離散事件發生之後,另乙個離散事件將在前乙個事件的條件下以一定的概率發生。以天氣的馬爾科夫模型為例 在這個天氣系統模型中,如果今天是晴天,那麼明天有70 的可能是晴天,20 的可能是多雲,10 的可能下雨。如果今天是下雨天,那麼明天有50 的可能...
統計自然語言處理 自然語言處理是什麼?
自然語言是指中文 英語 西班牙語 法語 德語等等語言,作為人們日常使用的其他語言,它們對人類的交流有著重要作用。自然語言是隨著人類社會的發展而自然產生的語言,而不是由人類所特意創造的語言。自然語言是人們日常學習生活的重要工具和媒介,如果人類失去交流的能力,文明就失去了意義。總的來說,自然語言就是指人...
統計自然語言處理(詞法)
語法可分為詞法和句法 詞法 句法 現代漢語句法的主要內容包括,句子的基本結構 句子的類別 句子的表達形式三個方面。句子的基本結構也叫基本成分,包括主語 謂語 賓語 定語 狀語 補語六種成分。其中的主語 謂語 賓語是主要成分,定語 狀語 補語是附加修飾成分。而主語和謂語是句子的必要成分,缺一則不能成為...