前言

本文是该专栏的第1篇,后面会持续分享NLP的各种干货知识,值得关注。

一般来说,自然语言处理(NLP)就是开发能够理解人类语言的应用程序或者应用服务。

举个例子,如Facebook News Feed这种社交网站推送,它的算法知道你的兴趣是自然语言处理,就会推送相关的广告或者帖子;再比如Apple的Sri,它通过语言引擎处理,应对你的问题,给出一些回答内容。

现阶段,自然语言工具包最受欢迎的自然语言处理库是Natural language toolkit (NLTK),其是用python编写的,有着非常强大的社区支持。而且NLTK非常容易上手,主要在于它是最简单的自然语言(NLP)处理库。

以下使用NLTK处理停用词为例,跟着笔者直接往下看。

正文

1. 安装

如果你已安装,请忽略该步骤,直接往下看即可。安装方法如下:

pip install nltk

2. 统计词频

假设,现在需要读取某个txt文本内容,将其内容的词频进行统计,示例代码如下:

import nltk# 读取txt文本内容,写入你的txt文本路径
with open(r'ck.txt', 'r', encoding='utf-8') as f:txt = f.read()f.close()word_list = {}
# 使用nltk.FreqDist统计词频
record = nltk.FreqDist(txt)
for key, value in record.items():# print(f'{key}: {value}')word_list[key] = valueprint(word_list)

注意:由于这里的txt文本是笔者本地的,你可以替换成一个你自己的txt文本即可。

运行上述代码成功之后,结果显示如下:

单独看上面的结果,会显得比较乏味。可以直接使用plot函数(即数据分析三剑客之一的matplotlib)做出频率分布图,matplotlib安装方法如下:

pip install matplotlib

示例代码如下:

import matplotlib
import nltk
import matplotlib as plot# 显示中文
matplotlib.rc("font", family="YouYuan")# 读取txt文本内容
with open(r'ck.txt', 'r', encoding='utf-8') as f:txt = f.read()f.close()word_list = {}
# 使用nltk.FreqDist统计词频
record = nltk.FreqDist(txt)
for key, value in record.items():# print(f'{key}: {value}')word_list[key] = valuerecord.plot(20, cumulative=False)

注意:当你的txt文本是中文的时候,必须加入该代码,否则可视化界面显示不了中文,代码如下:

import matplotlib# 显示中文
matplotlib.rc("font", family="YouYuan")

运行上述代码,结果如下:

像上图中的“的,是,‘,’,‘。’”等等,这些词都属于停用词。而对于出现停用词,应该进行删除,防止它们影响分析结果。

3. 停用词处理 

NLTK,它自带了多种语言的停用词列表。

比如说,你想获取英文停用词表,使用如下代码即可:

from nltk.corpus import stopwordsstopwords.words('english')    # 这里的语言为english

根据对应语言,更改对应的参数即可。但是笔者认为这种停用词表并非一招吃遍天,所以最好是我们自己可以搭建一个停用词表,后期持续更新优化这个停用词表即可。笔者这里有中文停用词表以及英文停用词表,感兴趣的同学可以私信找我要即可。

考虑加入停用词之后,示例代码如下:

import matplotlib
import nltk
import matplotlib as plot# 显示中文
matplotlib.rc("font", family="YouYuan")
# 读取txt文本内容
with open(r'ck.txt', 'r', encoding='utf-8') as f:txt = f.read()f.close()word_list = {}
# 读取停用词
with open(r'中文停用词.txt', 'r', encoding='utf-8') as f:stopword = f.read()f.close()# 使用nltk.FreqDist统计词频
record = nltk.FreqDist(txt)
for key, value in record.items():# print(f'{key}: {value}')if key in stopword:passelse:word_list[key] = valuerecord.plot(20, cumulative=False)

如果还想了解,后面笔者会持续更新NLP的相关干货知识,记得收藏并关注小编,后面的python干货在等着你。

如果喜欢本文或者本文对你有帮助的话,记得关注小编并点个赞哟,有问题和需求欢迎留言私信

