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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

jieba 分词

發(fā)布時間:2023/12/10 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jieba 分词 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一.介紹:

jieba:

“結(jié)巴”中文分詞:做最好的 Python 中文分詞組件

“Jieba” (Chinese for “to stutter”) Chinese text segmentation: built to be the best Python Chinese word segmentation module.

完整文檔見 :

GitHub:?https://github.com/fxsjy/jieba

特點

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

二.功能介紹及例子

  1.分詞主要功能:

? ? ? ? ? ? ?先介紹主要的使用功能,再展示代碼輸出。jieba分詞的主要功能有如下幾種:

      1.?jieba.cut:該方法接受三個輸入?yún)?shù):需要分詞的字符串; cut_all 參數(shù)用來控制是否采用全模式;HMM參數(shù)用來控制是否適用HMM模型

      2. jieba.cut_for_search:該方法接受兩個參數(shù):需要分詞的字符串;是否使用HMM模型,該方法適用于搜索引擎構(gòu)建倒排索引的分詞,粒度比較細。

      3. 待分詞的字符串可以是unicode或者UTF-8字符串,GBK字符串。注意不建議直接輸入GBK字符串,可能無法預(yù)料的誤解碼成UTF-8,

      4. jieba.cut 以及jieba.cut_for_search返回的結(jié)構(gòu)都是可以得到的generator(生成器), 可以使用for循環(huán)來獲取分詞后得到的每一個詞語或者使用

      5. jieb.lcut?以及 jieba.lcut_for_search 直接返回list

      6. jieba.Tokenizer(dictionary=DEFUALT_DICT)?新建自定義分詞器,可用于同時使用不同字典,jieba.dt為默認分詞器,所有全局分詞相關(guān)函數(shù)都是該分詞器的映射。

  2.簡單模式:

    2.1.精確模式(返回結(jié)果是一個生成器,對大量數(shù)據(jù)分詞很重要,占內(nèi)存小):

?

import jiebas = '我想大口吃肉大碗喝酒!!!' cut=jieba.cut(s) print(cut) #精確模式 print('精確模式輸出:') print(','.join(cut))

? ? ? ? ?輸出為:

?

2.2.全模式(返回結(jié)果也是生成器,特點是把文本分成盡可能多的詞):

import jiebas = '我想大口吃肉大碗喝酒!!!' print('全模式:') result=jieba.cut(s, cut_all=True) print(result) print(' '.join(result))

    輸出為:

 2.3.搜索引擎模式:

import jiebas = '我想大口吃肉大碗喝酒!!!' print('搜索引擎模式:') result=jieba.cut_for_search(s) print(result) print(','.join(result)) 輸出為:

  2.4:單個字模式:不用jieba,直接用list(sentence)? 即可

train_df = pd.read_csv(dir)[:10].Report def seg(sentence):return list(sentence.strip()) word_list = train_df.apply(seg)》》》 2 [行, 駛, 沒, 有, 頓, 挫, 的, 感, 覺, 原, 地, 換, 擋, 有, 闖, ... 3 [舉, 起, 車, 輛, 在, 左, 前, 輪, 這, 邊, 的, 缸, 體, 上] 4 [家, 庭, 用, 車, 可, 以, 入, 手, 的, 維, 修, 保, 養(yǎng), 價, 格, ...

3.獲取詞性:每個詞都有其詞性,比如名詞、動詞、代詞等,結(jié)巴分詞的結(jié)果也可以帶上每個詞的詞性,要用到jieba.posseg

     分詞及輸出詞性:

import jieba.posseg as psgs = '我想大口吃肉大碗喝酒!!!' print('分詞及詞性:') result=psg.cut(s) print(result) print([(x.word,x.flag) for x in result]) 輸出為

    過濾詞性,如獲取名詞: 直接加個條件判斷就行了

import jieba.posseg as psgs = '我想大口吃肉大碗喝酒!!!' print('分詞及詞性:') result=psg.cut(s) print(result) #篩選為名詞的 print([(x.word,x.flag) for x in result if x.flag=='n'])

  輸出為

  

  

4.并行分詞在文本數(shù)據(jù)量非常大的時候,為了提高分詞效率,開啟并行分詞就很有必要了。jieba支持并行分詞,基于python自帶的multiprocessing模塊,但要注意的是在Windows環(huán)境下不支持。

# 開啟并行分詞模式,參數(shù)為并發(fā)執(zhí)行的進程數(shù) jieba.enable_parallel(5)# 關(guān)閉并行分詞模式 jieba.disable_parallel()

如:

  5.獲取出現(xiàn)頻率Top n的詞(有些詞無實際意義,可篩選):?Counter.most_common(num)

from collections import Counter words_total=open('1',encoding='utf-8').read() c = Counter(words_total).most_common(20) print (c)

  6.使用用戶字典提高分詞準確性:

jieba分詞器還有一個方便的地方是開發(fā)者可以指定自己的自定義詞典,以便包含詞庫中沒有的詞,雖然jieba分詞有新詞識別能力,但是自行添加新詞可以保證更高的正確率。

使用命令:

jieba.load_userdict(filename) # filename為自定義詞典的路徑。在使用的時候,詞典的格式和jieba分詞器本身的分詞器中的詞典格式必須保持一致,一個詞占一行,每一行分成三部分,一部分為詞語,一部分為詞頻,最后為詞性(可以省略),用空格隔開。

  7.關(guān)鍵詞抽取: jieba.analyse,extract_tags? ?或者?? jieba.analyse.textrank

?

?

github:https://github.com/fxsjy/jieba

參考:https://www.baidu.com/s?ie=UTF-8&wd=jieba%20posseg

總結(jié)

以上是生活随笔為你收集整理的jieba 分词的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。