文本挖掘可以大致定义为一个知识密集型过程,在该过程中,用户通过使用一套分析工具随时间与文档集进行交互。以类似于数据挖掘的方式,文本挖掘试图通过识别和探索感兴趣的模式从数据源中提取有用的信息。然而,在文本挖掘的情况下,数据源是文档集合,即我们所面对的数据源是非结构化的,我们需要在这些非结构化文本数据中提取感兴趣的信息。当然,文本挖掘从数据挖掘的开创性研究中获得了很多灵感和方向。因此,文本挖掘和数据挖掘系统是有些相似的。
由于数据挖掘假定数据已经以结构化格式存储,其预处理的大部分重点都集中在两个关键任务上:清理和规范化数据并创建大量表连接。相比之下,对于文本挖掘系统,预处理操作的核心是识别和提取自然语言文档的代表性特征。这些预处理操作负责将存储在文档集合中的非结构化数据转换为更为明确的结构化中间格式,这与大多数数据挖掘系统无关。此外,由于自然语言文本对其使命的重要性,文本挖掘还吸收了其他涉及自然语言处理的计算机科学学科的技术。
在功能层面上,文本挖掘系统遵循一些经典数据挖掘应用程序提供的通用模型,因此可以粗略地划分为四个主要领域:(a)预处理任务(preprocessing tasks),(b)核心挖掘操作(core mining operations),(c)表示层组件和浏览功能(presentation layer components),和(d)细化技术(browsing functionality)。
预处理任务:包括为文本挖掘系统的核心知识发现操作准备数据所需的所有例程,过程和方法。这些任务通常集中在数据源预处理和分类活动上。预处理任务通常会将来自每个原始数据源的信息转换为规范格式,然后对这些文档应用各种类型的特征提取方法,以创建完全由概念表示的新文档集合。预处理任务也可能提取或应用创建文档日期戳的规则,或者同时执行这两个操作。
核心挖掘操作:这是文本挖掘系统的核心,包括模式发现,趋势分析和增量知识发现算法。文本数据中常用的知识发现模式包括分布(distributions)(和比例),频数(frequent)和类似频数的概念以及关联(associations)。文本挖掘系统中的这些核心操作也被统称为知识蒸馏过程(knowledge distillation processes)。
表示层组件:包括GUI和模式浏览功能以及对查询语言的访问。可视化工具和面向用户的查询编辑器和优化器也属于此体系结构类别。表示层组件可以包括用于创建或修改概念集群以及为特定概念或模式创建注释概要文件的工具,这些工具一般基于字符或图形。
细化技术:最简单的方法包括过滤冗余信息和聚类相关性高的数据的方法,但在给定的文本挖掘系统中,细化技术可能不仅仅包含这些方法。这些技术也被描述为后处理。
下图给出了一个一般化的文本挖掘操作流程:
[图片及描述来源:Feldman, R. and Sanger, J. (2007). The Text Mining Handbook, Cambridge University Press.]
典型的文本挖掘方法包括文本分类,文本聚类,概念/实体挖掘,生产精确分类,观点分析,文档摘要和实体关系模型(即,学习已命名实体之间的关系)。文本分析包括了信息检索、词典分析来研究词语的频数分布、模式识别、标签\注释、信息抽取,数据挖掘技术包括链接和关联分析、可视化和预测分析。本质上,首要的任务是,通过自然语言处理(NLP)和分析方法,将文本转化为数据进行分析。下面是一些文本挖掘的典型应用:
安全应用:许多文本挖掘软件包都销往安全应用程序——特别是为了国家安全目的——监控和分析在线纯文本来源,例如互联网新闻,博客等。
软件应用:文本挖掘方法和软件也正在由包括IBM和Microsoft在内的大公司研究和开发,以进一步实现挖掘和分析过程的自动化。还有一些公司在搜索和索引领域研发,以改善其搜索结果。在公共部门内,许多努力一直集中在创建跟踪和监测恐怖活动的软件上。
在线媒体应用:如Tribune公司等大型媒体公司正在使用文本挖掘来为读者提供更多的搜索体验,从而增加网站的“粘性”和收入。此外,在后台,编辑们可以通过跨媒体分享,关联和打包新闻而获益,从而大大增加了内容获利的机会。
情绪分析:情感分析可能涉及分析电影评论以评估电影评论的感情倾向。
[描述来源:维基百科URL:https://en.wikipedia.org/wiki/Text_mining]
发展历史
描述
文本挖掘一直是一个非常重要的研究领域,1996年R. Grishman和Sundheim于第六次信息理解大会(MUC-6)提出了命名实体(Named entity)的概念1998年Susan Dumais和Mehran Sahami等学者比较了当时比较流行的五种不同的文本分类自动学习算法在学习速度,实时分类速度和分类准确性方面的有效性。当时的结果显示支持向量机(SVM)的表现最值得期待。SVM的确是文本处理中最常用、最有效的方法之一。Thorsten Joachims在他的论文中探讨了使用支持向量机(SVM)从例子中学习文本分类器。他分析了使用文本数据进行学习的特定属性,并确定了SVM适用于此任务的原因。他认为支持向量机相对于当时最好的方法实现了实质性的改进,并在各种不同的学习任务中表现出强大的行为。此外,SVM是全自动的,无需手动参数调整。
另一个在文本挖掘领域内常用的算法是决策树(decision tree),从Quinlan于1986年发明了ID3算法后,决策树几乎成为了文本挖掘必用的算法之一,它们训练很快并且可扩展。然而,决策树有一个缺点,即最终的决定只能取决于相对较少的特征。1999年Robert E. Schapire和Yoram Singer描述了对Freund和Schapire的AdaBoost增强算法的一些改进,创建了增强决策树,以减少总体误差的方式构建的一组互补决策树来弥补决策树的这一缺点。第二年他们提出了BoosTexter,使用更简单的一步决策树,只包含一条规则,并获得了令人满意的文本分类结果。
2000年Tom Mitchell等学者将研究方向专注于文本分类,他们证明了学习文本分类器的准确性可以通过将大量未标记文档与少量的带标签培训文档混合在一起来提高。由于在许多文本分类问题中,获取培训标签的成本很高,而大量未标记的文档却很容易获得,这是一个非常重要的发现。2002年Fabrizio Sebastiani更详细的调查了文本挖掘中用于文本自动分类的技术。他基于文档表示,分类器构建和分类器评估三个方面评估了机器学习方法的表现。
文本分析技术作为一项技术来源于语言学和数据挖掘,但可以看到现在它已经从实验室打入更广泛的分析世界。许多软件能够识别文本中的特征-例如个人和地理名称,日期,电话号码和电子邮件地址,以及概念甚至情感-并将其提取到数据库中。我们最近开始看到依赖于文本分析的业务线应用程序(例如,用于自动处理新闻源),这些应用程序展示了该技术的新成熟度。Ronen Feldman在2006年的计算机协会会议上发表了关于文本挖掘系统的观点,该系统应该能够通过SAT,GRE,GMAT等标准阅读理解测试。根据Ronen Feldman的观点,这样的系统必须实现出色的实体识别和关系提取,具有非常高的精度(检索信息的相关性)和召回(找到所有相关信息的能力)。根据他的观点,这些系统应该可以在任何领域工作,在没有人为干预的情况下完全自主运行,并且应该分析庞大的语料库(文档集)并提出“真正有趣的发现”。在各个领域的研究者们正在不断朝着这个方向前进,2010年,以twitter为语料库,Alexander Pak, Patrick Paroubek利用n-gram算法进行了情感分析和意见挖掘。
当然,深度学习在文本挖掘领域内的表现也值得期待,2014年Yoon Kim进行了一系列关于CNN的实验,这些卷积神经网络在预先训练的单词向量的基础上进行训练,以进行句子级分类任务。一个简单的只需少量超参数调整和静态向量的CNN,就可以在多个基准测试中取得出色的结果。他们讨论的CNN模型改进了7个任务中的4个任务的现有技术水平,其中包括情感分析和问题分类。
主要事件
年份 | 事件 | 相关论文/Reference |
1986 | Quinlan发明了用于决策树的ID3算法 | Quinlan, J. R. (1986). Induction of Decision Trees. Mach. Learn. 1(1): 81–106 |
1996 | Grishman和Sundheim引入命名实体(Named entity)和模板元素(Template element)的概念 | Grishman, R.; Sundheim, B. (1996). Message Understanding Conference - 6: A Brief History. International Conference on Computational Linguistics |
1998 | Susan Dumais和Mehran Sahami等学者比较了当时比较流行的五种不同的文本分类自动学习算法在学习速度,实时分类速度和分类准确性方面的有效性 | Dumais, S.; Platt, J.; Heckerman, D. and Sahami, M. (1998). Inductive learning algorithms and representations for text categorization. In 7th Int. Conf. on Information and Knowledge Managment. |
1998 | Thorsten Joachims在他的论文中探讨了使用支持向量机(SVM)从例子中学习文本分类器 | Joachims, T. (1998). Text categorization with support vector machines: Learning with many relevant features. European Conf. on Machine Learning (ECML). pp137-142. |
1999 | Robert E. Schapire和Yoram Singer描述了对Freund和Schapire的AdaBoost增强算法的一些改进,创建了增强决策树 | Schapire, R. E. and Singer, Y. (1999). Improved boosting using confidence-rated predictions. Machine Learning, 37(3):297–336. |
2000 | Robert E. Schapire和Yoram Singer提出了BoosTexter | Schapire, R. E. and Singer, Y. (2000). BoosTexter: A boosting-based system for text categorization. Machine Learning, 39(2/3):135–168. |
2000 | Tom Mitchell等学者证明了学习文本分类器的准确性可以通过将大量未标记文档与少量的带标签培训文档混合在一起来提高 | Nigam, K.; Mccallum, A. K.; Thrun, S.; Mitchell, T. (2000).Text Classification from Labeled and Unlabeled Documents using EM. Machine Learning.39(2–3): 103–134. |
2002 | Fabrizio Sebastiani更详细的调查了文本挖掘中用于文本自动分类的技术。他基于文档表示,分类器构建和分类器评估三个方面评估了机器学习方法的表现 | Sebastiani, F. (2002). Machine learning in automated text categorization. ACM Computing Surveys. 34:1–47. |
2010 | 以twitter为语料库,Alexander Pak, Patrick Paroubek利用n-gram进行了情感分析和意见挖掘 | Pak, A.; Paroubek, P. (2010).Twitter as a Corpus for Sentiment Analysis and Opinion Mining. |
2014 | Yoon Kim进行了一系列关于CNN的实验,这些卷积神经网络在预先训练的单词向量的基础上进行训练,以进行句子级分类任务 | Kim, Y. (2014). Convolutional Neural Networks for Sentence Classification.arXiv:1408.5882. |
发展分析
瓶颈
由于数据标注成本昂贵,而训练分类器又往往需要大量数据,目前标注瓶颈是文本挖掘中比较大的问题;另外,文本到数值的转换过程和特征提取是另一难点。
未来发展方向
如上文提到的标注问题,因此无监督学习是目前的一个研究方向,以摆脱算法训练对数据的依赖。在文本到数值的转换上,如word2vec等工具试图在无监督学习的基础上,生成可以使语义上相似的单词在映射空间内距离也很近的向量,也是一个重要的研究方向。
Contributor: Yuanyuan Li