NLP-统计词频之处理停用词相关推荐

  1. NLP实战1--词典、停用词、问答对的准备

    语料的准备 1.词典 2.停用词 3.问答对 4.相似问题 1.分词词典 最终词典的格式 1.1 词典来源 1.各种输入法的词典 2.手动收集,根据要求收集词典 1.2 词典处理 jieba分词 ji ...

  2. 根据词频、背景图绘制词云图

    根据词频.背景图绘制词云图 记录一下绘制词云图的过程 首先说明一下,绘制词云图完整的过程应如下: 获取一段文本,也就是要根据这个文本来绘制词云图 制作停用词词典,简单来说,停用词就是分词的规则,例如, ...

  3. ik分词和jieba分词哪个好_Python 中文 文本分析 实战:jieba分词+自定义词典补充+停用词词库补充+词频统计...

    最近项目需要,实现文本的词频分析,折腾了几天才完成任务,有点成就感,最后整理总结一下这部分的内容,希望更多同僚受益. 一.使用前准备 环境:Python3.6 安装结巴:pip install ji ...

  4. Python制作炫酷的词云图(包含停用词、词频统计)!!!

    Python制作词云图(包含停用词.词频统计) 话不多说,直接先上词云效果图!!! 想根据自己喜欢的颜色.字体.以及背景蒙版制作词云图吗?别急,往下看! 分词以及词频统计的代码片段: (包含停用词库: ...

  5. 文本挖掘(超详细:数据获取 - 数据清洗 - 中文分词 - 去除停用词 - 词频统计 - 词云图 - 情感分析)

    文本挖掘(超详细) 朋友们好,文本挖掘这篇文章写了也有一段时间了,承蒙朋友们的厚爱,作者后面有做过一个升级版的文本挖掘,但苦于没有时间一直没有更新,现在在抽时间把后面写的这个也发布出来,两篇文章的步骤 ...

  6. 【NLP】文本预处理:删除单词停用词

    作者 | Chetna Khanna 编译 | VK 来源 | Towards Data Science 我们很清楚这样一个事实:计算机可以很容易地处理数字. 然而,我们掌握的大部分信息都是以文本的形 ...

  7. NLP预处理——编码、繁转简、停用词、表情、标签

    preface:随着经历的积累,觉得预处理问题愈发重要,需要整理整理. 环境:mac,anaconda2 目录 一.文本编码转换 二.繁转简 三.停用词 四.表情异常符号 五.html/json/xm ...

  8. 数据挖掘之jieba模块使用(读取单个文本内容(txt,word,pdf),对文章进行分词(中文)统计每个词语出现的次数并按从大到小排序,同时通过停用词库排除停用词)

    实验室终于开始搞新的东西了,我又可以学到更大佬的知识了~(虽然以前的知识都没掌握-) 这次分享实验室留的作业(对jieba模块的使用) 首先要设置停用词 # 设置停用词 print('start re ...

  9. python爬取《三国演义》小说统计词频生成词云图

    python爬取<三国演义>小说&统计词频&生成词云图 注意点: 爬取小说正文时用的正则表达式涉及到多行匹配.需要开启多行模式(?s) book_content_re = ...

最新文章

  1. websocket实现群聊
  2. Activiti 初步学习
  3. IIS装好了无法访问localhost
  4. Android界面开发工具DroidDraw
  5. 2021年Java大厂面试必备面试题
  6. Taobao 的 Linux 内核开源贡献
  7. 51单片机入门——8X8点阵LED
  8. Ubuntu设置系统时间与网络时间同步
  9. Python之基础语法
  10. 雷达测距测速测角基本原理
  11. Apache虚拟主机配置
  12. java+mysql基于SSM的班级管理系统#毕业设计
  13. python 并发 数据库_python写入mysql数据库
  14. 2018年10月自考计算机应用基础真题,2018年10月全国自考《计算机应用基础》真题与答案...
  15. 如何使用git 生成patch 和打入patch
  16. dubbo、dubbox坑集合
  17. 与、或、非、异或,运算符巩固
  18. 崇阳职校计算机基础知识试题及答案,崇阳职校2014年春期末考试.doc
  19. 你的语言模型有没有“无法预测的词”?
  20. 机器学习笔记之朴素贝叶斯分类算法

热门文章

  1. 统计学习导论(1)------------一般线性模型介绍
  2. CCO2017 Vera and Trail Building 构造+图论
  3. 网络安全传输系统(3)-加密传输
  4. Java岗面试12家大厂成功跳槽,含泪整理面经
  5. Git下载代码--git clone命令
  6. Voronoi图(四):抛物线的妙用
  7. Mybatis源码研究序
  8. ntp服务器授时原理,NTP原理简介
  9. python逻辑回归的主要参数_python机器学习(六)回归算法-逻辑回归
  10. 猫咪藏在哪个房间python_‎App Store 上的“敢问猫在何方 - 妈妈把我的猫咪藏起来了”...