999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Python 環境下的文本分詞與詞云制作

2018-12-28 06:41:10嚴明鄭昌興
現代計算機 2018年34期
關鍵詞:設置文本

嚴明,鄭昌興

(國防大學政治學院,上海201602)

0 引言

誕生于20 世紀90 年代初的Python 語言,因其簡潔、優美、開源、功能強大等一系列特點,本世紀初以來其使用率呈現快速增長之勢。特別是近年來隨著互聯網、大數據和人工智能等技術的發展和應用需求的增長,Python 已經超越C#,與Java、C、C++一起成為4 大流行語言,成為最受歡迎的程序設計語言之一,廣泛應用于從桌面應用、Web 開發、自動化測試運維、爬蟲到大數據處理、人工智能等各個領域。在IEEE Spectrum發布的2017 年和2018 年編程語言排行榜中,Python均高居第一;在TIOBE 的2017 年度榜單中,Python 位居第二,在最新的2018 年9 月份的編程語言排行榜上位居第三。

目前,Python 不僅具有功能強大的標準庫,支持Python 的第三方庫已達數以萬計,豐富的第三方庫則是Python 不斷發展的保證。在Python 環境下,引入第三方面庫jieba 和WordCloud 等可以方便時對文本進行分詞和制作詞云。

1 中文分詞

分詞是自然語言處理(NLP)中文本處理的基礎環節和前提。與以英文為代表的拉丁語系語言相比,中文分詞要復雜得多、困難得多,因為自古以來中文的詞語之間均沒有自然分隔。長期以來,許多學者對中文分詞進行了大量的研究,提出了許多算法,例如基于字符串匹配的分詞方法、基于統計的分詞方法和基于理解的分詞方法,等等。

在使用Python 進行中文分詞處理時,可以使用第三方的jieba 分詞器進行。其分詞算法總體是:使用基于前綴詞典的詞圖掃描,生成所有可能生成詞所構成的有向無環圖,再采用動態規劃查找最大概率路徑,找出基于詞頻的最大切分組合;對于未登錄詞,采用了基于漢字成詞能力的HMM 模型(使用Viterbi 算法)來預測分詞。

jieba 分詞支持三種分詞模式:一是精確模式(默認模式),試圖最精確地切分,適合文本分析;二是全模式,把所有的可以成詞的詞語都掃描出來,速度非常快但是不能解決歧義;三是搜索引擎模式,在精確模式的基礎上對長詞再進行詞切分,以提高召回率,適合用于搜索引擎分詞。前兩種模式使用jieba.cut()函數,通過參數進行選擇模式和具體算法,第三種模式使用jieba.cut_for_search()函數。三種模式的常用格式分別為:

jieba.cut(sentence,cut_all=False,HMM=True)

jieba.cut(sentence,cut_all=True,HMM=False)

jieba.cut_for_search(sentence,HMM=False)

jieba 分詞器所基于的前綴詞典由dict.txt 提供。在實際應用中,用戶常常會發現一些“新詞”由于未登錄而不能正確地切分,這時就需要用戶增加領域詞表或添加自定義詞語。使用 jieba.load_userdict(file_name)函數可以指定自己自定義的詞典,使用jieba.add_word(word,freq=None,tag=None)函數可以向詞典中添加新詞。

2 詞云制作

詞云圖(簡稱“詞云”),也叫文字云,是對文本中出現頻率較高的“關鍵詞”予以視覺化的展現,目前詞云已成為文本數據可視化的一種常用方式。在詞云中,通常是不同的單詞(詞組)采用不同的顏色表示,不同詞頻或權重的單詞(詞組)采用不同的字號表示。目前互聯網上已經有很多在線詞云工具,例如國外的Word-Art、Wordle、WordItOut、Tagxedo、Tagul 等,以及國內的“圖悅”等。即便是智能手機,用戶可以也可以找到制作詞云的App。在Python 環境下,使用第三方的WordCloud 庫也能輕松地完成詞云的制件,并對其進行個性化的處理。

對于WordCloud 庫來說,每個詞云是一個Word-Cloud 對象,通過對其20 多個屬性(或者說是參數)進行配置可以設置詞云。其中,常用屬性說明為:

