發布時間:2024-01-22閱讀(11)
通常情況下,我們在做語音識別的時候,一般是以下的一個流程:

這里最主要的是依靠兩個模型:聲學模型和語言模型,聲學模型接收我們說話的音頻,輸出的結果為拼音,而從拼音轉換到文字,這個就需要語言模型來進行操作。也就是這一篇文章的核心,基于馬爾可夫的拼音文字轉換方法。
一:拼音到文字的Markov模型推導
Markov模型的特點是某一狀態的發生概率僅其以前的狀態有關,而和其他狀態無關
,這一點在語言學中稱為左語境約束,左語境約束這一點很好理解,因為我們的文字讀寫習慣都是從左到右,因此你現在讀到的文字語境會受到你剛剛讀到的文字的約束。
前提假設:


綜上所述:可以通過下邊的圖片來解釋這個流程,其中方塊表示輸入的拼音,圓形表示同音字,箭頭表示對外轉移概率(沒有箭頭表示轉移概率為0)

二:動態規劃的算法求解
包括最大似然估計,很多方法都可以解決尋找路徑的問題。需要通過對觀察到的數據來進行概率判斷下一時刻最可能的狀態,從拼音到漢字的轉換過程可以看做是在一個有向圖中,求解概率最大路徑的問題。可以用維特比(Viterb)算法:
假設:我們觀察到的是拼音:
但是觀測序列中序列排序很復雜,比如wo可能有三種可能:喔、我、沃,如下圖所示:

現在變成了最大概率問題,把概率最大的理解為路徑最短,轉換為了求解最短路徑問題:

算法求解:
1:A->B

2:A->B->C

3:A->B->C->D

4:A->B->C->D->E

最終就得到了A->E的最短路徑A->B1->C2->D2->E1,至此,找到了wo ai zhong guo對應的概率最大的中文漢字組合為:我愛中國。

三:系統結構
參考https://github.com/letiantian/Pinyin2Hanzi項目代碼。羅列系統結構:

用戶輸入拼音串后,會學習語料庫,然后通過維特比算法去求解最大解,,并
將形成最大值的狀態串接起來作為輸出 。
四:實驗結果

代碼學習部分放在下一篇
五:參考文章
1:基于詞詞同現概率的拼音漢字自動轉換方法。馬少平老師
2:如何通俗地講解 viterbi 算法?
https://www.zhihu.com/question/2013
上一篇:即使和即便是近義詞嗎 用即使好
下一篇:紅娘是哪一部作品中的人物
Copyright ? 2024 有趣生活 All Rights Reserve吉ICP備19000289號-5 TXT地圖HTML地圖XML地圖