婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > python實(shí)現(xiàn)過濾敏感詞

python實(shí)現(xiàn)過濾敏感詞

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

簡述:

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

#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')

再例如反黃系列:

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

實(shí)戰(zhàn)案例:

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

1、DFA過濾敏感詞算法

在實(shí)現(xiàn)文字過濾的算法中,DFA是比較好的實(shí)現(xiàn)算法。DFA即Deterministic Finite Automaton,也就是確定有窮自動(dòng)機(jī)。
 算法核心是建立了以敏感詞為基礎(chǔ)的許多敏感詞樹。
 python 實(shí)現(xiàn)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="新疆騷亂蘋果新品發(fā)布會(huì)雞八"
    result = gfw.filter(text)

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

運(yùn)行效果:

新疆騷亂蘋果新品發(fā)布會(huì)雞八
****蘋果新品發(fā)布會(huì)**
總共耗時(shí):0.0010344982147216797s

2、AC自動(dòng)機(jī)過濾敏感詞算法

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

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

import time
time1=time.time()

# AC自動(dòng)機(jī)算法
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()

    # 添加敏感詞函數(shù)
    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

    # 失敗指針函數(shù)
    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])

    # 查找敏感詞函數(shù)
    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

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

    # 敏感詞替換函數(shù)
    def words_replace(self, text):
        """
        :param ah: AC自動(dòng)機(jī)
        :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="新疆騷亂蘋果新品發(fā)布會(huì)雞八"
    text2=ah.words_replace(text1)

    print(text1)
    print(text2)

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

運(yùn)行結(jié)果:

新疆騷亂蘋果新品發(fā)布會(huì)雞八
****蘋果新品發(fā)布會(huì)**
總共耗時(shí):0.0010304450988769531s

以上就是python實(shí)現(xiàn)過濾敏感詞的詳細(xì)內(nèi)容,更多關(guān)于python 過濾敏感詞的資料請關(guān)注腳本之家其它相關(guān)文章!

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

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

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《python實(shí)現(xiàn)過濾敏感詞》,本文關(guān)鍵詞  python,實(shí)現(xiàn),過濾,敏感,詞,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《python實(shí)現(xiàn)過濾敏感詞》相關(guān)的同類信息!
  • 本頁收集關(guān)于python實(shí)現(xiàn)過濾敏感詞的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国产精品天干天干在线综合| 欧美亚洲动漫制服丝袜| 久久久.com| 成人免费观看视频| 一区二区三区四区五区视频在线观看| 91蜜桃网址入口| 亚洲第一福利一区| 欧美sm极限捆绑bd| 成人精品国产免费网站| 亚洲综合一区在线| 日韩女优毛片在线| 不卡高清视频专区| 婷婷成人激情在线网| 国产午夜亚洲精品理论片色戒 | 9人人澡人人爽人人精品| 国产精品久久久一本精品| 欧洲视频一区二区| 国模冰冰炮一区二区| 亚洲欧洲av在线| 91精品在线观看入口| 成人免费观看av| 人人精品人人爱| 中文字幕欧美国产| 67194成人在线观看| 国产91清纯白嫩初高中在线观看| 亚洲综合图片区| www亚洲一区| 91精品福利视频| 国内外成人在线| 亚洲一级二级三级| 国产人成一区二区三区影院| 欧美午夜精品久久久久久孕妇| 国产一区二区免费视频| 一区二区三区精品视频| 久久久蜜桃精品| 欧美精品久久久久久久久老牛影院| 国产乱子伦视频一区二区三区| 亚洲高清中文字幕| 中文一区一区三区高中清不卡| 欧美日韩国产三级| 国产99久久久国产精品免费看| 天天色天天爱天天射综合| 国产精品黄色在线观看| 精品国产成人在线影院| 欧美视频中文一区二区三区在线观看| 国产电影精品久久禁18| 另类综合日韩欧美亚洲| 亚洲成人av电影在线| 亚洲欧洲av一区二区三区久久| 精品国产a毛片| 欧美日韩在线播放三区四区| av成人动漫在线观看| 国产麻豆精品视频| 久久精品国产亚洲aⅴ | 麻豆久久一区二区| 亚洲国产中文字幕| 亚洲黄色性网站| 亚洲欧美日韩中文字幕一区二区三区 | 日韩美女视频一区| 国产午夜久久久久| 久久嫩草精品久久久精品一| 91精品国产一区二区三区香蕉| 欧美系列一区二区| 欧美在线短视频| 色综合久久久久| 99精品黄色片免费大全| kk眼镜猥琐国模调教系列一区二区 | 欧美日韩在线直播| 在线亚洲欧美专区二区| 色婷婷综合久久久| 欧洲精品一区二区| 欧美午夜精品理论片a级按摩| 在线观看av一区| 欧美日韩国产欧美日美国产精品| 欧美午夜电影网| 欧美日韩不卡一区| 欧美理论片在线| 日韩亚洲欧美在线观看| 日韩欧美一级二级| 2023国产精华国产精品| 精品盗摄一区二区三区| 国产亚洲精品超碰| 自拍偷拍亚洲激情| 亚洲午夜国产一区99re久久| 亚洲国产美女搞黄色| 日韩电影在线观看一区| 韩国中文字幕2020精品| 大白屁股一区二区视频| 91蜜桃免费观看视频| 欧美性猛交一区二区三区精品| 欧美丰满一区二区免费视频| 日韩精品一区国产麻豆| 欧美国产精品久久| 亚洲宅男天堂在线观看无病毒| 日本欧美韩国一区三区| 国产精品一区二区在线播放| 99久久er热在这里只有精品15| 在线亚洲一区二区| 日韩写真欧美这视频| 中文一区一区三区高中清不卡| 一区二区三区在线观看动漫| 青娱乐精品在线视频| 国产高清无密码一区二区三区| 99久久国产综合精品女不卡| 91精品国产手机| 中文字幕精品一区二区精品绿巨人| 亚洲男人都懂的| 久久精品av麻豆的观看方式| 99精品久久久久久| 日韩一级成人av| 中文字幕一区二区在线观看| 三级亚洲高清视频| av在线不卡网| 日韩一级大片在线观看| 亚洲视频一二三区| 精品亚洲成a人| 欧美中文字幕一区| 国产日本欧洲亚洲| 日韩和欧美的一区| 91视频精品在这里| www日韩大片| 日本亚洲最大的色成网站www| www.亚洲免费av| 精品国一区二区三区| 亚洲一区二区偷拍精品| 国产精品91一区二区| 91精品国产综合久久精品| 亚洲卡通欧美制服中文| 国产精品1024| 日韩一卡二卡三卡四卡| 亚洲午夜久久久久久久久久久| 成人av电影免费观看| 精品国产百合女同互慰| 天天色 色综合| 在线观看一区二区精品视频| 国产精品乱码人人做人人爱| 久久疯狂做爰流白浆xx| 欧美二区在线观看| 亚洲精品ww久久久久久p站| 高清国产一区二区三区| 精品va天堂亚洲国产| 日本伊人午夜精品| 欧美无砖专区一中文字| 依依成人综合视频| 97精品超碰一区二区三区| 欧美激情一区二区三区全黄| 久久国产精品99久久久久久老狼| 欧美日韩综合在线免费观看| 一二三四社区欧美黄| 99久久精品免费精品国产| 国产免费久久精品| 国产成人在线网站| 久久久久久久久99精品| 国产剧情一区二区三区| 欧美成人女星排行榜| 激情综合色综合久久| 日韩欧美国产高清| 精品在线观看视频| 国产午夜亚洲精品理论片色戒 | 自拍偷在线精品自拍偷无码专区| 久久福利视频一区二区| 精品美女在线播放| 日产欧产美韩系列久久99| 欧美日韩国产美| 午夜视黄欧洲亚洲| 欧美精选一区二区| 日韩福利电影在线观看| 欧美一区二区三区免费在线看 | 日韩一区在线看| 成人免费毛片片v| 中文字幕人成不卡一区| www.欧美精品一二区| 亚洲国产成人一区二区三区| 成人晚上爱看视频| 亚洲日本丝袜连裤袜办公室| 在线视频国产一区| 亚洲成av人**亚洲成av**| 3d动漫精品啪啪一区二区竹菊| 日韩av中文字幕一区二区| 精品999久久久| 成人app在线观看| 亚洲午夜在线电影| 日韩亚洲国产中文字幕欧美| 国产高清成人在线| 亚洲黄色小说网站| 日韩一区二区中文字幕| 国产精品1区二区.| 亚洲男人天堂av网| 91极品视觉盛宴| 麻豆91在线观看| 国产精品久久三区| 欧美精品成人一区二区三区四区| 秋霞影院一区二区| 国产精品久久99| 欧美一区二区黄色| 丁香婷婷综合色啪| 日韩成人免费电影| 国产精品女同一区二区三区| 欧美人与禽zozo性伦| 国产成人精品亚洲午夜麻豆|