首页 > 编程语言 >Python自然语言处理,词云图生成

Python自然语言处理,词云图生成

时间:2022-11-10 10:05:08浏览次数:33  
标签:wordlist jieba 文本 Python text 云图 自然语言 分词

Python自然语言处理,词云图生成_词云

Python自然语言处理,词云图生成_计算机科学_02


自然语言处理


本节介绍如何使用Python中的库,生成词云图,涉及自然语言处理的相关问题,自然语言处理是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法,自然语言处理是一门融语言学、计算机科学、数学于一体的科学。​

自然语言处理(NLP)是计算机科学,人工智能,语言学关注计算机和人类(自然)语言之间的相互作用的领域。


代码示例

首先导入基本的库,这里选择jiebe分词库,对于文本进行分词处理。

import jieba
print(list(jieba.cut("自然语言是计算机科学领域与人工智能领域中的一个重要方向。")))

代码运行结果如下,实现了将每一条语句进行分词处理。

['自然语言', '是', '计算机科学', '领域', '与', '人工智能', '领域', '中', '的', '一个', '重要', '方向', '。']

接下来读入我们需要做词云的实验文本。

#读入文本
with open(r"C:\Users\shangtianqiang\Desktop\实验文本.txt" ,encoding="utf-8")as file:
text=file.read()
print(text)

这里将导入的实验文本进行分词处理,并且分隔符为空。

#文本分词
wordlist_jieba=jieba.cut(text)
space_wordlist=" ".join(wordlist_jieba)
print(space_wordlist)

对于语句成功分词后,就可以定义分词函数,这个在后文会用到。

#文本分词
def chinese_jieba(text):
wordlist_jieba=jieba.cut(text)
space_wordlist=" ".join(wordlist_jieba)
return space_wordlist
space_wordlist

紧接着导入词云库,读取文本内容后,设置词云的背景颜色,图片的大小,控制显示的词数等。

from wordcloud import WordCloud


#读取文本内容
with open(r"C:\Users\shangtianqiang\Desktop\实验文本.txt" ,encoding="utf-8")as file:
text=file.read()


#设置词云的背景颜色、宽高、字数
wordcloud=WordCloud(font_path="C:/Windows/Fonts/simfang.ttf",background_color="white",width=600,height=300,max_words=30).generate(text)


#生成图片
image=wordcloud.to_image()


#显示图片
image.show()

最后,将调试的代码进行封装,一起看一下最后生成的结果。

# 将文本进行分词,并添加图片背景
from wordcloud import WordCloud
import jieba
import numpy
import PIL.Image as Image


#将字符串切分
def chinese_jieba(text):
wordlist_jieba=jieba.cut(text)
space_wordlist=" ".join(wordlist_jieba)
return space_wordlist


#读取文本内容
with open(r"C:\Users\shangtianqiang\Desktop\实验文本.txt" ,encoding="utf-8")as file:
text=file.read()
text=chinese_jieba(text)


#这里需要自己导入一张图片作为背景图片
mask_pic=numpy.array(Image.open(r"C:\Users\shangtianqiang\Desktop\图片1.png"))


#将参数mask设值为:mask_pic
wordcloud = WordCloud(font_path="C:/Windows/Fonts/simfang.ttf",background_color="white",width=600,height=300,max_words=30,mask=mask_pic).generate(text)


#生成图片
image=wordcloud.to_image()


#显示图片
image.show()

Python自然语言处理,词云图生成_自然语言处理_03

这里所显示的词云结果并不直观,通过改变我们的背景图,以及将实验的文本词变得更加单一,多多调试几次,即可得出如下的结果。

Python自然语言处理,词云图生成_词云_04

Python自然语言处理,词云图生成_词云_05

要得出一个完美的词云结果,需要我们耐心的调试,控制词数,颜色等。

Python自然语言处理,词云图生成_词云_06

标签:wordlist,jieba,文本,Python,text,云图,自然语言,分词
From: https://blog.51cto.com/u_15828536/5839654

相关文章

  • Python也能绘制奥运五环
    啊~~~五环,你比四环多一环啊~~~五环,你比六环少一环每当想起小岳岳的歌声,总是充满欢快的气氛,本节给大家介绍如何使用Python绘制奥运五环,这里借助Python中的turtle库,turtle英译为海龟......
  • 基于TensorFlow和Python的机器学习(笔记3)
    基于TensorFlow和Python的机器学习(笔记3)          embedding的原理是使用矩阵乘法来进行降维,从而达到节约存储空间的目的。word2vector工作流程图......
  • Python下使用argparse模块的脚本参数配置
    python的一个用于命令行参数解析的模块,其专业解释已经有很多了,可以去详查,不做赘述,仅谈谈自己的一些理解。为什么要用argparse模块来为代码导入参数或者文件路径呢?如果是一......
  • Python 批量导出mysql数据库表结构(转)
    https://blog.csdn.net/weixin_44309131/article/details/124119037?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~aggregatepage~first_rank_ecpm_v......
  • 新的学习历程-python2 print
    1print('helloworld!')2print('hello','world!')#逗号自动添加默认的分隔符:空格3print('hello'+'world!')#加号表示字符拼接4print('hello','world',sep='***')......
  • 【Python爬虫案例】用python爬哔哩哔哩搜索结果
    一、爬取目标大家好,我是@马哥python说,一名10年程序猿。今天分享一期爬虫的案例,用python爬哔哩哔哩的搜索结果,也就是这个页面:爬取字段,包含:页码,视频标题,视频作者,......
  • Python: convert int to mode string
     def_convert_mode(mode:int):ifnot0<=mode<=0o777:raiseRuntimeErrorres=''forvinrange(0,9):ifmode>>v&1:......
  • 基于Python的批量处理execl文件内容
    今天遇到一个棘手的问题,在三个文件夹中将近60个execl表选出所需的特定三列数据,且表名,sheet名,表中的数据类型均不一致,故想到利用Python批量化处理技术手段进行处理。其原理......
  • python发送邮件
    python发送邮件封装#encoding=utf-8importsmtplibfromemail.mime.multipartimportMIMEMultipartfromemail.mime.textimportMIMETextclassEmailMange:......
  • Python10-实战
    实战01(根据当前时间创建文件)importtimedefcreate():globalnamelocalTime=time.strftime("%Y%m%d%H%M%S",time.localtime())name=localTime+'.txt'......