NLP文本分类引擎的解决方案

来源 :科学与技术 | 被引量 : 0次 | 上传用户:einsun007
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:人工智能应用最广的两个领域就是计算机视觉(CV)和自然语言处理(NLP)。计算机视觉的高速发展期是2012至2017年,目前研究的重点已经从静态的图片进入动态的视频领域,而自然语言处理的发展相对较慢,从2018年起,以BERT等句子级别预训练模型为代表,才进入高速发展期。
  自然语言处理领域的应用很丰富,例如语言翻译、情感分析、客服机器人、新闻生成、舆情监控、文档归类、简历筛选等等。而从技术的角度,最多的应用就是文本分类,包括多元分类、多级别分类、多标签分类等。
  针对层出不穷的文本分类需求,有必要设计出分类专用引擎,以提高效率和降低成本,并增强复用性。
  一、整体设计
  对于一个文本分类项目,在架构上分为数据处理、文本分类、文本挖掘和结果展现四个部分。本文着重在分类引擎的设计上。
  引擎需要考虑的因素很多,基于目前的技术发展,以下几点需要重点考虑并解决:
  1、如何选择基础算法
  2、如何减少标签数据量
  3、如何处理训练数据的不均衡
  4、如何处理多达几十上百的类别
  二、NLP基础算法选择
  从2013年Word2Vec开始,可以选择的常用基础算法有GloVe,FastText,ELMo,GPT1.0,BERT,Bert as a service,MT-DNN,GPT2.0等等,最近一段时间发展的速度令人咋舌。具体如何进行选择呢?
  首先要选择句子级别的算法,因为词级别算法没有考虑词之间的关系和语序,不仅处理不了语义组合、多义词、转折、依赖等各种语言学上的语法现象,连简单的语序也处理不了,我欠你一百万和你欠我一百万这种在语义上/现实社会中巨大的差异被忽视,语言处理能力较低。
  其次要选择预训练模型,而不是从零开始构建。动辄几亿参数的预训练模型以多层的神经网络结构和巨大的训练数据量,已经学会了大量的语言知识,具有了超凡的语言理解能力。而且这类模型很多公司从成本角度是无法自己训练的,站在巨人的肩膀上会是明智的选择。
  再次,从实际应用的角度,算法是否易用,网络资料是否齐全,也是要考虑的因素。因此上述的各种选择中,基于Transformer/Self-Attention,并能提供下游任务接口的BERT就成为不让之选。
  三、令人头痛的数据标注
  AI目前整体上还是处于弱人工智能阶段,简单说就是有人工才有智能,只有人类教会机器/算法如何工作,机器/算法才能分辨出不同的类别。这个教的具体动作,就是提供打好标签的数据来训练模型。大家常说的数据是基础,数据是燃料,数据是动力都是这个意思。
  而给数据打标签的工作,也是目前人工智能领域的痛点之一,还催生了专门做数据标注的公司。常有人抱怨人工智能的项目一半以上的时间和费用都投入到了做数据标注上。
  那么有没有技术上的方法来减少这种痛苦呢?有,那就是主动学习(Active Learning),其目的不是不再标注数据,而是大大减少标注的数据量。其基本的原理是,通过人工智能的方法来主动选择出标注意义更大的数据,以达到用一半的数据标注就能训练出满意效果的目的。
  此方法的理论依据是标注数据量和模型正确率之间的关系。人们往往以为随着数据量的增长,准确率会持续提升,其关系是向右上方升起的一根直线,即线性关系。而根据实际试验,两者的关系是一条弧线,在初始阶段随着标注数据量的增长,多次训练的准确率会大幅提升,之后增幅就逐渐减小,效果越来越不明显。
  如何主动学习呢?方法很多,使用算法和信息熵迭代操作会大大提升效率。具体步骤说明如下:
  第一个启动模型采用迁移学习的思路,选择其它项目的成熟模型作为启动点。由于每个项目的具体分类不同,模型不能重用,但举例来说,对洗衣机的负面评价判别模型,用在冰箱评价上也是一个好的起点,比起从零开始构造模型,会大大减轻工作量和缩短项目时间。
  以迁移过来的模型作为初始模型,对全部没有标注的数据直接分类。由于没有标注,分类结果无法判断对错,但是每一行数据的分类结果可以生成总和为一的概率分布,而排在第一位的概率数字代表了模型对于分类的信心。概率越高,确定性越大,则信息熵越小,而我们需要挑选出来的是信息熵最大的那一批数据,对其进行標注。如果最难分类的数据都被成功归属到了正确的类别,那么其它数据就更容易分类了。这样标注的数据就不再是随机进行选择,而是被精准定位,从而大大降低标注量。
  用第一批标注的数据来训练出第一个真实模型,而用此模型来挑选出下一批需要标注的数据,多次重复此过程,直至准确率曲线不再升高,或升高的幅度不值得再投入人员和时间进行标注,就结束模型训练,完成分类任务。
  四、如何处理数据的不均衡
  在进行文本分类时,训练和测试数据量对于不同的类别往往并不均衡,有的类别多,有的类别少。这会导致训练出来的模型对于不同的类别区分的能力不同,对于数据量较大的类效果较好,也会把很多其它类数据误判为这个类别。其技术原因是模型训练时的唯一目的是最小化损失函数,而数据量较大类的数据对损失函数影响更大。
  如果已知测试数据集的数据分布,并且确定真实数据集与测试数据集的分布相同,那么可以按此分布来调整训练数据。如果无法得知真实数据的分布,则应该训练出对每一个类别都有相同分辨能力的模型,因此需要处理数据的不均衡问题。
  处理的技术方法中最常用的是上采样和下采样,即对超过平均数的类减少数据量,对不足平均数的类增加数据量。下采样时随机减少即可,上采样时对于文本可以用翻译软件进行多种语言间的来回翻译,或者直接拷贝数据成多份,再随机打乱。
  那么除了数据的上下采样以外,还有没有其它的方法呢?既然技术原因是由于损失函数仅仅按照每类训练数据量的大小对待不同类别,那么完全可以调整损失函数,按照类别数量差异区别对待。其具体方法有静态调整和动态调整两种。   五、如何处理多类别分类
  对于十个类别以下的分类,使用BERT为基础的算法会有很好的效果,但是对于几十甚至一两百的类别,其准确率会大幅下降。那么对于多分类如何处理呢?
  常用的方法是用多个二分类模型来提升性能,即为其中的每一类和其它类训练一个二分类模型,然后用这些二分类模型来为每一行数据进行分类,最后取概率最大的结果为最终结果。这种方式二分类模型的数量为类别数量减一。
  但是这种方法随着类别的增多,概率间差距越来越小,意味着错误率越来越高,真实类别的二分类模型概率稍低一些结果就是错的,没有容错能力。那么为了增强容错能力,就需要增加更多的二分类模型。如果是多级别分类需求,可以以其它级别为准来区分数据,生成更多的二分类模型。如果是单级别多分类,就可以随机分隔数据生成更多的二分类模型。经验上二分类的分类器数量为类别数量的两倍左右效果最好。
  增加了二分类模型之后,不再采用取概率最大的结果为最终结果的方法,而是建立代码表。对于每一个类别,所有二分类器都有在正确分类时给予的代码T和F,这一串T和F就组成了这个类的正确代码,进而所有类别都会得到对应的标准代码。预测后每行数据会生成预测代码,与每类标准代码计算海明距离,取距离最近的类为最终结果,会大大增强容错能力,以提升预测准确度。
  参考文献
  [1]Ashish Vaswani et al. Attention is All You Need. arXiv 1706.03762.
  [2]Jonas Gehring et al. Convolutional sequence to sequence learning. arXiv:1705.03122.
  [3]Yonghui Wu et al. Google’s neural machine translation system:Bridging the gap between human and machine translation. arXiv:1609.08144.
  [4]Christian Szegedy et al. Rethinking the inception architecture for computer vision. CoRR,abs/1512.00567.
  [5]Jacob Devlin et al. BERT:Pre-training of Deep Bidirectional Transformers for Language Understanding. arXiv 1810.04805.
  [6]Denny Britz et al. Massive exploration of neural machine translation architectures. CoRR,abs/1703.03906.
  [7]Yonghui Wu et al. Google’s neural machine translation system:Bridging the gap between human and machine translation. arXiv:1609.08144.
  (作者單位:联想集团)
其他文献
摘要:从解决冀中股份邢台矿西井井下大巷风量及风速不符合要求的实际出发,引入變频调速对矿井通风机风量的调节技术,并对该矿西井主通风机在满足矿井通风需求时电动机的频率进行计算,最后对主通风机引入变频技术后的经济及社会效益进行简要分析。  关键词:变频技术;煤矿;主通风机;节能  引言  矿井主要通风机是煤矿安全生产必不可少的装备,它担负着全矿井或矿井一翼通风任务。以往和现在的矿井通风设计大部分选用国产
期刊
摘要:工业工程是兴起于20世纪的综合性交叉学科,其自诞生以来,便对各个国家及地区的工业化建设做出了巨大的贡献,成为工业企业发展的技术支撑,然而,随着我国成功的跻身WTO组织,使得我国对于人才的需求更加迫切,尤其是在工业发展方面,由于历史遗留原因,致使我国的工业化进程发展较为缓慢,明显落后于一些西方工业化强国,故而,为确保我国工业化进程的加快,就必须重视工业工程的运用。基于此,文章将以制造企业为例,
期刊
摘要:作为铁路线路薄弱环节,道岔病害治理一直都是线路设备病害治理重难点内容,如果治理不当,会对铁路提速以及重载发展产生不利影响,需要进行整治。文章将就如何增强道岔病害整治力度,有效提高检修工作整体质量展开深度探究,旨在提高道岔病害整治水平,促进我国铁路交通事业稳定性发展。  关键词:病害整治;铁路道岔;养护;改进  1 概述  铁路道岔是实现车辆转向或跨线运行的关键设备,由转辙器部件、连接部件和辙
期刊
摘要:随着科学技术的不断发展,信息社区也在快速崛起,人工智能技术日益受到各个领域的重点关注,而基于智能技术的电气自动化控制系统,可有效降低运行成本,提高工作效率,从而进一步促进电力行业的可持续发展。基于此,本文主要就智能技术在电气自动化控制系统的应用现状、方法等进行了探讨、分析,以供参考。  关键词:智能技术;电气自动化控制系统;应用  一、智能技术  智能技术也是一种人工智能技术,在人们智能化研
期刊
摘要:沥青储罐、沥青化油池、改性搅拌罐、沥青涂布卷材生产线会挥发产生含有多种有机物的沥青烟气,生产线上产生的沥青烟气由液态烃类颗粒物、气态烃类颗粒物、少量的滑石粉颗粒和大量的空气组成,属于低浓度有机废气。基于此,本文主要对蓄热焚烧法沥青烟气处理技术进行了简要的分析。  关键词:蓄热焚烧法;沥青烟气;处理技术  中图分类号:X701 文献标识码:A  引言  沥青烟对环境和人类的健康具有极大的危害性
期刊
摘要:文章以连霍高速(G30)新疆境内乌鲁木齐至奎屯段改扩建项目WKGJ-5标段工程为例,在分析其工程特点和高速公路改扩建重难点之后,提出了相应的对策,并以原位拆除新建桥梁工程为例介绍其施工技术方案,以供参考。  关键词:保通;高速公路;改扩建;重难点;对策  1工程概况  本项目为连霍高速(G30)新疆境内乌鲁木齐至奎屯段改扩建项目WKGJ-5标段。标段起点位于玛纳斯互通东侧,起点桩号K3725
期刊
摘要:现代高速公路的发展愈加迅速,对公路养护效果和应用的需求也越来越大,养护技术必须做好提前性预防,在公路路面良好时做好计划,才能起到重要的保护作用。就此,笔者以预防性公路养护技术概述入手,着重分析预防性公路养护技术应用步骤与应用措施同大家共同探讨。  关键词:预防性养护技术;现代高速公路;技术概述;步骤;应用措施研究  1.引言  随着现代化社会的迅速发展,人们对高速公路的结构性能质量要求与强度
期刊
摘要:水运工程标准项目《航道养护专项定额》具有地域的特殊性,行业的特色性,使用上的精细化。本文通过对《专项定额》的具体探析说明其编制的迫切性和使用上的科学化及可行性。  关键词:水运工程标准项目《航道养护专项定额》;水运定额编制;科研项目  中图分类号:U62.1+9 文献标识码:A  一、目的和意义  水运具有运能大、能耗低、安全环保等优势,国家高度重视水运发展,已将发展水运工程归类为国家重点项
期刊
摘要:随着化工技术的不断快速发展,化工生产效率不断提高,由此产生的能源消耗和环境污染问题日益严重。在化工实际生产过程当中,有必要对其生产工艺进行改进,研究节能降耗技术,设计合理的工艺流程。只有提高化工技术水平和技术水平,才能实现资源的可持续发展和生态建设。本文对化工过程中常用的节能降耗方法进行了分析和探讨。  关键词:化工工艺;节能;降耗技术;措施  近年来,由于现代技术的蓬勃发展和可持续发展战略
期刊
摘要:目前,随着社会的不断发展,科学技术的不断提高,我国的电子信息技术得到了很好的发展。在信息科学技术广泛应用下,我国的电子信息技术也朝着数字化网络化方向进步,电视技术也越来越先进,电视技术逐步实现了由模拟技术向数字技术的转变。与此同时,人们对电视的要求也越来越高,不仅要求电视的高智能化、网络化,还对电视的清晰度有着更高的期求。因此,高清电视在家电市场中应运而生。  关键词:高清电视技术;发展现状
期刊