在接下來(lái)的分詞練習(xí)中將使用到四川大學(xué)公共管理學(xué)院的一篇新聞進(jìn)行練習(xí),文本如下:
為貫徹落實(shí)黨的十九大精神,不斷提升黨建工作科學(xué)化水平,5月23日下午,浙江大學(xué)公共管理學(xué)院在黨委書(shū)記楊國(guó)富的帶領(lǐng)下,一行6人與我院在萃文樓311會(huì)議室開(kāi)展黨建工作學(xué)習(xí)交流。我院黨委書(shū)記姜曉萍,副院長(zhǎng)羅亞玲,專職組織員廖海燕,工會(huì)副主席胡康林,黨支部書(shū)記代表林茂松、肖敏,黨務(wù)工作者鄧雅芯參加此次交流會(huì)。交流會(huì)上,浙江大學(xué)公共管理學(xué)院黨委書(shū)記楊國(guó)富、我院黨委書(shū)記姜曉萍分別對(duì)如何開(kāi)展黨建工作經(jīng)驗(yàn)進(jìn)行了全面介紹,并就宣傳信息工作與意識(shí)形態(tài)工作、政治理論學(xué)習(xí)工作、支部黨建工作、組織凝聚力及黨建文化建設(shè)工作、黨員之家建設(shè)工作等方面進(jìn)行了深入的交流。參會(huì)老師結(jié)合近期重點(diǎn)黨建工作進(jìn)行了討論,交流會(huì)活動(dòng)氣氛融洽,大家暢所欲言,積極探討黨建工作中的優(yōu)秀經(jīng)驗(yàn)和先進(jìn)做法,為下一階段黨建工作的開(kāi)展奠定了基礎(chǔ)。楊國(guó)富書(shū)記、姜曉萍書(shū)記表示,希望今后雙方進(jìn)一步加強(qiáng)聯(lián)系,互通有無(wú)、互相學(xué)習(xí)、相互借鑒,共同提高,不斷促進(jìn)兩個(gè)單位的黨建工作再上新臺(tái)階。
一、利用在線分詞工具進(jìn)行分詞練習(xí)
(1)ICTCLAS分詞系統(tǒng)分詞
ICTCLAS分詞系統(tǒng)最早的中文開(kāi)源分詞項(xiàng)目之一,主要功能包括:中文分詞;詞性標(biāo)注;命名實(shí)體識(shí)別;新詞識(shí)別;同時(shí)支持用戶詞典。
使用時(shí),首先進(jìn)入ICTCLAS分詞系統(tǒng)的在線演示,將新聞文本粘貼到空白框中,點(diǎn)擊開(kāi)始分析即可,當(dāng)然,該分詞系統(tǒng)也支持通過(guò)輸入url實(shí)現(xiàn)頁(yè)面文本的抓取,但是由于會(huì)抓取到很多頁(yè)面上其他的信息,我在這里采用直接粘貼文本的方法

可以看到這個(gè)在線分析工具的分析方向和結(jié)果是十分豐富的:

a.分詞標(biāo)注

在ICTCLAS分詞系統(tǒng)中我們可以看到它將全文分成了上面的內(nèi)容(未展示完),比較突出的幾個(gè)分詞點(diǎn)是:十九大,該分詞系統(tǒng)將“十九”看做數(shù)詞分到了一塊;公共管理學(xué)院也被處理成了三個(gè)分詞,至于人名更多的是劃分成了一個(gè)字一個(gè)字,但是總體來(lái)說(shuō)劃分出來(lái)原材料的內(nèi)容并沒(méi)有被劃掉。用戶也可以通過(guò)自定義詞語(yǔ)來(lái)改變分詞的劃分結(jié)果
b.實(shí)體抽取

c.詞頻統(tǒng)計(jì)

可以看到這一段新聞主要是關(guān)于黨建工作、學(xué)習(xí)交流,與學(xué)院有關(guān)的。
d.文本分類

e.關(guān)鍵詞提取

這里有點(diǎn)小疑惑是“黨建”在詞頻統(tǒng)計(jì)出現(xiàn)的次數(shù)是最多的,但是做出的關(guān)鍵詞提取竟然只是用很小的字體顯示出來(lái)的,并且還被放在了最邊上。
(2)詞無(wú)憂——中文在線分詞
這個(gè)中文在線分詞是我在網(wǎng)上隨便找的一個(gè)在線分詞工具,用它做分詞練習(xí)是想有些對(duì)比效果。
同樣,進(jìn)入這個(gè)網(wǎng)站,將之前準(zhǔn)備好的新聞文本粘貼到對(duì)應(yīng)的空白框處,點(diǎn)擊進(jìn)行分詞??梢钥吹匠霈F(xiàn)如下情況:

同樣的,它也將十九大劃分成了兩個(gè)詞,和前面ICTCLAS分詞系統(tǒng)不同的是它將其分成了十、九大,所以詞庫(kù)不同或者分詞算法不同也會(huì)出現(xiàn)多種切分的情況。對(duì)于公共管理學(xué)院它也沒(méi)能將其劃分到一塊,不過(guò)倒是將“管理學(xué)院”切分到了一起。另外,這一分詞切分工具出現(xiàn)了一個(gè)與前面ICTCLAS分詞系統(tǒng)最大的不同得地方,在上圖中“交流會(huì)”部分,該分詞工具直接將其中一個(gè)“交流會(huì)”去掉了,這種情況還出現(xiàn)在后面的劃分內(nèi)容中。

二、利用Jieba進(jìn)行分詞練習(xí)
官方文檔:https://github.com/fxsjy/jieba
Jieba簡(jiǎn)介:“結(jié)巴”中文分詞:可以將中文的句子進(jìn)行單詞分割,多種分詞模式,支持繁體、自定義詞典。
特點(diǎn):
a.支持三種分詞模式:
?精確模式,試圖將句子最精確地切開(kāi),適合文本分析;
?全模式,把句子中所有的可以成詞的詞語(yǔ)都掃描出來(lái), 速度非常快,但是不能解決歧義;
?搜索引擎模式,在精確模式的基礎(chǔ)上,對(duì)長(zhǎng)詞再次切分,提高召回率,適合用于搜索引擎分詞。
b.支持繁體分詞
c.支持自定義詞典
d.MIT 授權(quán)協(xié)議
1.安裝Jieba
pip install jieba
接下來(lái),新建一個(gè)文件夾jeiba,在該文件夾下新建news.py
2.根據(jù)jieba的官方文檔進(jìn)行分詞練習(xí)
(代碼參考來(lái)源:jieba官方文檔)
1)分詞
?jieba.cut 方法接受三個(gè)輸入?yún)?shù): 需要分詞的字符串;cut_all 參數(shù)用來(lái)控制是否采用全模式;HMM 參數(shù)用來(lái)控制是否使用 HMM 模型
?jieba.cut_for_search 方法接受兩個(gè)參數(shù):需要分詞的字符串;是否使用 HMM 模型。該方法適合用于搜索引擎構(gòu)建倒排索引的分詞,粒度比較細(xì)
?待分詞的字符串可以是 unicode 或 UTF-8 字符串、GBK 字符串。注意:不建議直接輸入 GBK 字符串,可能無(wú)法預(yù)料地錯(cuò)誤解碼成 UTF-8
?jieba.cut 以及 jieba.cut_for_search 返回的結(jié)構(gòu)都是一個(gè)可迭代的 generator,可以使用 for 循環(huán)來(lái)獲得分詞后得到的每一個(gè)詞語(yǔ)(unicode),或者用jieba.lcut 以及 jieba.lcut_for_search 直接返回 list
?jieba.Tokenizer(dictionary=DEFAULT_DICT) 新建自定義分詞器,可用于同時(shí)使用不同詞典。jieba.dt 為默認(rèn)分詞器,所有全局分詞相關(guān)函數(shù)都是該分詞器的映射。
# encoding=utf-8
import jieba
seg_list = jieba.cut("為貫徹落實(shí)黨的十九大精神,不斷提升黨建工作科學(xué)化水平,5月23日下午,浙江大學(xué)公共管理學(xué)院在黨委書(shū)記楊國(guó)富的帶領(lǐng)下,一行6人與我院在萃文樓311會(huì)議室開(kāi)展黨建工作學(xué)習(xí)交流。我院黨委書(shū)記姜曉萍,副院長(zhǎng)羅亞玲,專職組織員廖海燕,工會(huì)副主席胡康林,黨支部書(shū)記代表林茂松、肖敏,黨務(wù)工作者鄧雅芯參加此次交流會(huì)。交流會(huì)上,浙江大學(xué)公共管理學(xué)院黨委書(shū)記楊國(guó)富、我院黨委書(shū)記姜曉萍分別對(duì)如何開(kāi)展黨建工作經(jīng)驗(yàn)進(jìn)行了全面介紹,并就宣傳信息工作與意識(shí)形態(tài)工作、政治理論學(xué)習(xí)工作、支部黨建工作、組織凝聚力及黨建文化建設(shè)工作、黨員之家建設(shè)工作等方面進(jìn)行了深入的交流。參會(huì)老師結(jié)合近期重點(diǎn)黨建工作進(jìn)行了討論,交流會(huì)活動(dòng)氣氛融洽,大家暢所欲言,積極探討黨建工作中的優(yōu)秀經(jīng)驗(yàn)和先進(jìn)做法,為下一階段黨建工作的開(kāi)展奠定了基礎(chǔ)。楊國(guó)富書(shū)記、姜曉萍書(shū)記表示,希望今后雙方進(jìn)一步加強(qiáng)聯(lián)系,互通有無(wú)、互相學(xué)習(xí)、相互借鑒,共同提高,不斷促進(jìn)兩個(gè)單位的黨建工作再上新臺(tái)階。", cut_all=True)
print("Full Mode: " + "/ ".join(seg_list)) # 全模式
seg_list = jieba.cut("為貫徹落實(shí)黨的十九大精神,不斷提升黨建工作科學(xué)化水平,5月23日下午,浙江大學(xué)公共管理學(xué)院在黨委書(shū)記楊國(guó)富的帶領(lǐng)下,一行6人與我院在萃文樓311會(huì)議室開(kāi)展黨建工作學(xué)習(xí)交流。我院黨委書(shū)記姜曉萍,副院長(zhǎng)羅亞玲,專職組織員廖海燕,工會(huì)副主席胡康林,黨支部書(shū)記代表林茂松、肖敏,黨務(wù)工作者鄧雅芯參加此次交流會(huì)。交流會(huì)上,浙江大學(xué)公共管理學(xué)院黨委書(shū)記楊國(guó)富、我院黨委書(shū)記姜曉萍分別對(duì)如何開(kāi)展黨建工作經(jīng)驗(yàn)進(jìn)行了全面介紹,并就宣傳信息工作與意識(shí)形態(tài)工作、政治理論學(xué)習(xí)工作、支部黨建工作、組織凝聚力及黨建文化建設(shè)工作、黨員之家建設(shè)工作等方面進(jìn)行了深入的交流。參會(huì)老師結(jié)合近期重點(diǎn)黨建工作進(jìn)行了討論,交流會(huì)活動(dòng)氣氛融洽,大家暢所欲言,積極探討黨建工作中的優(yōu)秀經(jīng)驗(yàn)和先進(jìn)做法,為下一階段黨建工作的開(kāi)展奠定了基礎(chǔ)。楊國(guó)富書(shū)記、姜曉萍書(shū)記表示,希望今后雙方進(jìn)一步加強(qiáng)聯(lián)系,互通有無(wú)、互相學(xué)習(xí)、相互借鑒,共同提高,不斷促進(jìn)兩個(gè)單位的黨建工作再上新臺(tái)階。", cut_all=False)
print("Default Mode: " + "/ ".join(seg_list)) # 精確模式
seg_list = jieba.cut("為貫徹落實(shí)黨的十九大精神,不斷提升黨建工作科學(xué)化水平,5月23日下午,浙江大學(xué)公共管理學(xué)院在黨委書(shū)記楊國(guó)富的帶領(lǐng)下,一行6人與我院在萃文樓311會(huì)議室開(kāi)展黨建工作學(xué)習(xí)交流。我院黨委書(shū)記姜曉萍,副院長(zhǎng)羅亞玲,專職組織員廖海燕,工會(huì)副主席胡康林,黨支部書(shū)記代表林茂松、肖敏,黨務(wù)工作者鄧雅芯參加此次交流會(huì)。交流會(huì)上,浙江大學(xué)公共管理學(xué)院黨委書(shū)記楊國(guó)富、我院黨委書(shū)記姜曉萍分別對(duì)如何開(kāi)展黨建工作經(jīng)驗(yàn)進(jìn)行了全面介紹,并就宣傳信息工作與意識(shí)形態(tài)工作、政治理論學(xué)習(xí)工作、支部黨建工作、組織凝聚力及黨建文化建設(shè)工作、黨員之家建設(shè)工作等方面進(jìn)行了深入的交流。參會(huì)老師結(jié)合近期重點(diǎn)黨建工作進(jìn)行了討論,交流會(huì)活動(dòng)氣氛融洽,大家暢所欲言,積極探討黨建工作中的優(yōu)秀經(jīng)驗(yàn)和先進(jìn)做法,為下一階段黨建工作的開(kāi)展奠定了基礎(chǔ)。楊國(guó)富書(shū)記、姜曉萍書(shū)記表示,希望今后雙方進(jìn)一步加強(qiáng)聯(lián)系,互通有無(wú)、互相學(xué)習(xí)、相互借鑒,共同提高,不斷促進(jìn)兩個(gè)單位的黨建工作再上新臺(tái)階。")
print(", ".join(seg_list)) # 默認(rèn)是精確模式,據(jù)說(shuō)可以新詞識(shí)別
seg_list = jieba.cut_for_search("為貫徹落實(shí)黨的十九大精神,不斷提升黨建工作科學(xué)化水平,5月23日下午,浙江大學(xué)公共管理學(xué)院在黨委書(shū)記楊國(guó)富的帶領(lǐng)下,一行6人與我院在萃文樓311會(huì)議室開(kāi)展黨建工作學(xué)習(xí)交流。我院黨委書(shū)記姜曉萍,副院長(zhǎng)羅亞玲,專職組織員廖海燕,工會(huì)副主席胡康林,黨支部書(shū)記代表林茂松、肖敏,黨務(wù)工作者鄧雅芯參加此次交流會(huì)。交流會(huì)上,浙江大學(xué)公共管理學(xué)院黨委書(shū)記楊國(guó)富、我院黨委書(shū)記姜曉萍分別對(duì)如何開(kāi)展黨建工作經(jīng)驗(yàn)進(jìn)行了全面介紹,并就宣傳信息工作與意識(shí)形態(tài)工作、政治理論學(xué)習(xí)工作、支部黨建工作、組織凝聚力及黨建文化建設(shè)工作、黨員之家建設(shè)工作等方面進(jìn)行了深入的交流。參會(huì)老師結(jié)合近期重點(diǎn)黨建工作進(jìn)行了討論,交流會(huì)活動(dòng)氣氛融洽,大家暢所欲言,積極探討黨建工作中的優(yōu)秀經(jīng)驗(yàn)和先進(jìn)做法,為下一階段黨建工作的開(kāi)展奠定了基礎(chǔ)。楊國(guó)富書(shū)記、姜曉萍書(shū)記表示,希望今后雙方進(jìn)一步加強(qiáng)聯(lián)系,互通有無(wú)、互相學(xué)習(xí)、相互借鑒,共同提高,不斷促進(jìn)兩個(gè)單位的黨建工作再上新臺(tái)階。")
print(", ".join(seg_list)) # 搜索引擎模式
在命令行中進(jìn)入到j(luò)ieba目錄下,輸入:
python news.py
幾種不同模式下的劃分結(jié)果:




