自然语言处理工具hanlp自定义词汇添加图解

简介: 过程分析1.添加新词需要确定无缓存文件,否则无法使用成功,因为词典会优先加载缓存文件2.再确认缓存文件不在时,打开本地词典按照格式添加自定义词汇。3.调用分词函数重新生成缓存文件,这时会报一个找不到缓存文件的异常,不用管,因为加载词典进入内存是会优先加载缓存,缓存不在当然会报异常,然后加载词典生成缓存文件,最后处理字符进行分词就会发现新添加的词汇可以进行分词了。

过程分析

1.添加新词需要确定无缓存文件,否则无法使用成功,因为词典会优先加载缓存文件

2.再确认缓存文件不在时,打开本地词典按照格式添加自定义词汇。

3.调用分词函数重新生成缓存文件,这时会报一个找不到缓存文件的异常,不用管,因为加载词典进入内存是会优先加载缓存,缓存不在当然会报异常,然后加载词典生成缓存文件,最后处理字符进行分词就会发现新添加的词汇可以进行分词了。

操作过程图解:

1有缓存文件的情况下:

1  System.out.println(HanLP.segment("张三丰在一起我也不知道你好一个心眼儿啊,一半天欢迎使用HanLP汉语处理包!" +"接下来请从其他Demo中体验HanLP丰富的功能~"))

  2

3  //首次编译运行时,HanLP会自动构建词典缓存,请稍候……

4  //[/q, 三丰/nz, /p, 一起/s, /rr, /d, /d, 知道/v, 你好/vl, 一个心眼儿/nz, /y, /w, 一半天/nz, 欢迎/v, 使用/v, HanLP/nx, 汉语/gi, 处理/vn, /v, /w, 接下来/vl, /v, /p, 其他/rzv, Demo/nx, /f, 体验/v, HanLP/nx, 丰富/a, /ude1, 功能/n, ~/nx]

  5

  6

1.  打开用户词典–添加 ‘张三丰在一起’ 为一个 nz词性的新词

 b2a8bc411f472fb3381c06fab3a187da70a4e960

2.2 原始缓存文件下运行–会发现不成功,没有把 ‘张三丰在一起’ 分词一个nz词汇

1  System.out.println(HanLP.segment("张三丰在一起我也不知道你好一个心眼儿啊,一半天欢迎使用HanLP汉语处理包!" +"接下来请从其他Demo中体验HanLP丰富的功能~"))

    2

3  //首次编译运行时,HanLP会自动构建词典缓存,请稍候……

4  //[/q, 三丰/nz, /p, 一起/s, /rr, /d, /d, 知道/v, 你好/vl, 一个心眼儿/nz, /y, /w, 一半天/nz, 欢迎/v, 使用/v, HanLP/nx, 汉语/gi, 处理/vn, /v, /w, 接下来/vl, /v, /p, 其他/rzv, Demo/nx, /f, 体验/v, HanLP/nx, 丰富/a, /ude1, 功能/n, ~/nx]

     5

 

3.1 删除缓存文件 bin

 59059b975bc86de78672044193a82853c9abaa1a

3.2 再次运行程序,此时会报错—无法找到缓存文件

1  System.out.println(HanLP.segment("张三丰在一起我也不知道你好一个心眼儿啊,一半天欢迎使用HanLP汉语处理包!" +"接下来请从其他Demo中体验HanLP丰富的功能~"));

    2

3  /**首次编译运行时,HanLP会自动构建词典缓存,请稍候……

4  十月 19, 2018 6:12:49 下午 com.hankcs.hanlp.corpus.io.IOUtil readBytes

5  WARNING: 读取D:/datacjy/hanlp/data/dictionary/custom/CustomDictionary.txt.bin时发生异常java.io.FileNotFoundException: D:\datacjy\hanlp\data\dictionary\custom\CustomDictionary.txt.bin (系统找不到指定的文件。)   找不到缓存文件

    6

    7

8  [张三丰在一起/nz, /rr, /d, /d, 知道/v, 你好/vl, 一个心眼儿/nz, /y, /w, 一半天/nz, 欢迎/v, 使用/v, HanLP/nx, 汉语/gi, 处理/vn, /v, /w, 接下来/vl, /v, /p, 其他/rzv, Demo/nx, /f, 体验/v, HanLP/nx, 丰富/a, /ude1, 功能/n, ~/nx]

    9

10  */  

 

相关文章
|
9月前
|
机器学习/深度学习 自然语言处理 数据可视化
nlp入门之spaCy工具的使用
本文作为nlp开山篇的第四篇,简要介绍了spaCy工具的用法
|
9月前
|
机器学习/深度学习 数据采集 自然语言处理
nlp入门之nltk工具的使用
本文作为nlp入门开山第三篇,简要的介绍了nltk工具的使用
|
10月前
|
数据采集 人工智能 自然语言处理
用于提取数据的三个开源NLP工具
用于提取数据的三个开源NLP工具
171 0
|
自然语言处理
自然语言处理工具Spacy使用笔记
自然语言处理工具Spacy使用笔记
|
自然语言处理
自然语言处理hanlp------3java调用hanlp
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
自然语言处理hanlp------3java调用hanlp
|
自然语言处理 算法 Java
NLP快速入门:手把手教你用HanLP做中文分词
NLP快速入门:手把手教你用HanLP做中文分词
926 0
NLP快速入门:手把手教你用HanLP做中文分词
|
机器学习/深度学习 人工智能 自然语言处理
谷歌开源最精确自然语言解析器SyntaxNet的深度解读:一次关键进步以及一个重要工具
自然语言理解研究中,如何处理语言歧义是个难题。 SyntaxNet 将神经网络和搜索技术结合起来,在解决歧义问题上取得显著进展:SyntaxNet 能像训练有素的语言学家一样分析简单句法。今天,谷歌开源了SyntaxNet,也发布了针对英语的预训练解析程序 Parsey McParseface。除了让更多人使用到最先进的分析技术之外,这次开源举措也有利于公司借助社区力量加快解决自然语言理解难题的步伐,惠及谷歌业务。
677 0
谷歌开源最精确自然语言解析器SyntaxNet的深度解读:一次关键进步以及一个重要工具
|
数据采集 机器学习/深度学习 存储
NLP任务中的文本预处理步骤、工具和示例
NLP任务中的文本预处理步骤、工具和示例
423 0
NLP任务中的文本预处理步骤、工具和示例
|
机器学习/深度学习 人工智能 自然语言处理
python机器学习入门之自然语言处理(NLP)工具Jieba的使用及解析
python机器学习入门之自然语言处理(NLP)工具Jieba的使用及解析
199 0
python机器学习入门之自然语言处理(NLP)工具Jieba的使用及解析
|
自然语言处理 Shell Linux
安利一个NLP标注工具:brat
brat是一个基于web的文本标注工具,可以对文本进行结构化注释。能够用于NLP中实体、关系、事件的数据标注,使用简单,可扩展性较高,这里简单记录一下安装和使用方法。
1009 0
安利一个NLP标注工具:brat