敏感詞 v0.27.0 新特性之詞庫獨(dú)立拆分

創(chuàng)作背景

大家好,我是老馬。

敏感詞初期在實現(xiàn)的時候,為了用戶開箱即用將詞庫與核心算法庫放在一起。

有一些用戶希望只用自己的詞庫,于是內(nèi)置了各種自定義的策略方法。

但是還是不夠,比如有些 andriod 研發(fā)希望內(nèi)置包的信息是干凈的,不要有任何敏感信息。

為了保障開箱即用+支持將文件排除,我們在將敏感詞庫獨(dú)立為另外一個項目。

系統(tǒng)內(nèi)置詞庫及如何排除

內(nèi)置詞庫文件說明

v0.27.0 將詞庫和當(dāng)前項目拆分開,詞庫可以在 https://github.com/houbb/sensitive-word-data 項目查看。

對應(yīng)的資源文件在 https://github.com/houbb/sensitive-word-data/tree/main/src/main/resources 目錄下

文件 說明 默認(rèn)加載類
sensitive_word_allow.txt 內(nèi)置自定義白名單詞庫 WordAllowSystem
sensitive_word_deny.txt 內(nèi)置自定義黑名單詞庫 WordDenySystem
sensitive_word_dict.txt 內(nèi)置黑名單詞庫 WordDenySystem
sensitive_word_dict_en.txt 內(nèi)置黑名單英文詞庫 WordDenySystem
sensitive_word_tags.txt 內(nèi)置敏感詞標(biāo)簽詞庫 WordTagSystem

如何排除

比如一些 android app 引入時不希望包中內(nèi)置敏感的信息,希望對詞庫加解密或者是放在服務(wù)端初始化加載。

系統(tǒng)的內(nèi)置詞庫通過下面的 maven 依賴導(dǎo)入

<dependency>
    <groupId>com.github.houbb</groupId>
    <artifactId>sensitive-word-data</artifactId>
    <version>${sensitive-word-data.version}</version>
</dependency>

依賴排除

所以可以按照 maven 排除規(guī)范,如下將其排除

<dependency>
    <groupId>com.github.houbb</groupId>
    <artifactId>sensitive-word</artifactId>
    <version>${sensitive-word.version}</version>
    <exclusions>
        <exclusion>
            <groupId>com.github.houbb</groupId>
            <artifactId>sensitive-word-data</artifactId>
        </exclusion>
    </exclusions>
</dependency>

排除后自定義

不希望使用內(nèi)置詞庫,那就需要將原來內(nèi)置的詞庫依賴改為自己的依賴

默認(rèn)配置項:

SensitiveWordBs sensitiveWordBs = SensitiveWordBs.newInstance()
                .wordAllow(WordAllows.defaults())
                .wordDeny(WordDenys.defaults())
                .wordTag(WordTags.defaults())
                .init();

你可以將用到的這3個配置,改為自己的實現(xiàn)。

可以通過加解密,或者加載遠(yuǎn)程服務(wù)的文件信息都可以。

開源項目

敏感詞核心 https://github.com/houbb/sensitive-word

敏感詞控臺 https://github.com/houbb/sensitive-word-admin

敏感詞詞庫 https://github.com/houbb/sensitive-word-dict

小結(jié)

希望本文對你有所幫助,如果喜歡,歡迎點(diǎn)贊收藏轉(zhuǎn)發(fā)一波。

我是老馬,期待與你的下次相遇。

敏感詞系列

sensitive-word-admin 敏感詞控臺 v1.2.0 版本開源

sensitive-word-admin v1.3.0 發(fā)布 如何支持分布式部署?

01-開源敏感詞工具入門使用

02-如何實現(xiàn)一個敏感詞工具?違禁詞實現(xiàn)思路梳理

03-敏感詞之 StopWord 停止詞優(yōu)化與特殊符號

04-敏感詞之字典瘦身

05-敏感詞之 DFA 算法(Trie Tree 算法)詳解

06-敏感詞(臟詞) 如何忽略無意義的字符?達(dá)到更好的過濾效果

v0.10.0-臟詞分類標(biāo)簽初步支持

v0.11.0-敏感詞新特性:忽略無意義的字符,詞標(biāo)簽字典

v0.12.0-敏感詞/臟詞詞標(biāo)簽?zāi)芰M(jìn)一步增強(qiáng)

v0.13.0-敏感詞特性版本發(fā)布 支持英文單詞全詞匹配

v0.16.1-敏感詞新特性之字典內(nèi)存資源釋放

v0.19.0-敏感詞新特性之敏感詞單個編輯,不必重復(fù)初始化

v0.20.0 敏感詞新特性之?dāng)?shù)字全部匹配,而不是部分匹配

v0.21.0 敏感詞新特性之白名單支持單個編輯,修正白名單包含黑名單時的問題

v0.23.0 敏感詞新特性之結(jié)果條件拓展,內(nèi)置支持鏈?zhǔn)?單詞標(biāo)簽

v0.24.0 新特性支持標(biāo)簽分類,內(nèi)置實現(xiàn)多種策略

v0.25.0 新特性之 wordCheck 策略支持用戶自定義

v0.25.1 新特性之返回匹配詞,修正 tags 標(biāo)簽

v0.27.0 敏感詞庫獨(dú)立拆分

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容