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維矩陣模型,以乙個詞的起始位置作為行,終止位置作為列,可以得到乙個二維矩陣。例如 他說的確實在理 這句話 ...