原标题:原力大数据|文本分类模型的技术原理及实践流程
文本分类概述
在这个信息爆炸的时代,非结构化的文本数据正在急剧增加,面对海量文本信息,如果仅凭人工方式来收集和挖掘文本数据,不仅需要消耗大量的人力和时间,而且也是很难实现的。于是,实现自动文本分类就显得尤其重要。
文本分类技术(TextCategorization,TC)作为组织和管理文本信息的有效手段,主要任务是自动分类无标签文档到预定的类别集合中。
文本分类应用领域
- 信息过滤:
- 对获取的信息进行二分类的处理,将用户不感兴趣、不需要的信息过滤掉。垃圾邮件过滤、垃圾短信过滤、新闻选择等都是信息过滤的典型应用。
- 信息检索:
- 使用文本分类技术把大量的文本信息按主题层次归类组织,可以极大地提升信息检索的效率。
- 舆情系统:
- 舆情系统中文本主题的分类、情感倾向性分析等业务场景的核心技术就是文本分类技术。
除了以上列举的应用领域之外,文本分类还在数字图书馆、搜索引擎、网络论坛、智能问答、智能信息推荐等领域中有着广泛的应用前景。
本文从原力大数据中文文本分类的实践出发,以垃圾短信自动分类模型为例子,简单介绍了文本分类技术的技术原理及实战流程。
文本分类过程
文本分类的本质是分类问题,分类问题包括学习和分类两个过程,学习过程的目标是根据已知的训练数据构建分类模型,得到分类器;分类过程的任务是利用学习得到的分类器,预测新数据实例的类标号。
下图是分类问题的描述图:
文本分类两个问题
分类系统以训练数据为基础,从中学习得到分类器模型,它处理的对象是文本,任务是将新输入文本自动划分到一个或多个预先定义的类别中。因此,文本分类问题可以简略用下图表示:
文本分类简图
从上图可以看出,文本分类中包含两个关键问题:一是文本表示,二是分类器设计。
文本分类技术实现
整体实现思路如下图:
整体实现思路
1、预处理
预处理在文本分类的流程中,是对文本清洗、分词、去除停用词等一系列操作的统称。预处理可以减少文本的噪声信息,提高文本表示的质量。
预处理之前的文本样例如下图所示:
- 文本清洗:
- 清洗无意义的文本数据,或其它的冗余信息,将某些特殊符号进行转换。如上图所示,文本内容中出现了很多除中文之外的字符,如标点符号、数字、字母等等,这些符号有少部分是具有信息的,如‘http’字符串代表了网址,需要进行特殊转换,故可以把它替换成‘网址’;
- 除此之外大部分的特殊符号对于文本分类任务来说应该是冗余的无意义信息,所以需要将它们删除,从而避免干扰分类器性能,同时也可以减少分类负担。
- 分词:
- 由于中文不像英文那样具有天然的分隔符,所以一般情况下,中文自然语言处理的第一步就是要对语料进行分词处理。常见的分词工具有结巴分词、HanLP、SnowNLP等等。本模型采用的是结巴分词工具。
- 去除停用词:
- 停用词(Stop Words)经常出现在文档中,却没有具体的实际意义。在中文文档中如“啊”、“在”、“的”之类。这些词也可称作虚词,包含副词、冠词、代词等,在文档中使用十分广泛,但却难以对文档分类提供帮助。
- 因此,在研究文本分类等数据挖掘问题时,经常会将它们预先剔除,既可以减少存储空间、降低计算成本,又可以防止它们干扰分类器的性能。
本模型采用的是具有1208个字符的停用词列表,示例如下:
经过文本清洗、分词、去除停用词之后
形成文本数据如下图所示:
2、文本表示
文本表示的任务就是将文本信息表示成计算机可以处理的结构化信息,常用文本表示模型有向量空间模型(如tf-idf表示法)、神经网络嵌入模型(如word2vec表示法)、主题模型(如LDA表示法)。
本模型采用的是向量空间模型中的tf-idf表示法。
向量空间模型:向量空间模型是将文本表示成实数值分量所构成的向量,一般而言,每个分量对应一个词项,相当于将文本表示成空间中的一个点。最常用的是TF-IDF计算方式,即向量的维度对应词表的大小,对应维度使用TF-IDF计算。
TF-IDF的主要思想:如果某个词或短语在一篇文章中出现的频率TF高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类。
TFIDF实际上是:TF*IDF,TF词频(TermFrequency),IDF逆向文件频率(InverseDocument Frequency)。
TF表示词条在文档d中出现的频率。IDF的主要思想是:如果包含词条t的文档越少,也就是n越小,IDF越大,则说明词条t具有很好的类别区分能力。
某一特定文件内的高词语频率,以及该词语在整个文件集合中的低文件频率,可以产生出高权重的TF-IDF。
因此,TF-IDF倾向于过滤掉常见的词语,保留重要的词语。
3、特征降维
文本集合中的每个单词都有可能成为特征,如果单词的数目非常多,虽然经过了预处理去掉了停用词等对分类没有太大实际帮助的词,但是向量的维数仍然过高,会导致文本分类时的时空复杂度过高,影响分类效果,形成维度灾难。
因此,为了降低分类运算的开销,对文本中的特征进行降维操作是势在必行的。
特征提取(Feature Extraction)和特征选择都是降维的方法。特征提取的方法主要是通过属性间的关系,如组合不同的属性得到新的属性,这样就改变了原来的特征空间。
特征选择的方法是从原始特征数据集中选择出子集,是一种包含的关系,没有更改原始的特征空间。
本模型首先采用n-gram方法(n取2)构造新的特征,然后采用tf-idf权重作为衡量标准,筛选了排行靠前2万个特征用于训练。
经过特征降维之后的特征示例如下图所示:
4、文本分类器设计
分类器应该尽量符合不同数据集的特性,可以很好的为未知类别的文本分配正确的类标签,主流的分类方法有3种:
传统机器学习方法,该方法使用特征表示文本,而不考虑文本语言结构,是建立在有指导的机器学习基础上的,在对有标签的训练样本分析后,获得特征与类别之间泛化关系的分类模型,也称为预测模型或简称为分类器,以便于预测未知样本的类别标签;
该类型的方法主要包括:朴素贝叶斯、K最近邻、支持向量机等。
基于规则的分类方法,该分类方法出现的较早,主要对数据集分析,然后确定每个类别的分类规则,如 if-then 规则等,然后利用抽取出的规则确定待分类文本所属的类别;
该类型的方法主要包括:决策树,关联规则等。
此外,还有一种基于连接的分类方法,主要指的是人工神经网络( ANN),它利用人工神经网络模拟人类的大脑系统,给每类文本建立一个神经网络,希望分类器可以像大脑一样工作,其输入通常是词等特征向量表示,进行非线性处理。
由于人工神经网络具有高容错性,和全局并行的运算特征,适合学习复杂的非线性模型。
本模型中采用了基于统计的分类方法,选用的机器学习算法是朴素贝叶斯算法。
朴素贝叶斯算法(NaiveBayes)是基于贝叶斯定理与特征条件独立假设的分类方法。对于给定的训练数据集,首先基于特征条件独立假设学习输入/输出的联合概率分布;
然后基于此模型,对给定的输入 x,利用贝叶斯定理求出后验概率最大的输出 y。朴素贝叶斯算法在文本分类领域中应用由来已久,历来因其效果显著、性能优越的特点为人们所称道。
5、性能评价
对于构建的分类器,为了验证该分类器性能的优劣,需要进行测试和评价。常见的评估指标有准确率、AUC、查全率、查准率、F1值等等。
本次搭建的垃圾短信分类模型,正样本准确率(即查准率)达到了90%以上,总体准确率达到98%以上。
文本分类技术的9大应用场景
文本分类技术被广泛应用于信息过滤、邮件分类、搜索引擎、查询意图预测、主题跟踪、文本语料库构建等多个领域,可以减少人工和时间开销,方便用户所需信息的快速定位,解决杂乱数据的分类问题。
文本分类技术只是文本挖掘技术中的一种基础技术,随着大数据时代的到来,文本挖掘和文本分析技术与人们的工作、生活越来越密切相关,已经被广泛应用于以下9大场景:
- 风险管理
无论是哪个行业,风险分析不足通常都是失败的主要原因,在金融行业尤其如此。采用基于文本挖掘技术的风险管理软件可以显着提高降低风险的能力,实现数千个来源的文本文档的完整管理
- 知识管理
管理大量文本文档时,一个很大的问题就是——无法快速地找到重要的信息。例如,对于医疗行业来说,研发一个新的产品可能同时需要近十年的基因组学和分子技术研究报告。此时,基于文本挖掘的知识管理软件为此种“信息过剩”情况提供了有效的解决方案。
- 网络犯罪预防
如今,互联网的匿名性和网络交流的便利性使得网络犯罪的数量大大提升。但是,文本挖掘情报和反犯罪应用的发展让政府能更好地预防此类案件的发生。
- 客户服务
文本挖掘和自然语言处理是在客户服务领域常被使用的技术。如今,利用调查、故障单、用户反馈等有效信息,文本挖掘技术可以用来改善客户体验,为客户提供快速高效的解决方案,以期减少客户对帮助中心的依赖程度。
- 通过索赔调查进行欺诈检测
对任何采集信息作为文本的行业来说,文本挖掘是必不可少的技术之一。保险公司正在利用文本挖掘技术,将文本分析结果与结构化数据相结合,以防止欺诈和迅速处理索赔。
- 情境广告
数字广告是文本挖掘的新兴领域。Admantx公司将文本挖掘技术定为上下文重定向的核心引擎,并因此取得了巨大的成功。与传统的基于cookie的方法相比,上下文广告有更高的准确性,并完全保护了客户的隐私。
- 商业智能
在公司的决策制定上,文本挖掘技术起了极大的作用。该技术使得数据分析师面对庞大的内部和开源数据时,能快速地得到答案。例如,诸如Cogito的智能平台能够监控成千个数据来源并分析大量数据,以便从中提取相关信息。
- 垃圾邮件过滤
对于互联网提供商来说,垃圾邮件增加了服务管理和软件更新的成本;对于用户来说,垃圾邮件是病毒的入口,是浪费生产时间的元凶。文本挖掘技术可以提高基于统计的过滤方法的有效性,以达到过滤垃圾邮件的目的。
- 社交媒体数据分析
如今,社交媒体是大多数非结构化数据的产源地。公司可以使用这些非结构化数据去分析和预测客户需求并了解客户对其品牌的看法。通过分析大量非结构化数据,文本分析能够提取意见,了解情感和品牌之间的关系,以帮助公司的发展。
欢迎在@原力大数据 公众号后台回复“原力介绍”获取《原力大数据Martech能力地图》、《原力大数据产品手册》。游戏网
责任编辑: