深度学习下一个大突破:机器阅读

本文涉及的产品
语种识别,语种识别 100万字符
文档翻译,文档翻译 1千页
图片翻译,图片翻译 100张
简介:

机器阅读将是深度学习的下一个重大进展


回顾2016年,深度学习在应用领域取得了三个重大进展。


1. Google DeepMind 的 AlphaGo,战胜了人类顶级围棋高手。

2. Google Translate 上线,达到了与人类媲美的精度。

3. Tesla 的 AutoPilot 投入使用,让自动导航成为大众使用的日常工具。


展望2017年,深度学习在应用领域将会有新的突破,其中一大看点,就是机器阅读。


书籍是人类文明的主要传承工具。让机器掌握自动阅读的能力,将会颠覆性地降低知识传承和使用的难度。


机器阅读之所以可能在2017年取得突破性进展,原因是机器翻译的工作原理,可以拓展到机器阅读领域。


文本摘要的研究,在2016年取得的进展,已经昭示了机器阅读的前进方向。


所谓文本摘要,就是把整篇文章,输入给电脑,电脑自动输出文章的中心思想。


文本摘要的工作原理,与机器翻译的工作原理,一脉相承。


机器翻译的原理,编码及解码

机器翻译的工作原理,说来简单,先编码,后解码 [1]。


编码的任务,是把输入的文章,转换成一连串数字向量,数字向量包含文章每一词的语义和语法信息,如同基因DNA。


解码的任务,是把数字向量,逐个转换成其它语言的词语,完成翻译。


任务明确后,接下去谈如何实现。


如何提炼文章中每一个词的语义信息?机器翻译用了两个办法,


1. 词向量,词向量包含这一个词的语义信息。词向量的实现方式,用的是神经网络与语言模型的组合,稍后介绍。


2. 语义向量,语义向量包含了从文章开头到当前词的主要语义,也包含了从当前词到文章末尾的主要语义,所以语义向量又称为前后文向量。语义向量的实现方式,用的是 LSTM 的隐状态,稍后介绍。


除了语义信息,编码是否需要容纳语法和统计信息?


文本摘要的研究者们,提议在编码中也容纳语法词性标注(POS tagging)、实体标注(NER)、信息挖掘统计值(TF-IDF)等等信息 [2]。


悬念是,还有哪些其它有用的信息,也应该被容纳进编码中?


更大的悬念是,如何提高编码的正确性,精准地全面地表达原文的语义和语法信息?


编码的实现原理

编码的实现,依赖于词向量和语义向量。


词向量的实现方式,用的是神经网络与语言模型的组合 [3]。


先说语言模型(Language Model),语言模型的任务,是根据前文,预测下一个词,最可能是什么?


有时候听众会打断对方的发言,说,“你不用再说了,你下面想说什么,我已经猜到了”。这样的听众,脑子里拥有出色的语言模型。


人类语言有缺陷,“版图” 与 “疆界”,无一字相同,但是语义相同。


语言模型把每一个人类词汇,对应到一个词向量。词向量是数字向量,数字向量的好处在于,容易计算数字向量之间的距离。同义词的词向量之间的距离为零,近义词的词向量之间的距离较短。


人类词汇,有一词多义的情况。词向量的技术难题,在于如何给多义词配置多个词向量。


[3] 用神经网络,来根据前文,预测下一个出现的词。


所谓预测,其实是估算词库中所有词汇,哪一个词汇在下一个出现的概率最大。神经网络发挥的作用,是概率模拟器。


预测很准的时候,神经网络中的诸多参数就不需要调整。预测不准的时候,就调整这些参数,提高后续预测的精准度。这就是语言模型训练的过程。


因为要估算词库中所有词出现的概率,所以训练语言模型的计算量,往往大得惊人。


解决的办法,是尽可能缩小候选词汇的数量。办法很多,譬如 beam search。


语义向量的实现,依赖 LSTM(Long Short Term Memory)。LSTM 也是一种神经网络,特色有二 [4]。


1. 循环:神经网络前一次的输出,将作为同一个神经网络下一次的输入。所以,LSTM 是处理序列的利器,语句就是序列的一种,序列的例子还包括,股票价格波动,心电图脑电图,音频视频等等。


2. 遗忘:语句中每个词汇的重要性不同,记住重要的词汇,忘记冗词。人类记忆有限,听演讲往往要做笔记,记住要点。电脑的记忆无限,但是也要取舍,避免噪音淹没了要点。


人类听演讲时,把要点写在笔记本里。LSTM 处理序列时,把要点存储在隐状态里。


隐状态(Hidden State)也是数字向量,隐状态数字向量的维度,往往比词向量的维度高。就像笔记本里能够写下很多词汇。


但是隐状态向量并非词向量的简单积累。隐状态向量是前后文词向量的剪接,如同基因剪接一样。


