文本挖掘

一、文本挖掘·概念

文本挖掘是抽取有效、新颖、有用、可理解的、散布在文本文件中的有价值知识,并且利用这些知识更好地组织信息的过程,是从文本数据中获取有价值的信息和知识,它是数据挖掘中的一种方法。文本挖掘中最重要最基本的应用是实现文本的分类和聚类,前者是有监督的挖掘算法,后者是无监督的挖掘算法。

文本挖掘是信息挖掘的一个研究分支,用于基于文本信息的知识发现。文本挖掘利用智能算法,如神经网络、基于案例的推理、可能性推理等,并结合文字处理技术,分析大量的非结构化文本源(如文档、电子表格、客户电子邮件、问题查询、网页等),抽取或标记关键字概念、文字间的关系,并按照内容对文档进行分类,获取有用的知识和信息。

文本挖掘是一个多学科混杂的领域,涵盖了多种技术,包括数据挖掘技术、信息抽取、信息检索,机器学习、自然语言处理、计算语言学、统计数据分析、线性几何、概率理论甚至还有图论。

二、文本挖掘·作用

1、文本分类

文本分类是一种典型的机器学习方法,一般分为训练和分类两个阶段。文本分类一般采用统计方法或机器学习来实现。

2、文本聚类

文本聚类是一种典型的无监督式机器学习方法,聚类方法的选择取决于数据类型。

首先,文档聚类可以发现与某文档相似的一批文档,帮助知识工作者发现相关知识;其次,文档聚类可以将一类文档聚类成若干个类,提供一种组织文档集合的方法;再次,文档聚类还可以生成分类器以对文档进行分类。

文本挖掘中的聚类可用于:提供大规模文档内容总括;识别隐藏的文档间的相似度;减轻浏览相关、相似信息的过程。

3、信息检索

主要是利用计算机系统的快速计算能力,从海量文档中寻找用户需要的相关文档。

4、信息抽取

信息抽取是把文本里包含的信息进行结构化处理,变成表格一样的组织形式。输入信息抽取系统的是原始文本,输出的是固定格式的信息。

5、自动文摘

利用计算机自动的从原始文档中提取出文档的主要内容。互联网上的文本信息、机构内部的文档及数据库的内容都在成指数级的速度增长,用户在检索信息的时候,可以得到成千上万篇的返回结果,其中许多是与其信息需求无关或关系不大的,如果要剔除这些文档,则必须阅读完全文,这要求用户付出很多劳动,而且效果不好。

自动文摘能够生成简短的关于文档内容的指示性信息,将文档的主要内容呈现给用户,以决定是否要阅读文档的原文,这样能够节省大量的浏览时间。简单地说自动文摘就是利用计算机自动地从原始文档中提取全面准确地反映该文档中心内容的简单连贯的短文。

自动文摘具有以下特点:

(1)自动文摘应能将原文的主题思想或中心内容自动提取出来。

(2)文摘应具有概况性、客观性、可理解性和可读性。

(3)可适用于任意领域。

按照生成文摘的句子来源,自动文摘方法可以分成两类,一类是完全使用原文中的句子来生成文摘,另一类是可以自动生成句子来表达文档的内容。后者的功能更强大,但在实现的时候,自动生成句子是一个比较复杂的问题,经常出现产生的新句子不能被理解的情况,因此目前大多用的是抽取生成法。

6、自动问答

自动问答是指对于用户提出的问题,计算机可以自动的从相关资料中求解答案并作出相应的回答。自动问答系统一般包括 3 个组成部分:问题分析、信息检索和答案抽取。

7、机器翻译

利用计算机将一种源语言转变为另一种源语言的过程。

8、信息过滤

指计算机系统可以自动的进行过滤操作,将满足条件的信息保留,将不满足条件的文档过滤掉。信息过滤技术主要用于信息安全领域。

9、自动语音识别

自动语音识别就是将输入计算机的自然语言转换成文本表示的书面语。

三、文本挖掘·发展

传统的信息检索技术对于海量数据的处理并不尽如人意,文本挖掘便日益重要起来,可见文本挖掘技术是从信息抽取以及相关技术领域中慢慢演化而成的。

随着网络时代的到来,用户可获得的信息包含了从技术资料、商业信息到新闻报道、娱乐资讯等多种类别和形式的文档,构成了一个异常庞大的具有异构性、开放性特点的分布式数据库,而这个数据库中存放的是非结构化的文本数据。结合人工智能研究领域中的自然语言理解和计算机语言学,从数据挖掘中派生了两类新兴的数据挖掘研究领域:网络挖掘和文本挖掘。

网络挖掘侧重于分析和挖掘网页相关的数据,包括文本、链接结构和访问统计(最终形成用户网络导航)。一个网页中包含了多种不同的数据类型,因此网络挖掘就包含了文本挖掘、数据库中数据挖掘、图像挖掘等。

文本挖掘作为一个新的数据挖掘领域,其目的在于把文本信息转化为人可利用的知识。 

四、文本挖掘·步骤

1、获取文本

现有文本数据导入,或者通过如网络爬虫等技术获取网络文本,主要是获取网页HTML的形式。要把网络中的文本获取文本数据库(数据集)。编写爬虫程序,抓取到网络中的信息。

2、文本预处理

指剔除噪声文档以改进挖掘精度,或者在文档数量过多时仅选取一部分样本以提高挖掘效率。

例如网页中存在很多不必要的信息,比如说一些广告,导航栏,HTML、JS代码,注释等等并不需要的信息,可以删除掉。如果是需要正文提取,可以利用标签用途、标签密度判定、数据挖掘思想、视觉网页块分析技术等等策略抽取出正文。

3、文本的语言学处理

(1)分词

经过上面的步骤,会得到比较干净的素材。文本中起到关键作用的是一些词,甚至主要词就能起到决定文本取向。比如说一篇文章讲的是政治还是经济,肯定是对文章中的中心词进行分析得到的结果。因此有必要进行分词。

分词就是将连续的字序列按照一定的规范重新组合成词序列的过程。在英文的行文中,单词之间是以空格作为自然分界符的,而中文只是字、句和段能通过明显的分界符来简单划界,唯独词没有一个形式上的分界符,虽然英文也同样存在短语的划分问题,不过在词这一层上,中文比之英文要复杂得多、困难得多。

现在针对中文分词,出现了很多分词的算法,有最大匹配法、最优匹配法、机械匹配法、逆向匹配法、双向匹配法等等。

(2)词性标注

同时也可以使用词性标注。通过很多分词工具分出来的词,外加该词的词性。比如说啊是语气助词。

(3)去除停用词

比如说句号、是、的等词,没有什么实际的意义。然而这些词在所有的文章中都大量存在,并不能反应出文本的意思,可以处理掉。当然针对不同的应用还有很多其他词性也是可以去掉的,比如形容词等。

4、文本的数学处理 - 特征提取

希望获取到的词汇,既能保留文本的信息,同时又能反映它们的相对重要性。如果对所有词语都保留,维度会特别高,矩阵将会变得特别稀疏,严重影响到挖掘结果。所以这就需要特征提取。

特征选取的方式有4种:

(1)用映射或变换的方法把原始特征变换为较少的新特征;

(2)从原始特征中挑选出一些最具代表性的特征;

(3)根据专家的知识挑选最有影响的特征;

(4)用数学的方法进行选取,找出最具分类信息的特征,这种方法是一种比较精确的方法,人为因素的干扰较少,尤其适合于文本自动分类挖掘系统的应用。

5、分类聚类

经过上面的步骤之后,就可以把文本集转化成一个矩阵。我们能够利用各种算法进行挖掘,比如说如果要对文本集进行分类和聚类。

分类常用的方法有:简单贝叶斯分类法,矩阵变换法、K-最近邻参照分类算法以及支持向量机分类方法等。

聚类常用的方法有:层次聚类法、平面划分法、简单贝叶斯聚类法、K-最近邻聚类法、分级聚类法等。

6、数据可视化

最后进行数据结构的可视化展示,通过合适的可视化图形生动形象展示,让读者听众更容易理解所要表达的信息。

文本可视化最常用的图形就是词云。

   

五、文本挖掘·工具

1、Python语言:jieba、gensim、sklearn、WordCloud和matplotlib包

2、R语言:jieba、tm、tmcn、Rwordseg和wordcloud包

3、SAS:text miner

4、SPSS:Text Mining

LingPipe主要用于自然语言的处理:

  • 主题分类(Top Classification)
  • 命名实体识别(Named Entity Recognition)
  • 词性标注(Part-of Speech Tagging)
  • 句题检测(Sentence Detection)
  • 查询拼写检查(Query Spell Checking)
  • 兴趣短语检测(Interseting Phrase Detection)
  • 聚类(Clustering)
  • 字符语言建模(Character Language Modeling)
  • 医学文献下载/解析/索引(MEDLINE Download, Parsing and Indexing)
  • 数据库文本挖掘(Database Text Mining)
  • 中文分词(Chinese Word Segmentation)
  • 情感分析(Sentiment Analysis)
  • 语言辨别(Language Identification)

六、文本挖掘预处理

文本挖掘是从数据挖掘发展而来,但并不意味着简单地将数据挖掘技术运用到大量文本的集合上就可以实现文本挖掘,还需要做很多准备工作。文本挖掘的准备工作由文本收集、文本分析和特征修剪三个步骤组成。

1)文本收集
  需要挖掘的文本数据可能具有不同的类型,且分散在很多地方。需要寻找和检索那些所有被认为可能与当前工作相关的文本。一般地,系统用户都可以定义文本集,但是仍需要一个用来过滤相关文本的系统。

2)文本分析
  与数据库中的结构化数据相比,文本具有有限的结构,或者根本就没有结构;此外文档的内容是人类所使用的自然语言,计算机很难处理其语义。文本数据源的这些特殊性使得现有的数据挖掘技术无法直接应用于其上,需要对文本进行分析,抽取代表其特征的元数据,这些特征可以用结构化的形式保存,作为文档的中间表示形式。其目的在于从文本中扫描并抽取所需要的事实

3)特征修剪
  特征修剪包括横向选择和纵向投影两种方式。横向选择是指剔除噪声文档以改进挖掘精度,或者在文档数量过多时仅选取一部分样本以提高挖掘效率。纵向投影是指按照挖掘目标选取有用的特征,通过特征修剪,就可以得到代表文档集合的有效的、精简的特征子集,在此基础上可以开展各种文档挖掘工作。

 

七、文本挖掘关键技术

特征修剪之后,可以开展数据文本挖掘工作。从目前文本挖掘技术的研究和应用状况来看,从语义的角度来实现文本挖掘的还很少,目前研究和应用最多的几种文本挖掘技术有:文档聚类、文档分类和摘要抽取。

1)文档聚类
  首先,文档聚类可以发现与某文档相似的一批文档,帮助知识工作者发现相关知识;其次,文档聚类可以将一个文档聚类成若干个类,提供一种组织文档集合的方法;再次,文档聚类还可以生成分类器以对文档进行分类。
  文本挖掘中的聚类可用于:提供大规模文档集内容的总括;识别隐藏的文档间的相似度;减轻浏览相关、相似信息的过程。
  聚类方法通常有:层次聚类法、平面划分法、简单贝叶斯聚类法、K-最近邻参照聚类法、分级聚类法、基于概念的文本聚类等。
2)文档分类
  分类和聚类的区别在于:分类是基于已有的分类体系表的,而聚类则没有分类表,只是基于文档之间的相似度。
  由于分类体系表一般比较准确、科学地反映了某一个领域的划分情况,所以在信息系统中使用分类的方法,能够让用户手工遍历一个等级分类体系来找到自己需要的信息,达到发现知识的目的,这对于用户刚开始接触一个领域想了解其中的情况,或者用户不能够准确地表达自己的信息需求时特别有用。传统搜索引擎中目录式搜索引擎属于分类的范畴,但是许多目录式搜索引擎都采用人工分类的方法,不仅工作量巨大,而且准确度不高,大大限制了起作用的发挥。
  另外,用户在检索时往往能得到成千上万篇文档,这让他们在决定哪些是与自己需求相关时会遇到麻烦,如果系统能够将检索结果分门别类地呈现给用户,则显然会减少用户分析检索结果的工作量,这是自动分类的另一个重要应用。
  文档自动分类一般采用统计方法或机器学习来实现。常用的方法有:简单贝叶斯分类法,矩阵变换法、K-最近邻参照分类算法以及支持向量机分类方法等。
3)自动文摘
  互联网上的文本信息、机构内部的文档及数据库的内容都在成指数级的速度增长,用户在检索信息的时候,可以得到成千上万篇的返回结果,其中许多是与其信息需求无关或关系不大的,如果要剔除这些文档,则必须阅读完全文,这要求用户付出很多劳动,而且效果不好。
  自动文摘能够生成简短的关于文档内容的指示性信息,将文档的主要内容呈现给用户,以决定是否要阅读文档的原文,这样能够节省大量的浏览时间。简单地说自动文摘就是利用计算机自动地从原始文档中提取全面准确地反映该文档中心内容的简单连贯的短文。
  自动文摘具有以下特点:(1)自动文摘应能将原文的主题思想或中心内容自动提取出来;(2)文摘应具有概况性、客观性、可理解性和可读性;(3)可适用于任意领域。
  按照生成文摘的句子来源,自动文摘方法可以分成两类,一类是完全使用原文中的句子来生成文摘,另一类是可以自动生成句子来表达文档的内容。后者的功能更强大,但在实现的时候,自动生成句子是一个比较复杂的问题,经常出现产生的新句子不能被理解的情况,因此目前大多用的是抽取生成法。

