课程介绍

使用 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展开表示,强调各词之间权重共享。输入按顺序进入模型,直到最后一步输出类别预测。

使用 Keras 构建语言建模的循环神经网络(RNN)

序列到序列模型

多对一:分类

用于分类问题的RNN架构。模型仅在最后一个词处做出预测。

使用 Keras 构建语言建模的循环神经网络(RNN)

序列到序列模型

多对多:文本生成

文本生成模型架构。模型分为输入文本与生成文本两部分。输入部分仅在最后一步预测;生成部分每步预测,并将前一步输出作为下一步输入。

使用 Keras 构建语言建模的循环神经网络(RNN)

序列到序列模型

多对多:神经机器翻译

神经机器翻译架构。分为编码器与解码器,分别对应输入与输出语言。编码器学习输入语言模型,解码器学习输出语言模型。编码器的最终状态传递给无其他输入的解码器。

使用 Keras 构建语言建模的循环神经网络(RNN)

序列到序列模型

多对多:语言模型

语言模型架构。模型在每一步预测下一个词。训练时调整权重以更准确地预测序列中的下一个词。

使用 Keras 构建语言建模的循环神经网络(RNN)

Passons à la pratique !

使用 Keras 构建语言建模的循环神经网络(RNN)

Preparing Video For Download...