最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python中文分詞庫(kù)jieba使用方法詳解

 更新時(shí)間:2020年02月11日 13:54:25   作者:基基偉  
這篇文章主要介紹了python中文分詞庫(kù)jieba使用方法詳解,需要的朋友可以參考下

安裝python中文分詞庫(kù)jieba

法1:Anaconda Prompt下輸入conda install jieba

法2:Terminal下輸入pip3 install jieba

1、分詞

1.1、CUT函數(shù)簡(jiǎn)介

cut(sentence, cut_all=False, HMM=True)

返回生成器,遍歷生成器即可獲得分詞的結(jié)果

lcut(sentence)

返回分詞列表

import jieba
sentence = '我愛(ài)自然語(yǔ)言處理'
# 創(chuàng)建【Tokenizer.cut 生成器】對(duì)象
generator = jieba.cut(sentence)
# 遍歷生成器,打印分詞結(jié)果
words = '/'.join(generator)
print(words)

打印結(jié)果

我/愛(ài)/自然語(yǔ)言/處理

import jieba
print(jieba.lcut('我愛(ài)南海中學(xué)'))

打印結(jié)果

[‘我', ‘愛(ài)', ‘南海中學(xué)']

1.2、分詞模式

精確模式:精確地切開(kāi)

全模式:所有可能的詞語(yǔ)都切出,速度快

搜索引擎模式:在精確模式的基礎(chǔ)上,對(duì)長(zhǎng)詞再次切分

import jieba
sentence = '訂單數(shù)據(jù)分析'
print('精準(zhǔn)模式:', jieba.lcut(sentence))
print('全模式:', jieba.lcut(sentence, cut_all=True))
print('搜索引擎模式:', jieba.lcut_for_search(sentence))

打印結(jié)果

精準(zhǔn)模式: [‘訂單', ‘?dāng)?shù)據(jù)分析']

全模式: [‘訂單', ‘訂單數(shù)', ‘單數(shù)', ‘?dāng)?shù)據(jù)', ‘?dāng)?shù)據(jù)分析', ‘分析']

搜索引擎模式: [‘訂單', ‘?dāng)?shù)據(jù)', ‘分析', ‘?dāng)?shù)據(jù)分析']

1.3、詞性標(biāo)注

jieba.posseg
import jieba.posseg as jp
sentence = '我愛(ài)Python數(shù)據(jù)分析'
posseg = jp.cut(sentence)
for i in posseg:
 print(i.__dict__)
 # print(i.word, i.flag)

打印結(jié)果

{‘word': ‘我', ‘flag': ‘r'}
{‘word': ‘愛(ài)', ‘flag': ‘v'}
{‘word': ‘Python', ‘flag': ‘eng'}
{‘word': ‘?dāng)?shù)據(jù)分析', ‘flag': ‘l'}

詞性標(biāo)注表

標(biāo)注 解釋 標(biāo)注 解釋 標(biāo)注 解釋
a 形容詞 mq 數(shù)量詞 tg 時(shí)語(yǔ)素
ad 副形詞 n 名詞 u 助詞
ag 形語(yǔ)素 ng 例:義 乳 亭 ud 例:得
an 名形詞 nr 人名 ug 例:過(guò)
b 區(qū)別詞 nrfg 也是人名 uj 例:的
c 連詞 nrt 也是人名 ul 例:了
d 副詞 ns 地名 uv 例:地
df 例:不要 nt 機(jī)構(gòu)團(tuán)體 uz 例:著
dg 副語(yǔ)素 nz 其他專名 v 動(dòng)詞
e 嘆詞 o 擬聲詞 vd 副動(dòng)詞
f 方位詞 p 介詞 vg 動(dòng)語(yǔ)素
g 語(yǔ)素 q 量詞 vi 例:沉溺于 等同于
h 前接成分 r 代詞 vn 名動(dòng)詞
i 成語(yǔ) rg 例:茲 vq 例:去浄 去過(guò) 唸過(guò)
j 簡(jiǎn)稱略語(yǔ) rr 人稱代詞 x 非語(yǔ)素字
k 后接成分 rz 例:這位 y 語(yǔ)氣詞
l 習(xí)用語(yǔ) s 處所詞 z 狀態(tài)詞
m 數(shù)詞 t 時(shí)間詞 zg 例:且 丗 丟

1.4、詞語(yǔ)出現(xiàn)的位置

jieba.tokenize(sentence)
import jieba
sentence = '訂單數(shù)據(jù)分析'
generator = jieba.tokenize(sentence)
for position in generator:
 print(position)

打印結(jié)果

(‘訂單', 0, 2)
(‘?dāng)?shù)據(jù)分析', 2, 6)

2、詞典

2.1、默認(rèn)詞典

import jieba, os, pandas as pd
# 詞典所在位置
print(jieba.__file__)
jieba_dict = os.path.dirname(jieba.__file__) + r'\dict.txt'
# 讀取字典
df = pd.read_table(jieba_dict, sep=' ', header=None)[[0, 2]]
print(df.head())
# 轉(zhuǎn)字典
dt = dict(df.values)
print(dt.get('暨南大學(xué)'))

2.2、添詞和刪詞

往詞典添詞

add_word(word, freq=None, tag=None)

往詞典刪詞,等價(jià)于add_word(word, freq=0)

del_word(word)

import jieba
sentence = '天長(zhǎng)地久有時(shí)盡,此恨綿綿無(wú)絕期'
# 添詞
jieba.add_word('時(shí)盡', 999, 'nz')
print('添加【時(shí)盡】:', jieba.lcut(sentence))
# 刪詞
jieba.del_word('時(shí)盡')
print('刪除【時(shí)盡】:', jieba.lcut(sentence))

打印結(jié)果

添加【時(shí)盡】: [‘天長(zhǎng)地久', ‘有', ‘時(shí)盡', ‘,', ‘此恨綿綿', ‘無(wú)', ‘絕期']

刪除【時(shí)盡】: [‘天長(zhǎng)地久', ‘有時(shí)', ‘盡', ‘,', ‘此恨綿綿', ‘無(wú)', ‘絕期']

2.3、自定義詞典加載

新建詞典,按照格式【單詞 詞頻 詞性】添詞,以UTF-8編碼保存

使用函數(shù)load_userdict加載詞典

import os, jieba
# 創(chuàng)建自定義字典
my_dict = 'my_dict.txt'
with open(my_dict, 'w', encoding='utf-8') as f:
 f.write('慕容紫英 9 nr\n云天河 9 nr\n天河劍 9 nz')
# 加載字典進(jìn)行測(cè)試
sentence = '慕容紫英為云天河打造了天河劍'
print('加載前:', jieba.lcut(sentence))
jieba.load_userdict(my_dict)
print('加載后:', jieba.lcut(sentence))
os.remove(my_dict)

打印結(jié)果

加載前: [‘慕容', ‘紫英為', ‘云', ‘天河', ‘打造', ‘了', ‘天河', ‘劍']

加載后: [‘慕容紫英', ‘為', ‘云天河', ‘打造', ‘了', ‘天河劍']

2.4、使單詞中的字符連接或拆分

suggest_freq(segment, tune=False)

import jieba
sentence = '上窮碧落下黃泉,兩處茫茫皆不見(jiàn)'
print('修正前:', ' | '.join(jieba.cut(sentence)))
jieba.suggest_freq(('落', '下'), True)
print('修正后:', ' | '.join(jieba.cut(sentence)))

打印結(jié)果

修正前: 上窮 | 碧 | 落下 | 黃泉 | , | 兩處 | 茫茫 | 皆 | 不見(jiàn)

修正后: 上窮 | 碧落 | 下 | 黃泉 | , | 兩處 | 茫茫 | 皆 | 不見(jiàn)

3、jieba分詞原理

基于詞典,對(duì)句子進(jìn)行詞圖掃描,生成所有成詞情況所構(gòu)成的有向無(wú)環(huán)圖(Directed Acyclic Graph)

根據(jù)DAG,反向計(jì)算最大概率路徑(動(dòng)態(tài)規(guī)劃算法;取對(duì)數(shù)防止下溢,乘法運(yùn)算轉(zhuǎn)為加法)

根據(jù)路徑獲取最大概率的分詞序列

import jieba
sentence = '中心小學(xué)放假'
DAG = jieba.get_DAG(sentence)
print(DAG)
route = {}
jieba.calc(sentence, DAG, route)
print(route)

DAG

{0: [0, 1, 3], 1: [1], 2: [2, 3], 3: [3], 4: [4, 5], 5: [5]}

最大概率路徑

{6: (0, 0), 5: (-9.4, 5), 4: (-12.6, 5), 3: (-20.8, 3), 2: (-22.5, 3), 1: (-30.8, 1), 0: (-29.5, 3)}

4、識(shí)別【帶空格的詞】

示例:使Blade Master這類中間有空格的詞被識(shí)別

import jieba, re
sentence = 'Blade Master疾風(fēng)刺殺Archmage'
jieba.add_word('Blade Master') # 添詞
print('修改前:', jieba.lcut(sentence))
jieba.re_han_default = re.compile('(.+)', re.U) # 修改格式
print('修改后:', jieba.lcut(sentence))

打印結(jié)果

修改前: [‘Blade', ' ', ‘Master', ‘疾風(fēng)', ‘刺殺', ‘Archmage']

修改后: [‘Blade Master', ‘疾風(fēng)', ‘刺殺', ‘Archmage']

5、其它

5.1、并行分詞

運(yùn)行環(huán)境:linux系統(tǒng)

開(kāi)啟并行分詞模式,參數(shù)n為并發(fā)數(shù):jieba.enable_parallel(n)

關(guān)閉并行分詞模式:jieba.disable_parallel()

5.2、關(guān)鍵詞提取

基于TF-IDF:jieba.analyse

基于TextRank:jieba.textrank

import jieba.analyse as ja, jieba
text = '柳夢(mèng)璃施法破解了狐仙的法術(shù)'
jieba.add_word('柳夢(mèng)璃', tag='nr')
keywords1 = ja.extract_tags(text, allowPOS=('n', 'nr', 'ns', 'nt', 'nz'))
print('基于TF-IDF:', keywords1)
keywords2 = ja.textrank(text, allowPOS=('n', 'nr', 'ns', 'nt', 'nz'))
print('基于TextRank:', keywords2)

打印結(jié)果

基于TF-IDF: [‘柳夢(mèng)璃', ‘狐仙', ‘法術(shù)']

基于TextRank: [‘狐仙', ‘柳夢(mèng)璃', ‘法術(shù)']

5.3、修改HMM參數(shù)

import jieba
text = '柳夢(mèng)璃解夢(mèng)C法'
print(jieba.lcut(text, HMM=False)) # ['柳', '夢(mèng)', '璃', '解夢(mèng)', 'C', '法']
print(jieba.lcut(text)) # ['柳夢(mèng)璃', '解夢(mèng)', 'C', '法']
jieba.finalseg.emit_P['B']['C'] = -1e-9 # begin
print(jieba.lcut(text)) # ['柳夢(mèng)璃', '解夢(mèng)', 'C', '法']
jieba.finalseg.emit_P['M']['夢(mèng)'] = -100 # middle
print(jieba.lcut(text)) # ['柳', '夢(mèng)璃', '解夢(mèng)', 'C', '法']
jieba.finalseg.emit_P['S']['夢(mèng)'] = -.1 # single
print(jieba.lcut(text)) # ['柳', '夢(mèng)', '璃', '解夢(mèng)', 'C', '法']
jieba.finalseg.emit_P['E']['夢(mèng)'] = -.01 # end
print(jieba.lcut(text)) # ['柳夢(mèng)', '璃', '解夢(mèng)', 'C', '法']
jieba.del_word('柳夢(mèng)') # Force_Split_Words
print(jieba.lcut(text)) # ['柳', '夢(mèng)', '璃', '解夢(mèng)', 'C', '法']

print

[‘柳', ‘夢(mèng)', ‘璃', ‘解夢(mèng)', ‘C', ‘法']

[‘柳夢(mèng)璃', ‘解夢(mèng)', ‘C', ‘法']

[‘柳夢(mèng)璃', ‘解夢(mèng)', ‘C', ‘法']

[‘柳', ‘夢(mèng)璃', ‘解夢(mèng)', ‘C', ‘法']

[‘柳', ‘夢(mèng)', ‘璃', ‘解夢(mèng)', ‘C', ‘法']

[‘柳夢(mèng)', ‘璃', ‘解夢(mèng)', ‘C', ‘法']

[‘柳', ‘夢(mèng)', ‘璃', ‘解夢(mèng)', ‘C', ‘法']

更多關(guān)于python中文分詞庫(kù)jieba使用方法請(qǐng)查看下面的相關(guān)鏈接

相關(guān)文章

  • 在PyCharm中實(shí)現(xiàn)添加快捷模塊

    在PyCharm中實(shí)現(xiàn)添加快捷模塊

    今天小編就為大家分享一篇在PyCharm中實(shí)現(xiàn)添加快捷模塊,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-02-02
  • Python基礎(chǔ)第三方模塊requests openpyxl

    Python基礎(chǔ)第三方模塊requests openpyxl

    這篇文章主要為大家介紹了Python基礎(chǔ)第三方模塊requests openpyxl使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • Python?OpenCV形態(tài)學(xué)運(yùn)算示例詳解

    Python?OpenCV形態(tài)學(xué)運(yùn)算示例詳解

    這篇文章主要為大家介紹了OpenCV中的幾個(gè)形態(tài)學(xué)運(yùn)算,例如:腐蝕&膨脹、開(kāi)&閉運(yùn)算、梯度運(yùn)算、頂帽運(yùn)算黑帽運(yùn)算,感興趣的可以了解一下
    2022-04-04
  • 教你用Python pygame設(shè)置窗口標(biāo)題和圖標(biāo)

    教你用Python pygame設(shè)置窗口標(biāo)題和圖標(biāo)

    今天給大家?guī)?lái)的是關(guān)于Python的相關(guān)知識(shí),文章圍繞著用Python pygame設(shè)置窗口標(biāo)題和圖標(biāo)展開(kāi),文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • Python如何實(shí)現(xiàn)網(wǎng)絡(luò)自動(dòng)化運(yùn)維華為設(shè)備

    Python如何實(shí)現(xiàn)網(wǎng)絡(luò)自動(dòng)化運(yùn)維華為設(shè)備

    本文介紹了如何使用Python實(shí)現(xiàn)華為設(shè)備的網(wǎng)絡(luò)自動(dòng)化運(yùn)維,包括環(huán)境配置、設(shè)備配置、功能模塊實(shí)現(xiàn)和SFTP文件傳輸測(cè)試
    2024-11-11
  • Python函數(shù)和模塊的使用總結(jié)

    Python函數(shù)和模塊的使用總結(jié)

    在本文中小編給大家整理了關(guān)于Python函數(shù)和模塊的使用的相關(guān)知識(shí)點(diǎn)以及實(shí)例代碼內(nèi)容,需要的朋友們跟著學(xué)習(xí)下。
    2019-05-05
  • python爬蟲把url鏈接編碼成gbk2312格式過(guò)程解析

    python爬蟲把url鏈接編碼成gbk2312格式過(guò)程解析

    這篇文章主要介紹了python爬蟲把url鏈接編碼成gbk2312格式過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • TensorFlow保存TensorBoard圖像操作

    TensorFlow保存TensorBoard圖像操作

    這篇文章主要介紹了TensorFlow保存TensorBoard圖像操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-06-06
  • 解讀pandas.DataFrame.corrwith

    解讀pandas.DataFrame.corrwith

    這篇文章主要介紹了解讀pandas.DataFrame.corrwith,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • Python海龜繪圖(Turtle)應(yīng)用指南

    Python海龜繪圖(Turtle)應(yīng)用指南

    python2.6版本中后引入的一個(gè)簡(jiǎn)單的繪圖工具,叫做海龜繪圖(Turtle?Graphics)。海龜繪圖(turtle庫(kù))是python的內(nèi)部模塊,使用前導(dǎo)入即可。本文將展示三個(gè)通過(guò)海龜繪圖實(shí)現(xiàn)的小程序,快來(lái)跟隨小編一起學(xué)習(xí)吧
    2022-03-03

最新評(píng)論

威信县| 蓝田县| 无极县| 漾濞| 宁晋县| 阿拉善右旗| 胶州市| 金坛市| 新竹市| 定安县| 静海县| 万年县| 运城市| 开阳县| 盖州市| 仙游县| 聂拉木县| 尉氏县| 隆昌县| 左权县| 嘉祥县| 礼泉县| 吉木乃县| 海阳市| 昌都县| 朝阳区| 闽清县| 滁州市| 顺昌县| 古丈县| 柘城县| 临澧县| 华蓥市| 普宁市| 冕宁县| 两当县| 长治市| 诏安县| 石台县| 赣榆县| 奉贤区|