文本挖掘浅述

文本挖掘是一个融合了多学科的交叉领域,对文本挖掘的研究需要将自然语言处理、数据挖掘、信息检索、机器学习等众多领域的知识相结合。文本挖掘是对大量文本信息源的内容进行预处理、特征提取等,转化为数据集合后,再进行结构分析、文本摘要、文本分类、文本聚类、关联分析等,最后将可视化的结果反馈给用户,供用户浏览、查询。文本挖掘的一般处理过程如下图所示。(简言之:文本挖掘就是从大量的文本信息中提炼出高效的信息,并对这些信息加以分析和利用的过程。

文本挖掘浅述

1.        获取文本

(输入:数据载体                  工具:下载、识别、抓取             输出:原始的文本数据)

需要挖掘的文本信息可能具有不同的类型,分散在各个地方。因此,在文本挖掘前应尽可能寻找和收集所有被认为可能与当前挖掘工作有关的文本。一般情况下,都是用户预先定义文本集,本文选取建设领域的文本信息作为研究对象。

值得注意的是:文本信息数据库中存储的信息包含非结构化和半结构化的信息,如网页信息是高度非结构化的,合同管理里涉及到的表格信息,是半结构化的非结构化或半结构化的信息处理比较复杂,因为这类信息无法被计算机识别,信息的接收方需要花费人力来解释这些数据。处理这些文本信息,一般采用将非结构化信息转化为结构化信息的方法(即文本预处理)。

数据集通常有如下的一些途径获得:①经典数据集②从网页上抓取③从日志、已有文件中分析④其他网络数据集

2.        文本预处理

(输入:原始的文本数据     工具:文本预处理                  输出:结构化数据(宜为.xls))

文本预处理阶段的主要任务是将预处理的文本信息转化为文本挖掘工具可以处理的中间形式,即将非结构化信息结构化。文本预处理一般包括:文档切分、文本分词、词性标注、去停用词(包括标点、数字、单字和其它一些无意义的词)、词频统计、文本向量化、特征提取、特征选择。这些名词涉及到编码知识,在此不做解释。文档切分、文本分词、词性标注、去停用词过程可以使用中文分词软件处理。

3.        利用算法进行挖掘

(输入:结构化数据              工具:Python/R                       输出:高效数据)

经过上面的步骤之后,我们就可以把文本集(结构化数据)转化成一个矩阵。我们能够利用各种算法进行挖掘分析,比如说如果要对文本集进行分类,我们可以利用 KNN算法,贝叶斯算法、决策树算法等等。这里一般需要运用Python学习的成果。

4.        可视化表达

(输入:高效数据                   工具:可视化方法                 输出:可视化图表)

将挖掘分析后的结果可视化,供用户使用。

 

需要明白的是:从获取文本、文本预处理、文本挖掘到可视化,随着人为设定的超参数的增多和人为选择(如选用什么模型、算法以及可视化方式等)的增加,文本挖掘的结果越来越主观化。为了防止最终得到的结果偏离用户的设想,就必须对这些设定和选择足够重视。

文本挖掘是一个值得深入学习的领域,基于不同高级语言有不同的实现方式。