写点什么

文本数据的机器学习自动分类方法 (下)

  • 2016-01-25
  • 本文字数:5797 字

    阅读完需:约 19 分钟

【编者按】:随着互联网技术的迅速发展与普及,如何对浩如烟海的数据进行分类、组织和管理,已经成为一个具有重要用途的研究课题。而在这些数据中,文本数据又是数量最大的一类。以统计理论为基础,利用机器学习算法对已知的训练数据做统计分析从而获得规律,再运用规律对未知数据做预测分析,已成为文本分类领域的主流。InfoQ 联合“达观数据“共同策划了《文本大数据的机器学习自动分类方法》系列文章,为您详细阐述机器学习文本分类的基本方法与处理流程。

本文为第二部分,着重介绍特征向量权重的影响因素以及样本训练和分类评估方法。第一部分内容点击此链接阅读

随着互联网技术的迅速发展与普及,如何对浩如烟海的数据进行分类、组织和管理,已经成为一个具有重要用途的研究课题。而在这些数据中,文本数据又是数量最大的一类。首先来回顾一下上一篇所提到的文本分类的流程,如图 1 所示,包括训练、特征抽取、训练模型、分类预测等几个主要环节。

图 1 文本分类流程图

(一):特征向量权重的影响因素

特征权重用于衡量某个特征项在文档表示中的重要程度或区分能力的强弱。选择合适的权重计算方法,对文本分类系统的分类效果能有较大的提升作用。影响特征词权值的因素包括以下几点:

1. 词频和文档频度

词频和文档频度,是特征项最重要的影响因素。文本内中的中频词往往具有代表性,高频词区分能力较小,而低频词或者示出现词也常常可以做为关键特征词。而对于文档频度这一角度,出现文档多的特征词,分类区分能力较差,出现文档少的特征词更能代表文本的不同主题。结合词频和文档频度来评估特征的重要性有较强的区分能力,它们在不同方法中有不同的应用公式,这些方法包括:绝对词频(TF)、倒排文档频度(IDF)、TF-IDF、TFC、ITC、TF-IWF,如下:

  • 绝对词频(TF):直接使用特征项在文本中出现的频度;
  • 倒排文档频度(IDF):稀有特征比常用特征含有更新的信息;
  • TF-IDF: 权重与特征项在文档中出现的频率成正比,与在整个语料中出现该特征项的文档书成反比;
  • TFC:对文本长度进行归一化处理后的 TF-IDF;
  • ITC:在 TFC 基础上,用 tf 的对数值代替 tf 值;
  • TF-IWF:在 TF-IDF 算法的基础上,用特征项频率倒数的对数值 IWF 代替 IDF,并且用 IWF 的平方平衡权重值对于特征项频率的倚重。

2. 词性

汉语言中,能标识文本特性的往往是文本中的实词,如名词、动词、形容词等。而文本中的一些虚词,如感叹词、介词、连词等,对于标识文本的类别特性并没有贡献,也就是对确定文本类别没有意义的词。如果把这些对文本分类没有意思的虚词作为文本特征词,将会带来很大噪音,从而直接降低文本分类的效率和准确率。因此,在提取文本特征时,应首先考虑剔除这些对文本分类没有用处的虚词,而在实词中,又以名词和动词对于文本的类别特性的表现力最强,所以可以只提取文本中的名词和动词作为文本的一级特征词。

3. 标题

标题是作者给出的提示文章内容的短语,特别在新闻领域,新闻报道的标题一般都要求要简练、醒目,有不少缩略语,与报道的主要内容有着重要的联系,对摘要内容的影响不可忽视。统计分析表明,小标题的识别有助于准确地把握文章的主题。主要体现在两个方面:正确识别小标题可以很好地把握文章的整体框架,理清文章的结构层次;同时,小标题本身是文章中心内容的高度概括。因此,小标题的正确识别能在一定程度上提高文摘的质量。

4. 位置

