21
Neural Network and Natural Language Processing Mark Chang

Neural Network and NLP

Embed Size (px)

Citation preview

Page 1: Neural Network and NLP

Neural Network and Natural Language Processing

Mark  Chang

Page 2: Neural Network and NLP

大綱

• 怎麼讓電腦學會文字的語意?語意向量  • 用類神經網路把文字轉成語意向量  • 用神經圖靈機來做藏頭詩產生器  

Page 3: Neural Network and NLP

怎麼讓電腦學會文字的語意?

• 事實上,一個詞彙的語意,可以從它附近的詞彙推測出來  •  Ex:祭止兀

祭止兀 是 最佳 助選員 蔡正元 是 最佳 助選員 罷免 祭止兀 失敗 罷免 蔡正元 失敗

祭止兀和蔡正元,語意相近

Page 4: Neural Network and NLP

語意向量

祭止兀 是 最佳 助選員   蔡正元 是 最佳 助選員 罷免 祭止兀 失敗 罷免 蔡正元 失敗

(x1=罷免, x2 =助選員, ... , xn)

• 把一個詞彙對應到一個n維度的向量,每個維度代表一個詞彙  • 數值非0的維度,表示該詞彙的附近有那個詞彙

祭止兀 (1, 1, 0, ..., xn)

蔡正元 (1, 1, 0, ..., xn)

Page 5: Neural Network and NLP

語意向量

蔡正元 (1, 1,..., xn)

祭止兀 (1, 1,..., xn)

石內卜 (0, 1,..., xn)

Page 6: Neural Network and NLP

計算詞彙的語意相似度

• Cosine  Similarity  •  向量A和向量B的  Cosine  Similarity為:  

A ·B|A||B|

蔡正元 (a1, a2, ..., an)

祭止兀 (b1, b2, ..., bn)

蔡正元與祭止兀的Cosine Similarity為:

a1b1 + a2b2 + ...+ anbnpa21 + a22 + ...+ a2n

pb21 + b22 + ...+ b2n

Page 7: Neural Network and NLP

語意向量加減運算

女 + 父 -­‐    男 =  母

女 母

男 父

父  -­‐  男

父  -­‐  男

Page 8: Neural Network and NLP

用類神經網路把文字轉成語意向量

(x1=罷免, x2 =助選員,..., xn)

祭止兀

祭止兀

用周圍的詞彙來當成向量維度:維度大小為詞彙總類(好幾萬個)

用類神經網路來計算語意向量:維度大小可以自行決定(幾十到幾百)

x1   x2   x3   x4   xn  ...  

x1   x2   x3   x4   xn  ...  

Page 9: Neural Network and NLP

用類神經網路把文字轉成語意向量

祭止兀

詞彙 編碼(One-­‐Hot    Encoding)

Neural  Network  (Auto-­‐Encoder)

語意向量

1.2  

0.7  

0.5  

1  

0  

0  

0  

Page 10: Neural Network and NLP

編碼(One-Hot Encoding)

祭止兀

• 把詞彙對應到一個n維度的向量,每個維度代表一個詞彙  • 每個詞彙的向量中,只有一個維度為1,其餘皆為0  • 每個詞彙的向量都互相垂直  

蔡正元 罷免 失敗

Page 11: Neural Network and NLP

Auto-Encoder

祭止兀

祭止兀

維度較小的編碼

1.2  

0.7  

0.5  

維度較大的編碼

輸入值和輸出值一樣

Page 12: Neural Network and NLP

Word2Vec

祭止兀

• 若把某個字周圍的字一起給編碼進去,就可以得到語意向量  

罷免 失敗 祭止兀

語意向量(包含周圍字的語意)

1.2  

1.3  

0.2  

隨機交換

Page 13: Neural Network and NLP

Word2Vec

祭止兀

罷免

失敗

祭止兀

0

0

1

0

1

0

0

0

0

0

0

1

「罷免」的語意向量

「失敗」的語意向量

1

0

0

0

Page 14: Neural Network and NLP

實作

• word2vec

Page 15: Neural Network and NLP

用神經圖靈機來做藏頭詩產生器

原始資料:  全唐詩  兩萬首

編碼(One-­‐Hot    Encoding)

訓練資料

神經圖靈機 標準答案

每句中給一個字

神經圖靈機 填滿  

整首詩

挖空格

Page 16: Neural Network and NLP

用神經圖靈機來做藏頭詩產生器

神經圖靈機

Page 17: Neural Network and NLP

用神經圖靈機來做藏頭詩產生器

N-­‐gram  Language  Model  

Page 18: Neural Network and NLP

實作

• 藏頭詩產生器

Page 19: Neural Network and NLP

後續研究

• 用word2vec做pre-­‐training  • 文言文中文斷詞  • 藏頭詩產生器Javascript版本  

Page 20: Neural Network and NLP

延伸閱讀

• 類神經網路訓練過程,公式推導: •  hMp://cpmarkchang.logdown.com/posts/277349-­‐neural-­‐network-­‐backward-­‐propagaRon  

• 神經語言模型: •  hMp://cpmarkchang.logdown.com/posts/255785-­‐neural-­‐network-­‐neural-­‐probabilisRc-­‐language-­‐model  

•  hMp://cpmarkchang.logdown.com/posts/276263-­‐-­‐hierarchical-­‐probabilisRc-­‐neural-­‐networks-­‐neural-­‐network-­‐language-­‐model  

• Word2vec  •  hMp://arxiv.org/pdf/1301.3781.pdf  •  hMp://papers.nips.cc/paper/5021-­‐distributed-­‐representaRons-­‐of-­‐words-­‐and-­‐phrases-­‐and-­‐their-­‐composiRonality.pdf  

•  hMp://www-­‐personal.umich.edu/~ronxin/pdf/w2vexp.pdf  

Page 21: Neural Network and NLP

講者聯絡方式:

• Mark  Chang  •  facebook:hMps://www.facebook.com/ckmarkoh.chang    •  Github:hMp://github.com/ckmarkoh  •  Blog:hMp://cpmarkchang.logdown.com  •  email:ckmarkoh  at  gmail.com  

•  Fumin  •  Github:hMps://github.com/fumin  •  Email:awawfumin  at  gmail.com