1. 程式人生 > >一對好兄弟:NLTK與jieba淺析

一對好兄弟:NLTK與jieba淺析

小圈長話短說,讓我們開始吧!

首先來看,jieba和NLTK都是python中的庫,只不過有不同的用途而已。可能大家都聽說過 :中文分詞用jieba ,英文分詞用NLTK。那麼,我們就從這裡展開。

NLTK

主要用於英文的文字處理:

1)可用來分詞

tokens= nltk.word_tokenize("hello,world")
print(tokens);

輸出結果如下:

[‘hellow’, ‘,’ , ‘world’]

2)可進行歸一化 通過Stemming 實現詞幹提取:即去掉單詞的小尾巴 比如:去ed,s,es,ing 通過Lemmatization實現詞形歸一:各類詞變形為一個形式 比如:went>>go; are>>be; is>>be 3)可以進行停用詞過濾

通過filter進行停用詞過濾

典型案例:

情感分析,文字分類,文字相似度處理等

英文文字一般的處理流程:

TEXT 文字Tokenize 分詞Pos Tag 詞性標註Lemmatization/Stemming 歸一化Stop words 停用詞word_list 處理後的詞表

jieba

一般我們都會用作中文分詞,在這裡我們要理解一下全分詞(cut_all=True)和精準分詞(cut_all=False)的使用。

開啟全模式分詞(列出所有分詞情況):

j_list=jieba.cut("我來到河北師範大學了",cut_all=True)
print(j_list);

輸出結果如下:

[‘我’, '來到‘ , ‘河北師範大學’,’河北‘,’師範‘,’大學‘,’了‘]

開啟精準模式分詞(精而不羅嗦):

j_list=jieba.cut("我來到河北師範大學了",cut_all=False)
print(j_list);

輸出結果如下:

[‘我’, '來到‘ , ‘河北師範大學’,’了‘]

歡迎大家補充和批評!!