学习记录 - 1

来源:互联网 发布:域名证书 美橙 编辑:程序博客网 时间:2024/06/17 11:33

前言:去年水过一次建模比赛,选题是垃圾评论识别。作为一个门外汉,当时提取垃圾评论特征的想法是人工寻找尽可能多的垃圾评论数据,然后提取出现的高频词。然而,提取高频词时又遇到了技(bian)术(cheng)问题,所以最后只好目测取了一些词汇作为垃圾评论的特征词。
于是这次接触到smartbi,先试一下它的文本挖掘功能。

首先打开示例的“文本挖掘”工作流,看到里面有三个节点:
"文本挖掘"工作流的大纲

右键查看excel节点中的示例数据,发现表格是词频表。
所以这个示例工作流是处理提取好的词频表,而不是处理原始数据提取词汇。excel节点的参数都很好理解,看了就懂了,所以略过。

第二个节点是筛选高频词,右键看此节点的配置。
筛选高频词-配置
第一个选项(选择方式)是选择需要处理的数据的方式,可以通过行属性(行名称)、数字(行号)、行ID(正则表达式匹配行ID)来选择。一般选择行属性方式,具有解释性,否则还要打开表看行号行ID,比较麻烦。示例选择的是行属性。

第二个选项是过滤参数。模式匹配是通过某种模式(如正则表达式)来过滤选择的数据;仅匹配缺失值同字面意思,匹配的是缺失测试字段的数据;范围检查是过滤字段值在上限(下限)以外的数据。

示例选择的是范围检查,过滤掉词频小于100的词汇。生成的词云如下:
词云
鼠标移动到词云上的某个词时,还会显示其词频。很方便的可视化!

想了一下,模式匹配可以用在过滤词汇的非数字表达属性(比如情感色彩,词性之类的),然后生成不同属性词汇的词云图。

下面自己找数据试验。
从网上找了一个英文单词的词频表。

数据说明:词频表有5列 (rank, lemma, PoS, freq, dispersion),含义如下
lemma, 即单词
freq = frequency in the corpus
dispersion = Juilland’s dispersion measure (0-1): how “evenly” the lemma is distributed across the corpus
rank = a function of score (not shown here), but which is calculated as: freq disp*
pos = part of speech

主要使用的是lemma, freq, pos这三列。
excel节点配置:
这里写图片描述
读取列选择B-D列,读取行不填就会读取全部。刷新一下就会发现”预览”变成了配置中选中的行和列。
筛选参数设置:
过滤参数
把pos不是n的过滤掉,即留下了名词。
但是这样留下的词太多了,还是有很多频数很小的词存在,这样不好画词云图。
所以,增加一个筛选高频词节点,配置为freq-范围检查-下限30000

这样就只剩下词频在30000以上的单词了。下限的确定是要根据词汇数量来修改的,过多过少词云都不好看。

现在工作流是这样的:
新的工作流

画出的词云图是这样的:
名词词云

词频统计表的语料是COCA(现代美国英语语料),语料库包含超过5.2亿词汇,且均匀取自口语、小说、杂志、报纸和学术文本。

词云图上,中间较大的几个词汇是way, family, home, game, company, law等等。简单得出一个结论,家庭、公司、法律在美国人的生活中占有不小的比例。好像是废话:)不过至于怎么深入分析还是以后再说。

0 0
原创粉丝点击