大厂Data+Agent 秘籍:腾讯/阿里/字节解析如何提升数据分析智能。 了解详情
写点什么

浅析 Facebook 文字理解引擎 DeepText

  • 2016-07-06
  • 本文字数:2124 字

    阅读完需:约 7 分钟

文字是人们在互联网上进行联系的一种主要方式。为了改善用户体验,了解用户对产品的想法,或检测出垃圾信息等不必要的内容,很多公司在研究对文字内容的自动化理解和分析方法。Facebook 开发的 DeepText 就是这样一种基于深度学习技术的文字理解引擎,可以非常精确地理解文字的上下文情境,目前可支持超过 20 种语言。

DeepText 中包含多种深度神经网络体系结构,可实现文字级别和字符级别的学习。在模型的训练方面,该技术使用了 FbLearner Flow 和 Torch,训练好的模型可通过 FBLearner Predictor 平台运行,这是一种可扩展,高可靠的分布式基础结构。

为何使用深度学习技术

文字的理解设计多种任务,首先需要通过常规分类确定每段文字的主题(例如是在谈论一场足球赛),随后需要识别出文字所涉及的实体(例如球员姓名、比赛结果等信息)。但为了实现更近似于人类的理解程度,还需要让计算机懂得不同的俚语、语境,以及多义词,例如,假设有人说“我喜欢黑莓”,他指的到底是“黑莓”这种水果还是“黑莓”手机?

对于 Facebook 这种规模的公司,文字的理解还需要考虑到对于扩展性和多语言的支持。借助深度学习技术可以更好地了解不同语言的文字,并能更高效地使用标签化的数据。

更快速理解多种语言

作为一家全球化公司,Facebook 需要能够理解尽可能多的语言。更麻烦的是,很多语言存在不同的变体,例如各种俚语或者双关语,甚至同一个词汇在表达不同含义时会使用不同的拼写方法。
借助深度学习技术,这套系统可以在只需要很少预处理,甚至完全无需预处理,就能在不具备有关特定语言相关知识的情况下理解文字的含义。这样即可在将开发工作量降至最低的同时更快速地理解各种语言。

深度学习促进更深入的理解

传统的自然语言处理技术需要将文字转换为计算机算法可以学习的格式。举例来说,“兄弟”这个词可能会被分配一个整数 ID,例如 4598,而“老兄”这个词可能会分配另一个整数,例如 986665。这种方法使得系统只能将拼写方式完全一致的词语当作同一个含义来理解。

通过使用深度学习技术,可以借助“文字嵌入”这种数学概念保留不同词语之间的语义关系。经过恰当的计算,就可以让计算机知道“兄弟”和“老兄”在语义上是相近的,借此可以更深入地了解不同词语的语义。

借助这种文字嵌入技术,还可以更好地理解多种语言中不同呈现方式所表达的相同含义。例如在英语和西班牙语中,“happy birthday”和“feliz cumpleaños”就包含了非常相近的含义,通过将不同的单词和短语映射到同一个通用的嵌入式语义空间,DeepText 将能建立与语言无关的模型。

DeepText 的实践运用

DeepText 已经用在了 Facebook 的一些服务中,例如在 Messenger 中,Facebook 的 AML 对话理解团队会通过 DeepText 更好地理解某人在什么时候可能想去什么地方。随后即可将这些信息用于决策工作,例如当有人说“我刚下出租车”,可以知道此人并不需要搭乘出租车,而如果有人说“我要出发了”,可能意味着此人也许需要打车。

Facebook 还在尝试通过高精确度的多语言 DeepText 模型帮助用户找到满足特定目的所需的恰当工具。举例来说,有人发布了这样一条信息:“我想把我的旧自行车以 200 块钱卖掉,有人感兴趣吗?”随后 DeepText 可以检测到这个用户希望卖掉某样东西,并从发布的内容中提取有价值的信息,例如具体要卖什么东西,价格多少,随后就可以建议此人使用 Facebook 提供的不同服务顺利完成交易。

通过更好地理解用户发布的信息,从中提取用户意图、情绪和实体(例如人员、地点、活动),DeepText 还可以进一步改善 Facebook 的用户体验。现在有很多名人和公众人物会使用 Facebook 与大家进行交流,这些交流通常可能获得数百条,甚至上千条评论。在多种语言发布的内容中找出最相关的评论,同时确保评论始终维持较高质量,这一点实现起来非常难。此时就可以借助 DeepText 找出相关性或质量最高的评论。

更好地理解用户兴趣

为了向用户提供个性化体验,Facebook 会推荐与用户兴趣有关的内容。为此必须首先能够将特定文字与特定话题关联在一起,这一过程需要处理海量标签化的数据。

这类标签化的数据集很难手工生成,而 Facebook 目前正在测试通过半人工方式的标签技术针对公共页面生成所需数据。这些公共页面上发布的内容通常都是针对特定话题的,例如“匹兹堡钢人”的公共页面上通常会发布有关橄榄球队的信息。通过这些内容,Facebook 训练了一个名为 PageSpace 的通用兴趣分类程序,该程序就用到了 DeepText 技术。

对文字和可视内容的联合理解

有时人们会在发布照片或视频的同时通过相关文字描述自己所发布的内容。很多情况下,若要理解用户意图,必须同时理解这些文字和可视内容。例如,某个用户可能发布一张新生儿照片并使用“第 25 天”作为文字描述。通过照片和文字的结合,很容易可以知道该用户的意图是分享自己家里的最新近况。Facebook 内部不同团队正在合作构建新的深度学习体系结构,以便可以将文字和其他可视内容结合在一起理解。

查看英文原文 Introducing DeepText: Facebook’s text understanding engine


感谢陈兴璐对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2016-07-06 19:005004
用户头像

发布了 283 篇内容, 共 117.5 次阅读, 收获喜欢 62 次。

关注

评论

发布
暂无评论
发现更多内容

鉴机识变,面向未来|RocketMQ Summit 2022 即将来袭

阿里巴巴云原生

阿里云 开源 RocketMQ 云原生 开源消息队列

边缘计算场景下Service Mesh的延伸和扩展

华为云原生团队

开源 边缘计算 边缘技术 边缘 边缘云

如何通过 draftjs 设计留言框

全象云低代码

前端 低代码 留言 draftjs 留言框

优化| 手把手教你学会杉数求解器(COPT)的安装、配置与测试

杉数科技

线性规划 求解器 优化求解器 混合整数规划 杉数科技

产品经理:「点这里,我要跳到任何我想跳的页面」—— 解耦提效神器「统跳路由」

百瓶技术

ios 前端 客户端 路由

前所未有的 Milvus 源码架构解析

Zilliz

Milvus 图形化管理工具 Attu 来袭!

Zilliz

数据库

混合编程:如何用pybind11调用C++

华为云开发者联盟

c++ Python API 混合编程 pybind11

ModStartCMS模块化建站系统 v3.3.0 组件功能升级,事件触发增强

ModStart开源

Hudi Bucket Index 在字节跳动的设计与实践

字节跳动数据平台

数据库 字节跳动 数据湖 Hudi

云效发布策略指南|滚动、分批、灰度怎么选?

阿里云云效

云计算 阿里云 云原生 持续交付 发布策略

为什么我的 ORDER BY create_time ASC 变成了 order by ASC

LigaAI

Java 数据库 sql 程序员

Android技术分享| 【你画我猜】Android 快速实现

anyRTC开发者

音视频 移动开发 互动白板 Andriod 你画我猜

一个关于 += 的谜题

AlwaysBeta

Python 编程语言

【重磅发布】蚂蚁动态卡片,让 App 首页实现敏捷更新

蚂蚁集团移动开发平台 mPaaS

ios android 前端 mPaaS

乘冬奥之风:北京2022年冬奥会用户信息获取偏好专题分析

易观分析

冬奥会用户分析

极致用云,数智护航

阿里云云效

阿里云 DevOps 运维 云原生 运维安全

掌握这些招数,你也能写出HR眼中的高分简历

Tom弹架构

求职面试

移动开发er,10万奖金等你来战!

Speedoooo

活动 前端开发 移动开发 黑客马拉松 黑客松

Go 语言入门很简单:读写锁

宇宙之一粟

读写锁 Go 语言 2月月更

web前端培训:vue3源码中细节知多少

@零度

Vue 前端开发

百度飞桨大企业开放创新中心联合赋能计划启动!助力浦东产业智能化升级

百度大脑

java培训:Java类加载机制的理解

@零度

JAVA开发 类加载机制

oracle数据库审计用什么数据库审计软件好?可以用什么方式部署?

行云管家

数据库 IT运维 数据库审计

Deep dive #2:API 与 Python SDKs 详解

Zilliz

Python 数据库

2022年中国智慧医疗行业洞察

易观分析

智慧医疗

基于 Kafka 的实时数仓在搜索的实践应用

vivo互联网技术

kafka 服务器 搜索 数据舱

“pip不是内部或外部命令,也不是可运行的程序或批处理文件” 到底有多么神秘

华为云开发者联盟

Python pip 批处理 scripts pip install

混合云管平台哪家强?采购时候需要注意什么?

行云管家

混合云 云管平台

大咖说|对话路特斯科技副总裁李博:如何看待智能驾驶的未来?

大咖说

阿里巴巴 智能 汽车 无人驾驶 路特斯

了解 DevOps,必读这十本书!

禅道项目管理

DevOps

浅析Facebook文字理解引擎DeepText_语言 & 开发_Ahmad Abdulkader_InfoQ精选文章