HanLP分词+用户自定义词典

本文详细介绍了在HanLP中如何使用和管理自定义词典,包括添加、删除词典及其影响,以及实验过程,展示了自定义词典在分词效果上的提升。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前面谈到分词:
HanLP安装与使用-python版和java版
pynlpir中文分词+加载用户自定义词典

我比较喜欢用HanLP,它的粒度刚刚好。 pynlpir太细了,词全切开了。

1. 分词重要性

在这里插入图片描述
在这里插入图片描述
分错了可不好搞。

2. 词典说明

用户自定义词典 第8点。 - 1.x

2.1 CustomDictionary

  • CustomDictionary 是一份全局的用户自定义词典,可以随时增删,影响全部分词器。
  • 另外可以在任何分词器中关闭它。通过代码动态增删不会保存到词典文件
  • 中文分词≠词典,词典无法解决中文分词,Segment提供高低优先级应对不同场景,可参考 为什么修改了词典还是没有效果? - FAQ
  • 代码动态添加词典方法:demo_custom_dictionary.py - github

2.2 追加词典

  • CustomDictionary主词典文本路径是data/dictionary/custom/CustomDictionary.txt,用户可以在此增加自己的词语(不推荐)
    我的文件位置是C:\Users\ASUS\Anaconda3\Lib\site-packages\pyhanlp\static\data\dictionary\custom,如图:
    在这里插入图片描述
  • 也可以单独新建一个文本文件,通过配置文件CustomDictionaryPath=data/dictionary/custom/CustomDictionary.txt; 我的词典.txt;来追加词典(推荐)。
  • 始终建议将相同词性的词语放到同一个词典文件里,便于维护和分享。

2.3 词典格式

  • 每一行代表一个单词,格式遵从[单词] [词性A] [A的频次] [词性B] [B的频次] ...如果不填词性则表示采用词典的默认词性。
  • 词典的默认词性默认是名词n,可以通过配置文件修改:全国地名大全.txt ns; 如果词典路径后面空格紧接着词性,则该词典默认是该词性。
  • 在统计分词中,并不保证自定义词典中的词一定被切分出来。用户可在理解后果的情况下通过Segment#enableCustomDictionaryForcing强制生效。
  • 关于用户词典的更多信息请参考词典说明一章。 词典说明 - 词典说明

字典样例:

万死 a 2 v 1
三冬 n 1
三天两头儿 nz 1
三星堆遗址 n 1
三键 a 1 n 1
上口字 n 1

所有词典统一使用UTF-8编码

2.4 添加词典

参考:hanlp用户自定义词典添加

  1. 打开C:\Users\ASUS\Anaconda3\Lib\site-packages\pyhanlp\static\hanlp.properties 文件,找到第20~21行:

    #另外data/dictionary/custom/CustomDictionary.txt是个高质量的词库,请不要删除。所有词典统一使用UTF-8编码。
    CustomDictionaryPath=data/dictionary/custom/CustomDictionary.txt; 现代汉语补充词库.txt; 全国地名大全.txt ns; 人名词典.txt; 机构名词典.txt; 上海地名.txt ns;data/dictionary/person/nrf
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值