python 特殊詞匯過濾功能的實現

python的其中一個強大之處就是它可以方便的集成很多的非標準庫,今天在GitHub上溜達又發現瞭一個臟話處理神器,導入better_profanity庫後,隻需要幾行代碼就能搞定瞭,相當nice!

使用pip的方式將better_profanity非標準庫安裝好,這個庫好像在清華大學的鏡像站中沒有,其他鏡像站不知道有沒有,於是下載時沒有使用鏡像站,默認到官方去下載即可。

pip install better_profanity
# 將處理模塊直接導入到代碼塊中
from better_profanity import profanity

1、默認臟話庫/敏感詞庫處理

默認情況下就隻能處理英文的臟話。

censored_text = profanity.censor("you are bitch",'-')
print(censored_text)
# you are ----

可以看到其中bitch字符被認為是臟話已經處理成****字符瞭。

當然,還可以將處理後的臟話字符換成別的字符代替,比如下面這樣處理。

censored_text = profanity.censor("you are bitch",'-')
print(censored_text)
# you are ----

這樣****就被替換成瞭—-。

2、自定義過濾信息處理

bad_words = ['Python', 'Java', 'Scala']  # 自定義過濾詞匯
profanity.load_censor_words(bad_words)  # 加載自定義過濾詞匯
censored_text = profanity.censor("Python is very Good !")  # 執行過濾
print(censored_text)
# **** is very Good !

可以發現,想要過濾的python字符已經成功過濾掉瞭。

3、contains_profanity函數

contains_profanity函數用來查看我們的語句中是否包含需要過濾的詞匯,如果包含則會返回True,否則返回False。

bad_words = ['bitch', 'Java', 'Scala']  # 自定義過濾詞匯
profanity.load_censor_words(bad_words)  # 加載自定義過濾詞匯
censored_text = profanity.contains_profanity("you are bitch")
print(censored_text)
# True

結果為True,表示包含需要過濾的詞匯信息。

4、load_censor_words_from_file函數

load_censor_words_from_file函數用於加載需要過濾詞匯的文件。

profanity.load_censor_words_from_file('/usr/load/bad_words.txt')

加載完詞匯文件之後,按照之前的邏輯處理即可。

詞匯文件的定義格式,按照每個詞匯獨占一行的形式進行定義,文件格式使用.txt文本文檔即可。

# bitch
# bitches
# bitchin
# bitching
# blowjob
# blowjobs
# blue waffle

到此這篇關於python 臟話處理、特殊詞匯過濾的文章就介紹到這瞭,更多相關python 特殊詞匯過濾內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: