前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【重磅】Facebook 推出深度学习引擎 DeepText,挑战谷歌智能系统!

【重磅】Facebook 推出深度学习引擎 DeepText,挑战谷歌智能系统!

作者头像
新智元
发布2018-03-22 14:21:08
1K0
发布2018-03-22 14:21:08
举报
文章被收录于专栏:新智元新智元

【新智元导读】Facebook 昨天推出了基于深度学习的文本理解引擎 DeepText,使用多个深度神经网络构架,结合监督学习与无监督学习,可以从零开始,在词和字符的水平上进行学习。官方称 DeepText 准确率已达到人类水平,该技术有望革新新闻订阅和广告推送模式。将来 DeepText 变得更加智能,再与 Facebook 虚拟助理 M 整合,Facebook 就能更好地连接商家与消费者,在平台上形成一个闭环。当用户的资讯、社交、消费和娱乐等需求都能在 Facebook 得到满足时,还会有人使用谷歌搜索吗? Facebook 有社交网络固有的局限,人还是得依靠全网络检索。

昨天,Facebook 的研发团队基于深度学习方法,推出了文本理解引擎 DeepText。目前该引擎可以处理超过 20 种语言,以接近人类的准确度、每秒数千篇文本的速度快速理解文本内容。

Facebook 希望通过这一引擎提高用户的产品体验,比如更多地推送用户想要的内容,把垃圾邮件等用户厌恶的内容过滤掉。据悉,DeepText 已在聊天机器人平台 Messenger 等产品中进行了测试。

Facebook 并不是唯一研究自然语言处理的公司,但它拥有得天独厚的社交大数据:每日活跃用户数量超过 10 亿。那么,最新推出的这个“文本理解引擎”有哪些特色呢?

据悉,DeepText 是在 Ronan Collobert 和 Yann LeCun 论文的基础上拓展而来。Facebook 在图像识别领域有了很好的积累而 DeepText 所使用的方法也对图像识别多有启发,可以在不具有关于词、短语、句子或任何语法、语义结构知识的情况下,利用深度学习系统进行文本理解。

关注新智元(AI_era),回复“0602”下载论文

  • 【题目】从零开始进行文本理解(Text Understanding from Scratch)
  • 【作者】纽约大学 Xiang Zhang, Yann LeCun

摘要

本文表明,我们可以使用时间卷积网络(ConvNet)把深度学习运用于文本理解,从字符水平的输入开始,直到获得抽象文本概念。我们把 ConvNet 运用于包括本体分类、情感分析和文本分类在内的多个大规模数据集。我们发现,时间 ConvNet 可以在不具有对词、短语、句子和任何其他语法或语义结构的知识的情况下很好地理解文本。证据表明我们的模型既可用于英语,也可用于汉语。

1. 引言

在本文中我们表明,可以在不具有关于词、短语、句子或任何语法、语义结构知识的情况下利用深度学习系统来进行文本理解。我们将时间 ConvNets 运用于多个大规模文本理解任务,在这些任务中,输入是经过 quantize 的字符,而输出是文本的抽象属性。在下面的两种意义上,我们的方法是一种“从零开始学习”的方法。

  1. ConvNet 不需要词的知识——它可以直接处理字符。这就使得基于词特征的提取器(如 Collobert 等的 LookupTable)或 Mikolov 等的 word2vec 变得不必要了。所有先前的工作都从词开始,而非从字符开始;这些基于词的工作因为具有高维度,很难运用卷积层处理。
  2. ConvNet 不需要关于语法或语义结构的知识——它可以直接针对高级目标进行推理。过去人们假设,对高级文本理解而言,结构预测和语言模型是必要的。ConvNets 的工作方式证明这一假设是错的。

ConvNet 在计算视觉领域的成功是让我们采用这一方法的原因之一。在计算视觉领域的这些成功通常涉及到,用端到端的 ConvNet 模型来从原始像素输入中学习分层表示。与此类似地,假设通过从原始字符中进行训练,时间 ConvNet 能够学习到对词、短语和句子的分层表示,从而能理解文本。

2. ConvNet 模型设计

在本部分,我们介绍了用于文本理解的 ConvNet 的设计。该设计是模块化的,通过反向传递来获得梯度、进行优化。

2.1 核心模块

我们模型的主要部分是一个时间卷积模块,该模块计算输入和输出之间的一维卷积。假设我们有一个离散输入函数 g(x) ∈ [1, l ] → R。那么 f(x) 与 g(x) 之间具有步幅 d 的卷积为 h(y) ∈ [1, [ (l-k) / d] + 1] → R,它被定义为:

其中 c = k - d + 1 是偏移常量。正如视觉领域的传统卷积网络一样,该模型由建立在输入集 gi(x) 和输出集 hj(y)之上的核函数 fij(x)(i= 1,2,...,m; j = 1,2,...,n) 的集合来参数化。我们把每个 gi(或 hj) 称为输入(或输出)帧,而将 m(或 n) 称为输入(或输出)帧大小。通过对 gi(x) 和 fij(x) 之间的 i 个卷积进行加和,就能获得输出 hj(y)。

一个能帮助我们训练更深度的模型的核心模块,是时间 max-pooling 方法。它与在计算视觉中使用的空间 max-pooling 模块相同,所不同的仅仅是它是一维的。给定一个离散输入函数 g(x) ∈[1,l]→R,g(x) 的 max-pooling 函数 h(y) ∈ [1, [(l-k)/d] +1] 可被定义为:

其中 c = k-d+1 是偏移常量。

我们在模型中使用的非线性方法是 rectifier 或 thresholding 函数 h(x) = max{0,x},这使得我们的卷积层类似于修正线性单元(ReLU)。在每个卷积或线性模块之后,我们都会使用该函数。训练模型时使用的算法是随机梯度下降(SGD),其 minibatch 大小为 128, momentum 为 0.9,起始步长为 0.01,而每经过三个 epoch,步长就会减半,直至第十次。上述训练方法和参数适用于我们所有的模型。我们使用 Torch 7 来进行实现。

2.2 字符数字化

我们的模型接受一系列的编码字符作为输入。编码方法是,从被输入的语言中得到一个大小为 m 的字母表,然后使用 1-of-m 编码方法对每个字符进行数字化。之后,字符序列被转化为一个由大小为 m 的向量组成的具有固定长度 l 的序列。任何超过长度 l 的字符都被忽略;空白字符也包含在字母表内,而任何不在字母表内的字符都被数字化为 all-zero 向量。受长短时记忆神经网络(LSTM)的工作方法的启发,我们以反向顺序对字符进行数字化。通过这种方式,对字符的最晚近的读取总是被放置在输出起点的附近,这样,那些全连接层就很容易与最晚近的记忆建立相关性联系。由此,我们的模型的输入是一个长度为 l 的帧的集合,而帧的大小是字母表大小 m。

我们在所有模型中使用的字母表包括 70 个字符,其中包括 26 个英文字符, 10 个数字、换行符和 33 个其他字符。

在将输入传递给模型之前,没有进行任何归一化(normalization)。这是因为输入本身已相当稀疏,包含了许多 0 值。我们的模型可以通过这种简单的数字化方法进行学习,并未发生问题。

2.3 模型设计

我们设计了两个 ConvNet,一个大的和一个小的。它们都具有 9 个层,其中有 6 个卷积层和 3 个全连接层,各层具有不同数量的隐藏单元和帧大小。见图2。

图 2:两个 ConvNet 示意图

2.4 用同义词典进行数据增强

我们做实验用一个英语同义词典来进行数据增强。该词典来自 LibreOffice 项目中的 mytheas 组件。

为了对给定文本进行同义词替换,我们需要回答两个问题:文本中的哪些词需要被替换,同义词典中的哪个同义词应该被用来替换。为了回答第一个问题,我们从给定文本中提取了所有可被替换的词,并从中随机抽取 r 个来进行替换。采用数字 r 的概率符合几何分布 P[r] ~ p^r。而给定需被替换的词后,采用字典中第 s 个同义词的概率则符合另一个几何分布 P[s] ~ q^s。由此,当一个词的同义词离其常见意义越来越远时,其概率也会变得越来越小。

值得注意的是,使用我们的大规模数据集训练的模型几乎不需要进行数据增强,因为它们在泛化错误方面的表现已经很好了。不过我们仍将使用这种新的数据增强技术来报告我们的结果,并令 p = 0.5, q = 0.5。

2.5 比较模型

由于我们是从零开始建立了多个大规模数据集,并不存在已发表文献供我们与其他方法进行比较。因此,我们也使用以前的 bag-of-words 模型和通过 word2vec 实现的 bag-of-centroids 模型建立了两个标准模型,以供比较。

3. 数据与结果

在本部分,我们展示了从各数据集中获得的结果。不幸的是,尽管文本理解研究已进行了几十年,尚不存在足够大或标记质量足够高的开放数据集供我们研究。因此,我们提供了几个大规模数据集,希望能像图像识别在 ImageNet 开放后取得成功一样,文本理解也能在开放了大规模数据集后走向成功。

3.1. DBpedia Ontology Classification

3.2. Amazon Review Sentiment Analysis

3.3. Yahoo! Answers Topic Classification

3.4. News Categorization in English

3.5. News Categorization in Chinese

4. 结论与展望

本文中我们第一次证明了,ConvNet 可被应用于从零开始的文本理解任务。也就是说,ConvNets 不需要任何关于语言的语法或语义结构知识,就能产生好的文本理解测评结果。