●font_path:字體路徑。需要注意的是,制作中文詞云時必須指定字體文件,否則不能正常顯示。

●width:輸出的畫布寬度,默認為400 像素。

●height:輸出的畫布高度,默認為200 像素。

●scale:按照比例進行放大畫布,默認值為1。

●background_color:背景顏色,默認值為“black”。

●mask:指定遮罩圖(即背景圖片、詞云的形狀圖),字的大小布局和顏色都會依據遮罩圖生成。如果參數為空,則使用二維遮罩繪制詞云。如果mask 非空,設置的寬高值將被忽略,遮罩形狀被mask 取代。

●min_font_size:顯示的最小的字體大小,默認值為4。

●max_font_size:顯示的最大的字體大小。

●font_step:字體步長,默認值為1。

●relative_scaling:表示詞頻和云詞圖中字大小的關系參數,默認0.5。

●max_words:要顯示的詞的最大個數,默認值為200。

●stopwords:設置需要屏蔽的詞(即停用詞)。如果為空,則使用內置的STOPWORDS。

利用WordCloud 制作詞云時,一般經過三個步驟:一是使用wordcloud.WorldCloud 函數來設置詞云對象的有關屬性(或者說是參數);二是利用wordcloud.generate(text)函數或wordcloud.generate_from_frequencies(frequencies[,…])函數生成詞云,前者是根據文本生成詞云,后者是根據詞頻生成詞云;三是利用wordcloud.to_file(file_name)函數將詞云輸出到文件進行保存。

3 示例

當前和今后一個時期,深入學習黨的十九大精神是全黨和全國各族人民的一項重大政治任務。筆者在學習過程中,將黨的十九大報告與十八大報告進行了對比學習,并由此產生了對兩個報告進行文本處理的想法。

以下代碼實現了兩個報告的文本分詞、詞頻統計,在此基礎上發現十九大報告中出現的新詞,并制作相應的新詞的詞云(如圖1 所示)。

圖1 黨的十九大報告新詞之詞云

#_*_coding:utf-8_*_

from PIL import Image

import matplotlib.pyplot as plt

from collections import Counter

import numpy as np

行政事業單位的內部控制建設應該結合我國新時期的基本國情,與時俱進地制定適合各個地方政府和行政事業單位的發展策略,從單位內部結構和運行作為出發點,才能最大程度的完善內部管理體制。為了更好地適應市場經濟的大環境,行政事業單位需要在行政功能和公共服務等方面進行相應的人力和資源的整合工作,同時配合政策出臺的管理條例,更加切實有效地開展新時期賦予行政事業單位的歷史任務。

import jieba

from wordcloud import WordCloud,ImageColorGenerator

#以下功能為:添加新詞(未登錄詞)

list1=['中國特色','新時代','一帶一路']

for i in list1:

jieba.add_word(i)

#以下自定義函數的功能是分詞、統計詞頻、去除標點符號和單字詞等

def keyword(filename): #生成分詞列表(高頻詞)

kw_jieba = list(jieba.cut(text,cut_all=False, HMM=False)) #分詞

kw=Counter(kw_jieba) #統計詞頻

kw_common=kw.most_common(5000) #選取前n 個高頻詞

#以下功能為:去除標點符號和單字詞

temp=[]

for i in kw_common:

if len(i[0])==1:

temp.append(i)

for i in temp:

kw_common.remove(i)

return kw_common

#以下為創建詞云自定義函數

def kw_wc(kwlist,out_jpg):

masck_pic = np.array(Image.open('D:MyPython p01.jpg'))#讀取背景圖片

