当前位置: 首页>C语言>正文

如何計算給定一個unigram語言模型_數位語音處理Lesson3-初識前端信號處理、語言模型...

如何計算給定一個unigram語言模型_數位語音處理Lesson3-初識前端信號處理、語言模型...

fb3f1e369cd84b5280004304a71012d1.png

上一節課主要是初識聲學模型HMM,本節課將前端信號處理、語言模型做一個概述。

1.初識前端信號處理

給定一段離散的語音信號,我們通常的操作是用一堆參數來描述語音信號,用一堆參數來描述語音j的過程我們叫做特征提取。我們人耳在聽語音信號的時候,實際上聽得是聲音的頻率,為了模仿人耳,我們更多的是分析頻域上的特征。接下來hh就進行對人耳的構造進行解析。

人耳構造解析

人耳有外耳、中耳、內耳組成。內耳有一個非常復雜的器官,有點類似蝸牛形狀的(耳蝸),就像有一根管子,里面有液體,這一根管子從粗到細,慢慢卷起來,該器官的構造就決定了它可以response不同的頻率。不同頻率的振動該器官有不同的反應。聽覺神經末梢就長在該器官上,所以人耳可以聽到不同頻率的聲音。你可以將這個管子想象成頻率軸,是non-linear的。感應不同頻率的聽覺神經末梢是overlap的,因此對某些頻率的信號是重復有反應的。如何模擬人耳的這種針對不同頻率有不同反應的現象呢?工程師就用一組三角形互相重疊(因為人耳聽覺神經末梢是overlap)的濾波器,實現對信號中不同頻率的反應。

1d543c442a900fa6e6a8b296d5004676.png
人耳結構圖

d58b4874788c1b37e3d099b3e9a243bf.png
耳蝸結構圖

前端信號處理

(1)預加重:聲帶和嘴唇的效應,抑制了聲音的高頻成分,為了消除這種效應,使信號保持在低頻到高頻整個頻帶中。

預加重的數學表達式:

6ce71a96adc12762d087e3aa62eebd86.png
預加重數學公式

預加重得到的效果是高頻成分被放大,低頻成分放大的比較小,效果如下圖所示:

a458fe12bce74f3e9e068ff1c2bf5bd7.png

(2)端點檢測Endpoint Detection

語音一般會有silence存在,在這些silence的時刻一般伴隨著的是雜訊,在語音信號中雜訊是無處不在的,需要將雜訊和信號分割開來。雜訊是千變萬化的,比較難處理。silence的時候聲音是比較weak的,當有有效聲音的時候信號一般會比雜訊聲音大。比較簡單的方法:能量檢測。求一小段語音信號的能量,通常采用window來進行截取一小段信號。思想主要就是根據當前小窗求得的能量和機器一開始工作但沒有人說話的一段小窗能量(雜訊的能量)進行對比;還可以采用自適應閾值的方法。

目前常用的窗主要有一下幾類:

(a)矩形窗:窗外為0

70f494177c443a321e668fe0812c9a06.png
矩形窗

777597b0fa20a03207d7b5cccd76f35a.png
矩形窗函數

但是使用該窗口會有問題:如果信號有一定突變,如下圖所示,則該窗求出來的窗口內的能量是不平滑的。

(b)Hamming窗:

5fb571db03d4f98e9c2255a81e87d4b4.png

Hamming窗口的數學表達式:

5d86395af87666812b8229e6403a166f.png

為什么要研究頻率信號:之前提過人耳聽的就是頻率。人耳的聽覺神經末梢是overlap的,用三角形的濾波器,這些濾波器是有overlap,人耳的感覺是相對的,是呈log變化的,在log上是等距的。在低頻上是等距的,在高頻在log尺度上是等距的。MFCC特征的提取過程如下(后期會詳細講解)。

ce33c0b0549ba5c00cc0788863637809.png

MFCC很好的表達了語音的特征,但只是靜態的特征。除此之外,我們還經常使用一階差分和二階差分來提取動態特征。

2.初識語言模型:N-gram

W是一個詞串(word sequence),要想知道該詞串是不是一個合理的句子,那么我們要知道如何計算W是一個合理句子的概率(P(W))。

6e7b803b31ca759abcf02d9e6e4945f6.png

N-gram代表的意思是假設看到的第N個word與前N-1個word相關。那么在看到N-1個word之后看到第N個word的概率計算如下圖所示:

2cf174722228abdb503f3b397151355d.png
N-gram 示意圖

雖然這種方式很好,由于常用的中文詞太多了,導致太難計算、太難訓練。于是有人假設當前word只與前面幾個word相關,就從出現了unigram(每個word獨立)、bigram(在前1個word之后出現當前word的概率,兩兩相連)、 tri-gram(在前2個word之后出現當前word的概率,三三相連)。雖然假設不太合理,但是能work,效果也不錯。P(W)如何求?以tri-gram model為例:

dfe7624a1cb7a8aa15595078598c9bb9.png
tri-gram model計算公式

