我的位置:

金准数据机器学习预测报告——以文本摘要自动生成为例

发布人:管理员   1年前

前言:

机器学习能力正在快速增长,将各种行业的商业应用从医疗和保健转向自动驾驶汽车,游戏和欺诈检测等等。 我们期望机器学习处理在2018年变得更加快速和更加智能,我们可以看到它在更多不同领域和业务问题中得到应用。2017年,我们看到人工智能融入了我们生活的许多方面以及无数社交项目。 2018年,我们会看到更多的初创公司展示高度先进的产品,而且在美国以外的这些科技公司以及中国和欧洲等硅谷典型场景中,这些公司的工作量也有明显增加。 准备好更好地融入我们的日常生活,并在AI革命中取得更多进展。

2018年,人工智能无处不在,或者更确切地说,机器学习将无处不在。这项技术几乎“无所不能”,并将在2018年创造出无限可能。

2018年,英国的IntelligentX有望推出世界上第一款AI酿造啤酒;俄罗斯的DeepFish致力于利用神经网络来识别雷达图像中的鱼类;瑞典的Hoofstep更是筹集了风投资金,计划为马匹进行深度行为分析。

机器学习对众多世界范围内的大数据行业都具有潜在影响,这将继续继续推动风险投资、私人股本(PE)融资、合并,和关注点在赢得这一领域知识产权(Ip)和专利竞赛的收购。

机器学习知识产权中增长最快的领域之一是定制芯片组(custom chipset)的开发。金准数据预计全球数据中心今年将使用多达800,000的机器学习芯片。在2018年,企业正加大对机器学习项目的研究、投资和试点力度。虽然不同预测来源的方法各不相同,但市场估计和预测都反映出,机器学习将提高公司的敏锐性和洞察力,在实现更快、更有利可图的增长方面。金准数据根据机器学习市场预测、市场评估和规划,关键数据如下:


一、2018年机器学习预测

1. 支持机器学习的数据科学平台大幅增长

在整个商业智能(BI)和分析市场中,预计到2021年,支持机器学习的数据科学平台(Data Science platform)将达到13%的复合年均增长率。同时,数据科学平台的增长率将超过更广泛的商业智能(BI)和分析市场,预计同期将达到8%的复合年均增长率,其价值将从2017的30亿美元增长到2021的48亿美元。



2.机器学习专利、实施项目数量激增

2013年至2017年,机器学习专利以34%的复合年增长率增长,在所有专利中增长速度排第三位。 IBM, Microsoft, Google, LinkedIn, Facebook, Intel和Fujitsu(富士通)是2017年最大的7家机器学习专利生产商。

金准数据根据德勤全球预计,与2017年相比,2018机器学习试点和实施项目的数量将翻一番,到2020将再次翻一番。推动机器学习试点项目增长的因素包括应用程序接口(APIs)更广泛的支持、自动化数据科学任务、减少培训数据的需要、加快培训和对解释性结果的洞见。

3.机器学习和人工智能投资引领行业

61%的机构最经常选择机器学习/人工智能作为公司明年最重要的数据计划。那些受访机构表示,他们积极使用机器学习和人工智能,58%的人表示他们在生产中运行模型。


包括Amazon, Apple, Google, Tesla和Microsoft在内的科技市场领导者,在机器学习和人工智能投资方面正大幅度地引领行业。每一个都将机器学习设计成未来的新一代产品,并使用机器学习和人工智能改善客户体验,提高销售渠道的效率。

金准数据预测, 在人工智能和机器学习上的的支出将会从2017年的120亿美元增长到2021年的576亿美元。

全球机器学习市场预计将从2017的14亿美元增长到2022的88.1亿美元,达到44.1%复合年增长率。市场快速增长的因素包括在数据聚合、集成和分析方面表现卓越的新技术,以及更可伸缩的云平台。

2017年的认知(cognitive)和人工智能系统的全球收入是125亿美元,到2020年将超过460亿美元。

基于金准数据在2017对14家供应商采用的23项评估标准,SAS*、IBM和SAP*领导了预测分析和机器学习市场。金准数据预测表明,预测分析和机器学习市场(the Predictive Analytics & Machine Learning market,PAML)将在2021年以21%的复合年增长率增长,这一点可以从他们看到的客户咨询和采购活动的增加中得到证明。




4.机器学习正在增强数据分析能力和洞察力

