• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

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

      1 中文分詞

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

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

      首先,中文語句中詞與詞之間沒有明顯的分隔標(biāo)志,不像英文語句中詞與詞之間通過空格進(jìn)行分隔。其次,中文中字詞和短語無論是字?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è)領(lǐng)域具有行業(yè)專業(yè)術(shù)語,這些詞難易識(shí)別和全面識(shí)別。其五,切出來的字詞長(zhǎng)度也影響分詞效果[2]。

      1.2 jieba分詞工具

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

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

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

      (1)分詞

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

      (2)加載自定義詞典

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

      除了自定義詞典外,還可以調(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)返回詞語在原文的起止位置

      2 詞云

      詞云就是將文本中高頻“關(guān)鍵詞”以可視化的方式呈現(xiàn),形象、生動(dòng)、有趣,自動(dòng)過濾低頻詞和非關(guān)鍵文本信息,直觀、一目了然,不同的詞采用不同的顏色表示。Python 中第三方庫WordCloud 是一款廣泛應(yīng)用于詞云展示的詞云庫。詞云以詞為基本單位,以文本中詞出現(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 來顯示詞云,wordcloudObj.to_file(file_name)保存詞云為圖片文件。主要參數(shù)[5]見表2 所示。

      表2 詞云參數(shù)

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

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

      3.1 Python

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

      3.2 語料

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

      圖2 自定義IDF語料庫

      圖3 自定義stopwords

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

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

      3.4 詞云

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

      圖4 詞云(矩形)

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

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

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

      圖6 以中國地圖為模板生成的詞云

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

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

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

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

      4 結(jié)語

      文本分詞是自然語言處理的基礎(chǔ),jieba 中文分詞工具是一款廣泛使用的文本分詞工具。Python 語言是當(dāng)下熱門計(jì)算機(jī)語言,廣泛應(yīng)用于各個(gè)領(lǐng)域,功能強(qiáng)大,擁有許多第三方庫和社區(qū)支持。本文以十九屆四中全會(huì)決定為語料,基于jieba 和WordCloud 庫詳細(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)代漢語詞典》(第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
      高考分詞作狀語考點(diǎn)歸納與疑難解析
      景东| 井冈山市| 怀仁县| 永善县| 府谷县| 彰化县| 朝阳市| 博罗县| 葫芦岛市| 厦门市| 阳高县| 天镇县| 洛南县| 山阳县| 柳林县| 浑源县| 齐河县| 吉木萨尔县| 西和县| 墨江| 丽江市| 九江县| 荣成市| 凌海市| 类乌齐县| 三河市| 长岛县| 海口市| 阳泉市| 宁陕县| 镇沅| 辽宁省| 磐石市| 博野县| 讷河市| 阿尔山市| 抚远县| 沁水县| 盐亭县| 大冶市| 土默特左旗|