计算机学院自然语言处理专业,哈尔滨工业大学计算机学院-自然语言处理-课程总结...
1. 前言
自然語(yǔ)言處理是關(guān)毅老師的研究生課程。
本博客僅對(duì)噪聲信道模型、n元文法(N-gram語(yǔ)言模型)、維特比算法詳細(xì)介紹。
其他的重點(diǎn)知識(shí)還包括概率上文無(wú)關(guān)文法(PCFG)、HMM形式化定義、詞網(wǎng)格分詞等等,比較簡(jiǎn)單,不做贅述。
2. 噪聲信道模型
2.1 噪聲信道模型原理
噪聲信道模型的示意圖如下所示:
該模型的目標(biāo)是通過(guò)有噪聲的輸出信號(hào)試圖恢復(fù)輸入信號(hào),依據(jù)貝葉斯公式,其計(jì)算公式如下所示: $$I = \arg \max _ { I } P ( I | O ) = \arg \max _ { I } \frac { P ( O | I ) P ( I ) } { P ( O ) } = \arg \max _ { I } P ( O | I ) P ( I )$$
$I$指輸入信號(hào),$O$指輸出信號(hào)。
噪聲模型的優(yōu)點(diǎn)是具有普適性,通過(guò)修改噪聲信道的定義,可以將很多常見(jiàn)的應(yīng)用納入到這一模型的框架之中,相關(guān)介紹見(jiàn)2.1。
2.2 噪聲信道模型的應(yīng)用
2.2.1 語(yǔ)音識(shí)別
語(yǔ)音識(shí)別的目的是通過(guò)聲學(xué)信號(hào),找到與其對(duì)應(yīng)的置信度最大的語(yǔ)言文本。
計(jì)算公式與上文相同,此時(shí)的$I$為語(yǔ)言文本,$O$為聲學(xué)信號(hào)。
代碼實(shí)現(xiàn)過(guò)程中,有一個(gè)信息源以概率$P(I)$生成語(yǔ)言文本,噪聲信道以概率分布$P(O|I)$將語(yǔ)言文本轉(zhuǎn)換為聲學(xué)信號(hào)。
模型通過(guò)貝葉斯公式對(duì)后驗(yàn)概率$P(I|O)$進(jìn)行計(jì)算。
2.2.2 其他應(yīng)用
手寫(xiě)漢字識(shí)別
文本 -> 書(shū)寫(xiě) -> 圖像
文本校錯(cuò)
文本 -> 輸入編輯 -> 帶有錯(cuò)誤的文本
音字轉(zhuǎn)換
文本 -> 字音轉(zhuǎn)換 -> 拼音編碼
詞性標(biāo)注
詞性標(biāo)注序列 -> 詞性詞串替換 -> 詞串
3. N-gram語(yǔ)言模型
3.1 N-gram語(yǔ)言模型原理
N-gram語(yǔ)言模型基于馬爾可夫假設(shè),即下一個(gè)詞的出現(xiàn)僅僅依賴于他前面的N個(gè)詞,公式如下: $$P ( S ) = P \left( w _ { 1 } w _ { 2 } \dots w _ { n } \right) = p \left( w _ { 1 } \right) p \left( w _ { 2 } | w _ { 1 } \right) p \left( w _ { 3 } | w _ { 1 } w _ { 2 } \right) \ldots p \left( w _ { n } | w _ { 1 } w _ { 2 } \dots w _ { n - 1 } \right)$$
實(shí)踐中,往往采用最大似然估計(jì)的方式進(jìn)行計(jì)算: $$P \left( w _ { n } | w _ { 1 } w _ { 2 } \dots w _ { n - 1 } \right) = \frac { C \left( w _ { 1 } w _ { 2 } \ldots w _ { n } \right) } { C \left( w _ { 1 } w _ { 2 } \dots w _ { n - 1 } \right) }$$
在訓(xùn)練語(yǔ)料庫(kù)中統(tǒng)計(jì)獲得字串的頻度信息。
n越大: 對(duì)下一個(gè)詞出現(xiàn)的約束性信息更多,更大的辨別力
n越小: 在訓(xùn)練語(yǔ)料庫(kù)中出現(xiàn)的次數(shù)更多,更可靠的統(tǒng)計(jì)結(jié)果,更高的可靠性
3.2 平滑處理
如果不進(jìn)行平滑處理,會(huì)面臨數(shù)據(jù)稀疏的問(wèn)題,這會(huì)使聯(lián)合概率的其中一項(xiàng)值為0,從而導(dǎo)致句子的整體概率值為0。
3.2.1 加一平滑法(拉普拉斯定律)
公式如下: $$P _ { L a p } \left( w _ { 1 } w _ { 2 } , \ldots w _ { n } \right) = \frac { C \left( w _ { 1 } w _ { 2 } \dots w _ { n } \right) + 1 } { N + B } , \left( B = | V | ^ { n } \right)$$
實(shí)際運(yùn)算時(shí),$N$為條件概率中先驗(yàn)字串的頻度。
3.2.2 其他平滑方法
Lidstone定律
Good-Turing估計(jì)
Back-off平滑
4. 維特比算法
4.1 維特比算法原理
維特比算法用于解決HMM三大問(wèn)題中的解碼問(wèn)題,即給定一個(gè)輸出字符序列和HMM模型參數(shù),如何確定模型產(chǎn)生這一序列概率最大的狀態(tài)序列。 $$\arg \max _ { X } P ( X | O ) = \arg \max _ { X } \frac { P ( X , O ) } { P ( O ) } = \arg \max _ { X } P ( X , O )$$
$O$是輸出字符序列,$X$是狀態(tài)序列。
維特比算法迭代過(guò)程如下:
初始化 $$\begin{array} { l } { \delta _ { 1 } ( i ) = \pi _ { i } b _ { i } \left( o _ { 1 } \right) } \ { \psi _ { 1 } ( i ) = 0 } \end{array}$$
遞歸 $$\begin{array} { c } { \delta _ { t + 1 } ( j ) = \underset { 1 \leq i \leq N } \max \delta _ { t } ( i ) a _ { i j } b _ { j } \left( o _ { t + 1 } \right) } \ { \psi _ { t + 1 } ( j ) = \underset { 1 \leq i \leq N } { \arg \max } \delta _ { t } ( i ) a _ { i j } b _ { j } \left( o _ { t + 1 } \right) } \end{array}$$
結(jié)束 $$\begin{array} { c } { P ^ { * } = \max _ { 1 \leq i \leq N } \delta _ { T } ( i ) } \ { q _ { T } ^ { * } = \underset { 1 \leq i \leq N } { \arg \max } \delta _ { T } ( i ) } \end{array}$$
最優(yōu)路徑(狀態(tài)序列) $$q _ { t } ^ { * } = \psi _ { t + 1 } \left( q _ { t + 1 } ^ { * } \right) , \quad t = T - 1 , \ldots , 1$$
上述迭代過(guò)程,$a$狀態(tài)轉(zhuǎn)移矩陣,$b$是狀態(tài)-輸出發(fā)射矩陣。
4.2 維特比算法例子
例子:
計(jì)算過(guò)程:
第一次迭代(此時(shí)的輸出字符為A): $$\delta _ { 1 } ( 0 ) = 0.50.5=0.25?$$ $$\delta _ { 1 } ( 1 ) = 0.50.3=0.15?$$ $$\delta _ { 1 } ( 2 ) = 0*0.2=0?$$
第二次迭代(此時(shí)的輸出字符為B): $$\delta _ { 2 } ( 0 ) = max(0.250.30.3, 0, 0)=0.0225$$ $$\delta _ { 2 } ( 1 ) =max(0.250.20.4, 0.150.40.4, 0)=0.024$$ $$\delta _ { 2 } ( 2 ) = max(0.250.50.3, 0.150.60.3, 0)=0.0375$$
第三次迭代(此時(shí)的輸出字符為C): $$\delta _ { 3 } ( 0 ) = max(0.02250.30.2, 0, 0)=0.00135$$ $$\delta _ { 3 } ( 1 ) =max(0.02250.20.3, 0.0240.40.3, 0)=0.00288 $$ $$\delta _ { 3 } ( 2 ) =max(0.02250.50.5, 0.0240.60.5, 0)=0.0072$$
最終答案:
選擇最優(yōu)路徑的時(shí)候從后往前選,選擇最后一列最大的概率值為最終結(jié)果。
即$0.0072$)。
接著尋找上一步中生成該概率值($0.0072$)的數(shù)作為前一步結(jié)果。
即$0.024$,因?yàn)?0.0240.60.5=0.0072$。
以此類推。
4.3 維特比算法應(yīng)用
4.3.1 基于HMM的詞性標(biāo)注
HMM的狀態(tài)集合:詞性標(biāo)記集合
$t_i$為為詞性標(biāo)記集合中的第$i$個(gè)詞性標(biāo)記。
HMM的輸出字符集合:詞匯集合
$\pi _ { \mathrm { i } }$:詞性標(biāo)記$t_i$初始概率
$a_{ij}$:從詞性標(biāo)記$t_i$到$t_j$的狀態(tài)轉(zhuǎn)移概率
$b_{jk}$:詞性標(biāo)記$t_j$對(duì)應(yīng)的詞$w_k$的發(fā)射概率
總結(jié)
以上是生活随笔為你收集整理的计算机学院自然语言处理专业,哈尔滨工业大学计算机学院-自然语言处理-课程总结...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: css lt;igt;,Tailwind
- 下一篇: 高校计算机教研室工作计划,高校教研室工作