這期內容當中小編將會給大家?guī)碛嘘P使用python如何過濾敏感詞,文章內容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
專注于為中小企業(yè)提供成都網站設計、成都網站制作服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)古丈免費做網站提供優(yōu)質的服務。我們立足成都,凝聚了一批互聯(lián)網行業(yè)人才,有力地推動了成百上千企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網站建設實現(xiàn)規(guī)模擴充和轉變。Python主要應用于:1、Web開發(fā);2、數據科學研究;3、網絡爬蟲;4、嵌入式應用開發(fā);5、游戲開發(fā);6、桌面應用開發(fā)。
如下所示:
#!/usr/bin/python2.6 # -*- coding: utf-8 -*- import time class Node(object): def __init__(self): self.children = None # The encode of word is UTF-8 def add_word(root,word): node = root for i in range(len(word)): if node.children == None: node.children = {} node.children[word[i]] = Node() elif word[i] not in node.children: node.children[word[i]] = Node() node = node.children[word[i]] def init(path): root = Node() fp = open(path,'r') for line in fp: line = line[0:-1] #print len(line) #print line #print type(line) add_word(root,line) fp.close() return root # The encode of word is UTF-8 # The encode of message is UTF-8 def is_contain(message, root): for i in range(len(message)): p = root j = i while (j測試結果:
1) 敏感詞 100個
----------------dfa----------- ***message*** 224 0.325479984283 ------------normal-------------- ***message*** 224 The count of word: 100 0.1073501110082) 敏感詞 1000 個
----------------dfa----------- ***message*** 224 0.324251890182 ------------normal-------------- ***message*** 224 The count of word: 1000 1.05939006805從上面的實驗我們可以看出,在DFA 算法只有在敏感詞較多的情況下,才有意義。在百來個敏感詞的情況下,甚至不如普通算法
下面從理論上推導時間復雜度,為了方便分析,首先假定消息文本是等長的,長度為lenA;每個敏感詞的長度相同,長度為lenB,敏感詞的個數是m。
1) DFA算法的核心是構建一棵多叉樹,由于我們已經假設,敏感詞的長度相同,所以樹的大深度為lenB,那么我們可以說從消息文本的某個位置(字節(jié))開始的某個子串是否在敏感詞樹中,最多只用經過lenB次匹配.也就是說判斷一個消息文本中是否有敏感詞的時間復雜度是lenA * lenB
2) 再來看看普通做法,是使用for循環(huán),對每一個敏感詞,依次在消息文本中進行查找,假定字符串是使用KMP算法,KMP算法的時間復雜度是O(lenA + lenB)
上述就是小編為大家分享的使用python如何過濾敏感詞了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注創(chuàng)新互聯(lián)成都網站設計公司行業(yè)資訊頻道。
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
當前名稱:使用python如何過濾敏感詞-創(chuàng)新互聯(lián)
本文來源:http://weahome.cn/article/dipidc.html