jieba分词错误_jieba分词处理
分詞是一種數(shù)學(xué)上的應(yīng)用,他可以直接根據(jù)詞語(yǔ)之間的數(shù)學(xué)關(guān)系進(jìn)行文字或者單詞的抽象,比如,講一句話“我來(lái)自地球上中國(guó)”進(jìn)行單詞分割,我們可能會(huì)得到如下的內(nèi)容:“我”、“來(lái)自”、“地球上”、“中國(guó)”,這些就相當(dāng)于是分詞的概念,在我們搜索引擎開(kāi)發(fā)的過(guò)程中,是必須要要使用到分詞的概念的。
jieba簡(jiǎn)介
jieba是一個(gè)在中文自然語(yǔ)言處理過(guò)程中使用最多的工具包之一,目前能夠?qū)崿F(xiàn)包括分詞、詞性標(biāo)注以及命名實(shí)體識(shí)別等多種功能,一般的,jieba為我們提供了以下三種分詞模式:
·精確模式:將句子進(jìn)行最精確的切分,分詞速度相對(duì)較低,但是分詞準(zhǔn)確。
·全模式:基于此會(huì)列表,能夠?qū)⑺械目梢苑衷~的詞語(yǔ)都掃描出來(lái),分詞速度非常快,凡是不能解決歧義性。
·搜索引擎模式:在精確模式的基礎(chǔ)上,對(duì)長(zhǎng)詞進(jìn)行在切分,適合在搜索引擎中進(jìn)行監(jiān)理索引進(jìn)行的分詞。
常用的方法有:
·`jieba.cut` 方法接受三個(gè)輸入?yún)?shù): 需要分詞的字符串;cut_all 參數(shù)用來(lái)控制是否采用全模式;HMM 參數(shù)用來(lái)控制是否使用 HMM 模型
·?`jieba.cut_for_search` 方法接受兩個(gè)參數(shù):需要分詞的字符串;是否使用 HMM 模型。該方法適合用于搜索引擎構(gòu)建倒排索引的分詞,粒度比較細(xì)
·?待分詞的字符串可以是 unicode 或 UTF-8 字符串、GBK 字符串。注意:不建議直接輸入 GBK 字符串,可能無(wú)法預(yù)料地錯(cuò)誤解碼成 UTF-8
·?`jieba.cut` 以及 `jieba.cut_for_search` 返回的結(jié)構(gòu)都是一個(gè)可迭代的 generator,可以使用 for 循環(huán)來(lái)獲得分詞后得到的每一個(gè)詞語(yǔ)(unicode),或者用?`jieba.lcut` 以及 `jieba.lcut_for_search` 直接返回 list
·?`jieba.Tokenizer(dictionary=DEFAULT_DICT)` 新建自定義分詞器,可用于同時(shí)使用不同詞典。`jieba.dt` 為默認(rèn)分詞器,所有全局分詞相關(guān)函數(shù)都是該分詞器的映射。
1 '''
2 @Description: jieba分詞練習(xí)3 @Version: 1.04 @Autor: Montoin Yan5 @Date: 2020-02-09 20:46:286 @LastEditors : Montoin Yan7 @LastEditTime : 2020-02-09 20:55:408 '''
9 #encoding=utf-8
10 importjieba11
12 result_list = jieba.cut("我是中國(guó)青年團(tuán)團(tuán)員", cut_all=True)13 print("全模式:" + ",".join(result_list)) #全模式
14
15 result_list = jieba.cut("我是中國(guó)青年團(tuán)團(tuán)員")16 print("精準(zhǔn)模式:" + ",".join(result_list)) #精確模式
17
18 result_list = jieba.cut_for_search("我是一個(gè)學(xué)生,我熱愛(ài)編程,并且我想成為一個(gè)好的IT工作者") #搜索引擎模式
19 print("搜索引擎模式:" + ",".join(result_list))
結(jié)果如下所示:
jieba安裝
可以通過(guò)鏡像網(wǎng)站進(jìn)行安裝:
win+r打開(kāi)cmd,使用??pip install jieba -i https://pypi.douban.com/simple/? 進(jìn)行安裝,如果顯示連接超時(shí),則在編譯器終端進(jìn)行下載即可。
jieba實(shí)例
下面這個(gè)例子進(jìn)行了jeiba分詞完整的分詞操作
1 '''
2 @Description: jieba分詞處理3 @Version: 1.04 @Autor: Montoin Yan5 @Date: 2020-02-09 19:26:136 @LastEditors : Montoin Yan7 @LastEditTime : 2020-02-09 20:21:448 '''
9
10 importos,jieba11
12 PATH = "jieba_demo/文章.txt" #定義讀取路徑
13
14 defmain():15 results = {} #保存最終的讀取結(jié)果,以字典形式進(jìn)行存儲(chǔ)
16 with open(file=PATH,mode="r",encoding="UTF-8") as file:17 data = file.readline() #按照單行進(jìn)行文件讀取
18 #print(data)
19 while data: #如果讀到數(shù)據(jù)
20 words = jieba.cut(data,cut_all=False) #對(duì)數(shù)據(jù)進(jìn)行分詞,不采用全模式,進(jìn)行精確分詞
21 for word inwords:22 if len(word) == 1:23 continue
24 else:25 results[word] = results.get(word,0) + 1 #將多有讀取到的詞放到字典中,如果沒(méi)有,默認(rèn)值為0
26 data = file.readline() #繼續(xù)讀取
27 items = list(results.items()) #取出全部的內(nèi)容
28 items.sort(key=lambda x: x[1],reverse=True) #降序排列
29 #print(items)
30 for i initems:31 print("%s:%s" % (i[0],i[1]))32
33
34 if __name__ == "__main__":35 main()
分詞結(jié)果如下:
總結(jié)
以上是生活随笔為你收集整理的jieba分词错误_jieba分词处理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 华为3Com Quidway 2116-
- 下一篇: 网页色彩搭配的内涵