HanLP中文分詞 字典分詞

2021-10-05 16:38:23 字數 2017 閱讀 7603

hanlp是漢語言處理的乙個重要利器。對漢語言進行處理,首先的步驟是將漢語進行分詞。漢語進行分詞的乙個比較 low 但有用的方法是字典拆分

字典拆分使用啟發式演算法——雙向文字匹配演算法,結合字典,對漢語語句和段落進行拆分的方法。

from sklearn.externals import joblib

import pandas as pd

x = joblib.load(r'd:\桌面\比賽\c題全部資料\x2'

)#匯入資料

x = x[

]#提取資料

from pyhanlp import

*#匯入hanlp模組

from pyhanlp.static import hanlp_data_path #匯入檔案鏈結

hanlp.config.showtermnature =

false

#不顯示詞性

dict1 = hanlp_data_path +

'/dictionary/corenaturedictionary.txt'

#載入詞典,這裡為詞典路徑

segment = doublearraytriesegment(

[dict1]

)#載入詞典

# segment.enablepartofspeechtagging(true)

tokens =

for c in x:

c = segment.seg(c)

#用分詞器segment進行分詞

拆分後效果如下:

[

, , , , , ,

, , , , , , 位於, 書院, 路, 主幹道, 的, 在, 水, 一, 方, 大廈, 一樓, 至, 四, 樓, 人為, 拆除, 水, 、, 電, 等, 設施, 後, ,, 爛尾, 多年, ,, 用, 護欄, 圍著, ,, 不但, 占用, 行人路, 路, ,, 而且, 護欄, 鏽跡, 斑斑, ,, 隨時, 可能, 倒塌, ,, 危機, 過往, 行人, 和, 車輛, 安全, 。, 請求, 有關, 部門, 牽頭, 處理, 。,

, , , , , ,

, , , , , ,

, , , , ]

很明顯,出現了 \t , \n 等字元。

字典分詞的乙個重要應用是進行停用詞過濾。停用詞是指 的、甚至、等常出現的詞。

同樣,為了進行停用詞過濾,我們需要準備乙份停用詞字典。當然,我們可以修改停用詞字典,來過濾掉一些特殊符號,例如 「\t、\n」 等。

stopwords_filter = jclass(

'com.hankcs.hanlp.dictionary.stopword.corestopworddictionary')(

)#載入停用詞字典,並例項化乙個停用詞過濾物件

stopwords_filter.add(

'\t'

)#修改停用詞字典,新增製表符位過濾物件

stopwords_filter.add(

'\n'

) tokens_stopword =

for token in tokens:

token = stopwords_filter.

(token)

#過濾停用詞(必須先進行分詞)

輸出如下:

[位於, 書院, 路, 主幹道, 水, 方, 大廈, 一樓, 四, 樓, 人為, 拆除, 水, 電, 設施, 爛尾, 多年, 護欄, 圍著, 占用, 行人路, 路, 護欄, 鏽跡, 斑斑, 可能, 倒塌, 危機, 過往, 行人, 車輛, 安全, 請求, 部門, 牽頭, 處理]

Viterbi分詞詳解 hanlp

1.根據詞庫,生成所有所有字可能組成的詞 詞網 例如 當下雨天地面積水分外嚴重 0 1 當,當下 2 下,下雨,下雨天 3 雨,雨天 4 天,天地 5 地,地面 6 面,面積 7 積,積水 8 水,水分 9 分,分外 10 外 11 嚴,嚴重 12 重 13 前後空為起始和末尾標誌 2.通過遍歷上述...

中文分詞演算法工具hanlp原始碼解析

詞圖 詞圖指的是句子中所有詞可能構成的圖。如果乙個詞a的下乙個詞可能是b的話,那麼a和b之間具有一條路徑e a,b 乙個詞可能有多個後續,同時也可能有多個前驅,它們構成的圖我稱作詞圖。需要稀疏2維矩陣模型,以乙個詞的起始位置作為行,終止位置作為列,可以得到乙個二維矩陣。例如 他說的確實在理 這句話 ...

hanlp原始碼解析之中文分詞演算法

詞圖 詞圖指的是句子中所有詞可能構成的圖。如果乙個詞a的下乙個詞可能是b的話,那麼a和b之間具有一條路徑e a,b 乙個詞可能有多個後續,同時也可能有多個前驅,它們構成的圖我稱作詞圖。需要稀疏2維矩陣模型,以乙個詞的起始位置作為行,終止位置作為列,可以得到乙個二維矩陣。例如 他說的確實在理 這句話 ...