課程導論

使用 Keras 建立語言模型的循環神經網路(RNN)

David Cecchini

Data Scientist

線上隨手可得的文字資料

展示網路上的文字資料範例:新聞、網路公司等

使用 Keras 建立語言模型的循環神經網路(RNN)

機器學習在文字資料的應用

四種應用:

  • 情緒分析
  • 多類別分類
  • 文字生成
  • 神經機器翻譯
使用 Keras 建立語言模型的循環神經網路(RNN)

情緒分析

顯示兩個表情符號:開心與不滿

使用 Keras 建立語言模型的循環神經網路(RNN)

多類別分類

以電影類型(科幻、愛情等)示意多個類別

使用 Keras 建立語言模型的循環神經網路(RNN)

文字生成

對話應用中的機器生成文字範例:收到訊息後提供建議回覆

使用 Keras 建立語言模型的循環神經網路(RNN)

神經機器翻譯

展示葡萄牙文「Vamos jogar futebol esse domingo?」翻成英文「Let's play soccer this Sunday?」的例子

使用 Keras 建立語言模型的循環神經網路(RNN)

循環神經網路(RNN)

展開的 RNN 模型示意,強調各詞之間共用權重;輸入按序進入,最終於最後一步預測類別

使用 Keras 建立語言模型的循環神經網路(RNN)

序列到序列模型

多對一:分類

分類任務的 RNN 架構。僅在最後一個詞進行預測。

使用 Keras 建立語言模型的循環神經網路(RNN)

序列到序列模型

多對多:文字生成

文字生成模型架構:分為輸入文本與生成文本。輸入端僅在最後一步預測;生成端每一步皆預測,並將前一步輸出作為下一步輸入。

使用 Keras 建立語言模型的循環神經網路(RNN)

序列到序列模型

多對多:神經機器翻譯

神經機器翻譯架構:分為編碼器與解碼器。編碼器學習輸入語言的語言模型;解碼器學習輸出語言的語言模型。編碼器最終狀態傳遞給無額外輸入的解碼器。

使用 Keras 建立語言模型的循環神經網路(RNN)

序列到序列模型

多對多:語言模型

語言模型架構:每一步預測下一個輸入詞。訓練時透過每步預測來調整權重,以便預測序列中的下一詞。

使用 Keras 建立語言模型的循環神經網路(RNN)

一起來練習吧!

使用 Keras 建立語言模型的循環神經網路(RNN)

Preparing Video For Download...