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)

输出如下:

[位于, 书院, 路, 主干道, 水, 方, 大厦, 一楼, 四, 楼, 人为, 拆除, 水, 电, 设施, 烂尾, 多年, 护栏, 围着, 占用, 人行道, 路, 护栏, 锈迹, 斑斑, 可能, 倒塌, 危机, 过往, 行人, 车辆, 安全, 请求, 部门, 牵头, 处理]

猜你喜欢

转载自blog.csdn.net/weixin_42141390/article/details/105888151