摘要:在上找了半天也没找到我需要的轮子,只好自己撸了一个词库工具简单。支持大词库,我自己的词库跑起来轻轻松松。还支持回调式替换哦快速。使用了高大上的树进行匹配,查找耗时跟文本长度相关,跟词库大小关系不大,速度杠杠的。
这么说吧,假如你有一段文本,还有一个巨大的关键词库(几十万起步),现在需要从文本中找出这些关键词,甚至要基于关键词对应的值做一些替换,怎么弄?
在这个简单又常见的需求面前,strtr str_replace preg_replace 什么的集体歇菜了,因为词库太大。
scws?一开始我也这么弄的,可惜它只能帮你把词库中的词找出来,不能基于关键词对应的值进行处理。虽然可以利用词库的属性字段,但它只支持两个字节,显然不能满足需求。
在 Google 上找了半天也没找到我需要的轮子,只好自己撸了一个词库工具:SimpleDict
简单。纯 PHP 实现,不用安装扩展,也不依赖 xcache memcache redis 之类的缓存。
实用。支持大词库,我自己 40W 的词库跑起来轻轻松松。还支持回调式替换哦!
快速。使用了高大上的 trie 树进行匹配,查找耗时跟文本长度相关,跟词库大小关系不大,速度杠杠的。词典保存成二进制文件,使用时只维持一个文件句柄,避免了传统 trie 树内存开销巨大的弊端。
欢迎有需要的朋友试用 :P
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/20798.html
FlashText是GitHub上的另一个开源系统Python库,如同以前提到的,他在获得关键字和更换关键字每日任务上具有非常高的特性。本文详细说明一下下flashtext的应用,所需要的可以了解一下 在平时的些的较小规模的信息的过虑、清理环节中应用比较多的是正则匹配,但随着数据量级的扩大,正则匹配也显得有一些力不从心了。 正则匹配在这个10k的词库文件中检索15k个关键字的时长大概是0....
摘要:安装分词说明含有种切分方法长度优先切分。效果最好可自定义词典,自己添加词语到词库,词库支持文本格式和二级制格式二进制格式词典小,加载快含有个词,欢迎大家补充词语到,格式词语词性获取方法百度搜索这个词语结果数量,如果你有更好的方法欢迎补充。 安装 composer require lizhichao/word github: https://github.com/lizhichao/.....
摘要:在树中,每个节点表示一个状态,每条边表示一个字符,从根节点到叶子节点经过的边即表示一个词条。查找一个词条最多耗费的时间只受词条长度影响,因此的查找性能是很高的,跟哈希算法的性能相当。 Last-Modified: 2019年5月10日15:25:35 参考文章 c++ 使用map实现Trie树 关键词过滤扩展,用于检查一段文本中是否出现敏感词,基于Double-Array Trie...
FlashText是GitHub上的另一个开源系统Python库,如同以前提到的,他在获得关键字和更换关键字每日任务上具有非常高的特性。本文详细说明一下下flashtext的应用,所需要的可以了解一下 在平时的些的较小规模的信息的过虑、清理环节中应用最多的是正则匹配,但随着数据量级的扩大,正则匹配也显得有一些力不从心了。 正则匹配在这个10k的词典中查寻15k个关键字的时长大概是0.165...
阅读 1938·2021-09-04 16:45
阅读 719·2019-08-30 15:44
阅读 874·2019-08-30 13:07
阅读 440·2019-08-29 16:06
阅读 1338·2019-08-29 13:43
阅读 1226·2019-08-26 17:00
阅读 1508·2019-08-26 13:51
阅读 2271·2019-08-26 11:48