WSDM(Web Search and Data Mining,读音为Wisdom)是业界公认的高质量学术会议,注重前沿技术在工业界的落地应用,与SIGIR一块儿被称为信息检索领域的Top2。算法
刚刚在墨尔本结束的第12届WSDM大会传来一个好消息,由美团搜索与NLP部NLP中心的刘帅朋、刘硕和任磊三位同窗组成的Travel团队,在WSDM Cup 2019大赛 “真假新闻甄别任务” 中得到了第二名的好成绩。队长刘帅朋受邀于2月15日表明团队在会上做口头技术报告,向全球同行展现了来自美团点评的解决方案。本文将详细介绍他们本次获奖的解决方案。spring
信息技术的飞速发展,催生了数据量的爆炸式增加。技术的进步也使得了人们获取信息的方式变得更加便捷,然而任何技术都是一把“双刃剑”,信息技术在为人们的学习、工做和生活提供便利的同时,也对人类社会健康持续的发展带来了一些新的威胁。目前亟需解决的一个问题,就是如何有效识别网络中大量存在的“虚假新闻”。虚假新闻传播了不少不许确甚至虚构的信息,对整个线上资讯的生态形成了很大的破坏,并且虚假新闻会对读者形成误导,干扰正常的社会舆论,严重的危害了整个社会的安定与和谐。所以,本届WSDM Cup的一个重要议题就是研究如何实现对虚假新闻的准确甄别,该议题也吸引了全球众多数据科学家的参与。网络
虽然美团点评的主营业务与在线资讯存在一些差别,但本任务涉及的算法原理是通用的,并且在美团业务场景中也能够有不少能够落地,例如虚假评论识别、智能客服中使用的问答技术、NLP平台中使用的文本类似度计算技术、广告匹配等。因而,Travel团队经过对任务进行分析,将该问题转化为NLP领域的“天然语言推理” (NLI)任务,即判断给定的两段文本间的逻辑蕴含关系。所以,基于对任务较为深刻理解和平时的技术积累,他们提出了一种解决方案——一种基于多层次深度模型融合框架的虚假新闻甄别技术,该技术以最近NLP领域煊赫一时的BERT为基础模型,并在此基础上提出了一种多层次的模型集成技术。架构
为了客观地衡量算法模型的效果,本届大会组织方提供了一个大型新闻数据集,该数据集包含32万多个训练样本和8万多个测试样本,这些数据样本均取材于互联网上真实的数据。每一个样本包含有两个新闻标题组成的标题对,其中标题对类别标签包括Agreed、Disagreed、Unrelated等3种。他们的任务就是对测试样本的标签类别进行预测。框架
“磨刀不误砍柴功”,在一开始,Travel团队并无急于搭建模型,而是先对数据进行了全面的统计分析。他们认为,若是可以经过分析发现数据的一些特性,就会有助于后续采起针对性的策略。dom
首先,他们统计了训练数据中的类别分布状况,如图1所示,Unrelated类别占比最大,接近70%;而Disagreed类占比最小,不到3%。训练数据存在严重的类别不均衡问题,若是直接用这样的训练数据训练模型,这会致使模型对占比较大类的学习比较充分,而对占比较小的类别学习不充分,从而使模型向类别大的类别进行偏移,存在较严重的过拟合问题。后面也会介绍他们针对该问题提出的对应解决方案。机器学习
而后,Travel团队对训练数据的文本长度分布状况进行了统计,如图2所示,不一样类别的文本长度分布基本保持一致,同时绝大多数文本长度分布在20~100内。这些统计信息对于后面模型调参有着很大的帮助。ide
本着“数据决定模型的上限,模型优化只是不断地逼近这个上限”的想法,接下来,Travel团队对数据进行了一系列的处理。学习
在数据分析时,他们发现训练数据存在必定的噪声,若是不进行人工干预,将会影响模型的学习效果。好比新闻文本语料中简体与繁体共存,这会加大模型的学习难度。所以,他们对数据进行繁体转简体的处理。同时,过滤掉了对分类没有任何做用的停用词,从而下降了噪声。测试
此外,上文提到训练数据中,存在严重的样本不均衡问题,若是不对该问题作针对性的处理,则会严重制约模型效果指标的提高。经过对数据进行了大量的分析后,他们提出了一个简单有效的缓解样本不均衡问题的方法,基于标签传播的数据加强方法。具体方法如图3所示:
若是标题A与标题B一致,而标题A与标题C一致,那么能够得出结论,标题B与标题C一致。同理,若是标题A与标题B一致,而标题A与标题D不一致,那么能够得出结论,标题B与标题D也不一致。此外,Travel团队还经过将新闻对中的两条文本相互交换位置,来扩充训练数据集。
BERT是Google最新推出的基于双向Transformer的大规模预训练语言模型,在11项NLP任务中夺得SOTA结果,引爆了整个NLP界。BERT取得成功的一个关键因素是Transformer的强大特征提取能力。Transformer能够利用Self-Attention机制实现快速并行训练,改进了RNN最被人所诟病的“训练慢”的缺点,能够高效地对海量数据进行快速建模。同时,BERT拥有多层注意力结构(12层或24层),而且在每一个层中都包含有多个“头”(12头或16头)。因为模型的权重不在层与层之间共享,一个BERT模型至关于拥有12×12=224或24×16=384种不一样的注意力机制,不一样层可以提取不一样层次的文本或语义特征,这可让BERT具备超强的文本表征能力。
本赛题做为典型的天然语言推理(NLI)任务,须要提取新闻标题的高级语义特征,BERT的超强文本表征能力正好本赛题所须要的。基于上述考虑,Travel团队的基础模型就采用了BERT模型,其中BERT网络结构如图4所示:
在比赛中,Travel团队在加强后的训练数据上对Google预训练BERT模型进行了微调(Finetune),使用了如图5所示的方式。为了让后面模型融合增长模型的多样性,他们同时Finetune了中文版本和英文版本。
模型融合,是指对已有的多个基模型按照必定的策略进行集成以提高模型效果的一种技术,常见的技术包括Voting、Averaging、Blending、Stacking等等。这些模型融合技术在前人的许多工做中获得了应用而且取得了不错的效果,然而任何一种技术只有在适用场景下才能发挥出最好的效果,例如Voting、Averaging技术的融合策略较为简单,通常来讲效果提高不是很是大,但优势是计算逻辑简单、计算复杂度低、算法效率高;而Stacking技术融合策略较复杂,通常来讲效果提高比较明显,但缺点是算法计算复杂度高,对计算资源的要求较苛刻。
本任务使用的基模型为BERT,该模型虽然拥有很是强大的表征建模能力,但同时BERT的网络结构复杂,包含的参数众多,计算复杂度很高,即便使用了专用的GPU计算资源,其训练速度也是比较慢的,所以这就要求在对BERT模型融合时不能直接使用Stacking这种高计算复杂度的技术,所以咱们选择了Blending这种计算复杂度相对较低、融合效果相对较好的融合技术对基模型BERT作融合。
同时,Travel团队借鉴了神经网络中网络分层的设计思想来设计模型融合框架,他们想既然神经网络能够经过增长网络深度来提高模型的效果,那么在模型融合中是否也能够经过增长模型融合的层数来提高模型融合的效果呢?基于这一设想,他们提出了一种多层次深度模型融合框架,该框架经过增长模型的层数进而提高了融合的深度,最终取得了更好的融合效果。
具体来讲,他们的框架包括三个层次,共进行了两次模型融合。第一层采用Blending策略进行模型训练和预测,在具体实践中,他们选定了25个不一样的BERT模型做为基模型;第二层采用5折的Stacking策略对25个基模型进行第一次融合,这里他们选用了支持向量机(SVM)、逻辑回归(LR)、K近邻(KNN)、朴素贝叶斯(NB),这些传统的机器学习模型,既保留了训练速度快的优势,也保证了模型间的差别性,为后续融合提供了效率和效果的保证;第三层采用了一个线性的LR模型,进行第二次模型融合而且生成了最终的结果。模型融合的架构如图6所示:
总体方案模型训练分为三个阶段,如图7所示:
为了缓解数据集中存在的类别分布不均衡问题,本任务使用带权重的准确率做为衡量模型效果的评价指标,其定义以下所示:
其中,y为样本的真实类别标签,y^y^为模型的预测结果,ωiωi为数据集中第i个样本的权重,其权重值与类别相关,其中Agreed类别的权重为1/15,Disagreed类别的权重为1/5,Unrelated类别的权重为1/16。
在官方测试集上,Travel团队的最优单模型的准确率达到0.86750,25个BERT模型简单平均融合后准确率达0.87700(+0.95PP),25个BERT模型结果以加权平均的形式融合后准确率达0.87702(+0.952PP),他们提出的多层次模型融合技术准确率达0.88156(+1.406PP)。实践证实,美团NLP中心的经验融合模型在假新闻分类任务上取得了较大的效果提高。
本文主要对解决方案中使用的关键技术进行了介绍,好比数据加强、数据预处理、多层模型融合策略等,这些方法在实践中证实能够有效的提高预测的准确率。因为参赛时间所限,还有不少思路没有来及尝试,例如美团使用的BERT预训练模型是基于维基百科数据训练而获得的,而维基百科跟新闻在语言层面也存在较大的差别,因此能够将现有的BERT在新闻数据上进行持续地训练,从而使其可以对新闻数据具备更好的表征能。