從上面的結(jié)果可以看出搜索引擎模式將該段新聞文本劃分出多個(gè)相關(guān)詞,劃分結(jié)果相對(duì)來(lái)說(shuō)較細(xì)。
2)添加自定義詞典
載入詞典
?開(kāi)發(fā)者可以指定自己自定義的詞典,以便包含 jieba 詞庫(kù)里沒(méi)有的詞。雖然 jieba 有新詞識(shí)別能力,但是自行添加新詞可以保證更高的正確率
?用法: jieba.load_userdict(file_name) # file_name 為文件類對(duì)象或自定義詞典的路徑
?詞典格式和 dict.txt 一樣,一個(gè)詞占一行;每一行分三部分:詞語(yǔ)、詞頻(可省略)、詞性(可省略),用空格隔開(kāi),順序不可顛倒。file_name 若為路徑或二進(jìn)制方式打開(kāi)的文件,則文件必須為 UTF-8 編碼。
?詞頻省略時(shí)使用自動(dòng)計(jì)算的能保證分出該詞的詞頻。
從前面的分詞結(jié)果可以看出,出現(xiàn)的“新詞”,例如黨的十九大、公共管理學(xué)院、萃文樓……都是詞庫(kù)中沒(méi)有包含到的詞,這里我們以將添加自定義詞典的方式添加這些詞來(lái)提高分詞準(zhǔn)確率。
首先,在jieba文件夾下新建userdict.text,設(shè)置添加的新詞
黨的十九大
公共管理學(xué)院
萃文樓
楊國(guó)富
再上新臺(tái)階
注意要一個(gè)自定義詞一行,并且保存文件時(shí)需要以u(píng)tf-8形式保存,否則會(huì)出現(xiàn)以下報(bào)錯(cuò)情況:
ValueError: dictionary file userdict.txt must be utf-8
其次,在jieba文件夾下新建news1.py文件,編輯如下:
# encoding=utf-8
from __future__ import print_function, unicode_literals
import sys
sys.path.append("../")
import jieba
jieba.load_userdict("userdict.txt")
import jieba.posseg as pseg
test_sent = (
"為貫徹落實(shí)黨的十九大精神,不斷提升黨建工作科學(xué)化水平,5月23日下午,浙江大學(xué)公共管理學(xué)院在黨委書(shū)記楊國(guó)富的帶領(lǐng)下,一行6人與我院在萃文樓311會(huì)議室開(kāi)展黨建工作學(xué)習(xí)交流。我院黨委書(shū)記姜曉萍,副院長(zhǎng)羅亞玲,專職組織員廖海燕,工會(huì)副主席胡康林,黨支部書(shū)記代表林茂松、肖敏,黨務(wù)工作者鄧雅芯參加此次交流會(huì)。交流會(huì)上,浙江大學(xué)公共管理學(xué)院黨委書(shū)記楊國(guó)富、我院黨委書(shū)記姜曉萍分別對(duì)如何開(kāi)展黨建工作經(jīng)驗(yàn)進(jìn)行了全面介紹,并就宣傳信息工作與意識(shí)形態(tài)工作、政治理論學(xué)習(xí)工作、支部黨建工作、組織凝聚力及黨建文化建設(shè)工作、黨員之家建設(shè)工作等方面進(jìn)行了深入的交流。參會(huì)老師結(jié)合近期重點(diǎn)黨建工作進(jìn)行了討論,交流會(huì)活動(dòng)氣氛融洽,大家暢所欲言,積極探討黨建工作中的優(yōu)秀經(jīng)驗(yàn)和先進(jìn)做法,為下一階段黨建工作的開(kāi)展奠定了基礎(chǔ)。楊國(guó)富書(shū)記、姜曉萍書(shū)記表示,希望今后雙方進(jìn)一步加強(qiáng)聯(lián)系,互通有無(wú)、互相學(xué)習(xí)、相互借鑒,共同提高,不斷促進(jìn)兩個(gè)單位的黨建工作再上新臺(tái)階。"
)
words = jieba.cut(test_sent)
print('/'.join(words))
python news1.py
執(zhí)行結(jié)果如下圖:

我們可以看到經(jīng)過(guò)自定義已經(jīng)能夠?qū)ⅰ包h的十九大”、“公共管理學(xué)院”等分成一個(gè)詞了
第三,可以通過(guò)add_word() 和 del_word() 在程序中動(dòng)態(tài)修改詞典
調(diào)整詞典
?使用 add_word(word, freq=None, tag=None) 和 del_word(word) 可
在程序中動(dòng)態(tài)修改詞典。
?使用 suggest_freq(segment, tune=True) 可調(diào)節(jié)單個(gè)詞語(yǔ)的詞頻,使其能(或不能)被分出來(lái)。
?注意:自動(dòng)計(jì)算的詞頻在使用 HMM 新詞發(fā)現(xiàn)功能時(shí)可能無(wú)效。
下面舉例動(dòng)態(tài)添加詞典,修改new1.py如下:
# encoding=utf-8
from __future__ import print_function, unicode_literals
import sys
sys.path.append("../")
import jieba
jieba.load_userdict("userdict.txt")
import jieba.posseg as pseg
jieba.add_word('廖海燕')
jieba.add_word('副院長(zhǎng)')
test_sent = (
"為貫徹落實(shí)黨的十九大精神,不斷提升黨建工作科學(xué)化水平,5月23日下午,浙江大學(xué)公共管理學(xué)院在黨委書(shū)記楊國(guó)富的帶領(lǐng)下,一行6人與我院在萃文樓311會(huì)議室開(kāi)展黨建工作學(xué)習(xí)交流。我院黨委書(shū)記姜曉萍,副院長(zhǎng)羅亞玲,專職組織員廖海燕,工會(huì)副主席胡康林,黨支部書(shū)記代表林茂松、肖敏,黨務(wù)工作者鄧雅芯參加此次交流會(huì)。交流會(huì)上,浙江大學(xué)公共管理學(xué)院黨委書(shū)記楊國(guó)富、我院黨委書(shū)記姜曉萍分別對(duì)如何開(kāi)展黨建工作經(jīng)驗(yàn)進(jìn)行了全面介紹,并就宣傳信息工作與意識(shí)形態(tài)工作、政治理論學(xué)習(xí)工作、支部黨建工作、組織凝聚力及黨建文化建設(shè)工作、黨員之家建設(shè)工作等方面進(jìn)行了深入的交流。參會(huì)老師結(jié)合近期重點(diǎn)黨建工作進(jìn)行了討論,交流會(huì)活動(dòng)氣氛融洽,大家暢所欲言,積極探討黨建工作中的優(yōu)秀經(jīng)驗(yàn)和先進(jìn)做法,為下一階段黨建工作的開(kāi)展奠定了基礎(chǔ)。楊國(guó)富書(shū)記、姜曉萍書(shū)記表示,希望今后雙方進(jìn)一步加強(qiáng)聯(lián)系,互通有無(wú)、互相學(xué)習(xí)、相互借鑒,共同提高,不斷促進(jìn)兩個(gè)單位的黨建工作再上新臺(tái)階。"
)
words = jieba.cut(test_sent)
print('/'.join(words))
執(zhí)行結(jié)果如下:

