一、文本挖掘定义
文本挖掘是指从大量文本的集合C中发现隐含的模式P。如果将C看作输入,将P看作输出,那么文本挖掘的过程就是从输入到输出的一个映射f:C—p。是一个从文本信息中获取用户感兴趣或者有用的模式的过程。
二、文本挖掘发展
传统的信息检索技术对于海量数据的处理并不尽如人意, 文本挖掘便日益重要起来,可见文本挖掘技术是从信息抽取以及相关技术领域中慢慢演化而成的。早先的信息抽取的例子是FRUMP项目,由 Gerald DeJong于1982年设计。这个系统包含了一系列脚本,这些脚本能够扫描新闻专线网络,处理新的存档,以期提供对于主题的事件描述。后来因为出现越来越多的非结构化文本资源,赫尔辛基大学将数据挖掘技术应用于文本资源。这个小组成功地运用数据库中的知识发现技术( KDD)。他们曾经发表了试图将数据挖掘技术直接应用于经过预处理的文本信息的论文。Feldman考虑使用信息抽取中最简单的形式来获取知识: 通过为一篇文本建立一个有意义的概念集合来看清概念的层次结构,从而在文本和概念之间挖掘他们的关系。这种方法主要应用领域就是文本分类。Etzioni着眼于将数据挖掘技术应用于互联网上大量的超文本资源。将数据挖掘技术应用于万维网上信息资源,并将该技术命名Web挖掘。近期 Soderlan在从互联网上抽取信息的方面作了许多工作,利用自然语言处理技术从不同的html 资源来解释天气预报。应该说万维网上的数据已经成为文本挖掘的重要研究方向。
目前,以人工神经网络为代表的深度学习与表示学习大放异彩。以词表示学习算法和开源工具word2vec的发布和流行为标志,近年来词表示、句子表示、文档表示以及知识表示引起了自然语言处理研究者们的极大兴趣。很多工作采用了长短期记忆模型(LSTM)、递归神经网络(RNN)、卷积神经网络(CNN)等模型解决自然语言处理的各类任务:将LSTM用于中文分词、RNN和CNN结合应用于情感分析、将RNN应用于文档建模、将LSTM应用于关系分类。
约书亚•本吉奥(YoshuaBengio)展望了未来几个重要研究趋势,:(1)将传统隐变量模型(Latent variable Models)同RNN等生成模型相结合;(2)探索考虑多时间粒度的神经网络模型,描绘长距离依赖关系;(3)多模态(将文本与图像,音频,视频等结合);(4)探索Neutral Turing Machine和Memory Network等基于记忆的神经网络模型;(5)问答和自然语言理解。
三、文本挖掘的一般过程
文本挖掘的主要处理过程是对大量文档集合的内容进行预处理、特征提取 、结构分析、文本摘要 、文本分类 、文本聚类 、关联分析等。
四、具体技术分析
1、关键技术初步了解:
1)词法分析
在中文全文检索系统中,词法分析主要表现在对文本信息进行词语切分,即中分自动分词技术。通过这种技术能够比较准确的分析用户输入信息的特征,从而完成准确的搜索过程。
2)词性标注
词性标注就是对给定的句子中的词进行词性确定并加以标注的过程。
3) 句法分析
句法分析的目的是识别句子的句法结构,实现自动句法分析过程。其基本方法有线图分析法、短语结构分析、完全句法分析、局部句法分析、依存句法分析等。
4) 语义分析
语义分析是基于自然语言语义信息的一种分析方法,其不仅仅是词法分析和句法分析这样语法水平上的分析,而是涉及到了单词、词组、句子、段落所包含的意义。其目的是从句子的语义结构表示言语的结构。
5) 语境分析
语境分析主要是指对原查询语篇以外的大量“空隙”进行分析从而更为正确地解释所要查询语言的技术。这些“空隙”包括一般的知识,特定领域的知识以及查询用户的需要等。
2、应用技术处理初步了解
1) 信息检索
主要是利用计算机系统的快速计算能力,从海量文档中寻找用户需要的相关文档。
2) 信息抽取
信息抽取是把文本里包含的信息进行结构化处理,变成表格一样的组织形式。输入信息抽取系统的是原始文本,输出的是固定格式的信息点。
3)自动文摘
利用计算机自动的从原始文档中提取出文档的主要的内容,相当于摘要或者缩写。
4)自动问答
自动问答是指对于用户提出的问题,计算机可以自动的从相关资料中求解答案并作出相应的回答。自动问答系统一般包括 3 个组成部分:问题分析、信息检索和答案抽取。
5)机器翻译
利用计算机将一种源语言转变为另一种源语言的过程。
6)信息过滤
指计算机系统可以自动的进行过滤操作,将满足条件的信息保留,将不满足条件的文档过滤掉。信息过滤技术主要用于信息安全领域。
7)自动语音识别
自动语音识别就是将输入计算机的自然语言转换成文本表示的书面语。
3、技术详解
1)中文分词
字标注方法已经成为中文分词研究中新的主流技术。要取得好的中文分词结果和性能,需要的要素有两个:1)给字做词位标注(character-basedtagging,简称 CT);2)一个类似于 CRF(Conditional Random Fields,条件随机场)或者MaxEnt(最大熵)的机器学习模型。
CRFs: 条件随机场理论(CRFs)可以用于序列标记、数据分割、组块分析等自然语言处理任务中。在中文分词、中文人名识别、歧义消解等汉语自然语言处理任务中都有应用,表现很好。CRF由John Lafferty最早用于NLP技术领域,其在NLP技术领域中主要用于文本标注,并有多种应用场景,例如:1)分词(标注字的词位信息,由字构词);2)词性标注(标注分词的词性,例如:名词,动词,助词);3)命名实体识别(识别人名,地名,机构名,商品名等具有一定内在规律的实体名词)
基本思路是对汉字进行标注即由字构词(组词),不仅考虑了文字词语出现的频率信息,同时考虑上下文语境,具备较好的学习能力,因此其对歧义词和未登录词的识别都具有良好的效果;其不足之处是训练周期较长,运营时计算量较大,性能不如词典分词。
CRF、HMM和MEMM对比如下:首先,CRF,HMM(隐马模型),MEMM(最大熵隐马模型)都常用来做序列标注的建模,像分词、词性标注,以及命名实体标注。隐马模型一个最大的缺点就是由于其输出独立性假设,导致其不能考虑上下文的特征,限制了特征的选择。最大熵隐马模型则解决了隐马的问题,可以任意选择特征,但由于其在每一节点都要进行归一化,所以只能找到局部的最优值,同时也带来了标记偏见的问题,即凡是训练语料中未出现的情况全都忽略掉。条件随机场则很好的解决了这一问题,他并不在每一个节点进行归一化,而是所有特征进行全局归一化,因此可以求得全局的最优值。
CRF在词位标注中需注意的问题:字在一个词中的位置分为4类:词首B,词尾E,词中M,单字词S。从理论上讲,标注集越大,分词的效果应该会越好,但是计算负载也会越高。CRF 进行4词位标注的学习代价比2词位标注要高至少一倍。在中文分词后来的研究中,采用CRF模型的分词系统一般都用2词位标注。
2)命名实体识别
在命名实体识别的研究中,识别率较高的有人名、地名、音译名,正确率和召回率基本都在 85~95%之间;而机构名的正确率和召回率则相对较低,原因是机构名的构成没有明确的规则,比较复杂。
目前对普通词语的研究方法主要有三种:基于统计、基于规则、统计与规则结合。基于统计的方法一般是通过统计词条的频率、位置信息及其它的构成信息来发现新词的。较为经典的方法有:互信息方法、独立词概率方法、决策数、支持向量机等。基于规则的方法主要是提取词的构成规则,利用相关信息构造构词模板,将符合模板信息的词条提取出来。
基于统计的方法和基于规则的方法对比:基于统计的方法仅需要大量的训练语料库,与领域无关,并且该类方法容易实现,速度也很快,符合当前自然语言处理的发展趋势;但这类方法也有缺点,如需要大量训练文本,计算量大,准确率较低。基于规则的方法准确率高,针对性强,但需要建立规则库,总结规则费时费力,并且很难抽取出覆盖率足够大的规则;另外,规则具有较强的领域针对性,其灵活性和覆盖性较差。
3)句法分析
句法分析一直是自然语言处理的研究重点,也是制约自然语言处理研究进展的主要障碍。
基于规则的方法以语言学理论为基础,主要依靠语言学家手工编写规则来描述语言的语法。通过这套语法规则,对于一个输入的文字串,可以推导出该文字串的语法结构。规则的方法强调语言学家对语言现象的认识,采用无歧义的语法规则描述或解释语言的歧义行为或歧义特性,语言学家认为所有人类语言的构造都是有层次的,层次结构可以用规则的形式表示出来,而规则的集合就是语法。
规则方法的优点在于:可以最大限度地接近自然语言的句法习惯,可以被语言学家快速掌握;表达方式灵活多样,可以最大限度地表达研究人员的思想。但是,规则的获取是一个十分繁琐的过程,它完全依赖于开发规则的知识工程师的语言知识和经验,开发规则的成本很大,很难找到一种有效的途径,提高规则开发的效率。
随着语料库的构建越来越容易,基于统计的方法在自然语言处理领域开始成为主流。这种方法采用统计学的处理技术从大规模语料库中获取语言分析所需要的知识,并试图逼近语言的真实规律。
统计句法分析工作需要完成两个任务:第一个任务是建立消解语法歧义的语言模型。第二个任务是从模型输出的所有句法树中找出概率值最大的结果。
4)语义分析
词语语义分析是指确定词语意义,衡量两个词之间的语义相似度或相关度;句子语义分析研究包含句义分析和句义相似度分析两方面;文本语义分析就是识别文本的意义、主题、类别等语义信息的过程。当前的自然语言语义分析主要存在两种主要的研究策略: 基于知识或语义学规则的语义分析和基于统计学的语义分析。基于统计与规则相融合的语义分析方法是未来自然语言语义分析的主流方法,本体语义学是自然语言语义分析的重要基础。本体语义学把本体作为主要资源,用于文本意义的提取,形成文本意义的形式化表征,并根据文本意义的形式化表征从文本中推导知识和生成自然语言文本。本体语义学本质上主要探讨两个互逆的过程: 文本要素意义组合为连贯文本意义,文本主题意义分解为文本要素意义。
5)文本聚类
主要是依据著名的聚类假设: 同类的文档相似度大,而不同类的文档相似度较小。作为一种无监督的机器学习方法,聚类技术可以将大量文本信息组成少数有意义的簇,并提供导航或浏览机制。
主要应用点包括:1)文本聚类可以作为多文档自动文摘等自然语言处理应用的预处理步骤。2)对搜索引擎返回的结果进行聚类,使用户迅速定位到所需要的信息。3)改善文本分类的结果。4)文档集合的自动整理。
文本聚类过程如下:
预处理:文本聚类的首要问题是如何将文本内容表示成为数学上可分析处理的形式,即建立文本特征,以一定的特征项(如词条或描述)来代表目标文本信息。
特征的建立:文本信息的特征表示模型有多种,常用的有布尔逻辑型、向量空间型、概率型以及混合型等。向量空间模型的表示方法最大的优点在于将非结构化和半结构化的文本表示为向量形式,使得各种数学处理成为可能。
特征集的缩减: VSM 将文本内容表示成数学上可分析处理的形式,但是存在的一个问题是文档特征向量具有惊人的维数。通常的方法是针对每个特征词条的权重排序,选取预定数目的最佳特征作为结果的特征子集。选取的数目以及采用的评价函数都要针对具体问题来分析决定。另一个方法是采用向量的稀疏表示方法。虽然文本信息特征集的向量维数非常大,但是对于单个文档,绝大多数向量元素都为零,这一特征也决定了单个文档的向量表示将是一个稀疏向量。但是由于每个文本特征向量维数不一致,一定程度上增加了数学处理的难度。
文本聚类的实现:基于概率的方法以贝叶斯概率理论为基础,用概率的分布方式描述聚类结果。基于距离的方法,就是以特征向量表示文档,将文档看成向量空间中的一个点,通过计算点之间的距离进行聚类。