Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Computational Poetry 電腦賦詩

3,277 views

Published on

MLDM Monday --- Computational Poetry 電腦賦詩.
口頭講解:https://www.youtube.com/watch?v=AVq9tbUBveo&list=PLM7HGQkDNOHs6Fj2SkKExAYvWGbmujbXD
http://www.meetup.com/Taiwan-R/events/225411778/

Source Code:
https://github.com/ckmarkoh/AcrosticPoem-RNNPG

Published in: Technology
  • Dating direct: ♥♥♥ http://bit.ly/2F7hN3u ♥♥♥
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Follow the link, new dating source: ♥♥♥ http://bit.ly/2F7hN3u ♥♥♥
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Computational Poetry 電腦賦詩

  1. 1. Mark  Chang   COMPUTATIONAL   POETRY   電腦賦詩  
  2. 2. 如何作詩?   詩人   腦海   詩集   詩   消化   吸收   創作   電腦   語言   模型   語料庫   詩   訓練   產生  
  3. 3. 大綱   • 機器學習與類神經網路   •  機器學習簡介   •  類神經網路簡介   • 語言理解與類神經網路   •  語意向量簡介   •  用類神經網路產生語意向量(word2vec)   •  遞歸神經網路語言模型(Recurrent  Neural  Networks  Language  Model)   •  卷積神經網路語句模型(Convolutional  Neural  Networks  Sentence  Model)   • 用類神經網路產生中文詩   •  Chinese  Poetry  Generation  with  Recurrent  Neural  Networks   •  自動產生藏頭詩  
  4. 4. 機器學習與類神經網路   • 機器學習簡介   • 類神經網路簡介  
  5. 5. 機器學習簡介   電腦   模型   訓練 資料   正確 答案  模型   答案   訓練完成   正確 答案   修正模型  
  6. 6. 類神經網路   • 神經元   •  構成類神經網路的基本單位。   •  可用機器學習的方式,調整參數,控制其輸出值。   n W1 W2 x1 x2 b Wb y nin = w1x1 + w2x2 + wb nout = 1 1 + e nin nin nout y = 1 1 + e (w1x1+w2x2+wb)
  7. 7. 類神經網路   • 二元分類:AND  Gate   x1 x2 y 0 0 0 0 1 0 1 0 0 1 1 1 (0,0) (0,1) (1,1) (1,0) 0 1 n 20 20 b -­‐30 y x1   x2   y = 1 1 + e (20x1+20x2 30) 20x1 + 20x2 30 = 0
  8. 8. 類神經網路   • 類神經網路:由許多神經元組成,可模擬較複雜的函數。   x y n11 n12 n21 n22 W12,y W12,x b W11,y W11,b W12,b b W11,x W21,11 W22,12 W21,12 W22,11 W21,b W22,b z1 z2 Input     Layer Hidden   Layer Output   Layer
  9. 9. 類神經網路 • 二元分類:XOR  Gate     n -­‐20 20 b -­‐10 y (0,0) (0,1) (1,1) (1,0) 0 1 (0,0) (0,1) (1,1) (1,0) 1 0 (0,0) (0,1) (1,1) (1,0) 0 0 1 n1 20 20 b -­‐30 x1   x2   n2 20 20 b -­‐10 x1   x2   x1 x2 n1 n2 y 0 0 0 0 0 0 1 0 1 1 1 0 0 1 1 1 1 1 1 0
  10. 10. 語言理解與類神經網路   • 語意向量簡介   • 用類神經網路產生語意向量(word2vec)   • 遞歸神經網路語言模型(Recurrent  Neural  Networks   Language  Model)   • 卷積神經網路語句模型(Convolutional  Neural  Networks   Sentence  Model)  
  11. 11. 語意向量簡介   • 語意相近的字,會出現在類似情境的上下文中。   •  ex:  太陽下山了。   日落群峰西 --李白《春日遊羅敷潭》 日落橫峰影 --楊師道《奉和夏日晚景應詔》 日暮千峰裡 --杜牧《還俗老僧》 日落眾山昏 --李端《溪行逢雨與柳中庸》 日暮西山雨 --韋莊《雜體聯錦》 日暮春山綠 --儲光羲《尋徐山人遇馬舍人》 山與峰,   語意相近  
  12. 12. 語意向量簡介   • 根據所出現的上下文情境,可建構出每個字的語意向量。   山   峰   落   暮   語意相近的向量   夾角較小。   日落群峰西 日落橫峰影 日暮千峰裡 日落眾山昏 日暮西山雨 日暮春山綠
  13. 13. 語意向量簡介   • 語意向量可作加減運算,組合出其他語意。   女 + 父 - 男 = 母 女 母 男 父 父 - 男 父  -­‐  男
  14. 14. 用類神經網路產生語意向量(word2vec) • 編碼(One-­‐Hot  Encoding) •  把字對應到一個n維度的向量,每個維度代表種個字。 •  每個字的向量中,只有一個維度為1,其餘皆為0。 •  每個字的向量都互相垂直。 山   峰 日 眾 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1
  15. 15. 用類神經網路產生語意向量(word2vec)   • 如何把One-­‐Hot  Encoding轉成語意向量?   語意向量,包含 周圍字的語意。 1.2   1.3   0   1 0 0 0 山 隨機取周圍的字, 當成輸出 日 眾 山   0 0 1 0 1 0 0 0 0 0 0 1 日落眾山昏 用較小的Hidden  Layer, 把向量壓縮。
  16. 16. 遞歸神經網路語言模型   (Recurrent  Neural  Networks  Language  Model)   • 語言模型(Language  Model):   •  給一個字串,算出此字串後有可能 接續哪些字。   •  給一個字串,算出此字串在語料庫 中出現的機率。   • 語言模型可用於產生 •  字詞 •  句子 •  整首詩    
  17. 17. 遞歸神經網路語言模型   (Recurrent  Neural  Networks  Language  Model)   • 如何做出語言模型:機器學習   語言   模型   隊   訓練完成   語言   模型   幹你娘國民☐   修正模型   z  幹你娘國民☐   黨   對答案   黨  
  18. 18. 遞歸神經網路語言模型   (Recurrent  Neural  Networks  Language  Model)   • 以類神經網路作為語言模型   1 0 0 0 山 .02   .65   .21   .12   山 峰 日 眾 下一個字是某字 的機率(向量) P(山峰) > P(山日) > P(山眾) > P(山山) 輸入的字(向量)
  19. 19. 遞歸神經網路語言模型   (Recurrent  Neural  Networks  Language  Model)   • 遞歸神經網路(Recurrent  Neural  Networks)   Feedforward  Neural  Networks   Recurrent  Neural  Networks   輸出值只跟現在時間 的輸入值有關   輸出值跟之前的輸入值 都有關  
  20. 20. 遞歸神經網路語言模型   (Recurrent  Neural  Networks  Language  Model)   • 短期記憶   •  閱讀句子的時候,會記得此句曾出現過哪些字。   •  Ex:  白日依山盡   白 日 依 n(白) n(n(白),日) n(n(n(白),日),依)
  21. 21. 卷積神經網路語句模型

×