熊貓吃短信:全新基于機器學習的垃圾短信過濾應用
作為一個生活在移動互聯網時代的技術宅,飽受騷擾短信之苦,但沒有一個簡單的又不用上傳自己短信的過濾應用。于是我從自己收到的兩萬多條短信以及測試期間用戶提交的短信樣本中訓練出了熊貓。
iOS 11 帶來了非常強大的 CoreML 機器學習框架,開發者都用來做視覺處理了,我就用它做一個文本歸類的應用吧,讓熊貓可以在手機里安家。
準確的語義識別
熊貓從龐大的樣本中學習到了垃圾短信的文本模式,可以非常準確的從復雜的語義環境中對短信進行分類。比如下圖中非常相似的 【京東支付】 的兩條短信。
垃圾短信識別
你可以拷貝短信后,在應用里面點擊 準確性測試 來測試準確度。
使用非常簡單
您只需要安裝后打開 設置 → 信息 → 未知與過濾信息 然后選中 熊貓吃短信 即可。熊貓就會默默的幫你吃掉垃圾短信。
關注隱私
熊貓不需要服務器端,不需要聯網。應用自帶完整的訓練模型,使用 CoreML 就可以在手機上對短信進行分類。iOS 11 的沙盒限制也不允許短信過濾器訪問網絡以及向主App共享數據。雖然通過配置項可以讓 iOS 11 向自己的服務器上發送短信在云端判斷,但是熊貓并沒有使用這一功能。
自動進化
熊貓正在飛速成長中,分類準確性依賴于熊貓有沒有見過類似的信息。但是世界那么大,總有沒吃過的東西,熊貓也有見識淺的時候?;谧栽冈瓌t,您可以在應用里面提交新的短信樣本喂養熊貓,熊貓會從新的樣本中學習到新的垃圾或者正常短信模式。
注意:提交短信樣本會將短信匿名上傳到服務器上,并非本地訓練,熊貓將在云端完成學習,然后分發到所有人的手機上。
關于偏食
由于熊貓是我教的(監督學習),其一定程度上繼承了我的喜好,對于有些比較模糊的短信,比如優惠、促銷信息,我是一律標記為騷擾短信的。但是有些人可能會喜歡收到此類通知,大家自行取舍。
系統限制
由于 iOS 11 的系統設計原因,被過濾的短信也會顯示角標,以及在 Apple Watch 上通知。另外 iOS 11 過濾短信是基于對話的過濾,如果同一個號碼既發騷擾短信又發正常短信,那么整個對話都會被過濾。這種現象常見于五位數的號碼,但 10 開頭的短信發送端口非常少見。
***
- 熊貓的 Logo 來自于我最喜歡的一個滾滾背影圖。
- 熊貓目前只針對中文做了訓練,其它語言環境下可能會撂攤子。