wc=WordCloud(

font_path='simhei.ttf', #設置字體格式,如不設置顯示不了中文

background_color="white", #設置背景顏色

max_words=100, #設置最大詞數

mask=masck_pic, #設置背景圖片

max_font_size=50 #設置字體最大值

wc.generate_from_frequencies(dict(kwlist)) #生成詞云

plt.figure(out_jpg) #新建一個名為out_jpg 的畫圖窗口

plt.imshow(wc) #直接顯示(顏色隨機分配)

plt.axis('off') #去掉坐標軸

plt.show() #顯示詞云圖

wc.to_file(out_jpg) #將詞云輸出到名為out_jpg 的文件

return wc

###############主程序#############

kw18=keyword('D:MyPythond18.txt')#處理“十八大報告”文本

kw19=keyword('D:MyPythond19.txt')#處理“十九大報告”文本

#以下功能為從kw19 中去除kw18 中出現的詞

kw19_18new=[]

for i in kw19:

k=0

for j in kw18:

if i[0]==j[0]:

k=1

break

if k==0:

kw19_18new.append(i)

kw19_18new=kw_wc(kw19_18new,"p19_18new0.jpg")

#創建新詞詞云

猜你喜歡
設置文本
中隊崗位該如何設置
少先隊活動(2021年4期)2021-07-23 01:46:22
初中群文閱讀的文本選擇及組織
甘肅教育(2020年8期)2020-06-11 06:10:02
在808DA上文本顯示的改善
7招教你手動設置參數
基于doc2vec和TF-IDF的相似文本識別
電子制作(2018年18期)2018-11-14 01:48:06
文本之中·文本之外·文本之上——童話故事《坐井觀天》的教學隱喻
論《柳毅傳》對前代文本的繼承與轉化
人間(2015年20期)2016-01-04 12:47:10
本刊欄目設置說明
中俄臨床醫學專業課程設置的比較與思考
艦船人員編制的設置與控制
主站蜘蛛池模板: 欧美国产在线精品17p| 九色在线观看视频| 亚洲区一区| 国产清纯在线一区二区WWW| 成人精品免费视频| 成人福利视频网| 午夜视频免费试看| 亚洲精品午夜无码电影网| 欧美成人二区| 精品国产香蕉在线播出| 无码在线激情片| 亚洲an第二区国产精品| 精品视频一区二区观看| 免费一级毛片不卡在线播放| 亚洲天天更新| Jizz国产色系免费| 国产精品一线天| 人人91人人澡人人妻人人爽 | 无码丝袜人妻| 国产欧美日韩综合在线第一| 国产男人天堂| 国产成人无码综合亚洲日韩不卡| 亚洲综合第一区| 国模私拍一区二区三区| av在线人妻熟妇| 99久久精品免费观看国产| 久久青草免费91线频观看不卡| 国产精品第| 久久久久无码精品国产免费| 亚洲欧美另类专区| a在线亚洲男人的天堂试看| 91精品专区国产盗摄| 丝袜亚洲综合| 丝袜无码一区二区三区| 一区二区自拍| 精久久久久无码区中文字幕| 亚洲,国产,日韩,综合一区| 永久免费AⅤ无码网站在线观看| 精品五夜婷香蕉国产线看观看| 国产麻豆精品久久一二三| 高清不卡一区二区三区香蕉| 欧美综合一区二区三区| 原味小视频在线www国产| 成年av福利永久免费观看| 伊伊人成亚洲综合人网7777| 国产91成人| 国产人人干| 国产亚洲欧美在线人成aaaa| 97久久精品人人做人人爽| 久久亚洲国产最新网站| 国产成人凹凸视频在线| 欧美成人午夜影院| 久久免费看片| 18禁不卡免费网站| 免费国产黄线在线观看| jizz国产视频| 性做久久久久久久免费看| 亚洲an第二区国产精品| 国产真实乱了在线播放| 色屁屁一区二区三区视频国产| 喷潮白浆直流在线播放| 日韩专区欧美| 22sihu国产精品视频影视资讯| 亚洲色成人www在线观看| jizz在线观看| 亚洲av色吊丝无码| 亚洲精品制服丝袜二区| 视频在线观看一区二区| 亚洲高清免费在线观看| 亚洲欧美不卡视频| 又猛又黄又爽无遮挡的视频网站| 天天综合网站| 99热最新网址| 欧美狠狠干| 国产91久久久久久| 97国产在线观看| 99999久久久久久亚洲| 国产精品亚欧美一区二区| 欧美亚洲国产视频| 国产老女人精品免费视频| 男人的天堂久久精品激情| 国产18在线|