论坛
门户
内部优惠
喜欢
话题
VIP会员
搜索
新浪微博
登录
注册
100%
100%
首页
>
网络技术
>
网络技术
>
hanlp 加载远程词库示例
回复
« 返回列表
hadoop小学生
精灵王
注册日期
2018-09-13
发帖数
160
QQ
3234520070
火币
360枚
粉丝
0
关注
0
加关注
写私信
打招呼
阅读:
5068
回复:
0
hanlp 加载远程词库示例
楼主
#
更多
只看楼主
倒序阅读
发布于:2019-04-26 11:12
保存
100%
100%
[]
1
说明
·
目前的实现方式是以远程词库的内容重新构建
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
喜欢
0
评分
0
最新喜欢:
DKHadoop用着还不错!
回复
100%
发帖
回复
« 返回列表
普通帖
您需要登录后才可以回帖,
登录
或者
注册
100%
返回顶部
关闭
最新喜欢