校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > python實現過濾敏感詞

python實現過濾敏感詞

熱門標簽:唐山智能外呼系統一般多少錢 公司電話機器人 海南400電話如何申請 廣告地圖標注app 白銀外呼系統 激戰2地圖標注 騰訊外呼線路 陜西金融外呼系統 哈爾濱ai外呼系統定制

簡述:

關于敏感詞過濾可以看成是一種文本反垃圾算法,例如
 題目:敏感詞文本文件 filtered_words.txt,當用戶輸入敏感詞語,則用 星號 * 替換,例如當用戶輸入「北京是個好城市」,則變成「**是個好城市」
 代碼:

#coding=utf-8
def filterwords(x):
    with open(x,'r') as f:
        text=f.read()
    print text.split('\n')
    userinput=raw_input('myinput:')
    for i in text.split('\n'):
        if i in userinput:
            replace_str='*'*len(i.decode('utf-8'))
            word=userinput.replace(i,replace_str)
            return word

print filterwords('filtered_words.txt')

再例如反黃系列:

開發敏感詞語過濾程序,提示用戶輸入評論內容,如果用戶輸入的內容中包含特殊的字符:
敏感詞列表 li = ["蒼老師","東京熱",”武藤蘭”,”波多野結衣”]
則將用戶輸入的內容中的敏感詞匯替換成***,并添加到一個列表中;如果用戶輸入的內容沒有敏感詞匯,則直接添加到上述的列表中。
content = input('請輸入你的內容:')
li = ["蒼老師","東京熱","武藤蘭","波多野結衣"]
i = 0
while i  4:
    for li[i] in content:
        li1 = content.replace('蒼老師','***')
        li2 = li1.replace('東京熱','***')
        li3 = li2.replace('武藤蘭','***')
        li4 = li3.replace('波多野結衣','***')
    else:
        pass
    i += 1

實戰案例:

 一道bat面試題:快速替換10億條標題中的5萬個敏感詞,有哪些解決思路?
 有十億個標題,存在一個文件中,一行一個標題。有5萬個敏感詞,存在另一個文件。寫一個程序過濾掉所有標題中的所有敏感詞,保存到另一個文件中。

1、DFA過濾敏感詞算法

在實現文字過濾的算法中,DFA是比較好的實現算法。DFA即Deterministic Finite Automaton,也就是確定有窮自動機。
 算法核心是建立了以敏感詞為基礎的許多敏感詞樹。
 python 實現DFA算法:

# -*- coding:utf-8 -*-

import time
time1=time.time()

