Press "Enter" to skip to content

文本分类:互联网内容王国的锦衣卫

一、文本分类与内容审核

 

内容是互联网公司线上业务流转的血液,重视内容生产也是各家互联网公司的常态,但是在追求内容量的同时,控制内容的质也是不可或缺的,因为内容是直接广播给亿万普通用户的,所以内容审核也是所有互联网公司要面临的难题。面对海量的内容,要做到自动高效地审核,文本分类就是一项关键技术,堪称互联网内容王国的锦衣卫。

 

文本分类作为NLP领域最经典的使用场景之一,已经积淀了许多方法,大致可以分为三类。

 

第一种是最早的专家规则(Pattern)方法,这种方法可以短平快的解决top问题,但覆盖的范围和准确率都非常有限。

 

第二种就是统计学习方法。在线文本数量增长和机器学习的兴起,一套‘人工特征工程+浅层分类模型’的方式逐渐形成,用来解决大规模文本分类问题。这一阶段主要的的特征表示方法为one-hot,连续词袋模型BOW,tfidf等等,主要的分类模型包括SVM,贝叶斯,决策树等等。

 

第三种就是深度学习方法,目的为了解决文本表示高纬度、高稀疏的特征表达能力弱,文本上下文依赖问题。google的Mikolov提出的word2vec词向量及工具包的开源,推动了文本语义的研究,与此同时,提出了Hierarchical Softmax 和 Negative Sample两个方法,很好的解决了计算效率问题。脱胎于word2vec,诞生了一个fasttext模型。强有力的词向量的表示方法,使得文本可以转化为类图片的稠密数据,从而诞生了基于cnn的模型,例如textcnn;为了解决文本上下文依赖问题,循环神经网络RNN,LSTM,BiLSTM等模型被应用。

 

基于此,本文将浅探SVM,fastText, GDBT三个常见文本分类模型在产业互联网内容审核业务中的实践效果。

 

二、相关技术

 

2.1.svm

 

支持向量机(svm)通过寻找一个超平面来对样本进行分割,分割的原则是间隔最大化,最终转化为一个凸二次规划问题来求解。通常有三种情况:

 

一、样本线性可分时,通过硬间隔最大化;

 

二、为了解决一些outliers,引入松弛变量,增强容错率,采用软间距;

 

三、为了解决线性不可分的样本,引入核函数,将原始样本映射到一个高维空间,从而使其线性可分。

 

这三种情况的描述如下:

 

 

为了更容易地求解支持向量的优化问题,和自然地引入核函数,应用拉格朗日对偶性将原始问题转化为对偶问题进行求解,线性可分svm原始问题与对偶问题对应关系如下:

 

 

在内容审核中,首先提取房评的tfidf特征,然后进行简单的svm分类,相关代码:

 

2.2.fasttext

 

脱胎于word2vec的fastText主要包含三部分,模型架构 , 层次SoftMax和N-gram特征。原理是把句子中所有的词向量进行平均,然后直接接softmax层。与此同时,加入了一些n-gram特征来捕获局部序列信息。相关原理图如下:

 

 

 

在内容审核中,先将内容信息分词,然后用调用fasttext,命令如下:

 

2.3 GBDT

 

梯度提升决策树(GDBT)采用加法模型,不断减小训练过程产生的残差来达到将数据分类或者回归的算法。GBDT通过多轮迭代,每轮迭代产生一个弱分类器,弱分类器一般为CART TREE(分类回归树),每个分类器在上一轮分类器的残差基础上进行训练。最终的总分类器 是将每轮训练得到的弱分类器加权求和得到的。模型最终可以描述为:

 

 

在内容审核中,对于不同的文本进行不同的处理,对于基础信息的类型字段做onehot特征处理,标签字段counter2vector特征处理,以及城市字段做onehot特征处理,对于内容详情分字段处理特征,关键词特征,从人工审核人员标红的内容中提取tfidf特征等,具体如下图所示:

 

 

特征工程相关代码:

 

模型代码:

 

三、实验对比

 

首先,拉取数据库中的全量数据,统计各审核类型的占比。

 

其次,根据处理人字段,筛选出优秀审核人员的数据。

 

然后,对全量数据进行清洗,将明显的错误样本数据过滤掉,主要通过做了两部处理;一、关键词过滤明显判错的样本,二、采用simhash去掉两个字段完全相同但判错的样本。

 

再者,根据全量数据分布随机抽取各类数据;最后,构建了与线上分布一致的数据集。数据处理的流程如下:

 

 

随机拉取了1000条数据用于验证。审核类型有11种,对于不同类别的要求,审核方给了详细的文档,根据文档说明,总结了各类的相关规则;整个项目流程是先规则审核,规则处理不了的,通过模型处理。

 

以上三种模型在此1000条数据上的效果如下:

 

 

模型 准确率 召回率 F1
SVM 0.9 0.81 0.85
fastText 0.9 0.8 0.85
GDBT 0.9 0.84 0.87

 

从上表可以得出如下结论:在内容审核项目中,由于树模型与该问题决策过程比较吻合,且提取了大量可描述错误信息的特征,故性能表现较好。对于需要审核的内容,各字段描述的信息具有一致性,通过样本与不通过样本差异不明显,无明显语义区别,故而fasttext性能不佳。SVM是基于距离来优化模型的,对于离散型的特征,即使归一化了,计算距离时,影响较大,会导致效果不佳。

 

四、踩过的坑

 

 

尽管一般增加样本有防止过拟合、提高模型的识别能力等等优点,当训练样本大于2w条时,SVM会很吃力;当训练数据量比较大时,离群点变多时,也会导致SVM性能不佳。

 

数据分布很重要,但采样的数据分布差异较大时,评估的结果会存在较大的差异,数据集划分很重要。

 

 

五、参考文献

 

[1]李航统计方法学(第七章SVM)

 

[2] https://arxiv.org/pdf/1301.3781.pdf (word2vec)

 

[3] https://arxiv.org/pdf/1411.2738.pdf (word2vec)

 

[4] https://arxiv.org/pdf/1607.01759v2.pdf (fasttext)

 

[5] https://projecteuclid.org/download/pdf_1/euclid.aos/1013203451 (gdbt)

 

作者介绍

 

江霜艳,2019年1月毕业于哈尔滨工业大学智能计算研究中心,毕业后加入贝壳语言智能与搜索部,主要从事意图理解、内容审核等工作。

 

 

Be First to Comment

发表评论

电子邮件地址不会被公开。 必填项已用*标注