关于文本挖掘系统snowball
1. 综述
1.1 文本挖掘简介
文本挖掘已经成为数据挖掘中一个日益流行而重要的研究领域。与一般数据挖掘以关系、事务和数据仓库中的结构数据为研究目标所不同的是,文本挖掘所研究的文本数据库, 由来自各种数据源的大量文档组成。这些文档可能包含标题、作者、出版日期、长度等结构化数据, 也可能包含摘要和内容等非结构化的文本成分,而且这些文档的内容是人类所使用的自然语言,计算机很难处理其语义。因此传统的信息检索技术已不适应日益增加的大量文本数据处理的需要,进而人们提出文本挖掘的方法进行不同的文档比较以及文档重要性和相关性排列,又或者找出多文档的模式或趋势等分析。
1.2 文章结构
本文重点讨论了一种,只需要从用户中得到一些训练的例子,就可以从文档集合中提取结构化数据的技术。这些例子通常被用来提取模式,接着可以使新的元组从文档集合中被提取出来。基于此技术的雪球系统(Snowball)推出了从纯文本文件中生成模式和提取元组的新策略。在每一次迭代的提取过程中,雪球可以在没有人为干预的情况下对这些模式和元组的质量进行评价,并为下一次迭代保留可靠的部分。
在此之前,我们会对雪球系统的研究基础DIPRE算法进行深入的剖析;同样,作为一种经典的文本挖掘系统,雪球系统同样是众多更为先进的文本挖掘系统的原型,在此,我们将简单介绍一种名为StatSnowball的改进型系统。
后,本文将结合作者个人一周以来的所学所思,对文本挖掘领域的现状以及技术发展趋势进行简要的分析与概括。
2. 研究基础:DIPRE算法
2.1 算法综述
DIPRE算法为后来关系挖掘领域的相关研究奠定了基础。后续众多基于种子的算法研究以这篇论文为基础,进行了扩展和完善。[1]的主要探索的目标是从信息量大且信息极其分散的万维网中抽取出具有一定关系且数量可观的元组对。
针对这一点,作者提出了关系抽取算法——DIPRE。在描述这个算法之前,作者首先讨论了模型与关系两者间的双重对应特点。简而言之,就是如果两个实体(即一对元组)间存在一定关系,那么在数据量庞大的万维网数据库中,这两个实体出现时一般情况下会存在若干个模型与之相对应。而对于两个总是以若干一定模型出现的实体来说,它们之间很可能存在着某种关系。基于这个思想,作者引入了利用关系与模型的这种特点的DIPRE算法。
2.2 算法思想
算法的大体思想如下:
1. 根据已经得到元组(次迭代则是手工输入的种子元组),从语料库中找到这些种子元组共现的上下文。
2. 从这些上下文关系中,根据要求提取出这些种子元组共现时的模型。
3. 根据规则对模型进行筛选,确定出若干可用的模型。
4. 将这些模型投入到语料库中,与若干元组进行匹配,根据匹配结果,得到一些新的、满足所给的种子元组关系的元组对。
5. 如果已经得到足够数量的元组对,或者,多次迭代元组数量无显著增长,则停止算法,否则返回步。
2.3 算法评价
除了上述基本内容外,[1]中还对算法运行过程中的一些参数或阈值进行了讨论。如在对根据现有的元组对根据上下文所得到的模型进行评估时,引入了特异度参数,来描述这个模型的优劣。值得提出的一点是,算法运行过程中,还需要少量的人工干预。根据作者基于此方法进行的实验结果可以看出,DIPRE算法基本解决了关系二元组的抽取问题,并取得可以接受的召回率与准确率。
3. 雪球系统
3.1 系统综述
[2]中系统地介绍了Snowball系统,这个系统的构造正是基于的Sergey Brin的DIPRE的算法之上的。与DIPRE算法相比,在Snowball系统中主要有两个大的改进措施。一是在引入命名标签机制,在确认实体对的标签之前,首先对各个实体打上属性标签(这一行为可由专门的命名实体标签工具来做),这样做可以提高产出模型及抽取关系元组的正确率。二是引入了专门的、具有一定规模的评估模型及元组质量的评价系统。DIPRE虽然也对模型进行了评价,但是其评价方式比较粗略与笼统。从后来的对比实验可以看出,Snowball系统中的评估系统,可有效提高后抽取的元组的质量。
3.2 系统结构
Snowball系统主要由以下几个部分构成,且各部分的功能阐述如下:
1. 找到共现对。即根据系统输入时的种子元组,到待进行关系挖掘的语料库中搜索到所有种子元组的共现对。
2. 对实体打标签。在Snowball系统中,实体是具有标签的,且关系挖掘过程中所产生的模型也是具有标签的。在对模型的匹配过程中,共现实体对不仅仅要匹配模型中的上下文定义,而且对应实体的标签属性也要相匹配,才能被认为是与一个模型相匹配。
3. 产生模型。在Snowball系统中,模型被定义为一个五元组,且对应表示上下文的三个向量(left,middle, right)具有权重,权重体现了每个项目在相对的上下文中的重要程度。产生模型的算法,与在DIPRE算法中的思想基本一致。都是根据多对共现实体对的上下文相同的部分来产生模型。
4. 对产生的模型进行评估。这是该系统与DIPRE系统的主要不同。在本文中,作者引入了多个参数(如可信度,对数可信度),来考察产生的模型及后文要提到的抽取的元组的质量。在这个评估体系中,作者首先用高质量的种子元组来评估模型,得到高质量的模型后,又反过来用这些模型来评价新抽取得到的元组。
5. 抽取元组。即通过经过过滤的模型,放回到语料库中进行元组匹配,后得到一定数量的元组。
6. 评估元组。在对模型的评价中已经提到,该系统还会对产生的元组进行评价。在评估元组中,系统会通过元组与高质量模板的匹配程度,来计算出该元组的可信度。
3.3 系统评价
同DIPRE算法类似,Snowball系统没有解决关系抽取过程中需要人工干预的问题。但该系统对模型的精准定义上有了很大的改进,提高了关系抽取过程的效率与准确率。同时,该系统对模型及元组的质量的评估做出了很大的探索,形成了一个规模化了评估体系。通过实验数据,可看出应用该体系后,抽取元组的正确率和准确率有了大幅提升。
4. 改进型:StatSnowball系统
4.1 系统综述
基于Snowball系统,微软亚洲研究院的研究人员对其进行改进,引入了MLN(马尔可夫逻辑网络)来评判模型的质量,提出了StatSnowball系统模型[4]。与Snowball相比,此系统对MLE(大似然估计)的应用,使得系统在评估与选择模型上更为精准。在此系统中,模型中每一项目权重的确定可以通过MLN学习自动得到,而不像Snowball系统还需要专门的启发式规则来确定每一项目权重。同时,相比之下StatSnowball更易于扩展。
4.2 系统结构
该系统的总体可以分为以下几个部分,每个部分的功能阐明如下:
1. 输入部分。同其它基于种子的关系挖掘系统类似,StatSnowball系统需要少量种子元组作为输入,以启动后续挖掘的迭代过程。
2. 模型训练。得到种子元组后,StatSnowball会在线对种子元组进行学习,得到一系列模型。在这个过程中,StatSnowball的模型产生算法与Snowball大同小异。值得指出的是,同Snowball采用启发式限制不同,StatSnowball系统采用了概率模型来训练关键字与模型。这样一来,StatSnowball系统克服了若干Snowball的缺点,可以同等的处理特定模型及一般模型。
3. 模型筛选。针对某些种子元组得到了若干关系模型后,还要对模型进行筛选。本文所涉及的模型筛选问题,可以看作是一个马尔克夫随机场中的特征消减问题。StatSnowball系统应用了l1-norm的MLE来定义并解决这个问题。本文针对传统的Snowball所应用的评估筛选方法及文中所采用了方法进行了对比实验,结果表明,这一改进显著提高模型质量,并终提高了元组准确率与召回率。
4. 产生元组。利用上一步所得模型,到开放环境中进行元组匹配和关系抽取。将得到的元组投入到下一轮的迭代过程中去。
5. 关系聚类。对产生元组,运用一定的聚类算法,对其进行聚类处理。并获得聚得的每一类的关键词,以标记这一类元组的关系属性。
4.3 系统评价
通过上面的分析可以看出,StatSnowball系统是对Snowball系统的进一步加工与细化。同时,更多的概率统计以及逻辑分析理论成果的应用使得系统有更好的文本挖掘性能。
5.文本挖掘领域的未来研究方向概述[4]
5.1针对可扩展且稳定的自然语言理解方法的研究
理解文本的含义对于文本挖掘而言非常重要。目前大部分的方法依赖于词语集合来表示,然而更丰富的表示方法会带来更好的挖掘效果。信息提取技术提供了一步到位的语意表达的方法,但当前这种技术主要是依靠人工干预并且有足够量的训练数据时才能正常运行。因而,如果能够开发出一种可扩展且稳定的自然语言理解方法,它强大有效的从自然语言中提取信息的能力将会带来巨大的效益。
5.2 适应和转移域的学习方法的研究
许多文本挖掘任务要靠监督学习,其有效性多取决于可用的训练数据量。然而这里所指的数据通常是劳动密集型创造大量的训练数据。适应和转移域的学习方法可以缓解这个问题。这种方法利用提供在相关领域或相关任务中的训练数据对当前领域的挖掘任务进行训练。然而,该方法目前仍有很多的局限性,即使是相关域仍然面临着训练数据量极小的窘境。因此,随着文本挖掘领域的不断发展,该方法会极大地促进这一发展过程
5.3 文本数据的语境分析的相关研究
文本数据通常相关联有很多方面的信息,如作者,来源,时间甚至是一个更复杂的信息网络。在许多应用中,要考虑到的非常重要的一点是上下文中用户的喜好。因此,扩展现存文本挖掘方法的非常重要的一点就是能够结合上下文以及文档之间的关联进行更加深入地挖掘。
5.4并行文本挖掘
在多数情况下,文本挖掘的数据集十分庞大而且在不断增加,因此,这些数据不可能存储在一台机器上进行运算。因此需要研究一种能够并行运行的文本挖掘算法以在计算机集群上并行地执行文本挖掘任务。显然,这结合了云计算以及数据密集型计算的需求,而且这本身也是一个在不断成长的领域。
参考文献
[1]Brin S. Extractingpatterns and relations from the world wide web[M]//The World Wide Web andDatabases. Springer Berlin Heidelberg, 1999: 172-183.
[2]AgichteinE, Gravano L. Snowball: Extracting relations from large plain-textcollections[C]//Proceedings of the fifth ACM conference on Digital libraries.ACM, 2000: 85-94.
[3]ZhuJ, Nie Z, Liu X, et al. StatSnowball: a statistical approach to extractingentity relationships[C]//Proceedings of the 18th international conference onWorld wide web. ACM, 2009: 101-110.
[4]Aggarwal C C, Zhai C X. Mining text data[M].Springer Science & Business Media, 2012.
————————————————
原文链接:https://blog.csdn.net/Parasol5/article/details/49050537
相关文章