基于Python 的文本可视化方法实现与应用

2020-09-23 02:52张楚
科学技术创新 2020年28期
关键词:分词可视化词语

张楚

(武汉市第六中学 国际部高二(4)班,湖北 武汉430000)

1 概述

Python 编程语言相对于其他语言来说,简单易学,由于贴近人类语言所以阅读起来难度不大。这种具有伪代码性质的代码编程语言可以让使用者降低对于语言本身研究的注意力,专注于解决问题。同时Python 还拥有丰富的第三方库,包含数据可视化、图片处理、游戏制作、图形绘制、中文分词等等,可以让使用者在处理问题时更加方便简易。Python 精准又高效的语言特征,用于文本挖掘,提取高频词汇具有很大的用处。所以,我们利用jieba 库来对文本文件进行分词处理,用wordcloud 模块实现词云效果,用imageio 库将词云显示在图片中,提高可读性。

2 关键技术与系统实现

文本可视化方法的实现,主要借用Python 中的第三方库。先对中文文本进行分词处理,将处理好的高频词汇以词云形式显示,同时导入背景人物图,再将最后的结果呈现到png 格式的图片文件中。

2.1 第三方库概述

在实现文本可视化时,使用的工具为Python3.7 版本,可在官网中对照电脑配置下载。但下载时需要添加到环境变量中,安装组件包括Python 文档文件、pip 包工具、开发环境、启动器等。同时需要使用到以下几个第三方库:jieba 库、wordcloud 库以及imageio 库,可以在命令行中直接使用"pip install jieba"来下载jieba 库,其余第三方库同理。下面来对这几个库的功能进行简述:

首先是jieba 库,它是优秀的中文分词第三方库,可以通过对中文进行分词处理来获得其中的单个词语,所以我们可以利用它,来从文本文件大段的内容中提取出单个的高频词汇,提取文本内容中出现概率比较大的词语,完成分词。jieba 库分词有三个模式:精准模式、全模式和搜索引擎模式。

其次是wordcloud 库,它可以以词云形式展示内容,词云以单个词语为基本单位,对文本的展示更加清晰明了,并且它可以根据文本中词语出现的频率等参数来绘制词云,所以在使用时,可以对主要任务以及中心内容有一个更加直观的了解。

最后使用imageio 库对图片进行处理,这个第三方库提供了一个简单的接口来读取和写入各种图像数据。通过调用这个库,我们可以将文本挖掘的结果在图片上展示出来,以增加阅读过程的趣味性。

2.2系统架构与设计思路

我们选取四大名著之一的《三国演义》来作为研究的文本对象,将三国演义小说中关键人物以及事件以词云方式展示出来,并把生成的结果放置到人物背景图片中,帮助读者更直观地了解本书内容。

要提取文件中的内容,首先就要使用"with open() as f" 语句打开文件,把txt 文件存放到f 这个变量中,open()函数里存放要打开的文本文件路径、文件名以及文件扩展名,打开方式为"r"可读模式。文件打开之后,使用data = f.read()语句读取txt文件并存放到变量data 中,接着使用jieba 库中的Icut()精准模式对存放到data 变量中txt 文件进行分词,精准模式可以精准地将句子分割,更适用于文本文件,分词返回结果为列表数据类型。我们再设置一个空列表,用for 循环把上一步分词列表中存在的单个词语过滤掉,剩下的词语存放到新列表中。最后,我们把列表转换成字符串,使用join()函数以空格拼接字符串。具体代码展示如图1 所示。

图1 分词过程代码展示

分词部分功能完成之后,还要将分词结果展示在生成的词云图片中。首先要导入背景图片到词云,我们选取三国人物之一——曹操,作为背景图片,使用imageio 库中的工具imread(),把图片导入进去。接着还要使用wordcloud 库,把词云显示在图片中,词云设置参数包含:背景颜色、字体、图片宽高、词云形状等,词云会依据词语出现的频率来显示字体大小,出现频率越高,则显示的字体越大,最后再设置生成的图片名称及格式。具体代码展示如图2 所示。

图2 词云图片生成过程代码展示

3 运行结果展示

“曹操”原图如图3 所示,程序最后生成文本可视化的图片如图4 所示。

图3“曹操”原图展示

图4 文本可视化处理后图片展示

由程序运行结果可以看出,《三国演义》中出现频率最高的几个词汇为“将军”、“曹操”、“孔明”,主要人物也在图片中展示出来。分词过程中的过滤词汇功能也会把特殊的字符等在文章中出现的高频单个词汇去除,从而提高分词的精确度。

4 常见文本可视化方法对比

通过调查与研究发现,Python 中用于文本可视化的方法有很多,都能够在某一方面展现出文本内容的特点。本文使用到的是基于词云的文本可视化,除此之外,还有基于数图的文本可视化、基于关联词的文本可视化、基于时间的文本可视化等等。不同的文本可视化处理方式,对于展示出来的文本可视化内容侧重点也不同。

基于数图的文本可视化内容化的方法, 是利用不同面积的块元素描述个体与个体之间的关系,和基于词云的文本可视化相同的一点,都是能够让用户简单快捷地了解文本内容。基于关联词的文本可视化方法,顾名思义,可以通过对文本的处理,将文本中的此为关系通过点线图的形式展示,能够展示文本多维度的信息。基于时间的文本可视化方式,可以应用于平台热点话题榜单,他能够依据时间变化来展示某个热点事件的信息传播和流动的规律。

5 反思与总结

文本可视化方法实现的主要思路,首先要对文本数据进行分词处理,这个过程中会筛选出其中隐含的字符和其他编码信息,并且也可以把经常出现的一些高频口语化内容剔除,将保留名词类词组信息存放到变量中,最后再呈现到图片中。

总结起来就是以下三个步骤:信息采集、预处理、视觉呈现。信息采集对于所有文本可视化方法来说都是至关重要的基础步骤,可以是某一段文字,可以是某一本书,也可以是通过Python 爬虫爬取的某个商品或者歌曲的评论信息,这些都可以用作文本可视化的初始信息。预处理就是对于采集到的文本信息进行一系列操作的过程,包括分词、提取高频词汇等,预处理完成之后的结果,就是我们需要呈现在某个可视化的图片或者表格中的信息。所以最后一步视觉呈现需要根据预处理后的元素、分词数量选择合适的展示形式。

文本可视化在提取关键信息方面可以起到很大作用,目前作用范围也比较广泛,很多音乐平台的歌曲评论都会使用到文本可视化来提取用户评论的高频词汇。对互联网中广泛信息进行处理的技术,将会在现在和未来产生巨大影响。

猜你喜欢
分词可视化词语
容易混淆的词语
基于CiteSpace的足三里穴研究可视化分析
自然资源可视化决策系统
思维可视化
自然资源可视化决策系统
分词在英语教学中的妙用
找词语
结巴分词在词云中的应用
结巴分词在词云中的应用
一枚词语一门静