您好,登錄后才能下訂單哦!
對于游戲研發商來說,如何有效規避或減少垃圾號在世界頻道刷廣告,是一個非常頭疼的問題。如果采用游戲客戶端直接屏蔽關鍵字的方式,會干擾到很多玩家的正常交流;如果采用游戲后臺過濾關鍵字的方式,提取聊天記錄之后再手動封號會很不及時;如果采用讓玩家手動屏蔽、拉黑的方式,刷廣告的問題依然沒有治本;如果采用限制聊天等級,玩家又容易在新手期就流失……
垃圾信息,危害了游戲本身,影響玩家的體驗
假設聊天記錄的內容中包含的詞匯為Wi,垃圾消息Spam,正常消息ham。判斷一段聊天記錄,內容包含的詞匯為Wi,判斷該聊天記錄是否是垃圾消息,即計算P(S|Wi)這個條件概率。根據Bayes' theorem:
其中:
Pr(S|Wi) 出現詞匯Wi的消息是垃圾消息的條件概率(即后驗概率);
Pr(S) 訓練階段消息數據集中垃圾消息的概率,或實際調查的垃圾消息的概率(即先驗概率);
Pr(Wi|S) 垃圾消息中詞匯Wi出現的概率;
Pr(H) 訓練階段消息數據集中正常消息的概率,或實際調查的正常消息的概率;
對于聊天記錄中出現的所有詞匯,考慮每個詞匯出現事件的獨立性,計算Pr(S|Wi)的聯合概率Pr(S|W),W={W1,W2,...Wn}:
其中:
P 即Pr(S|W),出現詞匯W={W1,W2......Wn}的郵件是垃圾消息的條件概率;
注: 程序中,通過計算出Pr(S|W)和Pr(H|W),比較Pr(S|W)和Pr(H|W)的大小,判斷是垃圾消息還是正常消息。我們發現Pr(S|W)和Pr(H|W)計算的分母相同,所以我們只需要比較分子即可。
但存在兩個問題:
當詞匯不存在時,即ni=0,此時Pr(S|Wi) = 0,會造成P=0,無法比較
當Pr(S|Wi)較小時,連乘操作會造成下溢出問題
解決方案:
計算P(Wi|S)和P(Wi|H)時,將所有詞匯初始化出現的次數為1,并將分母初始化為2(或根據樣本/實際調查結果調整分母的值)。
# 統計語料庫中詞匯在S和H中出現的次數
wordsInSpamNum = np.ones(numWords)
wordsInHealthNum = np.ones(numWords)
spamWordsNum = 2.0
healthWordsNum = 2.0
計算P(Wi|S)和P(Wi|H)時,對概率取對數
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個樣本,采用交叉驗證,隨機選取4574個作為訓練樣本,產生詞匯列表(語料庫),對1000個測試樣本,分類的平均錯誤率約為:2.5%。
有了貝葉斯模型之后,還不能立即應用,例如有些短語“?1~3!2@8@44#8z¥75@5”,里面含有一些特殊字符,可以把這些特殊字符過濾掉,過濾了之后還需要切詞,然后才能應用貝葉斯模型,所以具體的實現過程如下:
特別注意的是上圖中,當我們識別到一條消息是垃圾之后,很有可能這條消息中的某些短語也能加入到黑名單樣本庫中作為判斷素材,所以我們把判斷出來的垃圾消息和它的切詞結果放在樣本庫中,后續再由人工標注出黑名單詞匯,加入到貝葉斯模型的訓練中。
另外貝葉斯模型在不斷判斷過程中,會對每一個樣本得出一個“后驗概率”,我們會定期淘汰掉后驗概率比較小的詞匯,以保證整個模型運行的高效。
根據之前在端游、頁游對玩家、客戶的調研,游密通訊迅速響應,推出了一套高效智能的廣告過濾系統,能夠分析聊天內容,快速與過濾詞庫匹配,再結合消息發送者的帳號、設備、用戶歷史行為等信息,迅速準確的判定是否應該過濾。系統不受無效字符干擾、支持多種語言,而且還支持用戶自定義過濾詞庫。另外,智能的系統還會自動學習,把新出現的廣告內容添加到黑名單詞庫中,自動迅速打擊垃圾信息。
采取這樣的做法,一方面協助游戲運營高效地管理游戲內的社交系統,強力打擊廣告、臟字等各式各樣敏感詞匯,就連“+v①2叁泗五看#尕%簧&片”等各種變形也不在話下,確保每一位玩家都能享受到綠色的聊天環境。另一方面,游密的反垃圾系統還率先添加了“防拉人”過濾,阻止不良分子在游戲中影響玩家的去向,極大程度地減少玩家的流失。
而上述整個過濾過程都將在后臺高效完成,在玩家毫無感知的情況下,以每秒超過500萬字的分詞速度,絲毫不會影響玩家間的正常交流。
不僅如此,游密通訊SDK還提供獨有的舉報、反饋等接口,支持玩家在游戲中直接舉報其他有違規行為的玩家,而游戲監管運營人員只需在游密的運營管理平臺上查看舉報信息,并對違規玩家進行禁言等操作,實現技術與運營管理的完美結合,最大限度地保證游戲社交環境的健康性。
游密科技一直推崇“服務至上,與您共同提升用戶體驗”的服務理念,在一系列的定制化游戲通訊功能的道路上打造出了一支快速、積極、高質的服務團隊。未來,游密科技將繼續錘煉產品,為游戲研發商及玩家帶來更優質、更具親和力的服務體驗,助力國內外精品游戲蓬勃發展!
編輯:小游
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。