专栏首页hadoop学习笔记自然语言处理工具hanlp自定义词汇添加图解
原创

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

过程分析

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词性的新词

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

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Magicodes.WeiChat——缓存管理

    本框架支持缓存管理,内部机制使用开源库CacheManager。支持全局缓存、租户缓存,默认使用的系统缓存实现,可以在Web.config将其配置为其他缓存类型...

    雪雁-心莱科技
  • 我是怎么从30个并发平均每个2000毫秒 到 300个并发平均每个178毫秒的

    最近一个多月一直在做服务器的性能优化,老大的要求是要做到300个并发,控制在200毫秒以内,就说说我最近做的内容吧。 从30个并发平均每个2000毫秒 到 3...

    Python疯子
  • 如何加倍提升 Elasticsearch 查询性能

    我们在使用Elasticsearch进行查询的过程中发现,如果查询时间跨度大,查询数据集比较庞大,即使只是返回少量的结果,查询耗时仍然比较长。我们通过分析pro...

    腾讯云时序数据库团队
  • nodeEE双写与分布式事务要点一二

    业务中为了减少热点数据不必要的db查询,往往会增加一层缓存来解决I/O性能。可是I/O多了一层也就多了一层的更新维护与容错保障,当修改db中某些数据时,往往会面...

    欲休
  • Python缓存神奇库cacheout全解,优于内存的性能

    PyPI(下载链接): https://pypi.python.org/pypi/cacheout/

    Python疯子
  • 爱奇艺的Java缓存之路,你应该知道的缓存进化史!

    本文是上周去技术沙龙听了一下爱奇艺的Java缓存之路有感写出来的。先简单介绍一下爱奇艺的java缓存道路的发展吧。

    Spark学习技巧
  • 想要那种有提示声音的网站吗?我教你怎么做!

    熟悉不能再熟悉的声音了,今天小编就做了这样一个网站的提示新订单的功能,接下来就教你怎么玩转这个小功能!

    思梦php
  • Kali Linux Web渗透测试手册(第二版) - 4.7- 使用Burp Sequencer评估会话标识符的质量

    thr0cyte,Gr33k,花花,MrTools,R1ght0us,7089bAt

    用户1631416
  • 既生 Redis 何生 LevelDB ?

    了解 Redis 的同学都知道它是一个纯内存的数据库,凭借优秀的并发和易用性打下了互联网项的半壁江山。Redis 之所以高性能是因为它的纯内存访问特性,而这也成...

    老钱
  • linux Page cache和buffer cache正解

    Page cache和buffer cache一直以来是两个比较容易混淆的概念,在网上也有很多人在争辩和猜想这两个cache到底有什么区别,讨论到最后也一直没有...

    233333

扫码关注云+社区

领取腾讯云代金券