基于python的自然语言处理NLP详细教程(一)

写在前面 ——本文关于自然语言处理的内容:

1.相关第三包的准备
2.获取语料库及停用词信息
3.分词
4.词频统计
5.去停用词
6.基于TF-IDF理论、词袋模型等的文本向量化处理
7.机器学习、情感分析
8.简单可视化

一、相关第三方包的准备

关于NLP部分的包主要是分词部分的包和可视化部分的包,机器学习部分我主要就用sk-learn了。

分词部分:

将语料库进行分词并去掉停用词,可以使用的分词工具有:

StandardAnalyzer(中英文)、ChineseAnalyzer(中文)、CJKAnalyzer(中英文)、IKAnalyzer(中英文,兼容韩文,日文)、paoding(中文)、MMAnalyzer(中英文)、MMSeg4j(中英文)、imdict(中英文)、NLTK(中英文)、Jieba(中英文),这几种分词工具的区别,可以参见:http://blog.csdn.net/wauwa/article/details/7865526

对于初学要求不高的,中文可以用结巴分词和哈工大的LTP,NLTK用于情感分析也不错。
分词部分的包主要用pip就行了,我没有遇到什么坑。

可视化部分:
可视化的包各种bug比较多,放到后面一起讲,这里先介绍一下要用到的一些包:
networkx
Pyecharts
Igraph
pyLDAvis,这个包真的神仙包,可以快速出图,坑又少https://www.machinelearningplus.com/nlp/topic-modeling-gensim-python/
它的图长这样,可以具体调节λ来调整显示,也可以快速显示每个类别的比重,类别内分布等在这里插入图片描述
如果不出意外,运气够好,以上的包pip一下还是可以pip的,如果有意外(debug总是常态嘛,不要怕)可以参见我另一篇讲自然语言初学遇到的问题的博客。如果你有用得顺手的可视化的包也可以自定义写,手段可以多样呀。

二、获取语料库及停用词信息

语料库信息先放一个,有机会再补充,语料库的获取不是很难。如果是商用需要自己爬数据的话另当别论
https://github.com/codemayq/chinese_chatbot_corpus

三、分词

分词的难点不在于分,在于分得准确。英文的分词用空格就能分好,所以这一步往往比较简单,中文分词会涉及到专有名词、新兴词语等,所以需要导入专有词文档,同时需要一定的手动监督是否分对,所以中文文本处理中,分词是预处理当中较为重要的一个部分,也比较耗费时间,工作量也较大。
分词的一些原理:
https://blog.csdn.net/nawenqiang/article/details/80847087?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-16&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-16
以jieba分词为例

分词的操作还是很简单的:

import jieba

segments = [
  • 11
    点赞
  • 97
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值