文本挖掘商务应用

文本挖掘商务应用
作者: 李嘉,刘璇
出版社: 科学
原售价: 49.00
折扣价: 38.80
折扣购买: 文本挖掘商务应用
ISBN: 9787030645784

作者简介

内容简介

第1章 文本知识挖掘导论
  1.1 文本挖掘的概念
  文本挖掘(text mining)是一个从非结构化文本信息中获取用户感兴趣或者有用的模式的过程。文本挖掘的主要目的是从非结构化文本文档中提取有趣的、重要的模式和知识,可以看成基于数据库的数据挖掘(data mining)或知识发现的扩展。数据挖掘,又译为资料探勘、数据采矿,它是数据库知识发现(knowledge-discovery in database,KDD)中的一个步骤。数据挖掘一般是指从大量的数据中通过算法搜索隐藏于其中的信息的过程。数据挖掘通常与计算机科学有关,并通过统计、在线分析处理、情报检索、机器学习、专家系统(依靠过去的经验法则)和模式识别等诸多方法来实现上述目标。
  文本挖掘是从数据挖掘发展而来的,因此其定义与我们熟知的数据挖掘定义类似,即从文本中进行数据挖掘。从这个意义上讲,文本数据挖掘是数据挖掘的一个分支。但与传统的数据挖掘相比,文本挖掘有其独特之处,主要表现在:文档本身是半结构化或非结构化的,无确定形式并且缺乏机器可理解的语义;而数据挖掘的对象以数据库中的结构化数据为主,并利用关系表等存储结构来发现知识。文本挖掘是指从大量文本数据中抽取事先未知的、可理解的、最终可用的知识的过程,同时运用这些知识更好地组织信息以便将来参考。与数据挖掘不同,文本挖掘的研究对象是由来自各种数据源的大量文档组成的,包括新闻、论文、书籍、期刊、报告、专利、会议文献、技术档案、政府出版物、数字图书馆、技术标准、产品样本、电子邮件消息、Web页面、网络论坛、社交媒体等。这些文档可能包含标题、作者、出版日期、长度等结构化数据,也可能包含摘要和内容等非结构化的文本成分,而且这些文档的内容是人类所使用的自然语言,计算机很难处理其语义。传统的数据挖掘方法擅长处理数字类型的数据,对文本数据则无能为力。因此,迫切需要专门的方法来处理日益增长的海量文本数据,文本挖掘的方法应运而生。
  文本挖掘也是信息挖掘的一个研究分支,用于基于文本信息的知识发现。文本挖掘利用智能算法,并结合文字处理技术,分析大量的非结构化文本源(如文档、电子表格、客户电子邮件、问题查询、网页等),抽取或标记关键字概念、文字间的关系,并按照内容对文档进行分类,获取有用的知识和信息。文本挖掘是一个多学科混杂的领域,涵盖了多种技术,包括数据挖掘技术、信息抽取、信息检索、机器学习、自然语言处理、计算语言学、统计数据分析、线性几何、概率理论甚至还有图论。
  随着企业信息化水平的提高和互联网的发展,文本数据越来越多,并且发挥着越来越重要的作用。企业公文、期刊、社会化媒体等典型文本虽然所占的存储空间不大,却包含了海量的知识,对商务分析具有重要意义。利用文本挖掘技术处理大量的文本数据,无疑将给企业带来巨大的商业价值。文本挖掘在市场洞察、危机管理、消费者意见聆听、股票价格预测、流行趋势预测、消费者价值共创、反欺诈、疾病监控、药物副作用挖掘等方面,均有成功的应用。因此,文本挖掘已经成为数据挖掘中一个重要的研究分支,具有广阔的商业应用前景。
  1.2 文本挖掘的主要技术手段
  文本挖掘的主要支撑技术包括自然语言处理技术和机器学习方法(程显毅和朱倩,2010)。
  1)自然语言处理技术
  自然语言处理是主要研究人与计算机交际中的语言问题的一门学科。自然语言处理要研制表示语言能力和语言应用的模型,建立计算机框架来实现这样的语言模型,提出相应的方法来不断完善这样的语言模型,根据这样的语言模型设计各种实用系统,并探讨这些实用系统的评测技术,更简单直观的说法,就是采用计算机技术来研究和处理自然语言。
  由于自然语言处理是一个多边缘的交叉学科,除语言学外还涉及计算机科学、数学、统计学、电子工程、心理学、哲学以及生物学等知识领域,它是在各个相关学科的交融和协作中逐渐成长起来的。在历史上,自然语言处理曾经在计算机科学、电子工程、语言学和心理认知语言学等不同的领域分别进行过研究。
  2)机器学习方法
  机器学习研究计算机怎样模拟或实现人类的学习行为以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,是人工智能领域的一个重要分支。机器学习从研究人类学习行为出发,研究一些基本方法(如归纳、一般化、特殊化、类比等)去认识客观世界,获取各种知识和技能,以便对人类的认识规律进行探索,深入了解人类的各种学习过程,借助于计算机科学和技术原理建立各种学习模型,从而为计算机系统赋予学习能力。实现这一目的的理论、方法和工程构成了机器学习的主要任务。此外,机器学习还有另一个基本目标,就是从理论上探索一些人类尚未发现的学习新方法和途径。
  1.3 文本挖掘的基本任务
  1)文本挖掘预处理
  有效的文本挖掘操作取决于先进的数据预处理方法。事实上,为了从原始非结构化数据源给出或抽取结构化表示,文本挖掘非常依赖于各种预处理技术,甚至在某种程度上,文本挖掘可由这些预处理技术定义。当然,对文本挖掘来说,为了处理原始的非结构化数据,与针对结构化数据源的数据挖掘操作所采用的预处理方法相比较,需要不同的预处理技术。
  文本挖掘预处理技术的类别繁多,所有方法都以某种方式试图使文本结构化,从而使文本集结构化。所以,同时使用不同的预处理技术,从原始文本数据产生结构化的文本表示是很常见的。
  不同的任务所使用的算法通常是不同的,相同的算法也可用于不同的任务,例如,隐马尔可夫模型(hidden Markov model,HMM),既可用于词性(part-of-speech,POS)标注,也可用于命名实体(named entity,NE)抽取。
  不同技术的结合并不是简单地将结果结合,可通过词的语法作用解决词性标注歧义问题,可使用特定领域的信息解决结构模糊的问题。
  此外,任何文本的大部分内容都不包含有价值的信息,但在最终被丢弃前必须通过所有的处理阶段。
  2)文本模式挖掘
  虽然文本挖掘预处理操作在将非结构化的原始文本集合的内容转换为更加容易处理的概念级数据表示中发挥了重要的作用,但文本挖掘系统的核心功能表现为分析一个文本集合中各个文本之间概念共同出现的模式。实际上,文本挖掘系统依靠算法和启发式方法跨文本考虑概念分布、频繁项以及各种概念的关联,其目的是使用户发现概念的种类和关联,这种概念的种类和关联是文本集合作为一个整体所反映出来的。
  例如,在一个新闻文本集合中,如果大量的新闻包含政治家×××和丑闻,那么可以暗示政治家×××在公众心中具有负面的印象,从而警示他需要发起新的与公众联系的活动。又如,有关公司Y及其产品Z新闻的数量有所增长,则暗示着消费者对于Y公司兴趣的焦点有所转移,它的竞争者对于这种转移必须有所关注。再举一个实例,可以推断出蛋白质P1和P2存在某种潜在的联系,原因是一些文章提到蛋白质P1和酶El存在联系,一些文章描述了酶E1和酶E2有功能上的相似性,但没有提到任何蛋白质的名称,而另一些文章将酶E2和蛋白质P2联系起来。在以上这三个实例中,信息不是任何单个文本提供的,而是文本集合作为一个整体提供的。模式分析的文本挖掘方法致力于在整个语料库中发现概念之间的关联。
  基于大规模和高维度特征集的文本挖掘方法,通常生成大量的模式。这将导致在识别模式时出现严重的问题,这个问题比目标是结构化数据源的数据挖掘应用所面临的问题还要严重得多。
  对于文本挖掘系统,一项主要的操作任务是通过提供求精功能使用户能够限制模式过剩,这种求精功能的关键是对搜索结果采取各种特殊的“兴趣度”措施,可以阻止用户得到过多无法理解的搜索结果。
  模式过剩的问题可能存在于所有的知识发现活动中,这个问题在遇到巨大规模的文本集合的时候被简单地放大了。因此,文本挖掘系统必须为用户提供不仅相关而且容易处理的结果集。
  3)挖掘结果可视化
  挖掘结果可视化是文本挖掘系统的表示层,简称浏览,充当执行系统的核心知识发现算法的后处理,当今的大多数文本挖掘系统都支持浏览,这种浏览是动态的和基于内容的。浏览是通过特定文本集合对实际原文内容加以引导,而不是通过严格预先定义的结构。一般来说,用图形来表示概念模式的层次结构可以方便用户进行浏览,这种层次结构形式通过为科学研究有效的组织概念来改善交互性能。
  文本挖掘系统将面对用户从潜在巨大的文本集合中获取极其庞大的概念集的问题。因此,文本挖掘系统必须能够使用户跨越这些概念,随时可以选择以“图”的方式浏览文本集概貌或局部细节。
  文本挖掘系统使用可视化工具能方便导航和概念模式的搜寻。这些工具使用各种图形化的方法来表达复杂的数据关联。过去,文本挖掘的可视化工具或者产生静态的图形和图表(它们是模式的重要且严格的快照),或者在屏幕上显示或在打印机上打印产生的报告。现在的文本挖掘系统越越依赖于查询结果的高度交互式图形表示方法,这些方法允许用户拖拉、单击或者和概念模式的图形表示直接交互。
  许多文本挖掘系统的设计人员不再限制用户仅仅能运行一定数量的、固定的、预先程序化的搜索问题。实际上,对用户开放查询语言可以使用户能够直接使用更多的搜索功能。这种开放可以通过语言接口查询或命令行查询的方式来实现。
  此外,对于一些特殊的应用或任务,文本挖掘前端的一套聚类工具(详见第7章)使用户具有聚簇概念的能力。文本挖掘系统允许用户为概念或概念之间的关联自定义概念配置文件,从而为交互式的搜索提供更加丰富的知识环境。
  最后,一些文本挖掘系统提供用户操作、创建和关联等求精约束的能力,以辅助浏览更易处理,得到更有用的结果集。就像其他有关创建、修正和参数化查询一样,在使用这些求精约束时,可以通过结合下拉列表、单选按钮、文本框和选项列表之类的图形元素来使用户界面变得更加友好。
  1.4 文本挖掘的一般过程
  抽象来讲,一个文本挖掘系统包括输入(原始文本)和产生各种类型的输出(如模式、概念图、趋势等)。用户可作为长期的互动循环查询、浏览和求精结果集中的一部分;反过来,也可以指导用户进行新的查询、浏览和求精循环。从功能结构上来看,文本挖掘系统遵循某些典型数据挖掘系统的一般模型,因此,可以粗略地划分为四个组成部分:预处理任务、核心挖掘操作、表示层元素和求精技术(程显毅和朱倩,2010)。数据挖掘的体系结构如图1-1所示。
  图1-1 数据挖掘的体系结构
  1)获取文本
  现有文本数据导入,有些通过网络爬虫等技术获取网络文本,主要是获取网页超文本标记语言(hypertext markup language,HTML)的形式。我们获取网络中的文本构建文本数据库(数据集)。对于常见的Web上的网页数据,可以编写爬虫程序,抓取到网络中的信息。
  2)文本预处理
  文本预处理指剔除噪声文档以改进挖掘精度或者在文档数量过多时仅选取一部分样本以提高挖掘效率。例如,网页中存在很多不必要的信息,如一些广告,导航栏,HTML、JavaScript代码,注释等并不需要的信息,可以删除。如果需要正文提取,可以利用标签、标签密度判定、数据挖掘思想、视觉网页块分析技术等策略抽取出正文。
  3)语言学处理
  (1)分词。文本中起到关键作用的是一些词,甚至主要词就能决定文本取向。例如,一篇文章讲的是政治还是经济,肯定是对文章中的中心词进行分析得到的结果。由于中文的词之间没有空格,因此需要额外的手段将不同的词分开。
  分词就是将连续的字序列按照一定的规范重新组合成词序列的过程。我们知道,在英文的行文中,单词之间是以空格作为自然分界符的,而中文只是字、句和段能通过明显的分界符来简单划界,唯独词没有一个形式上的分界符,虽然英文也同样存在短语的划分问题,不过在词这一层上,中文比英文要复杂得多、困难得多。
  现在针对中文分词,出