美国的 EE.Baxendale 的调查结果显示:段落的论题是段落首句的概率为 85%,是段落末句的概率为 7%。而且新闻报道性文章的形式特征决定了第一段一般是揭示文章主要内容的。因此,有必要提高处于特殊位置的句子权重,特别是报道的首旬和末句。但是这种现象又不是绝对的,所以,我们不能认为首句和末句就一定是所要摘要的内容,因此可以考虑一个折衷的办法,即首句和末句的权重上可通过统计数字扩大一个常数倍。首段、末段、段首、段尾、标题和副标题、子标题等处的句子往往在较大程度上概述了文章的内容。对于出现在这些位置的句子应该加大权重。Internet 上的文本信息大多是 HTML 结构的,对于处于 Web 文本结构中不同位置的单词,其相应的表示文本内容或区别文本类别的能力是不同的,所以在单词权值中应该体现出该词的位置信息。

5. 句法结构

句式与句子的重要性之间存在着某种联系,比如摘要中的句子大多是陈述句,而疑问句、感叹句等则不具内容代表性。而通常“总之”、“综上所述”等一些概括性语义后的句子,包含了文本的中心内容。

6. 专业词库

通用词库包含了大量不会成为特征项的常用词汇,为了提高系统运行效率,系统根据挖掘目标建立专业的分词表,这样可以在保证特征提取准确性的前提下,显著提高系统的运行效率。用户并不在乎具体的哪一个词出现得多,而在乎泛化的哪一类词出现得多。真正起决定作用的是某一类词出现的总频率。基于这一原理,我们可以先将词通过一些方法依主题领域划分为多个类,然后为文本提取各个词类的词频特征,以完成对文本的分类。可以通过人工确定领域内的关键词集。

7. 信息熵

熵 (Entropy) 在信息论中是一个非常重要的概念,它是不确定性的一种度量。信息熵方法的基本目的是找出某种符号系统的信息量和多余度之间的关系,以便能用最小的成本和消耗来实现最高效率的数据储存、管理和传递。我们将可以将信息论中的熵原理引入到特征词权重的计算中。

8. 文档、词语长度

一般情况下,词的长度越短,其语义越泛。一般来说,中文中词长较长的词往往反映比较具体、下位的概念,而短的词常常表示相对抽象、上位的概念一般说来,短词具有较高的频率和更多的含义,是面向功能的;而长词的频率较低,是面向内容的,增加长词的权重,有利于词汇进行分割,从而更准确地反映出特征词在文章中的重要程度。词语长度通常不被研究者重视,但是本文在实际应用中发现,关键词通常是一些专业学术组合词汇,长度较一般词汇长。考虑候选词的长度,会突出长词的作用。长度项也可以使用对数函数来平滑词汇间长度的剧烈差异。通常来说,长词汇含义更明确,更能反映文本主题,适合作为关键词,因此将包含在长词汇中低于一定过滤阈值的短词汇进行了过滤。所谓过滤阈值,就是指进行过滤短词汇的后处理时,短词汇的权重和长词汇的权重的比的最大值。如果低于过滤阈值,则过滤短词汇,否则保留短词汇。根据统计,二字词汇多是常用词,不适合作为关键词,因此对实际得到的二字关键词可以做出限制。比如,抽取 5 个关键词,本文最多允许 3 个二字关键词存在。这样的后处理无疑会降低关键词抽取的准确度和召回率,但是同候选词长度项的运用一样,人工评价效果将会提高。

9. 词语间关联

词汇间的关联关系对提升文本理解的深度有非常重要的影响,例如中文中存在大量的同义词,近义词,中文简称,指代等。在前文中计算词频、出现位置时,如果没有很好的考虑词语间关联,则很容易错误的识别文章的核心关键词,影响文本分类精度。

10. 单词的区分能力

在 TF*IDF 公式的基础上,又扩展了一项单词的类区分能力。新扩展的项用于描述单词与各个类别之间的相关程度。

11. 词语直径 (Diameter(t))

词语直径是指词语在文本中首次出现的位置和末次出现的位置之间的距离。词语直径是根据实践提出的一种统计特征。根据经验,如果某个词汇在文本开头处提到,结尾又提到,那么它对该文本来说,是个很重要的词汇。不过统计结果显示,关键词的直径分布出现了两极分化的趋势,在文本中仅仅出现了 1 次的关键词占全部关键词的 14.184 %。所以词语直径是比较粗糙的度量特征。

12. 首次出现位置 (FirstLoc(t))

Frank 在 Kea 算法中使用候选词首次出现位置作为 Bayes 概率计算的一个主要特征,他称之为距离 (Distance)。简单的统计可以发现,关键词一般在文章中较早出现,因此出现位置靠前的候选词应该加大权重。实验数据表明,首次出现位置和词语直径两个特征只选择一个使用就可以了。由于文献数据加工问题导致中国学术期刊全文数据库的全文数据不仅包含文章本身,还包含了作者、作者机构以及引文信息,针对这个特点,使用首次出现位置这个特征,可以尽可能减少全文数据的附加信息造成的不良影响。

13. 词语分布偏差 (Deviation(t))

词语分布偏差所考虑的是词语在文章中的统计分布。在整篇文章中分布均匀的词语通常是重要的词汇。词语的分布偏差计算公式如下:其中,CurLoc(tj) 是词汇 t 在文章中第 j 次出现的位置;MeanLoc(t) 是词汇 t 在文章中出现的平均位置。

特征权重计算方法没有最好的选择,往往要依据现实的具体场景来选取适合的方法。在进行特征权重的计算之后,已经可以把测试集数据采用机器学习方法进行分类训练。但是实际操作会遇到一些问题。单词并不都包含相同的信息。如果在一部分文件中有些单词频繁地出现,那将扰乱分类系统的分析。我们想要对每一个词频向量进行比例缩放,使其变得更具有代表性。换句话说,我们需要进行向量标准化,譬如标准化向量使其 L2 范数为 1。某种程度上,我们得到了一个在该词的信息价值上衰减的结果。所以我们需要按比例缩小那些在一篇文档中频繁出现的单词的值 。

(二):样本训练和分类评估方法

1.样本训练

1.1 文本分类算法

由于文本分类本身是一个分类问题,所以一般的模式分类方法都可以用于文本分类应用中。常用的分类算法包括:

(1) Rocchio 分类器

Rocchio 分类器的基本思想是,首先为每一个训练文本 C 建立一个特征向量,然后使用训练文本的特征向量为每个类建立一个原型向量(类向量)。当给定一个待分类文本时,计算待分类文本与各个类别的原型向量之间的距离,然后根据计算出来的距离值决定待分类文本属于哪一类别。一个基本的实现方法就是把一个类别里的样本文档各项取个平均值,作为原型变量。

(2) 朴素贝叶斯分类器

利用特征项和类别的列和概率来估计给定文档的类别概率。假设文本是基于词的一元模型,即文本中当前词的出现依赖于文本类别,但不依赖于其他词及文本的长度,也就是说,词与词之间是独立的。根据贝叶斯公式,文档 Doc 属于 Ci 类别的概率为 P(Ci|Doc)=P(Doc|Ci)*P(Ci)/P(Doc)。

(3) 基于支持向量机的分类器

基于支持向量机(SVM)的分类方法主要用于解决二元模式分类问题。SVM 的基本思想是在向量空间中找到一个决策平面,这个平面能够“最好”地分割两个分类中的数据点。支持向量机分类法就是要在训练集中找到具有最大类间界限的决策平面,如图 2。

图 2 基于支持向量机分类器原理图

(4) k- 最近邻法

k- 最近邻方法的基本思想是:给定一个测试文档,系统在训练集中查找离它最近的 k 个邻近文档,并且根据这些邻近文档的分类来给该文档的候选类别评分。把邻近文档和测试文档的相似度作为邻近文档所在类别的权重,如果这 k 个邻近文档中的部分文档属于同一个类别,那么将该类别中每个邻近文档的权重求和,并作为该类别和测试文档的相似度。然后,通过对候选分类评分的排序,给出一个阈值。

(5) 基于神经网络的分类器

神经网络是人工智能中比较成熟的技术之一,基于该技术的分类器的基本思想是:给每一类文档建立一个神经网络,输入通常是单词或者更加复杂的特征向量,通过机器学习方法获得从输入到分类的非线性映射。

(6) 决策树

决策树分类器把文本处理过程看作是一个等级分层分解完成的复杂任务。如图 3,决策树是一棵树,树的根节点是整个数据集合空间,每个分结点是对一个单一变量的测试,该测试将数据集合空间分割成两个或更多个类别,即决策树可以是二叉树也可以是多叉树。每个叶结点是属于单一类别的记录。构造决策树分类器时,首先要通过训练生成决策树,然后再通过测试集对决策树进行修剪。一般可通过递归分割的过程构建决策树,其生成过程通常是自上而下的,选择分割的方法有很多种,但是目标都是一致的,就是对目标文档进行最佳分割。

图 3 决策树实例

1.2 Ensemble 方法

我们使用上述的经典分类算法的过程中,很自然的想到一点,我们是否能够整合多个算法优势到解决某一个特定分类问题中去?答案是肯定的。通过聚合多个分类器的预测来提高分类的准确率,这种技术称为 Ensemble 方法。Ensemble 方法是提升机器学习精度的有效手段。它的基本思想是充分利用不同分类器的优势,取长补短,最后综合多个分类器的结果。

Ensemble 可以设定一个目标函数 (组合多个分类器),通过训练得到多个分类器的组合参数 (而不是简单的累加或者多数)。在 Ensemble 框架下将分类器分为两个 Level:L1 层和 L2 层。L1 层是基础分类器,前面提到的分类器均可以作为 L1 层分类器来使用;L2 层基于 L1 层,将 L1 层的分类结果形成特征向量,再组合一些其他的特征后,形成 L2 层分类器(如 SVM,AdaBoost 等)的输入。这里需要特别留意的是用于 L2 层的训练的样本必须没有在训练 L1 层时使用过。

图 4 Ensemble 框架

2. 文本分类评估

针对不同的目的,多种文本分类器性能评价方法被提出,包括召回率、正确率和 F- 测度值。设定 a 表示分类器将输入文本正确分类到某个类别的个数;b 表示分类器将输入文本错误分类到某个类别的个数;c 表示分类器将输入文本错误地排除在某个类别之外的个数;d 表示分类器将输入文本正确地排除在某个类别之外的个数。

该分类器的召回率、正确率和 F- 测度值分别采用以下公式计算:

召回率 r = a / (a + c) * 100%
正确率 p = a / (a + b) * 100%
F- 测度值 F = (2 * p * r) /(p + r)

由于在分类结果中,对应每个类别都会有一个召回率和正确率,因此,可以根据每个类别的分类结果评价分类器的整体性能,通常方法有两种:微平均和宏平均。微平均是根据正确率和召回率计算公式直接计算出总得正确率和召回率值。宏平均是指首先计算出每个类别的正确率和召回率,然后对正确率和召回率分别取平均得到总的正确率和召回率。不难看出,宏平均平等对待每一个类别,所以它的值主要受到稀有类别的影响,而微平均平等考虑文档集中的每一个文档,所以它的值受到常见类别的影响比较大。

结语

如今我们正处在一个信息爆炸的时代,如何在这样一个巨大的信息海洋中更加有效的发现和使用信息以及如何利用这个信息宝库为人们提供更高质量和智能化的信息服务,是值得探讨的问题。自动文本分类技术作为处理和组织大量文本数据的关键技术,已经成为关注焦点,具有广泛的应用场景。

作者简介:张健,复旦大学计算机软件与理论硕士,现任达观数据联合创始人,曾在盛大创新院负责相关推荐模块,在盛大文学数据中心负责任务调度平台系统和集群维护管理,数据平台维护管理和开发智能审核系统。对大数据技术、机器学习算法有较深入的理解和实践经验。

