国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

分享 GitHub 上的敏感詞匯工具類:sensitive-word

這篇具有很好參考價值的文章主要介紹了分享 GitHub 上的敏感詞匯工具類:sensitive-word。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

分享 GitHub 上的敏感詞匯工具類:sensitive-word,開源項目,github,DFA算法,sensitive-word,敏感詞工具

?? 19年之后由于某些原因斷更了三年,23年重新?lián)P帆起航,推出更多優(yōu)質(zhì)博文,希望大家多多支持~
?? 古之立大事者,不惟有超世之才,亦必有堅忍不拔之志
?? 個人CSND主頁——Micro麥可樂的博客
??《Docker實操教程》專欄以最新的Centos版本為基礎(chǔ)進行Docker實操教程,入門到實戰(zhàn)
??《RabbitMQ》本專欄主要介紹使用JAVA開發(fā)RabbitMQ的系列教程,從基礎(chǔ)知識到項目實戰(zhàn)
??《設(shè)計模式》專欄以實際的生活場景為案例進行講解,讓大家對設(shè)計模式有一個更清晰的理解
如果文章能夠給大家?guī)硪欢ǖ膸椭?!歡迎關(guān)注、評論互動~

前言

在網(wǎng)絡(luò)世界中,對于敏感詞匯的過濾是保障用戶體驗和維護網(wǎng)絡(luò)環(huán)境的一項基礎(chǔ)工作。常見的比如社交平臺、論壇、聊天應(yīng)用等場景,涉及到用戶言論都需要考慮內(nèi)容的敏感性處理,本文將為大家介紹一款GitHub上開源好用的好用敏感詞工具sensitive-word

分享 GitHub 上的敏感詞匯工具類:sensitive-word,開源項目,github,DFA算法,sensitive-word,敏感詞工具
目前已經(jīng)有1.4KStar,項目地址 : https://github.com/houbb/sensitive-word

介紹sensitive-word

sensitive-word 是基于 DFA 算法實現(xiàn)的高性能敏感詞工具。目前敏感詞庫內(nèi)容收錄 6W+且不斷優(yōu)化更新。

特性

  • 6W+ 詞庫,且不斷優(yōu)化更新

  • 基于 fluent-api 實現(xiàn),使用優(yōu)雅簡潔

  • 基于 DFA 算法,性能為 7W+ QPS,應(yīng)用無感

  • 支持敏感詞的判斷、返回、脫敏等常見操作

  • 支持常見的格式轉(zhuǎn)換

  • 全角半角互換、英文大小寫互換、數(shù)字常見形式的互換、中文繁簡體互換、英文常見形式的互換、忽略重復詞等

  • 支持敏感詞檢測、郵箱檢測、數(shù)字檢測、網(wǎng)址檢測等

  • 支持自定義替換策略

  • 支持用戶自定義敏感詞和白名單

  • 支持數(shù)據(jù)的數(shù)據(jù)動態(tài)更新(用戶自定義),實時生效

  • 支持敏感詞的標簽接口

  • 支持跳過一些特殊字符,讓匹配更靈活

SpringBoot使用sensitive-word

在開發(fā)java項目中,想使用sensitive-word其實非常簡單,只需要maven引入依賴就可以當作一個工具類調(diào)用其方法即可使用

maven引入依賴

<dependency>
    <groupId>com.github.houbb</groupId>
    <artifactId>sensitive-word</artifactId>
    <version>0.12.0</version>
</dependency>

SensitiveWordHelper 作為敏感詞的工具類,核心方法如下:
分享 GitHub 上的敏感詞匯工具類:sensitive-word,開源項目,github,DFA算法,sensitive-word,敏感詞工具
接下來我們編寫相關(guān)測試類,來測試對應(yīng)方法

public class Test {

    public static void main(String[] args) {
        //是否有敏感詞存在
        String text = "五星紅旗迎風飄揚,毛主席的畫像屹立在天安門前。";
		Assert.assertTrue(SensitiveWordHelper.contains(text));

		//返回第一個敏感詞
		String word = SensitiveWordHelper.findFirst(text);
		Assert.assertEquals("五星紅旗", word);

        //返回所有敏感詞
        List<String> wordList = SensitiveWordHelper.findAll(text);
		Assert.assertEquals("[五星紅旗, 毛主席, 天安門]", wordList.toString());

        //默認的替換策略
		String result = SensitiveWordHelper.replace(text);
		Assert.assertEquals("****迎風飄揚,***的畫像屹立在***前。", result);

        //指定替換的內(nèi)容
		String result = SensitiveWordHelper.replace(text, '0');
		Assert.assertEquals("0000迎風飄揚,000的畫像屹立在000前。", result);
    }
}

自定義替換策略

場景說明:有時候我們希望不同的敏感詞有不同的替換結(jié)果。比如【游戲】替換為【電子競技】,【失業(yè)】替換為【靈活就業(yè)】

/**
 * 自定替換策略
 * @since 0.2.0
 */
@Test
public void defineReplaceTest() {
    final String text = "五星紅旗迎風飄揚,毛主席的畫像屹立在天安門前。";

    ISensitiveWordReplace replace = new MyWordReplace();
    String result = SensitiveWordHelper.replace(text, replace);

    Assert.assertEquals("國家旗幟迎風飄揚,教員的畫像屹立在***前。", result);
}
public class MyWordReplace implements IWordReplace {

    @Override
    public void replace(StringBuilder stringBuilder, final char[] rawChars, IWordResult wordResult, IWordContext wordContext) {
        String sensitiveWord = InnerWordCharUtils.getString(rawChars, wordResult);
        // 自定義不同的敏感詞替換策略,可以從數(shù)據(jù)庫等地方讀取
        if("五星紅旗".equals(sensitiveWord)) {
            stringBuilder.append("國家旗幟");
        } else if("毛主席".equals(sensitiveWord)) {
            stringBuilder.append("教員");
        } else {
            // 其他默認使用 * 代替
            int wordLength = wordResult.endIndex() - wordResult.startIndex();
            for(int i = 0; i < wordLength; i++) {
                stringBuilder.append('*');
            }
        }
    }
}

我們針對其中的部分詞做固定映射處理,其他的默認轉(zhuǎn)換為 *

敏感詞工具類的優(yōu)缺點總結(jié)

優(yōu)點

  • 高效性: 敏感詞的存儲和檢測采用了高效的數(shù)據(jù)結(jié)構(gòu)和算法,能夠在很短的時間內(nèi)完成檢測。
  • 易擴展: Trie 樹的結(jié)構(gòu)使得添加、刪除敏感詞非常方便,同時 AC 自動機算法保證了高效的匹配。

缺點

  • 內(nèi)存占用: 敏感詞庫的存儲需要一定的內(nèi)存,隨著敏感詞數(shù)量的增加,內(nèi)存占用也會相應(yīng)增加。

結(jié)語

GitHub 上的 sensitive-word 工具類是一個功能強大且高效的敏感詞匯檢測工具。通過簡單的引入測試相信大家已經(jīng)使用方法有了一定了解,這樣我們可以在項目中更好地保障用戶信息的安全,維護良好的網(wǎng)絡(luò)環(huán)境文章來源地址http://www.zghlxwxcb.cn/news/detail-804850.html

到了這里,關(guān)于分享 GitHub 上的敏感詞匯工具類:sensitive-word的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Gitleaks - 一款高效的Github倉庫敏感信息泄露查詢工具

    Gitleaks 是一種 SAST 工具,用于檢測和防止 git 存儲庫中的硬編碼機密,如密碼、API 密鑰和令牌 Gitleaks 是一個開源工具,用于檢測和防止簽入 Git 存儲庫的機密(密碼/API 密鑰)。Gitleaks 的主要優(yōu)點是它不僅可以掃描您最新的源代碼,還可以掃描整個 git 歷史記錄,識別過去提交

    2024年02月22日
    瀏覽(23)
  • sensitive-word-admin v1.3.0 發(fā)布 如何支持敏感詞控臺分布式部署?

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

    sensitive-word-admin v1.3.0 發(fā)布 如何支持分布式部署? sensitive-word-admin 敏感詞控臺 v1.2.0 版本開源 sensitive-word 基于 DFA 算法實現(xiàn)的高性能敏感詞工具介紹 更多技術(shù)交流 如果我們的敏感詞部署之后,不會變化,那么其實不用考慮這個問題。 但是實際業(yè)務(wù),敏感詞總是隨著時間不斷

    2024年02月19日
    瀏覽(12)
  • 【Java 進階篇】保護你的應(yīng)用:Java 過濾器實現(xiàn)敏感詞匯過濾

    【Java 進階篇】保護你的應(yīng)用:Java 過濾器實現(xiàn)敏感詞匯過濾

    在開發(fā) Web 應(yīng)用程序時,安全性是至關(guān)重要的一環(huán)。保護用戶免受惡意內(nèi)容的侵害是開發(fā)者義不容辭的責任之一。在這篇博客中,我們將深入研究如何使用 Java 過濾器來過濾敏感詞匯,確保用戶輸入的內(nèi)容不包含不良信息。我們將采用簡單而實用的方法,讓即使是初學者也能

    2024年02月03日
    瀏覽(23)
  • 機器學習基礎(chǔ)(一)混淆矩陣,真陽性(TP),真陰性(TN),假陽性(FP),假陰性(FN)以及敏感性(Sensitivity)和特異性(Specificity)

    機器學習基礎(chǔ)(一)混淆矩陣,真陽性(TP),真陰性(TN),假陽性(FP),假陰性(FN)以及敏感性(Sensitivity)和特異性(Specificity)

    混淆矩陣如下圖:這里以是否有心臟病舉例(二分類舉例),列代表機器學習算法所做的預測,有心臟病還是沒有心臟病,行代表實際的情況。 真陽性(TP):病人有心臟病,且被算法正確的預測出有。 真陰性(TN):病人無心臟病,且被算法正確的預測出無。 假陰性(FN):病人有心

    2023年04月08日
    瀏覽(116)
  • 分享一個比對圖片是否一致的小工具(來源: github)

    分享一個比對圖片是否一致的小工具(來源: github)

    運行效果圖:? 官網(wǎng):? GitHub - codingfishman/image-diff: 一個方便的圖片對比工具 一個方便的圖片對比工具. Contribute to codingfishman/image-diff development by creating an account on GitHub. https://github.com/codingfishman/image-diff 優(yōu)缺點: 1.采用比對各色塊是否一致是該工具的核心,會出現(xiàn)因角度/光線不同而

    2024年02月04日
    瀏覽(23)
  • Github:分享一款開源的跨平臺多功能遠程控制和監(jiān)控工具Spark

    Github:分享一款開源的跨平臺多功能遠程控制和監(jiān)控工具Spark

    Github:分享一款開源的跨平臺多功能遠程控制和監(jiān)控工具Spark,github,開源,spark

    2024年02月19日
    瀏覽(27)
  • 敏感詞在線檢測-敏感詞在線檢測工具

    敏感詞在線檢測-敏感詞在線檢測工具

    敏感詞在線檢測,不管是做網(wǎng)站還是自媒體還有短視頻的人都有這樣的煩惱,因為不慎發(fā)布敏感詞內(nèi)容,導致網(wǎng)站降權(quán),文章視頻不被推薦沒有流量。再加上新的廣告法出來后很多內(nèi)容都被判定營銷內(nèi)容重則還容易被封禁賬號。今天給大家分享一款免費敏感詞檢測軟件,不僅

    2024年02月12日
    瀏覽(19)
  • 數(shù)據(jù)守護盾牌:敏感數(shù)據(jù)掃描與脫敏,讓安全合規(guī)無憂,程序員經(jīng)驗分享

    數(shù)據(jù)守護盾牌:敏感數(shù)據(jù)掃描與脫敏,讓安全合規(guī)無憂,程序員經(jīng)驗分享

    我們還提供了官網(wǎng)內(nèi)置的規(guī)則庫(如上圖),如信用卡號、個人信息、密鑰等。您可以選擇所需掃描的敏感數(shù)據(jù)類型,并支持多選后一鍵創(chuàng)建定義匹配規(guī)則;進入到創(chuàng)建頁面后,您還可以進一步靈活編輯規(guī)則。 敏感數(shù)據(jù)掃描規(guī)則創(chuàng)建完成后,您還可以在列表處實現(xiàn)統(tǒng)一查詢和

    2024年04月25日
    瀏覽(19)
  • 網(wǎng)站敏感詞命中查詢處理工具

    網(wǎng)站敏感詞命中查詢處理工具

    我們網(wǎng)站很多文章在發(fā)表的時候都會面臨內(nèi)容中有很多敏感詞的問題。有些敏感詞可能不是固定的,需要我們及時調(diào)整,今天給大家分享如何對我們網(wǎng)站文章敏感詞進行處理,包括過去已經(jīng)發(fā)布的文章和即將發(fā)布的文章。 一、敏感詞刪除 通過SEO工具中的敏感詞刪除功能,我

    2024年02月12日
    瀏覽(20)
  • 終端上的Github Copilot和IDE上的Github Copilot

    Github Copilot文檔地址:Github Copilot文檔 安裝VSCode:如果您還沒有安裝VSCode,請前往VSCode官方網(wǎng)站下載并安裝最新版本的VSCode。 安裝GitHub Copilot插件:在VSCode中,點擊左側(cè)的擴展圖標(四個方塊組成的正方形),搜索并安裝\\\"GitHub Copilot\\\"插件。 配置GitHub Copilot:安裝完插件后,

    2024年02月03日
    瀏覽(46)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包