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

?

中文文本分詞及其可視化技術(shù)研究

2020-06-08 08:04:28石鳳貴
現(xiàn)代計(jì)算機(jī) 2020年12期
關(guān)鍵詞:詞云分詞詞典

石鳳貴

(馬鞍山師范高等??茖W(xué)校軟件工程系,馬鞍山243041)

0 引言

隨著大數(shù)據(jù)和人工智能的快速發(fā)展,大數(shù)據(jù)和人工智能給人們學(xué)習(xí)、工作和生活帶來(lái)了居多便利。分詞是分析處理文本數(shù)據(jù)的基礎(chǔ),廣泛應(yīng)用于很多領(lǐng)域,自然語(yǔ)言處理的預(yù)處理首要任務(wù)就是分詞。自然語(yǔ)言處理包括信息檢索、語(yǔ)音合成、文本分類、自動(dòng)文摘等[1]。目前比較成熟的分詞工具有:jieba、SnowNLP、THULAC、NLPIR 等。詞云是一種以可視化的方式顯示文本關(guān)鍵詞的技術(shù),在分詞的基礎(chǔ)上設(shè)計(jì)實(shí)現(xiàn),根據(jù)關(guān)鍵詞的詞頻使用不同的方式展示,以有興趣、高效、形象的方式展示。

1 中文分詞

中文語(yǔ)句是一種字符序列,由字和詞構(gòu)成,同一個(gè)字詞在不同的語(yǔ)句中或在不同的文本中意義不同。計(jì)算機(jī)要準(zhǔn)確理解文本,首先需要進(jìn)行文本分詞,按照一定的分詞規(guī)則和算法對(duì)文本進(jìn)行切分。分詞就是依據(jù)某一規(guī)則和算法將文本中詞切分出來(lái),構(gòu)成詞列表,后續(xù)對(duì)文本的分析理解就是基于分詞列表。分詞算法主要包括基于字符串匹配、基于統(tǒng)計(jì)和基于理解三類。

1.1 中文分詞的復(fù)雜性

首先,中文語(yǔ)句中詞與詞之間沒有明顯的分隔標(biāo)志,不像英文語(yǔ)句中詞與詞之間通過空格進(jìn)行分隔。其次,中文中字詞和短語(yǔ)無(wú)論是字?jǐn)?shù)、結(jié)構(gòu)、構(gòu)成方面沒有明顯的界線,容易產(chǎn)生不同的切分結(jié)果。其三,中文詞在不同的文本環(huán)境中表達(dá)的意思不同,而且一個(gè)中文詞具有多種意思,容易產(chǎn)生歧義。其四,實(shí)體名詞如人名、地名、機(jī)構(gòu)名、商品名、簡(jiǎn)稱等難易識(shí)別切分,另外網(wǎng)絡(luò)上和新媒體環(huán)境下經(jīng)常會(huì)出現(xiàn)一些新詞、網(wǎng)絡(luò)流行用語(yǔ),行業(yè)領(lǐng)域具有行業(yè)專業(yè)術(shù)語(yǔ),這些詞難易識(shí)別和全面識(shí)別。其五,切出來(lái)的字詞長(zhǎng)度也影響分詞效果[2]。

1.2 jieba分詞工具

jieba 為一款被廣泛使用的Python 第三方中文分詞庫(kù),Python 提供了jieba 分詞接口。jieba 中文分詞工具算法簡(jiǎn)單、準(zhǔn)確率高,適合于中文分詞,支持三種分詞模式,功能強(qiáng)大。jieba 功能結(jié)構(gòu)圖如圖1 所示。

圖1 jieba功能結(jié)果圖

jieba 分詞基于前綴詞典實(shí)現(xiàn)高效的詞圖掃描,生成句子中漢字所有可能成詞情況所構(gòu)成的有向無(wú)環(huán)圖(DAG),采用了動(dòng)態(tài)規(guī)劃查找最大概率路徑,找出基于詞頻的最大切分組合。對(duì)于未登錄詞,采用了基于漢字成詞能力的HMM 模型(Hidden Markov Model,隱馬爾可夫模型),使用了Viterbi 算法[3]。

(1)分詞

jieba 支持三種分詞模式:精確模式,試圖將句子最精確地切開,適合文本分析;全模式,把句子中所有的可以成詞的詞語(yǔ)都掃描出來(lái),速度非???,但是不能解決歧義;搜索引擎模式,在精確模式的基礎(chǔ)上,對(duì)長(zhǎng)詞再次切分,提高召回率,適合用于搜索引擎分詞[3]。jieba 提供的分詞方法如表1 所示。

(2)加載自定義詞典

jieba 有新詞識(shí)別能力,但是自行添加新詞可以保證更高的正確率,可以解決未登錄詞問題。用戶可以自定義詞典,添加默認(rèn)詞庫(kù)中未包含的詞。同時(shí),自定義詞典可以實(shí)現(xiàn)歧義消解。詞典格式與默認(rèn)詞典一致,每個(gè)詞一行,包括詞語(yǔ)、詞頻(可省略)、詞性(可省略)三部分,用空格隔開,順序不能顛倒。加載詞典采用如下方法:

