千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術(shù)干貨  > 使用python進行漢語分詞

使用python進行漢語分詞

來源:千鋒教育
發(fā)布人:xqq
時間: 2023-11-06 03:57:51 1699214271

目前我常常使用的分詞有結(jié)巴分詞、NLPIR分詞等等

最近是在使用結(jié)巴分詞,稍微做一下推薦,還是蠻好用的。

一、結(jié)巴分詞簡介

利用結(jié)巴分詞進行中文分詞,基本實現(xiàn)原理有三:

基于Trie樹結(jié)構(gòu)實現(xiàn)高效的詞圖掃描,生成句子中漢字所有可能成詞情況所構(gòu)成的有向無環(huán)圖(DAG)

采用了動態(tài)規(guī)劃查找最大概率路徑,找出基于詞頻的最大切分組合

對于未登錄詞,采用了基于漢字成詞能力的HMM模型,使用了Viterbi算法

二、安裝及使用(Linux)

1.下載工具包,解壓后進入目錄下,運行:pythonsetup.pyinstall

Hint:a.一個良好的習慣是,對于下載下來的軟件,先看readme,再進行操作。(沒有閱讀readme,直接嘗試+百度,會走很多彎路);

b.當時運行安裝命令時,出現(xiàn)錯誤:nopermission!(有些人可能會遇見這種問題,這是因為權(quán)限不夠的。執(zhí)行:sudo!!其中“!!”表示上一條命令,這里指的就是上面的安裝命令),使用sudo后便可正常運行。

2.在使用結(jié)巴做分詞的時候,一定會用的函數(shù)是:jieba.cut(arg1,arg2);這是用于分詞的函數(shù),我們只需要了解以下三點,便可使用

a.cut方法接受兩個輸入?yún)?shù):第一個參數(shù)(arg1)為需要進行分詞的字符串,arg2參數(shù)用來控制分詞模式。

分詞模式分為兩類:默認模式,試圖將句子最精確地切開,適合文本分析;全模式,把句子中所有的可以成詞的詞語都掃描出來,適合搜索引擎

b.待分詞的字符串可以是gbk字符串、utf-8字符串或者unicode

使用Python的人要注意編碼問題,Python是基于ASCII碼來處理字符的,當出現(xiàn)不屬于ASCII的字符時(比如在代碼中使用漢字),會出現(xiàn)錯誤信息:“ASCIIcodeccan'tencodecharacter”,解決方案是在文件頂部加入語句:#!-*-coding:utf-8-*-來告訴Python的編譯器:“我這個文件是用utf-8進行編碼的,你要進行解碼的時候,請用utf-8”。(這里記住,這個命令一定要加在文件的最頂部,如果不在最頂部,編碼問題就依然存在,得不到解決)關(guān)于編碼的轉(zhuǎn)換,可以參考博文(ps:個人理解“importsysreload(sys)sys.setdefaultencoding('utf-8')”這幾句話與“#!-*-coding:utf-8-*-”等價)

c.jieba.cut返回的結(jié)構(gòu)是一個可迭代的generator,可以使用for循環(huán)來獲得分詞后得到的每一個詞語(unicode),也可以用list(jieba.cut(...))轉(zhuǎn)化為list

3.以下舉例jieba中提供的一個使用方法作為說明:

#!-*-coding:utf-8-*-

importjieba

seg_list=jieba.cut("我來到北京清華大學",cut_all=True)

print"FullMode:",''.join(seg_list)

seg_list=jieba.cut("我來到北京清華大學")

print"DefaultMode:",''.join(seg_list)

輸出結(jié)果為:

FullMode:我/來/來到/到/北/北京/京/清/清華/清華大學/華/華大/大/大學/學

DefaultMode:我/來到/北京/清華大學

三、結(jié)巴中文分詞的其他功能

1、添加或管理自定義詞典

結(jié)巴的所有字典內(nèi)容存放在dict.txt,你可以不斷的完善dict.txt中的內(nèi)容。

2、關(guān)鍵詞抽取

通過計算分詞后的關(guān)鍵詞的TF/IDF權(quán)重,來抽取重點關(guān)鍵詞。

以上內(nèi)容為大家介紹了使用python進行漢語分詞,希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓機構(gòu):千鋒教育。http://madgrindclothing.com/

tags: python培訓
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內(nèi)將與您1V1溝通
免費領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學 138****2860 剛剛成功領(lǐng)取
王同學 131****2015 剛剛成功領(lǐng)取
張同學 133****4652 剛剛成功領(lǐng)取
李同學 135****8607 剛剛成功領(lǐng)取
楊同學 132****5667 剛剛成功領(lǐng)取
岳同學 134****6652 剛剛成功領(lǐng)取
梁同學 157****2950 剛剛成功領(lǐng)取
劉同學 189****1015 剛剛成功領(lǐng)取
張同學 155****4678 剛剛成功領(lǐng)取
鄒同學 139****2907 剛剛成功領(lǐng)取
董同學 138****2867 剛剛成功領(lǐng)取
周同學 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
Python標準庫中自帶的單元測試框架

Unittest是Python標準庫中自帶的單元測試框架,支持自動化測試,測試用例的初始化和關(guān)閉測試用例的聚合等功能。有一些類似于Java中的Junit單元...詳情>>

2023-11-06 06:57:52
有Java基礎(chǔ)的學習python應(yīng)該注意些什么

首先,對于具有Java編程基礎(chǔ)的人來說,學習Python的初期并不會遇到太大的障礙,但是要結(jié)合自己的發(fā)展規(guī)劃來制定學習規(guī)劃,尤其要重視學習方向的...詳情>>

2023-11-06 06:25:27
Python 定時修改數(shù)據(jù)庫

當需要定時修改數(shù)據(jù)庫時,一般我們都選擇起一個定時進程去改庫。如果將這種定時任務(wù)寫入業(yè)務(wù)中,寫成一個接口呢,定時進程顯得有些不太合適?如...詳情>>

2023-11-06 06:03:51
Python有哪些常用函數(shù)?

Python常用函數(shù)有哪些?我想大家都比較好奇這個問題,今天小編特地整理了一篇有關(guān)Python常用函數(shù)的相關(guān)內(nèi)容,接下來我們一起來看看具體的內(nèi)容介...詳情>>

2023-11-06 05:49:27
Python常用的三大開源框架

眾所周知,Python是一種腳本語言,具有易學、語法清晰、易維護等優(yōu)點,而且具有豐富和強大的庫,被稱作為膠水語言。Python語言誕生較早,經(jīng)過多...詳情>>

2023-11-06 05:35:03