赞
踩
百香果nlp(nlp.100xg.cn):欢迎提交人工智能(AI)、自然语言处理(NLP)、大数据(big data)、机器学习(ML)、数据挖掘(DM)、知识图谱、智能硬件、工业互联网、工业机器人、云计算、5G网络、物联网、边缘计算(MEC)、机器人流程自动化(RPA)、前沿科技相关的公司、术语、API接口、项目、生成器、解决方案、开放平台产品、ai算法、ai模型、源码、sdk\模块、软件系统、在线/离线工具等领域词条。快速提交,并将在这里展现。
中文文本预处理
1. 中文文本挖掘预处理特点
中文文本挖掘预处理和英文文本挖掘预处理相比的一些特殊点。
首先,中文文本是没有像英文的单词空格那样隔开的,因此不能直接像英文一样可以直接用最简单的空格和标点符号完成分词。所以一般我们需要用分词算法来完成分词,在文本挖掘的分词原理中,我们已经讲到了中文的分词原理,这里就不多说。
第二,中文的编码不是utf8,而是unicode。这样会导致在分词的时候,和英文相比,我们要处理编码的问题。
这两点构成了中文分词相比英文分词的一些不同点,后面我们也会重点讲述这部分的处理。当然,英文分词也有自己的烦恼,这个我们在以后再讲。了解了中文预处理的一些特点后,我们就言归正传,通过实践总结下中文文本挖掘预处理流程。
2. 数据收集
3. 除去数据中非文本部分
这一步主要是针对我们用爬虫收集的语料数据,由于爬下来的内容中有很多html的一些标签,需要去掉。少量的非文本内容的可以直接用Python的正则表达式(re)删除, 复杂的则可以用beautifulsoup来去除。去除掉这些非文本的内容后,我们就可以进行真正的文本预处理了。
4. 处理中文编码问题
由于Python2不支持unicode的处理,因此我们使用Python2做中文文本预处理时需要遵循的原则是,存储数据都用utf8,读出来进行中文相关处理时,使用GBK之类的中文编码,在下面一节的分词时,我们再用例子说明这个问题。
5. 中文分词
常用的中文分词软件有很多,个人比较推荐结巴分词。安装也很简单,比如基于Python的,用"pip install jieba"就可以完成。
6. 引入停用词
在文本分析的时候引入,因此需要去掉,这些词就是停用词。常用的中文停用词表是1208个,下载地址在这。当然也有其他版本的停用词表,不过这个1208词版是我常用的。
7. 特征处理
8. 建立分析模型
有了每段文本的TF-IDF的特征向量,我们就可以利用这些数据建立分类模型,或者聚类模型了,或者进行主题模型的分析。比如我们上面的两段文本,就可以是两个训练样本了。此时的分类聚类模型和之前讲的非自然语言处理的数据分析没有什么两样。因此对应的算法都可以直接使用。而主题模型是自然语言处理比较特殊的一块,这个我们后面再单独讲。
9.中文文本挖掘预处理总结
上面我们对中文文本挖掘预处理的过程做了一个总结,希望可以帮助到大家。需要注意的是这个流程主要针对一些常用的文本挖掘,并使用了词袋模型,对于某一些自然语言处理的需求则流程需要修改。比如我们涉及到词上下文关系的一些需求,此时不能使用词袋模型。而有时候我们对于特征的处理有自己的特殊需求,因此这个流程仅供自然语言处理入门者参考。
计算机语言:Java、JavaScript、PHP、Python、C#、Android、Objective-C、Go语言、c/C++、NodeJS、Swift、R语言。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。