DeepText:Facebook的文本理解引擎,你在想什幺

在 Facebook 上,文本是很普遍的一种沟通形式,理解不同的文本有助于帮助我们提升人们对我们产品的体验,是否我们显露更多人们想要看的内容,或是滤除掉不讨喜的垃圾讯息。在这样的目标之下,我们建造了 DeepText,一个基于深度学习的文本理解引擎,它可以理解接近人类準确度的文本内容,并在一秒内处理几千篇贴文,包含超过 20 种语言。DeepText 使用了几个深度神经网路的架构,包含卷积神经网路以及递迴神经网路,并且可以提供基于词彙等级和字母等级的机器学习。

我们使用 FbLearner Flow和 Torch做模型训练,训练好的模型被一键提供在 FBLearner Predictor platform 那个具有扩充性也可信赖的分散式基础设备。 Facebook 的工程师们可以透过 DeepText 提供的内部系统,轻易地建造新的 DeepText 模型。

为何是深度学习?

文本理解包含了多项任务,像是通用的分类器去判断一个贴文是在说什幺。

举个例子,「篮球」相关的命名实体识别,可以知道球员的名称,一场球赛的统计以及其他有意义的资讯,但想要更接近人类的理解文本,我们需要教电脑去理解一些像是俚语的词语。举个例子,如果有人说:我喜欢黑莓,这里的黑莓是指水果还是黑莓机?

DeepText:Facebook的文本理解引擎,你在想什幺
DeepText 在 Facebook Messenger 的运用

在 Facebook 上的文本理解提供解决大规模的语言处理挑战,在传统的自然语言处理技术里,很没效率。使用深度学习,我们就有能力去更好的理解跨语言的文本,接着就能比传统的自然语言处理技术更有效率的使用标记资料,DeepText 的技术建立在原本 Ronan Collobert 和 Yann LeCun 在 Facebook AI 深度学习的点子扩充的研究。

快速的理解更多语言

在 Facebook 上的社群无疑是国际性的,所以要让 DeepText 去尽可能的理解越多语言。传统的自然语言处理技术需要广泛的处理逻辑,与建立在複杂工程和语言的知识。同时在语言里也出现变异,像是俚语或不同的拼字方式来表达同一个概念。使用深度学习,我们可以减少对语言知识的依赖,让系统可以从文本里学习,不需要或只需使用一点点的处理。这可以帮助我们扩增到各种语言,而且花最少的工程力气。

更深度的理解

在传统的自然语言处理方法,词彙被转换到一种电脑可以学习的形式。词彙「兄弟」可能被指定成一个整数 ID 4598 同时「兄」可能被转换到另一个整数 ID 986665,这代表同一个词彙拼字必须完全一样,这样电脑训练时才能完全理解。

而对于深度学习,我们可以用「词向量」一种用数学来表示词彙之间的语意的关係。所以透过适当的计算我们可以看到词彙「兄弟」和词彙「兄」在向量空间里很接近。这种形式的表示方式,让我们可以挖掘词彙的语意。

使用「词向量」我们也可以理解同一个语意跨越不同的语言,儘管表层形式的语言不同。举个例子,在英语和西班牙文中,“ happy birthday” 和 “feliz cumpleaños” 应该在向量空间里非常相近。利用映射词彙和成语到同一词的向量空间里,DeepText 可以建造跨语言的模型。

稀缺的标籤资料

书写语言,儘管变化如上所述,在利用非监督的机器学习抽取未标籤的文本到向量空间里,有非常艰困的过程。深度学习提供一个很好的框架来使用这些词向量,以及更精炼的使用人工标籤的资料集。这相对于传统自然语言处理的方法来说是一个非常重要的优势,传统自然语言处理必须要人工标记大量的文本,非常没有效率也无法转移到新任务。在非常多个案里,这种非监督学习和监督学习的变化型在稀缺的标籤资料展现出更优良的表现。

在 Facebook 上探索 DeepText

DeepText 已经在许多 Facebook 的体验上被测试,在这个 Messenger 的个案里,举个例子,在一个人也许想要去某个地方,现在已经可以给我们一个更好的理解。DeepText 被使用于意图侦测,以及实体抽取来帮助理解一个人,当他说出 “I just came out of the taxi.” 或 “I need a ride.”,是不是意谓着他在等计程车?

我们也开始使用高精準度的、多语言的 DeepText 的模型,来帮助人找到正确的工具满足他们的目的。举个例子,有个人可能写了一则贴文: “I would like to sell my old bike for $200, anyone interested?” 这句话 DeepText 已经有能力侦测有人想要卖一个东西,并抽取有意义的资讯,像是被卖的物件以及它的价钱,并把这则讯息推广给有需要的人,让这些交易更容易。

DeepText 有机会增强 Facebook 的体验,源自于抽取意图、语意、以及实体。而且可以整合内容讯息,如文本和图片,然后移除令人反感的内容,像是垃圾讯息。非常多明星以及公众人物使用 Facebook 开始与公众对话,这些对话有数百到数千笔。找到最合适的回应在跨语言的状况之下即时回应是非常困难的。其中一个 DeepText 可能做的是帮助提供最适切或高品质的回应。

下一步

我们 Facebook AI Research 团队正在进一步增强 DeepText 以及它的应用,以下是几个範例。

更理解人的兴趣

在 Facebook 上,一部分个人化体验的方式是推荐和个人兴趣有关的内容,为了做到这件事情,我们必须映射每个文本到对应的主题,那需要非常多的标记资料。

然而这些资料集难以人力提供,我们利用 Facebook 的贴文测试用半监度式的机器学习产生大量的标籤资料集。它的职责是提供让这些贴文可以被侦测的主题。举个例子, Steelers的专页贴文会包含美式足球的相关贴文,运用这个内容,我们可以训练一个通用的兴趣分类器,我们叫做 PageSpace,使用 DeepText 作为它的基础技术,迭代多次之后,它可以更进一步的改善其他 Facebook 的体验。

联合理解文本和图像的内容

人们常常贴图片和影片,并写上相关的文本,在非常多情况之下,理解意图包含同时理解图片和文本。举个例子,一个朋友可能贴一张和她的婴儿的照片并写上文本 “Day 25.”,一起看整份内容可以很清楚的知道他的意图在分享家庭讯息,我们正在运作一个团队做联合理解文本和图片的工作。

新的类神经网路结构

我们不断的在调查研究新的深度学习类神经网路结构。双向递迴类神经网路展现可喜的结果,因为它可以透过卷积同时捕捉文本的语境以及词彙的前后关係,我们已经观察 BRNNs 和传统的卷积神经网路比较在分类上可以有很低的错误率。在某些个案里,错误率低于 20%。

当提供更多的深度学习技术在文本识别上,我们会持续的增强 Facebook 的体验,在 Facebook 的非结构资料提供一个独特的机会给自然语言理解系统自动学习语言,并被使用于跨语言,让自然语言处理的艺术更上一层楼!

上一篇: 下一篇:
随机文章Random article
图文排行Image & Text rank