溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

【原創(chuàng)】游密IM中的智能過濾系統(tǒng)

發(fā)布時(shí)間:2020-07-18 20:46:48 來源:網(wǎng)絡(luò) 閱讀:945 作者:游密通訊云 欄目:開發(fā)技術(shù)

1.1 為什么要過濾

    對于游戲研發(fā)商來說,如何有效規(guī)避或減少垃圾號在世界頻道刷廣告,是一個(gè)非常頭疼的問題。如果采用游戲客戶端直接屏蔽關(guān)鍵字的方式,會(huì)干擾到很多玩家的正常交流;如果采用游戲后臺過濾關(guān)鍵字的方式,提取聊天記錄之后再手動(dòng)封號會(huì)很不及時(shí);如果采用讓玩家手動(dòng)屏蔽、拉黑的方式,刷廣告的問題依然沒有治本;如果采用限制聊天等級,玩家又容易在新手期就流失……
  • 垃圾信息,危害了游戲本身,影響玩家的體驗(yàn)

  • 防止不良分子“拉人”,嚴(yán)重壓縮游戲的盈利空間

1.2 樸素貝葉斯過濾器

1.2.1 樸素貝葉斯的原理
    假設(shè)聊天記錄的內(nèi)容中包含的詞匯為Wi,垃圾消息Spam,正常消息ham。判斷一段聊天記錄,內(nèi)容包含的詞匯為Wi,判斷該聊天記錄是否是垃圾消息,即計(jì)算P(S|Wi)這個(gè)條件概率。根據(jù)Bayes' theorem:

【原創(chuàng)】游密IM中的智能過濾系統(tǒng)

其中:

  • Pr(S|Wi) 出現(xiàn)詞匯Wi的消息是垃圾消息的條件概率(即后驗(yàn)概率);

  • Pr(S) 訓(xùn)練階段消息數(shù)據(jù)集中垃圾消息的概率,或?qū)嶋H調(diào)查的垃圾消息的概率(即先驗(yàn)概率);

  • Pr(Wi|S) 垃圾消息中詞匯Wi出現(xiàn)的概率;

  • Pr(H) 訓(xùn)練階段消息數(shù)據(jù)集中正常消息的概率,或?qū)嶋H調(diào)查的正常消息的概率;

  • Pr(Wi|H) 正常消息中詞匯Wi出現(xiàn)的概率;

對于聊天記錄中出現(xiàn)的所有詞匯,考慮每個(gè)詞匯出現(xiàn)事件的獨(dú)立性,計(jì)算Pr(S|Wi)的聯(lián)合概率Pr(S|W),W={W1,W2,...Wn}:

【原創(chuàng)】游密IM中的智能過濾系統(tǒng)

其中:

  • P 即Pr(S|W),出現(xiàn)詞匯W={W1,W2......Wn}的郵件是垃圾消息的條件概率;

  • Pi 即Pr(S|Wi),出現(xiàn)詞匯Wi的郵件是垃圾消息的條件概率;

注: 程序中,通過計(jì)算出Pr(S|W)和Pr(H|W),比較Pr(S|W)和Pr(H|W)的大小,判斷是垃圾消息還是正常消息。我們發(fā)現(xiàn)Pr(S|W)和Pr(H|W)計(jì)算的分母相同,所以我們只需要比較分子即可。

但存在兩個(gè)問題:

當(dāng)詞匯不存在時(shí),即ni=0,此時(shí)Pr(S|Wi) = 0,會(huì)造成P=0,無法比較

當(dāng)Pr(S|Wi)較小時(shí),連乘操作會(huì)造成下溢出問題

解決方案:

計(jì)算P(Wi|S)和P(Wi|H)時(shí),將所有詞匯初始化出現(xiàn)的次數(shù)為1,并將分母初始化為2(或根據(jù)樣本/實(shí)際調(diào)查結(jié)果調(diào)整分母的值)。

# 統(tǒng)計(jì)語料庫中詞匯在S和H中出現(xiàn)的次數(shù)

wordsInSpamNum = np.ones(numWords)

wordsInHealthNum = np.ones(numWords)

spamWordsNum = 2.0

healthWordsNum = 2.0

計(jì)算P(Wi|S)和P(Wi|H)時(shí),對概率取對數(shù)

pWordsSpamicity = np.log(wordsInSpamNum /spamWordsNum)

pWordsHealthy = np.log(wordsInHealthNum /healthWordsNum)

