关键词过滤

fresh
Python实现批量敏感词、不沾边词过滤等;做电商一般导出或采集回来的关键词比较杂乱,而且会有商标词,或完全不相关的词等,这时人工处理大量关键词,明显不靠谱,效率低不说,还容易出错、或遗漏等,更重要的是人会特别烦躁、、、之前经验告诉我们:安排下面的人处理,就是恶心别人,敷衍自己!陡壁的我,还好码了一点字,将就着看吧!有什么可直接在写评论交流,互相电一下,俗称交流电:

# -*- coding: utf-8 -*-
import sys
reload(sys)
sys.setdefaultencoding('utf8')


op_txt=open('done.txt','a')

class NaiveFilter():

    '''Filter Messages from keywords

    very simple filter implementation

    >>> f = NaiveFilter()
    >>> f.add("sexy")
    >>> f.filter("hello sexy baby")
    hello **** baby
    '''

    def __init__(self):
        self.keywords = set([])

    def parse(self, path):
        for keyword in open(path):
            self.keywords.add(keyword.strip().encode('utf-8').lower())
        # print self.keywords

    def filter(self, message, replss=r"*"):
        message = unicode(message).lower()
        for k in self.keywords:
            if k in message:
                message=message.replace(k, replss)
            else:
                op_txt.write('%s\n'%message)

        print message
        # return message


if __name__ == '__main__':
    f = NaiveFilter()
    f.parse("keywords")      #keywords里面放要敏感词或不想要的词等
    a=[i.strip() for i in open('hotword.txt').readlines()]      #hotword.txt是将要过滤的词库
    c=len(a)
    for i in range(c):
        f.filter(a[i])

各行各业,请自备一份不想要、看不顺眼的词,运行一下脚本:就酱了!

2 thoughts on “关键词过滤”

Leave a Comment