日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

通俗理解维特比算法

發布時間:2023/12/3 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 通俗理解维特比算法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉載自??通俗理解維特比算法

本文假定讀者有一定的隱馬模型基礎!或者大家可以參考這兩篇文章。

隱馬爾科夫模型-基本模型與三個基本問題和隱馬爾科夫模型-前向算法

維特比算法說白了就是動態規劃實現最短路徑,只要知道“動態規劃可以降低復雜度”這一點就能輕松理解維特比算法

維特比算法之所以重要,是因為凡是使用隱含馬爾可夫模型描述的問題都可以用它來解碼,包括今天的數字通信、語音識別、機器翻譯、拼音轉漢字、分詞等。——《數學之美》

下面我通過一個例子來解釋講解一下維特比算法!

?

詞性標注問題?? ? ? ? ? ?

首先介紹一下什么是詞性標注問題,比如我們有一句已經分詞好的句子。

dog chase mouse

那么我們就可以進行詞性標注為:

其中nn為名詞,vv為動詞。通過上面例子,我們就很容易看出詞性標注的任務。

那么我們來了一句話之后,比如我們的詞性字典中有nn,vv,prp(代詞),我們怎么能夠找到dog

chase mouse 所對應的詞性標注呢,如果每一個單詞有nn,vv,prp三種可能,那么將會有3*3*3=27種可能,我們如何去挑選呢?

如下圖:

?

我們總共有27條路徑,那么如何得到我們Dog chase mouse的最優路徑呢?

我們至少可以遍歷每一條路徑,求出各自的概率值,然后挑選最大的即可,比如我們求第一條路徑的時候,可以這么表示:

所求的路徑對應如下圖紅色線條所示:

求第27條路徑的時候,我們可以這么表示:

?

所求的路徑對應如下圖紅色線條所示:

那么我們從上面可以知道,要求一個句子的最優詞性標注,我們至少可以遍歷所有的路徑,然后挑選概率值最大的那條路徑即可!!!

?

但是問題來了!?? ? ? ? ? ?

給定模型,求給定長度為T的觀測序列(這里指的就是Dog Chase Mouse)的概率,直接計算法的思路是枚舉所有的長度T(例子中是三個,Dog,Chase,Mouse總共三個單詞)的狀態序列,計算該狀態序列與觀測序列的聯合概率(隱狀態發射到觀測),對所有的枚舉項求和即可。

在狀態種類為N(例子中就是三個,NN,VV,PRP)的情況下,一共有 N^T種排列組合,每種組合計算聯合概率的計算量為T,總的復雜度為0(TN^T),這并不可取。

于是維特比算法隆重登場了!!

?

維特比算法?

好了,到現在為止,我們假定我們已經訓練好了一個隱馬爾可夫模型了(訓練好的意思,也就是單詞到詞性的發射概率,詞性與詞性的轉移概率都已經在訓練數據中學習得到了),來了一句話,Dog Chase Mouse,我如何得到它的詞性標注序列?

首先先上一個維特比算法流程圖:

是不是非常暈,好吧,我下面爭取按自己的話幫助大家理解一遍,再附上相應邏輯的代碼!

解釋如下:

?

實現代碼如下:

總結

以上是生活随笔為你收集整理的通俗理解维特比算法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。