文本数据挖掘(Text Mining)是指从文本数据中抽取有价值的信息和知识的计算机处理技术。顾名思义,文本数据挖掘是从文本中进行数据挖掘(Data Mining)。从这个意义上讲,文本数据挖掘是数据挖掘的一个分支。文本挖掘有三个独特的关键步骤:一是分词,通过分词可以将非结构化数据转化为结构化数据;二是情感分析,定义情感强度,从文本中挖掘作者的情绪或者从评论中挖掘用户的满意度或者观点;三是去噪,即从分出的众多词中剔除干扰的无用的词,提升数据质量。
下面结合一个小的案例演示文本挖掘的实现过程。工作流:
1、数据理解
该案例有两个工作流,使用的是textmining文件夹的数据。上面一个工作流使用的是已经分过词的结构化数据,只做词云展示,数据名称为《大连旅游度假关键词频数.csv》。下面一个工作流使用的三个文本数据,展示了从读取到分词,再到词云展示,最后又做了情感分析,使用的数据名称为《yantaidujia.txt》、 《yantailvyou.txt》 、《yantaiyanglao.txt》。
2、演示1
读取数据后,首先使用行过滤节点筛选高频词,配置如下:
其次,使用字符串到词节点将格式从字符型转换为词。配置如下:
最后,使用词云节点展示词云,配置如下:
展示结果如下:
从词云中,我们可以看出,词云中地名除了有大连之外,还有青岛、张家界、江南、桂林、哈尔滨、香港等。这说明提及大连的人中有很多都同时提到了这些地名,如此可以看出,大连在旅游方面竞争力不够强,同时被提到的地方主要都是竞品。
3、演示2
首先,使用平面文件节点读取三个数据,配置如下:
注意,该节点的路径只需定义到数据文件所在的文件夹,不需要指定文件,节点会默认读取该文件夹下的所有文本数据,一个文本数据将作为一条记录组成表。文件夹下一共有三个文本数据,共生成三条记录,如下图所示:
其次,使用中文分词节点对Document列的文本进行分词,配置如下:
分词后的数据表为:
再次,使用字符串到词节点转换格式,配置如下:
然后,使用词云节点绘制词云,结果如下图所示:
最后,使用情感分析节点分析情感强度,节点配置如下:
情感分析后的结果如下:
4、小结
通过这两个小示例,我们掌握了文本挖掘的一些基本方法。而且我们还掌握了如何将R的算法集成到工作流中,这种方式既保留了R在开发灵活性和有着丰富算法资源的优点,又解决了R操作不便和效率慢的问题。
本文源自:http://wiki.smartbi.com.cn/pages/viewpage.action?pageId=13599879