ElasticSearch如何做好中文分词

2025-04-24 04:11:36

1、standard分词器与IK分词器比较ElasticSearch默认的分词器是standard,如图所示standard分词器会把一句话分成单个的字,这对于中文来说是没有意义的;IK是常用的中文分词器,ik_smart会将文本做最粗粒度的拆分,ik_max_word会将文本做最细粒度的拆分

ElasticSearch如何做好中文分词
ElasticSearch如何做好中文分词
ElasticSearch如何做好中文分词

2、IK分词器最佳实践IK两种分词器使用的最佳实践是:索薪姚蟪食引时用ik_max_word,在搜索时用ik_smart,也就是说在创建倒排索引时最大化的将文本内容分词,搜索时最粗力度分词从而更精确的搜索到想要的结果。如果按照“仁和服装厂”搜索,想搜索到的是北京仁和服装厂,而不是仁和的其他工厂或者其他厂家的服装厂,也就是说文本中必须包含“仁和”与“服装厂”2个词。但是ik_smart还是会按照“仁和”与“服装厂”这2个词进行搜索,例如搜索出“仁和1号服装厂”、“仁和太空服装厂”而我们想要的是“仁和服装厂”,这种情况怎么办呢?答案是ik词库扩展

ElasticSearch如何做好中文分词
ElasticSearch如何做好中文分词

3、ik词库扩展——词汇咿蛙匆盗动态收集如果我们把"仁和服装厂"当成一个词加入ik的扩展词库中,则IK分词器效果如图所示。ES分词器ik词库扩展操作方法这里不做介绍,在实醪撅此饕际开发中我们需要扩展词库的时候不能盲目的扩展,扩展词库是为了搜索更加的精确,所以我们需要知道用户搜索的习惯,收集用户搜索习惯的方法有很多,本篇文章描述一种较为简单的方法:可以对在ES搜索接口入参做拦截,把入参中的搜索词写入数据库或者redis中,定期查询用户搜索词句,将高频搜索词句加入IK扩展词汇中

ElasticSearch如何做好中文分词
ElasticSearch如何做好中文分词

4、ik词库扩展3500常用汉字你可能遇到过这种情况,在一个电商网站想购买一把雨伞,只输入一个"伞"居然没有查询到商品,这是因为ik_smark或者ik_max_word在给"雨伞"分词时只会服务"雨伞"一个词,并不会把单个的字也分出来。所以我们可以把3500个常用汉字加入ik扩展词库中,如图所示将3500个常用汉字加入ik扩展词库前后的分词效果。

ElasticSearch如何做好中文分词
ElasticSearch如何做好中文分词

5、其他种类分词器简单介绍除了IK分词器做中文之外,还有很多研究机构开发的分词器,不同的分词器在特定的领域有特殊的优势,大家可以对比学习使用,例如:中科院计算所NLPIR,哈工大的LTP,ansj分词器,清华大学THULAC,斯坦福分词器,Hanlp分词器,结巴分词,KCWS分词器(字嵌入+Bi-LSTM+CRF),ZPar分词器下面的图片截取的博客文章

ElasticSearch如何做好中文分词
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