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

 

过程分析java

1.添加新词须要肯定无缓存文件,不然没法使用成功,由于词典会优先加载缓存文件缓存

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

3.调用分词函数从新生成缓存文件,这时会报一个找不到缓存文件的异常,不用管,由于加载词典进入内存是会优先加载缓存,缓存不在固然会报异常,而后加载词典生成缓存文件,最后处理字符进行分词就会发现新添加的词汇能够进行分词了。spa

操做过程图解:blog

一、有缓存文件的状况下:内存

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

  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]im

  5

  6

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

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

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  */  

相关文章
相关标签/搜索