60%的机构处在采用机器学习的不同阶段,近一半(45%)的机构说这项技术导致了更全面的数据分析和洞察力,35%的机构可以完成更快的数据分析,提高洞察速度,这使他们的机构更加敏锐。35%的机构还发现机器学习正在增强他们对下一代产品的研发能力。


谷歌日前发布公告称60.3%的潜在恶意应用(Potentially Harmful Apps,PHAs)都是由机器学习技术检测出来的。这些潜在恶意应用的检测是由一项名为Google Play Protect的服务来完成的,该服务已经预装在了超过20亿台运行Android 4.3及以上系统版本的Android设备上,并将持续扫描并发现有恶意行为的应用程序。Google Play Protect运用了多种策略来确保Android手机用户的数据安全,而机器学习技术的加入让其检测潜在恶意应用的能力更上一层楼。

Play Protect机制在2017年累计自动扫描了超过500亿款手机应用,最终发现并移除了将近390亿款Android手机应用。Play Protect每天至少会自动扫描Android手机一次,如果用户愿意还可以自己手动扫描。

直到最近,Play Protect才要求在检测时需要设备联网。因为谷歌发现有35%的新潜在恶意软件安装都发生在设备离线或失去网络连接时,谷歌开发出了新的功能来解决此问题。在2017年10月,Play Protect推出了离线扫描功能,从那之后,该保护机制多阻止了1000万次潜在恶意应用的安装行为。

Google Play Store对比第三方应用商店

Android设备在出厂时一般都自带谷歌官方应用商店Google Play Store,大多数国家的Android用户都从这个平台上获取应用。然而在有些国家,第三方应用商店成了Android用户下载、安装应用的唯一选择,或者有时候用户间也会直接分享自己从其他来源下载到的应用。只从Play Store上下载、安装应用的Android设备遇到潜在恶意应用的几率比时常从其他来源获取应用的Android设备要低9倍。

在2017年,有0.56%的安装有Play Protect的Android设备检测出了潜在恶意应用,而在2016年,该比率为0.77%。另外,在2017年,Android用户在Play Store上下载到潜在恶意应用的几率是0.02%,该比率较2016年下降0.02%。

Play Protect可以随时移除Play Store上的潜在恶意应用,但是显然它不能对第三方应用商店采取同样措施。对于从其他来源下载的应用,Play Protect只能警告Android用户说这是一个潜在恶意应用,而如果检测到是勒索软件或者可能盗窃银行账户的恶意应用,Play Protect则会阻止其安装。

在2017年,谷歌通过发出警告阻止了74%的潜在恶意应用安装行为,在2016年该比率是55%。谷歌没有透露剩下的26%的或是忽略了警告提示,或是在安装前没有被确认为恶意应用的潜在恶意应用安装行为的具体数据。


5.人工智能和机器学习吸引外部投资

金准数据估计,2016年人工智能的年度外部投资总额在80亿至120亿美元之间,其中机器学习吸引了近60%的投资。机器人和语音识别是两个最受欢迎的投资领域。由于基于代码的初创企业在快速扩展,不断增加新功能,投资者们最青睐机器学习初创企业。基于软件的机器学习初创企业优于成本更高的基于机器的机器人竞争者,后者往往没有他们的软件同行。由于这些提到的和更多没提到的因素,企业并购在这一领域正飞速发展。下面的图片显示了不同技术分类的外部投资分布情况。


6.机器学习芯片市场广阔

金准数据分析预计,数据中心使用的机器学习芯片将从100,000增长到2016年的200,000,今年将增长到800,000。其中至少25%是现场可编程门阵列(FPGA)和专用集成电路(ASIC)。德勤发现,截至2020,机器学习加速器技术的总可用市场(Total Available Market,TAM)可能会达到260亿美元。


Amazon正依靠机器学习来改善其业务关键领域的客户体验,包括产品推荐、替代产品预测、欺诈检测、元数据验证以及知识获取。


二、机器学习附能文本摘要自动生成

金准数据研究了人工智能在信息大潮中帮助人们提高工作能力的方法——让算法自动归纳长文本。但是怎样训练能够产生长句、连贯和有意义的摘要的模型仍然是一个有待解决的研究问题。事实上,即使是较先进的深度学习算法,生成任何长文本也是很困难的。为了使模型能够成功地生成摘要,金准数据认为可以从两个独立的方法进行改进:一个更加语境化的词生成模型和一种通过强化学习(RL)训练摘要模型的新方法。

两种训练方法的结合使得系统能够创建相关且高可读性的多语句长文本(例如新闻文章)摘要,并在之前的基础上实现了显著的提升。我们的算法可以对各种不同类型的文本和摘要长度进行训练。在本文中,金准数据介绍了两种模型的主要贡献,并概述了文本摘要特有的自然语言挑战。

1.文本摘要的发展现状

目前主流的文本摘要声称有两种方式:提取式摘要(Extractive Summarization)与抽象式摘要(Abstractive Summarization)。

自动摘要模型可以通过以下两种方法实现:通过提取或抽象。提取式模型执行“复制和粘贴”操作:它们选择输入文档的相关短语并连接它们以形成摘要。它们非常稳健,因为它们使用直接从原文中提取的已有自然语言短语,但是由于不能使用新词或连接词,它们缺乏灵活性。它们也不能像人一样改述。相反,抽象式模型基于实际的“抽象”内容生成摘要:它们可以使用原文中没有出现的词。这使得它们有更多的潜力来产生流畅和连贯的摘要,但因为需要模型生成连贯的短语和连接词,这也是一个更难的问题。

虽然抽象式模型在理论上更强大,但在实践中也常出现错误。在生成的摘要中,典型的错误包括不连贯、不相关或重复的短语,特别是在尝试创建长文本输出时。从已有模型来看,它们缺乏一般连贯性、意识流动性和可读性。在本任务中,我们解决了这些问题,并设计了一个更稳健和更连贯的抽象式摘要模型。

抽取式摘要是一种比较成熟的方案,其中Text rank排序算法以其简洁、高效的特点被工业界广泛运用。大体思想是先去除文章中的一些停用词,之后对句子的相似度进行度量,计算每一句相对另一句的相似度得分,迭代传播,直到误差小于0.0001。再对上述得到的关键语句进行排序,便能得到想要的摘要。抽取式摘要主要考虑单词词频,并没有过多的语义信息,像“猪八戒”,“孙悟空”这样的词汇都会被独立对待,无法建立文本段落中的完整语义信息。


生成式文本摘要主要依靠深度神经网络结构实现,2014年由GoogleBrain团队提出的Sequence-to-Sequence序列,开启了NLP中端到端网络的火热研究。Sequence-to-Sequence又称为编、解码器(Encoder、Decoder)架构。其中Encoder、Decoder均由数层RNN/LSTM构成,Encoder负责把原文编码为一个向量C;Decoder负责从这个向量C中提取信息,获取语义,生成文本摘要。

但是由于“长距离依赖”问题的存在,RNN到最后一个时间步输入单词的时候,已经丢失了相当一部分的信息。这时候编码生成的语义向量C同样也丢失了大量信息,就导致生成的摘要不够准确。

Bahdanau等人在14年发表的论文《Neural Machine Translation by JointlyLearning to Align and Translate》中,第一次将Attention机制应用于NLP中。Attention机制是一种注意力(资源)分配机制,在某个特定时刻,总是重点关注跟它相关的内容,其他内容则进行选择性忽视。就像下图,在翻译“Knowledge”时,只会关注“知识”.这样的对齐能让文本翻译或者摘要生成更具针对性。

RNN/LSTM单元,由于每个词是按顺序输入网络的,所以会记录文章的序列信息。因此,大部分的NLP任务,都是采用的RNN架构。但是这也限制了网络训练及摘要生成的速度,因为RNN必须一个个输入,一个个生成,无法并行计算。2016年Facebook AI Research(FAIR)发表了《A Convolutional Encoder Model forNeural Machine Translation》,对Encoder部分采用似乎不擅长处理序列信息的卷积网络(CNN)来实现,结果在翻译、摘要任务中,也达到了当年的最高水准。

2017年5月,还是FAIR,发布了《ConvolutionalSequence to Sequence Learning》,第一次实现了Encoder、Decoder都采用CNN单元,使得网络在训练阶段,可以并行计算,效率进一步提升。同时引入了Multi-step Attention(多跳注意),相比之前只在最后一层生成翻译时往回看,多跳注意使得Decoder阶段生成每一层的语义向量时都往回看,进一步提升了准确度。同时还有一些其他的Trick:引入单词的位置信息,残差网络,计算Attention时候对高层语义信息和低层细节信息,兼收并取等。最后在生成翻译和摘要时,速度相比之前最快的网络,提升了近9倍。同时在WMT-14英德、英法两项的单模型训练结果中,BLEU得分达到了25.16、40.46,其中英法翻译也是迄今为止的最高得分。

时隔一个月,17年6月,Google团队发布了名为《Attention Is All You Need》的文章,即不用CNN和RNN单元,只用Self-Attention和Encoder-Decoder Attention,就完全实现了端到端的翻译任务。并且在WMT-14英德、英法翻译任务中,BLEU值达到了28.4和41.0的高分。因为同样可以并行计算,模型的训练及生成速度也有所提升。Self-Attention相比于之前的模型更加关注句子的内部结构,也就是word-pairs的信息,附图是论文中Attention可视化的结果,可以发现仅在源文端,模型便学习到了“making more difficult”的word-pairs信息。

同理对目标端,模型也会单独学习句子的内部结构信息。之后利用Encoder-Decoder Attention建立源文和目标词组、句子的对应关系。相比于FAIR的卷积模型到很高层才能看到句子的完整信息,Self-Attention在第一层便巧妙地建立了每个词和整个句子的联系,同时位置编码采用三角函数的相对位置法表示,理论上可以泛化到训练中未见过的更长长度句子的翻译中。目前Self-Attention仅用在了翻译任务中,但这样的思想,在文本摘要自动生成的任务中,也是可以参照的。

(Google Transformer模型的拆解)

2.监督式学习训练模型 VS. 强化学习训练模型

为了理解我们的新抽象式模型,我们首先定义基本构建块(building block),然后介绍我们新的训练方式。

用编码器-解码器模型读取和生成文本

循环神经网络(RNN)能够处理可变长度的序列(例如文本),并为每个短语计算有用的表征(或隐藏状态)。网络逐一处理序列的每个元素(在这种情况下,即每个词);对于序列中的每个新输入,网络通过该输入和之前隐藏状态的函数输出新的隐藏状态。从这个角度讲,在每个词处计算的隐藏状态是所有之前读到的单词的函数输出。

循环神经网络通过对每个词应用相同的函数(绿色)来读取输入语句

RNN 也可以用类似的方式产生输出序列。在每个步骤中,RNN 隐藏状态用于生成添加到最终输出文本的新词,该词将被用作该模型的下一个输入。

RNN 可以生成输出序列,并重使用输出单词作为下一个函数的输入

输入(读取)和输出(生成)RNN 可以组合在联合模型中,其中输入 RNN 的最终隐藏状态被用作输出 RNN 的初始隐藏状态。以这种方式组合,联合模型能够读取任何文本并从中生成不同的文本。该框架称为编码器-解码器(encoder-decoder)RNN(或 Seq2Seq),它是我们摘要模型的基础。另外,我们用双向编码器替代传统的编码器 RNN,它使用两个不同的 RNN 来读取输入序列:一个从左到右读取文本(如图 4 所示),另一个从右到左读取。这有助于我们的模型更好地表示输入语境。

编码器-解码器 RNN 模型可用于解决自然语言中的 sequence-to-sequence 任务(如摘要)

一种新的注意及解码机制

为了使我们的模型输出更连贯,我们允许解码器在生成新单词时回顾部分输入文档,这种技术称为时间注意(temporal attention)模型。与完全依赖自己的隐藏状态不同,解码器可以通过注意函数(attention function)整合不同部分的输入语境信息。调整注意函数,以确保模型在生成输出文本时使用不同部分的输入,从而增加摘要的信息覆盖度。

另外,为了确保我们的模型不产生重复信息,我们还允许它回顾解码器之前的隐藏状态。用类似的方式,我们定义内部解码注意函数(intra-decoder attention function),它可以回顾解码器 RNN 之前的隐藏状态。最后,解码器将来自时间注意模型的语境向量(context vector)与来自内部解码注意函数的语境向量相结合,在输出摘要中生成下一个词。下图展示了在给定解码步骤中这两个注意函数的联合过程。

由编码器隐藏状态和解码器隐藏状态计算得到的两个语境向量(标记为“C”),使用这两个语境向量和当前的解码器隐藏状态(“H”),生成一个新的词(右)并添加到输出序列中。

如何训练模型?监督式学习 VS. 强化学习

要训练这个模型并应用于新闻文章等真实数据,通常的方法是使用教师强迫算法(teacher forcing algorithm):一个模型在生成一个摘要时使用参考摘要(reference summary),并且该模型在每生成一个新单词时会被分配一个逐词误差(word-by-word error,或“局部监督/local supervision”,如下图所示)。

用监督式学习训练模型。每个生成的单词得到一个训练监督信号,通过与同一位置的正确摘要单词进行比较来进行训练。

该方法可用于训练任意基于循环神经网络的序列生成模型,具有非常好的结果。然而,对于我们的特定任务,正确的摘要不一定要按照逐字来匹配参考序列。你可以想像,对于同样的新闻文章,两个人可能在风格、单词或句子顺序上产生不尽相同的摘要,但仍然认为摘要是好的。教师强迫算法的问题是:一旦产生了前几个单词,训练就会被误导:严格遵守一个官方正确的摘要,但不能适应一个潜在正确但不同的开头。

考虑到这一点,我们可以比教师强迫的逐词方法做得更好。这里可以应用一种称为强化学习(RL)的不同类型的训练。首先,强化学习算法使模型生成自己的摘要,然后使用外部评分器(scorer)来比较生成的摘要与正确摘要。这个评分器然后向模型表明生成的摘要有多“好”。如果分数很高,那么模型进行更新,使得这些摘要更有可能在将来出现。否则,如果得分低,模型将受到惩罚,并改变其生成过程以防止生成类似的摘要。这种强化模型擅长得出用于评估整个序列而不是逐词预测的摘要分数。

在强化学习中,模型没有对应每个预测词的局部监督信号,而是用基于整个输出和摘要参考的奖励信号(reward signal)进行训练。

如何评估摘要?

评分器到底是什么?它如何分辨出一个摘要的“好坏”?由于要人手动评估数以万计的摘要在很大程度上是耗时并不切实际的,因此,我们使用一种名为 ROUGE(Recall-Oriented Understudy for Gisting Evaluation)的自动评分指标。ROUGE 通过对比摘要中将生成的摘要中的匹配子短语和实际数据的参考摘要中的子短语来运作,即使它们并不是完全一致的。不同的 ROUGE 变体(ROUGE-1、ROUGE-2、ROUGE-L)都以相同的方式工作,但使用不同的子序列长度。

尽管 ROUGE 分数与人类判断总体上有很好的相关性,但 ROUGE 较高分的总结不一定是最可读或最自然的。当我们仅通过强化学习来训练模型使 ROUGE 得分较大化时,这就成为一个问题。我们观察到我们具有较高 ROUGE 分数的模型也会生成几乎不可读的摘要。

为了发挥两个领域的优势,我们的模式同时受到教师强迫和强化学习的训练,能够利用词级和整个摘要层面的监督使摘要具有连贯性和可读性。特别是我们发现 ROUGE 优化的强化学习有助于改善回调(即所有需要总结的重要信息实际上已经被总结),并且词级学习监督能确保良好的语言流畅性,使得摘要更连贯可读。

监督学习(红色)和强化学习(紫色)的组合,演示了我们的模型同时学习本地和全局奖励并同时优化可读性和整体 ROUGE 分数的方法

直到最近,CNN / Daily Mail 数据集中的抽象摘要的较高 ROUGE-1 分数是 35.46。结合解码器内部注意 RNN 模型的联合监督和强化学习训练,这个分数提高到了 39.87,并且,如果仅是强化学习,该分数为 41.16。下图显示了我们和其他的现有模型的摘要分数。即使我们的纯强化学习模型具有较高的 ROUGE 分数,我们监督的+ 强化学习模型具有较高的可读性,因此它与该摘要任务更加相关。注意: 由于使用稍微不同的数据格式,Nallapati et al 的结果与我们的和其他数据格式不能直接相比,但仍然给出了很好的参考。

CNN / Daily mail 数据集的摘要结果,比较我们的模型与现有的抽象式和提取式方法

样本输出

从传统的Textrank抽取式,到深度学习中采用RNN、CNN单元处理,再引入Attention、Self-Attention、机器生成摘要的方式,这些跟人类思维越来越像,都建立在对整段句子的理解之上。与此同时生成摘要的效果,也常常让我们惊艳。

但文本摘要自动生成依然还有很多难题,比如如果段落太长,那么机器对段落的理解时间就要很长,而过长的时间会导致机器对段落信息的记忆的损失。而且深度学习非常依赖有标签的样本,标注工作也是一笔非常大的开销。

总的来说,文本摘要自动生成是个非常具有前景但也非常具有挑战性的技术。


我们的模型生成的更多的摘要例子,对比同一篇文章的人工撰写的摘要

为了说明我们在文本摘要方面的主要贡献带来的影响,下图显示了如果不考虑内部注意力和强化学习训练,我们模型的输出是如何离题的。


我们的模型生成的示例摘要,有和没有我们的主要贡献。原始文章中不存在的新词将以绿色显示。摘要中重复