中文字幕第五页-中文字幕第页-中文字幕韩国-中文字幕最新-国产尤物二区三区在线观看-国产尤物福利视频一区二区

如何在python中使用jieba庫-創新互聯

這篇文章將為大家詳細講解有關如何在python中使用jieba庫,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

10年積累的成都網站設計、成都網站制作經驗,可以快速應對客戶對網站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網絡服務。我雖然不認識你,你也不認識我。但先網站設計后付款的網站建設流程,更有麗水免費網站建設讓你可以放心的選擇與我們合作。

python可以做什么

Python是一種編程語言,內置了許多有效的工具,Python幾乎無所不能,該語言通俗易懂、容易入門、功能強大,在許多領域中都有廣泛的應用,例如最熱門的大數據分析,人工智能,Web開發等。

一、jieba庫概述

jieba是優秀的中文分詞第三方庫

  • 中文文本需要通過分詞獲得單個的詞語

  • jieba是優秀的中文分詞第三方庫,需要額外安裝

  • jieba庫提供三種分詞模式,最簡單只需要掌握一個函數


二、jieba庫安裝

pip install jieba

三、jieba分詞的原理

jieba分詞依靠中文詞庫

  • 利用一個中文詞庫,確定漢字之間的關聯概率

  • 漢字間概率大的組成詞組,形成分詞結果


四、jieba分詞的3種模式

  • 精確模式:把文本精確地切分開,不存在冗余單詞(最常用)

  • 全模式:把文本中所有可能的詞語都掃描出來,有冗余

  • 搜索引擎模式:在精確模式的基礎上,對長詞再次切分


五、jieba庫常用函數

函數描述
jieba.lcut(s)精確模式,返回一個列表類型的分詞結果
jieba.lcut(s,cut_all=True)全模式,返回一個列表類型的分詞結果,存在冗余
jieba.lcut_for_search(s)搜索引擎模式,返回一個列表類型的分詞結果,存在冗余
jieba.lcut(s)精確模式,返回一個列表類型的分詞結果
jieba.add_word(s)向分詞詞典增加新詞w

例子:

>>> jieba.lcut("中國是一個偉大的國家")
['中國', '是', '一個', '偉大', '的', '國家']

>>> jieba.lcut("中國是一個偉大的國家", cut_all=True)
['中國', '國是', '一個', '偉大', '的', '國家']

>>> jieba.lcut_for_search("中華人民共和國是偉大的")
['中華', '華人', '人民', '共和', '共和國', '中華人民共和國', '是', '偉大', '的']

六、文本詞頻示例

問題分析

  • 英文文本: Hamlet 分析詞頻


https://python123.io/resources/pye/hamlet.txt

  • 中文文本: 《三國演義》 分析人物


https://python123.io/resources/pye/threekingdoms.txt

代碼如下:

def getText():
 # 打開 hamlet.txt 這個文件
 txt = open("hamlet.txt", "r").read()
 # 避免大小寫對詞頻統計的干擾,將所有單詞轉換為小寫
 txt = txt.lower()
 # 將文中出現的所有特殊字符替換為空格
 for ch in '|"#$%^&*()_+-=\\`~{}[];:<>?/':
 txt = txt.replace(ch, " ")
 # 返回一個所以后單詞都是小寫的,單詞間以空格間隔的文本
 return txt

hamletTxt = getText()
# split() 默認使用空格作為分隔符
words = hamletTxt.split()
counts = {}
for word in words:
 counts[word] = counts.get(word,0) + 1
items = list(counts.items())
items.sort(key=lambda x:x[1], reverse=True)
for i in range(10):
 word, count = items[i]
 print("{0:<10}{1:>5}".format(word,count))

上面代碼中的

items.sort(key=lambda x:x[1], reverse=True)

是根據單詞出現的次數進行排序,其中使用了 lambda 函數。更多解釋請看:
https://www.runoob.com/python/att-list-sort.html

下面使用 jieba 庫來統計《三國演義》中任務出場的次數:

import jieba
txt = open("threekingdoms.txt","r",encoding="utf-8").read()
words = jieba.lcut(txt)
counts = {}
for word in words:
 if len(word) == 1:
 continue
 else:
 counts[word] = counts.get(word, 0) + 1

items = list(counts.items())
items.sort(key=lambda x:x[1], reverse=True)
for i in range(15):
 word, count = items[i]
 print("{0:<10}{1:>5}".format(word,count))

運行結果:

曹操  953
孔明  836
將軍  772
卻說  656
玄德  585
關公  510
丞相  491
二人  469
不可  440
荊州  425
玄德曰  390
孔明曰  390
不能  384
如此  378
張飛  358

我們可以看到得出的結果與我們想象的有些差異,比如

  • “卻說”、“二人”等與人名無關

  • “諸葛亮”、“孔明”都是同一個人

  • “孔明”和“孔明曰”分詞不符合我們的需求


所以我們需要對上面代碼進行優化,在詞頻統計的基礎上,面向問題改造我們的程序。

下面是《三國演義》人物數量統計代碼的升級版,升級版中對于某些確定不是人名的詞,即使做了詞頻統計,也要將它刪除掉。使用寄一個集合excludes來接收一些確定不是人名但是又排序比較靠前的單詞列進去。

import jieba
txt = open("threekingdoms.txt","r",encoding="utf-8").read()
excludes = {"將軍","卻說","荊州","二人","不可","不能","如此"}
words = jieba.lcut(txt)
counts = {}
for word in words:
 if len(word) == 1:
 continue
 elif word == "諸葛亮" or word == "孔明曰":
 rword == "孔明"
 elif word == "關公" or word == "云長":
 rword == "關羽"
 elif word == "玄德" or word == "玄德曰":
 rword == "劉備"
 elif word == "孟德" or word == "丞相":
 rword == "曹操"
 else:
 rword = word
 counts[rword] = counts.get(rword, 0) + 1

items = list(counts.items())
items.sort(key=lambda x:x[1], reverse=True)
for i in range(15):
 word, count = items[i]
 print("{0:<10}{1:>5}".format(word,count))

運行結果:

曹操  963
孔明  847
張飛  366
商議  359
如何  352
主公  340
軍士  320
呂布  303
左右  298
軍馬  297
趙云  283
劉備  282
引兵  279
次日  278
大喜  274

可以看出還是有像“商議”、“如何”等不是人物的詞出現在統計結果,我們將這些詞加入到 excludes 中,多次運行程序后最后得到《三國演義》任務出場順序前20:

關于如何在python中使用jieba庫就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

文章標題:如何在python中使用jieba庫-創新互聯
文章URL:http://www.2m8n56k.cn/article20/esgco.html

成都網站建設公司_創新互聯,為您提供微信小程序App設計網站設計標簽優化企業建站商城網站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都app開發公司
主站蜘蛛池模板: 国产成人精品久久综合 | 亚洲天堂美女视频 | 亚洲加勒比久久88色综合1 | 国产成人精品免费视频网页大全 | 三级美国 | 最近日本免费观看视频 | 亚洲成人一区二区 | 香蕉一区二区三区观 | 免费国产成人18在线观看 | 国产特黄一级一片免费 | 久久精品毛片 | 国产亚洲欧美日韩在线观看一区二区 | 成人韩免费网站 | 亚洲国产精品久久精品成人 | 久久性生大片免费观看性 | 美女18网站 | 亚洲精品成人中文网 | 日本免费大黄在线观看 | 久久亚洲精品成人综合 | 亚洲欧美日韩综合一区久久 | 一级香蕉免费毛片 | 人成精品| 国产aaaaa一级毛片 | 亚洲精品资源在线 | 91久久精品国产91久久性色tv | 亚洲一区二区三区免费 | 欧洲97色综合成人网 | 免看一级a毛片一片成人不卡 | 欧美一级毛片欧美一级成人毛片 | 男人的天堂中文字幕 | 欧美日韩乱国产 | 国产亚洲片 | 日韩一级欧美一级在线观看 | 国产成人精品综合在线观看 | 日韩精品久久久久久 | 一本综合久久国产二区 | 成年人在线视频网站 | 国产综合亚洲专区在线 | 一级a毛片 | 国产精品欧美亚洲 | 亚洲国产综合人成综合网站00 |