本文是整理了部分网友在配置hanlp自定义词典时遇到的一小部分问题,同时针对这些问题,也提供另一些解决的方案以及思路。这里分享给大家学习参考。

要使用hanlp加载自定义词典可以通过修改配置文件hanlp.properties来实现。

要注意的点是:

  1.root根路径的配置:

    hanlp.properties中配置如下:

      #本配置文件中的路径的根目录,根目录+其他路径=完整路径(支持相对路径)

      #Windows用户请注意,路径分隔符统一使用/

     root=D:/Project/public_sentiment_monitor/plugin/hanlp1.6.8/

  2.自定义词典路径的配置,配置文件中已经指明了相应的用法。

    hanlp.properties中配置如下:

      #自定义词典路径,用;隔开多个自定义词典,空格开头表示在同一个目录,使用“文件名 词性”形式则表示这个词典的词性默认是该词性。优先级递减。

      #所有词典统一使用UTF-8编码,每一行代表一个单词,格式遵从[单词] [词性A] [A的频次] [词性B] [B的频次] ... 如果不填词性则表示采用词典的默认词性。

    CustomDictionaryPath=data/dictionary/custom/hanlp_custom.txt; 搜狗金融词库.txt n; CustomDictionary.txt; 现代汉语补充词库.txt; 全国地名大全.txt ns; 人名词典.txt

  3.配置文件做好以后,自定义词典不起作用问题

    (1). 需要先删除custom文件夹下的所有bin文件,然后再使用hanlp,hanlp会自动加载一个新的bin文件,自定义词典就可以使用了。

貌似加载出的bin文件只有CustomDictionaryPath这一行配置中的第一个文件对应的bin,但是内容应该是将所有的自定义词典都包含了的。

    (2). 如果自定义词典txt文件中存在含有空格的词, 比如说"16 金立债 nz 100"这种配置,回导致自定义词典加载程序将"16"认为是词,"金立债"认为是词性,"nz"认为是词频,然后出现Java报错:

      java.lang.NumberFormatException: For input string: "nz"

      虽然仍然生成了bin文件,但是实际上自定义词典中的所有词都是无法使用的。所以在生成自定义词典txt文件的过程中,一定要注意词中是否含有空格,是否符合"词 词性 词频"的格式。

    (3)如何将含有空格的词加入自定义词典中:

      CustomDictionary = JClass('com.hankcs.hanlp.dictionary.CustomDictionary')

      CustomDictionary.add('攻城 狮')

原文链接:https://www.cnblogs.com/hufulinblog/p/10025933.html

Hanlp配置自定义词典遇到的问题与解决方法的更多相关文章

  1. 在使用Hanlp配置自定义词典时遇到的问题

    要使用hanlp加载自定义词典可以通过修改配置文件hanlp.properties来实现.要注意的点是: 1. root根路径的配置: hanlp.properties中配置如下: #本配置文件中的路 ...

  2. IK-Analyzer(5.3.1)动态配置自定义词典

    参考文献:http://blog.csdn.net/fatpanda/article/details/37911079 jar包: IK-Analyzer-extra-5.3.1.jar IKAnal ...

  3. HanLP的自定义词典使用方式与注意事项介绍

    [环境]python 2.7 方法一:使用pyhanlp,具体方法如下: pip install pyhanlp  # 安装pyhanlp 进入python安装包路径,如 /usr/lib/pytho ...

  4. 【Azure 应用服务】App Service中,为Java应用配置自定义错误页面,禁用DELETE, PUT方法

    问题定义 使用Azure应用服务(App Service),部署Java应用,使用Tomcat容器,如何自定义错误页面呢?同时禁用DELETE, PUT方法 解决办法 如何自定义错误页面呢?需要在 J ...

  5. php 扩展 suhosin 配置不当引发的报错及其解决方法

    1. /var/log/messages 频繁报错: Jul :: localhost suhosin[]: ALERT - script tried to increase memory_limit ...

  6. hanlp使用自定义词典抽取关键词

    1.在data/dictionary/custom/路径下新建文件 myDict.txt.,添加新的单词,单词,词性,词频.并删除当前文件夹下的bin文件, 2.在hanlp配置文件中的CustomD ...

  7. SQL Server 2008 安装过程中遇到“性能计数器注册表配置单元一致性”检查失败 问题的解决方法

    操作步骤: 1. 在 Microsoft Windows 2003 或 Windows XP 桌面上,依次单击"开始"."运行",然后在"打开&quo ...

  8. yii2.0高级框架配置时打开init.bat秒退的解决方法 (两种方法)

    第一种: 这几天刚接触到yii2.0框架,在配置advanced版本时运行init.bat初始化文件时老是闪退: 用cmd运行该文件时显示:The OpenSSL PHP extension is r ...

  9. ubuntu 使用sudo apt-get update 出现 被配置多次导致无法升级错误解决方法

    这个周六周末在考虑升级自己GPU开发机,在琢磨使用docker来配置tensorflowGPU环境,在升级软件的时候爆出了如下错误 在 /etc/apt/sources.list.d/sogoupin ...

随机推荐

  1. [Linux]ubuntu16.04 nginx彻底删除与重新安装

    nginx彻底删除与重新安装 查看nginx正在运行的进程,如果有就kill掉 sudo netstat -ntlp | grep nginx sudo kill -9 进程id 删除nginx,pu ...

  2. UBUNTU 15.10 CAFFE安装教程(测试可用)

    转帖:https://github.com/BVLC/caffe/wiki/Ubuntu-15.10-Installation-Guide Ubuntu 15.10 have been release ...

  3. java中jsp的EL的定义以及使用

    1.定义: EL(Expression Language) 是为了使JSP写起来更加简单.表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方 ...

  4. 标准库函数gets()和puts()

    问题: 用标准库函数gets()和puts()实现字符串的输入输出.函数gets()用于从键盘读入一个字符串(包括空格符).它仅以回车符作为分隔符.函数gets()中的参数应是一个已存储字符串的字符数 ...

  5. git 撤销修改和版本回退

    1. 工作区 文件只是在工作区进行了修改,还没有提交到暂存区(未进行 git  add 操作) 此时可以使用  git  checkout  --  filename  撤销工作区文件的修改 效果相当 ...

  6. 浏览器缓存及vw和vh的使用

    在浏览器缓存中不仅有 cookie 还有了别的选择 Storage 浏览器又分了两种缓存:sessionStorage localStorage localStorage 缓存:是一种永久的缓存,也就 ...

  7. Java-GC 垃圾收集算法

    程序计数器.虚拟机栈.本地方法栈随线程而生,随线程而灭. 栈帧随着方法的开始而入栈,随着方法的结束而出栈. 这几个区域的内存分配和回收都具有确定性,在这几个区域内不需要过多考虑回收的问题,因为方法结束 ...

  8. leetcode-hard-array- 227. Basic Calculator II

    mycode  29.58% class Solution(object): def calculate(self, s): """ :type s: str :rtyp ...

  9. anroid学习笔记(1)

    大概是2个月前,报名了慕课的android就业班课程. 算是补全了当初博客分类的最初设计. 安卓和前端比较: 1,java在安卓开发中的作用,现在我的认识是和JavaScript在前端web开发中有很 ...

  10. 手把手教你 iOS通过自己的服务器实现应用分发

    第一步:打包ipa 1:可以是development.ad-hoc.enterprise任何一种打包方式,导出的ipa, 稍后会将安装包上传到服务器上. 2:如下图,箭头指的要打勾 3.点击下一步后出 ...