日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python中jieba库使用教程

發布時間:2023/12/10 python 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python中jieba库使用教程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

jieba是python的一個中文分詞庫,下面介紹它的使用方法。

安裝

方式1: pip install jieba方式2: 先下載 http://pypi.python.org/pypi/jieba/ 然后解壓,運行 python setup.py install

功能

下面介紹下jieba的主要功能,具體信息可參考github文檔:https://github.com/fxsjy/jieba

分詞

jieba常用的三種模式:

  • 精確模式,試圖將句子最精確地切開,適合文本分析;
  • 全模式,把句子中所有的可以成詞的詞語都掃描出來, 速度非???#xff0c;但是不能解決歧義;
  • 搜索引擎模式,在精確模式的基礎上,對長詞再次切分,提高召回率,適合用于搜索引擎分詞。
  • 可使用?jieba.cut?和?jieba.cut_for_search?方法進行分詞,兩者所返回的結構都是一個可迭代的 generator,可使用 for 循環來獲得分詞后得到的每一個詞語(unicode),或者直接使用?jieba.lcut?以及?jieba.lcut_for_search?返回 list。

    jieba.Tokenizer(dictionary=DEFAULT_DICT)?:使用該方法可以自定義分詞器,可以同時使用不同的詞典。jieba.dt?為默認分詞器,所有全局分詞相關函數都是該分詞器的映射。

    jieba.cut?和?jieba.lcut?可接受的參數如下:

  • 需要分詞的字符串(unicode 或 UTF-8 字符串、GBK 字符串)
  • cut_all:是否使用全模式,默認值為?False
  • HMM:用來控制是否使用 HMM 模型,默認值為?True
  • jieba.cut_for_search?和?jieba.lcut_for_search?接受 2 個參數:

  • 需要分詞的字符串(unicode 或 UTF-8 字符串、GBK 字符串)
  • HMM:用來控制是否使用 HMM 模型,默認值為?True
  • 需要注意的是,盡量不要使用 GBK 字符串,可能無法預料地錯誤解碼成 UTF-8。

    三種分詞模式的比較:

    # 全匹配 seg_list = jieba.cut("今天哪里都沒去,在家里睡了一天", cut_all=True) print(list(seg_list)) # ['今天', '哪里', '都', '沒去', '', '', '在家', '家里', '睡', '了', '一天']# 精確匹配 默認模式 seg_list = jieba.cut("今天哪里都沒去,在家里睡了一天", cut_all=False) print(list(seg_list)) # ['今天', '哪里', '都', '沒', '去', ',', '在', '家里', '睡', '了', '一天']# 精確匹配 seg_list = jieba.cut_for_search("今天哪里都沒去,在家里睡了一天") print(list(seg_list)) # ['今天', '哪里', '都', '沒', '去', ',', '在', '家里', '睡', '了', '一天']

    自定義詞典

    開發者可以指定自己自定義的詞典,以便包含 jieba 詞庫里沒有的詞。
    用法: jieba.load_userdict(dict_path)

    dict_path:為自定義詞典文件的路徑

    詞典格式如下:

    一個詞占一行;每一行分三部分:詞語、詞頻(可省略)、詞性(可省略),用空格隔開,順序不可顛倒。

    下面使用一個例子說明一下:

    自定義字典 user_dict.txt:

    大學課程 深度學習

    下面比較下精確匹配、全匹配和使用自定義詞典的區別:

    import jiebatest_sent = """ 數學是一門基礎性的大學課程,深度學習是基于數學的,尤其是線性代數課程 """words = jieba.cut(test_sent) print(list(words)) # ['\n', '數學', '是', '一門', '基礎性', '的', '大學', '課程', ',', '深度', # '學習', '是', '基于', '數學', '的', ',', '尤其', '是', '線性代數', '課程', '\n']words = jieba.cut(test_sent, cut_all=True) print(list(words)) # ['\n', '數學', '是', '一門', '基礎', '基礎性', '的', '大學', '課程', '', '', '深度', # '學習', '是', '基于', '數學', '的', '', '', '尤其', '是', '線性', '線性代數', '代數', '課程', '\n']jieba.load_userdict("userdict.txt") words = jieba.cut(test_sent) print(list(words)) # ['\n', '數學', '是', '一門', '基礎性', '的', '大學課程', ',', '深度學習', '是', # '基于', '數學', '的', ',', '尤其', '是', '線性代數', '課程', '\n']jieba.add_word("尤其是") jieba.add_word("線性代數課程")words = jieba.cut(test_sent) print(list(words)) # ['\n', '數學', '是', '一門', '基礎性', '的', '大學課程', ',', '深度學習', '是', # '基于', '數學', '的', ',', '尤其是', '線性代數課程', '\n']

    從上面的例子中可以看出,使用自定義詞典與使用默認詞典的區別。

    jieba.add_word():向自定義字典中添加詞語

    關鍵詞提取

    可以基于 TF-IDF 算法進行關鍵詞提取,也可以基于TextRank 算法。 TF-IDF 算法與 elasticsearch 中使用的算法是一樣的。

    使用 jieba.analyse.extract_tags() 函數進行關鍵詞提取,其參數如下:

    jieba.analyse.extract_tags(sentence, topK=20, withWeight=False, allowPOS=())

  • sentence 為待提取的文本
  • topK 為返回幾個 TF/IDF 權重最大的關鍵詞,默認值為 20
  • withWeight 為是否一并返回關鍵詞權重值,默認值為 False
  • allowPOS 僅包括指定詞性的詞,默認值為空,即不篩選
  • jieba.analyse.TFIDF(idf_path=None) 新建 TFIDF 實例,idf_path 為 IDF 頻率文件
  • 也可以使用 jieba.analyse.TFIDF(idf_path=None) 新建 TFIDF 實例,idf_path 為 IDF 頻率文件。

    基于 TF-IDF 算法和TextRank算法的關鍵詞抽取:

    import jieba.analysefile = "sanguo.txt" topK = 12 content = open(file, 'rb').read()# 使用tf-idf算法提取關鍵詞 tags = jieba.analyse.extract_tags(content, topK=topK) print(tags) # ['玄德', '程遠志', '張角', '云長', '張飛', '黃巾', '封谞', '劉焉', '鄧茂', '鄒靖', '姓名', '招軍'] # 使用textrank算法提取關鍵詞 tags2 = jieba.analyse.textrank(content, topK=topK)# withWeight=True:將權重值一起返回 tags = jieba.analyse.extract_tags(content, topK=topK, withWeight=True) print(tags) # [('玄德', 0.1038549799467099), ('程遠志', 0.07787459004363208), ('張角', 0.0722532891360849), # ('云長', 0.07048801593691037), ('張飛', 0.060972692853113214), ('黃巾', 0.058227157790330185), # ('封谞', 0.0563904127495283), ('劉焉', 0.05470798376886792), ('鄧茂', 0.04917692565566038), # ('鄒靖', 0.04427258239705188), ('姓名', 0.04219704283997642), ('招軍', 0.04182041076757075)]

    上面的代碼是讀取文件,提取出現頻率最高的前12個詞。

    詞性標注

    詞性標注主要是標記文本分詞后每個詞的詞性,使用例子如下:

    import jieba import jieba.posseg as pseg# 默認模式 seg_list = pseg.cut("今天哪里都沒去,在家里睡了一天") for word, flag in seg_list:print(word + " " + flag)""" 使用 jieba 默認模式的輸出結果是: 我 r Prefix dict has been built successfully. 今天 t 吃 v 早飯 n 了 ul """# paddle 模式 words = pseg.cut("我今天吃早飯了",use_paddle=True) """ 使用 paddle 模式的輸出結果是: 我 r 今天 TIME 吃 v 早飯 n 了 xc """

    paddle模式的詞性對照表如下:

    總結

    以上是生活随笔為你收集整理的python中jieba库使用教程的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 91av欧美 | 久久a视频 | 日本精品视频在线 | 国产精品毛片一区 | 五月婷婷综合激情网 | 白浆影院 | 久久久久久国产 | 7777av| 国产三级视频 | 久久wwww | 17c一起操| 少妇高清精品毛片在线视频 | 麻豆久久久久久久 | 欧美性猛交乱大交 | 四虎影视免费观看 | 欧美老肥熟 | 亚洲乱仑 | 91超碰人人 | 狠狠干夜夜爽 | 欧美国产日本在线 | 国产一国产精品一级毛片 | 精品国产av无码一区二区三区 | 国模精品视频一区二区 | 爱爱免费视频 | 短视频在线观看 | 国产精品成人国产乱一区 | 特级西西444www | 欧美人伦 | 久久久777| 成人动漫在线观看 | 五月天色视频 | 萌白酱一区二区 | 国产九九精品视频 | 韩国理论午夜 | 欧美一区二区三区成人久久片 | 香蕉久久国产av一区二区 | 久久狠狠高潮亚洲精品 | 国产山村乱淫老妇女视频 | 自拍偷拍p| 日本亚洲在线 | 99re这里只有精品首页 | 亚洲天堂日韩在线 | a天堂在线观看 | 草莓视频成人在线 | 这里只有精品国产 | 美女福利在线 | 日韩色图在线观看 | 天堂在线v| 精品免费国产一区二区三区四区 | 在线色| 国产成人在线免费观看视频 | 中文无码日韩欧 | 久操视频免费 | 午夜激情福利在线 | 一级a毛片免费观看久久精品 | 精品一区91 | h片在线免费 | av手机观看 | 91xxxxx| 黄色片在哪里看 | 国产精品午夜福利 | 无码人妻精品一区二区三区在线 | 天天操人人射 | 亚洲天堂2013 | 中文字幕在线视频观看 | 午夜影院操 | 久操操 | 美女脱了内裤喂我喝尿视频 | av第一福利大全导航 | 中国免费毛片 | 色播综合网 | 日本在线免费看 | 国产午夜手机精彩视频 | 成人午夜淫片免费观看 | 国内自拍小视频 | 欧美在线观看视频一区二区 | 久久久青草| 久久丫精品久久丫 | 免费无遮挡无码永久在线观看视频 | 91文字幕巨乱亚洲香蕉 | 日本精品视频一区二区 | 国产一级免费观看 | 在线网站av | 少妇裸体淫交视频免费看高清 | www.黄色av| 亚洲一区不卡 | 国产激情无码一区二区 | a国产精品| 香蕉爱视频 | 国产啊啊啊啊 | 成人在线影片 | 51嘿嘿嘿国产精品伦理 | 欧洲一区二区视频 | 亚洲欧美一区二区三区四区五区 | 污污的网站在线观看 | 久久久久成人片免费观看蜜芽 | 免费观看高清在线 | 黄色片aa| 男人深夜网站 |