本系列文章主要結(jié)合Python語言實(shí)現(xiàn)知識圖譜構(gòu)建相關(guān)工程,具有一定創(chuàng)新性和實(shí)用性,非常希望各位博友交流討論,相互促進(jìn)成長。前面兩篇文章詳細(xì)講解了哈工大Pyltp工具,包括中文分詞、詞性標(biāo)注、實(shí)體識別、依存句法分析和語義角色標(biāo)注等。但是其中文分詞效果不是很理想,如“貴州財經(jīng)大學(xué)”總是切分成“貴州”、“財經(jīng)”和“大學(xué)”,這是因為詞典中這些詞的權(quán)重較高。這篇文章主要介紹最經(jīng)典的自然語言處理工具之一——Jieba,包括中文分詞、添加自定義詞典及詞性標(biāo)注等內(nèi)容。
知識圖譜系列文章:
[知識圖譜實(shí)戰(zhàn)篇] 一.數(shù)據(jù)抓取之Python3抓取JSON格式的電影實(shí)體
[知識圖譜實(shí)戰(zhàn)篇] 二.Json+Seaborn可視化展示電影實(shí)體
[知識圖譜實(shí)戰(zhàn)篇] 三.Python提取JSON數(shù)據(jù)、HTML+D3構(gòu)建基本可視化布局
[知識圖譜實(shí)戰(zhàn)篇] 四.HTML+D3+CSS繪制關(guān)系圖譜
[知識圖譜實(shí)戰(zhàn)篇] 五.HTML+D3添加鼠標(biāo)響應(yīng)事件顯示相關(guān)節(jié)點(diǎn)及邊
[知識圖譜實(shí)戰(zhàn)篇] 六.HTML+D3實(shí)現(xiàn)點(diǎn)擊節(jié)點(diǎn)顯示相關(guān)屬性及屬性值
[知識圖譜實(shí)戰(zhàn)篇] 七.HTML+D3實(shí)現(xiàn)關(guān)系圖譜搜索功能
[知識圖譜實(shí)戰(zhàn)篇] 八.HTML+D3繪制時間軸線及顯示實(shí)體
環(huán)境下載地址:https://download.csdn.net/download/eastmount/11226539
原文地址:
[Python知識圖譜] 一.哈工大pyltp安裝及中文分句、中文分詞、導(dǎo)入詞典基本用法
[Python知識圖譜] 二.哈工大pyltp詞性標(biāo)注、命名實(shí)體識別、依存句法分析和語義角色標(biāo)注
參考前文:
[python] 使用Jieba工具中文分詞及文本聚類概念 - eastmount
楊秀璋. Python網(wǎng)絡(luò)數(shù)據(jù)爬取及分析從入門到精通(分析篇). 北京:北京航空航天大學(xué)出版社[M]. 2018
一.Jieba工具
在數(shù)據(jù)分析和數(shù)據(jù)挖掘中,通常需要經(jīng)歷前期準(zhǔn)備、數(shù)據(jù)爬取、數(shù)據(jù)預(yù)處理、數(shù)據(jù)分析、數(shù)據(jù)可視化、評估分析等步驟,而數(shù)據(jù)分析之前的工作幾乎要花費(fèi)數(shù)據(jù)工程師近一半的工作時間,其中的數(shù)據(jù)預(yù)處理也將直接影響后續(xù)模型分析的好壞。
數(shù)據(jù)預(yù)處理(Data Preprocessing)是指在進(jìn)行數(shù)據(jù)分析之前,對數(shù)據(jù)進(jìn)行的一些初步處理,包括缺失值填寫、噪聲處理、不一致數(shù)據(jù)修正、中文分詞等,其目標(biāo)是得到更標(biāo)準(zhǔn)、高質(zhì)量的數(shù)據(jù),糾正錯誤異常數(shù)據(jù),從而提升分析的結(jié)果。
下圖是中文文本預(yù)處理的基本步驟,包括中文分詞、詞性標(biāo)注、數(shù)據(jù)清洗、特征提取(向量空間模型存儲)、權(quán)重計算(TF-IDF)等
“結(jié)巴”(Jieba)工具是最常用的中文文本分詞和處理的工具之一,它能實(shí)現(xiàn)中文分詞、詞性標(biāo)注、關(guān)鍵詞抽取、獲取詞語位置等功能。其在Github網(wǎng)站上的介紹及下載地址為:https://github.com/fxsjy/jieba
作者推薦大家使用PIP工具來安裝Jieba中文分詞包,安裝語句如下:
pip install jieba
調(diào)用命令“pip install jieba”安裝jieba中文分詞包如下圖所示。
安裝過程中的會顯示安裝配置相關(guān)包和文件的百分比,直到出現(xiàn)“Successfully installed jieba-0.37”命令,表示安裝成功。同時,在安裝過程中會遇到各種問題,大家一定要學(xué)會獨(dú)立搜索答案解決這些問題,才能提升您獨(dú)立解決問題的能力。
Jieba工具具有有以下特點(diǎn):
- 支持三種分詞模式,包括精確模式、全模式和搜索引擎模式
- 支持繁體分詞
- 支持自定義詞典
- 代碼對Python2和Python3均兼容
- 支持多種編程語言,包括Java、C++、Rust、PHP、R、Node.js等
Jieba工具主要使用的算法包括:(1)通過基于前綴詞典實(shí)現(xiàn)高效的詞圖掃描,構(gòu)建句子中漢字所有可能生成詞情況的有向無環(huán)圖;(2)采用動態(tài)規(guī)劃查找最大概率路徑,尋找基于詞頻的最大切分組合;(3)對于未登錄詞,采用基于漢字成詞能力的HMM模型結(jié)合Viterbi算法。
二.中文分詞
1.基礎(chǔ)知識
由于中文詞語之間是緊密聯(lián)系的,一個漢語句子是由一串前后連續(xù)的漢字組成,詞與詞之間沒有明顯的分界標(biāo)志,所以需要通過一定的分詞技術(shù)把句子分割成空格連接的詞序列,這就是所謂的中文分詞技術(shù)。
中文分詞(Chinese Word Segmentation)指將漢字序列切分成一個個單獨(dú)的詞或詞串序列,它能夠在沒有詞邊界的中文字符串中建立分隔標(biāo)志,通常采用空格分隔。中文分詞是數(shù)據(jù)分析預(yù)處理、數(shù)據(jù)挖掘、文本挖掘、搜索引擎、知識圖譜、自然語言處理等領(lǐng)域中非常基礎(chǔ)的知識點(diǎn),只有經(jīng)過中文分詞后的語料才能轉(zhuǎn)換為數(shù)學(xué)向量的形式,繼續(xù)進(jìn)行后面的分析。同時,由于中文數(shù)據(jù)集涉及到語義、歧義等知識,劃分難度較大,比英文復(fù)雜很多。
下面舉個簡單示例,對句子“我是程序員”進(jìn)行分詞操作。
輸入:我是程序員
輸出1:我\是\程\序\員
輸出2:我是\是程\程序\序員
輸出3:我\是\程序員
這里分別采用了三種方法介紹中文分詞。“我\是\程\序\員”采用的是一元分詞法,將中文字符串分隔為單個漢字;“我是\是程\程序\序員”采用二元分詞法,將中文漢字兩兩分隔;“我\是\程序員”是比較復(fù)雜但更實(shí)用的分詞方法,它根據(jù)中文語義來進(jìn)行分詞的,其分詞結(jié)果更準(zhǔn)確。
中文分詞方法有很多,常見的包括基于字符串匹配的分詞方法、基于統(tǒng)計的分詞方法和基于語義的分詞方法等。這里介紹比較經(jīng)典的基于字符串匹配的分詞方法。
基于字符串匹配的分詞方法又稱為基于字典的分詞方法,它按照一定策略將待分析的中文字符串與機(jī)器詞典中的詞條進(jìn)行匹配,若在詞典中找到某個字符串,則匹配成功,并識別出對應(yīng)的詞語。該方法的匹配原則包括最大匹配法(MM)、逆向最大匹配法(RMM)、逐詞遍歷法、最佳匹配法(OM)、并行分詞法等。
正向最大匹配法的步驟如下,假設(shè)自動分詞詞典中的最長詞條所含漢字的個數(shù)為n。
- 從被處理文本中選取當(dāng)前中文字符串中的前n個中文漢字作為匹配字段,查找分詞詞典,若詞典中存在這樣一個n字詞,則匹配成功,匹配字段作為一個詞被切分出來。
- 若分詞詞典中找不到這樣的一個n字詞,則匹配失敗,匹配字段去掉最后一個漢字,剩下的中文字符作為新的匹配字段,繼續(xù)進(jìn)行匹配。
- 循環(huán)前兩個步驟進(jìn)行匹配,直到匹配成功為止。
例如,現(xiàn)在存在一個句子“北京理工大學(xué)生前來應(yīng)聘”,使用正向最大匹配方法進(jìn)行中文分詞的過程如下所示。
2.基本用法
首先讀者看一段簡單的結(jié)巴分詞代碼,主要調(diào)用兩個函數(shù)實(shí)現(xiàn)。
-
jieba.cut(text,cut_all=True)
分詞函數(shù),第一個參數(shù)是需要分詞的字符串,第二個參數(shù)表示是否為全模式。分詞返回的結(jié)果是一個可迭代的生成器(generator),可使用for循環(huán)來獲取分詞后的每個詞語,更推薦讀者轉(zhuǎn)換為list列表再使用。 -
jieba.cut_for_search(text)
搜索引擎模式分詞,參數(shù)為分詞的字符串,該方法適合用于搜索引擎構(gòu)造倒排索引的分詞,粒度比較細(xì)。
#encoding=utf-8
import
jieba
text
=
"小楊畢業(yè)于北京理工大學(xué),從事Python人工智能相關(guān)工作。"
#全模式
data
=
jieba
.
cut
(
text
,
cut_all
=
True
)
print
(
type
(
data
)
)
print
(
u
"[全模式]: "
,
"/"
.
join
(
data
)
)
#精確模式
data
=
jieba
.
cut
(
text
,
cut_all
=
False
)
print
(
u
"[精確模式]: "
,
"/"
.
join
(
data
)
)
#默認(rèn)是精確模式
data
=
jieba
.
cut
(
text
)
print
(
u
"[默認(rèn)模式]: "
,
"/"
.
join
(
data
)
)
#搜索引擎模式
data
=
jieba
.
cut_for_search
(
text
)
print
(
u
"[搜索引擎模式]: "
,
"/"
.
join
(
data
)
)
#返回列表
seg_list
=
jieba
.
lcut
(
text
,
cut_all
=
False
)
print
(
"[返回列表]: {0}"
.
format
(
seg_list
)
)
輸出結(jié)果如下所示。
最終的分詞結(jié)果比較理想,其中精確模式輸出的“小/楊/畢業(yè)/于/北京理工大學(xué)/,/從事/Python/人工智能/相關(guān)/工作/。”比較精準(zhǔn)。下面簡單敘述結(jié)巴中文分詞的三種分詞模式。
全模式
該模式將語料中所有可以組合成詞的詞語都構(gòu)建出來,其優(yōu)點(diǎn)是速度非常快,缺點(diǎn)是不能解決歧義問題,并且分詞結(jié)果不太準(zhǔn)確。其分詞結(jié)果為“小/楊/畢業(yè)/于/北京/北京理工/北京理工大學(xué)/理工/理工大/理工大學(xué)/工大/大學(xué)///從事/Python/人工/人工智能/智能/相關(guān)/工作//”。
精確模式
該模式利用其算法將句子最精確地分隔開,適合文本分析,通常采用這種模式進(jìn)行中文分詞。其分詞結(jié)果為“小/楊/畢業(yè)/于/北京理工大學(xué)/,/從事/Python/人工智能/相關(guān)/工作/。”,其中“北京理工大學(xué)”、“人工智能”這些完整的名詞被精準(zhǔn)識別,但也有部分詞未被識別,后續(xù)導(dǎo)入詞典可以實(shí)現(xiàn)專有詞匯識別。
搜索引擎模式
該模式是在精確模式基礎(chǔ)上,對長詞再次切分,提高召回率,適合用于搜索引擎分詞。其結(jié)果為“小/楊/畢業(yè)/于/北京/理工/工大/大學(xué)/理工大/北京理工大學(xué)/,/從事/Python/人工/智能/人工智能/相關(guān)/工作/。”。
3.基于HMM模型的中文分詞
隱馬爾可夫模型(Hidden Markov Model, HMM)是一種基于概率的統(tǒng)計分析模型,用來描述一個系統(tǒng)隱性狀態(tài)的轉(zhuǎn)移和隱性狀態(tài)的表現(xiàn)概率。到目前為止,HMM模型被認(rèn)為是解決大多數(shù)自然語言處理問題最為快速、有效的方法之一。它成功解決了語義識別、機(jī)器翻譯等問題。
在Jieba工具中,對于未登錄到詞庫的詞,使用了基于漢字成詞能力的 HMM 模型和 Viterbi 算法,其大致原理是采用四個隱含狀態(tài),分別表示為單字成詞、詞組的開頭、詞組的中間和詞組的結(jié)尾。通過標(biāo)注好的分詞訓(xùn)練集,可以得到 HMM的各個參數(shù),然后使用 Viterbi 算法來解釋測試集,得到分詞結(jié)果。
#encoding=utf-8
import
jieba
text
=
"他來到了網(wǎng)易杭研大廈工作,我繼續(xù)去北理讀研。"
#精確模式
data
=
jieba
.
cut
(
text
,
cut_all
=
False
,
HMM
=
False
)
print
(
u
"[精確模式]: "
,
"/"
.
join
(
data
)
)
#精確模式+HMM
data
=
jieba
.
cut
(
text
,
cut_all
=
False
,
HMM
=
True
)
print
(
u
"[精確模式]: "
,
"/"
.
join
(
data
)
)
輸出結(jié)果如下圖所示,未啟用HMM模型時,它無法識別“杭研”、“北理”詞語,將其拆分成了“杭”、“研”和“北”、“理”,而啟用HMM模型時,它有效識別了新詞“杭研”、“北理”。
4.繁體中文分詞
Jieba工具支持中文繁體字的識別,將前面示例轉(zhuǎn)換為繁體字,即“小楊畢業(yè)於北京理工大學(xué),從事Python人工智能相關(guān)工作。”,調(diào)用Jieba分詞的代碼如下所示。
#encoding=utf-8
import
jieba
text
=
"小楊畢業(yè)於北京理工大學(xué),從事Python人工智能相關(guān)工作。"
#全模式
data
=
jieba
.
cut
(
text
,
cut_all
=
True
)
print
(
type
(
data
)
)
print
(
u
"[全模式]: "
,
"/"
.
join
(
data
)
)
#精確模式
data
=
jieba
.
cut
(
text
,
cut_all
=
False
)
print
(
u
"[精確模式]: "
,
"/"
.
join
(
data
)
)
#搜索引擎模式
data
=
jieba
.
cut_for_search
(
text
)
print
(
u
"[搜索引擎模式]: "
,
"/"
.
join
(
data
)
)
輸出結(jié)果如下所示:
[
全模式
]
:
小
/
楊
/
畢
/
業(yè)
/
於
/
北京
/
北京理工
/
理工
/
理工大
/
工大
/
學(xué)
//
/
從
/
事
/
Python
/
人工
/
人工智能
/
智能
/
相
/
關(guān)
/
工作
//
[
精確模式
]
:
小
/
楊
/
畢業(yè)
/
於
/
北京理工
/
大學(xué)
/
,
/
從事
/
Python
/
人工智能
/
相關(guān)
/
工作
/
。
[
搜索引擎模式
]
:
小
/
楊
/
畢業(yè)
/
於
/
北京
/
理工
/
北京理工
/
大學(xué)
/
,
/
從事
/
Python
/
人工
/
智能
/
人工智能
/
相關(guān)
/
工作
/
。
三.添加自定義詞典
1.添加詞典
在進(jìn)行中文分詞過程中,通常會遇到一些專用詞語無法精準(zhǔn)的切分,比如“乾清宮”會被分割為“乾”、“清宮”,“黃果樹瀑布”會被分割為“黃果樹”、“瀑布”,“云計算”會被分割為“云”、“計算”,“貴州財經(jīng)大學(xué)”會被分割為“貴州”、“財經(jīng)大學(xué)”等。雖然Jieba工具有新詞識別能力,但也無法識別出所有Jieba詞庫里沒有的詞語,但它為開發(fā)者提供了添加自定義詞典功能,從而保證更好的分詞正確率。其函數(shù)原型如下:
-
load_userdict(f)
該函數(shù)只有一個參數(shù),表示載入的自定義詞典路徑,f 為文件類對象或自定義詞典路徑下的文件。詞典的格式為:一個詞占一行,每行分為三部分:
word freq word_type
其中,word為對應(yīng)的詞語,freq為詞頻(可省略),word_type為詞性(可省了),中間用空格隔開,順序不可以改變。注意,文件必須為UTF-8編碼。
下面舉例講解,第一個代碼是未導(dǎo)入自定義詞典的中文分詞。
#encoding=utf-8
import
jieba
text
=
"小楊在貴州財經(jīng)大學(xué)工作,擅長大數(shù)據(jù)、云計算,喜歡乾清宮、黃果樹瀑布等景區(qū)。"
#精確模式
data
=
jieba
.
cut
(
text
,
cut_all
=
False
)
print
(
u
"[原始文本]: "
,
text
)
print
(
u
"[精確模式]: "
,
" "
.
join
(
data
)
)
輸出結(jié)果未將“貴州財經(jīng)大學(xué)”、“大數(shù)據(jù)”、“云計算”、“乾清宮”、“黃果樹瀑布”等詞匯正確分割。
接著導(dǎo)入自定義詞典,其本地詞典命名為“dict.txt”,如圖所示,包括設(shè)置“貴州財經(jīng)大學(xué)”的詞性為機(jī)構(gòu)名詞“nt”,“大數(shù)據(jù)”、“云計算”的詞性為名詞“n”,也有省略詞性和詞頻的“乾清宮”。
完整代碼如下:
#encoding=utf-8
import
jieba
text
=
"楊秀璋在貴州財經(jīng)大學(xué)工作,擅長大數(shù)據(jù)、云計算,喜歡乾清宮、黃果樹瀑布等景區(qū)。"
#導(dǎo)入自定義詞典
jieba
.
load_userdict
(
"dict.txt"
)
#精確模式
data
=
jieba
.
cut
(
text
,
cut_all
=
False
)
print
(
u
"[原始文本]: "
,
text
)
print
(
u
"[精確模式]: "
,
" "
.
join
(
data
)
)
此時的輸出結(jié)果有效地提取了“貴州財經(jīng)大學(xué)”、“云計算”、“乾清宮”。但也有兩個未識別出的詞語,“黃果樹瀑布”不在詞典中,故被拆分成了“黃果樹”和“瀑布”,“大數(shù)據(jù)”雖然在詞典中,卻仍然拆分成了“大”和“數(shù)據(jù)”。
2.動態(tài)修改詞典
在Jieba工具中,可以在程序中動態(tài)修改詞典,通過add_word(word, freq=None, tag=None)函數(shù)添加新詞語,通過del_word(word)函數(shù)刪除自定義詞語。
#encoding=utf-8
import
jieba
text
=
"小楊在貴州財經(jīng)大學(xué)工作,擅長大數(shù)據(jù)、云計算,喜歡乾清宮、黃果樹瀑布等景區(qū)。"
#導(dǎo)入自定義詞典
jieba
.
load_userdict
(
"dict.txt"
)
#添加自定義詞語
jieba
.
add_word
(
"小楊"
)
jieba
.
add_word
(
"黃果樹瀑布"
)
jieba
.
add_word
(
"自然語言處理"
,
freq
=
10
,
tag
=
"nz"
)
#刪除自定義詞語
jieba
.
del_word
(
"北理工"
)
#精確模式
data
=
jieba
.
cut
(
text
,
cut_all
=
False
)
print
(
u
"[原始文本]: "
,
text
,
"\n"
)
print
(
u
"[精確模式]: "
,
" "
.
join
(
data
)
)
該代碼增加了新詞語“小楊”、“黃果樹瀑布”和“自然語言處理”,刪除了“北理工”,其運(yùn)行結(jié)果如下所示,它有效地將“小楊”和“黃果樹瀑布”進(jìn)行了精準(zhǔn)識別。
此時,讀者可能會有一個疑問,為什么“大數(shù)據(jù)”被拆分成了“大”和“數(shù)據(jù)”呢?這是因為Jieba詞庫中“大”和“數(shù)據(jù)”的重要程度更高,我們可以使用suggest_freq(segment, tune=True)函數(shù)調(diào)節(jié)單個詞語的詞頻,使其被分割出來。
代碼如下所示:
#encoding=utf-8
import
jieba
text
=
"小楊在貴州財經(jīng)大學(xué)工作,擅長大數(shù)據(jù)、云計算,喜歡乾清宮、黃果樹瀑布等景區(qū)。"
#導(dǎo)入自定義詞典
jieba
.
load_userdict
(
"dict.txt"
)
#添加自定義詞語
jieba
.
add_word
(
"小楊"
)
jieba
.
add_word
(
"黃果樹瀑布"
)
jieba
.
add_word
(
"自然語言處理"
,
freq
=
10
,
tag
=
"nz"
)
#刪除自定義詞語
jieba
.
del_word
(
"北理工"
)
#調(diào)節(jié)詞頻
jieba
.
suggest_freq
(
'大數(shù)據(jù)'
,
True
)
#精確模式
data
=
jieba
.
cut
(
text
,
cut_all
=
False
)
print
(
u
"[原始文本]: "
,
text
,
"\n"
)
print
(
u
"[精確模式]: "
,
" "
.
join
(
data
)
)
最終的輸出結(jié)果為“ 小楊 在 貴州財經(jīng)大學(xué) 工作 , 擅長 大數(shù)據(jù) 、 云計算 , 喜歡 乾清宮 、 黃果樹瀑布 等 景區(qū) 。”
終于將“小楊”、“貴州財經(jīng)大學(xué)”、“大數(shù)據(jù)”、“云計算”、“乾清宮”、“黃果樹瀑布”等專有詞語識別出來。同時,如果自定義詞典存在很多專用名詞,并且需要設(shè)置它們的高權(quán)重,可以使用下面的代碼循環(huán)設(shè)置每一個詞語的詞頻。
#循環(huán)設(shè)置詞頻重要程度
fp
=
open
(
"dict.txt"
,
'r'
,
encoding
=
'utf8'
)
for
line
in
fp
:
line
=
line
.
strip
(
)
jieba
.
suggest_freq
(
line
,
True
)
#第二種方法
[
jieba
.
suggest_freq
(
line
.
strip
(
)
,
True
)
for
line
in
open
(
"dict.txt"
,
'r'
,
encoding
=
'utf8'
)
]
四. 詞性標(biāo)注
詞性標(biāo)注(Part-Of-Speech Tagging, POS Tagging)也被稱為語法標(biāo)注(Grammatical Tagging)或詞類消疑(Word-category Disambiguation),是將語料庫內(nèi)單詞的詞性按其含義和上下文內(nèi)容進(jìn)行標(biāo)記的文本數(shù)據(jù)處理技術(shù)。通過詞性標(biāo)注處理,可以將分詞得到的詞序列中每個單詞標(biāo)注一個正確的詞性。
在Jieba工具中,調(diào)用jieba.posseg.POSTokenizer(tokenizer=None)函數(shù)新建自定義分詞器。tokenizer參數(shù)可指定內(nèi)部使用的jieba.Tokenizer分詞器,jieba.posseg.dt為默認(rèn)詞性標(biāo)注分詞器。Jieba工具采用和Ictclas 兼容的標(biāo)記法,標(biāo)注句子分詞后每個詞的詞性通過循環(huán)輸出。表4-1為Jieba工具的各個詞性及含義。
官方文檔給出的示例如下所示,通過“import jieba.posseg as pseg”語句導(dǎo)入擴(kuò)展包,接著循環(huán)輸出word(詞語)和flag(詞性)值。
#encoding=utf-8
import
jieba
.
posseg
as
pseg
#詞性標(biāo)注
words
=
pseg
.
cut
(
"我愛北京天安門"
)
for
word
,
flag
in
words
:
print
(
'%s %s'
%
(
word
,
flag
)
)
輸出結(jié)果如圖所示,其中“我”表示代詞,對應(yīng)“r”;“愛”對應(yīng)動詞,對應(yīng)“v”,“北京”和“天安門”對應(yīng)地點(diǎn)名詞,對應(yīng)“ns”。
上面小節(jié)的示例對應(yīng)的詞性標(biāo)注代碼如下所示。
#encoding=utf-8
import
jieba
import
jieba
.
posseg
import
jieba
.
analyse
text
=
"小楊在貴州財經(jīng)大學(xué)工作,擅長大數(shù)據(jù)、云計算,喜歡乾清宮、黃果樹瀑布等景區(qū)。"
#導(dǎo)入自定義詞典
jieba
.
load_userdict
(
"dict.txt"
)
#添加自定義詞語
jieba
.
add_word
(
"小楊"
)
jieba
.
add_word
(
"黃果樹瀑布"
)
#調(diào)節(jié)詞頻
jieba
.
suggest_freq
(
'大數(shù)據(jù)'
,
True
)
#精確模式
data
=
jieba
.
cut
(
text
,
cut_all
=
False
)
print
(
u
"[原始文本]: "
,
text
,
"\n"
)
print
(
u
"[精確模式]: "
,
" "
.
join
(
data
)
,
"\n"
)
#詞性標(biāo)注
sentence_seged
=
jieba
.
posseg
.
cut
(
text
)
outstr
=
''
for
x
in
sentence_seged
:
outstr
+=
"{}/{} "
.
format
(
x
.
word
,
x
.
flag
)
print
(
u
'[詞性標(biāo)注]:'
,
outstr
)
輸出結(jié)果如圖所示。
五.總結(jié)
希望這篇基礎(chǔ)性文章對你有所幫助,如果有錯誤或不足之處,還請海涵。下一篇將詳細(xì)講解Jieba工具實(shí)現(xiàn)關(guān)鍵詞抽取、事件抽取和命名實(shí)體識別等例子。望喜歡~同時,后續(xù)分享更多的是網(wǎng)絡(luò)安全方面的文章了,從零開始很難,但秀璋會一路走下去的,加油。
故人應(yīng)在千里外,
不寄梅花遠(yuǎn)信來。
武漢第一周學(xué)習(xí)結(jié)束,寄了第一封家書給女神,接下來這幾年,應(yīng)該會寫上200來封吧,很期待,也很漫長,但我倆的故事將繼續(xù)書寫。
今天早上做了我來這的第一次PPT匯報,是關(guān)于網(wǎng)絡(luò)安全和數(shù)據(jù)挖掘、人工智能的融合,也聽了學(xué)弟們的匯報,真的學(xué)到好多,也記錄了無數(shù)未知的詞匯,接下來要學(xué)的更多。這一周給我最深刻的印象就是:學(xué)弟學(xué)妹們怎么這么刻苦?早上去得很早,中午不回去午休,晚上還繼續(xù)敲代碼,而且本科大三的學(xué)弟們也很多,在沒有老師的情況下,小組自發(fā)組織PPT匯報探討,仿佛我是那個最“偷懶”的學(xué)生,我猜:肯定是外面太熱,他們都想蹭空調(diào)!
真的很感激這次來之不易的學(xué)習(xí)機(jī)會,感謝所有的老師、師兄師姐、師弟師妹,更感激家人朋友和女神。也謝謝CSDN認(rèn)識的博友請我吃飯,武大測繪本碩博連讀讓我甚是佩服,真的通過CSDN認(rèn)識了很多朋友,大家分散五湖四海,共同進(jìn)步。
未來的路還很長,優(yōu)秀的人真的太多,我們只有做好自己,不忘初心,享受生活,砥礪前行。明天周末繼續(xù)奮斗,晚安娜,記得收信
(By:楊秀璋 2019-07-28 周日下午5點(diǎn)寫于武大 https://blog.csdn.net/Eastmount )
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

