[置顶] 论场景在研发中的重要性

16人阅读 评论(0) 收藏 举报
分类:

随着中国改革开放程度的加深,互联网行业也逐渐出现变革,典型的变化就是由原来的低端重复性造轮子,逐步转向高端,以技术创新为主导。一个有力的证明就是近年来以技术驱动的创业公司越来越多,这在10年前是不可想象的。在人才要求上,对工作经验不再那么看重,而更加重视求职者的学历,专业,背景。

在这样的背景下,一些原来传统的互联网大公司,将逐步失去竞争优势。当然事实上也没这么邪火,这个变化是缓慢的,也有许多公司不愿意接受应届硕士,嫌弃他们没有Ai经验。因为他们认为学术界和工业界有鸿沟。但是一些真正以技术创新驱动的Ai公司,更加青睐于高学历,有研发背景的海归。说句实话,目前国内的Ai,能够搞的起来的,也就那么几家而已,其余的都是炒作。一些新兴的Ai创业公司,除了商汤,依图,云从,旷视外,nlp领域并没有出现独角兽。所以重点谈一下nlp。

3月10号北理工举办了一场知识图谱研讨会,与会邀请了9位学术界和工业界的专家。在最后1个小时的问答环节里,有听众向专家提出了这么一个问题:招聘网站要做求职者和jd的匹配度,如何解决这样的问题?专家捣鼓了半天,最后也没给出令人满意的答案来。其实我认为,真正能解决问题的人,还不一定就是这些学术界的专家。都说场景是Ai第一要素,如果一个人整天指望着发论文活着,那么他的思维里,对场景的概念应该是淡化的。迄今为止,见到过的最务实的研发应该数阿里的达摩院了。阿里有真实海量的数据,有明确的落地场景,在这样的背景下砸1000亿搞研发,是比较靠谱的。

之前我有一个观点,那就是研发Ai方案之前,一定要把人类自身对于特定场景的逻辑搞明白了,从中抽象出数学模型出来。然后做现有算法模型与场景的匹配度,如果全都匹配不上,那就在原来的基础上重新整合出的模型出来。但是很遗憾,很多工业界的程序员并没有意识到这个问题,对于一个算法,他的核心从来不是公式推导,而是这个算法是如何产生的,能解决哪些问题,不能解决哪些问题,以及算法的缺陷和改进的方向。说白了,研发就是把握好大的方向,比如深度学习在语义理解中承担什么样的角色?很多学者追捧如何改进seq2seq,论文满天飞,从我的角度来看,这些工作是没有太大的实际意义的。包括机器翻译,单纯依靠NMT也是不切实际的。当然,seq2seq对于描述性的文本,是很好的。对于描述性的文本,深度学习都会发挥很好的效果。原因就是描述性的文本,规则不是很强,更需要向量这种语义表示来做语义相似度运算,这就是场景的问题了。而对于规则性强的场景,翻译就得靠规则和语义相似度替换了,而对于商品标题这类问题,由于大部分标题都是拼凑的,并不是很符合语法,所以用seq2seq效果会很差的,这个时候统计建模就会发挥作用了。

以前面提到的招聘网站jd匹配问题,专家在筛选简历的时候和hr肯定不一样。由于hr不懂技术,在看简历的时候,更多是依靠规则,一条一条地比对,而每条规则的比重是不同的。比如老板要求学历是至高无上的,那么hr在看简历时,往往先看学历,一看不是海归,或者985硕士博士,直接pass掉了。这就基于规则的逻辑,一条一条地看,评分,最后给出综合的印象。而同样的场景,技术专家筛选简历,除了这些规则外,他们会重点关注候选人的技术,自学能力,潜力,尤其是一些描述性的文本,会重点关注。所以往往hr认为不合适的,技术专家反而认为合适。那么,这样的一个场景,很显然我们做模型匹配度的时候,是必须考虑两者的因素的。对于第一因素规则,这些规则其实是有优先级关系的,比如划分为重要,必要,次要三个级别,每个级别对最后综合得分的贡献度不同,也就是权重不同。在人工干预的阶段,把这些规则全都罗列出来做处理。而这些规则会大量出现在结构化的文本中,因为一篇简历,整体会包括结构化的文本和描述性的文本两部分。比如公司的实验室想招聘AI研发人员,那么学历,学校,专业的优先级就是重要的,获奖情况,背景平台是必要的,那么毕业时间等其他因素就是次要的。这些规则的权重不同,最后加权求和得到基于规则的得分。

具体方案如上图所示:其中u为根据规则得到的相似度分数,最后求总分的时候引入平滑系数,是因为两部分的比重在实际中是不同的,需要手动调节。采用MSE作为损失函数。另外在jd中,有的描述,比如能够修改lucene源代码等,如果采用规则,效果会非常差,因为大部分程序员都是仅仅会使用lucene而已。所以简历中出现了lucene,并不代表就合适。

之前有人问过我,他们公司做的抽取,要求抽取出高管,基于规则非常差,准确率只有70%多,不知道怎么解决。一句话,知识图谱是良方。

学会case by case,远比死学算法知识重要,还是那个观点,对于AI算法,推导不是核心。

查看评论

论产品需求的理解在开发过程中的重要性——一场技术讨论的反思

昨天产品发了新的交互说明书,其中主要增加了运动过程中“配速” 信息的记录和展示。大部分人可能对“配速”一词不是很熟悉,百度百科上是这样的:      也就是说,配速表示的是每公里用时。在新的交互...
  • mrqingyu
  • mrqingyu
  • 2016-03-01 21:10:55
  • 4747

从“笔尖钢”的成功,看自主研发对于IT企业发展的重要性

第八届《IT项目管理与职业生涯规划》苏州站 火热报名中:http://www.huodongxing.com/event/1412766276700 最近,一则圆珠笔的新闻在朋...
  • S_king_
  • S_king_
  • 2017-11-20 13:38:54
  • 251

工欲善其事,必先利其器——浅谈应用产品研发管理工具的重要性

Johanna Rothman说过,“要想从头搞砸一个项目,最简单的方式就是不动脑子,直接开始”(出自《项目管理修炼之道》)。的确,就产品研发而言,随着软件产业的发展,当今的研发已成为企业竞争的主战场...
  • techexcel123
  • techexcel123
  • 2011-10-10 11:16:07
  • 3811

程序猿自测的重要性(职业素养必备)

问题出在编码结束阶段,编码结束后,在业务部门进行测试的时候,发现程序不能正常运行,无法开展测试工作。这自然是不合理的,会影响业务部门对研发部门的信任、还会影响业务部门的工作积极性,这都是要不得的,如果...
  • shuaihj
  • shuaihj
  • 2015-01-29 15:47:20
  • 6116

论结果与过程的重要性

只有经历过,才会创造出你想要的结果。
  • startclj
  • startclj
  • 2017-12-27 22:00:15
  • 313

论工作方式重要性

  • 2016年12月19日 16:56
  • 23KB
  • 下载

论代码规范的重要性

代码规范事情不大,但是发生的时候,会出现bug,自己怎么调试都调试不出来。...
  • qinqigang
  • qinqigang
  • 2017-09-04 09:37:03
  • 305

从重视研发到建立高效的研发管理体系

在不知不觉之中,软件产品领域的竞争变得如此激烈。靠一两个天才人物的灵感来维持整个企业市场竞争优势的时代已经逐渐远去了。以某项卓越的设计、天赐良机、对手的失策或自己的幸运为基础形成的产品竞争优势是不可能...
  • liubing8609
  • liubing8609
  • 2013-07-17 21:29:02
  • 1089

技术在游戏研发中的重要性

作为一个有追求的技术开发人员,总是希望能够做出好的技术。 那么对于游戏研发领域,什么样的技术才是好的技术呢,技术对于游戏研发的重要性如何呢。在从业若干年之后,我个人的总结是:好的技术创造好的游戏体验...
  • Garuda
  • Garuda
  • 2017-02-17 15:30:28
  • 989

论项目经理在项目中的重要性(实际项目问题总结)

一个项目经理在一个项目中到底有多重要?很多人可能都会说了,项目经理的职责很大啊,什么资源整合,项目调度,进度控制,交付管理等都需要跟踪,定期对客户进行项目汇报。很多人会说,你说的对,没什么问题,这个有...
  • u013560667
  • u013560667
  • 2016-12-23 16:30:28
  • 519
    个人资料
    等级:
    访问量: 1635
    积分: 83
    排名: 151万+
    文章分类
    文章存档