HanLP的自定义词典使用方式与注意事项介绍
【环境】python 2.7
方法一:使用pyhanlp,具体方法如下:
pip install pyhanlp # 安装pyhanlp
进入python安装包路径,如
/usr/lib/python2.7/site-packages/pyhanlp/static/
将http://hanlp.properties.in改名为备份文件。
mv hanlp.properties.in hanlp.properties.in.bak
修改hanlp.properties
vim hanlp.properties
将CustomDictionaryPath修改为你自定义的词典路径,如:
CustomDictionaryPath=data/dictionary/custom/self_define_dict.txt; 现代汉语补充词库.txt; 全国地名大全.txt; 人名词典.txt; 机构名词典.txt; 上海地名.txt ns; data/dictionary/person/nrf.txt nrf;
保存。
python脚本,调用pyhanlp示例:
from pyhanlp import *
print HanLP.segment("在你想要放弃的时候,想想是什么让你当初坚持走到了这里。总是有人要赢的,那为什么不能是我")
运行脚本后,系统会检查配置文件hanlp.properties,读取词库的路径,对于自定义词典,第一次会重新生成二进制文件(以后直接用)。
方法二:使用grpc调用hanlp(python调用java包常用手段)
方法三:使用hanlp调用jar包(官方文档有说明),自定义词典没设置成功。
注意事项:
对于词典,直接加载文本会很慢,所以HanLP对于文本文件做了一些预处理,生成了后缀名为.txt.bin的二进制文件。
这些二进制文件相当于缓存,避免了每次加载去读取多个文件。
通过这种txt和bin结合的方式,HanLP一方面方便用户编辑查看词典,另一方面bin方便加载,这种方式可谓是兼二者之长,设计上堪称典范。
打开hanlp的data目录data\dictionary\custom,删除所有的.txt.bin文件,这样一来,HanLP下次加载词典时会自动构建.txt.bin,这样一来,你对文本文件所做的更改才会生效。对于HanLP中的字典,每次更改之后,都必须重新生成bin才可以,否则不会生效。
实际上,这种方式不够智能,可以改进为检查文件日期的方式,如果当前目录下的最新的词典文件比bin文件新,那么bin文件失效,需要重新构建bin。
构建bin的过程是比较缓慢的,它需要把所有的相关文本文件中的词语合并到一个里面,每次构建大概需要2min,构建完成之后下次启动就很快了。
更改hanlp.properties,添加mine.txt.
#自定义词典路径,用;隔开多个自定义词典,空格开头表示在同一个目录,使用“文件名 词性”形式则表示这个词典的词性默认是该词性。优先级递减。
#另外data/dictionary/custom/CustomDictionary.txt是个高质量的词库,请不要删除
CustomDictionaryPath=data/dictionary/custom/mine.txt; CustomDictionary.txt; 现代汉语补充词库.txt; 全国地名大全.txt ns; 人名词典.txt; 机构名词典.txt; 上海地名.txt ns;data/dictionary/person/nrf.txt nrf
在data/dictionary/custom/目录下新建mine.txt,添加一些词语。比如里面加上”兰陵笑笑生“。
随便编一个程序测试一下
List<Term> res = HanLP.segment("兰陵笑笑生笑道:你他娘的真是个天才");
System.out.println(res);//[兰陵笑笑生/nr, 笑/v, 道/q, :/w, 你/r, 他/r, 娘/n, 的/uj, 真/d, 是/v, 个/q, 天才/n]
for (String i : HanLP.Config.CustomDictionaryPath) {
System.out.println(i);
}
HanLP的自定义词典使用方式与注意事项介绍相关推荐
- HanLP的自定义词典使用方式与注意事项介绍 1
[环境]python 2.7 方法一:使用pyhanlp,具体方法如下: pip install pyhanlp # 安装pyhanlp 进入python安装包路径,如 /usr/lib/pytho ...
- Hanlp中自定义词典的配置、引用以及问题解决
文章目录 如何阅读本文? Hanlp用户自定义词典引用简介 操作步骤 环境创建 编辑词典文件 将用户自定义词典路径加入配置文件 删除缓存文件 如何阅读本文? 首先我们对Hanlp用户词典进行简介,推荐 ...
- 基于JAVA词典设计碰到的问题,Hanlp配置自定义词典遇到的问题与解决方法
本文是整理了部分网友在配置hanlp自定义词典时遇到的一小部分问题,同时针对这些问题,也提供另一些解决的方案以及思路.这里分享给大家学习参考. 要使用hanlp加载自定义词典可以通过修改配置文件han ...
- Hanlp配置自定义词典遇到的问题与解决方法
本文是整理了部分网友在配置hanlp自定义词典时遇到的一小部分问题,同时针对这些问题,也提供另一些解决的方案以及思路.这里分享给大家学习参考. 要使用hanlp加载自定义词典可以通过修改配置文件han ...
- 在使用Hanlp配置自定义词典时遇到的问题
文章目录 前言 正事 前言 Hanlp是很好用的分词,下文描述了的比较好(是转载) 文末BAT面试题 正事 要使用hanlp加载自定义词典可以通过修改配置文件hanlp.properties来实现. ...
- HanLP自定义词典注意事项
对于词典,直接加载文本会很慢,所以HanLP对于文本文件做了一些预处理,生成了后缀名为.txt.bin的二进制文件. 这些二进制文件相当于缓存,避免了每次加载去读取多个文件. 通过这种txt和bin结 ...
- 与自定义词典 分词_如何掌握分词技术,你需要学会这些
导语 本周对自然语言处理的分词技术进行了学习.本文针对分词技术的进行了全视角的概览,目标是掌握什么是分词技术.为什么需要分词技术和如何使用分词技术.后续将分不同篇幅对其中内容进行深挖和讲解. 文章结构 ...
- HanLP分词+用户自定义词典
文章目录 1. 分词重要性 2. 词典说明 2.1 CustomDictionary 2.2 追加词典 2.3 词典格式 2.4 添加词典 3. 实验 3.1 未添加词典 3.2 加入词典后 4 其他 ...
- jieba分词自定义词典
从语料库down下来的词频表,结合业务实际分词进行调优,添加云计算(jieba无法准确划分该词)等词及词频,down的文件格式使用python的文件读写进行调整: with open(file='./ ...
最新文章
- linux安装语言总是waiting,node的serialport在arm的Linux安装血泪史之我太难了
- Android Volley 库通过网络获取 JSON 数据
- Android更换RatingBar图片 参考-Pretty RatingBar
- netcat nc端口监听 反向连接中断问题
- php语言smtp类,php mailer类调用远程SMTP服务器发送邮件实现方法
- 算法设计与分析男女匹配问题C语言,C语言解决新郎和新娘配对问题代码解析
- OpenCV 图像旋转
- 自2018年以来我不知道的事情-Dan Abramov
- 刷抖音对手机有什么要求_6频段全面5G手机 nova6 5G成新年换机最佳之选
- javascript/jquery获取图片的原始大小
- 虚拟dom添加虚拟dom_虚拟DOM缓慢。 认识记忆化的DOM
- [html] 如何设置打印尺寸?
- php.ini 老薛,出现Allowed memory size of 134217728 bytes exhausted怎么办?
- Trie树(字典树)详细知识点及其应用
- React Portals的使用
- 寿险的精算现值(EPV)
- 开源硬件_如何参与开源硬件协会
- iPhone 13与12对比图曝光:更厚、更大了
- 使用weui滚动加载结合php实现分类页数据列表
- 海康摄像头SDK跨平台通用解决方案
热门文章
- AAA Password Expiry in Cisco IOS Easy***
- gridview 默认编辑按钮改成图片
- [C++]Qt 如何处理密集型耗时的事情(频繁调用QApplication::processEvents)
- SQL Server-聚焦LEFT JOIN...IS NULL AND NOT EXISTS性能分析(十七)
- git 分支的创建和切换
- Linux 多线程可重入函数
- PostgreSQL代码分析,查询优化部分,canonicalize_qual
- 我就随便写写,你也随便看看。
- 杭电 hdu 2019
- 【Marva Collins' Way】第三章