使用卷积神经网络与代理服务器实现骂人弹幕的自动屏蔽

2017-02-06 15:09:31 +08:00
 Yinz

https://yinzo.github.io/14863637393852.html

使用的是 TensorFlow 后端的 keras , 3000 条弹幕的识别时间在 5s 左右(指的是 model.predict 的单句计时 5s 左右),可能是 model 隐层节点太多了?不知道前辈们有没有一些提高速度的方法呢,如果能帮我指一下方向那将会非常有帮助:D

接下来准备继续学 RNN 以及 LSTM 来继续优化这个玩具分类器:D

另外后排继续寻找广州的机器学习实习岗,希望有 dalao 收留简历在这里

11996 次点击
所在节点    程序员
80 条回复
enenaaa
2017-02-06 16:30:14 +08:00
@Livid 如果从自然语义上着手, 窃以为 word2vec 实现词汇聚类后,用 dnn 做分类, 也许有效果。
gejigeji
2017-02-06 16:30:32 +08:00
@Yinz 给你发了邮件 麻烦查收下哈
jiangzhuo
2017-02-06 16:35:03 +08:00
@qq316107934 训练好的模型做成 chrome 插件就好了
Yinz
2017-02-06 16:39:34 +08:00
@jiangzhuo 主要这些弹幕播放器都是多平台的, chrome 插件不方便 app 等其他平台的直接套用 XD
Hstar
2017-02-06 16:46:40 +08:00
如果能自动骂人,我觉得这项目的关注度会上一个台阶.(认真脸) (逃
Yinz
2017-02-06 16:53:57 +08:00
@Hstar hhhhhh 好主意,可以顺便拿收集到的数据用 RNN 训练个 language model 来自动骂人 (逃
Izual_Yang
2017-02-06 17:35:14 +08:00
@Yinz
果然战争和黑产永远是技术发展和应用的最大推动力
regicide
2017-02-06 17:49:02 +08:00
@Yinz 可以多抓取几次 看哪些弹幕没有了啊
Yinz
2017-02-06 18:05:38 +08:00
@regicide 思考了一下,有点难,毕竟举报处理是 up 主负责的,处理的速度也很慢,跟不上弹幕的增加速度,一般换弹幕池了举报都没解决呢...
Necromancia
2017-02-06 19:34:24 +08:00
晕咗迷弟前来参拜;D
romantic1412
2017-02-06 19:51:19 +08:00
可以考虑一下 GAN
这样子你还能够顺便获得一个骂人水平很高的发帖机器 233
Yinz
2017-02-06 20:21:46 +08:00
@romantic1412 GAN 指的是 Generative Adversarial Networks 吗,是个没了解过的网络呢 :D
不过通过生成样本来提高样本量这个思路好像在哪篇论文里看到过 XD 我找时间深入了解下看看 XD
binux
2017-02-06 20:32:58 +08:00
模型看起来不错,你不是分了 validate 数据吗?准确率多少?
R18
2017-02-06 20:35:25 +08:00
很不错!膜下
Yinz
2017-02-06 20:39:26 +08:00
@binux 最终这个模型我测试了 20 次迭代,最后选的是第三次迭代的, Validation Accuracy 是 97.060%,训练部分的详细数据可以看这篇文章 :D
https://yinzo.github.io/14863637259966.html
wjm2038
2017-02-06 21:41:00 +08:00
建议跟官方反映一下,我觉得 b 站应该是很乐意看到这些东西的,顺便一提要是想要高质量的骂人弹幕请去乐视,腾讯网的弹幕抓取。。。 70%都是喷子
xuboying
2017-02-06 21:44:39 +08:00
这个可以学习一下。
nbndco
2017-02-06 22:02:45 +08:00
还是有不少可以改进的。
看了你的模型
1. 这么少的数据,其实 dropout 是很重要的,但是没做
2. 最后一个 sigmoid 就好了,二分类不要 softmax ,白白浪费空间
3. 其实这个应用最有效的是关键词过滤,其他的都没用,你用什么方法最后其实内部都成为某种意义的关键词查找而已。虽然理解你想用 deep learning ,但是其实有的时候并不是最复杂的方法就最好用的。

另外简历里面用 python 居然没有用 numpy 为何还要写出来自曝其短。
nicksite
2017-02-06 22:06:42 +08:00
监督学习速度快很多啊
Yinz
2017-02-06 22:16:18 +08:00
@nbndco 首先感谢建议:D

关于关键词过滤我是有这样的想法的,我平时过滤弹幕的做法通常都是看到某些弹幕后才寻找关键词加入屏蔽列表,但是长期下来总是有许多新的关键词出现,正是这些层出不穷的漏网之鱼(词)使我产生了使用机器学习来屏蔽的想法的。

我使用神经网络,是希望它能够在大量的骂人弹幕中,寻找出一些相对明显的,人工注意不到的特征(当然这些特征里面很可能也包括关键词特征),这也是我使用 CNN 而不是普通 MLP 的原因:)

如果单从识别并找出最佳的屏蔽关键词的角度来说的话,我觉得决策树可能是一个非常合适的选择

另外我是有使用 numpy 的,包括这个项目,只不过并不算非常熟练我也不太好意思写出来献丑了:D

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/338455

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX