對DFA算法的敏感詞過濾的理解

DFA算法(全名:Deterministic Finite Automaton)即有窮自動機。其特徵為:有一個有限狀態集合和一些從一個狀態通向另一個狀態的邊,每條邊上標記有一個符號,其中一個狀態是初態,某些狀態是終態。但不同於不確定的有限自動機,DFA中不會有從同一狀態出發的兩條邊標誌有相同的符號。

對DFA算法的敏感詞過濾的理解

通過上圖我們可以很清晰的瞭解到DFA算法在數據檢索中能夠大大的提升檢索效率,所以這種算法也被經常用於敏感詞的過濾。下面我們瞭解下如何通過DFA算法過濾敏感詞。

我們假設某用戶輸入了發佈了一條信息。“XXX你個王八羔子,有好事也不說。”那麼系統要做到對“王八羔子”的過濾二不是對“王八”的匹配,首先我們要把敏感詞的合集,一般是一個TXT文件生成SensitiveMap如下圖所示:

對DFA算法的敏感詞過濾的理解

以上內容是個人對DFA算法的理解,如果您有更深的瞭解,歡迎在評論區留言。


分享到:


相關文章: