python 敏感詞過濾2

2021-09-26 03:45:03 字數 1551 閱讀 2745

敏感詞儲存在txt檔案中,當使用者輸入敏感詞語,則用 星號 * 替換,例如當使用者輸入「北京是個好城市」,則變成「**是個好城市」。

思路整理:

#1.獲取敏感詞檔案,讀取檔案,將檔案放入列表

#2.獲取使用者輸入

#3.檢查使用者輸入,是否有敏感詞語,

#4.若是輸入中有敏感詞語,將敏感詞用同等長度的**替換

#5.若是輸入中沒有敏感詞,則直接輸出

file_path='c:/workspace/vs code training/test6-sensitive_word_detection/filtered_words.txt'

#1.獲取敏感詞檔案,讀取檔案,將檔案放入列表

with open(file_path,'r',encoding='utf-8') as fr:

frrd=str(fr.readlines())

#print(frrd)

#2.獲取使用者輸入

users_input=input('pls input:')

#3.檢查使用者輸入,是否有敏感詞語

for i in frrd:

if i in users_input:

#4.若是輸入中有敏感詞語,將敏感詞用同等長度的**替換

users_input=users_input.replace(i,'*'*len(i))

print(users_input)

else:

#6.若是輸入中沒有敏感詞,則直接輸出

print(users_input)

在上述**中,可以完成敏感詞過濾的任務,但是,輸出的結果是這樣的:

>>>pls input:是一名公務員

是一名公務員

是一名公務員

是一名公務員

是一名公務員

是一名公務員

是一名公務員

是一名公務員

是一名公務員

是一名公務員

是一名公務員

是一名公務員

是一名公務員

是一名公務*

是一名公務*

是一名公務*

是一名公務*

是一名公務*

是一名公務*

是一名公務*

是一名*務*

是一名***

是一名***

是一名***

是一名***

是一名***

是一名***

是一名***

是一名***

是一名***

是一名***

是一名***

是一名***

是一名***

是一名***

是一名***

是一名***

是一名***

是一名***

是一名***

是一名***

是一名***

是一名***

重複了很多次,我也不知道是為什麼?

敏感詞過濾

最近需要實現對聊天裡的敏感詞過濾,要求比較簡單,只需要對字型檔中存在的關鍵字進行匹配,所以不需要非常複雜的實現,但是需要能夠快速地對乙個關鍵字集合進行匹配。搜了一下相關的資料,比較簡單的乙個演算法是使用aho corasick演算法,以下簡稱ac演算法。該演算法的基本思想中包含了kmp演算法,即利用...

敏感詞過濾

敏感詞過濾 防沉迷,基本所有上線系統都會用的基礎功能吧,網上挺多 的,也很多種方式,看的有點繞寫了個自己感覺比較乾淨清楚的,結構也比較簡單,記錄一下insert 和 審查 檢查 都是遞迴,效率還好,win release版本5700的樣本,length 1000的 str 大概0.2ms支援比如敏感...

敏感詞過濾

分享乙個敏感詞過濾方法 1 public class wordfiltercontroller basecontroller 225 result str result 2627 if s filters null 28 3132 bool check false 33 foreach string...