所以最終比較的是,P(W1|S)P(W2|S)....P(Wn|S)P(S)和P(W1|H)P(W2|H)....P(Wn|H)P(H)的大小。

ps = sum(testWordsMarkedArray *pWordsSpamicity) + np.log(pSpam)

ph = sum(testWordsMarkedArray *pWordsHealthy) + np.log(1 - pSpam)

    測試效果: 5574個(gè)樣本,采用交叉驗(yàn)證,隨機(jī)選取4574個(gè)作為訓(xùn)練樣本,產(chǎn)生詞匯列表(語料庫),對1000個(gè)測試樣本,分類的平均錯(cuò)誤率約為:2.5%。

1.2.2 具體實(shí)現(xiàn)

    有了貝葉斯模型之后,還不能立即應(yīng)用,例如有些短語“?1~3!2@8@44#8z¥75@5”,里面含有一些特殊字符,可以把這些特殊字符過濾掉,過濾了之后還需要切詞,然后才能應(yīng)用貝葉斯模型,所以具體的實(shí)現(xiàn)過程如下:

    特別注意的是上圖中,當(dāng)我們識別到一條消息是垃圾之后,很有可能這條消息中的某些短語也能加入到黑名單樣本庫中作為判斷素材,所以我們把判斷出來的垃圾消息和它的切詞結(jié)果放在樣本庫中,后續(xù)再由人工標(biāo)注出黑名單詞匯,加入到貝葉斯模型的訓(xùn)練中。

    另外貝葉斯模型在不斷判斷過程中,會(huì)對每一個(gè)樣本得出一個(gè)“后驗(yàn)概率”,我們會(huì)定期淘汰掉后驗(yàn)概率比較小的詞匯,以保證整個(gè)模型運(yùn)行的高效。

1.3 游密IM智能過濾的價(jià)值

    根據(jù)之前在端游、頁游對玩家、客戶的調(diào)研,游密通訊迅速響應(yīng),推出了一套高效智能的廣告過濾系統(tǒng),能夠分析聊天內(nèi)容,快速與過濾詞庫匹配,再結(jié)合消息發(fā)送者的帳號、設(shè)備、用戶歷史行為等信息,迅速準(zhǔn)確的判定是否應(yīng)該過濾。系統(tǒng)不受無效字符干擾、支持多種語言,而且還支持用戶自定義過濾詞庫。另外,智能的系統(tǒng)還會(huì)自動(dòng)學(xué)習(xí),把新出現(xiàn)的廣告內(nèi)容添加到黑名單詞庫中,自動(dòng)迅速打擊垃圾信息。

    采取這樣的做法,一方面協(xié)助游戲運(yùn)營高效地管理游戲內(nèi)的社交系統(tǒng),強(qiáng)力打擊廣告、臟字等各式各樣敏感詞匯,就連“+v①2叁泗五看#尕%簧&片”等各種變形也不在話下,確保每一位玩家都能享受到綠色的聊天環(huán)境。另一方面,游密的反垃圾系統(tǒng)還率先添加了“防拉人”過濾,阻止不良分子在游戲中影響玩家的去向,極大程度地減少玩家的流失。

    而上述整個(gè)過濾過程都將在后臺高效完成,在玩家毫無感知的情況下,以每秒超過500萬字的分詞速度,絲毫不會(huì)影響玩家間的正常交流。

    不僅如此,游密通訊SDK還提供獨(dú)有的舉報(bào)、反饋等接口,支持玩家在游戲中直接舉報(bào)其他有違規(guī)行為的玩家,而游戲監(jiān)管運(yùn)營人員只需在游密的運(yùn)營管理平臺上查看舉報(bào)信息,并對違規(guī)玩家進(jìn)行禁言等操作,實(shí)現(xiàn)技術(shù)與運(yùn)營管理的完美結(jié)合,最大限度地保證游戲社交環(huán)境的健康性。

    游密科技一直推崇“服務(wù)至上,與您共同提升用戶體驗(yàn)”的服務(wù)理念,在一系列的定制化游戲通訊功能的道路上打造出了一支快速、積極、高質(zhì)的服務(wù)團(tuán)隊(duì)。未來,游密科技將繼續(xù)錘煉產(chǎn)品,為游戲研發(fā)商及玩家?guī)砀鼉?yōu)質(zhì)、更具親和力的服務(wù)體驗(yàn),助力國內(nèi)外精品游戲蓬勃發(fā)展!

編輯:小游

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI