用golang實現基於DFA演算法編寫的禁用語檢測外掛程式

來源:互聯網
上載者:User

SensitiveWords

Get

github地址: https://github.com/TomatoMr/SensitiveWords.git

或者

go get github.com/TomatoMr/SensitiveWords

Introduction

SensitiveWords是基於DFA演算法編寫的禁用語檢測外掛程式,可獨立部署,也可以整合到項目中.

Usage

獨立部署

1. 複製設定檔

cd config

cp config.toml.example config.toml

2. 構建二進位包

go build

3. 使用方法

-restart

:restart your http server, just like this: -restart or -restart=true|false.

-start [-d]

:up your http server, just like this: -start or -start=true|false [-d or -d=true|false].

-stop

:down your http server, just like this: -stop or -stop=true|false.

4. Api

4.1 /check?content=xxx

作用:返回目標文本中,第一個禁用語

傳回值:target:"", //第一個敏感詞

result:"", //是否含有敏感詞

4.2 /all?content=xxx

作用:返回目標文本中,第一個禁用語

傳回值:target:[

word //敏感詞

word_indexes //相同的敏感詞在原文本中的索引的數組

word_length //該敏感詞的長度

]

外掛程式方法

GetMap()

擷取SensitiveMap執行個體

InitDictionary()

初始化敏感詞典,並獲得執行個體

CheckSensitive(text string)

接受檢測文本,並返回是否含有敏感詞和第一個敏感詞

FindAllSensitive(text string)

接受檢測文本,並返回所有敏感詞

GetConfig()

返回配置執行個體

設定檔說明

DictionaryPath //敏感詞典地址,根目錄是本項目地址

Port //http server監聽的web連接埠

PidFilePath //pid檔案位置,用於命令列結束程式和重啟程式,根目錄是本項目地址

協助

Q:重載詞典?

A:修改config.toml->修改DictionaryPath->./SensitiveWords -restart

使用樣本

1.http://localhost:9981/check?content="髒話"

{"result":true,"target":"髒話"}

2.http://localhost:9981/all?content="髒話"

{"target":[{"word":"髒話","word_indexes":[0],"word_length":2}]}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.