V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
waylybaye
V2EX  ›  分享创造

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

  waylybaye · 2017-12-04 11:28:18 +08:00 · 16865 次点击
这是一个创建于 2557 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

View on AppStore

熊猫吃短信

准确的语义识别

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

垃圾短信样本

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

使用非常简单

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

关注隐私

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

自动进化

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

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

关于偏食

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

系统限制

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

最后

  • 熊猫的 Logo 来自于我最喜欢的一个滚滚背影图。
  • 熊猫目前只针对中文做了训练,其它语言环境下可能会撂摊子。
  • 我是一名全职的独立开发者,全干工程师,会移动开发,Python 十年老司机,略懂设计,求个关注(
191 条回复    2018-02-03 17:33:40 +08:00
1  2  
Mcatt
    101
Mcatt  
   2017-12-05 09:26:35 +08:00   ❤️ 1
已经购买支持
waylybaye
    102
waylybaye  
OP
   2017-12-05 09:32:23 +08:00
@trotyoung 熊猫痴汉(
lingo
    103
lingo  
   2017-12-05 09:54:33 +08:00   ❤️ 1
好像买了的都有爱心诶,我也买了我也要
latteczy
    104
latteczy  
   2017-12-05 10:06:21 +08:00
之前提了 tf 为啥木有通过咩?
waylybaye
    105
waylybaye  
OP
   2017-12-05 10:09:05 +08:00
@lingo 😉 补一个

@latteczy 你的短信不是瞎填的吧,我把瞎填的都给删了
ChenPeiPei
    106
ChenPeiPei  
   2017-12-05 10:09:08 +08:00   ❤️ 1
资瓷~已买全家桶
wethen
    107
wethen  
   2017-12-05 10:10:04 +08:00
能不能把带“验证码”的文本信息权限调高一点,中国联航的验证码信息都被屏蔽掉了
waylybaye
    108
waylybaye  
OP
   2017-12-05 10:12:11 +08:00
@wethen 能发个样本吗,有些验证码不是用验证码这个词…
Patrick95
    109
Patrick95  
   2017-12-05 10:13:59 +08:00   ❤️ 1
已购买支持!
cloverstd
    110
cloverstd  
   2017-12-05 10:15:50 +08:00
能不能提供『训练』的 URL Schemes
wethen
    111
wethen  
   2017-12-05 10:17:48 +08:00 via iPhone
@waylybaye
[中国联航] xxxxxxxxx,终于等到你,从今天开始您就是我们的会员啦!登录官网 m.flycua.com 完善您的个人信息即可尊享更多优惠,小联将竭诚为您服务哦~您的动态验证码为:xxxxxx,感谢您对中国联航的支持!好朋友,一起飞!
waylybaye
    112
waylybaye  
OP
   2017-12-05 10:18:32 +08:00
@cloverstd 可以可以,我还打算加个 3D Touch 的快捷方式。
waylybaye
    113
waylybaye  
OP
   2017-12-05 10:20:36 +08:00
@wethen 感谢,我下个版本重新训练下熊猫,确保验证码类的准确率接近 100%
Patrick95
    114
Patrick95  
   2017-12-05 10:24:28 +08:00 via iPhone
我测试了测,信用卡的营销短信基本都被识别为正常短信了,看来还得继续喂养。
Patrick95
    115
Patrick95  
   2017-12-05 10:27:21 +08:00 via iPhone
喔我知道了,如果是招行信用卡的营销短信,熊猫是不屏蔽的,如果屏蔽了,消费提醒短信也会受到牵连,因为是基于会话屏蔽的。
Thiece
    116
Thiece  
   2017-12-05 10:32:03 +08:00
emmmm,已经存在的短信不会进行规律整理吗?
xcatliu
    117
xcatliu  
   2017-12-05 10:35:18 +08:00   ❤️ 1
购买支持~
waylybaye
    118
waylybaye  
OP
   2017-12-05 10:35:26 +08:00
@Patrick95 虽然你脑补的很好,但事实应该是熊猫判断错了 😂

如果你是在 App 里面的 [准确性测试] 里边测试出来是熊猫判断为正常短信的那就是判断错了。不过我用招行这么多年,它的营销短信我都标注为垃圾短息了,一般也不会判断错啊……
jinzhe
    119
jinzhe  
   2017-12-05 10:35:48 +08:00
既然能得到内容会不会自动收集私人短信?细思极恐
waylybaye
    120
waylybaye  
OP
   2017-12-05 10:35:50 +08:00
@Thiece 不会啊,只有新短信会。
Thiece
    121
Thiece  
   2017-12-05 10:38:03 +08:00
@waylybaye 我还想事实让他帮我整理下我近 1w 条的短信。
waylybaye
    122
waylybaye  
OP
   2017-12-05 10:47:00 +08:00
@jinzhe 请看完正文再发表评论


@Thiece 已有的短信没有权限读取的,只有新短信才会调用接口来进行过滤。
gtanyin
    123
gtanyin  
   2017-12-05 11:00:49 +08:00   ❤️ 1
已支持,界面好评
binjoo
    124
binjoo  
   2017-12-05 11:12:21 +08:00
刚在小众上看到了。
Charkey
    125
Charkey  
   2017-12-05 11:14:06 +08:00   ❤️ 1
购买支持一下
lingo
    126
lingo  
   2017-12-05 11:20:49 +08:00
@jinzhe 所以之前腾讯管家的我就没用,这个我想试试是因为,我挺惊讶的是,这个 APP 完全就没要联网。。。
LeungJZ
    127
LeungJZ  
   2017-12-05 11:21:17 +08:00   ❤️ 1
已购买支持
soupice
    128
soupice  
   2017-12-05 11:23:52 +08:00   ❤️ 1
已购买
Narwhal
    129
Narwhal  
   2017-12-05 11:34:16 +08:00
啥时候出 Google play 版 0-0
revival83
    130
revival83  
   2017-12-05 11:34:23 +08:00   ❤️ 1
已表示支持!要加油哦!
revival83
    131
revival83  
   2017-12-05 11:40:06 +08:00
不知道过滤了拉近短信后,短信图标的小红点还提示吗?
Jreen
    132
Jreen  
   2017-12-05 11:41:32 +08:00 via iPhone
@revival83 #131 还是会出现小红点,没办法,iOS 的问题
RickyBoy
    133
RickyBoy  
   2017-12-05 11:45:03 +08:00 via iPhone   ❤️ 1
支持一个已买
exciting
    134
exciting  
   2017-12-05 11:46:27 +08:00 via iPhone   ❤️ 1
发现需要 iOS11。。。还是算了。。
waylybaye
    135
waylybaye  
OP
   2017-12-05 12:04:43 +08:00
@lingo 提交样本时还是会请求网络权限的 (捂脸

@Narwhal 暂时没有时间表…
paullee
    136
paullee  
   2017-12-05 12:18:21 +08:00 via iPhone   ❤️ 1
昨天在推上看到了推广,已购,同时期待拦截骚扰电话的功能,这样就可以省掉腾讯那个庞然大物了
Wao
    137
Wao  
   2017-12-05 12:18:39 +08:00 via iPhone   ❤️ 1
感谢,已入
hvanke
    138
hvanke  
   2017-12-05 12:20:17 +08:00 via iPhone   ❤️ 1
已支持,试用一下
hubert3
    139
hubert3  
   2017-12-05 12:23:46 +08:00
ios10 咋办呢
zhr0769
    140
zhr0769  
   2017-12-05 12:29:52 +08:00 via iPhone
香港要 8$
waylybaye
    141
waylybaye  
OP
   2017-12-05 12:32:54 +08:00 via iPhone
@hubert3 10 没办法……谁都支持不了

@zhr0769 1 元是中国特有的价格,其他区对应最低价格的本地货币
JasonMerlin
    142
JasonMerlin  
   2017-12-05 13:42:52 +08:00   ❤️ 1
支持了, 已购买~
trotyoung
    143
trotyoung  
   2017-12-05 13:52:21 +08:00 via iPhone
@waylybaye 你就知道我是个汉…而且你这么暴露我……
wanwan
    144
wanwan  
   2017-12-05 14:02:02 +08:00   ❤️ 1
支持下
jackysc
    145
jackysc  
   2017-12-05 14:21:12 +08:00   ❤️ 1
发现除了那个被下架的 app 以外 楼主的 app 我都入手了。。
zyu0090
    146
zyu0090  
   2017-12-05 14:30:32 +08:00
把短信删完之后,短信.app 里面没有新建短信的加号了。。这锅谁背啊??
waylybaye
    147
waylybaye  
OP
   2017-12-05 14:40:59 +08:00
@trotyoung 🌝

@jackysc 😎

@zyu0090 反正不是我背……
zyu0090
    148
zyu0090  
   2017-12-05 15:28:38 +08:00
@waylybaye 好神奇。。收了一条短信那个编写按钮就出来了。。。不过还是闪一闪的。。
waylybaye
    149
waylybaye  
OP
   2017-12-05 15:36:21 +08:00 via iPhone
@zyu0090 #bugOS
zyu0090
    150
zyu0090  
   2017-12-05 15:48:16 +08:00
@waylybaye 提个小建议,提交垃圾短信样本之后可以考虑来个 feedback,我一直在等。。。
kimcool
    151
kimcool  
   2017-12-05 16:05:23 +08:00   ❤️ 1
超棒啊!购买支持下!
waylybaye
    152
waylybaye  
OP
   2017-12-05 16:15:14 +08:00
@zyu0090 正在想交互方式…
lxz6597863
    153
lxz6597863  
   2017-12-05 16:40:29 +08:00   ❤️ 1
支持,试用中
Pu
    154
Pu  
   2017-12-05 16:45:02 +08:00   ❤️ 1
已购
xjoker
    155
xjoker  
   2017-12-05 16:58:14 +08:00   ❤️ 1
全家桶用户前来支持
caiyue1993
    156
caiyue1993  
   2017-12-05 17:20:03 +08:00
看来 CoreML 有点意思,感谢作者的实践
trotyoung
    157
trotyoung  
   2017-12-05 17:28:56 +08:00 via iPhone
@waylybaye 好罢
latteczy
    158
latteczy  
   2017-12-05 17:43:18 +08:00
@waylybaye #105 不是瞎填的啊,我是从我的收件箱里面找的垃圾短信复制上去的
waylybaye
    159
waylybaye  
OP
   2017-12-05 17:56:09 +08:00
@caiyue1993 哈哈,我也是好奇这么久了为啥没有人想着用 CoreML 来做文本分类就自己搞了个。

@latteczy hmmm 正常填的我都发了邀请了,但是也有不少人没有安装,也许你填错邮箱了,或者被当成垃圾邮件了……
kuhung
    160
kuhung  
   2017-12-05 18:37:25 +08:00
老哥,你的线下基线多少?用 ACC 还是 F1 做评价指标?从一个建模人员看,你的模型还有很大提升空间。
loserwn
    161
loserwn  
   2017-12-05 18:54:22 +08:00
@waylybaye 我已经支持。感谢作品。我有个问题,根据你对比判断,现在腾讯手机助手支持的「垃圾短信」拦截机制是通过什么方法?跟你通过 CoreML 最大的不同是什么?有明显的对比例子么?
waylybaye
    162
waylybaye  
OP
   2017-12-05 19:12:49 +08:00
@kuhung 用的 F1,不过根据我的测试,准确度跟样本息息相关,所以我现在主要在做标注样本的收集工作…
Lothar
    163
Lothar  
   2017-12-05 19:16:32 +08:00   ❤️ 1
支持买了~不过不能帮忙归档老的短信哎。。
waylybaye
    164
waylybaye  
OP
   2017-12-05 19:20:09 +08:00
@loserwn 根据腾讯自己的介绍:

> 2 )智能识别及过滤垃圾短信,查看短信更快捷;
> 默认过滤诈骗违法等短信,开启“过滤增强”智能模式后可进一步过滤广告推销短信

它的离线判断应该只是过滤诈骗违法短信的,要过滤推销短信需要上传到服务器进行判断。

明显的区别就是离线状态它不拦截财付通理财类的推广,以及其它各种营销推广短信。我没试过它的云查怎么样,我是绝对不会把自己短信上传的。
waylybaye
    165
waylybaye  
OP
   2017-12-05 19:25:39 +08:00
@waylybaye 不对,是我误解了,它的“过滤增强”模式好像和云查不是一回事。过滤增强模式应该也是离线的。
xinhugo
    166
xinhugo  
   2017-12-05 19:45:15 +08:00   ❤️ 1
不错,已购
kuhung
    167
kuhung  
   2017-12-05 20:15:48 +08:00
这里就会有个问题:用户会把垃圾短信上传,而部分误判的、有隐私的正样本选择不上传,最后训练的正负样本和现实分布不同,误判率会上升...
waylybaye
    168
waylybaye  
OP
   2017-12-05 20:35:04 +08:00
@kuhung 不会啊,虽然不到 1:1 但是差别也不是太大… 好多人都知道提交验证码、通知类的短信。
dsphper
    169
dsphper  
   2017-12-06 09:44:36 +08:00
楼主我出两元求模型加余料
dsphper
    170
dsphper  
   2017-12-06 09:44:47 +08:00
语料
waylybaye
    171
waylybaye  
OP
   2017-12-06 10:46:38 +08:00
@dsphper 你出 4 块我直接把源码卖给你呗……
vinxee
    172
vinxee  
   2017-12-06 14:19:54 +08:00
为什么不直接用腾讯手机管家?免费而且里面是一个十几人的团队用机器学习技术来识别的,数据量还贼多。
waylybaye
    173
waylybaye  
OP
   2017-12-06 14:39:01 +08:00
@vinxee 没人不让你用啊,爱用哪个用哪个。
feifan00x
    174
feifan00x  
   2017-12-06 15:16:01 +08:00   ❤️ 1
已买
zyu0090
    175
zyu0090  
   2017-12-06 15:17:50 +08:00
有没有办法不让来垃圾短信显示角标?
waylybaye
    176
waylybaye  
OP
   2017-12-06 16:16:29 +08:00
@zyu0090 没办法…等苹果改吧…… 一个很傻的方法是在设置里面把整个信息的角标都禁了
Thiece
    177
Thiece  
   2017-12-07 12:00:04 +08:00
@waylybaye 一天用下来,对于熊猫对于电商营销的判断还是不尽人意,(双 11 买的东西比较多,现在快双 12 了,营销短信哗哗的就过来了),我想帮助熊猫的成长,但是很明显 IOS 一条一条的复制喂养效率太低了,有什么更高效的方法吗?我手机上可提供的样本还是蛮多的(每次换手机短信都同步过去几年来一直积累)
waylybaye
    178
waylybaye  
OP
   2017-12-07 12:29:47 +08:00
@Thiece 你可以用 iMazing 把短信全部导出来打包发给我 😜

这两天刚收集了差不多一万条短信,我正标注然后训练呢。
shunia
    179
shunia  
   2017-12-07 15:28:06 +08:00   ❤️ 1
哇,这功能,神 tm 牛*,赶紧去买买买
permaylau
    180
permaylau  
   2017-12-07 22:54:55 +08:00   ❤️ 1
不错,希望出 android 版,我用我的博客:春晓网,www,uwexp.com 给你的产品宣传一下。
lwd2136
    181
lwd2136  
   2017-12-08 14:53:37 +08:00
@waylybaye 开发一个垃圾电话拦截嘛
qf19910623
    182
qf19910623  
   2017-12-08 15:49:50 +08:00   ❤️ 1
先支持在下载~
vincentD
    183
vincentD  
   2017-12-08 16:35:32 +08:00
@waylybaye 需 IOS11 吗,我的备用机 5c 是移动卡。每天都会有好几条开发票的推荐短信,都烦透了。这个软件能治吗,好想解决这个问题。
waylybaye
    184
waylybaye  
OP
   2017-12-09 17:11:25 +08:00 via iPhone
@lwd2136 这个真做不了……
@vincentD 是的,11 是硬要求
blakejia
    185
blakejia  
   2017-12-09 20:54:32 +08:00
长沙银行的短信被整个拦了。囧
waylybaye
    186
waylybaye  
OP
   2017-12-09 21:34:31 +08:00
@blakejia 银行的老是用同一个号码发短信,没有好办法
irockytan
    187
irockytan  
   2017-12-13 10:36:14 +08:00 via Android
居然是你,你的 hyperapp 是下架了么? tg 找你也没回
waylybaye
    188
waylybaye  
OP
   2017-12-14 20:19:47 +08:00
@irockytan 被下架了,tg 私聊不经常看…
wiZ90
    189
wiZ90  
   2018-02-03 14:06:14 +08:00 via Android
@waylybaye got android ?
waylybaye
    190
waylybaye  
OP
   2018-02-03 14:10:41 +08:00
@wiZ90 android 实现没问题,只不过现在要写数据库必须要设置成默认信息应用,这个需要做的就太多了,所以就没继续往下做了(
wiZ90
    191
wiZ90  
   2018-02-03 17:33:40 +08:00 via Android
@waylybaye 如果回来上架了记得喊一声~翔尼等原生来说算是救星了
不过我不用系统短信。。口胡
1  2  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5362 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 28ms · UTC 09:24 · PVG 17:24 · LAX 01:24 · JFK 04:24
Developed with CodeLauncher
♥ Do have faith in what you're doing.