# DFA算法
class DFAFilter():
    def __init__(self):
        self.keyword_chains = {}
        self.delimit = '\x00'

    def add(self, keyword):
        keyword = keyword.lower()
        chars = keyword.strip()
        if not chars:
            return
        level = self.keyword_chains
        for i in range(len(chars)):
            if chars[i] in level:
                level = level[chars[i]]
            else:
                if not isinstance(level, dict):
                    break
                for j in range(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
        if i == len(chars) - 1:
            level[self.delimit] = 0

    def parse(self, path):
        with open(path,encoding='utf-8') as f:
            for keyword in f:
                self.add(str(keyword).strip())

    def filter(self, message, repl="*"):
        message = message.lower()
        ret = []
        start = 0
        while start  len(message):
            level = self.keyword_chains
            step_ins = 0
            for char in message[start:]:
                if char in level:
                    step_ins += 1
                    if self.delimit not in level[char]:
                        level = level[char]
                    else:
                        ret.append(repl * step_ins)
                        start += step_ins - 1
                        break
                else:
                    ret.append(message[start])
                    break
            else:
                ret.append(message[start])
            start += 1

        return ''.join(ret)


if __name__ == "__main__":
    gfw = DFAFilter()
    path="F:/文本反垃圾算法/sensitive_words.txt"
    gfw.parse(path)
    text="新疆騷亂蘋果新品發布會雞八"
    result = gfw.filter(text)

    print(text)
    print(result)
    time2 = time.time()
    print('總共耗時:' + str(time2 - time1) + 's')

運行效果:

新疆騷亂蘋果新品發布會雞八
****蘋果新品發布會**
總共耗時:0.0010344982147216797s

2、AC自動機過濾敏感詞算法

AC自動機:一個常見的例子就是給出n個單詞,再給出一段包含m個字符的文章,讓你找出有多少個單詞在文章里出現過。
 簡單地講,AC自動機就是字典樹+kmp算法+失配指針

# -*- coding:utf-8 -*-

import time
time1=time.time()

# AC自動機算法
class node(object):
    def __init__(self):
        self.next = {}
        self.fail = None
        self.isWord = False
        self.word = ""

class ac_automation(object):

    def __init__(self):
        self.root = node()

    # 添加敏感詞函數
    def addword(self, word):
        temp_root = self.root
        for char in word:
            if char not in temp_root.next:
                temp_root.next[char] = node()
            temp_root = temp_root.next[char]
        temp_root.isWord = True
        temp_root.word = word

    # 失敗指針函數
    def make_fail(self):
        temp_que = []
        temp_que.append(self.root)
        while len(temp_que) != 0:
            temp = temp_que.pop(0)
            p = None
            for key,value in temp.next.item():
                if temp == self.root:
                    temp.next[key].fail = self.root
                else:
                    p = temp.fail
                    while p is not None:
                        if key in p.next:
                            temp.next[key].fail = p.fail
                            break
                        p = p.fail
                    if p is None:
                        temp.next[key].fail = self.root
                temp_que.append(temp.next[key])

    # 查找敏感詞函數
    def search(self, content):
        p = self.root
        result = []
        currentposition = 0

        while currentposition  len(content):
            word = content[currentposition]
            while word in p.next == False and p != self.root:
                p = p.fail

            if word in p.next:
                p = p.next[word]
            else:
                p = self.root

            if p.isWord:
                result.append(p.word)
                p = self.root
            currentposition += 1
        return result

    # 加載敏感詞庫函數
    def parse(self, path):
        with open(path,encoding='utf-8') as f:
            for keyword in f:
                self.addword(str(keyword).strip())

    # 敏感詞替換函數
    def words_replace(self, text):
        """
        :param ah: AC自動機
        :param text: 文本
        :return: 過濾敏感詞之后的文本
        """
        result = list(set(self.search(text)))
        for x in result:
            m = text.replace(x, '*' * len(x))
            text = m
        return text





if __name__ == '__main__':

    ah = ac_automation()
    path='F:/文本反垃圾算法/sensitive_words.txt'
    ah.parse(path)
    text1="新疆騷亂蘋果新品發布會雞八"
    text2=ah.words_replace(text1)

    print(text1)
    print(text2)

    time2 = time.time()
    print('總共耗時:' + str(time2 - time1) + 's')

運行結果:

新疆騷亂蘋果新品發布會雞八
****蘋果新品發布會**
總共耗時:0.0010304450988769531s

以上就是python實現過濾敏感詞的詳細內容,更多關于python 過濾敏感詞的資料請關注腳本之家其它相關文章!

您可能感興趣的文章:
  • Python實現敏感詞過濾的4種方法
  • python用類實現文章敏感詞的過濾方法示例
  • 淺談Python 敏感詞過濾的實現
  • 利用Python正則表達式過濾敏感詞的方法
  • Python 實現王者榮耀中的敏感詞過濾示例
  • python 實現敏感詞過濾的方法
  • Python 敏感詞過濾的實現示例

標簽:惠州 黔西 益陽 上海 常德 四川 黑龍江 鷹潭

巨人網絡通訊聲明:本文標題《python實現過濾敏感詞》,本文關鍵詞  python,實現,過濾,敏感,詞,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《python實現過濾敏感詞》相關的同類信息!
  • 本頁收集關于python實現過濾敏感詞的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    麻豆精品在线播放| 亚洲精品高清视频在线观看| 99久久综合色| 成人黄色777网| 亚洲美女电影在线| 亚洲精品一二三区| 亚洲美腿欧美偷拍| 亚洲综合一区在线| 亚洲成精国产精品女| 亚洲精品国产品国语在线app| 亚洲国产高清aⅴ视频| 久久网站最新地址| 国产精品美女久久久久久2018 | 天堂一区二区在线| 日韩国产一二三区| 狠狠色丁香婷婷综合久久片| 亚洲国产精品嫩草影院| 图片区小说区国产精品视频| 日韩av午夜在线观看| 麻豆成人免费电影| 成人一区二区在线观看| 色狠狠综合天天综合综合| 91国偷自产一区二区开放时间 | 欧美精品一二三| 久久只精品国产| 亚洲综合激情小说| 久久精品二区亚洲w码| 国产夫妻精品视频| 欧美日韩中文另类| 国产色产综合产在线视频| 伊人性伊人情综合网| 极品尤物av久久免费看| 91丨九色丨黑人外教| 91精品国产综合久久婷婷香蕉 | 欧美狂野另类xxxxoooo| 久久久精品综合| 丝瓜av网站精品一区二区| 国产aⅴ综合色| 欧美精品三级在线观看| 久久伊人蜜桃av一区二区| 国产亚洲综合av| 日本不卡一区二区| 97精品久久久久中文字幕| 色激情天天射综合网| 久久视频一区二区| 老司机免费视频一区二区三区| 亚洲桃色在线一区| 亚洲国产高清在线观看视频| 亚洲一区在线电影| 欧美午夜精品久久久久久孕妇| 欧美人xxxx| 国产网站一区二区三区| 国产乱码字幕精品高清av| 日韩你懂的在线播放| 日本少妇一区二区| 精品91自产拍在线观看一区| 日韩福利视频导航| 久久只精品国产| 菠萝蜜视频在线观看一区| 欧美日韩亚洲综合一区| 亚洲国产中文字幕在线视频综合| 91麻豆成人久久精品二区三区| 一区二区三区四区不卡在线| 8v天堂国产在线一区二区| 日韩毛片在线免费观看| 欧美日韩在线免费视频| 久久成人免费网站| 国产精品国产a| 欧美福利视频一区| 91在线云播放| 成人精品视频一区| 老汉av免费一区二区三区| 亚洲精品福利视频网站| 亚洲国产高清在线观看视频| 欧美一区二区女人| 欧美卡1卡2卡| 欧美日韩一本到| 91啪在线观看| 99国内精品久久| 91同城在线观看| 色噜噜狠狠色综合中国| 99亚偷拍自图区亚洲| 成人午夜电影久久影院| 丰满少妇在线播放bd日韩电影| 久久se这里有精品| 日韩av在线免费观看不卡| 午夜精品视频一区| 日韩精品视频网站| 久久av中文字幕片| 国产真实乱偷精品视频免| 久久99精品一区二区三区三区| 美女高潮久久久| 国产精品影视网| av男人天堂一区| 欧美电影一区二区三区| 5月丁香婷婷综合| 久久久精品免费观看| 日韩美女视频一区| 天天综合色天天| 国产美女精品在线| 色婷婷av一区二区三区之一色屋| 91福利国产精品| 91精品国产综合久久婷婷香蕉 | 亚洲国产高清在线| 一二三区精品福利视频| 日本欧美肥老太交大片| 国产在线不卡视频| 一本大道久久a久久精品综合| 91麻豆精品国产91久久久久 | 91影院在线免费观看| 欧美美女黄视频| 国产精品免费看片| 日韩二区三区四区| 91麻豆精品在线观看| 日韩视频不卡中文| 亚洲精品久久久蜜桃| 国产精品一级黄| 欧美性大战久久久久久久| 国产午夜精品福利| 久久99精品久久久久久国产越南 | 欧美日韩一区小说| 在线一区二区三区四区五区| 欧美一区二区三区在线看| 国产婷婷色一区二区三区| 亚洲成a人在线观看| 97久久精品人人做人人爽50路| 7777精品伊人久久久大香线蕉最新版 | 国产成人午夜高潮毛片| 欧美一区二区在线免费观看| 日韩美女视频19| 99精品久久只有精品| 国产欧美一区二区三区沐欲 | 久久―日本道色综合久久| 免费不卡在线观看| 精品日韩一区二区三区| 免费欧美在线视频| 日韩欧美激情在线| 国产精品一二三四五| 国产精品私房写真福利视频| 韩国视频一区二区| 久久久久久亚洲综合| av毛片久久久久**hd| 一区二区三区精品| 欧美久久一二区| 国精产品一区一区三区mba视频| 337p日本欧洲亚洲大胆色噜噜| 国产精品亚洲午夜一区二区三区| 亚洲国产激情av| 欧美日本一道本在线视频| 一区二区三区不卡视频在线观看| 欧美网站大全在线观看| 青青草精品视频| 中文字幕一区二区三区视频| 色婷婷激情综合| 国产精品123| 日韩国产精品大片| 中文字幕五月欧美| 欧美成人猛片aaaaaaa| 97精品电影院| 美女看a上一区| 天天av天天翘天天综合网| 欧美国产日韩精品免费观看| 欧美乱熟臀69xxxxxx| 色婷婷国产精品久久包臀| 国产一二精品视频| 久久精品噜噜噜成人av农村| 亚洲精品菠萝久久久久久久| 久久久久久久综合| 日韩精品一区二区三区老鸭窝| 色偷偷久久人人79超碰人人澡| 国产乱人伦偷精品视频免下载 | 欧美日韩一二三区| 日本久久一区二区三区| 91免费观看国产| 91在线无精精品入口| av亚洲精华国产精华精华| 99这里只有精品| 91亚洲精品久久久蜜桃网站 | 国产片一区二区三区| 久久亚洲一区二区三区四区| 精品成人私密视频| 国产日韩三级在线| 国产精品久久久久精k8| 日韩美女久久久| 亚洲国产精品久久艾草纯爱| 五月天国产精品| 国产乱子轮精品视频| av在线播放一区二区三区| 色综合久久六月婷婷中文字幕| 欧美日韩在线一区二区| 欧美成人免费网站| 国产精品欧美一级免费| 亚洲国产日韩一区二区| 蜜臀久久久久久久| 成人理论电影网| 日韩一区二区免费高清| 国产精品午夜春色av| 亚洲成av人片| 色婷婷精品久久二区二区蜜臀av| 欧美日韩视频在线一区二区|