Skip to main content

文本挖掘

文本挖掘

文本数据挖掘(Text Mining)是指从文本数据中抽取有价值的信息和知识的计算机处理技术。顾名思义,文本数据挖掘是从文本中进行数据挖掘(Data Mining)。从这个意义上讲,文本数据挖掘是数据挖掘的一个分支。

它在商业智能、信息检索、生物信息处理等方面都有广泛的应用,例如,客户关系管理,自动邮件回复,垃圾邮件过滤,自动简历评审,搜索引擎等等。

文本挖掘有三个独特的关键步骤:

      • 分词,通过分词可以将非结构化数据转化为结构化数据
      • 情感分析,定义情感强度,从文本中挖掘作者的情绪或者从评论中挖掘用户的满意度或观点
      • 去噪,即从分出的众多词中剔除干扰的无用的词,提升数据质量。下面结合一个小的案例演示文本挖掘的实现过程。工作流:

文本数据

该案例有两个工作流,使用的是 textmining 文件夹的数据。上面一个工作流使用的是已经分过词的结构化数据,只做词云展示,数据名称为《大连旅游度假关键词频数.csv》。下面一个工作流使用的三个文本数据,展示了从读取到分词,再到词云展示,最后又做了情感分析,使用的数据名称为《yantaidujia.txt》、

《yantailvyou.txt》 、《yantaiyanglao.txt》。

演示 1

读取数据后,首先使用选择节点筛选高频词,配置如下:

其次,使用词云节点展示词云,配置如下:

展示结果如下:

从词云中,我们可以看出,词云中地名除了有大连之外,还有青岛、张家界、江南、桂林、哈尔滨、香港等。这说明提及大连的人中有很多都同时提到了这些地名,如此可以看出,大连在旅游方面竞争力不够强,同时被提到的地方主要都是竞品。

演示 2

首先,使用文本挖掘目录下的平面文件节点读取数据,配置如下:

读取的文本数据,如下图所示:

其次,使用中文分词节点对 Document 列的文本进行分词,配置如下:

可以通过词云查看分词后结果。

最后,使用情感分析节点分析情感强度,节点配置如下:

执行后,可以查看情感分析表。

小结

通过这两个小示例,我们掌握了文本挖掘的一些基本方法,比如两种做词云的方式,以及如何进行中文分词和情感分析。

文本分类

  1. 数据理解

该案例使用的数据是 demo 文件夹下的《疾病信息.xls》,包含日志和类型两列数据,数据如下:

演示

该案例的工作流如下:

该工作流从读取 Excel 文件开始。首先使用分词对文档进行分词,并使用一系列的手段对词进行过滤。然后,从这些词中提取出最关键的词,并基于关键词生成标志型字段。这些字段将会作为针对文档进行分类预测的影响因素,之后以这些指标为输入,以文档类别为目标建立文档的分类预测模型。

读取数据后,首先使用分词节点对日志字段的记录进行分词,配置如下:

然后,对噪声词进行过滤,配置如下:

执行后,得到如下的过滤表:

之后进入数据准备阶段。使用一系列手段对词进行过滤,具体的工作流如下:

第一步,将所有字符都转换为小写,配置如下:

第二步,过滤不需要的字段,配置如下:

生成的选择表如下:

第三步,对分词字段进行汇总,配置如下:

第四步,选择计数大于 15 的记录,配置如下:

生成的选择表如下:

对于词云展示来说,数据准备进行到这一步就已足够,词云图如下:

对于文本分类来说,数据准备还要继续进行第五步,参考行过滤。第二步生成的过滤表作为数据表,第四步生成的选择表作为参考表,配置如下:

至此,就完成了文本分类的数据准备,可以进行文本分类了。首先进行缺失值填充,配置如下:

然后使用类型节点,指定“类型”字段为目标,配置如下:

最后,利用朴素贝叶斯节点对文本进行分类,配置如下:

得到如下的预测表和分类预测模型:

小结

通过这个示例,我们掌握了文本分类的基本步骤,包括对文档进行分词、对词进行过滤以及分类预测。