除了自定義詞典外,還可以調(diào)整默認(rèn)詞典:

(3)關(guān)鍵詞提取

jieba 關(guān)鍵詞提取有兩種算法,一種是基于TF-IDF算法的關(guān)鍵詞抽取,計(jì)算權(quán)重:

其中,sentence 為待提取的文本;topK 為返回幾個(gè)TF-IDF 權(quán)重最大的關(guān)鍵詞,默認(rèn)值為20;withWeight為是否一并返回關(guān)鍵詞權(quán)重值,默認(rèn)值為False;allow-POS 僅包括指定詞性的詞,默認(rèn)值為空,即不篩選。

另一種是基于TextRank 算法的關(guān)鍵詞抽取,計(jì)算權(quán)重并排序:

表1 jieba 分詞方法

(4)詞性標(biāo)注

新建自定義分詞器,tokenizer 參數(shù)可指定內(nèi)部使用的jieba.Tokenizer 分詞器。標(biāo)注句子分詞后每個(gè)詞的詞性,采用和ictclas 兼容的標(biāo)記法。

(5)并行分詞

并行分詞將目標(biāo)文本按行分隔后,把各行文本分配到多個(gè)Python 進(jìn)程并行分詞,然后歸并結(jié)果,從而獲得分詞速度的提升,基于Python 自帶的multiprocessing模塊,目前暫不支持Windows。

并行分詞僅支持默認(rèn)分詞器jieba.dt 和jieba.posseg.dt。

(6)返回詞語(yǔ)在原文的起止位置

2 詞云

詞云就是將文本中高頻“關(guān)鍵詞”以可視化的方式呈現(xiàn),形象、生動(dòng)、有趣,自動(dòng)過濾低頻詞和非關(guān)鍵文本信息,直觀、一目了然,不同的詞采用不同的顏色表示。Python 中第三方庫(kù)WordCloud 是一款廣泛應(yīng)用于詞云展示的詞云庫(kù)。詞云以詞為基本單位,以文本中詞出現(xiàn)頻率作為參數(shù)生成,結(jié)果圖形化顯示。詞云屬性大小、顏色、形狀等均可設(shè)置[4]。

每個(gè)詞云是一個(gè)WordCloud 對(duì)象,生成詞云一般按照三個(gè)步驟設(shè)置就可以,第一步定義詞云對(duì)象并設(shè)置參數(shù),使用wordcloud.WordCloud()實(shí)現(xiàn);第二步生成詞云,使用wordcloudObj.generate(text)或wordcloudobj.generate_from_frequencies(frequencies[,…]);第三步輸出顯示詞云,使用matplotlib.pyplot 來(lái)顯示詞云,wordcloudObj.to_file(file_name)保存詞云為圖片文件。主要參數(shù)[5]見表2 所示。

表2 詞云參數(shù)

本文以“十九大四中全會(huì)決定”語(yǔ)料進(jìn)行實(shí)現(xiàn)展示。

3 實(shí)驗(yàn)實(shí)現(xiàn)

3.1 Python

Python 是一門目前廣泛流行的計(jì)算機(jī)高級(jí)程序設(shè)計(jì)語(yǔ)言,在大數(shù)據(jù)、人工智能領(lǐng)域更是被廣泛使用,大數(shù)據(jù)與人工智能正處于快速發(fā)展階段,與Java、C、C++成為四大流行程序設(shè)計(jì)語(yǔ)言。Python 簡(jiǎn)潔、優(yōu)美、開源、功能強(qiáng)大,許多社區(qū)提供了Python 技術(shù)的支持,第三方庫(kù)數(shù)以萬(wàn)計(jì)。Python 廣泛應(yīng)用于桌面程序開發(fā)、Web 應(yīng)用開發(fā)、自動(dòng)化測(cè)試運(yùn)維、爬蟲、大數(shù)據(jù)處理、人工智能等各個(gè)領(lǐng)域,在IEEE Spectrum 發(fā)布的2017 和2018 年編程語(yǔ)言排行榜中位居第一。本文使用Python的第三方庫(kù)jieba 和WordCloud 進(jìn)行分詞和生成詞云[6]。

3.2 語(yǔ)料

十九屆四中全會(huì)審議通過了《中共中央關(guān)于堅(jiān)持和完善中國(guó)特色社會(huì)主義制度、推進(jìn)國(guó)家治理體系和治理能力現(xiàn)代化若干重大問題的決定》,號(hào)召全黨全國(guó)各族人民要更加緊密地團(tuán)結(jié)在以習(xí)近平同志為核心的黨中央周圍,堅(jiān)定信心,保持定力,銳意進(jìn)取,開拓創(chuàng)新,為堅(jiān)持和完善中國(guó)特色社會(huì)主義制度、推進(jìn)國(guó)家治理體系和治理能力現(xiàn)代化,實(shí)現(xiàn)“兩個(gè)一百年”奮斗目標(biāo)、實(shí)現(xiàn)中華民族偉大復(fù)興的中國(guó)夢(mèng)而努力奮斗[7]。本文以十九屆四中全會(huì)決定為語(yǔ)料生成詞云,直觀、圖形方式顯示“決定”核心關(guān)鍵詞。

