谈谈机器学习在企业里的应用

我所在的企业,是一家中国知名互联网企业。我的团队,专门从事企业产品的研发。

说起大数据、机器学习,就像老师说的那样,这几个概念,真是一座山峰的不同侧面。其实从学术上看,这些东西难免高深难懂,有很多严谨的数学定义。但是,在企业的实践中,往往并没有那么神秘,也没有多难,我加入课程群,看到很多同学,都是在校学生,所以,我就在这里分享一下,我所在的企业,到底在哪些地方,用怎样的方法,运用了机器学习和数据挖掘。因为我也没有成体系学习过,只是入门选手,我就想到什么说什么了。

先说说最近的一个案例,我们研发的企业内部 IM 产品,最近遭遇了诈骗,原理就是一个骗子,将自己的头像和昵称篡改成和老板一样,去骗财务说要求汇款,财务人员一个不小心,就上当中招。我们于是产生了一个任务,帮助企业尽量规避此类诈骗。怎么从人群中挖出骗子呢?其实很简单了,在双方聊天时,实时比对内外部好友,如果发现重名,就给出提醒,即可有效阻止简单手段冒充。此外,还可以在用户提及账号、银行等字眼时,给出一些机械式提醒。

另一个案子是,我们的运营,希望给企业的老板发送邮件,教育他们规范企业管理和提醒员工谨防诈骗。但是,怎么从成千上万的用户中找到谁是老板呢?我们采用了一些很简单和直接的办法,比如,职务或者头衔字段,填写为经理、CEO、主管等的,我们认为是老板的概率很高。然后对于很多小公司和不愿意填写自己职务的用户,怎么办?我们还有办法,比如看看这个用户在系统里的角色,超级管理员的,是老板的概率很高;管辖范围内所含用户数,占比超过公司总人数 70%以上的,是老板的概率很高;有了这些特征,实现起来就比较容易,而且效果相当好。实现这些分析,远没有什么高深算法。

再比如,我们希望能帮助老板掌握员工投入工作的时间,那么一款常驻桌面的沟通工具,到底怎么分析员工工作投入时间呢?我们用了取巧的办法,就是判定用户鼠标键盘动作连续性。首先,我们从各行各业的人员中,抓取了一些正常工作的人的鼠标键盘动作时间间隔的序列,分析每个行业特点的员工一天正常上下班,鼠标键盘动作时间序列特征。得到模型后,我们就知道,某个行业的员工,平均健鼠操作频率,这相当于训练了一个模型,如果后续发现某个用户的操作频率比较靠近平均值的,我们认为其在工作,长时间没动的,可能在偷懒或者会议,动作频率太高的,可能在游戏或者网页浏览。最后能够给出一个企业总体工作时长情况的报告,虽然不是很精准,但是还是帮助老板轻松了解了自己企业员工投入情况的基本状况,在相对条件下,是有参考价值的。

再比如,我们的产品在进行市场推广时候,往往都要在广告里部署巨量的代码,然后去分析说广告的效果怎样,转化怎样,横向对比怎样,纵向对比怎样,最终可以计算出一个投资收益比,做过数次相似的事情后,又可以相对准确去预测下一次投放广告时候,可能产生的效果。当考虑因素多了以后,还可以推算合适的投放时间。

此外,我们还需要预测用户的续费概率,销售速度,退款概率,通过综合这些数据,又要进一步预测未来的销售增长,服务器投入。感觉无处不在使用数据分析和数据挖掘。然而,却远没有这个课程上学习的那么神秘而高深,有的只是简单而直接。

虽然看起来,现有的知识已经够用了,但是,我还是要来学习这门课程,我是希望能够从理论的高度上去掌握住这个学科的全貌。所谓站得高看得远,极有可能通过视野的拓宽,发现更多的商机。其实随着我们产品的成长,我们会积累越来越多的数据,也会产生越来越高的价值,我们亟待在这个数据的金矿上奋力挖掘,好给产品附加越来越多的功能,给用户提供越来越高的价值,让他们用上了就离不开我们的产品。同时我也希望我们能开发出真正的智能产品。