端到端学习的兴起

假设你想要构建一个系统来对产品的线上评论进行检查,并且要能够自动地告诉你给出评论的人是否喜欢这个产品。比如说,你希望系统将下面的句子识别为十分正面的评论:

这个拖把非常好用!

而下面的评论应当是十分负面的:

拖把的质量好差,我后悔买它了。

这种识别正面与负面评论的问题被称为 “情感分类”(sentiment classification) 。想要构建一个这样的系统,你的流水线模块需要有以下两个组件:

  1. 解析器(parser):一种通过识别关键词汇来对文本进行注释的系统。例如,你可以使用解析器对所有的形容词和名词做标记,因此你可能会得到类似下面的句子:

    ​ 这个拖把(名词)非常好用(形容词)!

    注:实际上解析器提供了比这更丰富的文本注释,但上面这个简化的描述足以用来解释端到端深度学习。

  2. 情感分类器(sentiment classifier):一种学习算法,它可以输入带注释的文本,并预测整体的情感。解析器的注释将对这个算法起到极大的帮助:通过给形容词一个较高的权重,你的算法将能很快地找到像 “非常” 这样的重要词汇,并忽视像 “这个” 这样的非关键词。

我们可以将 “流水线” 的两个组件可视化为下面的图片:

最近的趋势更倾向于用一种单一的学习算法取代此类流水线。该任务的端到端学习算法只需输入一个原始的文本 “这个拖把非常好用!” ,接着尝试直接识别其中的情感:

神经网络通常用于端到端学习系统,“端到端” 这个术语指的是我们要求学习算法直接从输入得到期望的输出,即学习算法将系统的 “输入端” 连接到 “输出端” 。

在数据量十分丰富的问题上,端到端系统往往很奏效,但它并不总是一个很好的选择。接下来的几个章节将给出更多的端到端系统的例子,并提供一些关于何时使用它们的建议。


改进当前页面