可以看到經(jīng)過(guò)添加詞典,在前面規(guī)定的詞典下,又將“副院長(zhǎng)”以及“廖海燕”劃分到了一起~
3)基于 TF-IDF 算法的關(guān)鍵詞抽取
-
關(guān)鍵詞提取
import jieba.analyse (引入關(guān)鍵詞提?。?br> ?jieba.analyse.extract_tags(sentence, topK=20, withWeight=False, allowPOS=())
①sentence 為待提取的文本
②topK 為返回幾個(gè) TF/IDF 權(quán)重最大的關(guān)鍵詞,默認(rèn)值為 20
③withWeight 為是否一并返回關(guān)鍵詞權(quán)重值,默認(rèn)值為 False
④allowPOS 僅包括指定詞性的詞,默認(rèn)值為空,即不篩選
?jieba.analyse.TFIDF(idf_path=None) 新建 TFIDF 實(shí)例,idf_path 為 IDF 頻率文件
在jieba文件夾下新建news_extract_tags.py文件,編輯如下
# -*- coding: utf-8 -*-
import sys
sys.path.append('../')
import jieba
from jieba import analyse # 引入TF-IDF關(guān)鍵詞抽取接口
from optparse import OptionParser
text = "為貫徹落實(shí)黨的十九大精神,不斷提升黨建工作科學(xué)化水平,5月23日下午,浙江大學(xué)公共管理學(xué)院在黨委書(shū)記楊國(guó)富的帶領(lǐng)下,一行6人與我院在萃文樓311會(huì)議室開(kāi)展黨建工作學(xué)習(xí)交流。我院黨委書(shū)記姜曉萍,副院長(zhǎng)羅亞玲,專職組織員廖海燕,工會(huì)副主席胡康林,黨支部書(shū)記代表林茂松、肖敏,黨務(wù)工作者鄧雅芯參加此次交流會(huì)。交流會(huì)上,浙江大學(xué)公共管理學(xué)院黨委書(shū)記楊國(guó)富、我院黨委書(shū)記姜曉萍分別對(duì)如何開(kāi)展黨建工作經(jīng)驗(yàn)進(jìn)行了全面介紹,并就宣傳信息工作與意識(shí)形態(tài)工作、政治理論學(xué)習(xí)工作、支部黨建工作、組織凝聚力及黨建文化建設(shè)工作、黨員之家建設(shè)工作等方面進(jìn)行了深入的交流。參會(huì)老師結(jié)合近期重點(diǎn)黨建工作進(jìn)行了討論,交流會(huì)活動(dòng)氣氛融洽,大家暢所欲言,積極探討黨建工作中的優(yōu)秀經(jīng)驗(yàn)和先進(jìn)做法,為下一階段黨建工作的開(kāi)展奠定了基礎(chǔ)。楊國(guó)富書(shū)記、姜曉萍書(shū)記表示,希望今后雙方進(jìn)一步加強(qiáng)聯(lián)系,互通有無(wú)、互相學(xué)習(xí)、相互借鑒,共同提高,不斷促進(jìn)兩個(gè)單位的黨建工作再上新臺(tái)階。"
# 原始文本內(nèi)容
keywords = analyse.extract_tags(text)
print ("keywords:")
for keyword in keywords:
print (keyword + "/")
python news_extract_tags.py

-
關(guān)鍵詞提取所使用逆向文件頻率
用法: jieba.analyse.set_idf_path(file_name) # file_name為自定義語(yǔ)料庫(kù)的路徑
在程序中添加:
jieba.analyse.set_idf_path("file_name")
(官方提供的語(yǔ)料庫(kù)好像打不開(kāi)了)
-
關(guān)鍵詞提取所使用停止詞
用法: jieba.analyse.set_stop_words(file_name) # file_name為自定義語(yǔ)料庫(kù)的路徑
由于每個(gè)網(wǎng)站都有“在”、“里面”、“也”、“的”、“它”、“為”等無(wú)索引意義的副詞、介詞、冠詞……這些詞因?yàn)槭褂妙l率過(guò)高,幾乎每個(gè)網(wǎng)頁(yè)上都存在,所以搜索引擎開(kāi)發(fā)人員都將這一類詞語(yǔ)全部忽略掉。如果我們的網(wǎng)站上存在大量這樣的詞語(yǔ),那么相當(dāng)于浪費(fèi)了很多資源。因此通過(guò)使用停止詞來(lái)減少這些詞在關(guān)鍵詞中的出現(xiàn)。
這里由于之前已經(jīng)提出了一些關(guān)鍵,不涉及一些“也”、“的”、“它”、“為”等詞,為了能更好的理解停止詞的作用,我將在jieba文件夾下的新建stop.txt,在其中添加人名和數(shù)字,stop.txt如下(注意一行寫(xiě)一個(gè)詞?。?/p>
的
是
和
至
與
著
或
我們
你們
妳們
他們
羅亞玲
胡康林
林茂松
肖敏
鄧雅芯
姜曉萍
23
311
為了方便直接在news_extract_tags.py中添加一句:jieba.analyse.set_stop_words("stop.txt") ,如下:
# -*- coding: utf-8 -*-
import sys
sys.path.append('../')
import jieba
from jieba import analyse # 引入TF-IDF關(guān)鍵詞抽取接口
from optparse import OptionParser
text = "為貫徹落實(shí)黨的十九大精神,不斷提升黨建工作科學(xué)化水平,5月23日下午,浙江大學(xué)公共管理學(xué)院在黨委書(shū)記楊國(guó)富的帶領(lǐng)下,一行6人與我院在萃文樓311會(huì)議室開(kāi)展黨建工作學(xué)習(xí)交流。我院黨委書(shū)記姜曉萍,副院長(zhǎng)羅亞玲,專職組織員廖海燕,工會(huì)副主席胡康林,黨支部書(shū)記代表林茂松、肖敏,黨務(wù)工作者鄧雅芯參加此次交流會(huì)。交流會(huì)上,浙江大學(xué)公共管理學(xué)院黨委書(shū)記楊國(guó)富、我院黨委書(shū)記姜曉萍分別對(duì)如何開(kāi)展黨建工作經(jīng)驗(yàn)進(jìn)行了全面介紹,并就宣傳信息工作與意識(shí)形態(tài)工作、政治理論學(xué)習(xí)工作、支部黨建工作、組織凝聚力及黨建文化建設(shè)工作、黨員之家建設(shè)工作等方面進(jìn)行了深入的交流。參會(huì)老師結(jié)合近期重點(diǎn)黨建工作進(jìn)行了討論,交流會(huì)活動(dòng)氣氛融洽,大家暢所欲言,積極探討黨建工作中的優(yōu)秀經(jīng)驗(yàn)和先進(jìn)做法,為下一階段黨建工作的開(kāi)展奠定了基礎(chǔ)。楊國(guó)富書(shū)記、姜曉萍書(shū)記表示,希望今后雙方進(jìn)一步加強(qiáng)聯(lián)系,互通有無(wú)、互相學(xué)習(xí)、相互借鑒,共同提高,不斷促進(jìn)兩個(gè)單位的黨建工作再上新臺(tái)階。"
# 原始文本內(nèi)容
jieba.analyse.set_stop_words("stop.txt") #停用詞
keywords = analyse.extract_tags(text)
print ("keywords:")
for keyword in keywords:
print (keyword + "/")

4)基于 TextRank 算法的關(guān)鍵詞抽取
基于TextRank算法抽取關(guān)鍵詞的主調(diào)函數(shù)是TextRank.textrank函數(shù),主要是在jieba/analyse/textrank.py中實(shí)現(xiàn)。
其中,TextRank是為T(mén)extRank算法抽取關(guān)鍵詞所定義的類。類在初始化時(shí),默認(rèn)加載了分詞函數(shù)和詞性標(biāo)注函數(shù)
抽取方法:
?首先定義一個(gè)無(wú)向有權(quán)圖,然后對(duì)句子進(jìn)行分詞;依次遍歷分詞結(jié)果,如果某個(gè)詞i滿足過(guò)濾條件(詞性在詞性過(guò)濾集合中,并且詞的長(zhǎng)度大于等于2,并且詞不是停用詞),然后將這個(gè)詞之后窗口范圍內(nèi)的詞j(這些詞也需要滿足過(guò)濾條件),將它們兩兩(詞i和詞j)作為key,出現(xiàn)的次數(shù)作為value,添加到共現(xiàn)詞典中;
?然后,依次遍歷共現(xiàn)詞典,將詞典中的每個(gè)元素,key = (詞i,詞j),value = 詞i和詞j出現(xiàn)的次數(shù),其中詞i,詞j作為一條邊起始點(diǎn)和終止點(diǎn),共現(xiàn)的次數(shù)作為邊的權(quán)重,添加到之前定義的無(wú)向有權(quán)圖中。
?之后對(duì)這個(gè)無(wú)向有權(quán)圖進(jìn)行迭代運(yùn)算textrank算法,最終經(jīng)過(guò)若干次迭代后,算法收斂,每個(gè)詞都對(duì)應(yīng)一個(gè)指標(biāo)值;
?如果設(shè)置了權(quán)重標(biāo)志位,則根據(jù)指標(biāo)值值對(duì)無(wú)向有權(quán)圖中的詞進(jìn)行降序排序,最后輸出topK個(gè)詞作為關(guān)鍵詞;
關(guān)鍵詞抽?。?br> 在jieba文件夾下新建news_textrank.py,編輯如下:
# -*- coding: utf-8 -*-
import sys
sys.path.append('../')
import jieba
from jieba import analyse
from optparse import OptionParser
text = "為貫徹落實(shí)黨的十九大精神,不斷提升黨建工作科學(xué)化水平,5月23日下午,浙江大學(xué)公共管理學(xué)院在黨委書(shū)記楊國(guó)富的帶領(lǐng)下,一行6人與我院在萃文樓311會(huì)議室開(kāi)展黨建工作學(xué)習(xí)交流。我院黨委書(shū)記姜曉萍,副院長(zhǎng)羅亞玲,專職組織員廖海燕,工會(huì)副主席胡康林,黨支部書(shū)記代表林茂松、肖敏,黨務(wù)工作者鄧雅芯參加此次交流會(huì)。交流會(huì)上,浙江大學(xué)公共管理學(xué)院黨委書(shū)記楊國(guó)富、我院黨委書(shū)記姜曉萍分別對(duì)如何開(kāi)展黨建工作經(jīng)驗(yàn)進(jìn)行了全面介紹,并就宣傳信息工作與意識(shí)形態(tài)工作、政治理論學(xué)習(xí)工作、支部黨建工作、組織凝聚力及黨建文化建設(shè)工作、黨員之家建設(shè)工作等方面進(jìn)行了深入的交流。參會(huì)老師結(jié)合近期重點(diǎn)黨建工作進(jìn)行了討論,交流會(huì)活動(dòng)氣氛融洽,大家暢所欲言,積極探討黨建工作中的優(yōu)秀經(jīng)驗(yàn)和先進(jìn)做法,為下一階段黨建工作的開(kāi)展奠定了基礎(chǔ)。楊國(guó)富書(shū)記、姜曉萍書(shū)記表示,希望今后雙方進(jìn)一步加強(qiáng)聯(lián)系,互通有無(wú)、互相學(xué)習(xí)、相互借鑒,共同提高,不斷促進(jìn)兩個(gè)單位的黨建工作再上新臺(tái)階。"
keywords = analyse.textrank(text)
print ("keywords")
for keyword in keywords:
print (keyword + "/")

- 詞性標(biāo)注
?jieba.posseg.POSTokenizer(tokenizer=None) 新建自定義分詞器,tokenizer 參數(shù)可指定內(nèi)部使用的 jieba.Tokenizer 分詞器。jieba.posseg.dt 為默認(rèn)詞性標(biāo)注分詞器。
?標(biāo)注句子分詞后每個(gè)詞的詞性,采用和 ictclas 兼容的標(biāo)記法。
# -*- coding: utf-8 -*-
import jieba
import jieba.posseg as pseg
words = pseg.cut("為貫徹落實(shí)黨的十九大精神,不斷提升黨建工作科學(xué)化水平,5月23日下午,浙江大學(xué)公共管理學(xué)院在黨委書(shū)記楊國(guó)富的帶領(lǐng)下,一行6人與我院在萃文樓311會(huì)議室開(kāi)展黨建工作學(xué)習(xí)交流。我院黨委書(shū)記姜曉萍,副院長(zhǎng)羅亞玲,專職組織員廖海燕,工會(huì)副主席胡康林,黨支部書(shū)記代表林茂松、肖敏,黨務(wù)工作者鄧雅芯參加此次交流會(huì)。交流會(huì)上,浙江大學(xué)公共管理學(xué)院黨委書(shū)記楊國(guó)富、我院黨委書(shū)記姜曉萍分別對(duì)如何開(kāi)展黨建工作經(jīng)驗(yàn)進(jìn)行了全面介紹,并就宣傳信息工作與意識(shí)形態(tài)工作、政治理論學(xué)習(xí)工作、支部黨建工作、組織凝聚力及黨建文化建設(shè)工作、黨員之家建設(shè)工作等方面進(jìn)行了深入的交流。參會(huì)老師結(jié)合近期重點(diǎn)黨建工作進(jìn)行了討論,交流會(huì)活動(dòng)氣氛融洽,大家暢所欲言,積極探討黨建工作中的優(yōu)秀經(jīng)驗(yàn)和先進(jìn)做法,為下一階段黨建工作的開(kāi)展奠定了基礎(chǔ)。楊國(guó)富書(shū)記、姜曉萍書(shū)記表示,希望今后雙方進(jìn)一步加強(qiáng)聯(lián)系,互通有無(wú)、互相學(xué)習(xí)、相互借鑒,共同提高,不斷促進(jìn)兩個(gè)單位的黨建工作再上新臺(tái)階。")
for word, flag in words:
print('%s %s' % (word, flag))

