`

hanlp 加载远程词库示例

 
阅读更多

<div class="iteye-blog-content-contain" style="font-size: 14px"></div>

 说明

·目前的实现方式是以远程词库的内容重新构建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

分享到:
评论

相关推荐

    SynonymWord.txt

    23万字【超级丰富同义词库】同义词库,可用各个领域,es同义词库,hanlp同义词库 比如: Aa01A01= 人 士 人物 人士 人氏 人选 Aa01A02= 人类 生人 全人类 Aa01A03= 人手 人员 人口 人丁 口 食指 Aa01A04= 劳力 劳动...

    Elasticsearch7.10.0集成IK相关性同义词改源码实现MySql5.7.2实现远程动态同义词词库实时更新.pdf

    IK分词器是ES中常用的中文分词插件,通过集成IK分词器并对其进行源码修改,可以实现从远程数据库MySql5.7.2动态更新同义词词库,并实现实时同步。 ### Elasticsearch集成IK分词器 集成IK分词器是通过在Elastic...

    Ikanalyzer分词器动态自定义词库的方法.doc

    Configuration类是IKAnalyzer的核心配置类,负责加载和管理词库配置。通过继承DefaultConfig.java,开发者可以创建自己的自定义配置类,例如MyConfiguration.java。 MyConfiguration类中,首先定义了分词器默认字典...

    Java中通过HanLP实现文本分词、提取关键词、聚类(工具资源+实例)

    HanLP是由一系列模型与算法组成的工具包,目标是普及自然语言处理在生产环境中的应用。HanLP具备功能完善、性能高效、架构清晰、语料时新、可自定义的特点;提供词法分析(中文分词、词性标注、命名实体识别)、句法...

    基于ik动态词库分词实现--无需重启服务

    3. **动态加载词库**:在IK Analyzer初始化时,加载词库文件。通过`org.wltea.analyzer.core.IKSegmenter`类的`setDictLoader`方法,传入一个实现了`DictLoader`接口的类实例,用于加载词库。 4. **监听词库文件**...

    HanLP实现文本分词、提取关键词、聚类(工具资源+实例)

    HanLP是由一系列模型与算法组成的工具包,目标是普及自然语言处理在生产环境中的应用。HanLP具备功能完善、性能高效、架构清晰、语料时新、可自定义的特点;提供词法分析(中文分词、词性标注、命名实体识别)、句法...

    自然语言处理分词_同义词库、反义词库、否定词库否定词库.txt

    在给定的文件内容中,我们看到的是一个具体的否定词库示例。文件中的每一行代表了一个否定词及其在词库中的编号。否定词包括了单独的否定字,比如“非”、“不”、“没”,也包括了由否定字与其它字或词组成的词组,...

    搜狗词库txt版

    搜狗词库TXT版是搜狗输入法提供的一种词库格式,主要应用于电脑、手机以及其他输入法的导入,旨在丰富用户的词汇量,提高输入效率。本文将深入解析搜狗词库TXT版的结构与功能,以及如何利用它来优化个人输入体验。 ...

    非常齐全的txt词库下载,包含各种编程所需词库

    本资源提供的是一个非常全面的txt词库下载包,专为编程人员设计,包含了多个不同类型的词库,包括搜狗四十万词库、JE分词词库、噪音词库、填充词库和数字词库。下面将详细介绍这些词库及其用途。 1. **搜狗四十万...

    中文分词词库大全词库

    ### 中文分词词库大全词库解析 #### 标题与描述概述 标题:“中文分词词库大全词库” 描述重复强调了一个词典的来源及其格式(TXT)。这表明该词库是为了中文自然语言处理(NLP)任务中的分词而准备的资源。中文...

    最全中文停用词库.txt

    1. **加载停用词库**:将停用词库文件读入内存,通常采用列表存储。 2. **分词处理**:对输入文本进行分词处理,得到单词列表。 3. **过滤停用词**:遍历单词列表,对比停用词库,剔除停用词。 4. **文本处理**:对...

    极点五笔词库大集合

    6. 选择你想要使用的词库,如“海峰9.5 86版”或“昱琼98版”,点击确认,词库就会被加载并生效。 通过更换不同的词库,用户可以根据个人喜好和工作需求来定制输入法,使得五笔输入更加符合个人习惯,提高打字速度...

    搜索引擎分词组件C#源码+示例+词库

    在这个场景中,我们有一个C#实现的搜索引擎分词组件,包括源代码、示例以及词库资源,这为开发者提供了一个直观的学习和应用平台。 分词是将连续的文本序列切分成有意义的词语单位的过程,这是中文信息处理的预处理...

    txt格式的词库

    对于大型词库,可以使用迭代器来避免一次性加载整个文件到内存中,从而节省资源。 为了更有效地利用txt词库,编程人员可能会进行以下操作: 1. **分词**:将连续的文本字符串拆分为单独的词语。 2. **去重**:去除...

    晨风qq机器人词库词库

    《晨风QQ机器人词库详解》 在信息技术领域,聊天机器人是人工智能的一种表现形式,它们通过模拟人类对话来提供服务。晨风QQ机器人是一款在QQ平台上运行的智能聊天机器人,其核心之一就是词库,这个词库是机器人的...

    分词词库_中文分词词库最新整理(TXT格式)

    ### 分词词库_中文分词词库最新整理(TXT格式) #### 知识点概述 本文档将根据提供的文件信息“分词词库_中文分词词库最新整理(TXT格式)”来生成相关知识点。该文件主要包含了中文分词词库的内容,通过分析这些...

    自然语言处理分词_中文分词词库整理词库下载地址.txt

    解压和加载之后,这些词库就可以被应用到分词系统中,帮助提高分词的准确性和效率。 第二个地址是: *** 从这个地址可以看出,它是一个在线下载的页面或者是一个下载工具的官方网站。用户通过访问这个链接,可能...

    rime小狼毫输入法,自己收集贴吧最新词库

    4. **部署词库**:重新启动小狼毫输入法,系统会自动加载新的词库。若未能自动加载,可能需要手动在设置中进行配置。 5. **测试与调整**:使用新词库进行一段时间的输入,观察候选词是否符合预期,如果需要,可以...

    QQ五笔词库 86版 98版 新世纪版词库.txt

    #### 四、词库内容示例解读 下面我们将通过几个具体的词条来详细了解QQ五笔词库的内容及特点: - **a a a a a f**:此词条表示当用户输入“aaaaa”时,可以快速选择或输入字符“f”。这通常用于快速输入标点符号或...

    mlcsseg, solr分词器大补贴, 包括IK ANSJ、过滤器,动态加载词库.zip

    本文将深入探讨"mlcsseg"项目,它是一个针对Solr的开源分词器解决方案,其中包括了IK分词器和ANSJ分词器,以及各种过滤器和动态加载词库功能。以下是对这些知识点的详细说明: 1. **Solr分词器**:Solr是Apache ...

Global site tag (gtag.js) - Google Analytics