【3】 文本挖掘方法论

来源:互联网 发布:对人工智能的看法作文 编辑:程序博客网 时间:2024/06/09 11:29

转自 NLP论坛

http://www.threedweb.cn/thread-1284-1-1.html
http://www.threedweb.cn/thread-1285-1-1.html
http://www.threedweb.cn/thread-1286-1-1.html

文本挖掘流程

这里写图片描述

第1阶段:确定研究目的

像任何其他项目一样,文本挖掘的研究开始于研究目的的决策。这需要深入了解业务情况,研究的目的是什么。为了实现这样的认识和精确定义的目的,我们必须评估问题(或机会)的实质。通常情况下,为了开发基础系统,我们必须密切与领域专家互动,包括对系统结构,限制和可用资源的深入评估。只有这样,我们才能制定出一套切实可行的目标来确定研究的方向。

第2阶段:一旦这项研究的目的是确定,探索可用性和数据的性质,我们在特定研究范围内准备评估可用性,可获得性,以及必要的数据的适用性。此阶段的任务包括以下内容:

* 文本数据源的标识(基于数字化的还是基于纸质的;组织内部的或组织外部的)* 数据的可访问性和可用性评估* 收集的初始数据集* 数据的丰富性的探索(例如,它有需要的文本挖掘研究的信息内容?)* 数据的数量和质量的评估。一旦探测得出了积极的结果,下一阶段是从各种来源收集和集成大量数据,在研究中使用。

第3阶段:准备数据 && 第4阶段:开发和评估模型

第3阶段及第4阶段是数据挖掘和文本挖掘的最显著差异之处。事实上,许多人认为,文本挖掘无非是在数据收集和处理阶段比数据挖掘的更艰苦。在图5.2B,阶段2和3展示了阴影框,显示出更细致,深入的描述。这些在阶段6之后讨论。

第5阶段:评估结果

一旦模型被开发出来,就要准确评估其质量。从数据分析的角度来看,我们必须验证执行操作的正确性。例如,我们必须验证取样是否得当,那么可以重复上述步骤来验证。然后,(也只有这样)才能继续向前部署。采取执行流程中的综合评价,有助于减轻的错误传播到决策过程中,否则可能导致对业务不可逆的损害。通常情况下,当分析师处于这些阶段时,他或她可能忘了主要业务问题,开始把学习摆在首位。这种评估步骤是为了使流程阶段有更多的时间,以确保开发并验证模型真正实际解决业务问题,并实现目标。如果这一评估得出的结论,一个业务目标或多个不满意,或者还有的是,还没有被充分考虑一些重要的商业问题,我们应该返回并移动到该流程的部署阶段之前以纠正这些问题。

第6阶段:部署结果

一旦模型和建模过程中顺利通过评估,它们就可以被部署(即投入使用)。这些模型的部署可以是简单的形成一份报告,通过解释引起决策者对研究结果的注意,也可以很复杂,例如建立一个新的商业智能系统来应用这些模型(或将其纳入现有的商业智能系统),所以它们可以被重复地用于更好地进行决策。随着时间的推移,一些模型将失去他们的准确性和相关性。他们应该可以被新数据周期性地更新(或精化)。这可以通过执行新的分析方法,每隔一段时间重新创建模型,或更完美地,商业智能系统本身可被设计成通过相关数据的更新来自动精炼模型。虽然开发能够自我评价和自我调节的复杂系统,是一个具有挑战性的任务,一旦完成,其结果将是非常令人满意的。

数据准备和开发、评估模型

这里写图片描述

图5.2A和5.2B展示了文本挖掘的流程。通过第3阶段和第4阶段。图5.3提出了文本挖掘的方法,从功能架构的角度来看是一个高层次的内容图。该图展示了流程的范围,特别强调了接口和环境。本质上,它绘制了流程的边界来明确表明文本挖掘过程所包含(和/或排除)的内容。

在知识发现的背景下,文本挖掘的主要目的是从非结构化(文本)数据,以及结构化和半结构化数据(如有关的问题正在解决)中提取新的,有意义的和可操作的知识/信息更好辅助决策。在图5.3(盒子上的左边缘)的输入箭头是基于文本的知识发现流程块。非结构化,半结构化或结构化的数据都被收集,存储,并提供给流程。输出箭头(框右边缘)表示指定上下文的知识产品,可以用于决策。进入框上边缘的约束条件(或控制)箭头表示软件和硬件的限制,或隐私方面的问题,以及以自然语言方式呈现的文本处理方面的难点。进入框内的底部是启用模块,它代表了软件工具,高速计算机,领域知识,和自然语言处理(NLP)的方法。

