多语言展示
当前在线:176今日阅读:176今日分享:34

Mathematica数据可视化:[22]文本处理实战

Mathematica 具有独特灵活的处理大量文本数据的能力. 用起来可以大幅提高工作效率, 在 本经验之中, 我们来动手做一个小小的项目, 把相关的字符串操作应用一边, 也与大家分享一点心得.
方法/步骤
1

我们的目标是创建小说[爱丽斯漫游仙境]中单词频率的条形图, 所用数据集为软件自带(当然是英文) . 当然第一步就是将文本数据导入, 然后划分成单个的字符. 不过这里有个小技巧, 就是在导入之前, 先查看一下文本都有那些属性, 可以发现一个非常有帮助的属性 'Words' 格式导入, 这样做的话, 可以节省大量的自己来划分单词的时间了.

2

在文本分析中,有一类符号,单词可以忽略, 符号包括句号、逗号,或者其它标点符号, 单词比如来讲:a, I,  and, of , to, they, the, it, you 等等, 因为他们通常没有什么信息, 称之为 停用词 (stop words), 现在我们定义一些符号和停用词来, 等会处理的时候, 先把符号类这些过滤掉.

3

再来将停用词删除, 看看结果如何, 会出现什么异常问题.

4

哇哦, 确实出现了一些问题, 原因在于某些单词中的 i 为当做人称代词的主格删除掉了. 怎么解决呢? 要把处理的过程稍微倒回去一点, 换种方法重新处理一下.

5

现在再从 temp2 中删除掉这些停用词. 请注意, 这里用的 DeleteCases 普通的模式处理函数.

6

现在, 做一点统计的工作就可以进行绘图了. 当然观察图形之中还是出现了一些无意义的单词: she, was , 原因就是我们之前定义停用词的集合并未包含该词的原因, 不过这并不是重点, 我只是拿来说明问题.

注意事项
1

从这个小小的实例当中, 我们就需要反复的测试, 观察结果, 修改, 最后才能得到一个干净的数据集合, 再次基础之外, 才能开始可视化项目的设计工作.

2

数据清理的工作非常繁琐, 通常要占整个项目的70%的时间, 但是这个工作是无法避免的, 只有耐心 + 细心.

推荐信息