我们还可以想想,如何将无监督学习用于从零开始学习语言模型。之前的嵌入性方法(Collobert et al., 2011b) (Mikolov et al., 2013b) (Le & Mikolov, 2014) 已表明,对输入中错漏掉的词或其他模式进行预测,这是很有用的。我们希望能将这些迁移学习和无监督学习技术应用于我们的模型。

同样值得注意的是,自然语言本质上是时间序列。因此,将我们的方法进行扩展,就可以用它去处理时间序列数据。在这种应用中,分层特征提取机制或许能够带来新的进步,超越目前广泛使用的循环模型和回归模型。

本文中我们只将 ConvNet 应用于对语义或情感意义的文本理解。我们还可以把它扩展到分块(chunking)、命名实体识别(NER)和词性标注等其他传统 NLP 任务中去。

最后,我们的模型还可以用于数学公式、逻辑表达式或程序语言等符号系统中的学习。

DeepText 技术关键

综上,DeepText 使用了包括卷积神经网络和循环神经网络在内的多个深度神经网络构架,是无监督学习和监督学习的结合,可以在词水平和字符水平上进行学习。

DeepText 训练模型时使用了 FBLearner Flow 和 Torch。DeepText 的两大特色是深度学习和词嵌入方法。

传统 NLP 方法中,词被转换成计算机算法可以学习的形式,例如,单词 brother 会被转化成 4598 这样的整数 ID。与传统 NLP 方法不同,DeepText 使用了词嵌入技术。该技术能保留词之间的语义关系。使用这种技术,机器可以发现 "brother" 和 "bro" 这两个词的词嵌入在词嵌入空间中彼此邻近。这样,词嵌入技术便能够捕捉词语更深层的语义学含义,也能够帮助机器理解不同语言之间的同义现象。例如,在词嵌入空间中,英语的 "happy birthday " 与西班牙语的同义短语 "feliz cumpleanos" 距离非常接近。

简单说,DeepText 使用的深度学习方法有几个优点:

  • 能够教会机器去理解俚语和单词歧义。例如,当一个人说“我喜欢黑莓”的时候,深度学习能帮助机器辨别用户说的黑莓是指水果还是指黑莓手机。
  • 处理复杂的规模化问题和语言问题时,传统的 NLP 技术效果不太好,而深度学习可以让机器更好地处理多语言文本,并更高效地处理标记数据。
  • 可以直接从没有进行过预处理的文本中进行学习,从而降低对语言知识的依赖性。
  • 在只拥有小的标记数据集时也能进行有效学习。

下一步,DeepText 研发团队将让 DeepText:

  • 能更好地理解用户的兴趣,从而能为用户提供与其兴趣更匹配的内容。
  • 具有把文本和图片内容结合起来理解的能力。
  • 发展诸如双向循环神经网络 (BRNN) 等新型深度神经网络。

Facebook 会成为下一个谷歌?

聊天机器人 或者说 虚拟智能助理 市场,Facebook 的 M 是谷歌、亚马逊、微软、IBM 等几大巨头中唯一走文字输入路线的。因此,Facebook 推出深度学习文字搜索引擎,是自然的结果,这也与 Facebook 的十年发展规划相符——以深度学习为代表的人工智能技术将成为其未来三大支柱之一,以此拓展业务,完善生态系统。

Facebook 的目标是理解用户的一切。未来,如果 DeepText 与 Facebook 的虚拟智能助理 M 整合,Facebook 就能更好地理解用户及其需求,并且更好地连接商家和消费者——这不仅仅会为 Facebook 增加广告收入,还会在其平台上形成一个生态闭环

用户在 Facebook 上花费的时间越多,留下的信息量也就越大,Facebook 的搜索引擎也会变得更加智能。试想,当你在 Facebook 与朋友约好见面,接下来打车、订餐、购物都能在 Facebook 完成,而且所有你感兴趣并且想知道的新闻、资讯、好友消息都能在这个平台上找到,你还会退出 Facebook 吗?

那么,接下来很容易想到一个问题:

我们还需要谷歌吗?

Facebook 有社交网络固有的局限,那就是用户都活在一个个“圈子”里。而当人想知道圈外的消息时——虽然有研究称,平均通过 7 个人就能把世界上任何两个人联系起来——但再怎么“万物互联”,有时候还是自己动手更加方便。

何况 谷歌还有 Google Assistant

参考资料

https://code.facebook.com/posts/181565595577955

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-06-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 新智元 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
图像识别
腾讯云图像识别基于深度学习等人工智能技术,提供车辆,物体及场景等检测和识别服务, 已上线产品子功能包含车辆识别,商品识别,宠物识别,文件封识别等,更多功能接口敬请期待。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档