摘要:在上找了半天也沒找到我需要的輪子,只好自己擼了一個詞庫工具簡單。支持大詞庫,我自己的詞庫跑起來輕輕松松。還支持回調式替換哦快速。使用了高大上的樹進行匹配,查找耗時跟文本長度相關,跟詞庫大小關系不大,速度杠杠的。
這么說吧,假如你有一段文本,還有一個巨大的關鍵詞庫(幾十萬起步),現在需要從文本中找出這些關鍵詞,甚至要基于關鍵詞對應的值做一些替換,怎么弄?
在這個簡單又常見的需求面前,strtr str_replace preg_replace 什么的集體歇菜了,因為詞庫太大。
scws?一開始我也這么弄的,可惜它只能幫你把詞庫中的詞找出來,不能基于關鍵詞對應的值進行處理。雖然可以利用詞庫的屬性字段,但它只支持兩個字節,顯然不能滿足需求。
在 Google 上找了半天也沒找到我需要的輪子,只好自己擼了一個詞庫工具:SimpleDict
簡單。純 PHP 實現,不用安裝擴展,也不依賴 xcache memcache redis 之類的緩存。
實用。支持大詞庫,我自己 40W 的詞庫跑起來輕輕松松。還支持回調式替換哦!
快速。使用了高大上的 trie 樹進行匹配,查找耗時跟文本長度相關,跟詞庫大小關系不大,速度杠杠的。詞典保存成二進制文件,使用時只維持一個文件句柄,避免了傳統 trie 樹內存開銷巨大的弊端。
歡迎有需要的朋友試用 :P
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/20798.html
FlashText是GitHub上的另一個開源系統Python庫,如同以前提到的,他在獲得關鍵字和更換關鍵字每日任務上具有非常高的特性。本文詳細說明一下下flashtext的應用,所需要的可以了解一下 在平時的些的較小規模的信息的過慮、清理環節中應用比較多的是正則匹配,但隨著數據量級的擴大,正則匹配也顯得有一些力不從心了?! ≌齽t匹配在這個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...
閱讀 1961·2021-09-04 16:45
閱讀 747·2019-08-30 15:44
閱讀 894·2019-08-30 13:07
閱讀 456·2019-08-29 16:06
閱讀 1375·2019-08-29 13:43
閱讀 1269·2019-08-26 17:00
閱讀 1526·2019-08-26 13:51
閱讀 2294·2019-08-26 11:48