2016-01-25 19:409241

评论

发布
暂无评论
发现更多内容

数据预处理利器 Amazon Glue DataBrew

亚马逊云科技 (Amazon Web Services)

数据 处理器

什么!Sentinel流控规则可以这样玩?

牧小农

sentinel SpringCloud Alibaba

开发者玩转机器学习不能错过的15篇深度文章!

阿里云大数据AI技术

算法 数据处理 算法框架/工具 机器学习/深度学习 搜索推荐

汇顶科技GR551x系列开发板已支持OpenHarmony

科技汇

创建自定义的配置信息

Wk

5月月更

青藤《关键信息基础设施增强保护安全实践》论文入选中国科技核心期刊

青藤云安全

信息安全 关键信息 安全保护

监控告警平台的国产化选择—Rancher与夜莺的集成

Rancher

Kubernetes k8s rancher

Wallys/QCN9074 /11ax 4x4 6G M.2

wallys-wifi6

wifi6 m.2

洞见科技数据科学家王湾湾:隐私计算助推金融业数字化转型

洞见科技

数据挖掘 金融科技 隐私计算

互联网公司实行目标管理(OKR)五点原则和基础

laofo

互联网 OKR 研发效能 快手 绩效考核

技术分享| 浅谈IM 产品中的“缩略图”功能

anyRTC开发者

音视频 IM 实时消息 发送图片 缩略图

Linux环境编译动态库

Loken

音视频 5月月更

知识管理在企业创新中的作用

小炮

知识管理

直播预告丨 OpenHarmony 标准系统多媒体子系统之相机解读

OpenHarmony开发者

OpenHarmony

一种基于事件驱动架构的 SAP 产品集成方案介绍

汪子熙

Kubernetes 云原生 SAP Kyma 5月月更

虚谷未来CEO 唐佳娴:让虚拟人“灵” 动起来

阿里云弹性计算

XR 虚拟人

金融街资本携手索信达:助推金融行业数智化转型

索信达控股

大数据培训 | 数据仓库构建方法论和实践

@零度

数据仓库 大数据开发

开源夜聊栏目开播:聊聊新晋 CNCF 项目 sealer 背后的故事

阿里巴巴云原生

阿里云 开源 云原生 直播

查看Docker容器的信息

程序员欣宸

Java 5月月更

跨平台应用开发进阶(十四) :uni-app 实现IOS原生APP-本地打包集成极光推送(JG-JPUSH)详细教程

No Silver Bullet

uni-app App 5月月更 IOS原生 JG-JPUSH

海豚调度5月Meetup:6个月重构大数据平台,帮你避开调度升级改造/集群迁移踩过的坑

白鲸开源

Apache 大数据 开源 DolphinScheduler workflow

web前端培训 | Tree shaking问题排查

@零度

web前端开发

Python 编程

兮子

5月月更

java培训 | API 接口如何实现统一格式返回

@零度

JAVA开发 API

全场景式全流程监控,博睿数据为券商IT运维难题提供范例

博睿数据

数字化转型 博睿数据 数据链DNA 证券行业

土地市场分析,基于Python,基于Javascript,包含核心参数

梦想橡皮擦

5月月更

亚马逊云基础架构:一场从未停歇的技术创新革命

亚马逊云科技 (Amazon Web Services)

架构 亚马逊云

无聊科技正经事周刊(第8期):让子弹飞一会儿,用长期的眼光看中国开源

潘大壮

开源 程序员 周刊 开源中国 科技周刊

JavaScript== 和 ===

源字节1号

软件开发 前端开发 后端开发 小程序开发

直播预告 | 服务网格规模化应用下的 Istio Sidecar 灵活配置实践

阿里巴巴云原生

阿里云 云原生 直播 服务网格 Istio Sidecar

文本数据的机器学习自动分类方法(下)_语言 & 开发_张健_InfoQ精选文章