前言
2年前曾整過一個開源框架——違禁詞過濾框架LiteBanner。
算是一個工具類的,當時放在開源中國。因為小巧性能高,還可以自定義詞庫,獲得了不少人的star。
因為框架自帶違禁詞庫,違禁詞庫里面有什么。。。這個嘛,你懂的。因為這個原因,所以框架被整治成私有庫,無法公開了。
當然響應相關部門號召,整治互聯網這種行為還是需要的,是要大力支持的。
開發違禁詞框架本身的出發點也是為了過濾那些不良信息。
當然詞庫本身是從互聯網獲取。別多想哈,我沒那么高的修為。。。
這篇文章就來介紹下這個框架,因為不公開,所以獲取方式看文末。
介紹
框架本身帶有一個詞庫,為一個txt文件,也可以自己通過程序動態去添加詞語。
結果里分為兩部分,一部分是過濾出含有的敏感詞語,還有一部分是過濾出的結果。敏感詞語用星號表示。
直接看代碼吧,非常簡單易用。
代碼就不放出太敏感的了。。。
public void test() throws Exception{
// 加載默認詞典
BannerFilter filter = BannerFilter.DEFAULT;
// 向過濾器增加一個詞,額外造個詞
filter.put("壞孩子");
//TMD是詞庫本身有的
String sentence = "我是一個TMD的壞孩子,我不喜歡讀書";
BannerResp resp = filter.process(sentence);
System.out.println(resp);
}
結果為:
BannerResp [hasSensitiveWords=true, sensitiveWords=[TMD, 壞孩子], filterStr=我是一個***的***]
就那么簡單。
你完全可以把詞庫從DB里加載。然后啟動初始化時動態添加進去。
場景適用於一些站點的信息錄入,可以過濾一些不良的信息。
性能
框架是純CPU計算,性能極其高。
曾經過濾過一部50w字的小說。用時1秒。
壓測情況下,峰值可以達到30w詞每秒。
獲取
感興趣的同學,想獲得這個開源框架,可以關注公眾號,然后回復ww
獲取。
框架內的詞庫我已刪除,免得背上傳播xx的罵名,請自行發揮添加。
我是鉑賽東,是一個開源作者和內容博主,熱愛生活和分享。如果你對我的內容感興趣,請轉發,點贊,然后關注我。