基于Python的词云生成及优化研究
2021-09-27汪言
汪言
摘要:在大数据时代,利用相关技术手段对大数据进行获取与解读就显得十分重要。“词云”技术,由于能够将文本中的“关键词”图像化,正受到人们越来越多人的关注。该文以《中共中央关于制定国民经济和社会发展第十四个五年规划和二〇三五年远景目标的建议》全文文本为例,对基于Python的词云文本分析技术进行了优化,以期为快速解读文本内容提供方便。
关鍵词:Python;中文分词;词云;优化;十四五规划
中图分类号:TP311 文献标识码:A
文章编号:1009-3044(2021)19-0023-06
Research on Generation and Optimization of Word Cloud Based on Python—Take the Text of the 14th Five-year Plan as an Example
WANG Yan
(Hubei University, Wuhan 430062,China)
Abstract: In the era of big data, it is very important to obtain and interpret big data by using relevant technical means. "Word cloud" technology, due to its ability to visualize the "Keywords" in the text, is attracting more and more attention. This paper takes the full text of Proposal of the Central Committee of the Communist Party of China on Formulating the 14th Five-Year Plan for National Economic and Social Development and the Long-term Goals for the year of 2035 as an example, and optimizes the text analysis technology of word cloud based on python, so as to provide convenience for quick interpretation of the text content.
Key words: Python; Chinese word segmentation; word cloud; optimization; 14th five-year plan
1 引言
“词云”,是近几年来出现的用于文本挖掘的可视化技术,其将文本中大量的不重要的信息过滤,并对出现频率较高的“关键词”予以字体大小和颜色等视觉形式的差异来直观反映词语的重要程度,文字的字体越大,表明其越重要,可以帮助阅读者迅速把握文本的主要内容。简言之,“词云”,是一种将大量文本信息或网络大数据迅速生成帮助阅读者把握文本关键内容的辅助性可视化工具,其生成的词云图中的词语字形、字号、颜色以及图片背景可以根据使用者的实际需求进行修改和保存。此外,借助mask、stopwords、scale等参数的设置,可以对生成的词云图进行优化设计,比如:背景图设计、删减词语、增加轮廓线等等。
“词云”,由于其能够快速、直观地抓取文本的主要内容,方便人们对文本内容的解读,正受到人们越来越多的关注。然而,由于对“词云”技术的掌握和应用需要掌握一定的编程知识和技巧,导致大众对此“望洋兴叹”。因此,本文写作目的在于帮助一般读者从无到有掌握“词云”文本分析技术。具体而言,即借助《中共中央关于制定国民经济和社会发展第十四个五年规划和二〇三五年远景目标的建议》文本,尝试对基于Python的词云文本分析技术进行应用和优化。一方面,解读“词云”原理。另一方面,则为一般读者应用“词云”理论和技术进行文本分析和解读提供一般流程。
2 词云理论
“词云”(Word Cloud)一词,由美国学者Rich Gordon于2006年提出,又称文字云图(词云图),属于当前文本挖掘可视化主流技术之一。“词云”制作基本思想为:基于单词库(或词典)将整个文本切分成不同单词片段, 同时对同一单词在文本中的出现次数进行统计;而后根据词频大小,将单词按不同字体大小和颜色通过图像呈现出来;词频越高,单词的呈现方式越凸显。基于中文的“词云”制作基本原理如图1所示。从图1可知,信息收集工作是词云制作的出发点,研究者可根据具体需要选择文本。文本预处理一般可以将输入文本存为txt或Word文档类型,将输出文本以表格或图形方式存储和呈现。中文分词、单词库(或词典)以及关键词提取是词云图制作核心。
2.1中文分词
分词是自然语言处理(NLP)中文本处理的前提和基础步骤,由于词是语句中的基本单位,故需要在分析语句前将文本中的连贯的句子切分成不连续的词。相比于英文,中文语句由于句式结构复杂、没有间隔符,一个词语在不同的语句或文本中意义千差万别,地名、人名、省略语以及网络词、流行词、俗语等不确定性词汇的存在等特点加大了分词的难度。中文分词技术面临的困难主要表现在:对词的界定、歧义消除以及未登录词识别三个方面。目前,中文分词有基于词典、基于统计和基于理解三种算法。
Jieba库是一种应用广泛且效果较为理想的中文分词工具,需要通过pip指令安装,主要支持三种分词模式——精确模式、全模式和搜索引擎模式。
1精确分词模式:默认模式,对语句进行精确切分,适合文本分析,无冗余,常用格式:Jieba.cut(sentence, cut_all=False)