搜索引擎之分词器

前言

    这两年在工作中接触过三种分词器:IK、jieba、word分词器,有的是在搜索引擎中使用过,有的是在NLP(自然语言处理)中使用的,不能说某个分词器不好,只能说他们有各自适合的应用场景。

IK分词器

    IK可能是目前中文分词器中使用的最多的分词器了,尤其是在搜索引擎领域,一般我们都会选择它,表现也确实不错,而且作者在最新的版本中增加了热更新词库功能,免去了每次修改词库重启服务的麻烦,还是很棒的,它是中文分词器的首选。

jieba分词器

    jieba分词器我们在做自然语言处理的时候我们应用过,它本身是Python中的分词器,有一个团队实现了它的java版本,但是这个java版本的分词器只实现了部分功能,如果把它用作自然语言处理的话还可以,但不要把它用作搜索引擎的分词器,我记得是因为它分词的粒度不够细,不适合搜索引擎使用。

word分词器

    我们之前有个项目,我的同事负责自然语言处理部分,他用的就是这款分词器,效果还不错,我负责是搜索引擎部分的工作,为了统一分词器,我也使用了word分词器用于搜索引擎,但是遇到了两个问题后来就放弃了。

  1. 全切模式下分词偏移量问题
        因为分词器分过词后,搜索引擎会将结果传递给Lucene,同时传递每个词在句子中的索引,我当时使用的是全切模式,在该模式下由于计算该词在句子中的索引时偏移量出现了错误,导致传递给Lucene的值是错误的,已经超出了句子的长度,所以导致后续程序报错,搜索结果的高亮显示时,高亮的位置是错误的。
        不过笔者在开源中国上私信了作者杨尚川,川哥抽空帮我修复了这个问题,并将代码更新到了github上,在此很感谢作者word分词器作者杨尚川。
  2. 首次加载过慢
        其实word分词器功能我觉得还是很强大的,它有很多模式分别对应不同场景,我尝试使用全切模式应用在搜索引擎当中,但由于首次需要加载很多东西,比较耗费时间,最终放弃我放弃了在搜索引擎中使用该分词器,而我的同事在做自然语言处理的时候用的就是该分词器,表现还是不错的。

总结

    我不能说哪种分词器不好,他们都有各自的优势,当然还有很多其他优秀的中文分词器,但以上三种分词器是我在实际工作中实实在在接触过的分词器,一些简单的经验总结分享给大家。

如有说的不对的地方,请多指教!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值