`

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数据字典(1.7.1)

    在使用HanLP时,开发者需要注意的是,虽然预训练模型能处理大多数常见情况,但在特定领域或针对特定语言风格,可能需要自定义或扩展数据字典。这可能涉及到收集领域内专业词汇、调整分词规则或者训练新的模型。对于...

    jieba分词的自定义词典文档 完整版

    jieba分词的自定义词典:使用jieba分词对语料进行分词之前,需要先载入,载入代码为jieba.load_userdict("userdict.txt")。

    基于Spring Boot+hanLP、neo4j、spark-mllib电影知识图谱的简易问答系统源码+项目说明.zip

    1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 3、本资源作为“参考资料”如果需要实现其他功能,...

    金山词霸自动添加自定义词典小工具

    本文将深入探讨如何使用C#编程语言开发一个自动添加自定义词典的小工具,以增强金山词霸的功能。 首先,我们需要理解金山词霸的词典格式。词霸支持扩展词典,这些词典通常是以BIN或者DICT为后缀的二进制文件。这些...

    娱乐休闲明星电影相关自定义词典

    - **娱乐休闲明星电影相关自定义词典**:专门收集了与娱乐、休闲相关的明星姓名、电影名称、电视剧名称等内容的词典。 #### 2. 词典结构与特点 - **规模**:该词典包含约35万个词条,每个词条占据一行,确保了词条...

    电子游戏相关自定义词典

    - **自定义词典**:在自然语言处理领域,特别是在分词任务中,为了提高文本处理的准确性,通常会使用到自定义词典。自定义词典是指根据特定领域的专业词汇或特殊用语建立的一个词汇列表。在电子游戏中,这种词典可以...

    生活百科相关自定义词典

    生活百科相关自定义词典,共67万词,每行一个词,不重复,可以用作用户自定义词典,提高分词准确率

    Word2021中添加自定义词典的方法.docx

    下面将详细介绍Word2021中添加自定义词典的方法。 Step 1: 打开Word2021文档窗口,依次单击“文件”、“选项”按钮,如图1所示。这一步骤将打开Word选项对话框,其中包含了Word软件的各种设置选项。 图1 单击...

    社会科学相关自定义词典

    ### 社会科学相关自定义词典解析 #### 核心知识点概述 本文将基于给定的“社会科学相关自定义词典”中的词条进行详细的知识点解析,涵盖多个领域如军事、经济、医学等,旨在深入理解每个词条背后的含义及其在社会...

    商品评论情感分析之分词工具用户自定义词典

    NLPIR分词工具由中科院开发,其支持用户自定义词典。这是在做商品评论情感分析时整理的2019个自定义词汇。

    HanLP实现文本分词、提取关键词、聚类(工具资源+实例)

    HanLP是由一系列模型与算法组成的工具包,目标是普及自然语言处理在生产环境中的应用。HanLP具备功能完善、性能高效、架构清晰、语料时新、可自定义的特点;提供词法分析(中文分词、词性标注、命名实体识别)、句法...

    在Word2021自定义词典中添加和删除单词.docx

    下面我们将详细介绍如何在 Word 2021 中添加和删除自定义词典中的单词。 一、打开 Word 选项对话框 首先,需要打开 Word 2021 文档窗口,并依次单击“文件”选项卡中的“选项”命令,如图 1 所示。这将打开 Word ...

    word源码java-node-hanlp:用于nodejs的HanLP

    word源码java HanLP v1.5.0 自然语言处理 for nodejs 支持中文分词(N-最短路分词、CRF分词、索引分词、用户自定义词典、词性标注),命名实体识别(中国人名、音译人名、日本人名、地名、...//使用自定义词典 NameRe

    Python-无损转换OpenCC词典为HanLP格式

    而HanLP,全称为“HanLP - 高性能自然语言处理工具包”,是由哈工大知远公司开发的Java库,它在分词、词性标注、命名实体识别等方面表现出色,其词典格式可能与OpenCC不同。 要进行无损转换,我们需要了解两个系统...

    人文科学相关自定义词典

    1. **自然语言处理**:在构建NLP模型时,尤其是针对中文文本的分词任务,使用此词典能够显著提高模型对专有名词、成语典故等特殊表达方式的识别能力。 2. **信息检索**:对于搜索引擎和数据库系统而言,通过集成此类...

    自然科学相关自定义词典

    自然科学相关的一些词,共有34万个不同的词,都是自然科学相关的

    Java中通过HanLP实现文本分词、提取关键词、聚类(工具资源+实例)

    HanLP是由一系列模型与算法组成的工具包,目标是普及自然语言处理在生产环境中的应用。HanLP具备功能完善、性能高效、架构清晰、语料时新、可自定义的特点;提供词法分析(中文分词、词性标注、命名实体识别)、句法...

    农林渔畜相关自定义词典

    ### 农林渔畜相关自定义词典知识点详解 #### 一、自定义词典概述 自定义词典是自然语言处理(NLP)技术中常用的一种工具,它能够帮助计算机更好地理解特定领域的文本信息。在农林渔畜领域,由于涉及的专业词汇众多...

    jieba青春有你2自定义python分词词典

    jieba青春有你2自定义分词词典,青春有你2评论爬取,青春有你2视频饭圈自定义分词词典,jieba分词Python分词词典

    工程应用相关自定义词典

    ### 工程应用相关自定义词典解析 #### 核心知识点概述 本文将基于给定的“工程应用相关自定义词典”进行详细的解析,该词典包含了大量的专业术语和概念,共计46万个词条,涉及多个工程领域。通过这些词条我们可以...

Global site tag (gtag.js) - Google Analytics