基于hanlp的es分词插件

简介: 摘要:elasticsearch是使用比较广泛的分布式搜索引擎,es提供了一个的单字分词工具,还有一个分词插件ik使用比较广泛,hanlp是一个自然语言处理包,能更好的根据上下文的语义,人名,地名,组织机构名等来切分词Elasticsearch默认分词 输出: IK分词 输出: hanlp...

摘要:elasticsearch是使用比较广泛的分布式搜索引擎,es提供了一个的单字分词工具,还有一个分词插件ik使用比较广泛,hanlp是一个自然语言处理包,能更好的根据上下文的语义,人名,地名,组织机构名等来切分词
Elasticsearch
默认分词
_1

输出:
_2

IK分词
_3

输出:
_4

hanlp分词
_5

输出:
_6

ik分词没有根据句子的含义来分词,hanlp能根据语义正确的切分出词
安装步骤:
1、进入https://github.com/pengcong90/elasticsearch-analysis-hanlp,下载插件并解压到es的plugins目录下,修改analysis-hanlp目录下的hanlp.properties文件,修改root的属性,值为analysis-hanlp下的data
目录的地址
2、修改es config目录下的jvm.options文件,最后一行添加
-Djava.security.policy=../plugins/analysis-hanlp/plugin-security.policy

重启es
GET /_analyze?analyzer=hanlp-index&pretty=true
{
“text”:”张柏芝士蛋糕店”
}
测试是否安装成功
analyzer有hanlp-index(索引模式)和hanlp-smart(智能模式)
自定义词典
修改plugins/analysis-hanlp/data/dictionary/custom下的 我的词典.txt文件
格式遵从[单词] [词性A] [A的频次]
修改完后删除同目录下的CustomDictionary.txt.bin文件

重启es服务

相关文章
|
存储 自然语言处理 索引
ES分词器使用说明(analyzer)
本文章主要介绍了分词器的配置方法,以及分词器的优先级,同时配置了多个维度的分词器,哪一个分词器会生效,当出现分词结果不符合预期的时候,可以通过这个本文档内容进行梳理和排查。
2172 0
|
10月前
|
自然语言处理 Shell 索引
【ES系列七】——ik自定义分词词库
在利用ik分词的过程中,当ik的分词规则不满足我们的需求了,这个时候就可以利用ik的自定义词库进行筛选,举个例子:当我要将“我是中国人,我想测试一下”这句话通过分词,将“我想测试一下”分为一个词的时候,就需要利用ik的自定义词库进行灌入指定的词。
【ES系列七】——ik自定义分词词库
|
11月前
|
机器学习/深度学习 自然语言处理 算法
ES中的中文分词技术,很牛逼!
ES中的中文分词技术,很牛逼!
218 0
ES中的中文分词技术,很牛逼!
|
12月前
|
自然语言处理 索引
白话Elasticsearch29-IK中文分词之IK分词器配置文件+自定义词库
白话Elasticsearch29-IK中文分词之IK分词器配置文件+自定义词库
259 0
|
自然语言处理 Java 开发工具
ES上传自编译IK分词插件
ES上传自编译IK分词插件
ES上传自编译IK分词插件
|
自然语言处理 Java
IK分词热更新,so easy!
IK分词热更新,so easy!
108 0
IK分词热更新,so easy!
|
监控 Shell 索引
如何安装ES的IK分词器插件?
如何安装ES的IK分词器插件?
287 0
|
人工智能 自然语言处理 算法
es实战-使用IK分词器进行词频统计
通过IK分词器分词并生成词云
1180 0
es实战-使用IK分词器进行词频统计
|
自然语言处理 索引
ES7学习笔记(七)IK中文分词器
在上一节中,我们给大家介绍了ES的分析器,我相信大家对ES的全文搜索已经有了深刻的印象。分析器包含3个部分:字符过滤器、分词器、分词过滤器。在上一节的例子,大家发现了,都是英文的例子,是吧?因为ES是外国人写的嘛,中国如果要在这方面赶上来,还是需要屏幕前的小伙伴们的~ 英文呢,我们可以按照空格将一句话、一篇文章进行分词,然后对分词进行过滤,最后留下有意义的词。
2125 0
|
自然语言处理
Ansj与hanlp分词工具对比
一、Ansj1、利用DicAnalysis可以自定义词库: 2、但是自定义词库存在局限性,导致有些情况无效:比如:“不好用“的正常分词结果:“不好,用”。 (1)当自定义词库”好用“时,词库无效,分词结果不变。
1070 0