【自然语言处理概述】文本词频分析
【自然语言处理概述】文本词频分析
作者简介:在校大学生一枚,华为云享专家,阿里云专家博主,腾云先锋(TDP)成员,云曦智划项目总负责人,全国高等学校计算机教学与产业实践资源建设专家委员会(TIPCC)志愿者,以及编程爱好者,期待和大家一起学习,一起进步~
.
博客主页:ぃ灵彧が的学习日志
.
本文专栏:人工智能
.
专栏寄语:若你决定灿烂,山无遮,海无拦
.
文章目录
- 【自然语言处理概述】文本词频分析
- 一、前沿
- (一)、任务描述
- (二)、环境配置
- 二、代码部分
- (一)、文本加载
- (二)、文本分词
- (三)、去停用词
- (四)、根据词频排序并输出
- (五)、小结
- 三、总结
一、前沿
(一)、任务描述
文本与图片具有本质上的差别:图片本质上是数字化的,其每个像素点都由三原色的组合灰度值构成,而文本属于自然语言,其表现形式无法被计算机直接识别,因此,在自然语言处理技术发展的早期,解决文本表示问题是一项极具挑战的任务。
(二)、环境配置
本次实验平台为百度AI Studio,Python版本为Python3.7,下面介绍如何通过Python编程方式实现文本词频分析。
二、代码部分
(一)、文本加载
首先将需要分析的文本从文件中读出,本文以一篇散文为例进行后面的分析:
with open('test.txt', 'r', encoding='UTF-8') as novelFile:novel = novelFile.read()
(二)、文本分词
目前,Python支持多种第三方分词工具,最常用的有jieba分词、SnowNLP、THULAC、NLPIR等,本书以jieba分词为例进行演示,更多分词工具读者可以自行实验尝试。
import jieba # jieba中文分词库
novelList = list(jieba.lcut(novel))
(三)、去停用词
在自然语言中,存在很多无意义的词,比如标点符号“、”“的”“之”等,这类词出现频率高,且具有很有限的语义作用,称作停用词。为了避免这类词对统计结果造成的干扰,通常在分词之后,需要将其剔除,只保留重要的词语用作进一步分析,下面一段代码演示了计算每个词出现的频次的过程,若该词在停用词列表中,直接不计入:
stopwords = [line.strip() for line in open('stop.txt', 'r', encoding='UTF-8').readlines()]
novelList = list(jieba.lcut(novel))
novelDict = {}# 统计出词频字典
for word in novelList:if word not in stopwords:# 不统计字数为一的词if len(word) == 1:continueelse:novelDict[word] = novelDict.get(word, 0) + 1
(四)、根据词频排序并输出
import jieba # jieba中文分词库with open('test.txt', 'r', encoding='UTF-8') as novelFile:novel = novelFile.read()
# print(novel)
stopwords = [line.strip() for line in open('stop.txt', 'r', encoding='UTF-8').readlines()]
novelList = list(jieba.lcut(novel))
novelDict = {}# 统计出词频字典
for word in novelList:if word not in stopwords:# 不统计字数为一的词if len(word) == 1:continueelse:novelDict[word] = novelDict.get(word, 0) + 1# 对词频进行排序
novelListSorted = list(novelDict.items())
novelListSorted.sort(key=lambda e: e[1], reverse=True)# 打印前10词频
topWordNum = 0
for topWordTup in novelListSorted[:10]:print(topWordTup)from matplotlib import pyplot as plt
x = [c for c,v in novelListSorted]
y = [v for c,v in novelListSorted]
plt.plot(x[:10],y[:10],color='r')
plt.show()
(五)、小结
词频统计在一定程度上可以反映文本的特征。文本词频分析仅仅可以作为文本的一部分最浅层的特征使用,但是要分析其深度语义,需要使用更加先进的文本特征提取方式。
三、总结
本系列文章内容为根据清华社出版的《自然语言处理实践》所作的相关笔记和感悟,其中代码均为基于百度飞桨开发,若有任何侵权和不妥之处,请私信于我,定积极配合处理,看到必回!!!
最后,引用本次活动的一句话,来作为文章的结语~( ̄▽ ̄~)~:
【学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。】
ps:更多精彩内容还请进入本文专栏:人工智能,进行查看,欢迎大家支持与指教啊~( ̄▽ ̄~)~
【自然语言处理概述】文本词频分析相关推荐
- NLP之TEA:自然语言处理之文本情感分析的简介、算法、应用、实现流程方法、案例应用之详细攻略
NLP之TEA:自然语言处理之文本情感分析的简介.算法.应用.实现流程.实现方法之详细攻略 目录 TEA的简介 TEA的应用 TEA的实现流程 TEA的实现方法 T1.词袋模型 TEA的案例应用 TE ...
- python文本txt词频统计_python实例:三国演义TXT文本词频分析
0x00 前言 找不到要写什么东西了!今天有个潭州大牛讲师 说了个 文本词频分析 我基本上就照抄了一遍 中间遇到一些小小的问题 自我百度 填坑补全了 如下 : 效果演示 0x01 准备环境及 ...
- 大数据分析 | 用 Python 做文本词频分析
老师教给我,要学骆驼,沉得住气的动物.看它从不着急,慢慢地走,慢慢地嚼,总会走到的,总会吃饱的. ---<城南旧事> 目录 一.前言 Python 简介 Python 特点 二.基本环境配 ...
- 数据分析学习总结笔记16:NLP自然语言处理与文本探索性分析
文章目录 1 引言 2 数据集 3 文本统计信息分析 4 Ngram模型探索 5 基于pyLDAvis的主题模型探索 6 绘制词云图 7 情感分析 7.1 TextBlob 7.2 Vader Sen ...
- 自然语言处理之文本情感分析
1.导语 深度学习近些年取得突破性的发展,目前深度学习技术在人工智能领域应用最广泛的两方面就是CV(计算机视觉)和NLP(自然语言处理),在本次夏虹老师的<人工智能>课程上,我和我的小组成 ...
- 文本词频分析_Python初学
目的是将文本的词频进行统计分析,并做成词云 import jieba import matplotlib.pyplot as plt from wordcloud import WordCloud,I ...
- python jieba词频统计英文文本_python实战,中文自然语言处理,应用jieba库来统计文本词频...
模块介绍 安装:pip install jieba 即可 jieba库,主要用于中文文本内容的分词,它有3种分词方法: 1. 精确模式, 试图将句子最精确地切开,适合文本分析: 2. 全模式,把句子中 ...
- 自然语言处理(NLP)之使用LSTM进行文本情感分析
情感分析简介 文本情感分析(Sentiment Analysis)是自然语言处理(NLP)方法中常见的应用,也是一个有趣的基本任务,尤其是以提炼文本情绪内容为目的的分类.它是对带有情感色彩的主观性文本 ...
- python文本聚类 词云图_有哪些软件可以进行中文词频分析?
在现实生活中,人想做词云,也有了关键词的数据但自己又不会做词云可怎么办,我给大家推荐几款词云制作工具,让你瞬间呈现美观.酷炫的词云可视化.我们先来看看国外的词云制作工具: 1.Wordle Wordl ...
最新文章
- 毕业三年,贷款40万创业之后我又做回了程序员
- JZOJ 5267. 费马点问题
- proj4经纬度bl转换xy_多种坐标系之间的转换之Proj.NET_转载
- GDIPlus灰度化图像
- 移除指定 global using 命名空间
- leetcode89. 格雷编码
- php dingo和jwt,dingo配合laravel、JWT使用
- ASP.NET Core Api网关Ocelot的中文文档
- 阿里首款自研芯片含光800问世!算力相当于10个CPU,性能超第二名4倍!
- 大数据之-Hadoop3.x_MapReduce_ReduceJoin案例需求分析---大数据之hadoop3.x工作笔记0128
- Tomcat Insufficient space for shared memory file
- 问卷统计前奏【SPSS 072期】
- 独自封装windows 10系统教程(全)
- CentOS 7.6 安装 Sentaurus 2017.09 记录
- iphone 装 android系统,iPhone上安装Android系统详细步骤。
- 网易云音乐评论抓取(js逆向)
- 如何将一串数字用函数的方法倒过来(C语言)
- 如何PHP给人生日祝福,送给网友的生日祝福语 朋友的祝福语
- 书画拍卖系统 php源码,网上拍卖系统,源代码
- 汇编程序:计算分段函数