跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • [求助] 关于 elasticSearch 中文分词插件 IK 分词机制的疑问
未分類
27 8 月 2020

[求助] 关于 elasticSearch 中文分词插件 IK 分词机制的疑问

[求助] 关于 elasticSearch 中文分词插件 IK 分词机制的疑问

資深大佬 : Pengxiguaa 9

准备

  • analyzer: ik_max_word
  • text: “我想我能够”
  • keywords: “我想”

目的

检索出必须包含关键词“我想”的数据。

问题

在写入数据时,ik_max_word 会将文本拆分为“我”、“想我”和“能够”但不存在“我想”,所以导致搜索无果。

我不知道是我的用法不对还是插件分词不够细,难道需要将文本拆分为“我”、“我想”、“我想我”、“我想我能”….

大佬有話說 (7)

  • 資深大佬 : zakokun

    2 个办法

    1. 你把“我想”加到自定词库里面,刷一遍数据,分词插件就能把“我想”作为一个词了
    2. 使用单字分词,然后搜索的使用 match_phrase

  • 資深大佬 : polaris8977

    自己定制一下词库啊, “我想”没在你的词库里面

  • 資深大佬 : murmur

    你说的是 ngram 分词,ngram 拆出来应该是
    我
    想
    我
    能
    够
    我想
    想我
    我能
    能够
    我想我
    想我能
    我能够
    。。。。。
    这种拆词太暴力了,很少有这么拆的,效率太低结果也不好看,说白了还是字典拆词不行,可以考虑下用算法的,以前我们就用 crf 分词,字典分词效率高但是准确度不行

  • 主 資深大佬 : Pengxiguaa

    @zakokun 感谢

  • 主 資深大佬 : Pengxiguaa

    @polaris8977 感谢

  • 主 資深大佬 : Pengxiguaa

    @murmur 感谢

  • 資深大佬 : KalaSearch

    CJK 语言做查询的时候如果非常在乎召回的话,ngram 也是可以考虑的(类似你这写的:我,我想…)

    如果索引本身没那么大的话,对中文分词来说 N 取个 10 就完全够了,这样索引大小最多也就是 10 倍。目前 SSD 这么便宜的状况下问题不大

    当然如果实在索引大小有限制(边缘计算、嵌入之类情景,或者数据真的太大)那可以像一说的自定义一些词库。

    如果是以学习为目的的话推荐读: https://github.com/ysc/cws_evaluation

    如果是在做项目需要搜索的话,且不想折腾的话,自荐下我们做的卡拉搜索 kalasearch.com 不用自己搞分词之类,全托管了。作为工程师的你时间很宝贵,应该用来学习或者解决业务问题,搜索可以交给我们 🙂

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具