千家论坛_弱电智能化技术与工程讨论(建筑智能,家居智能,人工智能)

人工智能
收藏本版 (4) |订阅

人工智能 今日: 2830 |主题: 1072|排名: 24 

发新帖

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

[复制链接]
hadoop小学生 发布于: 2019-1-27 10:23 225 次浏览 0 位用户参与讨论
跳转到指定楼层

过程分析
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, 功能
  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, 功能
     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, 功能
    9
10  */  

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆 千家通行证登陆

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆 千家通行证登陆

本版积分规则

千家智客微信号
千家智客微信
玩物说商城
玩物说商城