爱意满满的作品展示区。
waylybaye

熊猫吃短信:全新的基于机器学习的垃圾短信过滤应用(iOS ¥ 1 元特价)

  waylybaye · Dec 4, 2017 · 20537 views
This topic created in 3265 days ago, the information mentioned may be changed or developed.

作为一个生活在移动互联网时代的技术宅,饱受骚扰短信之苦,但没有一个简单的又不用上传自己短信的过滤应用。于是我从自己收到的两万多条短信以及测试期间用户提交的短信样本中训练出了熊猫。

iOS 11 带来了非常强大的 CoreML 机器学习框架,开发者都用来做视觉处理了,我就用它做一个文本归类的应用吧,让熊猫可以在手机里安家。

View on AppStore

熊猫吃短信

准确的语义识别

熊猫从庞大的样本中学习到了垃圾短信的文本模式,可以非常准确的从复杂的语义环境中对短信进行分类。比如下图中非常相似的 [京东支付] 的两条短信。

垃圾短信样本

你可以拷贝短信后,在应用里面点击 准确性测试 来测试准确度。

使用非常简单

您只需要安装后打开 设置 → 信息 → 未知与过滤信息 然后选中 熊猫吃短信 即可。熊猫就会默默的帮你吃掉垃圾短信。

关注隐私

熊猫不需要服务器端,不需要联网。应用自带完整的训练模型,使用 CoreML 就可以在手机上对短信进行分类。iOS 11 的沙盒限制也不允许短信过滤器访问网络以及向主 App 共享数据。虽然通过配置项可以让 iOS 11 向自己的服务器上发送短信在云端判断,但是熊猫并没有使用这一功能。

自动进化

熊猫正在飞速成长中,分类准确性依赖于熊猫有没有见过类似的信息。但是世界那么大,总有没吃过的东西,熊猫也有见识浅的时候。基于自愿原则,您可以在应用里面提交新的短信样本喂养熊猫,熊猫会从新的样本中学习到新的垃圾或者正常短信模式。

注意:提交短信样本会将短信匿名上传到服务器上,并非本地训练,熊猫将在云端完成学习,然后分发到所有人的手机上。

关于偏食

由于熊猫是我教的(监督学习),其一定程度上继承了我的喜好,对于有些比较模糊的短信,比如优惠、促销信息,我是一律标记为骚扰短信的。但是有些人可能会喜欢收到此类通知,大家自行取舍。

系统限制

由于 iOS 11 的系统设计原因,被过滤的短信也会显示角标,以及在 Apple Watch 上通知。另外 iOS 11 过滤短信是基于对话的过滤,如果同一个号码既发骚扰短信又发正常短信,那么整个对话都会被过滤。这种现象常见于五位数的号码,但 10 开头的短信发送端口非常少见。

最后

  • 熊猫的 Logo 来自于我最喜欢的一个滚滚背影图。
  • 熊猫目前只针对中文做了训练,其它语言环境下可能会撂摊子。
  • 我是一名全职的独立开发者,全干工程师,会移动开发,Python 十年老司机,略懂设计,求个关注(
191 replies  •  2018-02-03 17:33:40 +08:00
1  2  
❮ ❯
QAPTEAWH
QAPTEAWH
Dec 4, 2017
1
1 元买不了吃亏上当,先买了。

如果有防骚扰电话功能就好了。否则还是得装腾讯管家之流,而腾讯管家附带短信过滤(效果不议)。
leots
leots
Dec 4, 2017❤️1
2
之前在微博上看到这个 app 感觉很棒
想买来支持一下,可惜没有升级到 iOS11
mpich
mpich
Dec 4, 2017
3
语料能 share 吗…
coolcoffee
coolcoffee
Dec 4, 2017
4
mark 一下,我现在都是直接屏蔽所有短信,要接验证码再进去看。

现在 iOS 很扯淡的就是,就算识别为辣鸡短信,仍然会显示“+1 ”
SourceMan
SourceMan
Dec 4, 2017
5
买不了吃亏买不了上当,支持再支持
scp055
scp055
Dec 4, 2017
6
mark 下,有时间研究下 coreML
waylybaye
waylybaye
OP
Dec 4, 2017❤️1
7
@QAPTEAWH 电话过滤需要庞大的号码库,这个我就无能为力了… PS:企鹅好像不拦截自家的短信?

@leots CoreML 和短信过滤都是 11 才有的…

@mpich 我自己的显然不能,太多隐私信息,用户贡献的我也不知道自己有没有权利 share,没有加授权协议……

@coolcoffee 是的,这个不知道苹果是基于什么考虑的设计。
yksoft1
yksoft1
Dec 4, 2017
8
为啥不用 tensorflow 做模型,这样可以跨平台。。
lingo
lingo
Dec 4, 2017
9
@coolcoffee 跟你一样,突然意识到自己已经几乎没用过短信了,索性通知全关。几个月下来也没啥影响。
NVDA
NVDA
Dec 4, 2017
11
不支持其它语言...但是支持英语么?
yksoft1
yksoft1
Dec 4, 2017
12
@waylybaye 显然不用 CoreML,直接把 tensorflow 的库放进去,用其 C++的接口做
waylybaye
waylybaye
OP
Dec 4, 2017
13
@Mirage09 目前只有很少的英语训练集,所以应该是不支持的
ytterbium
ytterbium
Dec 4, 2017 via Android
14
@waylybaye 训练语料哪搞的?好厉害
waylybaye
waylybaye
OP
Dec 4, 2017
15
@yksoft1 我没试过不太清楚,我觉得它的 C++接口应该没有对 iPhone 进行硬件优化吧(瞎猜的
waylybaye
waylybaye
OP
Dec 4, 2017
16
@ytterbium 我自己手工一个个标注的啊,累死我了。之前有在网上下载短信语料,但是一旦用于目前的垃圾短信识别基本没法用,于是我就放弃公开语料自己收集了。借用朋友的一句话 “脱离生活的样本都是假样本”
run2
run2
Dec 4, 2017
17
用支付宝的红包支持了下(居然还可以两个红包合用😂)
run2
run2
Dec 4, 2017
18
“提交短信样本会将短信匿名上传到服务器上”
提交时可以把里面的数字脱敏么,比如验证码 比如手机号
waylybaye
waylybaye
OP
Dec 4, 2017
19
@sobigfish 可以可以,我正打算做这件事呢 👍
QAPTEAWH
QAPTEAWH
Dec 4, 2017
20
@coolcoffee 角标可以关掉。我短信是关闭声音、角标、锁屏显示的。
qiaoqiao1235
qiaoqiao1235
Dec 4, 2017 via iPhone❤️1
21
哦,原来 hyper app 也是楼主开发的!
douglas1997
douglas1997
Dec 4, 2017 via iPhone❤️1
22
已买,支持一下。
whlvi
whlvi
Dec 4, 2017 via iPhone❤️1
23
已买,支持一下
run2
run2
Dec 4, 2017
24
呃,看了下文档 https://developer.apple.com/documentation/identitylookup
原来上传到网络判断是直接传的(不能脱敏) 但 lz 没有用这个 API
plist 里还是默认的 URL:example-sms-filter-application.com

但是 example-sms-filter-application.com 这个域名被人注册了的,还是有危险的,lz 请尽快修改 ILMessageFilterExtensionNetworkURL
bpsy
bpsy
Dec 4, 2017 via iPhone❤️1
25
已买,支持一下
Tink
Tink
Dec 4, 2017 via iPhone
26
这个 666 啊
a554340466
a554340466
Dec 4, 2017 via iPhone
27
coreML 是怎么训练模型的
whlvi
whlvi
Dec 4, 2017 via iPhone
28
原来 hyper app 也是楼主开发 除了 hyper ping 还没有购买 剩下包括 cloud speed 也购买了
designer
designer
Dec 4, 2017
29
纯支持,但是这个不给看正脸,只能看背影的熊猫图标不太好看。
准备买楼主的 Hyper App
cloverstd
cloverstd
Dec 4, 2017
30


下面的框太小了
xenme
xenme
Dec 4, 2017
31
过滤改不了角标都是垃圾,所以,iOS 平台没有能用的过滤软件
waylybaye
waylybaye
OP
Dec 4, 2017❤️2
32
@sobigfish 这个是 Xcode 模板默认的,但只要没加 Associated Domains 就没事……

@a554340466 用别的训练啊,我用的 scikit-learn,我上面的那个链接有 CoreML 支持的库列表。
AsherG
AsherG
Dec 4, 2017
33
哦!我说怎么上次在我购买的列表里没看到 HyperApp 呢,我还以为我记错了 app 的名字,刚刚在楼主的 app 列表里点了一下才发现原来在国区被下架了
waylybaye
waylybaye
OP
Dec 4, 2017
34
@whlvi 哈哈哈哈,买了我一个,全家桶带回家 😂

@designer 正面细节太多了,我画不来……

@cloverstd 下面的框是可以滚动的~
waylybaye
waylybaye
OP
Dec 4, 2017
35
@AsherG 伤心往事(
iCodex
iCodex
Dec 4, 2017
36
美区 0.99 美金
forever139
forever139
Dec 4, 2017❤️1
37
@waylybaye 都快集齐你的全家桶了
Jreen
Jreen
Dec 4, 2017
38
怎么把误杀的短信(已经在未知与过滤信息)的恢复到联系人普通短信呢?我已经提交了正常短信文本检测…我又不想给 1069 加入通讯录,1069 号段经常变化就没弄通讯录
waylybaye
waylybaye
OP
Dec 4, 2017
39
@Jreen 我 App 里面有说明的,你只要随便回复两条短信(或者 3 条)就出来了 😂
jiangzhuo
jiangzhuo
Dec 4, 2017❤️1
40
测试了 666
twor2
twor2
Dec 4, 2017
41
安装后怎么让我知道起到作用了? 不会用..
xingwing
xingwing
Dec 4, 2017
42
把我浦发银行的短信,标记为垃圾了 @waylybaye
waylybaye
waylybaye
OP
Dec 4, 2017 via iPhone
43
@twor2 等你收到垃圾短信了就知道效果了……你也可以拷贝下短信自己试试准确性


@xingwing 浦发的好像是有误判,我在训练新的模型,这次样本很多。你也可以试试是不是被其它短信牵连了……
fyibmsd
fyibmsd
Dec 4, 2017
44
会误拦截验证码短信吗
lianz
lianz
Dec 4, 2017❤️1
45
不错,支持一个。
waylybaye
waylybaye
OP
Dec 4, 2017
46
@fyibmsd 我不能说百分之百的不会,因为我的训练样本中也有不少类似送苹果笔记本输入“验证码”这样的诈骗短信。一般来说正常的验证码几乎不会被拦截,我自己是没有遇到过被拦截的情况。
whlvi
whlvi
Dec 4, 2017 via iPhone❤️1
47
@waylybaye 全家桶快齐了 哈哈 从国区跟随到美区
yanze0613
yanze0613
Dec 4, 2017❤️1
48
已买,支持一下
loryyang
loryyang
Dec 4, 2017
49
我觉得需要小心处理用户上传短信,别把模型带偏了。。
batilo
batilo
Dec 4, 2017
50
会有 android 版本么?
waylybaye
waylybaye
OP
Dec 4, 2017
51
@whlvi 哈哈哈哈,打游击战的感觉

@batilo android 上应该有不少好用的短信拦截的应用吧,我就不重复造轮子了
waylybaye
waylybaye
OP
Dec 4, 2017
52
@loryyang 有这个考虑的,目前我都是人工校对的。不过样本快多到我人工处理不过来的地步了……
blakejia
blakejia
Dec 4, 2017
53
有没有根据号码判断呢?单纯根据内容判断。是不是比较容易误判
waylybaye
waylybaye
OP
Dec 4, 2017
54
@blakejia 不会啊,目前号码没加入特征中,没发现影响判断结果,号码的特征不太重要。
luoyuhui
luoyuhui
Dec 4, 2017❤️1
55
已下载\(^o^)/~
cloverstd
cloverstd
Dec 4, 2017
56
@waylybaye #34 知道可以滚到,但是不太协调和方便
onenightintokyo
onenightintokyo
Dec 4, 2017❤️1
57
活捉八爷
RangerWolf
RangerWolf
Dec 4, 2017
58
要是能过滤微信朋友圈的推广、营销消息就牛掰了!

自我感觉现在短信的应用场景,最多的就是验证码。

不过作为玩 NLP 的一员, 还要给楼主点个赞! (没有钱买 iPone, 只能精神支持了 :doge )
whlvi
whlvi
Dec 4, 2017 via iPhone❤️1
59
@waylybaye 你的 hyper app 最开始国区上架就开始用 后来过去大片封杀和转到美区
qiongmay
qiongmay
Dec 4, 2017
60
误拦的短信可以找到吗
AdamZ
AdamZ
Dec 4, 2017❤️1
61
哎呀,我的八爷来了
Monad
Monad
Dec 4, 2017❤️1
62
已兹磁 过两天看看效果
everhythm
everhythm
Dec 4, 2017
63
lz 这个点子不错
另外弱弱的问一句,贝叶斯过滤不够用么?
邮件是这么做的,感觉纯文本的短信也可以平移过来
waylybaye
waylybaye
OP
Dec 4, 2017
64
@cloverstd 这个是图省事直接用的系统组件… 一般短信也不会太长 😂

@RangerWolf 应用内部的都不太可能…还不如幻想下 iOS 12 苹果开放通知过滤权限

@qiongmay 可以啊,App 的帮助里面有说明
xz
xz
Dec 4, 2017
65
ios10 能用吗
waylybaye
waylybaye
OP
Dec 4, 2017
66
@everhythm 好多种考虑 1 是 CoreML 没办法直接支持使用 Bayes 的模型 2 是我将来可能上多分类
waylybaye
waylybaye
OP
Dec 4, 2017
67
@xz App Store 说不能就是不能,没有后门(
c6h6benzene
c6h6benzene
Dec 4, 2017❤️1
68
推特上看到,日区支持了一下。感谢作者!
yexiaoxing
yexiaoxing
Dec 4, 2017❤️1
69
已入试试 :)
AsherG
AsherG
Dec 4, 2017❤️1
70
又去美区买了个 HyperApp+Ping 的大包 →_→
Tyler1989
Tyler1989
Dec 4, 2017 via Android❤️1
71
已入😄
waylybaye
waylybaye
OP
Dec 4, 2017
72
@AsherG 😝

感谢各位支持
tnx2014
tnx2014
Dec 4, 2017
73
和企鹅管家兼容性怎样,因为还要用企鹅管家防电话,两者短信过滤可以一同开启么?
waylybaye
waylybaye
OP
Dec 4, 2017 via iPhone
74
@tnx2014 不能,只能开启一个。但是电话和短信是分开的,互不影响。
tnx2014
tnx2014
Dec 4, 2017❤️1
75
@waylybaye OK 知道了,你做的 APP 都很用心,感谢你。
thankfish
thankfish
Dec 4, 2017 via iPhone❤️1
76
已买!业界良心
yangyaofei
yangyaofei
Dec 4, 2017
77
啥时候出个 android 版的
mortal
mortal
Dec 4, 2017
78
可以加入自定义正则表达式的功能吗?就像 NekoSMS 那样。那就非常棒了!(所在公司的某些 ZZ 系统会发送恼人的提醒)
krzover
krzover
Dec 4, 2017❤️1
79
点击购买提示需要 ios11...想了想我还是口头支持下吧
waylybaye
waylybaye
OP
Dec 4, 2017
80
@yangyaofei android 目前没计划…

@mortal 正则可以考虑下,我目前以完善模型为主…
artandlol
artandlol
Dec 4, 2017 via iPhone
81
营运商的短信也给过滤了?
bytewalk
bytewalk
Dec 4, 2017❤️1
82
已买,多谢
waylybaye
waylybaye
OP
Dec 4, 2017
83
@artandlol 运营商的骚扰短信最多啊,而且是同一个号码发各种短信,会导致整个号码被过滤……

我个人不希望看到任何运营商推广流量、充值之类的短信,不过大家好像喜好不同……
xz
xz
Dec 4, 2017 via iPhone
84
@waylybaye 没看见上面写出来所以问一下啦
cesar
cesar
Dec 4, 2017❤️1
85
澳区已支持 :)
binss
binss
Dec 4, 2017❤️1
86
好东西,已购
saginardo
saginardo
Dec 4, 2017 via iPhone❤️1
87
已购,支持支持。
viosey
viosey
Dec 4, 2017
88
楼主的 APP 都不错呀,Ping,Cloud Speed,熊猫吃短信都有了
waylybaye
waylybaye
OP
Dec 4, 2017
89
@viosey 本帖惊现好几个我的全家桶用户 😲
viosey
viosey
Dec 4, 2017
90
@waylybaye #89 还差一个 HyperApp 了😂 可惜黑五没打折
artandlol
artandlol
Dec 4, 2017 via iPhone
91
@waylybaye 营运商会有一些提醒
也就是说你这是基于号码的过滤不是基于内容的过滤?
waylybaye
waylybaye
OP
Dec 4, 2017 via iPhone
92
@artandlol 看我上面正文里面系统限制那一段… App 里面的常见问题也有解释……
shanliang
shanliang
Dec 4, 2017❤️1
93
tg 群友过来资瓷一下
f0rger
f0rger
Dec 4, 2017 via iPhone❤️1
94
买的第四个短信过滤 app 了,
LeungJZ
LeungJZ
Dec 5, 2017 via Android
95
iPhone6 能不能用?
Jreen
Jreen
Dec 5, 2017 via iPhone❤️1
96
@LeungJZ #95 只要你的手机支持 iOS 11 就可以
baskice
baskice
Dec 5, 2017❤️1
97
赞,感谢~!
trotyoung
trotyoung
Dec 5, 2017 via iPhone
98
就我觉得这图标值得在我手机安家的么?国宝多萌啊。
功能棒当然也很重要,测了一下发现效果还行,等待时间检验。
run2
run2
Dec 5, 2017❤️1
99
不想被 Message Filter app extension 判断的(比如银行的) 可以把号码加入通讯录联系人
qmqy
qmqy
Dec 5, 2017
100
期待出 Android 版:)
1  2  
❮ ❯
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4812 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 146ms · UTC 01:52 · PVG 09:52 · LAX 17:52 · JFK 20:52
♥ Do have faith in what you're doing.