




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第python實現(xiàn)過濾敏感詞關(guān)于敏感詞過濾可以看成是一種文本反垃圾算法,例如
題目:敏感詞文本文件filtered_words.txt,當(dāng)用戶輸入敏感詞語,則用星號*替換,例如當(dāng)用戶輸入「北京是個好城市」,則變成「**是個好城市」
代碼:
#coding=utf-8
deffilterwords(x):
withopen(x,'r')asf:
text=f.read()
printtext.split('\n')
userinput=raw_input('myinput:')
foriintext.split('\n'):
ifiinuserinput:
replace_str='*'*len(i.decode('utf-8'))
word=userinput.replace(i,replace_str)
returnword
printfilterwords('filtered_words.txt')
再例如反黃系列:
開發(fā)敏感詞語過濾程序,提示用戶輸入評論內(nèi)容,如果用戶輸入的內(nèi)容中包含特殊的字符:
敏感詞列表li=["蒼老師","東京熱",”武藤蘭”,”波多野結(jié)衣”]
則將用戶輸入的內(nèi)容中的敏感詞匯替換成***,并添加到一個列表中;如果用戶輸入的內(nèi)容沒有敏感詞匯,則直接添加到上述的列表中。
content=input('請輸入你的內(nèi)容:')
li=["蒼老師","東京熱","武藤蘭","波多野結(jié)衣"]
i=0
whilei4:
forli[i]incontent:
li1=content.replace('蒼老師','***')
li2=li1.replace('東京熱','***')
li3=li2.replace('武藤蘭','***')
li4=li3.replace('波多野結(jié)衣','***')
else:
pass
i+=1
實戰(zhàn)案例:
一道bat面試題:快速替換10億條標題中的5萬個敏感詞,有哪些解決思路?
有十億個標題,存在一個文件中,一行一個標題。有5萬個敏感詞,存在另一個文件。寫一個程序過濾掉所有標題中的所有敏感詞,保存到另一個文件中。
1、DFA過濾敏感詞算法
在實現(xiàn)文字過濾的算法中,DFA是比較好的實現(xiàn)算法。DFA即DeterministicFiniteAutomaton,也就是確定有窮自動機。
算法核心是建立了以敏感詞為基礎(chǔ)的許多敏感詞樹。
python實現(xiàn)DFA算法:
#-*-coding:utf-8-*-
importtime
time1=time.time()
#DFA算法
classDFAFilter():
def__init__(self):
self.keyword_chains={}
self.delimit='\x00'
defadd(self,keyword):
keyword=keyword.lower()
chars=keyword.strip()
ifnotchars:
return
level=self.keyword_chains
foriinrange(len(chars)):
ifchars[i]inlevel:
level=level[chars[i]]
else:
ifnotisinstance(level,dict):
break
forjinrange(i,len(chars)):
level[chars[j]]={}
last_level,last_char=level,chars[j]
level=level[chars[j]]
last_level[last_char]={self.delimit:0}
break
ifi==len(chars)-1:
level[self.delimit]=0
defparse(self,path):
withopen(path,encoding='utf-8')asf:
forkeywordinf:
self.add(str(keyword).strip())
deffilter(self,message,repl="*"):
message=message.lower()
ret=[]
start=0
whilestartlen(message):
level=self.keyword_chains
step_ins=0
forcharinmessage[start:]:
ifcharinlevel:
step_ins+=1
ifself.delimitnotinlevel[char]:
level=level[char]
else:
ret.append(repl*step_ins)
start+=step_ins-1
break
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 高中美術(shù)結(jié)業(yè)考試題目及答案
- 2025年信息系統(tǒng)項目管理考試題及答案
- 四川瀘州科一試題及答案
- java軟件研發(fā)面試題及答案
- 股票投資策略與實戰(zhàn)試題
- 電子競技賽事組織作業(yè)指導(dǎo)書
- 機電工程實操練習(xí)試題及答案
- 項目資源優(yōu)化配置策略試題及答案
- 西方政治考試的技能提升路徑試題及答案
- 機電工程考試試題及答案解析分享
- 有限空間作業(yè)氣體檢測記錄表
- 部編版語文六年級下冊第五單元教材解讀大單元集體備課
- 乒乓球的起源與發(fā)展
- 服裝表演音樂游戲課程設(shè)計
- 理工英語3-01-國開機考參考資料
- 頭顱常見病影像
- 漫畫解讀非煤地采礦山重大事故隱患判定標準
- 2024年建筑業(yè)10項新技術(shù)
- 《客艙安全與應(yīng)急處置》-課件:顛簸的原因及種類
- 《養(yǎng)老護理員》-課件:老年人衛(wèi)生、環(huán)境、食品安全防護知識
- 健康體檢科(中心)規(guī)章制度匯編
評論
0/150
提交評論