python數據分析------文本挖掘(jieba)


1、import jieba

jieba的cut函數有三個模式:全模式、精准模式、搜索引擎模式

1 精確模式,試圖將句子最精確地切開,適合文本分析;
2 全模式,把句子中所有的可以成詞的詞語都掃描出來, 速度非常快,但是不能解決歧義;
3 搜索引擎模式,在精確模式的基礎上,對長詞再次切分,提高召回率,適合用於搜索引擎分詞。

【jieba.lcut生成list,如  tags = jieba.lcut(text) ,text也要先處理成list。】

例子:全模式:cut_all=True

import jieba
sentence="我喜歡上海東方明珠"
w1=jieba.cut(sentence,cut_all=True)
for item in w1:
    print(item)

#結果:

喜歡
上海
上海東方
海東
東方
東方明珠
方明
明珠

精准模式:cut_all=False,或者默認情況下

import jieba
sentence="我喜歡上海東方明珠"
w2=jieba.cut(sentence,cut_all=False)
#或者w2=jieba.cut(sentence)
for item in w2:
    print(item)
#結果:

喜歡
上海
東方明珠

搜索引擎模式:jieba.cut_for_search()

import jieba
snetence="我喜歡上海東方明珠"
w3=jieba.cut_for_search(sentence)
for item in w3:
    print(item)
#結果


喜歡
上海
東方
方明
明珠
東方明珠

2、結巴的詞性標注

import jieba.posseg 
sentence="我喜歡上海東方明珠"
w4=jieba.posseg.cut(sentence)
#flag為詞性,word為詞
for item in w4:
    print(item.word+"---"+item.flag)
#結果
我---r
喜歡---v
上海---ns
東方明珠---nr

詞性:

3、加載自己創建的詞典

比如:我在桌面創建了一個dict.txt。

import jieba.posseg
jieba.load_userdict('C:/user/Desktop/dict.txt')
sentence="Lee_yl學習Python"
w5=jieba.posseg.cut(sentence)
for item in w5:
    print(item)
#結果
Lee_yl/nr
學習/v
Python/eng

加載自己的文件是暫時的,本次加載在內存中,下一次需要再加載。

4、提取關鍵詞【jieba.analyse.extract_tags(字符串,關鍵詞數量)】

import jieba.analyse
sentence="我喜歡上海東方明珠"
w6=jieba.analyse.extract_tags(sentence,3)print(w6)
#結果
['東方明珠', '喜歡', '上海']

5、返回詞語的位置

import jieba
w7=jieba.tokenize(sentence,mode="search")
for item in w7:
    print(item)
#結果,0,1,3,5,9表示詞的索引位置
('我', 0, 1)
('喜歡', 1, 3)
('上海', 3, 5)
('東方明珠', 5, 9)

 6、計算詞頻(collections.defaultdict)

from collections import defaultdict
s = 'mississippi' d = defaultdict(int) for k in s: d[k] += 1 list(d.items())

結果:[('m', 1), ('i', 4), ('s', 4), ('p', 2)]

這里的defaultdict(function_factory)構建的是一個類似dictionary的對象,其中keys的值,自行確定賦值,但是values的類型,是function_factory的類實例,而且具有默認值。比如default(int)則創建一個類似dictionary對象,里面任何的values都是int的實例,而且就算是一個不存在的key, d[key] 也有一個默認值,這個默認值是int()的默認值0.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM