文字挖掘的基本流程:
基本处理步骤:
1. 抓取非结构化的资料:
-
定义资料的来源:
新闻、社群网络、论坛、文献资料(BBC、微博、豆瓣、知乎、各大学术期刊) -
定义关键字找出相关文章:
白名单:与想要分析的资料相关的一些关键字
黑名单:与白名单相似的,但与要分析的资料无关的干扰项 -
过滤假的信息:
有时我们需要分析留言,评论的内容,而这其中常常参杂着很多(有文章指出大约在16%,有些可能会更多)造假的评论和留言。这些是我们希望尽可能的去避免,去过滤掉的。- 依内容
- 依发布时间(像是一般一个产品发布初期可能会有水军来刷评价)
- 依作者
2. 资料的前处理
目的:转成正规的语句
- 格式统一
- 去除格式话的标签
- 半形全形的转换
- 去除或取代一些数字和符号
- ε=ε=ε=ε=ε=ε=┌(; ̄◇ ̄)┘:逃跑
- awsl “啊我死了”:太可爱
- 更正一些标点符号
- 有些帖文没有标点
- 中文英文对于语句结束的定义不同
- 去除引号和一些无法处理的符号
3. 断句断词
断句的目的:我们可以看一下一篇文章有几个句子,每个句子的长度。通过分析每个句子的长度和复杂度我们可以侧面看出教育水平。
断词的目的:中文都是以字为单位,但是要分析的话我们需要以词为单位来分析才有意义。
注: 我们常常需要根据不同的分析案例来自建词典。(jiebaR提供自己自建词典)因为不同领域的一些专有名词在常用的词典中没有。
4. 去除停用字
断词后去除一些缀词,口头语,感叹词(像是:啊,哦,你,我,他,总之)
5. 根据所需进行分析和应用
- 文字云
- 知识图谱
- 对话机器人
- ……
需要的工具套件:
- 内容来源:guternbergr 古腾堡计划,提供很多书籍电子版资料,可以用guternbergr套件以编号直接下载书籍
- 自己爬取内容:现成的爬虫工具,自己写爬虫
- 基本文字处理:dplyr、tidytext 包
- 断词模组:
1. 中文:jiebar包
基本断词
自定义使用者断词词典
自定义停用词
2. 英文:Stanford Cote NLP - 词性标注模组:
中文:Stanford Cote NLP
英文:Stanford Cote NLP
欢迎关注【数据小盐罐儿】一个很“咸”的数据科学公众号,不定期分享有趣好玩的项目以及大量的学习资源。