那這些條件概率如何求解?一般操作是爬取互聯網網頁,抓取大量文本,進行頻率統計。比如說下面這圖,在爬取的文本中this出現的次數是50000,this is出現的次數是500,this is a 出現概率為5,則P(is|this)=500/50000,P(a|this is)=5/500。針對從來沒有出現過的,我們會賦予一個比較小的概率。后期會細講。

75bc15bb2134a8f5b0770fbb13e6e19c.png

3.初識語音識別模型

語音識別輸入的是語音信號,經過特征提取得到o1,o2,…or觀測向量,我們期望得到的輸出是一串詞。

e27b10e3b0961f612fd6faf595ccee33.png
語音識別系統框架圖

像上圖所示的那樣,如何整合聲學模型、語言模型實現?非常容易想到的的一個方法就是求在給定觀測向量(針對語音提取的特征向量)前提下,求最大概率的詞串W,比較直覺的數學公式如下:

a5d0ab68277bcbebf412d4bc556e5359.png

這個公式可以利用貝葉斯進行轉化,上述公式轉化為:

3c0939fb3bfa5dd662ea1d79ee6799c4.png

一般把P(W|O)稱之為后驗概率(A posteriori Principle)。所以該方法稱之為最大化后驗概率準則(Maximum A posteriori Principle,MAP)由于轉化后的公式和分子乘正比,其中分子中第一項可以利用聲學模型HMM計算可以得到,第二項可以通過語言模型N-gram可以計算得到。

簡單例子解釋一下MAP:

將天氣分為3類(w1sunny,w2rainy,w3cloudy),p(w1)+p(w2)+p(w3)=1。假設我們可以得到描述這一天天氣的一大堆參數o(o1,o2,….o3),例如溫度濕度之類的。問題可以轉化為在給定今天的o之后,你如何去預測明天的W?

很直覺的想法就是選p(w1) p(w2) p(w3)三個概率中最大的那個,也就是先驗概率來預測為明天的weather。但是這樣有局限性,就是你的準確率只有三個概率中最大,沒有用到今天的任何的參數。

方法2:

計算在給定W的情況下,w1 w2 w3的概率分別是多少,選最大的那個作為明天天氣的預測。具體操作如下圖所示:

eecde8b3dde330fda365c8d27b4bfd3c.png

對應到語音識別中,語言模型算的是先驗概率,聲學模型做的是likelihood function。

例子:辨識華語

在華語中,syllable:音節,一字一音節。一句話進來不知道有幾個音,幾個詞,也不知道boundary在哪里,只知道一長串信號在哪里,如何做呢?我們一般會用一堆聲學模型判斷,第一個音節確定了,相應的第二個音節起始位置就確定了。詞典決定了那些字可以連起來組成一個詞。由于不確定性,會有多條路徑,這時候語言模型就發揮作用,哪些詞串起來會更像一句話。

e3e65df8c811a3dc27e79164d82efb9b.png

https://www.zydui.com/afda8UG8CDQ9TBVEI.html
>

相关文章:

  • 詳解PyTorch中的contiguous
  • PyTorch中的contiguous解讀
  • Pytorch中contiguous()函數理解
  • ios自定義UITabBar-仿寫掌上英雄聯盟的UITabBar
  • 基于Cocos2d-x的英雄聯盟皮膚選擇菜單
  • lol-登陸英雄聯盟出錯
  • JS中雙層for循環執行順序
  • 關于for循環執行順序
  • 上古卷軸5boss計算機丟失,上古卷軸5常見BUG解決辦法
  • 上古世紀服務器維護真情禮,4月9日例行維護懷舊服合服公告
  • 塔羅牌張數
  • 工程管理中的工程技術
  • 銳派出品:LOL新年特輯S4各類細節之下路篇
  • 藍城兄弟Q4業績背后,垂直社區具備多少想象力?
  • Mac OS啟動服務優化高級篇(launchd tuning)
  • #Geek Point# 為什么現在要去印度看一看?
  • vm 流程運行mac os_什么是“商務”流程,為什么在我的Mac上運行?
  • # 陌生人社交產品:需求、困境與破局之道
  • mac 不受信任在哪里更改_什么是受信任的,為什么它可以在Mac上運行?
  • 車行軌跡分類實踐
  • 智慧車行預約小程序 v9.1
  • i12藍牙耳機充電倉怎么看充滿電_車行藍牙耳機價格高性價比的選擇
  • 車行平安
  • 論文閱讀——《基于卷積神經網絡的車行環境多類障礙物檢測與識別》
  • 飛槳開發者創意薈:PaddleHub一鍵部署,AI創意實現原來如此簡單
  • eclipse左側欄目即包資源管理器怎么打開
  • 卷毛機器人符文_卷毛S6娜美輔助天賦 娜美輔助符文天賦S6最新
  • 天賦介紹
  • 蘋果怎么沒有4g信號還無服務器,不顯示4g信號怎么回事?蘋果手機不顯示4g信號的解決方法...
  • c4D體積生成和Quad Remesher重新拓撲減面插件