数据挖掘中的文本挖掘的分类算法综述Word下载.docx
《数据挖掘中的文本挖掘的分类算法综述Word下载.docx》由会员分享,可在线阅读,更多相关《数据挖掘中的文本挖掘的分类算法综述Word下载.docx(40页珍藏版)》请在冰豆网上搜索。
第二章文本挖掘概述8...
2.1文本挖掘介绍8...
2.1.1文本挖掘的历史演化8..
2.1.2文本挖掘的定义8..
2.1.3文本挖掘的研究现状9..
2.2文本挖掘主要内容9..
2.3文本挖掘技术1..0.
2.3.1数据预处理技术1..0
2.3.2数据挖掘分析技术1..1
2.4文本挖掘热点难点问题1..2
第三章文本分类算法1..4.
3.1文本分类概述1..4.
3.1.1文本分类的研究现状1..4
3.1.2文本分类模型1..5
3.1.3文本分类面临的挑战1..7
3.1.4文本分类亟需解决的问题1..8
3.2常用文本分类算法1..8
3.2.1文本分类中的特征选择方法1.9
3.3.2支持向量机文本分类算法2..2
3.3.3朴素贝叶斯文本分类算法2..3
第四章KNN文本分类算法研究2..7
4.1KNN文本分类算法介绍2..7
4.2基于统计的KNN文本分类算法研究2.7
4.3基于LSA降维的KNN文本分类算法研究3.0
4.4其他改进的KNN文本分类算法3..1
第五章文本挖掘应用3..4.
5.1数据挖掘应用3..4.
5.1.1数据挖掘解决的典型商业问题3.4
5.1.2数据挖掘在市场营销的应用3.4
5.1.3数据挖掘在企业危机管理中的应用3.5
5.2文本挖掘应用3..7.
5.3文本分类应用3..7.
第六章结论3..9.
参考文献4..0.
第一章数据挖掘概述
1.1数据挖掘介绍需要是发明之母。
近年来,数据挖掘引起了信息产业界的极大关注,其主要原因是存在大量数据,可以广泛使用,并且迫切需要将这些数据转换成有用的信息和知识。
获取的信息和知识可以广泛用于各种应用,包括商务管理,生产控制,市场分析,工程设计和科学探索等[1]。
数据挖掘出现于20世纪80年代后期,是数据库研究中一个很有应用价值的新领域,是一门交叉性学科,融合了人工智能、数据库技术、模式识别、机器学习、统计学和数据可视化等多个领域的理论和技术.数据挖掘作为一种技术,它的生命周期正处于沟坎阶段,需要时间和精力去研究、开发和逐步成熟,并最终为人们所接受。
20世纪80年代中期,数据仓库之父W.H.In-mon在《建立数据仓库》(BuildingtheDataWarehouse)一书中定义了数据仓库的概念,随后又给出了更为精确的定义:
数据仓库是在企业管理和决策中面向主题的、集成的、时变的以及非易失的数据集合。
与其他数据库应用不同的是,数据仓库更像一种过程—对分布在企业内部各处的业务数据的整合、加工和分析的过程。
传统的数据库管理系统(databasemanagementsystem,DBMS)的主要任务是联机事务处理(on-linetransactionprocessingOLTP);
而数据仓库则是在数据分析和决策方面提供服务,这种系统被称为联机分析处理(on-lineanalyticalprocessing,OLAP).OLAP的概念最早是由关系数据库之父E.F.Codd于1993年提出的。
当时,Codd认为OLTP已不能满足终端用户对数据库查询分析的需要,结构化查询语言(structuredqueryIanguageSQL)对数据库进行的简单查询也不能满足用户分析的需求.用户的决策分析需要对关系数据库进行大量计算才能得到结果,因此Codd提出了多维数据库和多维分析的概念。
数据挖掘(DataMining),就是从存放在数据库,数据仓库或其他信息库中的大量的数据中获取有效的、新颖的、潜在有用的、最终可理解的模式的非平凡过程。
数据挖掘,在人工智能领域,习惯上又称为数据库中知识发现(KnowledgeDiscoveryinDatabase,KDD),也有人把数据挖掘视为数据库中知识发现过程的一个基本步骤。
知识发现过程以下三个阶段组成:
(1)数据准备,
(2)数据挖掘,
(3)结果表达和解释。
数据挖掘可以与用户或知识库交互。
并非所有的信息发现任务都被视为数据挖掘。
例如,使用数据库管理系统查找个别的记录,或通过因特网的搜索引擎查找特定的Web页面,则是信息检索(informationretrieval)领域的任务。
虽然这些任务是重要的,可能涉及使用复杂的算法和数据结构,但是它们主要依赖传统的计算机科学技术和数据的明显特征来创建索引结构,从而有效地组织和检索信息。
尽管如此,数据挖掘技术也已用来增强信息检索系统的能力。
数据挖掘利用了来自如下一些领域的思想:
(1)来自统计学的抽样、估计和假设检验,
(2)人工智能、模式识别和机器学习的搜索算法、建模技术和学习理论。
数据挖掘也迅速地接纳了来自其他领域的思想,这些领域包括最优化、进化计算、信息论、信号处理、可视化和信息检索。
一些其他领域也起到重要的支撑作用。
特别地,需要数据库系统提供有效的存储、索引和查询处理支持。
源于高性能(并行)计算的技术在处理海量数据集方面常常是重要的。
分布式技术也能帮助处理海量数据,并且当数据不能集中到一起处理时更是至关重要。
因此,数据挖掘被信息产业界认为是数据库系统最重要的前沿之一,是信息产业最有前途的交叉学科。
1.2数据挖掘常用方法利用数据挖掘进行数据分析常用的方法主要有分类、回归分析、聚类、关联规则、特征、变化和偏差分析、Web页挖掘等,它们分别从不同的角度对数据进行挖掘。
(1)分类。
分类是找出数据库中一组数据对象的共同特点并按照分类模式将其划分为不同的类,其目的是通过分类模型,将数据库中的数据项映射到某个给定的类别。
它可以应用到客户的分类、客户的属性和特征分析、客户满意度分析、客户的购买趋势预测等,如一个汽车零售商将客户按照对汽车的喜好划分成不同的类,这样营销人员就可以将新型汽车的广告手册直接邮寄到有这种喜好的客户手中,从而大大增加了商业机会。
(2)回归分析。
回归分析方法反映的是事务数据库中属性值在时间上的特征,产生一个将数据项映射到一个实值预测变量的函数,发现变量或属性间的依赖关系,其主要研究问题包括数据序列的趋势特征、数据序列的预测以及数据间的相关关系等。
它可以应用到市场营销的各个方面,如客户寻求、保持和预防客户流失活动、产品生命周期分析、销售趋势预测及有针对性的促销活动等。
(3)聚类。
聚类分析是把一组数据按照相似性和差异性分为几个类别,其目的是使得属于同一类别的数据间的相似性尽可能大,不同类别中的数据间的相似性尽可能小。
它可以应用到客户群体的分类、客户背景分析、客户购买趋势预测、市场的细分等。
(4)关联规则。
关联规则是描述数据库中数据项之间所存在的关系的规则,即根据一个事务中某些项的出现可导出另一些项在同一事务中也出现,即隐藏在数据间的关联或相互关系。
在客户关系管理中,通过对企业的客户数据库里的大量数据进行挖掘,可以从大量的记录中发现有趣的关联关系,找出影响市场营销效果的关键因素,为产品定位、定价与定制客户群,客户寻求、细分与保持,市场营销与推销,营销风险评估和诈骗预测等决策支持提供参考依据。
(5)特征。
特征分析是从数据库中的一组数据中提取出关于这些数据的特征式,这些特征式表达了该数据集的总体特征。
如营销人员通过对客户流失因素的特征提取,可以得到导致客户流失的一系列原因和主要特征,利用这些特征可以有效地预防客户的流失。
(6)变化和偏差分析。
偏差包括很大一类潜在有趣的知识,如分类中的反常实例,模式的例外,观察结果对期望的偏差等,其目的是寻找观察结果与参照量之间有意义的差别。
在企业危机管理及其预警中,管理者更感兴趣的是那些意外规则。
意外规则的挖掘可以应用到各种异常信息的发现、分析、识别、评价和预警等方面。
(7)Web页挖掘。
随着Internet的迅速发展及Web的全球普及,使得Web上的信息量无比丰富,通过对Web的挖掘,可以利用Web的海量数据进行分析,收集政治、经济、政策、科技、金融、各种市场、竞争对手、供求信息、客户等有关的信息,集中精力分析和处理那些对企业有重大或潜在重大影响的外部环境信息和内部经营信息,并根据分析结果找出企业管理过程中出现的各种问题和可能引起危机的先兆,对这些信息进行分析和处理,以便识别、分析、评价和管理危机。
1.3数据挖掘的功能
数据挖掘通过预测未来趋势及行为,做出前摄的、基于知识的决策。
数据挖掘的目标是从数据库中发现隐含的、有意义的知识,主要有以下五类功能。
(1)自动预测趋势和行为数据挖掘自动在大型数据库中寻找预测性信息,以往需要进行大量手工分析的问题如今可以迅速直接由数据本身得出结论。
一个典型的例子是市场预测问题,数据挖掘使用过去有关促销的数据来寻找未来投资中回报最大的用户,其它可预测的问题包括预报破产以及认定对指定事件最可能作出反应的群体。
(2)关联分析数据关联是数据库中存在的一类重要的可被发现的知识。
若两个或多个变量的取值之间存在某种规律性,就称为关联。
关联可分为简单关联、时序关联、因果关联。
关联分析的目的是找出数据库中隐藏的关联网。
有时并不知道数据库中数据的关联函数,即使知道也是不确定的,因此关联分析生成的规则带有可信度。
(3)聚类
数据库中的记录可被化分为一系列有意义的子集,即聚类。
聚类增强了人们对客观现实的认识,是概念描述和偏差分析的先决条件。
聚类技术主要包括传统的模式识别方法和数学分类学。
80年代初,Mchalski提出了概念聚类技术牞其要点是,在划分对象时不仅考虑对象之间的距离,还要求划分出的类具有某种内涵描述,从而避免了传统技术的某些片面性。
(4)概念描述
概念描述就是对某类对象的内涵进行描述,并概括这类对象的有关特征。
概念描述分为特征性描述和区别性描述,前者描述某类对象的共同特征,后者描述不同类对象之间的区别。
生成一个类的特征性描述只涉及该类对象中所有对象的共性。
生成区别性描述的方法很多,如决策树方法、遗传算法等。
(5)偏差检测
数据库中的数据常有一些异常记录,从数据库中检测这些偏差很有意义。
偏差包括很多潜在的知识,如分类中的反常实例、不满足规则的特例、观测结果与模型预测值的偏差、量值随时间的变化等。
偏差检测的基本方法是,寻找观测结果与参照值之间有意义的差别。
1.4数据挖掘的主要问题数据挖掘的主要问题,涉及挖掘方法、用户交互、性能和各种数据类型。
这些问题介绍如下:
1.数据挖掘技术和用户交互问题:
这反映所挖掘的知识类型、在多粒度上挖掘知识的能力、领域知识的使用、临场即席挖掘和知识可视化。
a)挖掘数据库中不同类型的知识:
由于不同的用户可能对不同类型的知识感兴趣,数据挖掘应当涵盖范围很广的数据分析和知识发现任务,包括数据特征化、区分、关联与相关分析、分类、预测、聚类、离群点分析和演变分析(包括趋势和相似性分析)。
这些任务可能以不同的方式使用相同的数据库,并需要开发大量数据挖掘技术。
b)多个抽象层的交互知识挖掘:
由于很难准确地知道能够在数据库中发现什么,数据挖掘过程应当是交互的。
对于包含海量数据的数据库,首先应当使用适当的抽样技术,进行交互式数据探查。
交互式挖掘允许用户聚焦搜索模式,根据返回的结果提出和精炼数据挖掘请求。
特别,类似于OLAP对数据立方体所做的那样,应当通过交互地在数据空间和知识空间下钻、上卷和旋转来挖掘知识。
用这种方法,用户可以与数据挖掘系统交互,以不同的粒度和从不同的角度观察数据和发现模式。
c)结合背景知识:
可以使用背景知识或关于所研究领域的信息来指导发现过程,并使得发现的模式以简洁的形式在不同的抽象层表示。
关于数据库的领域知识,如完整性约束和演绎规则,可以帮助聚焦和加快数据挖掘过程,或评估发现的模式的兴趣度。
d)数据挖掘查询语言和特定的数据挖掘:
关系查询语言(如SQL)允许用户提
出特定的数据检索查询。
类似地,需要开发高级数据挖掘查询语言,使得用户通过说明分析任务的相关数据集、领域知识、所挖掘的知识类型、被发现的模式必须满足的条件和约束,描述特定的数据挖掘任务。
这种语言应当与数据库或数据仓库查询语言集成,并且对于有效的、灵活的数据挖掘是优化的。
e)数据挖掘结果的表示和可视化:
发现的知识应当用高级语言、可视化表示或其他表示形式表示,使得知识易于理解,能够直接被人们使用。
如果数据挖掘系统是交互的,这一点尤其重要。
这要求系统采用有表达能力的知识表示技术,如树、表、规则、图、图表、交叉表、矩阵或曲线。
f)处理噪声和不完全数据:
存放在数据库中的数据可能反映噪声、异常情况或不完全的数据对象。
在挖掘数据规律时,这些对象可能搞乱分析过程,导致所构造的知识模型过分拟合数据。
其结果是,所发现的模式的准确性可能很差。
需要处理数据噪声的数据清理方法和数据分析方法,以及发现和分析异常情况的离群点挖掘方法。
g)模式评估即兴趣度问题:
数据挖掘系统可能发现数以千计的模式。
对于给定的用户,所发现的许多模式都不是有趣的,因为它们表示常识或缺乏新颖性。
关于开发模式兴趣度的评估技术,特别是关于给定用户类,基于用户的信念或期望,评估模式价值的主观度量仍然存在一些挑战。
使用兴趣度度量或用户指定的约束指导发现过程和压缩搜索空间是又一个活跃的研究领域。
2.性能问题:
这包括数据挖掘算法的有效性、可伸缩性和并行处理。
a)数据挖掘算法的有效性和可伸缩性:
为了有效地从数据库的海量数据中提取信息,数据挖掘算法必须是有效的和可伸缩的。
换一句话说,数据挖掘算法在大型数据库中的运行时间必须是可预计的和可接受的。
从数据库的知识发现角度,有效性和可伸缩性是数据挖掘系统实现的关键问题。
上面讨论的挖掘方法和用户交互的大多数问题,也必须考虑有效性和可伸缩性。
b)并行、分布和增量挖掘算法:
许多数据库的巨大规模、数据的广泛分布和一些数据挖掘算法的计算复杂性是促使开发并行和分布式数据挖掘算法的因素。
这种算法将数据划分成若干部分,并行处理,然后合并每部分的结果。
此外,有些数据挖掘过程的高开销导致了对增量数据挖掘算法的需要。
增量算法与数据库更新结合在一起,而不必“从头开始”挖掘全部数据。
这种算法增量地进行知识修改、修正和加强业已发现的知识。
3.关于数据库类型的多样性问题:
a)关系的和复杂的数据类型的处理:
由于关系数据库和数据仓库已经广泛使用,为这样的数据开发有效的数据挖掘系统是重要的。
然而,其他数据库可能包含复杂的数据对象、超文本和多媒体数据、空间数据、时间数据或事务数据。
由于数据类型的多样性和数据挖掘的目标不同,指望一个系统挖掘所有类型的数据是不现实的。
为挖掘特定类型的数据应当构造特定的数据挖掘系统。
因此,对于不同类型的数据,期望有不同的数据挖掘系统。
b)从异构数据库和全球信息系统挖掘信息:
局域网和广域网(如因特网)连接了许多数据源,形成了庞大的分布和异构数据库。
从具有不同数据语义的结构化的、半结构化的和非结构化的不同数据源发现知识,对数据挖掘提出了巨大挑战。
数据挖掘可以帮助发现多个异构数据库中的高层数据规律,这些规律多半难以被简单的查询系统发现,并可以改进异构数据库信息交换和互操作性能。
Web挖掘发现关于Web内容、Web结构、Web使用和Web动态情况的有趣知识,已经成为数据挖掘的一个非常具有挑战性和快速发展的领域。
以上问题是数据挖掘技术未来发展的主要需求和挑战。
在近来的数据挖掘研究和开发中,一些挑战已经在一定程度上受到关注,并且现在认为是必需的,而另一些仍处于研究阶段。
第二章文本挖掘概述
2.1文本挖掘介绍
2.1.1文本挖掘的历史演化
数据挖掘技术本身就是当前数据技术发展的新领域,文本挖掘则发展历史更短。
传统的信息检索技术对于海量数据的处理并不尽如人意,文本挖掘便日益重
要起来,可见文本挖掘技术是从信息抽取以及相关技术领域中慢慢演化而成的。
一篇重要的关于文本挖掘的论文讲述在赫尔辛基大学进行的研究试验。
因为出现越来越多的非结构化文本资源,他们将数据挖掘技术应用于文本资源这个小组成功地运用数据库中的知识发现技术(KDD)。
他们曾经发表了试图将数据挖掘技术直接应用于经过预处理的文本信息的论文。
他们将预处理过程看作是一个至关重要的环节,从而有效地改变了数据挖掘依赖于文本最初是如何被处理的这一法则。
沿着知识发现这条路,Feldman考虑使用信息抽取中最简单的形式来获取知识:
通过为一篇文本建立一个有意义的概念集合来看清概念的层次结构,从而在
文本和概念之间挖掘他们的关。
这种方法主要应用领域就是文本分类,系统DocumentExplorer是目前比较先进的文本挖掘系统,该系统构建于以上所提到的KDT基础之上。
Feldman的DocumentExplorer则用文本集合来创建数据库然后基于概念图的数据挖掘技术。
这套系统可以使用不同的模板来创建数据库以适应各种类型的文本集合,包括Web文本。
从网上抽取信息来看,Etzioni着眼于将数据挖掘技术应用于互联网上大量的超文本资源。
这大概是第一篇将数据挖掘技术应用于万维网上信息资源的文章,并将该技术命名Web挖掘。
近期Soderlan在从互联网上抽取信息的方面作了许多工作,利用自然语言处理技术从不同的html资源来解释天气预报。
应该说万维网上的数据已经成为文本挖掘的重要研究方向[2]。
2.1.2文本挖掘的定义
文本挖掘作为数据挖掘的一个新主题,引起了人们的极大兴趣,同时,它也是一个富于争议的研究方向,目前其定义尚无统一的结论,需要国内外学者开展更多的研究以便进行精确的定义。
一般来说,文本挖掘(TextMining,TM)和文本数据库中的知识发现(KnowledgeDiscoveryinTextualDatabase简称KDT)被认为是具有相同含义的两个词,最早由RonenFeldman等人提出:
TheProcessofextractinginterestingPatternsfromverylargetextcollectionsforthepurposeofdiscoveringknowledge。
在维基百科上文本挖掘是这样定义的,文本挖掘有时也被称为文字探勘、文本数据挖掘等,大致相当于文字分析,一般指文本处理过程中产生高质量的信息。
高质量的信息通常通过分类和预测来产生,如模式识别。
文本挖掘通常涉及输入文本的处理过程(通常进行分析,同时加上一些衍生语言特征以及消除杂音,随后插入到数据库中),产生结构化数据,并最终评价和解释输出。
'
高品质'
的文本挖掘通常是指某种组合的相关性,新颖性和趣味性。
典型的文本挖掘方法包括文本分类,文本聚类,概念/实体挖掘,生产精确分类,观点分析,文档摘要和实体关系模型(即,学习已命名实体之间的关系)。
2.1.3文本挖掘的研究现状
国外对于文本挖掘的研究开展较早,50年代末,H.P.Luhn在这一领域进行了开创性的研究,提出了词频统计思想用于自动分类。
I960年,Maron发表了关于自动分类的第一篇论文,随后,众多学者在这一领域进行了卓有成效的研究工作。
研究主要有围绕文本的挖掘模型、文本特征抽取与文本中间表示、文本挖掘算法(如关联规则抽取、语义关系挖掘、文本聚类与主题分析、趋势分析)、文
本挖掘工具等,其中首次将KDD中的知识发现模型运用于KDT。
我国学术界正式引入文本挖掘的概念并开展针对中文的文本挖掘研究是从最近几年才开始的。
从公开发表的有代表性的研究成果来看,目前我国