关键词过滤

Python实现批量敏感词、不沾边词过滤等;做电商一般导出或采集回来的关键词比较杂乱,而且会有商标词,或完全不相关的词等,这时人工处理大量关键词,明显不靠谱,效率低不说,还容易出错、或遗漏等,更重要的是人会特别烦躁、、、之前经验告诉我们:安排下面的人处理,就是恶心别人,敷衍自己!陡壁的我,还好码了一点字,将就着看吧!有什么可直接在写评论交流,互相电一下,俗称交流电:
1 # -*- coding: utf-8 -*- 2 import sys 3 reload(sys) 4 sys.setdefaultencoding('utf8') 5 6 7 op_txt=open('done.txt','a') 8 9 class NaiveFilter(): 10 11 '''Filter Messages from keywords 12 13 very simple filter implementation 14 15 >>> f = NaiveFilter() 16 >>> f.add("sexy") 17 >>> f.filter("hello sexy baby") 18 hello **** baby 19 ''' 20 21 def __init__(self): 22 self.keywords = set([]) 23 24 def parse(self, path): 25 for keyword in open(path): 26 self.keywords.add(keyword.strip().encode('utf-8').lower()) 27 # print self.keywords 28 29 def filter(self, message, replss=r"*"): 30 message = unicode(message).lower() 31 for k in self.keywords: 32 if k in message: 33 message=message.replace(k, replss) 34 else: 35 op_txt.write('%s\n'%message) 36 37 print message 38 # return message 39 40 41 if __name__ == '__main__': 42 f = NaiveFilter() 43 f.parse("keywords") #keywords里面放要敏感词或不想要的词等 44 a=[i.strip() for i in open('hotword.txt').readlines()] #hotword.txt是将要过滤的词库 45 c=len(a) 46 for i in range(c): 47 f.filter(a[i])
各行各业,请自备一份不想要、看不顺眼的词,运行一下脚本:就酱了!

浙公网安备 33010602011771号