Mathematica 具有独特灵活的处理大量文本数据的能力. 用起来可以大幅提高工作效率, 在 本经验之中, 我们来动手做一个小小的项目, 把相关的字符串操作应用一边, 也与大家分享一点心得.
Mathematica 具有独特灵活的处理大量文本数据的能力. 用起来可以大幅提高工作效率, 在 本经验之中, 我们来动手做一个小小的项目, 把相关的字符串操作应用一边, 也与大家分享一点心得.
我们的目标是创建小说[爱丽斯漫游仙境]中单词频率的条形图, 所用数据集为软件自带(当然是英文) . 当然第一步就是将文本数据导入, 然后划分成单个的字符. 不过这里有个小技巧, 就是在导入之前, 先查看一下文本都有那些属性, 可以发现一个非常有帮助的属性 "Words" 格式导入, 这样做的话, 可以节省大量的自己来划分单词的时间了.
在文本分析中,有一类符号,单词可以忽略, 符号包括句号、逗号,或者其它标点符号, 单词比如来讲:a, I, and, of , to, they, the, it, you 等等, 因为他们通常没有什么信息, 称之为 停用词 (stop words), 现在我们定义一些符号和停用词来, 等会处理的时候, 先把符号类这些过滤掉.
再来将停用词删除, 看看结果如何, 会出现什么异常问题.
哇哦, 确实出现了一些问题, 原因在于某些单词中的 i 为当做人称代词的主格删除掉了. 怎么解决呢? 要把处理的过程稍微倒回去一点, 换种方法重新处理一下.
现在再从 temp2 中删除掉这些停用词. 请注意, 这里用的 DeleteCases 普通的模式处理函数.
现在, 做一点统计的工作就可以进行绘图了. 当然观察图形之中还是出现了一些无意义的单词: she, was , 原因就是我们之前定义停用词的集合并未包含该词的原因, 不过这并不是重点, 我只是拿来说明问题.
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/557174/viewspace-1112144/ ,如需转载,请注明出处,否则将追究法律责任。