这里写图片描述
图5.4显示,图5.3可以分解成三个相互联系的子过程,我们称之为“活动。”每个都有输入,完成了一些转换过程,并生成各种输出。如果由于某种原因,子进程的输出不是预期或出现不能令人满意的水平,反馈回路重定向信息流程到之前任务,允许调整和更正。

第三阶段,第1步:建立语料库

第3阶段的活动1是收集所有相关的正在处理的问题的文件(参见图5.4)。数据的质量和数量都是数据挖掘和文本挖掘项目中最重要的元素。有时在文本挖掘的项目中,文档集合是现成的,伴随着项目的说明(在一个特定的产品或服务的顾客评论,例如,进行情感分析)。但通常的文本挖掘需要识别并使用手动或自动的方法收集特定问题的文档集合(例如,web爬虫可以定期摘录几个网站,收集相关的新闻)。数据收集可以包括文本文件,HTML文件,电子邮件,网帖和短期票据。除了正常的文本数据,可以包括使用语音识别算法转录的语音记录。

一旦收集完成,文本文件就可以转化和组织为计算机可处理的方式,并转换为相同的格式(如ASCII文本文件)。数字化的文本文件可以存储在一个文件夹中,也可以以网页集合的形式放到在一个特定的域列表中。许多市售的文本挖掘软件工具可以接受网页作为输入,并将其转换成一个文本文件进行处理。可选地,文本文件也可以在文本挖掘软件之外准备,那么可以表示为输入到文本挖掘应用。

第三阶段,第2步:预处理的数据

在此活动中,将数字化并且组织好的文档(语料库)用于创建数据结构化的表示,通常被称为词条-文档矩阵(TDM)。通常,TDM包括表示文件的行和表示词条的列构成。词条和文档之间的关系被表征为索引,这是关系的测度,如在文档中出现的词频。图5.5显示了TDM的简化示例。

第2步的目标是把组织好的文档(语料库)列表转换成一个TDM,这里单元被填充为最合适的索引。我们在这里所做的假设是,文件的​​“意义”可以用该文件中出现的词条列表和词频来表示。那么,表征文档时,所有的条件都同样重要吗?显然,答案是否定的。一些词条,例如冠词,助动词,是几乎所有语料库文档都使用的词条,它们没有有意义的功能,因此应被排除在索引之外。这些词的列表俗称停用词表,这往往在具体研究领域由该领域专家专门鉴定。在另一方面,在文件被索引时,我们可以选用一组预定义的停用词列表,这类词条列表惯例上被称为字典。此外,同义词和特定的短语(例如,“最高法院”)也可以以词典的形式提供,这样的索引条目将会更准确。图5.6示出了TDM与其它四个任务的更详细视图。

 任务1

第一个任务产生停用词(或者包含词条)以及同义词和特定短语。

任务2

由词干或词形还原创建词条列表,这是词条最简单的形式(即词根)。词干的例子是用于识别和索引不同的语法形式或约简动词词条。例如词干可以确保模型,建模和模拟被识别为词的模型。以这种方式,词干会明显降低词条的数量,并增加一些词条的频率。词根有两种常见的类型:
1.屈折词干:这旨在规范语法上的变化,如现在/过去时态和单/复数变化等(这在计算语言学上被称为形态分析)。不同的语言在难易程度上显著的不同。
2.词干到根:这旨在消除屈折性或派生的前缀和后缀,形成词根的形式。

任务3

创建TDM。在任务3中,语料库的数字二维矩阵表示被创建,这是TDM生成的第一种形式,包括以下三个步骤:

  • 指定所有文件作为矩阵中的行
  • 识别所有的在语料库中的独特的词条(如它的列),但不包含在停用词列表中的
  • 计算每个词的每个文档的出现次数(作为其单元值)

如果语料库包括一个相当大数目的文件(这是通常的情况),则是很常见的TDM为具有非常大的词条。处理这样一个大的矩阵可能是耗时的,而且,更重要的是,它可能会导致提取不准确的模式。大型矩阵和耗时的操作这些危险情况导致如下两个问题:

  • 什么是文本挖掘项目最优处理的索引最佳表示?
  • 如何把矩阵的维度降低到一个更易于管理的大小,以方便更快捷有效的处理?

要回答第1个问题,我们必须评估各种形式的索引表示。一种方法是词频的转换。一旦输入文档被索引并且初始词频(由文件)被计算,可以执行一些额外的转换来概括和聚集所提取的信息。原词的频率反映了每个文档中相对突出的词。具体而言,文档词条出现的较大词频可能是该文件内容最好的描述符。然而,词条的计数是正比于文件描述符的重要性本身不是一个合理的假设。例如,即使在文件A中词条的频率三倍高于文件B中,不一定就能推论出这个词对于文档B三倍重要于文档A。

