在Hanlp词典和jieba词典中手动添加未登录词

在使用Hanlp词典或者jieba词典进行分词的时候,会出现分词不准的情况,原因是内置词典中并没有收录当前这个词,也就是我们所说的未登录词,只要把这个词加入到内置词典中就可以解决类似问题,如何操作呢,下面我们来看一下:

一,在Hanlp词典中添加未登录词
1.找到hanlp内置词典目录
位于D:\hnlp\hanlp_code\hanlp\data\dictionary\custom

也就是Hanlp安装包中的data\dictionary\custom下目录

在这里插入图片描述

2.将未登录词以词名,词性,词频的格式添加到文件中(句首或者句尾都可以)
在这里插入图片描述

3.将字典的同名bin文件删除掉
执行文件时读取的是bin文件,必须删掉后等下次执行时重新生成,新字典才发挥作用

在这里插入图片描述

4.使用新字典重新执行文件
执行时会遇到没有相关bin文件的提示,不过放心,程序会自动生成一个新的bin文件,骚等片刻,就好了。

在这里插入图片描述

验证结果是否正确

在这里插入图片描述

二,在jieba词典中添加未登录词
先来看看没添加登录词的效果

在这里插入图片描述

好我们需要开始添加未登录词了

1.新建一个dict.txt文件,将未登录词直接添加到txt文件中
在这里插入图片描述

2.加载dict.txt文件
这个过程有一步要动态调整词频,因为词典默认是从词频较高的词开始匹配,调整未登录词的词频靠前,这样可以优先匹配

#-- coding=utf8 --
import jieba
import re
#将添加有未登录词的词典加载进来
jieba.load_userdict(“D:\hnlp\hanlp_code\dict.txt”)

#动态调整词频,让未登录词的词频自动靠前,这样可以优先匹配
[jieba.suggest_freq(line.strip(), tune=True) for line in open(“dict.txt”,‘r’,encoding=‘utf8’)]

string=“TNM分期不太能明确地区分 ,以及辅助治疗(氟尿嘧啶单药或联合奥沙利铂)”

words=jieba.cut(string,HMM=False)
print(’/’.join(words))
3.验证分词是否有效

在这里插入图片描述

哦,好的,就是这样!完美!

文章来源于小鱼儿的博客

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值