一、文本数据挖掘的定义
文本数据挖掘是一种利用计算机处理技术从文本数据中抽取有价值的信息和知识的应用驱动型学科。(文本挖掘是抽取有效、新颖、有用、可理解的、散布在文本文件中的有价值知识,并且利用这些知识更好地组织信息的过程)
文本数据挖掘处理的数据类型是文本数据,属于数据挖据的一个分支,与机器学习、自然语言处理、数理统计等学科具有紧密联系。
文本挖掘在很多应用中都扮演重要角色,例如智能商务(例如客户关系管理)、信息检索(例如互联网搜索)等。
文本数据挖掘需要从三个层面进行理解:
- 底层技术,文本挖掘作为数据挖掘的一个分支学科,其底层技术包括机器学习、数理统计、自然语言处理等领域的的技术方法。
- 进阶技术,也即是文本挖掘的基本技术,面向不同的应用,分为五大类:信息抽取、文本分类、文本聚类、文本数据压缩、文本数据处理。
- 应用领域,文本挖掘最终的目的如其定义中所描述的,信息访问与知识发现,信息访问包括信息检索、信息浏览、信息过滤和信息报告,知识发现包括数据分析和数据预测。
二、文本挖掘与自然语言处理
自然语言处理(NLP) 关注的是人类的自然语言与计算机设备之间的相互关系。NLP是计算机语言学的重要方面之一,它同样也属于计算机科学和人工智能领域。而文本挖掘 和 NLP 的存在领域类似,它关注的是识别文本数据中有趣并且重要的模式。
但是,这二者仍有不同。首先,这两个概念并没有明确的界定(就像“数据挖掘”和“数据科学”一样),并且在不同程度上二者相互交叉。
如果原始文本是数据,那么 文本挖掘就是信息,NLP就是知识,也就是语法和语义的关系。
文本挖掘利用智能算法,如神经网络、基于案例的推理、可能性推理等,并结合文字处理技术,分析大量的非结构化文本源(如文档、电子表格、客户电子邮件、问题查询、网页等),抽取或标记关键字概念、文字间的关系,并按照内容对文档进行分类,获取有用的知识和信息。
文本挖掘是一个多学科混杂的领域,涵盖了多种技术,
- 数据挖掘技术
- 信息抽取
- 信息检索
- 机器学习
- 自然语言处理
- 计算语言学
- 统计数据分析
- 线性几何
- 概率理论
- 图论
信息检索 是指文献等信息资源的整理和搜索,其主要目的可以概括为:按照用户的具体需要,采用一些检索方法,把所有相关的文献都检索出来,同时摒弃掉那些看似相关实则不符合要求的文档。
三、文本数据科学任务框架
我们能否为文本数据的处理制作一个高效并且通用的框架呢?我们发现,处理文本和处理其他非文本的任务很相似
以下就是处理文本任务的几大主要步骤:
1. 数据收集
获取或创建语料库,来源可以是邮箱、英文维基百科文章或者公司财报,甚至是莎士比亚的作品等等任何资料。
2. 数据预处理
在原始文本语料上进行预处理,为文本挖掘或NLP任务做准备
数据预处理分为好几步,其中有些步骤可能适用于给定的任务,也可能不适用。但通常都是标记化、归一化和替代的其中一种。
文本挖掘预处理:文本挖掘是从数据挖掘发展而来,但并不意味着简单地将数据挖掘技术运用到大量文本的集合上就可以实现文本挖掘,还需要做很多准备工作。
文本挖掘的准备工作 由 文本收集、文本分析 和 特征修剪 三个步骤组成
文本分析是指对文本的表示及其特征项的选取;文本分析是文本挖掘、信息检索的一个基本问题,它把从文本中抽取出的特征词进行量化来表示文本信息。文本(text)与 讯息(message)的意义大致相同,指的是由一定的符号或符码组成的信息结构体,这种结构体可采用不同的表现形态,如语言的、文字的、影像的等等。文本是由特定的人制作的,文本的语义不可避免地会反映人的特定立场、观点、价值和利益。因此,由文本内容分析,可以推断文本提供者的意图和目的。
特征选择
将它们从一个无结构的原始文本转化为结构化的计算机可以识别处理的信息,即对文本进行科学的抽象,建立它的数学模型,用以描述和代替文本。使计算机能够通过对这种模型的计算和操作来实现对文本的识别。由于文本是非结构化的数据,要想从大量的文本中挖掘有用的信息就必须首先将文本转化为可处理的结构化形式。目前人们通常采用向量空间模型来描述文本向量,但是如果直接用分词算法和词频统计方法得到的特征项来表示文本向量中的各个维,那么这个向量的维度将是非常的大。这种未经处理的文本矢量不仅给后续工作带来巨大的计算开销,使整个处理过程的效率非常低下,而且会损害分类、聚类算法的精确性,从而使所得到的结果很难令人满意。因此,必须对文本向量做进一步净化处理,在保证原文含义的基础上,找出对文本特征类别最具代表性的文本特征。为了解决这个问题,最有效的办法就是通过特征选择来降维。
目前有关文本表示的研究主要集中于文本表示模型的选择和特征词选择算法的选取上。用于表示文本的基本单位通常称为文本的特征或特征项。特征项必须具备一定的特性:
- 1)特征项要能够确实标识文本内容;
- 2)特征项具有将目标文本与其他文本相区分的能力;
- 3)特征项的个数不能太多;
- 4)特征项分离要比较容易实现。
在中文文本中可以采用 字、词或短语 作为表示文本的特征项。相比较而言,词比字具有更强的表达能力,而词和短语相比,词的切分难度比短语的切分难度小得多。因此,目前大多数中文文本分类系统都采用词作为特征项,称作特征词。这些特征词作为文档的中间表示形式,用来实现文档与文档、文档与用户目标之间的相似度计算 。如果把所有的词都作为特征项,那么特征向量的维数将过于巨大,从而导致计算量太大,在这样的情况下,要完成文本分类几乎是不可能的。
特征抽取的主要功能是在不损伤文本核心信息的情况下尽量减少要处理的单词数,以此来降低向量空间维数,从而简化计算,提高文本处理的速度和效率。文本特征选择对文本内容的过滤和分类、聚类处理、自动摘要以及用户兴趣模式发现、知识发现等有关方面的研究都有非常重要的影响。通常根据某个特征评估函数计算各个特征的评分值,然后按评分值对这些特征进行排序,选取若干个评分值最高的作为特征词,这就是特征选择(Feature Selection)。
特征选取方式
常见的有4种:
- (1)用映射或变换的方法把原始特征变换为较少的新特征。
- (2)从原始特征中挑选出一些最具代表性的特征。
- (3)根据专家的知识挑选最有影响的特征。
- (4)用数学的方法进行选取,找出最具分类信息的特征,这种方法是一种比较精确的方法,人为因素的干扰较少,尤其适合于文本自动分类挖掘系统的应用。
随着网络知识组织、人工智能等学科的发展,文本特征提取将向着数字化、智能化、语义化的方向深入发展,在社会知识管理方面发挥更大的作用。
努力消除歧义 是文本预处理很重要的一个方面,我们希望保留原本的含义,同时消除噪音。为此,我们需要了解:
- 关于语言的知识
- 关于世界的知识
- 结合知识来源的方法
除此之外,以下的六个因素也加大了文本数据处理的难度,包括
- 非标准的语言表述(non-standard English)
- 断句问题(segmentation issues)
- 习惯用语(idioms)
- 新兴词汇(neologisms)
- 常识(general knowledge)
- 复杂的名词(ticky entity names)
3.数据挖掘和可视化
无论我们的数据类型是什么,挖掘和可视化是探寻规律的重要步骤
常见任务可能包括可视化字数和分布,生成wordclouds并进行距离测量
4.模型搭建
这是文本挖掘和NLP任务进行的主要部分,包括训练和测试。在适当的时候还会进行特征选择和工程设计
语言模型:有限状态机、马尔可夫模型、词义的向量空间建模
机器学习分类器:朴素贝叶斯、逻辑回归、决策树、支持向量机、神经网络
序列模型:隐藏马尔可夫模型、循环神经网络(RNN)、长短期记忆神经网络(LSTMs)
5. 模型评估
评价模型是否达到预期?其度量标准将随文本挖掘或NLP任务的类型而变化。
网友评论