您的位置:首页 > 其它

中文文本挖掘预处理流程总结

2018-01-11 20:01 302 查看
1、数据收集
两种方法
使用别人做好的语料库和自己用爬虫去网上爬自己的预料数据。
爬虫工具:开源工具很多,通用的爬虫使用beautifulsoup,如需要某些特殊的预料数据,则需要用主题爬虫(也叫聚焦爬虫)来完成。一般使用ache,它允许我们用关键字活着一个分类算法来过滤出我们需要的主题预料,比较强大。
2、除去数据中非文本部分
 这一步主要是针对我们用爬虫收集的语料数据,由于爬下来的内容中有很多html的一些标签,需要去掉。少量的非文本内容的可以直接用Python的正则表达式(re)删除,复杂的则可以用beautifulsoup来去除。
去除掉这些非文本的内容后,我们就可以进行真正的文本预处理了。
3、处理中文编码问题
由于Python2不支持unicode的处理,因此我们使用Python2做中文文本预处理时需要遵循的原则是,存储数据都用utf8,读出来进行中文相关处理时,使用GBK之类的中文编码
4、中文分词
结巴分词
5、去除停用词等
6、特征处理
两种方法:向量化与Hash Trick。
向量化常用,因为它可以接着进行TF-IDF的特征处理。
用scikit-learn进行tf-idf预处理
7、建立分析模型
训练样本

词袋模型假设我们不考虑文本中词与词之间的上下文关系,仅仅只考虑所有词的权重。而权重与词在文本中出现的频率有关
总结下词袋模型的三部曲:分词(tokenizing),统计修订词特征值(counting)与标准化(normalizing)
当然,词袋模型有很大的局限性,因为它仅仅考虑了词频,没有考虑上下文的关系,因此会丢失一部分文本的语义
与词袋模型非常类似的一个模型是词集模型(Set of Words,简称SoW),和词袋模型唯一的不同是它仅仅考虑词是否在文本中出现,而不考虑词频。也就是一个词在文本在文本中出现1次和多次特征处理是一样的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: