創(chuàng)新互聯(lián)www.cdcxhl.cn八線(xiàn)動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買(mǎi)多久送多久,劃算不套路!
創(chuàng)新互聯(lián)是一家專(zhuān)注于成都網(wǎng)站建設(shè)、網(wǎng)站制作與策劃設(shè)計(jì),桐柏網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專(zhuān)注于網(wǎng)站建設(shè)十年,網(wǎng)設(shè)計(jì)領(lǐng)域的專(zhuān)業(yè)建站公司;建站業(yè)務(wù)涵蓋:桐柏等地區(qū)。桐柏做網(wǎng)站價(jià)格咨詢(xún):028-86922220Python中jieba分詞是什么?相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。
1.jieba分詞的安裝
直接在cmd窗口當(dāng)中pip install即可
2.jieba分詞的介紹
jieba分詞是目前比較好的中文分詞組件之一,jieba分詞支持三種模式的分詞(精確模式、全模式、搜索引擎模式),并且支持自定義詞典(這一點(diǎn)在特定的領(lǐng)域很重要,有時(shí)候需要根據(jù)領(lǐng)域的需要來(lái)添加特定的詞典以提高分詞結(jié)果的質(zhì)量)、支持繁體字分詞。
3.jieba分詞三種分詞模式及使用例子
jieba分詞模塊的主要方法是jieba.cut(),精確模式和全模式的區(qū)別主要在于其中的參數(shù)不同
(1)精確模式:將文本精確地切開(kāi),適用于文本分析
jieba.cut()方法里面的CUT_ALL=False
(2)全模式:將文本里面所有可以成詞的詞語(yǔ)全部提取出來(lái),速度較快,但是不能解決歧義的問(wèn)題
jieba.cut()方法里面的CUT_ALL=True
(3)搜索引擎模式:在精確模式的基礎(chǔ)上,將長(zhǎng)詞再次切分,供搜索使用
需要調(diào)用jieba.cut_for_search()方法
僅僅是看這些東西,看不出個(gè)所以然來(lái),接下來(lái)對(duì)三種分詞的模式進(jìn)行測(cè)試:
text='北京郵電大學(xué)是教育部直屬、工業(yè)和信息化部共建、首批進(jìn)行“211工程”建設(shè)的全國(guó)重點(diǎn)大學(xué)' try_words=jieba.cut(text,cut_all=True) print ('全模式分詞結(jié)果:'+','.join(try_words)) try_words=jieba.cut(text,cut_all=False) print ('精確模式分詞結(jié)果:'+','.join(try_words)) try_words=jieba.cut_for_search(text) print ('搜素引擎模式分詞結(jié)果:'+','.join(try_words))
上述代碼運(yùn)行結(jié)果:
全模式分詞結(jié)果:北京,北京郵電,北京郵電大學(xué),郵電,郵電大學(xué),電大,大學(xué),是,教育,教育部,直屬,,,工業(yè),和,信息,信息化,部, 共建,,,首批,進(jìn)行,,211,工程,,,建設(shè),的,全國(guó),重點(diǎn),大學(xué) 精確模式分詞結(jié)果:北京郵電大學(xué),是,教育部,直屬,、,工業(yè),和,信息化,部,共建,、,首批,進(jìn)行,“,211,工程,”,建設(shè),的,全國(guó),重點(diǎn), 大學(xué) 搜素引擎模式分詞結(jié)果:北京,郵電,電大,大學(xué),北京郵電大學(xué),是,教育,教育部,直屬,、,工業(yè),和,信息,信息化,部,共建,、,首批,進(jìn)行, “,211,工程,”,建設(shè),的,全國(guó),重點(diǎn),大學(xué)
分析上述代碼得到的結(jié)果,我們看出全模式分詞是將文本當(dāng)中所有的詞都提取出來(lái),提詞的窗口是允許重疊和包含的,詞語(yǔ)當(dāng)中的字眼可以出現(xiàn)多次,但是這種分詞模式有可能會(huì)出現(xiàn)歧義;精確模式分詞是將文本精確地分隔開(kāi),成詞較長(zhǎng)的優(yōu)先,不存在成詞窗口的重疊與重復(fù)的情況,這種分詞模式出現(xiàn)歧義的概率比較小,但是有可能會(huì)出現(xiàn)分詞窗口過(guò)大,某些重點(diǎn)詞不會(huì)單獨(dú)出現(xiàn)在結(jié)果當(dāng)中的情況。綜上所述,這兩種模式的分詞適用于不同的情景,應(yīng)當(dāng)酌情選擇。
值得一提的是,這個(gè)例子當(dāng)中的“工業(yè)和信息化部”也應(yīng)當(dāng)是一個(gè)獨(dú)立的名詞,但是這三種分詞方法當(dāng)中都沒(méi)有出現(xiàn)這個(gè)詞語(yǔ),這就需要人工添加詞庫(kù)來(lái)實(shí)現(xiàn),放在下一部分。
再對(duì)文本當(dāng)中可能出現(xiàn)的歧義情況進(jìn)行嘗試:
text2='南京市長(zhǎng)江大橋是一座大橋' try_words=jieba.cut(text2,cut_all=True) print ('全模式分詞結(jié)果:'+','.join(try_words)) try_words=jieba.cut(text2,cut_all=False) print ('精確模式分詞結(jié)果:'+','.join(try_words)) try_words=jieba.cut_for_search(text2) print ('搜索引擎模式分詞結(jié)果:'+','.join(try_words))
這個(gè)例子當(dāng)中的文本為“南京市長(zhǎng)江大橋是一座大橋”,我們希望提取出來(lái)的分詞結(jié)果應(yīng)當(dāng)為:“南京市長(zhǎng)江大橋”,或者說(shuō),最次也應(yīng)該是“南京市”和“長(zhǎng)江大橋”兩個(gè)詞語(yǔ),上述代碼的運(yùn)行結(jié)果為:
全模式分詞結(jié)果:南京,南京市,京市,市長(zhǎng),長(zhǎng)江,長(zhǎng)江大橋,大橋,是,一座,大橋 精確模式分詞結(jié)果:南京市,長(zhǎng)江大橋,是,一座,大橋 搜索引擎模式分詞結(jié)果:南京,京市,南京市,長(zhǎng)江,大橋,長(zhǎng)江大橋,是,一座,大橋
分析結(jié)果:三種模式當(dāng)中都沒(méi)有出現(xiàn)我們的最佳預(yù)期(南京市長(zhǎng)江大橋),反而在全模式和搜索引擎模式下的分詞結(jié)果當(dāng)中出現(xiàn)了歧義詞(市長(zhǎng)、京市),這跟我們的語(yǔ)境顯然是無(wú)關(guān)的,這也恰好反映了全模式和搜索引擎模式分詞的一個(gè)缺陷,也就是容易出現(xiàn)與語(yǔ)境無(wú)關(guān)的歧義詞,而精確模式出現(xiàn)的比較少。
至于為什么會(huì)出現(xiàn)上述情況,我在查閱相關(guān)資料之后,認(rèn)為原因如下:
中文分詞的方法大致可以分為三類(lèi):
基于字典、詞庫(kù)匹配的分詞方法;基于詞頻度統(tǒng)計(jì)的分詞方法和基于知識(shí)理解的分詞方法(另外還有逐詞遍歷法,但是因?yàn)椴徽撐谋居卸嗝炊蹋~庫(kù)多么大都要逐詞遍歷一遍,效率過(guò)低,所以說(shuō)大部分情況不予采用)。一般的中文分詞模塊使用基于字典、詞庫(kù)的分詞方法,全模式使用的策略為(設(shè)詞典中最長(zhǎng)詞的長(zhǎng)度為n):從字段的第一個(gè)字符開(kāi)始,向后讀取1,2,...n個(gè)字符,并且到詞典當(dāng)中去對(duì)應(yīng),如果能對(duì)應(yīng)上,就將其取出來(lái),這樣就可以達(dá)到將所有可以成詞的字段提取出來(lái)(并且有重復(fù)部分)的目的;而相應(yīng)的,精確模式的分詞策略則可能是盡可能將取詞窗口擴(kuò)大,也就是在可能含有重復(fù)的長(zhǎng)度從1到n的這些詞中,取最長(zhǎng)的一個(gè)輸出。
(上述的“原因”只是我在使用分詞模塊的各個(gè)模式時(shí)的一點(diǎn)個(gè)人看法,不一定正確,對(duì)于項(xiàng)目也沒(méi)有什么影響,畢竟我也沒(méi)有去專(zhuān)門(mén)研究過(guò)源碼。。。)
4.jieba分詞添加自定義的詞典
中文分詞常常用于許多特定的語(yǔ)境,相應(yīng)的也就需要添加一些特定語(yǔ)境下的詞典,比如上一部分的“南京市長(zhǎng)江大橋”就屬于“地標(biāo)建筑”之類(lèi)的詞典,如果分詞將其分為“南京市”和“長(zhǎng)江大橋”就有可能不能完全反映出原文本的重點(diǎn)(畢竟南京市的東西很多,長(zhǎng)江大橋也不止南京市有),這種時(shí)候我們就需要添加自定義的詞典來(lái)提高分詞的質(zhì)量。
jieba.add_word('工業(yè)和信息化部')
使用jieba模塊的add_word()方法即可對(duì)其加入新的詞,插入之后的分詞結(jié)果如下:
全模式分詞結(jié)果:北京,北京郵電,北京郵電大學(xué),郵電,郵電大學(xué),電大,大學(xué),是,教育,教育部,直屬,,,工業(yè),工業(yè)和信息化部,信息, 信息化,部,共建,,,首批,進(jìn)行,,211,工程,,,建設(shè),的,全國(guó), 重點(diǎn),大學(xué) 精確模式分詞結(jié)果:北京郵電大學(xué),是,教育部,直屬,、,工業(yè)和信息化部,共建,、,首批,進(jìn)行,“,211,工程,”,建設(shè),的,全國(guó),重點(diǎn), 大學(xué) 搜素引擎模式分詞結(jié)果:北京,郵電,電大,大學(xué),北京郵電大學(xué),是,教育,教育部,直屬,、,工業(yè),信息,信息化,工業(yè)和信息化部,共建,、 ,首批,進(jìn)行“,211,工程,”,建設(shè),的,全國(guó),重點(diǎn),大學(xué) 全模式分詞結(jié)果:南京,南京市,南京市長(zhǎng)江大橋,京市,市長(zhǎng),長(zhǎng)江,長(zhǎng)江大橋,大橋,是,一座,大橋 精確模式分詞結(jié)果:南京市長(zhǎng)江大橋,是,一座,大橋 搜索引擎模式分詞結(jié)果:南京,京市,市長(zhǎng),長(zhǎng)江,大橋,南京市,南京市長(zhǎng)江大橋,是,一座,大橋
主要的改變?cè)谟谌J胶退阉饕婺J街苯蛹尤肓诉@個(gè)詞,而精確模式則是將新加詞的子集詞(姑且這么稱(chēng)呼)取代了,這也符合上一部分的假設(shè)。
看完上述內(nèi)容,你們掌握Python中jieba分詞是什么的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝各位的閱讀!
新聞名稱(chēng):Python中jieba分詞是什么-創(chuàng)新互聯(lián)
文章網(wǎng)址:http://vcdvsql.cn/article18/jjcgp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)、響應(yīng)式網(wǎng)站、靜態(tài)網(wǎng)站、軟件開(kāi)發(fā)、網(wǎng)站收錄、定制開(kāi)發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容