为了具有更一致TDM为进一步的分析,这些原始索引应被归一化。在统计分析中,归一化包括以消除数据元素之间的不同尺度的不同效果分割多组数据由一个共同的值来进行比较的。原始频率值可以使用的一些可供选择的方法进行归一化。下面是一些最常用的标准化方法(StatSoft推出,2010):

对数的词频。原始词频通过对数函数变换。这种变换将“抑制”的原始词频,以及如何影响后续分析的结果。

f(wf)=1+log(wf)

在该式中,wf是原始词频,而f(wf)是对数变换的结果。这个变换被应用到TDM中所有的原始词频,这里词频是大于零的。
二元频率。同样的,一个更简单的变换可以用于枚举词,如果词条被用于一份文件中。

f(wf)=1,for:wf>0

这导致的TDM矩阵将只包含0和1,它们指示了各词条是否存在。同样,这种转换将抑制的原始词频的效果,在后续的计算和分析中进行计数。

逆文档频率。除了词条的归一化频率,对于给定词频的每个文档(相对文件频率或df)也是分析中的一个重要方面。例如,可能会经常出现在所有的文件中,如”guess”,而另一个词条,如”software”,可能只会出现几次。其原因是,人们可能在各种情况下都会”make guess”,而不管特定主题的,而”software”是一种在语义上更聚焦的词条,它仅发生在有关计算机软件的文件中。一个常见的和非常有用的变换被称为逆文档词频(Manning和Schutze,1999),它反映了词条的特异性(相对于文档频率)以及它们出现(转化的词频率)的总体频率。这个变换对于第i词和第j个文件可写为:

idf(i,j)=0(1+log(wfi,j)logNdfiwfi,j=0wfi,j0

这里wfij是被第j个文档中第i个词条归一化后的词频(包含此词条的文档数量),并且n是文档的总数。你能看到这个公式既包含了对数函数的简单词频阻尼(之前描述的)也包含了权重因子,如果词条在所有文档中出现,则计为0,[i.e.,log(N/N=1)=0]。当一个词条仅出现在单独的文本中这个值就是最大值,[i.e.,log(N/1)=log(N)]。如何这个转换将创建索引能被很容易的观察到。它反映了出现词条词频以及它们在文档中频率的相关性,它代表了给出文档的语义特异性。它最常用于字段转换。

接下来还给出我们如何降低TDM的维度的问题(问题 #2)。因为,TDM经常是很大的,并且相当稀疏(绝大多数单元都是0)。这个答案更易处理。有几个选择可以降低矩阵到可管理的规模:

* 领域专家遍历词条列表,并消除那些没有多大意义的研究的内容(这需要手工,是一个密集劳动的过程)。* 消除与极少数发生在极少数的文件词条。* 变换使用奇异值分解矩阵。

奇异值分解

奇异值分解(SVD)为代表的矩阵为一系列线性近似值的方法,即揭示矩阵的潜在意义的结构。 SVD的目标是找到最能预测结果因子的最优集合。在之前的文本挖掘业务数据预处理,SVD被用于潜层语义分析(LSA)来查找各种文件词条的基本含义。

在更多的技术术语中,SVD与主成分分析密切相关,因为它将输入矩阵降低(通过提取词条的数量的输入文件的数量)到较低维空间中(在规模上小得多的矩阵),其中每个连续的维代表了变量的最大概率的程度(在词条及文档之间)(Manning和Schutze,1999年)。理想的情况,分析师可能会找出两个或三个最显著的维度,占据了大部分的变量空间(差异),从而识别出潜在的语义空间(这个词与低维空间相同?),并组织词条和文档进行分析。当这些维度被确定,它们代表了包含在文档中的潜在意义(讨论或说明)。例如,假设矩阵A代表了m×n个词出现的矩阵,其中m是输入文件的数目,n是所分析的词条。 SVD计算了m×r的正交矩阵Un×r正交矩阵V,以及r×r矩阵D,所以A=UDV’,并r就是AA的特征数。

第3阶段,第3不:提取知识

抽取出已上下文中已解决的特定问题的新模式,使用良好的结构化TDM,并可能增加其他结构化的数据元素(如数字和/或标量,其中可能包含的文件的时间和地点的规格)。在文本挖掘研究中,这些知识的提取方法的主要类别:

  • 预测(例如,分类,回归和时间序列分析)
  • 聚类(如分割和孤立点分析)
  • 关联(例如,亲和分析,链接分析和序列分析)
  • 趋势分析

分类

可以说在分析复杂数据源中最常见的知识发现主题是把某些对象或事件转换为预定的类别。分类的目的是将数据实例分配到预定的一组类别。因为它适用于文本挖掘的领域,此任务被称为文本分类,这里需要给出一组类别和文本文档的集合,所面临的挑战是要为每个文档找到正确的主题(主题或概念)。这种挑战通过训练数据集可以实现,训练集既包括文件也包括实际文档的分类。今天,在不同的背景下自动化的文本分类,包括迭代(自动或半自动)索引的文本,垃圾邮件过滤,网页分类下的分层目录,自动生成元数据,题材检测,以及许多其他的应用。

有两种主要的文本分类方法,一是专家系统(通过运用知识工程技术),二是分类模型(通过使用统计和/或机器学习技术)。专家系统的方法是将专家的知识以规则表达式的形式编码成分类系统。机器学习的方法是一个广义归纳过程,采用由一组预分类的例子,通过“学习”建立分类。由于文件数量的增加以指数速度和知识专家的可用性变得越来越小,潮流趋势正在转向机器学习 - 基于自动分类技术。

聚类

聚类是一种无监督的学习过程,这里对象或事件被置于“自然”的分组称为集群。无监督的学习过程是不使用模式或先验知识来指导聚类的过程。文本分类是一个监督的过程,其中预分类的训练样本集被用于开发基于类别的描述性特征的模式,以区分新的未标记的样本。在无监督的聚类方法中,问题是把未标记的对象集合(例如,文档,客户评论,网页)分组为成有意义的集群,而没有任何先验知识。

集群应用广泛,从文献检索到实现更好的网络内容搜索上。事实上,聚类的突出应用之一是分析和导航非常大的文字集合,例如网页。基本的基本假设是,相关的文件比彼此之间毫不相关的文件往往更相似。如果这个假设是成立的,基于内容相似性的文档聚类可以提高搜索的效率(Feldman和Sanger,2007)。

两种最流行的聚类方法是分散/聚集集群和特定查询集群。当特定的搜索查询不能被形式化时,分散/聚集的方法使用集群来提高人们对文件的浏览效率。在某种意义上,该方法动态地生成一个内容表,通过收集和适应以及修改它来响应用户的选择。在另一方面,特定查询的聚类方法采用分层聚类方法,即最相关的文件位于集群的中心,而相关度较低的则在外延,根据文档相关性的水平创建出一种频谱。对于较大尺度的文档集合此方法执行得一直比较好。

关联

关联是查找不同的数据元素(对象或事件)相关度的过程。在零售行业,关联分析通常被称为市场购物篮分析。产生关联规则的主要思想是识别出在特定上下文中的频繁集。零售行业一个著名的例子是在同一个购物车中啤酒和尿布的关联(关系到周一晚上的足球比赛的电视转播)。

在文本挖掘中,关联特别是指概念(或词语)或一组概念之间的直接关系。X => Y的关联规则,是两个频繁概念集X和Y的相关性,可量化(或证实)为两个基本测度,支持度和置信度。置信度是个文档的百分比值,这些文档包含了Y的所有概念,其中也包含了X的所有概念的子集。支持度也是个文档的百分比值,它包含了X,Y的所有概念。例如,一个包含“项目失败”的文档集合,可能最经常出现的关键词“企业资源规划”和“客户关系管理”的支持度为4%,而置信度为55%,也就是说,4%的含义是在语料库中一篇文档同时出现所有三个概念的概率是4%,其中同时包括“项目失败”,“企业资源规划”和“客户关系管理”的文档占55%。

在一项令人感趣的文本挖掘研究中,关联分析是用来研究已发表的文献(新闻,学术刊物和网上的帖子),绘制出禽流感的爆发和进展(Mahgoub等,2008)。此研究的主要目的是为了自动识别出地理区域,种群传播,物种间传播之间的关联,并提出应对措施。
关联分析的一个特殊情况是,一些概念都以一种有序的方式关联另外的概念(例如,一个序列的概念往往会出现一种趋势),或者在一个特定的时间段有关。这种类型的关联分析被称为趋势分析,其简要地在下面的部分说明。

趋势分析

趋势分析的主要目的是找到对象或事件根据时间的变化规律。通常,文本挖掘中的趋势分析是基于时间间隔的各种类型的概念分布;也就是说,相同主题的不同集合在不同的时间间隔可能会导致不同的概念分布。因此,比较两种概念的时间变化是有可能的,除非它们来自相同的文档子集。这种类型分析的一个显著方向是具有相同的源的两个集合(如由一组相同的学术期刊),但是时间点不同。 Delen和Crossland (2008) 对大量的学术文章应用趋势分析,(发表在三种高度关注的学术期刊),以识别信息系统领域的关键概念的演变。

0 0
原创粉丝点击