基于CNN与规则匹配的广告类中文短小文本信息识别
2019-04-27殷越
殷越
摘 要:随着互联网越来越深入生活的方方面面,越来越多的人开始积极参与互联网上的各种互动行为。互联网上也有越来越多的地方允许人与人之间通过文本的形式进行互动。但伴随着文本互动行为的规模不断扩大,也对网站的管理人员造成了逐渐增长的压力。广告类行为相比其他垃圾行为而言,背后有着利益进行驱动。大量的广告信息对管理者的管理方式造成了挑战。为了缓解这些问题,该文构造了一种规则匹配与卷积神经网络(CNN)结合的广告类短小文本信息识别方法,取得了较好的识别效果。
关键词:CNN NLP 广告 分类 自然语言处理
中图分类号:TP393 文献标识码:A 文章编号:1672-3791(2019)01(b)-00-04
1 背景介绍
目前对此类识别短小文本信息进行识别,方法大致有3种:(1)基于语义理解的方法;(2)使用基于标签的方法;(3)使用机器学习方法进行分类。该文主要探寻使用主流的机器学习分类技术与规则过滤方法通过自动识别广告类文本信息解决传统手段对于文本互动的管理问题。关于分类问题,有一些常见算法可供选择:Naive Bayes、AdaBoost、Gradient boosting、卷积神经网络(CNN)等。尽管文本分类是自然语言处理(NLP)领域的经典问题[1],但在实际应用中,大多数运营者仍然采用传统的人工方式或人工方式加简单关键词进行过滤。但这种管理手段效率低下,无法及时过滤迅速产生的海量短小文本互动信息,影响互动功能的正常使用。很多论坛可能一夜之间,就被机器人发送的大量广告信息充斥着版面。增大了用户浏览和查找正常内容的困难。尽管招聘专人对论坛版面管理是个不错的选择,但专人成本高,负荷量大,管理困难,而且未必能在第一时间处理问题。如今,用户生成内容成为互联网上的重要信息来源。因此采用一些技术手段自动对用户发出的文本内容做初步的筛选和过滤,提高网站对于文本互动中的广告类短小文本信息的管理效率,保障互动功能的正常使用成为了迫切的需求,如图1所示。
2 研究现状分析
广告类短小文本信息是指广告类的评论、留言、或者公共板块的即时通信信息。针对广告类短小文本信息的自动识别现在主要有以下几种方法:(1)采用验证码等方式;(2)基于关键词、链接数量等特征的自动识别方法等。
研究人员目前对垃圾文本信息的识别做了大量的工作,取得了长足的进步,Liu等从评论、用户行为、商品3个角度提取特征项,对非评论的无关文本以及只涉及商品品牌而无关商品本身的垃圾评论进行识别,较好地识别了英文领域中存在的无用评论,但由于中英文之间存在差异,往往英文领域的垃圾识别方法不能直接有效地应用到中文领域当中。邱云飞等及吴敏等分别从用户行为、商品特征的显著性以及评论是否有用等角度对垃圾评论的识别进行了研究。但以上研究大多仅仅适用于特定使用场景(例如商品评论)的广告文本识别,很难应用到其他领域。也有人指出大部分实验室研究数据都是小样本,并且很多都是手动添加标签,具有很大的误差。大多数研究仅停留在理論、模型构建、实验测试,数据量小主观性强。
3 研究目的和预期成果
由研究现状分析可见,当前的主要研究方向主要集中在对特定场景的垃圾评论分析,例如,微博和电子商务平台,但在真实的互联网上,还存在着大量综合性论坛。如综合性论坛网站百度贴吧,其有超过22500000个贴吧,用户量超过15亿。市面上也有诸多通用论坛模板,例如Crossday Discuz! Board、phpwind、Ucenter home等。在这些综合性论坛中发布的帖子等广告类中文短小文本信息识别与产品/微博的评论识别有很大不同:(1)综合性论坛中一般没有固定的话题,并且讨论无关内容一般也是允许的;(2)当前的研究多要求使用用户的历史行为数据而不是对文本进行单独的分析,然而一旦基于历史行为进行分析,很容易导致同一段文本,A用户发送的被视为广告文本而被阻止,B用户则未被阻止。在论坛等开放讨论环境中易引起用户的不满。并且,对数据(诸如用户历史行为数据等)更多的要求会加大应用研究成果的难度。论坛与电子商务相比较而言,论坛的注册大多是低门槛的,广告信息发布者可以通过低成本地建立另一个账号的方式规避对历史行为数据的分析。同时,还存在诸多含有评论功能的小型网站/个人网站/网站模板。对于这类网站,应存在一种适配简单、针对性不强的通用广告类中文短小文本信息检测方法。
因此,有必要实现一种快速高精度的识别方法,其只依赖文本内容本身进行识别,且仅需识别主要的广告类中文短小文本即可,从而缓解人工识别时效性低、成本高的缺点。
4 规则匹配
为了对大多数广告类中文短小文本进行初步的过滤,我们首先构造规则匹配方法进行特征建模和特征提取。
4.1 广告类短小文本的特征建模和特征提取
对于广告类的文本信息一般都包含一些比较明显、独特的关键词,例如,一条广告类的文本信息:“满额立减不玩儿虚的,超值会员盛宴仅剩3天”,其中就包含与商业广告非常相关的关键词:“满额立减”“会员”“超值”,这些关键词对广告类文本的识别是非常重要的特征。故根据大量的广告类文本信息构造了关键词列表,对包含此类关键词频率较高的文本信息进行初步的过滤。
一般广告类的文本信息主要以获取商业利益为主要目的,所以该类信息中不仅含有比较明显、独特的关键词,并且在信息中一般还包含URL、QQ号、微信、电话号码等联系方式.例如,“【BV原创设计复古度假沙滩高腰V领大摆仙女网纱吊带蓬蓬连衣裙女夏】https://m.tb.cn/h.3MpMLQ4?sm=5a7a87点击链接,再选择浏览器咑閞;或復·制这段描述¥BXn3bmeFCQP¥后到淘♂寳♀”“3D仙侠手游火热内测中,上线就得极品仙器一件,永不删档 url.cn/ABCDEFG”。该文通过构造正则表达式来检验一条文本中是否存在该类信息,并结合关键词频率进行初步的过滤。
4.2 卷积神经网络(Convolutional Neural Network)
CNN是机器学习中一类深度前馈人工神经网络,最常用于分析视觉图像,后来逐渐被应用于自然语言处理和文本分析。
CNN是一种模仿生物神经网络的结构和功能的数学模型或计算模型,用于对数据所服从的真实分布函数进行估计或近似。相比传统的神经网络,CNN增加了一个或多个卷积层、池化层和顶端的全连接层。
从整体结构而言,CNN像常规的神经网络一样,大体的结构主要分为输入层、隐层、输出层。卷积层、池化层和全连接层都属于隐层。卷积神经网络的每层神经元与下一层神经元全互连,神经元之间不存在同层连接,也不存在跨层连接,如图2所示。
卷积神经网络作为深度学习的优秀模型有着良好的容错能力、并行处理能力和自学能力。广泛用于处理不清楚背景知识,不明确推理规则的问题,能够适应具有较大缺损、畸变的样本数据,具有良好的鲁棒性和运算效率。
该文采用TensorFlow 1.9构建该文所述的CNN模型。TensorFlow是一个开源软件库,主要用于机器学习和深度神经网络方面的研究,也可广泛用于其他计算领域。它是Google基于DistBelief进行研发的第二代人工智能学习系统。
首先我们尝试对数据使用结巴分词进行分词处理,采用Word2vec进行处理,用Text-CNN进行分类,但效果不佳,通过多次尝试,我们最终选择了Char-CNN算法。最终构建的网络简图如图3所示。
第一个网络层是输入层,这一层采用Word embedding的方法将词汇索引向低维度的词向量进行映射,起到降维作用。它本质是一个从数据中学习得到的词汇向量表,是一种特征提取器。
卷积层有局部连通性,可以用来消除局部相关性(比如在数据集中“我”后面一定跟着“们”,那么“们”这个信息就可以被删减)。降低数据量以准备进入全连接层。
池化层用来选取卷积结果计算后的最强特征。池化可自适应输入宽度从而将不同长度的输入转化为统一长度的输出并起到降低数据量的目的。这里采用的是最大池化。
全连接层,隐含语义表达,把上一层有用的信息提取整合。在两个全连接层之间会进行一次dropout。它会根据一定的概率“禁用”某些神经元的发放。这种方法可以防止神经元共同适应一个特征,而迫使它们单独学习有用的特征来缓解过拟合问题。
5 实验结果与分析
5.1 实验数据集
通过自行开发的一个网络爬虫,我们从互联网中收集到了50000用户互动文本信息(如評论或即时通讯聊天记录)和50000条广告,总数100000条。我们取正常评论和广告各40000条组成训练数据集。剩下的作为验证集和测试集。
5.2 实验环境
该文实验采用的编程语言是Python,运行环境是Python 3.6 4Ghz Intel Core i7 16GB 2666Mhz DDR4 NVIDIA GeForce GTX 1080。
5.3 实验结果
我们通过随机从训练集中抽取指定数量的样本,进行了实验1,比较了不同算法达到准确率所需要的训练次数。其中Method 1是采用朴素贝叶斯实现的广告信息过滤器,Method 2是采用Gradient boosting与决策树结合实现的广告信息过滤器,Method 3是该文采用的方法,但没有加入规则过滤,如图4所示。
深度学习在不同样本容量下准确度均有较大的优势,并且一直成上涨趋势,可以推测,如果样本量进一步增长,准确度还可以继续提升。
将该文实验的方法与其他主流机器学习方法实验的分类器进行比较,进行实验2,其中Method4是该文采用的方法并加入规则匹配,如图5所示。
可以看出Method1、Method2在指标上基本接近,并且弱于其他方法。Method3的各项指标位居第二。而Method4也就是该文的方法在准确度、F1、正常文本准确率、正常文本查全率4个指标中都高于其他方法。
6 结语
该文的创新点在于使用了Char-CNN以及规则匹配进行短小文本的分类,探索了一种可以有效识别广告类中文短小文本信息的方法。通过使用实际数据对比多种文本分类技术在广告类中文短小文本信息识别的效果,该文所提出的方法在准确度上优于传统方法。
但当样本容量过小时,该文的方法的识别率较低,因此,下一步工作可考虑采用相应方法降低算法对训练样本量的要求,并结合一些其他相关技术,进一步提高算法的识别准确率。
希望未来可以继续完善本文工作,最终将该技术应用到实际生产环境(例如综合性论坛、论坛模板、小型网站及个人网站)中,较大地减轻了管理员的数据处理压力,提升了管理效率。
参考文献
[1] 田雅.社交网络下的垃圾信息处理算法研究[D].山东师范大学,2017.
[2] 李京蔚.在线商品垃圾评论发布动机影响因素研究[J].企业技术开发,2016,35(5):72,75.