背景: 想使用 sklearn 训练一个能够鉴别黄色文本的 model。 问题: 负样本(黄色小说)数量有很多,但是正常文本不知道该怎么选取。去人民日报找几万篇新闻会不会因为太片面而产生过拟合的问题?
1
zst 2018-04-07 12:30:20 +08:00 via Android
找点正常的小说不行吗😳
|
2
lsvih 2018-04-07 12:43:38 +08:00
比较常用的:1. 加数据集
2. 欠采样 3. 根据样本比例指定权重 |
3
fiht OP |
4
zix 2018-04-07 13:13:05 +08:00 2
根据使用场景决定你的输入数据的情况,尽量是贴近这个,比如说你就是用来区分小说是不是黄色小说,那就尽量使用小说数据来训练,而不是新闻;如果说你是用在社交网站、论坛上做过滤,那就用这些地方的数据,同时负样本也不应该用黄色小说。
|
5
murmur 2018-04-07 13:19:44 +08:00
鉴黄最简单的就是关键字过滤
因为有关部门也是这么认为的。。 |
7
Umix 2018-04-07 13:26:45 +08:00 via Android
同样觉得关键词有效的多。。。专家系统了解一下
|
8
enzo113 2018-04-07 13:52:52 +08:00
试着用 Anomaly Detection 的思路去做做看?
|
9
Shura 2018-04-07 14:23:38 +08:00
@fiht 你举的例子可以不用机器学习,用中文分词(很多 nlp 的轮子,比如 http://thulac.thunlp.org/),然后再用关键词过滤就行了。
|
10
imn1 2018-04-07 14:25:42 +08:00
你要追求 100%准确度么?
不然就必然有误报,「二十四口交换机」在自然人看来是低级的误报,但在机器角度,并非低级错误 关键词+词频+关键词库在文章的覆盖度,已经有足够高的判别了 如果要更进一步,恐怕要做语义环境分析了 但 「黄色文本」的定义清晰么?不清晰的话,如何界定哪些语义环境才是「黄色」? 模糊的定义,也只能模糊分析 |
13
takato 2018-04-07 15:41:26 +08:00
样本玩多了之后,你会发现,问题在于二分类这个方法论本身就有问题:)
|
14
zix 2018-04-07 17:19:24 +08:00 1
@fiht
你举的例子机器学习无法完全避免,除非你的正样本里能覆盖足够多这种看似有黄色内容但其实不是的数据 —— 但这个很难。 @Shura @imn1 关键词检测的技术依赖分词,但分词不一定能分对的。最后还是要看使用场景,看 @fiht 是追求召回还是准确(针对黄色内容)。追求召回的的话,可以大量收集相关的关键词和正则,用关键词检测的技术做,上 AC 自动机,性能基本不会有问题,不过我建议还是将匹配到的关键词作为特征,泛化性会更好一些;追求准确的话,尽量构建一个质量较好的样本,比如说负样本可以少点但是要准确,正样本可以多点甚至新闻等不相关场景的数据也可以拿过来作为补充。 另外如 @takato 所言,问题是否用二分类能解决,也要看具体的场景。如果希望能做更细粒度的分析,可以考虑一下句法、观点挖掘一类的东西。 数据集奉上,希望有帮助: - https://en.wikipedia.org/wiki/Mandarin_Chinese_profanity - https://github.com/spetacular/bannedwords |
15
takato 2018-04-07 17:28:01 +08:00
@zix 谢谢补充,的确这就是我想表达的。将内容本身升到更高维的表达,在某些情况下的确有利于更彻底地了解内容本身,可以使用的范围包括(但不限于)语义。
|
17
capo 2018-04-08 09:22:18 +08:00
过采样(你现在采用的)、欠采样、再缩放
|
19
murmur 2018-04-08 19:34:38 +08:00
补充一点
中文 NLP 的难点永远不在算法上 在于中文实在太牛逼了 我可以利用谐音象形甚至是隐喻的方式用一万种方式描述你的敏感词 尤其是现在图片加视频你更难识别 连快手都被逼紧急组建编辑团队人工审核 还有各大网站天天+1s 的 姿势不知道高到哪里去了 各种网站写情色小说的被逼换着关键字打擦边球 鉴黄本身就是伪需求 这是没有分级制度下被逼的东西 性也好色也好本身就是成年人的正常的需求 是大家喜闻乐见的东西 谁把这算法做到极致不等于自掘坟墓 |