国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于字典和jieba庫(kù)的“黨的二十大報(bào)告”詞頻分析

2023-11-24 20:27:09謝光藝
現(xiàn)代信息科技 2023年18期
關(guān)鍵詞:詞頻字典

摘? 要:在“Python程序設(shè)計(jì)”課程中,字典的概念和應(yīng)用是一個(gè)難點(diǎn)。結(jié)合字典功能和jieba庫(kù)對(duì)“黨的二十大報(bào)告”進(jìn)行詞頻分析,針對(duì)直接統(tǒng)計(jì)結(jié)果的不足,通過詞語(yǔ)替換改進(jìn)程序達(dá)到了較好的效果,并利用Matplotlib庫(kù)對(duì)統(tǒng)計(jì)結(jié)果進(jìn)行了直觀顯示。通過以上實(shí)際案例編程,有利于學(xué)生掌握字典的概念和應(yīng)用,以及統(tǒng)計(jì)結(jié)果的可視化。

關(guān)鍵詞:詞頻;字典;jieba庫(kù);黨的二十大報(bào)告

中圖分類號(hào):TP311? ? 文獻(xiàn)標(biāo)識(shí)碼:A? ? 文章編號(hào):2096-4706(2023)18-0195-04

Word Frequency Analysis of“Report of the 20th National Congress of the Communist Party of China”Based on Dictionary and jieba Database

XIE Guangyi

(Intelligent Science and Information Engineering College, Xi'an Peihua University, Xi'an? 710125, China)

Abstract: In the course of“Python Programming”, the concept and application of dictionary is a difficult point. Combining the dictionary function and the jieba database, this paper analyzes the word frequency of the“Report of the 20th National Congress of the Communist Party of China”. Aiming at the shortcomings of the direct statistical results, it improves the program by word replacement to achieve better effect, and uses the Matplotlib database to visually display the statistical results. Through the above practical case programming, it is helpful for students to master the concept and application of dictionary and the visualization of statistical results.

Keywords: word frequency; dictionary; jieba library; Report of the 20th National Congress of the Communist Party of China

0? 引? 言

“重要的事情說三遍”,“說三遍”即為“重復(fù)或反復(fù)說三次”,體現(xiàn)了“重復(fù)”具有突出“重要性”的特點(diǎn),同樣“多次重復(fù)出現(xiàn)”的詞匯能夠整合篇章信息、具有體現(xiàn)篇章主題的特點(diǎn)。詞頻分析就是對(duì)篇章中重要詞匯出現(xiàn)的次數(shù)進(jìn)行統(tǒng)計(jì)與分析,是文本信息挖掘的重要手段。詞頻分析在政治、經(jīng)濟(jì)、文化、教育和體育等諸多領(lǐng)域[1-11]得到廣泛使用。趙世超[1]等通過“對(duì)多家鄉(xiāng)鎮(zhèn)衛(wèi)生院一百多名衛(wèi)生人員進(jìn)行個(gè)人深入訪談,對(duì)訪談內(nèi)容進(jìn)行編碼和詞頻分析,從他們對(duì)工作的態(tài)度、工作的積極性和是否離職三個(gè)方面入手,找到影響這些方面的主要因素”。孫照紅在其文章[2]中講述“詞頻分析法是研究黨的文獻(xiàn)的重要范式和方法”,并從詞頻視角分析《中共中央關(guān)于加強(qiáng)黨的政治建設(shè)的意見》文件。江文路在其文章[3]中論述“黨代會(huì)政治報(bào)告代表著黨內(nèi)高層所達(dá)成的政治共識(shí),是黨的各種文件中篇幅最大、字?jǐn)?shù)最多、涉及內(nèi)容最為廣泛、說明論證最為充分的權(quán)威文件。通過對(duì)多次黨代會(huì)報(bào)告的詞頻分析,歸納出中國(guó)共產(chǎn)黨人民觀的演進(jìn)邏輯與特征”。

2022年10月16日,習(xí)近平在中國(guó)共產(chǎn)黨第二十次全國(guó)代表大會(huì)上作了《高舉中國(guó)特色社會(huì)主義偉大旗幟為全面建設(shè)社會(huì)主義現(xiàn)代化國(guó)家而團(tuán)結(jié)奮斗》的報(bào)告。其后不久,筆者在講授“Python程序設(shè)計(jì)”第六章“組合數(shù)據(jù)類型”中“字典”內(nèi)容時(shí),適時(shí)利用字典概念和功能對(duì)“黨的二十大報(bào)告”進(jìn)行詞頻分析及直觀顯示,引起了同學(xué)們濃厚的興趣,通過案例教學(xué)實(shí)現(xiàn)所學(xué)知識(shí)的靈活應(yīng)用。