LSTM 的隐状态向量,胜任前后文语义向量的职能。但是隐状态向量的软肋,在于含义晦涩,如同基因不易读解。


好的隐状态向量,容易识别。如果用 Autoencoder [5] 把隐状态向量复原成原文,复原后的原文,与真正的原文越相近,说明隐状态向量的质量越好。


但是坏的隐状态向量,坏在哪里,很难甄别。因为,隐状态向量的含义晦涩难懂。这是需要研究解决的难题。


除了提炼前后文语义,LSTM 还可以做很多事情,譬如给文章中每个词汇标注词性,识别文章中地址名称等等词组。


作为神经网络的一种,LSTM 也需要训练,训练就需要语料。不同的任务,譬如词性标注,词组识别,需要不同的训练语料。


获得大量语料,也是难题。譬如有人提议,收集文章及其标题,作为文本摘要的训练语料。但是遇到标题党,这个办法就失效。


解码的实现原理


解码的理想境界,与翻译的理想境界相似,


1. “信”:语义要正确,不要曲解。

2. “达”:措辞要恰当,即便语义相同,如果措辞不同,那么语气迥异。

3. “雅”:行文要流畅。


解码器的实现原理,与词向量的实现原理相似,依赖语言模型,根据前文,预测下一个词,最可能是词库中的哪一个词汇?


不要忘记,估算词库中所有词出现的概率,计算量往往大得惊人。


要达到“信”的境界,对于机器翻译而言,难度较低,因为翻译基本上是逐个词汇一对一翻译。


对于文本摘要而言,“信”的难度较高。如何摘录重点?人类做摘要,往往摘录论点,不摘录论据,往往摘录故事结局,不摘录故事过程。


如何让电脑辨别论点与论据,结局与过程?这是需要研究的难题。


所以,对于机器翻译而言,解码器的输入,只需要原文中的词向量和语义向量,就可以翻译得相当精准。


但是,对于文本摘要而已,除了词向量和语义向量,还需要词性标注、词组识别、TF-IDF,信息越丰富,摘要越简洁。


简单暴力的办法,是摘录原文中每个段落的起首一两句,遇到两个段落的起首句的语义相同,就忽略其中一个。


要达到“达”的境界,对于机器翻译而言,难度较高,每种语言都有同义词,但是同义词之间的语气差别,往往难以界定。


对于文本摘要而言,“达”的难度较低,简单粗暴但是行之有效的办法,是直接引用原文中的词汇。


引用原文词汇,还有一个好处,是大大降低了计算量。说得学术点,这叫 LVT,Large Vocabulary Tricks [6]。


麻烦在于,原文中出现的词汇很多,下一个词应该引用原文中的哪一个词汇?


解决办法是先用语言模型,根据当前的词向量、语义向量,预测下一个词的词向量。然后再去原文中,寻找最贴切的词汇。


寻找的办法,说得学术点,叫 Attention [1]。


大意是根据原文中每一个词汇本身的语义、语法词性、词组标注、TF-IDF 统计信息,以及前后文的语义等等尽可能多的信息,评估原文中的每一个词汇,与下一个词的词向量的相关性。


但是 Attention 的办法,也会导致巨大的计算量。[2] 提议了一个减少计算量的办法,先评估每个语句的相关性,找到相关语句后,再评估这个语句中每个词汇的相关性。


要达到“雅”的境界,无论机器翻译还是文本摘要,都必须做到下一个词的选择,必须与前文词汇保持流畅。


对于文本摘要而言,下一个词的选择,不能全部选用原文中词汇。实现方式有两个要素。


1. 预先从训练语料中,构建摘要的词库。

2. 实现一个开关函数,决定从词库中选词,还是从原文词汇中摘录。

    

开关函数可以用 sigmoid 函数,输入有三项,前文的词汇、预测出的下一个词的词向量、Attention 找到的原文中最贴切的词汇。


未来有待解决的问题


除了进一步降低语言模型的计算量,除了识别原文中各个语句及词汇的重要性,未来最大的挑战,可能是如何引用外援知识。


人类阅读的时候,经常需要查字典,查参考文献。


引用外援知识的目的,是扩大读者现有的知识结构,消除现有知识结构与文章内容之间的落差。


阅读结束后,进一步扩大现有知识结构。这就是人类通过阅读,不断学习知识的过程。


知识结构的表达方式有多种,“一图胜千言”,自然语言似乎不是最高效的表达方式。


知识图谱由点和边组成,点表达概念,边表达一个概念与另一个概念之间的关系。


譬如 “发烧” 和 “炎症” 是两个概念,在知识图谱中用两个点来表达。“炎症”导致“发烧”,在知识图谱中用有向边来表达。


当阅读一篇文章时,如果文章中出现的概念,没有出现在现有知识图谱中,那么阅读就会出现困难,这就是知识的落差。


消除知识落差的办法,是查字典,查参考文献,扩大阅读,直到文章中出现的新概念,与现有知识图谱相连接。


如何把文章转换为知识图谱?不妨沿用机器翻译和文本摘要的工作原理,把文章从自然语言,转换成知识图谱。


换而言之,机器阅读其实就是自然文本的结构化。


文章转自新智元公众号,原文链接

相关文章
|
2月前
|
机器学习/深度学习 人工智能 搜索推荐
机器会“看病”?深度学习正在颠覆医学成像!
机器会“看病”?深度学习正在颠覆医学成像!
219 10
|
机器学习/深度学习 人工智能 自然语言处理
深度学习的奥秘:机器如何理解世界
【9月更文挑战第10天】在人工智能领域,深度学习如同璀璨星辰,引领技术潮流。作为机器学习的重要分支,它通过构建深层神经网络模拟人脑学习过程,自动提取特征并优化性能,从而实现对复杂问题的理解和处理。本文将探讨其基本原理、工作机制及如何应用于图像识别、自然语言处理和智能推荐等领域,并展望其未来发展与挑战。
|
机器学习/深度学习
深度学习的魔法:如何让机器像人一样思考
在这篇文章中,我们将探索深度学习的奥秘,这是一种让机器能够模仿人类思维方式的先进技术。我们将通过一个简单的例子——教机器识别猫的图片——来揭示深度学习的工作原理。你将看到,即使是这样一个简单的任务,也需要复杂的数学模型和大量的数据。但别担心,我们会用简单的语言来解释这一切。最后,我们将讨论深度学习如何改变我们的生活,以及它面临的挑战。让我们一起踏上这段神奇的旅程吧!
|
机器学习/深度学习 自然语言处理 TensorFlow
课外阅读之深度学习如何入门?
课外阅读之深度学习如何入门?
166 0
|
机器学习/深度学习 算法 数据可视化
深度学习论文阅读目标检测篇(一):R-CNN《Rich feature hierarchies for accurate object detection and semantic...》
 过去几年,在经典数据集PASCAL上,物体检测的效果已经达到 一个稳定水平。效果最好的方法是融合了多种低维图像特征和高维上 下文环境的复杂集成系统。在这篇论文里,我们提出了一种简单并且 可扩展的检测算法,可以在VOC2012最好结果的基础上将mAP值提 高30%以上——达到了53.3%。
348 0
深度学习论文阅读目标检测篇(一):R-CNN《Rich feature hierarchies for accurate object detection and semantic...》
|
机器学习/深度学习 IDE Serverless
通过阅读他人的代码是提高深度学习技能
【5月更文挑战第10天】通过阅读他人的代码是提高深度学习技能
145 4
|
机器学习/深度学习 人工智能 自然语言处理
深度学习的前沿技术和应用:从自然语言处理到机器视觉
深度学习作为人工智能的核心技术,近年来得到了广泛的关注和应用。除了在语音识别、自然语言处理等领域有不俗表现外,深度学习在机器视觉方面也取得了很多进展。本文将介绍深度学习的前沿技术和应用,包括自然语言处理、图像识别和目标检测等。
|
机器学习/深度学习 数据挖掘 Go
深度学习论文阅读图像分类篇(五):ResNet《Deep Residual Learning for Image Recognition》
更深的神经网络更难训练。我们提出了一种残差学习框架来减轻 网络训练,这些网络比以前使用的网络更深。我们明确地将层变为学 习关于层输入的残差函数,而不是学习未参考的函数。我们提供了全 面的经验证据说明这些残差网络很容易优化,并可以显著增加深度来 提高准确性。在 ImageNet 数据集上我们评估了深度高达 152 层的残 差网络——比 VGG[40]深 8 倍但仍具有较低的复杂度。这些残差网络 的集合在 ImageNet 测试集上取得了 3.57%的错误率。这个结果在 ILSVRC 2015 分类任务上赢得了第一名。我们也在 CIFAR-10 上分析 了 100 层和 1000 层的残差网络。
804 0
|
机器学习/深度学习 编解码 固态存储
深度学习论文阅读目标检测篇(五)中文版:YOLOv2《 YOLO9000: Better, Faster, Stronger》
 与分类和标记等其他任务的数据集相比,目前目标检测数据集是有限的。最常见的检测数据集包含成千上万到数十万张具有成百上千个标签的图像[3][10][2]。分类数据集有数以百万计的图像,数十或数十万个类别[20][2]。
365 0
深度学习论文阅读目标检测篇(五)中文版:YOLOv2《 YOLO9000: Better, Faster, Stronger》
|
机器学习/深度学习 自然语言处理 数据库
可阅读「通用生命语言」的深度学习模型,照亮了微生物组数据中的暗物质
可阅读「通用生命语言」的深度学习模型,照亮了微生物组数据中的暗物质
216 0
下一篇
oss云网关配置