HanLP中文分詞——字典分詞

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進行分詞
    tokens.append(c)

拆分後效果如下:

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

很明顯,出現了 \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.apply(token)   #過濾停用詞(必須先進行分詞)
    tokens_stopword.append(token)

輸出如下:

[位於, 書院, 路, 主幹道, 水, 方, 大廈, 一樓, 四, 樓, 人爲, 拆除, 水, 電, 設施, 爛尾, 多年, 護欄, 圍着, 佔用, 人行道, 路, 護欄, 鏽跡, 斑斑, 可能, 倒塌, 危機, 過往, 行人, 車輛, 安全, 請求, 部門, 牽頭, 處理]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章