自定义词库|学习笔记

简介: 快速学习自定义词库。

开发者学堂课程【ElasticSearch 最新快速入门教程自定义词库】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/642/detail/10668


自定义词库

 

内容简介:

1. 中文分词Ik分词器,自定义词库

2. ES Rest_通过 REST 概述

3.ES REST 通过 REST 请求 URI 以及 ES Rest 通过 REST 的一个请求体

 

自定义词库,在 plugins config 目录下有一个 page 文件叫作:IKAnalyzer.cuff.xml

可以确认一下位置:

image.png

cd~/es/plugins 下面有一个 analysis-ik,这里有个 cd config,config 目录下就一个  IKAnalyzer.cuff.xml

image.png

IK Analyzer 这里面配置自定义的一个扩展,用户也可以在这里面配置自己的一个扩展或者停止置顶,可以在里面配置一个远程的扩展置顶前置的一个词典

exstopword.dic,可以修改一下这里可以一个指定,

比如 custom/mydict.dic 或者 single_word_low_freq.exit 

exit 可以指定一下打开 custom 文件夹然后编辑文件“不明觉厉”,然后再重新启动 es,重新打开文档下列搜索可以查询结果

演示一下,查询一下“不明觉厉”

下面也尝试一下:

su-l root 123然后下面 cd/opt ,home/jerry/es/plugins

cd analysis-ik/

进来之后 cd config,然后后面有一个 custom/mydict.dic.

这里面有个 customer/mydic.dic

dicry/es/plugins

cd anylysis-ikIKAnalyzer.cig.xml,ik

扩展或者扩展自定义的一个字典,可以尝试一下 :

这里面是一个 custom 下面有个 mydict.dic ,完了之后编辑一下,比如说查询一下“不明觉厉”能不能查询出来,没有改之前不明觉厉”能不能去查询出来。

比如说: 

analyzer 后面写一下 ik smart “text” 不明觉厉,提交请求,并没有识别出“不明觉厉”是个一个词

image.png

有“如痴如醉”再往下看一次识别方法

可以mkdir 有个 customer ,

cd ,mv/customer/customer

然后在这个 customer,

cd customer

vim mydic.dic  

不明觉厉

完了之后进行重启:

先 pf,jps 一下

customer 跨节点考核一下,scp-r 先停止把 es 继续停止 pkill-f 有一个 Elasticsearch 然后查询一下,jps,跨节点拷贝然后查询一下,jps

跨节点拷贝

scp-r 有一个 config/ root 把它拷贝到 janson02opt home/jerry/es/plugins/

后面有个 analysis-ik再拷贝到03上,

这里看下 cd/root/jerry,home/jerry/es/plugins cd ik ,cd config

加一个customer

有了之后再次 su-l jerry,然后 es/bin/elasticsearch -d 现在 jps  一下,进来之后再慢慢尝试一下,看看不明觉厉现在能不能查询得到请求可以刷新一下点击F5刷新,看一下在 jps 查询一下,显示存在,继续F5一下,红色的,黄色的

image.png

完全启动慢慢的起来了,再查询一下“不明觉厉”,显示请求,请求中…,有一个“不明”,“觉”,“厉”,“天”,“团”,“昨”,“在”,“昨在”,“露天”,“3人”,“演唱会”,“让”,“听得”,“如痴如醉”比如说这里有个 IK smart 下面可以选一种方案叫做  ik_max_word,出现的是“如痴如醉”,下面自定义的“不明觉厉”就进去了,

点击提交请求就进去了,定义的时候要注意把这个参数根据官方的说明需要一定的配置,自己定义汇报出来扩展的词典,

需要在 opt,es 下面有个 config,config 下面 analysis-ik 然后在这里面还需要配一下 customer mydic

mydiction,说明需要配置一下,然后在 IK,除了这里面要定义下

还有 plug-in

这两点需要注意后就可以了,此外还需要把 IK elastic 设计服务停了,停了之后定义完成的,这里暂时定义了一个自己的

如果使用了远程的方式 location remote_ext_stopwords ,其中 location 是一个 url,比如 http://yoursite.com/getCustomDict,该请求只能满足以下两点即可完成分词热更新。

