简单快速的 PHP 词库工具

这么说吧,假如你有一段文本,还有一个巨大的关键词库(几十万起步),现在需要从文本中找出这些关键词,甚至要基于关键词对应的值做一些替换,怎么弄?

在这个简单又常见的需求面前,strtr str_replace preg_replace 什么的集体歇菜了,因为词库太大。

scws?一开始我也这么弄的,可惜它只能帮你把词库中的词找出来,不能基于关键词对应的值进行处理。虽然可以利用词库的属性字段,但它只支持两个字节,显然不能满足需求。

在 Google 上找了半天也没找到我需要的轮子,只好自己撸了一个词库工具:SimpleDict

  1. 简单。纯 PHP 实现,不用安装扩展,也不依赖 xcache memcache redis 之类的缓存。
  2. 实用。支持大词库,我自己 40W 的词库跑起来轻轻松松。还支持回调式替换哦!
  3. 快速。使用了高大上的 trie 树进行匹配,查找耗时跟文本长度相关,跟词库大小关系不大,速度杠杠的。词典保存成二进制文件,使用时只维持一个文件句柄,避免了传统 trie 树内存开销巨大的弊端。

欢迎有需要的朋友试用 :P

你可能感兴趣的:(关键词,敏感词,中文分词,trie,php)