Submit Search
Upload
Language Modeling Tutorial
•
6 likes
•
992 views
Mark Chang
Follow
PyconAPAC Language Modeling Tutorial http://pycontw.kktix.cc/events/play-modeling-mining
Read less
Read more
Technology
Slideshow view
Report
Share
Slideshow view
Report
Share
1 of 39
Download now
Download to read offline
Recommended
Ch6 函式
Ch6 函式
requiemformemories
Swift Functional Programming
Swift Functional Programming
林藍 東
Polar example
Polar example
Alisha Smile
Vim
Vim
carlxwz
Python p.193 197
Python p.193 197
hungchiayang1
Ppt 1-25
Ppt 1-25
hungchiayang1
Ppt 167-173
Ppt 167-173
hungchiayang1
算法基础报告
算法基础报告
monicar201101
Recommended
Ch6 函式
Ch6 函式
requiemformemories
Swift Functional Programming
Swift Functional Programming
林藍 東
Polar example
Polar example
Alisha Smile
Vim
Vim
carlxwz
Python p.193 197
Python p.193 197
hungchiayang1
Ppt 1-25
Ppt 1-25
hungchiayang1
Ppt 167-173
Ppt 167-173
hungchiayang1
算法基础报告
算法基础报告
monicar201101
Chinese Words Segmentation Tutorial
Chinese Words Segmentation Tutorial
Mark Chang
20161003 R語言資料分析實務 (1)
20161003 R語言資料分析實務 (1)
羅左欣
Svetlin Nakov - ArtsSemNet: From Bilingual Dictionary to Bilingual Semantic N...
Svetlin Nakov - ArtsSemNet: From Bilingual Dictionary to Bilingual Semantic N...
Svetlin Nakov
八字裡五行的基本概念
八字裡五行的基本概念
Chien Lee
05康健錦囊_第三章_飲食篇
05康健錦囊_第三章_飲食篇
darrenj888
04康健錦囊_第二章_人體復原工程
04康健錦囊_第二章_人體復原工程
darrenj888
聖訓(Hadith)
聖訓(Hadith)
Chien Lee
01康健錦囊 第一章 人體使用手冊
01康健錦囊 第一章 人體使用手冊
darrenj888
2014王擎天博士易經研究班
2014王擎天博士易經研究班
silkbook
05康健錦囊_第三章_飲食篇
05康健錦囊_第三章_飲食篇
darrenj888
易經(1018)
易經(1018)
silkbook
伊斯蘭參考書目
伊斯蘭參考書目
Chien Lee
轉化六根
轉化六根
Gloria091959
佛陀法教的要訣在於調伏自心
佛陀法教的要訣在於調伏自心
Gloria091959
易經(1003)
易經(1003)
silkbook
以夢作為修行的對境 還是方法1
以夢作為修行的對境 還是方法1
Chien Lee
2011 06-18 漪芳-淺談三焦經與心包經
2011 06-18 漪芳-淺談三焦經與心包經
yangmarissa
煙供法- (積聚福德資糧)
煙供法- (積聚福德資糧)
Gloria091959
八字簡介
八字簡介
Chien Lee
系統健康科學入門
系統健康科學入門
萬福 李
Modeling the Dynamics of SGD by Stochastic Differential Equation
Modeling the Dynamics of SGD by Stochastic Differential Equation
Mark Chang
Modeling the Dynamics of SGD by Stochastic Differential Equation
Modeling the Dynamics of SGD by Stochastic Differential Equation
Mark Chang
More Related Content
Viewers also liked
Chinese Words Segmentation Tutorial
Chinese Words Segmentation Tutorial
Mark Chang
20161003 R語言資料分析實務 (1)
20161003 R語言資料分析實務 (1)
羅左欣
Svetlin Nakov - ArtsSemNet: From Bilingual Dictionary to Bilingual Semantic N...
Svetlin Nakov - ArtsSemNet: From Bilingual Dictionary to Bilingual Semantic N...
Svetlin Nakov
八字裡五行的基本概念
八字裡五行的基本概念
Chien Lee
05康健錦囊_第三章_飲食篇
05康健錦囊_第三章_飲食篇
darrenj888
04康健錦囊_第二章_人體復原工程
04康健錦囊_第二章_人體復原工程
darrenj888
聖訓(Hadith)
聖訓(Hadith)
Chien Lee
01康健錦囊 第一章 人體使用手冊
01康健錦囊 第一章 人體使用手冊
darrenj888
2014王擎天博士易經研究班
2014王擎天博士易經研究班
silkbook
05康健錦囊_第三章_飲食篇
05康健錦囊_第三章_飲食篇
darrenj888
易經(1018)
易經(1018)
silkbook
伊斯蘭參考書目
伊斯蘭參考書目
Chien Lee
轉化六根
轉化六根
Gloria091959
佛陀法教的要訣在於調伏自心
佛陀法教的要訣在於調伏自心
Gloria091959
易經(1003)
易經(1003)
silkbook
以夢作為修行的對境 還是方法1
以夢作為修行的對境 還是方法1
Chien Lee
2011 06-18 漪芳-淺談三焦經與心包經
2011 06-18 漪芳-淺談三焦經與心包經
yangmarissa
煙供法- (積聚福德資糧)
煙供法- (積聚福德資糧)
Gloria091959
八字簡介
八字簡介
Chien Lee
系統健康科學入門
系統健康科學入門
萬福 李
Viewers also liked
(20)
Chinese Words Segmentation Tutorial
Chinese Words Segmentation Tutorial
20161003 R語言資料分析實務 (1)
20161003 R語言資料分析實務 (1)
Svetlin Nakov - ArtsSemNet: From Bilingual Dictionary to Bilingual Semantic N...
Svetlin Nakov - ArtsSemNet: From Bilingual Dictionary to Bilingual Semantic N...
八字裡五行的基本概念
八字裡五行的基本概念
05康健錦囊_第三章_飲食篇
05康健錦囊_第三章_飲食篇
04康健錦囊_第二章_人體復原工程
04康健錦囊_第二章_人體復原工程
聖訓(Hadith)
聖訓(Hadith)
01康健錦囊 第一章 人體使用手冊
01康健錦囊 第一章 人體使用手冊
2014王擎天博士易經研究班
2014王擎天博士易經研究班
05康健錦囊_第三章_飲食篇
05康健錦囊_第三章_飲食篇
易經(1018)
易經(1018)
伊斯蘭參考書目
伊斯蘭參考書目
轉化六根
轉化六根
佛陀法教的要訣在於調伏自心
佛陀法教的要訣在於調伏自心
易經(1003)
易經(1003)
以夢作為修行的對境 還是方法1
以夢作為修行的對境 還是方法1
2011 06-18 漪芳-淺談三焦經與心包經
2011 06-18 漪芳-淺談三焦經與心包經
煙供法- (積聚福德資糧)
煙供法- (積聚福德資糧)
八字簡介
八字簡介
系統健康科學入門
系統健康科學入門
More from Mark Chang
Modeling the Dynamics of SGD by Stochastic Differential Equation
Modeling the Dynamics of SGD by Stochastic Differential Equation
Mark Chang
Modeling the Dynamics of SGD by Stochastic Differential Equation
Modeling the Dynamics of SGD by Stochastic Differential Equation
Mark Chang
Information in the Weights
Information in the Weights
Mark Chang
Information in the Weights
Information in the Weights
Mark Chang
PAC Bayesian for Deep Learning
PAC Bayesian for Deep Learning
Mark Chang
PAC-Bayesian Bound for Deep Learning
PAC-Bayesian Bound for Deep Learning
Mark Chang
Domain Adaptation
Domain Adaptation
Mark Chang
NTU ML TENSORFLOW
NTU ML TENSORFLOW
Mark Chang
NTHU AI Reading Group: Improved Training of Wasserstein GANs
NTHU AI Reading Group: Improved Training of Wasserstein GANs
Mark Chang
Generative Adversarial Networks
Generative Adversarial Networks
Mark Chang
Applied Deep Learning 11/03 Convolutional Neural Networks
Applied Deep Learning 11/03 Convolutional Neural Networks
Mark Chang
The Genome Assembly Problem
The Genome Assembly Problem
Mark Chang
DRAW: Deep Recurrent Attentive Writer
DRAW: Deep Recurrent Attentive Writer
Mark Chang
淺談深度學習
淺談深度學習
Mark Chang
Variational Autoencoder
Variational Autoencoder
Mark Chang
TensorFlow 深度學習快速上手班--深度學習
TensorFlow 深度學習快速上手班--深度學習
Mark Chang
TensorFlow 深度學習快速上手班--電腦視覺應用
TensorFlow 深度學習快速上手班--電腦視覺應用
Mark Chang
TensorFlow 深度學習快速上手班--自然語言處理應用
TensorFlow 深度學習快速上手班--自然語言處理應用
Mark Chang
TensorFlow 深度學習快速上手班--機器學習
TensorFlow 深度學習快速上手班--機器學習
Mark Chang
Computational Linguistics week 10
Computational Linguistics week 10
Mark Chang
More from Mark Chang
(20)
Modeling the Dynamics of SGD by Stochastic Differential Equation
Modeling the Dynamics of SGD by Stochastic Differential Equation
Modeling the Dynamics of SGD by Stochastic Differential Equation
Modeling the Dynamics of SGD by Stochastic Differential Equation
Information in the Weights
Information in the Weights
Information in the Weights
Information in the Weights
PAC Bayesian for Deep Learning
PAC Bayesian for Deep Learning
PAC-Bayesian Bound for Deep Learning
PAC-Bayesian Bound for Deep Learning
Domain Adaptation
Domain Adaptation
NTU ML TENSORFLOW
NTU ML TENSORFLOW
NTHU AI Reading Group: Improved Training of Wasserstein GANs
NTHU AI Reading Group: Improved Training of Wasserstein GANs
Generative Adversarial Networks
Generative Adversarial Networks
Applied Deep Learning 11/03 Convolutional Neural Networks
Applied Deep Learning 11/03 Convolutional Neural Networks
The Genome Assembly Problem
The Genome Assembly Problem
DRAW: Deep Recurrent Attentive Writer
DRAW: Deep Recurrent Attentive Writer
淺談深度學習
淺談深度學習
Variational Autoencoder
Variational Autoencoder
TensorFlow 深度學習快速上手班--深度學習
TensorFlow 深度學習快速上手班--深度學習
TensorFlow 深度學習快速上手班--電腦視覺應用
TensorFlow 深度學習快速上手班--電腦視覺應用
TensorFlow 深度學習快速上手班--自然語言處理應用
TensorFlow 深度學習快速上手班--自然語言處理應用
TensorFlow 深度學習快速上手班--機器學習
TensorFlow 深度學習快速上手班--機器學習
Computational Linguistics week 10
Computational Linguistics week 10
Language Modeling Tutorial
1.
Language Modeling 語言模型 By Mark
Chang
2.
語言模型? ● 什麼是語言模型? ● 語言模型如何產生? ●
實作語言模型的應用
3.
什麼是語言模型?
4.
https://www.ptt.cc/bbs/StupidClown/M.1423419065.A.AF8.html
5.
輸入一個字: 「祭」 哪個字串看起來比較「正常」? A. 祭隀梜鍖毝捁 B.
祭自兀人己止 C. 祭自己止兀人 D. 祭止兀自己人
6.
什麼是語言模型? • 語言模型是藉由一個機率分布的模型,將機率指派 給字詞所組成的字串。 • Ex: –
P(“ ”祭隀梜鍖毝捁 ) = 10-200 – P(“ ”祭自兀人己止 ) = 10-50 – P(“ ”祭自己止兀人 ) = 10-40 – P(“ ”祭止兀自己人 ) = 10-10
7.
語言模型還有什麼用? ● 語音輸入: – 既只誤識字幾人
-> 祭止兀是自己人 ● 機器翻譯: – Taiwan president Ma Ying-jeou flew to Singapore on Tuesday → 台灣總統馬英九飛到新加坡在週二 → 台灣總統馬英九於週二飛往新加坡 ● 資訊檢索: – 罷免 → 選舉罷免法、罷免立委、 ...
8.
語言模型怎麼產生? 語言模型 語言模型 句子 機率 語料庫 訓練
9.
如何把機率指派給字串? 字串的機率,跟個別單字在在語料庫中的 使用頻率有關 祭隀梜鍖毝捁 VS 祭自兀人己止 鍖、梜:低頻字
自、人:高頻字
10.
Uni-gram 國民黨立委 蔡正元被網 友暱稱為祭 止兀 ... 國 民
黨 立 委 蔡 正 元 被 網 友 暱 稱 為 祭 止 兀 ... 語料庫 uni-gram 祭: 9670 止: 52982 …....
11.
Uni-gram Modeling ● P(w1,
w2, w3, w4, ..., wn) = P(w1) * P(w2) * P(w3) * … * P(wn) ● Ex: P( 祭 , 止 , 兀 , 自 , 己 , 人 ) = P( 祭 ) * P( 止 ) * P( 兀 ) * … * P( 人 ) ● 假設所有的單字出現的機率都是獨立事件,跟前面 一個字有關。
12.
Uni-gram Modeling ● 用
uni-gram 估計 P(w1) 機率值: P(w1) = C(w1) / C(all words) ● EX: P( 祭 ) ≈ C( 祭 ) / 語料庫的總字數
13.
實作 1-1 :初始化 ●
載入套件 ● 載入語料庫
14.
實作 1-2 :產生
Uni-gram ● 將文句「祭止兀自己人」切成 uni-gram ● 將語料庫切成 uni-gram ,並作頻率統計 ● 查詢「祭」的頻率
15.
實作 1-3 :
Uni-gram Modeling ● 計算 P( 梜 ) 、 P( 祭 ) ● 計算 P( 祭隀梜鍖毝捁 ) 、 P( 祭自己止兀 人 ) 、 P( 祭止兀自己人 )
16.
如何把機率指派給字串? 字串的機率,跟某個字是否常出現在某個 字的後面有關。 祭自兀人己止 VS 祭自己止兀人 兀較常出現在止 後面 兀很少出現在自 後面
17.
Bi-gram 國民黨立委 蔡正元被網 友暱稱為祭 止兀 ... 國民 民黨
黨立 立委 委蔡 蔡正 正元 元被 被網 網友 友暱 暱稱 稱為 為祭 祭止 止兀 ... 語料庫 bi-gram 祭止: 872 止兀: 2354 …....
18.
Bi-gram ● P(w1, w2,
w3, w4, ..., wn) = P(w1) * P(w2 | w1) * P(w3 | w2) * … * P(wn |wn-1) ● Ex: P( 祭 , 止 , 兀 , 自 , 己 , 人 ) = P( 祭 ) * P( 止 | 祭 ) * P( 兀 | 止 ) * … * P( 人 | 己 ) ● 假設所有的字出現的機率都只跟前面一個字有關。
19.
Bi-gram ● 用 bi-gram
估計 P(w2 | w1) 的機率值: P(w2 | w1) = P(w1, w2) / P(w1) ≈ C(w1, w2) / C(w1) ● EX: P( 止 | 祭 ) = C( 祭 , 止 ) / C( 祭 )
20.
實作 1-4 :產生
Bi-gram ● 將文句「祭止兀自己人」切成 bi-gram ● 將語料庫切成 bi-gram ,並作頻率統計 ● 查詢「止兀」的頻率
21.
實作 1-5 :
Bi-gram Modeling ● 計算 P( 兀 | 自 ) 、 P( 兀 | 止 ) ● 計算 P( 祭自兀人己止 ) 、 P( 祭自己止兀人 ) 、 P ( 祭止兀自己人 )
22.
如何把機率指派給字串? 字串的機率,跟某個字是否常出現在某兩 個字的後面有關。 祭自己止兀人 VS 祭止兀自己人 兀較常出現在祭 止後面 人較少出現在止 兀後面
23.
Tri-gram 國民黨立委 蔡正元被網 友暱稱為祭 止兀 ... 國民黨 民黨立 黨立委
立委蔡 委蔡正 蔡正元 正元被 元被網 被網友 網友暱 友暱稱 暱稱為 稱為祭 為祭止 祭止兀 ... 語料庫 uni-gram 祭止兀: 870 …....
24.
Tri-gram ● P(w1, w2,
w3, w4, ..., wn) = P(w1) * P(w2 | w1) * P(w3 | w2, w1) * … * P(wn |wn-1,wn-2) ● Ex: P( 祭 , 止 , 兀 , 自 , 己 , 人 ) =P( 祭 ) * P( 止 | 祭 ) * P( 兀 | 祭 , 止 ) * … * P( 人 | 自 , 己 ) ● 假設所有的字出現的機率都只跟前面兩個字有關, 與其他字無關。
25.
Tri-gram ● 用 tri-gram
估計 P(w3 | w1,w2) 的機率值: P(w3 | w1, w2) = P(w1, w2, w3) / P(w1, w2) ≈ C(w1, w2, w3) / C(w1, w2) ● EX: P( 兀 | 祭 , 止 ) = C( 祭 , 止 , 兀 ) / C( 祭 , 止 )
26.
實作 1-6 :產生
Tri-gram ● 將文句「祭止兀自己人」切成 tri-gram ● 將語料庫切成 tri-gram ,並作頻率統計 ● 查詢「祭止兀」的頻率
27.
實作 1-7 :
Tri-gram Modeling ● 計算 P( 兀 | 自、己 ) 、 P( 兀 | 祭、止 ) ● 分別用 Bi-gram 和 Tri-gram 算 P( 祭止兀自己 人 ) ,比較其差異
28.
實際上, 每個字跟前面所有的字都可能有關 ... ● P(w1,w2,w3,w4,...,wn) =
P(w1) * P(w2 | w1) * P(w3 | w1, w2) * … * P(wn | w1, w2, ....wn-1) ● Ex: P( 祭 , 止 , 兀 , 自 , 己 , 人 ) =P( 祭 ) * P( 止 | 祭 ) * P( 兀 | 祭 , 止 ) * … * P( 人 | 祭 , 止 ,..., 己 )
29.
如果使用了 4-gram 和
5-gram ?? ● 字與字的組合會太多種,維度爆炸 – Uni-gram: 四千種 – Bi-gram: 十萬種 – Tri-gram: 五十萬種 …..
30.
如果使用了 4-gram 和
5-gram ?? ● 在語料庫中沒出現的,則求出來的機率是 0 : – C(止, 兀, 好, 帥) = 0 – P(止, 兀, 好, 帥) = P(止) * ...* P(帥 |止, 兀, 好) = P(止) * ...* C(止, 兀, 好, 帥) / C(止, 兀, 好) = 0
31.
若用 tri-gram 或
bi-gram 也得出 0 怎麼辦? ● Smoothing ● Interpolation
32.
Add-One Smoothing : ●
P'(w2 | w1) = ( C(w1, w2)+1 ) / ( C(w1) + C(V) ) – V 是 uni-gram 的種類數量 ● P'(w3 | w1, w2) = ( C(w1,w2,w3)+1 ) / ( C(w1, w2) + C(V) ) – V 是 bi-gram 的種類數量
33.
Interpolation ● P'(w2 |w1)
= x* P(w2) + y* P(w2 | w1) – where x+y = 1 ● P'(w3 |w2,w1) = x* P(w3) + y* P(w3 | w2) + z* P(w3 | w2, w1) – where x+y+z = 1
34.
實作 1-8 :
Add-One Smoothing ● 計算 P'( 止 | 兀 ) 和 P'( 兀 | 止 ) ● 比較 P'( 兀 | 止 ) 和 P( 兀 | 止 ) 的差異
35.
實作 1-9 :
Interpolation ● 計算 P'( 止 | 兀 ) 和 P'( 兀 | 止 ) ● 比較 P'( 兀 | 止 ) 和 P( 兀 | 止 ) 的差異
36.
應用:輸入法自動選字 ● 給定第一個字「自」,自動產生後面兩個字。 求 w2,w3
使以下機率為最大值。 ● P(w2,w3 |w1= 自 ) =P(w1,w2,w3) / P(w1= 自 ) =P(w1)*P(w2|w1= 自 )*P(w3 |w2,w1= 自 ) / P(w1= 自 ) =P(w2|w1= 自 )*P(w3 |w2,w1= 自 )
37.
實作 1-10 :輸入法推薦選字 ●
輸入一個字,自動選出後面要接的兩個字
38.
進階版:藏頭詩自動產生器 ● http://www.meetup.com/Taiwan-R/events/22041 0044/ 勘
探 字 文 型 模 率 機 騷 花 水 賦 宛 四 譬 石 人 如 深 詩 轉 五 如 泉 多 夢 處 成 清 十 今 聲 病 不 不 絲 江 五 年 落 來 見 用 竹 漢 湖 前 花 不 說 武 林 主 水 路 開
39.
講者聯絡方式: Mark Chang Github :
http://github.com/ckmarkoh Blog : http://cpmarkchang.logdown.com email : ckmarkoh at gmail.com
Download now