这里是IK自定义的一个中文分词插件,中文分词词库。

需要注意

两个地方都需要配置,一个是 jerry,一个是 plugins 这个目录下,此外在外面 config 这个目录下,也得配置,customers 下也得配置才有用。

就会有这个效果,就是“不明觉厉”提交申请,自定义词典的内容综上所

相关文章
|
机器学习/深度学习 存储 自然语言处理
Jieba分词模式详解、词库的添加与删除、自定义词库失败的处理
Jieba(结巴)是一个中文分词第三方库,它可以帮助我们将一段中文文本分成一个个独立的词语。Jieba具有以下特点: 简单易用:Jieba提供了简洁的API接口,易于使用和扩展。可以快速地实现中文分词功能。 高效准确:Jieba采用了基于前缀词典和动态规划算法的分词方法,能够高效准确地处理各种中文文本。 支持多种分词模式:Jieba提供了三种分词模式:精确模式、全模式和搜索引擎模式,可以根据不同的应用场景选择合适的模式。
Jieba分词模式详解、词库的添加与删除、自定义词库失败的处理
|
自然语言处理 Shell 索引
【ES系列七】——ik自定义分词词库
在利用ik分词的过程中,当ik的分词规则不满足我们的需求了,这个时候就可以利用ik的自定义词库进行筛选,举个例子:当我要将“我是中国人,我想测试一下”这句话通过分词,将“我想测试一下”分为一个词的时候,就需要利用ik的自定义词库进行灌入指定的词。
【ES系列七】——ik自定义分词词库
|
存储 自然语言处理 搜索推荐
Elasticsearch插件管理(ik分词器、附件文本抽取插件)
Elasticsearch插件管理(ik分词器、附件文本抽取插件)
317 0
|
自然语言处理 搜索推荐 Python
jieba分词器(应用及字典的补充)及文档高频词提取实战
jieba分词器(应用及字典的补充)及文档高频词提取实战
|
自然语言处理 索引
elasticsearch hanlp插件自定义分词配置(停用词)
简述elasticsearch hanlp插件自定义分词配置,涉及停用词,专有名词
elasticsearch hanlp插件自定义分词配置(停用词)
|
自然语言处理 安全 Java
Elastic:IK分词器分词、停用词热更新如何配置(二)基于数据库
上一期,我们说明了基于API形式的热更新,但是API形式的热更新存在词库的管理不方便,要直接操作磁盘文件,检索页很麻烦;文件的读写没有专门的优化,性能不好;多一次接口调用和网络传输等缺点,因此这期我们来说明直连数据库的方式来实现热更新
460 0
Elastic:IK分词器分词、停用词热更新如何配置(二)基于数据库
|
开发者
自定义词库 | 学习笔记
快速学习自定义词库
自定义词库 | 学习笔记
|
自然语言处理 算法 关系型数据库
Elasticsearch 如何自定义扩展词库?
Elasticsearch 实战项目中势必会用到中文分词,而中文分词器的选型包含但不限于如下开源分词器: IK 分词器 https://github.com/medcl/elasticsearch-analysis-ik Ansj 分词器 https://github.com/NLPchina/elasticsearch-analysis-ansj jieba 分词器 https://github.com/sing1ee/elasticsearch-jieba-plugin 清华大学 thulac 分词器 https://github.com/microbun/elastics
1294 0
Elasticsearch 如何自定义扩展词库?
|
自然语言处理 算法
HanLP用户自定义词典源码分析详解
HanLP作者在HanLP issue783:上面说:词典不等于分词、分词不等于自然语言处理;推荐使用语料而不是词典去修正统计模型。由于分词算法不能将一些“特定领域”的句子分词正确,于是为了纠正分词结果,把想要的分词结果添加到自定义词库中,但最好使用语料来纠正分词的结果。
1723 0
|
自然语言处理 Python Java
HanLP的自定义词典使用方式与注意事项介绍
对于词典,直接加载文本会很慢,所以HanLP对于文本文件做了一些预处理,生成了后缀名为.txt.bin的二进制文件。
2617 0