【七夕特辑】人工智能可以预测女朋友什么时候生气吗?

首先你需要一个女朋友(认真脸+手动狗头,哈哈哈哈)。

今天是七夕,那我们就负责任的来聊聊女朋友的那些事儿。首先解决下作为宇宙九大定律、四大原则都无法解释的头号问题:女朋友为啥总是生气?

作为一个程序猿,我盘着手里的手串儿不禁咂摸:能不能把女朋友生气这件事给提前预测出来?然后从根本上杜绝她生气这件事(等待着来自未来女朋友的命运暴击)?

关于预测女朋友为啥生气有两种方式:1、到底如何预测女朋友当前是否在生气;2、预测女朋友未来一段时间内是否会生气。前者如果把女朋友的限定去掉就是一个目前很热的领域:情感识别,可以利用女朋友当前的面部表情、声音状态等来预测,这里就不展开讨论了,我更感兴趣的是第二种解读。

首先我想把这个问题定义得更清晰一点:是要预测未来多长时间内会生气?是预测接下来(马上)会生气,还是预测未来一段时间(比如一个月)内会生气?如果时间太长的话则预测难度很大,因为大部分生气都是因为一件刚发生的事生气,因此我认为把模型目标设定为预测接下来是否会生气是比较合理且实用的。

然后,女朋友生气的原因可能有很多,可能是因为你,也可能是其他原因。但是如果想预测所有生气的话,不仅需要采集和你相关的数据,还要监控女朋友的一举一动,这样实现起来难度太大,甚至还有进监狱的风险。因此这里只讨论因为你而生气这种情况。

样本收集

现在模型的目标确定了,我们来讨论一下如何收集样本。因为样本是为效果服务的,首先要分析一下女朋友生气的原因一般有哪些,可以通过哪些数据发现,再基于此设计采集数据的方法。据我有限的经验,女朋友生气无非是因为自己的一些行为或者言语让她失望了,比如约会迟到了,和女同事搞暧昧了,忘记女朋友生日了,没有回答好女朋友问的送命题等等。要准确识别这些危险的行为,可以采集图像/视频、声音和聊天记录,应该足以覆盖99%的场景了。

另外如果女朋友生气了你没有及时发现,她就会更加生气,据我观察这种情况非常普遍,因此识别女朋友当前是否在生气也很重要,这就回到了之前说的情感识别,可以将识别的结果作为这个模型的输入。除了具体的行为会让女朋友生气以外,一些特定的场景可能也会影响她的情绪,比如天气、生理期等,这些信息也要输入给模型。

接下来就是收集训练数据了,需要收集女朋友不生气时的数据作为副样本,以及生气前一段时间的数据作为正样本。因为我很少惹女朋友生气,只收集我的数据的话正样本太少,因此需要收集尽可能多的cp的数据。因为这个模型可以造福广大男/女朋友,相信会有很多cp愿意贡献自己的数据帮我们训练模型。如果还是不够的话,就需要用到few-shot learning一类的方法了。

label设计

然后是label的设计,直观上是否生气是一个二分类的label,但是生气是有程度的,如果能够对生气程度进行打分的话(可能需要女朋友的积极配合)就变成了一个回归或者多分类问题,这样模型可以学到更细微的区别,在线预测时也更好用,比如如果只是轻微的生气的话就不用管了(逃)。

模型结构设计

模型结构的设计上,首先样本的特征包含图像、语音等异构数据,因此需要用多模态模型来处理。除了当前天气这种静态信息以外,大部分特征都是序列特征,因此还可以用lstm等常见的序列模型。需要注意的是如果不做处理直接用原始的序列的话可能会非常长,因此可以分长短期来建模,短期(比如5分钟内)用原始序列,长期(一天内)先做一定的特征聚合再构建序列。

但是一天的时间就够长了吗?别忘了女朋友是会翻陈年旧账的(再次狗头)。举个例子,一年前我跟女朋友去内蒙旅游里吵过架,今天又一起来内蒙玩,女朋友触景生情又生气了。这种情况下需要模型具备很强的记忆能力,能够将相隔一年的两件事联系起来。

这对模型的记忆和抽象能力提出了非常高的要求,需要对长达一生的数据进行学习,目前仍然是一个挑战极大的难题。针对这种超长序列目前笔者所知的有阿里妈妈的MIMN、SIM模型。

进一步思考,因为训练样本用了很多cp的数据,而不同女朋友的生气阈值是完全不一样的,这就对模型的泛化能力提出了很大的考验,如果完全靠上面所讲的模型来学习,可能会很困难。女朋友的生气阈值,和她的性格有很大的关系,因此可以用女朋友的行为进行sentence embedding得到一个性格向量,再用这个向量对上面的序列特征做attention。

此外模型的可解释性也非常重要。如果你只知道女朋友马上要生气,却不知道为什么的话,那就很难阻止悲剧的发生。这方面的研究也有很多,比如可以通过上面所说的attention的权重来判断。

效果评估

模型训练好后需要线上评估效果,首先要买一个头盔,因为正常情况下女朋友生气太少见了,这个评测不能拖太久,所以要想法设法地惹女朋友生气,因此要做好防护措施。评测完后还要如实告诉女朋友这次实验,以防女朋友对你的印象大幅下降跟你分手,当然,也不排除告诉她后会更加生气。

扩展

最后,这个问题还有一个对偶问题:人工智能可以预测男朋友什么时候生气吗?不要觉得这两个任务可以用一个模型来解决,那样你会死的很惨,因为男朋友生气的点和女朋友有很大区别。比如说你一个人打了很久游戏,女朋友会不开心,但如果女朋友打游戏,你会开心得陪她一起打。但是两个任务也是有很多共性的,因此可以建模成一个multi-task任务,比如MMOE模型。

最后,祝你(我)早日找到女朋友。

  • 3
    点赞
  • 0
    收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值