多语言展示
当前在线:1414今日阅读:103今日分享:49

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

Mathematica 具有独特灵活的处理大量文本数据的能力. 用起来可以大幅提高工作效率, 在这次经验之中, 我们再来看一个实例(类似于官方给出的例子), 检索某一文本信息之中出现的关键字, 数据集合用的是 TXT 格式的[张爱玲经典散文集].
方法/步骤
1

第一步文本数据的导入, 导入之前查看一下相关的属性, 总是一个不错的尝试. 可以看到直接可将整个文本按照 Text 格式导到系统中来,  尝试导入, 并且观察出现的问题.

2

你会发现, 导入的只是一堆乱码, 这种情况在我们处理文本的时候常常会遇到的, 如何去解决此类问题呢? 根本原因就在于源文件的字符编码和软件默认导入的编码并不相符, 这种情况下, 我们导入的时候需要设置导入时候所要用到的解码选项  CharacterEncoding . 现在再次导入, 就可以正确的导入文本数据了.

3

我们的这个例子的目的是想查找某个关键的词, 然后在整篇的文档之中将该词高亮显示出来. 怎么去做呢? 我们先来看看 text 是什么类型呢? 它是 String, 是属于原子的表达式. 考虑用 StringSplit 按照此关键词(比如 微笑), 然后将 2个为一组分割(偏移为 1 ). 并且定义一个自定义的函数, 计算每个关键词出现的左边文本(20个字符)和右边文本:

4

我们将这个些内容组装起来, 你就会发现最后的结果, 将纯函数作用到每分组上, 关键字以蓝色字体突出显示.

5

一般而言, 我们在文本分析当中, 会编写很多脚本来进行分析过滤, 如果遇到有重用可能的代码, 不妨将其封装, 写成函数的形式, 以后再次处理类似的数据, 也会非常方便. 我们现在动手把上述的代码写成函数.

6

最后, 我们再玩一下这个文本的数据集合, 就结束本经验了. 显示"微笑'在整篇文章中的位置.

注意事项

我们希望将要处理的数据集合, 会非常干净, 包含全部期望的信息, 但是这样的数据在现实世界中通常很难找到, 因此非常熟练地掌握字符串的处理和模式命令是实际工作当中有必要的技能.

推荐信息