本文是整理了部分网友在配置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. Https Get Post

    #region Http 访问 public string GetHttpUrl(string Url) { try { HttpWebRequest request = (HttpWebReques ...

  2. 内存拷贝函数 memcpy

    windows下实现: void* __cdecl memcpy(void* dst,const void* src,size_t count) { void*ret=dst; #if defined ...

  3. node链接mongoDB及封装

    // 这个模块中封装所有对数据库的常用操作 const MongoClient = require('mongodb').MongoClient; const assert = require('as ...

  4. Linux网络编程二、tcp连接API

    一.服务端 1.创建套接字: int socket(int domain, int type, int protocol); domain:指定协议族,通常选用AF_INET. type:指定sock ...

  5. Java内存缓存-通过Google Guava创建缓存

    谷歌Guava缓存 Guava介绍 Guava是Google guava中的一个内存缓存模块,用于将数据缓存到JVM内存中.实际项目开发中经常将一些公共或者常用的数据缓存起来方便快速访问. Guava ...

  6. jupyter notebook + MobaXterm Linux端远程部署

    $jupyter notebook --generate-config $python In []: from notebook.auth import passwd In []: passwd() ...

  7. SUSE zypper 本地源配置

    存放repo 文件目录 cd /etc/zypp/repos.d 创建用来存放ISO文件的目录: mkdir /opt/iso 将服务器端的存放ISO文件的目录挂载到本机: mount -t cifs ...

  8. GPS定位RTK解决方案

    GPS差分: 实时差分定位是指在测量点上实时得到高精度的定位结果.这种模式的具体方法是:在一个已知测站上架设GPS基准站接收机和数据电台,连续跟踪所有可见卫星,并通过数据电台向移动站发送差分改正数据. ...

  9. PHP 分页 (分页类)

    分页类  以后可直接使用 /** file: page.class.php 完美分页类 Page */ class Page { private $total; //数据表中总记录数 private ...

  10. 使用 Itext 生成PDF

    一.生成PDF,所需jar包(itext-2.0.8.jar,iTextAsian.jar) 在springboot中只需要引入依赖即可,依赖代码如下: <dependency> < ...