八、文本挖掘系统的评估办法

评估文本挖掘系统是至关重要的,目前已有许多方法来衡量在这一领域的进展状况,几种比较公认的评估办法和标准如下: 
  ◆ 分类正确率:通过计算文本样本与待分类文本的概率来得出分类正确率。 
  ◆ 查准率:查准率是指正确分类的对象所占对象集的大小, 
  ◆ 查全率:查全率是指集合中所含指定类别的对象数占实际目标类中对象数的比例。 
  ◆ 支持度:支持度表示规则的频度。 
  ◆ 置信度:置信度表示规则的强度。

案例:文本挖掘在互连网关键词分析中的应用

以新浪体育国际足球新闻标题为例:

在数据分析技术中,文本分析的使用一直是一个较少被涉及的领域,特别是有关中文文字的文本挖掘。

文本挖掘大致可由三部分组成:

  • 底层是文本数据挖掘的基础领域,包括机器学习、数理统计、自然语言处理;
  • 在此基础上是文本数据挖掘的基本技术,有五大类,包括文本信息抽取、文本分类、文本聚类、文本数据压缩、文本数据处理;
  • 在基本技术之上是两个主要应用领域,包括信息访问和知识发现,信息访问包括信息检索、信息浏览、信息过滤、信息报告;知识发现包括数据分析、数据预测。其中需要付出大量人力物力的是文本信息的提取及内容分类,尤其对于中文来说不同领域不同行业的关键词术语各不相同,因此,构建一个适用于不同行业的关键词库显得尤为重要。

不过基于中文的文本挖掘也有非常多的使用,比如各大媒体的2011十大关键词盘点。比如前段时间零点E-lab研究室所绘制的中国唐诗及宋词的关键词构成,非常的有趣,将古人诗歌的高频或者说比较潮的词汇都捕捉到了。并且采用网络分析图的方法将各个关键词之间的联系清楚的展现出来,甚至部分读者能够根据该网络图自己推敲出一些经典的诗句。

正如前文所述,中文的文本挖掘集中在关键词库的建立,在没有专门软件的帮助下,使用“人工智能”倒是一个权宜之计。而人为建立关键词库的要点就在于编码,要求编码人员对关键词有相当的经验及足够的敏感度,如是多人编码还需考虑到团队的个性差异及分工协作等要素。

本例选择将新浪体育网站中国际足球版面的新闻标题作为研究对象,希望通过文本挖掘的方法以小见大的分析发现新闻编辑的个人特点及标题撰写的“潜规则”。

首先,选择了2011年7月1日至2011年12月20日的新闻标题作为研究对象,在这个时间段中包括了大型杯赛(美洲杯)、转会期、日常联赛等内容,应该说涵盖了足球活动中可能出现的大多数新闻报导,共有25598条新闻标题。

新闻大致分为三大类,即:图片、文字、视频。

经过整理,共筛选了500多个关键词,如:转会、队长、传奇、名单、大将、赞、新星、对手、训练、国脚、锋霸、点球、VS、主场、天王等等。这些关键词的筛选,筛选关键词的依据主要有以下几点:

  • 与体育活动相关,可是场外或者场内
  • 属于日常用语,不能造词
  • 需要是通过词汇,即具有普适性,比如像“贝克汉姆带儿子逛街”就不作为关键词,因为其他球员出现类似情况的概率很低。
  • 尽可能多的找,然后整理。比如“小小罗”和”C罗”是同一个人,但是笔者将其作为两个关键词。

对这些词的分析结果:

下图为三大类新闻标题的关键词排名,图片类以“庆祝“、”训练”、”进球”为代表;视频类新闻以“进球”、”破门”、”梅西”为代表,主要和球场活动有关,而与前两类有较大不同的是文字类新闻,排名靠前的分别是”梅西”、”宣布”、”首发”、”C罗”、”官方”等,包含内容较多,并且纵观整个文字新闻页面,使用的高频形容词是最多的。

【人物篇】在排名前20的词汇中共出现三个人物名称:”梅西”、”C罗”、”穆帅”。作为球员前两人在图片及视频中占了较大比重,而穆里尼奥是唯一跻身新闻关键词前20的教练员。

【技术篇】在排名前20的词汇中,涉及足球比赛描述的词汇主要集中在视频中,其次是图片,而文字新闻中场外内容占了较大篇幅。

【写作篇】那么,怎么写好新闻标题,或者怎样写出新浪体育的标题?为了解决这一问题,本例将所有标题涉及的前100个新闻标题进行相关性的网络分析:

整理后的结果:

 

转载于:https://www.cnblogs.com/YSPXIZHEN/p/11442317.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值