- 并行分詞
?原理:將目標(biāo)文本按行分隔后,把各行文本分配到多個(gè) Python 進(jìn)程并行分詞,然后歸并結(jié)果,從而獲得分詞速度的可觀提升
?基于 python 自帶的 multiprocessing 模塊,目前暫不支持 Windows
三、利用jieba提取關(guān)鍵詞制作詞云
新建文件news2.py
# encoding=utf-8
from __future__ import print_function, unicode_literals
import jieba
jieba.load_userdict("userdict.txt")
import jieba.posseg as pseg
import jieba.analyse
content = "為貫徹落實(shí)黨的十九大精神,不斷提升黨建工作科學(xué)化水平,5月23日下午,浙江大學(xué)公共管理學(xué)院在黨委書(shū)記楊國(guó)富的帶領(lǐng)下,一行6人與我院在萃文樓311會(huì)議室開(kāi)展黨建工作學(xué)習(xí)交流。我院黨委書(shū)記姜曉萍,副院長(zhǎng)羅亞玲,專職組織員廖海燕,工會(huì)副主席胡康林,黨支部書(shū)記代表林茂松、肖敏,黨務(wù)工作者鄧雅芯參加此次交流會(huì)。交流會(huì)上,浙江大學(xué)公共管理學(xué)院黨委書(shū)記楊國(guó)富、我院黨委書(shū)記姜曉萍分別對(duì)如何開(kāi)展黨建工作經(jīng)驗(yàn)進(jìn)行了全面介紹,并就宣傳信息工作與意識(shí)形態(tài)工作、政治理論學(xué)習(xí)工作、支部黨建工作、組織凝聚力及黨建文化建設(shè)工作、黨員之家建設(shè)工作等方面進(jìn)行了深入的交流。參會(huì)老師結(jié)合近期重點(diǎn)黨建工作進(jìn)行了討論,交流會(huì)活動(dòng)氣氛融洽,大家暢所欲言,積極探討黨建工作中的優(yōu)秀經(jīng)驗(yàn)和先進(jìn)做法,為下一階段黨建工作的開(kāi)展奠定了基礎(chǔ)。楊國(guó)富書(shū)記、姜曉萍書(shū)記表示,希望今后雙方進(jìn)一步加強(qiáng)聯(lián)系,互通有無(wú)、互相學(xué)習(xí)、相互借鑒,共同提高,不斷促進(jìn)兩個(gè)單位的黨建工作再上新臺(tái)階。"
try:
jieba.analyse.set_stop_words('stop.txt')
tags = jieba.analyse.extract_tags(content, topK=100, withWeight=True)
for v, n in tags:
#權(quán)重是小數(shù),為了湊整,乘以10000
print (v + '\t' + str(int(n * 10000)))
finally:
file_in.close()
通過(guò)計(jì)算權(quán)重,為了能在云圖上繪制出來(lái),將權(quán)重乘以了10000,結(jié)果如下:
黨建工作 7775
我院 3221
楊國(guó)富 2915
黨委書(shū)記 2646
交流會(huì) 2490
公共管理學(xué)院 1943
工作 1708
浙江大學(xué) 1534
書(shū)記 1521
開(kāi)展 1474
交流 1102
互相學(xué)習(xí) 999
共同提高 999
黨的十九大 971
萃文樓 971
組織員 971
再上新臺(tái)階 971
學(xué)習(xí) 939
經(jīng)驗(yàn) 930
互通有無(wú) 921
進(jìn)行 909
暢所欲言 875
黨建 822
科學(xué)化 804
黨務(wù) 804
建設(shè) 798
不斷 781
凝聚力 759
融洽 742
參會(huì) 735
專職 726
黨支部 723
支部 721
下一階段 714
意識(shí)形態(tài) 713
工會(huì) 684
會(huì)議室 674
貫徹落實(shí) 664
工作者 651
黨員 632
借鑒 626
探討 577
帶領(lǐng) 568
一行 567
奠定 553
優(yōu)秀 551
氣氛 545
做法 539
宣傳 531
院長(zhǎng) 529
深入 520
老師 518
相互 514
討論 510
先進(jìn) 509
今后 506
下午 485
主席 469
雙方 468
結(jié)合 466
全面 457
精神 456
聯(lián)系 456
提升 452
介紹 449
促進(jìn) 446
此次 445
單位 435
加強(qiáng) 435
理論 427
信息 427
重點(diǎn) 427
近期 426
希望 423
積極 422
政治 417
文化 413
參加 412
代表 403
大家 396
組織 395
水平 394
進(jìn)一步 392
如何 388
基礎(chǔ) 387
分別 383
活動(dòng) 383
方面 346
兩個(gè) 336
表示 318
接下來(lái)制作云圖,打開(kāi)WordArt.com,將數(shù)據(jù)粘貼進(jìn)去


接下來(lái)依次設(shè)置形狀和字體

值得注意的是這個(gè)工具是沒(méi)有中文字體的。所以需要添加,就自己去網(wǎng)上下載一種字體(我這里下的是雅黑的),然后添加進(jìn)入就OK了。

最后點(diǎn)擊進(jìn)行云圖的制作:


參考:
jieba官方文檔
結(jié)巴5——關(guān)鍵詞抽取
用jieba分詞提取關(guān)鍵詞做漂亮的詞云
推薦:
云圖制作工具:WordArt.com