3.3 文本分詞

(1)分詞

全模式分詞結(jié)果:

十 九/九 屆/四 中/四 中 全 會(huì)/全 會(huì)/在/北 京/勝 利/召開///北京/北京大學(xué)/大學(xué)/全校/全校師生/師生/收看/和/學(xué)習(xí)/會(huì)議/精神

精確模式分詞結(jié)果:

['十九','屆','四中全會(huì)','在','北京','勝利','召開',',','北京大學(xué)','全校師生','收看','和','學(xué)習(xí)','會(huì)議','精神']

默認(rèn)模式模式分詞結(jié)果:

十九/屆/四中全會(huì)/在/北京/勝利/召開/,/北京大學(xué)/全校師生/收看/和/學(xué)習(xí)/會(huì)議/精神

搜索引擎模式分詞結(jié)果:

十九/屆/四中/全會(huì)/四中全會(huì)/在/北京/勝利/召開/,/北京/大學(xué)/北京大學(xué)/全校/師生/全校師生/收看/和/學(xué)習(xí)/會(huì)議/精神

搜索引擎模式分詞結(jié)果:

['十九','屆','四中','全會(huì)','四中全會(huì)','在','北京','勝利','召開',',','北京','大學(xué)','北京大學(xué)','全校','師生','全校師生','收看','和','學(xué)習(xí)','會(huì)議','精神']

(2)加載自定義詞典

sentence="經(jīng)研究,王小二任招就辦主任,同時(shí)兼任主題教育學(xué)習(xí)教學(xué)辦主任" #“招就辦”和“教學(xué)辦”為獨(dú)立詞print("分詞結(jié)果:","/".join(jieba.cut(sentence)))>>

分詞結(jié)果:經(jīng)/研究/,/王小二/任/招就辦/主任/,/同時(shí)/兼任/主題/教育/學(xué)習(xí)/教學(xué)辦/主任

自定義詞典userdict.txt,內(nèi)容:

(3)關(guān)鍵詞提取

自定義IDF 文本語(yǔ)料庫(kù)idf_user.txt(圖2 所示)作為IDF 語(yǔ)料庫(kù)進(jìn)行關(guān)鍵詞提取。

圖2 自定義IDF語(yǔ)料庫(kù)

圖3 自定義stopwords

(4)詞性標(biāo)注

(5)返回詞語(yǔ)在原文的起止位置

3.4 詞云

輸出結(jié)果如圖4 所示。

圖4 詞云(矩形)

輸出結(jié)果如圖5 所示。

圖5 不分詞直接生成的詞云

輸出結(jié)果如圖6 所示。

圖6 以中國(guó)地圖為模板生成的詞云

圖7 詞云(去停用詞、指定關(guān)鍵詞數(shù)、縮放)

輸出結(jié)果如圖7 所示。

輸出結(jié)果如圖8 所示。

輸出結(jié)果如圖9 所示。

4 結(jié)語(yǔ)

文本分詞是自然語(yǔ)言處理的基礎(chǔ),jieba 中文分詞工具是一款廣泛使用的文本分詞工具。Python 語(yǔ)言是當(dāng)下熱門計(jì)算機(jī)語(yǔ)言,廣泛應(yīng)用于各個(gè)領(lǐng)域,功能強(qiáng)大,擁有許多第三方庫(kù)和社區(qū)支持。本文以十九屆四中全會(huì)決定為語(yǔ)料,基于jieba 和WordCloud 庫(kù)詳細(xì)介紹了中文分詞與詞云生成技術(shù)。

圖8 詞云(顯示輪廓)

圖9 詞云(模板顏色)

猜你喜歡
詞云分詞詞典
詞云和情感分析在新媒體環(huán)境下社會(huì)科學(xué)普及的應(yīng)用研究
基于PyQt5界面的詞云制作軟件設(shè)計(jì)
米沃什詞典
文苑(2019年24期)2020-01-06 12:06:50
結(jié)巴分詞在詞云中的應(yīng)用
評(píng)《現(xiàn)代漢語(yǔ)詞典》(第6版)
詞典例證翻譯標(biāo)準(zhǔn)探索
基于SCI文獻(xiàn)分析的呼吸病學(xué)發(fā)展態(tài)勢(shì)研究
值得重視的分詞的特殊用法
圖學(xué)學(xué)報(bào)(2014年2期)2014-03-06 05:42:52
高考分詞作狀語(yǔ)考點(diǎn)歸納與疑難解析
札达县| 海门市| 安乡县| 公安县| 浠水县| 云和县| 抚顺县| 诏安县| 桦南县| 灌阳县| 乌恰县| 永春县| 读书| 万宁市| 社会| 乌鲁木齐市| 泽库县| 巩留县| 同心县| 岗巴县| 沧州市| 西贡区| 汕头市| 齐河县| 九龙坡区| 鹰潭市| 长阳| 磐安县| 高阳县| 堆龙德庆县| 封开县| 新宾| 南通市| 琼海市| 南投县| 孙吴县| 铜梁县| 禄丰县| 正安县| 西充县| 桦川县|