1? Jieba分詞

Jieba庫(kù)是第三方優(yōu)秀的分詞庫(kù)。它利用一個(gè)已有中文詞庫(kù),確定前后文中字符之間的相關(guān)概率。然后依據(jù)相關(guān)概率的大小組成詞組,從而形成分詞結(jié)果。它有三種分詞模式:全模式、精確模式和搜索引擎模式。全模式依照中文詞庫(kù)掃描出文本中所有可能的詞語(yǔ),但是分詞結(jié)果中存在冗余。精確模式為精確的分割文本,分詞結(jié)果中不存在冗余單詞。搜索引擎模式是在精確模式基礎(chǔ)上,對(duì)長(zhǎng)詞進(jìn)行再次切分,分詞結(jié)果也存在冗余。因此本文利用Jieba庫(kù)的精確分詞功能,把“黨的二十大報(bào)告”切分為詞組的列表形式。例如“二十大報(bào)告”中的“現(xiàn)在,我代表第十九屆中央委員會(huì)向大會(huì)作報(bào)告?!边@句話使用jieba.lcut()命令精確分詞,就會(huì)得到['現(xiàn)在', ',', '我', '代表', '第十九屆', '中央委員會(huì)', '向', '大會(huì)', '作', '報(bào)告', '。']的結(jié)果。

2? 分詞統(tǒng)計(jì)

在Python中,字典是一系列鍵值對(duì),采用大括號(hào){}或dict()命令創(chuàng)建。每個(gè)鍵都與一個(gè)值相關(guān)聯(lián),鍵值對(duì)用冒號(hào)表示,可使用鍵來(lái)訪問相關(guān)聯(lián)的值。與鍵相關(guān)聯(lián)的值可以是數(shù)值、字符串、列表等。事實(shí)上字典類型是“映射”的體現(xiàn),它和Python中的序列類型相類似。序列類型由0…N間的整數(shù)作為數(shù)據(jù)的默認(rèn)索引,而字典映射類型則由用戶為數(shù)據(jù)定義索引。因?yàn)樯钪杏成錈o(wú)處不在,所以鍵值對(duì)無(wú)處不在。如果用字典類型統(tǒng)計(jì)“詞語(yǔ)”出現(xiàn)的次數(shù),此時(shí)“詞語(yǔ)”是鍵,次數(shù)是值。字典中定義許多內(nèi)置的函數(shù)和方法來(lái)完成如何創(chuàng)建、訪問、添加和刪除字典中的元素。假設(shè)給定字典對(duì)象d,這里給出詞頻分析要用到的字典函數(shù)和方法:1)d.get(k, )方法,如果鍵k存在,則返回相應(yīng)值;若鍵k不存在,則返回值;2)del d[k],刪除字典d中鍵k對(duì)應(yīng)的數(shù)據(jù)值。

3? 詞頻分析

3.1? 創(chuàng)建“黨的二十大報(bào)告”文檔

在中華人民共和國(guó)中央人民政府網(wǎng)站首頁(yè)>新聞>滾動(dòng)中打開《高舉中國(guó)特色社會(huì)主義偉大旗幟為全面建設(shè)社會(huì)主義現(xiàn)代化國(guó)家而團(tuán)結(jié)奮斗》全文[12],利用CTR+V拷貝正文全部?jī)?nèi)容,然后在Windows附件中打開“記事本”程序,使用CTR+C把粘貼板中的內(nèi)容全部粘貼到新建文檔中,并把文檔命名為“黨的二十大報(bào)告.txt”存儲(chǔ)到硬盤中。

3.2? 詞頻分析程序

詞頻分析的主要步驟如下:

1)輸入第三方j(luò)ieba庫(kù)。

2)打開并讀入“黨的二十大報(bào)告.txt”文檔。

3)用jieba的精確分詞功能把“黨的二十大報(bào)告”文本切分為列表words。

4)生成空字典counts,counts={ }。

5)利用字典的get()方法統(tǒng)計(jì)words中“詞組”出現(xiàn)的次數(shù),排除長(zhǎng)度為1的單個(gè)漢字。

6)字典counts轉(zhuǎn)換為列表類型items,并利用列表的sort()排序功能。此時(shí)利用lambda函數(shù),以items中第二項(xiàng)即詞語(yǔ)出現(xiàn)的次數(shù)進(jìn)行排序;reverse=“True”,即按降序排列。

7)打印出排序靠前的十五個(gè)詞組。

具體的程序如圖1所示。

3.3? 詞頻結(jié)果分析

從打印出的前十五個(gè)詞組(圖2(a))可以看到:“發(fā)展”出現(xiàn)218次、“堅(jiān)持”出現(xiàn)170次、“人民”出現(xiàn)134次、“建設(shè)”出現(xiàn)150次、“中國(guó)”出現(xiàn)123次、“社會(huì)主義”出現(xiàn)114次、“全面”出現(xiàn)101次、“現(xiàn)代化”出現(xiàn)85次,這些高頻詞匯和“黨的二十大”大會(huì)主題“高舉中國(guó)特色社會(huì)主義偉大旗幟,全面貫徹新時(shí)代中國(guó)特色社會(huì)主義思想,弘揚(yáng)偉大建黨精神,自信自強(qiáng)、守正創(chuàng)新,踔厲奮發(fā)、勇毅前行,為全面建設(shè)社會(huì)主義現(xiàn)代化國(guó)家、全面推進(jìn)中華民族偉大復(fù)興而團(tuán)結(jié)奮斗”是相一致的。

詞頻統(tǒng)計(jì)清晰地表明“黨的二十大報(bào)告”中的重點(diǎn)詞匯。然而統(tǒng)計(jì)的是“黨的二十大報(bào)告”,卻在高頻詞“前十五位”中未出現(xiàn)“中國(guó)共產(chǎn)黨”。經(jīng)過查詢,“中國(guó)共產(chǎn)黨”在詞頻統(tǒng)計(jì)中只出現(xiàn)27次,針對(duì)這個(gè)問題進(jìn)行程序的優(yōu)化。

3.4? 程序的優(yōu)化

經(jīng)過對(duì)“黨的二十大報(bào)告”的分析得到,“中國(guó)共產(chǎn)黨”在報(bào)告中多次用到簡(jiǎn)化的形式,大多都以“黨”來(lái)代表,因此需要改進(jìn)原先詞頻統(tǒng)計(jì)程序。在原步驟5)中,改為首先判斷長(zhǎng)度為1的分詞,如果此時(shí)為“黨”則計(jì)為“中國(guó)共產(chǎn)黨”,否則還是不進(jìn)行統(tǒng)計(jì)。另一方面,如果是1個(gè)以上字符,“共產(chǎn)黨”“全黨”也都計(jì)為“中國(guó)共產(chǎn)黨”。經(jīng)過這樣的詞語(yǔ)替換,重新統(tǒng)計(jì)的結(jié)果如圖2(b)所示。這時(shí)可以發(fā)現(xiàn),“中國(guó)共產(chǎn)黨”在報(bào)告中總共出現(xiàn)了100次,排在第十一位,達(dá)到預(yù)期的結(jié)果。

另外,統(tǒng)計(jì)中“我們”這個(gè)詞是代詞,并不能突出報(bào)告的主題??梢圆扇∫韵碌姆椒ㄓ枰耘懦菏紫?,定義排除詞庫(kù),即創(chuàng)建一個(gè)集合,如excludes={"我們"}。然后,利用循環(huán)語(yǔ)句刪除字典中以排除詞庫(kù)中的詞為key值的字典元素,具體語(yǔ)句為del(counts[word]),其中counts為字典類型,word為排除詞庫(kù)元素,相應(yīng)的程序如圖3所示,最后的詞頻統(tǒng)計(jì)輸出如圖2c所示。

4? 詞頻統(tǒng)計(jì)的顯示

為了讓詞頻統(tǒng)計(jì)的結(jié)果有一個(gè)更直觀和美觀的顯示,將采用彩色柱狀圖的方式進(jìn)行輸出,利用Matplotlib庫(kù)進(jìn)行繪圖。Matplotlib庫(kù)由各種可視化類構(gòu)成,內(nèi)部結(jié)構(gòu)復(fù)雜。受Matlab啟發(fā),Matplotlib.pyplot是繪制各類可視化圖形的命令子庫(kù),相當(dāng)于快捷方式。詞頻統(tǒng)計(jì)輸出顯示要用到bar()方法繪制柱狀圖,text()方法結(jié)合zip() 函數(shù)進(jìn)行數(shù)值標(biāo)注,主要說明如下:

1)Matplotlib.pyplot.bar()方法用于繪制柱狀圖。bar()方法的使用格式為:matplotlib.pyplot.bar (x, y, width,color, alpha, edgecolor, bottom, linewidth, tick_label, align)。其中x:指定x軸上數(shù)值;y:指定y軸上的數(shù)值;width:表示柱狀圖的寬度,取值在0~1之間,默認(rèn)為0.8;color:柱狀圖的填充色;alpha:柱狀圖的透明度;edgecolor:柱狀圖的邊框顏色;bottom:柱狀圖底部離橫軸的距離;linewidth:柱狀圖邊框?qū)挾?;tick_label:柱狀圖的刻度標(biāo)簽,也可直接將標(biāo)簽賦值給x;align:指定x軸上對(duì)齊方式,可選“center”“edge”。

2)text()作用是在制圖時(shí)給圖中的點(diǎn)加標(biāo)簽。plt.text(x,y,s,fontsize,verticalalignment,horizontalalignment,rotation,kwargs)。其中x,y:標(biāo)簽添加的位置,即注釋文本內(nèi)容所在位置的橫/縱坐標(biāo);s:標(biāo)簽的內(nèi)容,字符串格式;fontsize:加標(biāo)簽字體大小,取整數(shù);verticalalignment(va):垂直對(duì)齊方式,可選“center”“top”“bottom”等;horizontalalignment(ha):水平對(duì)齊方式,可以選“center”“l(fā)eft”等;rotation:標(biāo)簽的旋轉(zhuǎn)角度。

3)zip()函數(shù)能夠把可迭代的對(duì)象當(dāng)作參數(shù),把對(duì)象中相應(yīng)的元素打包成一個(gè)個(gè)元組。本程序中就是把前十五個(gè)詞語(yǔ)及相應(yīng)統(tǒng)計(jì)次數(shù)打包成一個(gè)個(gè)元組,如('發(fā)展',218,218)。

4)為了在輸出時(shí)有正確的中文顯示,需要加入plt.rcParams['font.family']='SimHei',plt.rcParams['font.size']=15,兩條語(yǔ)句讓圖中文字字體為標(biāo)準(zhǔn)黑體,字體大小為15。

詞頻統(tǒng)計(jì)顯示程序和顯示結(jié)果分別如圖4和5所示。

5? 結(jié)? 論

詞頻分析應(yīng)用領(lǐng)域十分廣泛,在Python中借助字典功能可以方便地實(shí)現(xiàn)文章的詞語(yǔ)頻率統(tǒng)計(jì),對(duì)于進(jìn)一步挖掘其中的含意提供了可能。對(duì)于中文文章的分詞需要借助于jieba模塊,它的精確分詞功能可以把文章分成沒有冗余“詞語(yǔ)”的列表形式,方便進(jìn)行詞頻統(tǒng)計(jì)。由于漢語(yǔ)詞匯極其豐富,同樣的意思往往有不同的表達(dá)形式??梢允褂锰娲~語(yǔ)的方法對(duì)一個(gè)核心詞匯進(jìn)行詞頻統(tǒng)計(jì),如本文中“中國(guó)共產(chǎn)黨”簡(jiǎn)寫為“黨”,“全黨”也是“中國(guó)共產(chǎn)黨”的另一種表達(dá)。字典的含意和其get()方法是進(jìn)行詞頻統(tǒng)計(jì)的核心語(yǔ)句,對(duì)于初學(xué)者也是一個(gè)難點(diǎn),但通過“黨的二十大報(bào)告”詞頻統(tǒng)計(jì)使其概念和get()方法顯得具體且明晰、便于理解掌握。為了達(dá)到更友好的統(tǒng)計(jì)展示效果,可使用Matplotlib顯示工具對(duì)前“十五位詞頻”詞語(yǔ)進(jìn)行柱狀圖輸出,增強(qiáng)“詞語(yǔ)”間出現(xiàn)次數(shù)的對(duì)比顯示。通過對(duì)“黨的二十大報(bào)告”的高頻詞進(jìn)行分析,使學(xué)習(xí)者對(duì)字典、jieba模塊和Matplotlib庫(kù)有了較好地掌握,同時(shí)對(duì)“黨的二十大報(bào)告”的內(nèi)容有了進(jìn)一步的學(xué)習(xí)。

參考文獻(xiàn):

[1] 趙世超,譚福金,王宇桐,等.鄉(xiāng)鎮(zhèn)衛(wèi)生院衛(wèi)生人員工作態(tài)度與激勵(lì)機(jī)制探析——基于訪談詞頻分析的實(shí)證研究 [J].中國(guó)衛(wèi)生政策研究,2019,12(10):29-35.

[2] 孫照紅.黨的政治建設(shè)的政治話語(yǔ)和建設(shè)重點(diǎn)——詞頻分析視角 [J].黨政研究,2020(1):65-74.

[3] 江文路,張小勁.中國(guó)共產(chǎn)黨人民觀的演進(jìn)邏輯與特征——基于歷次黨代會(huì)報(bào)告的詞頻統(tǒng)計(jì)和語(yǔ)料分析 [J].社會(huì)主義研究,2019(5):63-73.

[4] 劉春杰.基于詞頻分析的語(yǔ)篇主體意愿研究——以俄羅斯總統(tǒng)和議員階層對(duì)金磚國(guó)家的意愿為個(gè)案 [J].中國(guó)俄語(yǔ)教學(xué),2021,40(3):1-12.

[5] 翟云秋,程晉寬.大學(xué)校長(zhǎng)開學(xué)典禮致辭的教育價(jià)值——基于36所“世界一流大學(xué)”建設(shè)高校校長(zhǎng)致辭的詞頻分析 [J].江蘇高教,2021(6):42-50.

[6] 宮承波,王偉鮮.制度自信與文化自信——基于詞頻分析的習(xí)近平關(guān)于新冠肺炎疫情系列重要講話精神解讀 [J].當(dāng)代傳播,2021(1):46-48+64.

[7] 魯芮汐,莫愁.中國(guó)角色在歐美電影中的形象變遷——基于詞頻統(tǒng)計(jì)的分析與思考 [J].浙江大學(xué)學(xué)報(bào):人文社會(huì)科學(xué)版,2021,51(4):154-162.

[8] 陳雅薇,朱華晟,姚飛.長(zhǎng)三角地區(qū)新冠肺炎疫情應(yīng)急與產(chǎn)業(yè)政策響應(yīng)——基于政策文本的詞頻分析 [J].現(xiàn)代城市研究,2021(1):45-51.

[9] 王道杰,劉力豪.國(guó)際奧委會(huì)改革理念的創(chuàng)新及其對(duì)北京冬奧會(huì)的啟示——基于《奧林匹克2020議程》的詞頻統(tǒng)計(jì) [J].中國(guó)體育科技,2021,57(3):52-57+79.

[10] 陳幸歡.野生動(dòng)物保護(hù)地方立法家長(zhǎng)主義與趨同性省思——基于23部省級(jí)法規(guī)的詞頻與文本分析 [J].江西財(cái)經(jīng)大學(xué)學(xué)報(bào),2020(6):138-147.

[11] 牟向前,王慶軍.基于詞頻分析的健身APP用戶體驗(yàn)現(xiàn)狀及發(fā)展建議 [J].體育學(xué)刊,2020,27(2):64-68.

[12] 習(xí)近平.高舉中國(guó)特色社會(huì)主義偉大旗幟為全面建設(shè)社會(huì)主義現(xiàn)代化國(guó)家而團(tuán)結(jié)奮斗——在中國(guó)共產(chǎn)黨第二十次全國(guó)代表大會(huì)上的報(bào)告 [EB/OL].[2023-01-24].http://www.gov.cn/xinwen/2022-10/25/content_5721685.htm.

[13] 嵩天,禮欣,黃天羽.Python語(yǔ)言程序設(shè)計(jì)基礎(chǔ):第2版 [M].北京:高等教育出版社,2017.

作者簡(jiǎn)介:謝光藝(1973—),男,漢族,河南登封人,高級(jí)工程師,博士,主要研究方向:計(jì)算機(jī)網(wǎng)絡(luò)、深度學(xué)習(xí)。

猜你喜歡
詞頻字典
開心字典
家教世界(2023年28期)2023-11-14 10:13:50
開心字典
家教世界(2023年25期)2023-10-09 02:11:56
基于詞頻分析法的社區(qū)公園歸屬感營(yíng)建要素研究
園林科技(2021年3期)2022-01-19 03:17:48
字典的由來(lái)
大頭熊的字典
我是小字典
正版字典
讀者(2016年14期)2016-06-29 17:25:50
詞頻,一部隱秘的歷史
云存儲(chǔ)中支持詞頻和用戶喜好的密文模糊檢索
儒法兩家經(jīng)典的共詞分析與研究*
珠海市| 茌平县| 峨山| 南郑县| 福贡县| 邹城市| 文水县| 吉首市| 汉沽区| 新郑市| 康马县| 阿尔山市| 平顶山市| 清苑县| 辽宁省| 南漳县| 上思县| 全州县| 阳春市| 桂东县| 菏泽市| 凉城县| 城固县| 虞城县| 车致| 遂溪县| 宁明县| 阿拉善左旗| 额济纳旗| 隆德县| 东明县| 炉霍县| 芷江| 化德县| 天门市| 云龙县| 磴口县| 林口县| 土默特左旗| 无为县| 广灵县|