NLP与推荐系统的比较、联系与未来

803 阅读16分钟

 本文结合了知乎若干大佬的回答和讨论的精华,总结了NLP与推荐系统中的问题任务,技能需求,面试准备,业务落地以及未来发展等方面的关联和异同,非常值得一看!

作者:黄含驰

来源:知乎专栏 AI打怪路,已通过作者授权。

编辑:happyGirl

1、NLP与推荐的联系与比较

①联系

NLP的产出常常是推荐系统的输入:NLP所做的其实很单纯,效果也相对好验证:比如说文本的情感识别,输入是文本序列,输出是对应的情感,是有准确的评价指标的。NLP的产出可以作为特征:是否积极、是否反动、是否涉黄等等,供推荐模型使用。
——益达:聊聊NLP和推荐系统的选择 zhuanlan.zhihu.com/p/71938647

(观众批驳:nlp有大量缺乏自动评价指标的问题,尤其在生成类nlp问题上十分严重,很多问题只能靠人工评估,甚至靠人工都很难做到无偏和信服的评价结论,比如开放域闲聊问题,以及各种可控文本生成问题。)

②比较

宏观上:

自然语言处理更像是一门学科,而推荐系统更像是一门应用。所以你在学推荐系统的过程中会用到机器学习、数据挖掘可能还会用到自然语言处理的东西,而自然语言处理可能更加有自己的一套理论,不过也会用到机器学习、数据挖掘的技术,但可能不会涉及推荐系统的东西。
链接:自然语言处理与推荐系统,选哪个方向好,准研一?www.zhihu.com/question/64…

(观众评论:单论pay推荐攻城狮比较贵,工程难度,从数据流到特征加工到线上服务,NLP和推荐这种综合系统不在一个层次上。要钱多好跳槽不要一毕业去NLP,建议去做推荐提高综合工程能力,如果你有能力直接去搞RTB广告那就更好了。)

研究与应用大纲上:

NLP 将一段话或者一段序列:
1.分割字段
2.提取关键词,构建语义向量
3.构建语句的关系
4.深度分析,比如情感分析,分类及构建下文等;常用手段,简单点,语意相似度,隐马模型,难点用RNN,LSTM

推荐系统 物以类聚:
1.选择依据物品还是选择用户做
2.提取物品或者用户特征
3.构建相关网络
4.深度分析,对用户相似度,用户分类,用户打分。
常用手段,简单点,特征相似度,难点机器学习分钟分类回归模型

链接:NLP自然语言处理、推荐系统、以及计算机视觉哪个就业前景更好一些?www.zhihu.com/question/26…

岗位需求上:

目前从岗位多少而言,搜索广告推荐仍然是需求量最多的岗位,不仅体现在岗位数量上,同时也体现在公司上。众所周知,卖货广告作为互联网公司收入主力军,各家公司对这块需求是一直增加的。以北京为例,目前互联网一线二线公司(即便美团等裁员)这块仍然在招聘。从岗位质量角度而言,普通工程师需求不少,同时高端岗位由于受到团队影响往往会出现合适的人找不到岗位,岗位找不到人,同时高端需求比较少,仅仅存在于部分优质公司,呈现出一个萝卜一个坑的状态。
nlp其实目前需求量比较小,可能也是由于坑太大所以做的公司比较少吧哈哈哈。很多nlp的候选人有可能做了底层算法研究(科学家),有的做了各种业务系统和用户画像等等(对话,翻译等等)(大量的工程师做这个),还有一部分去做搜索推荐了。

链接:NLP自然语言处理、推荐系统、以及计算机视觉哪个就业前景更好一些?www.zhihu.com/question/26…

岗位后续的发展上:

a)NLP岗位其实更适合去做研究。因为其评价指标相对单一,好就是好不好就是不好,并且好的模型效果对算法实时性没有推荐系统要求的高。模型fancy,想法work,基本上就是一篇文章。在公司基本上是做基础功能支持,相比推荐的话,更容易往细致做,因为nlp评价指标相对稳定,不会出现线下和线上gap很大的情况(我猜测),更多的精力会投入到细节的深挖上,如果合理利用优势,我相信在公司也能有不小的收获。

b)推荐岗位是个更加工程的岗位。有各种的坑需要去踩,也有很多dirty work(目前位置特征工程仍然占据非常重要的地位),模型上线之前还需要AB Test,对实时性要求高等等。所以工程能力在推荐系统中仍然是非常重要的。所以说这是个更加“工程”的岗位。

——益达:聊聊NLP和推荐系统的选择https://www.zhihu.com/question/268751628/answer/342223389

(观众批驳1:文章中有一些事实类错误。nlp问题可以归结为分类,标注和生成这三类问题。博主应该主要focus到分类问题(匹配也是一种分类)上,所以可能有点以偏概全。nlp中很多典型的分类,匹配问题已经近似求解,而nlp里真正难的序列标注与生成问题,以及叠加一些限制条件(如小样本,多domain)的分类和匹配问题。这些才是多数nlp研究者focus的地方。)

(观众批驳2:多数nlp系统都会充斥大量dirty work,比如任务完成型对话,论dirty work和工程性,是比推荐系统有过之而无不及的。而工业界对nlp业务型人才的需求也是要远大于研究型人才,说nlp更适合做研究是很不准确的。现阶段也没有几家公司愿意花大力气做nlp研究,但是花大力气孵化nlp产品反而是巨头们现在竞争的一个重点赛道。)

从未来发展来看,提点拙见,目前搜索推荐的业务和技术最最成熟,可以说是最稳的,即便迎来最冷的寒冬;CV泡沫不小,但是正值红利期,依靠深度学习这门玄学起飞的有点严重;由于不懂技术我认为NLP可能五年以为的落地真的比不上CV的,这个好像玄的有点过分,一点也不科学,再加上目前很多公司都是玩票性质所以感觉目前做NLP有点惨(不算那些大牛哈)。所以你要看你的技术和性格,如果你能沉得住气我相信未来NLP方向收获不会小的。

链接:NLP自然语言处理、推荐系统、以及计算机视觉哪个就业前景更好一些?www.zhihu.com/question/26…

面试准备侧重点上:

益达:聊聊NLP和推荐系统的选择 www.zhihu.com/question/26…

(观众批驳:论nlp找工作的问题的话,文中谈到的这些知识点可能只够在大厂不太核心的业务部门拿个白菜offer,甚至背景差点的白菜都拿不到。主题模型在nlp里存在感越来越弱,word2vec,elmo这类只能算基础知识,远够不上竞争力。你列出的这些知识点显然主要是检索和推荐场景下的,而要想做翻译,问答,对话,抽取,词法句法分析这些更典型的nlp问题的话,这些知识点远远不够应聘nlp岗位的。)

其他观众评论:

现在还把ctr当作唯一target metric做推荐的话会死很惨的。实习写toy project的话两说。。一般的,贵司agenda metric + stickiness
第一项问你们pm,第二项么无外乎ctr,观看时长,翻页率,retention之类的primary kpi 取个加权。
妖孽点的,train个rl agent当environment然后随便你怎么虐policy network。

先做推荐,再做nlp的表示,钱差不多的情况下,nlp会心态舒服很多,推荐有可能搞了n个月模型,指标不升反降,当然,一切看兴趣。

nlp也会有线上线下不一致的情况,而且nlp的标注数据获取是个头大的事情,特别是对任务的定义直接关系到后面标注的准确性。nlp里dirty work 太多了…… 没有人帮标数据的情况,得自己去弄数据来;有人帮标还要对标注结果负责 但是nlp的标注标准本身很难完全划清界限,经常有那种a也行b也行的情况,连人都很难分,模型就更难搞了…… 没有做过推荐,但如果做nlp的话,除非有人帮把数据都弄好了,不然清洗数据基本是大头

鹅厂广告相关人员,匿了
暂时看来从业务上说广告是最好的,因为广告是现金流部门,大部分公司的第一盈利来源都是广告而且除了鹅厂,广告收入占比都非常大,比如facebook,99%收入都是广告
国内广告头号玩家是阿里百度腾讯头条,也正好有着最强的广告团队,阿里妈妈、凤巢、AMS(前身叫广点通)都赫赫有名
但从技术上说却不尽然,所谓成也萧何败也萧何,跟现金挂钩就要求系统非常稳定并且可解释,腾讯广告每天的流水有1.56亿RMB,系统不稳定危害比模型能不能提升0.1个点重要多了,所以会有很多规则性的东西,而且大部分人并不是做模型,而是特征、规则等,再者工程实现比模型优化重要性高得多,非常不fancy
另外,广告分效果和品牌,效果广告跟推荐非常相似,做推荐是可以转的,品牌广告主要是运筹学,离机器学习较远更不fancy
而且,其实广告里面也有cv nlp,nlp做上下文特征这个不用说了,cv除了可以提供图像特征,还可以提供广告创意构建和推荐、视频广告替换打码、视频广告相关推荐(就是比如你一个电视剧出现了水果场景就给你推水果广告)
重要的还是打好基础吧,机器学习都是相通的,而且广告那一套召回+精排+规则的做法跟推荐搜索又有多大差别,不过是业务不同罢了
再者更重要的是,写好代码

二:似乎目前NLP领域很少出现“独角兽”企业,也有人说,自然语言处理是个大坑,那么您认为NLP落地有哪些难点?(interview to张俊林)

A:NLP各种任务更偏向后台技术平台的形式,是一种能力输出,往往不会是一种业务形态,它一般是支撑某些业务形态的支撑技术。总体而言,跟用户能够直接感知到的产品形态比较,整体靠后一些,一般终端用户很难感知到它的存在。能够在产品形态方面直接感知到NLP技术的业务领域,其实很少,比如对话机器人,智能客服等这些算是比较靠前的业务形态,大多数都偏靠后一些。NLP是个技术领域,和产品形态本来也没必然的关系。所以,我觉得本来就不应该出现NLP领域的“独角兽”企业这种说法,如果说是某个独角兽企业,大量应用了NLP技术,可能会更准确一些。当然,这种独角兽企业确实也很少,因为独角兽企业本来就很少,摊上用NLP技术的更少,所以也正常。要说落地难点的话,其实本质上就一个:就是技术不够成熟,不足以支撑好的应用体验。当然,这个分具体的子领域,有些领域,比如文本分类聚类、NER命名实体识别等一些简单任务,其实落地效果已经不错了,也被普遍应用。而对于很多高难度的应用领域,其它问题都是表面问题,本质问题其实是技术不够成熟
上面说的这个问题有长期性,不是短期内能够解决的。如果说NLP落地短期难点的话,比如Transformer和Bert这种效果很好的新技术,可能因为模型比较重,高效的分布式大规模训练系统以及快速的在线服务,可能是影响大规模应用目前的短期障碍,但是我相信很快会有大公司开源出一些好用的系统的,所以其实问题也不大


链接:对NLP以及推荐系统未来发展趋势的看法 zhuanlan.zhihu.com/p/79677478

三.新浪微博的信息推荐系统有哪些技术栈?为打造更精准的推荐系统,新浪微博做了哪些工作?有计划引入一些新的技术吗?或者说,有在关注哪些新技术?(interview to张俊林)

A: 因为微博的推荐场景是个典型的信息流业务,所以包含了很多环节。从偏后台的物料质量评估、用户兴趣建模、微博内容理解、图片视频理解以及多模态融合,到业务前台的推荐系统的召回、粗排以及精排等推荐环节,以及离线及在线的大规模机器学习模型训练及服务等。算是一个标准的信息流推荐系统。
A:近两年来,在推荐系统的召回和排序两个环节,微博机器学习团队都进行了大规模的技术升级,并获得了明显的业务效果。召回层面,我们目前已经实现了大规模FM统一召回模型,正在逐步替代传统的多路召回模型,并在各项指标取得了非常明显的业务效果;排序层面,我们经过了LR、大规模FM、FM+FTRL在线模型等不断的模型升级,每次大的模型升级都取得了收益,目前也小流量了以DeepFM为基础的深度学习排序模型。在物料比如微博的理解方面,目前也在尝试多模态的技术路线,并取得了一定进展。
在业务团队将新技术不断升级落地的同时,微博AI Lab也不断尝试些推荐领域重要方向的新技术,并推动这些新技术在业务落地。比如我们在18年提出的双线性FFM模型,在获得和FFM模型相近效果的情况下,参数规模减少了几十倍,也提出了几个新的深度学习排序模型,比如FibiNet以及FAT-FFM模型,这些工作陆续发表在Recsys2019以及ICDM2019等国际会议上。
我个人比较关注统一召回模型技术以及新型的CTR模型上。感觉这两块在业界来说,还有很大的优化空间,是值得深入探索的方向。


链接:对NLP以及推荐系统未来发展趋势的看法 zhuanlan.zhihu.com/p/79677478

观众评论:

推荐的model做不深做不复杂,在线inference时latency的限制是很重要的因素。

个人觉得微博的推荐从用户体验上讲效果很差,作用很弱。VS看个人吧,我就刷到根本停不下来VS对比下抖音和头条就能看出差距了

四.2019年已经过半,您认为在未来,推荐系统和NLP领域还有哪些方向值得研究?(interview to张俊林)

A:工业化的推荐系统经过最近几年的发展,目前已经进化到了深度学习时代,代表性的模型有很多,比如Wide& Deep或者DeepFM模型。但是跟NLP或者图像领域相比,很明显深度学习在实用化的推荐系统应用场景还未能发挥符合人们期待的效果。并没有哪个深度学习推荐模型能够相对传统模型有非常大的性能提升,这里面原因可能比较复杂。从模型角度看,我比较看好将Transformer模型应用在推荐领域,大家知道,Transformer在NLP里面已经大放异彩,而且从机制上,它是比较适合用来做推荐或者CTR模型的。但是可能仍然需要针对推荐领域的特点做些改造,直接应用效果也没有太体现出来,但是总体而言,我个人比较看好这个模型。当然,从实用化的推荐引擎角度,还有很多值得关注的点,比如多模态融合/多目标、多任务与Transfer Learning以及AutoML的应用等,都是很有前景和值得探索的方向。刚才讲的是排序模型和推荐机制,至于推荐领域的另外一个重要环节:召回阶段,我觉得采用模型统一召回代替传统的多路召回是个比较明显的趋势
至于NLP领域,自从Bert的出现,应该说NLP各个应用领域进入了一个新时代。Bert在相当多的NLP应用领域使用后,取得了目前最佳的效果,而且不少领域有大幅度的性能提升。这预示着大量无监督数据开始被NLP真正使用起来,这个如果能用好威力无穷。而且目前看,Bert+Transformer有统一NLP各个子领域的能力和趋势,这也是非常好的一个进展。当然,因为Bert和Transformer的出现时间还比较短,所以大家其实对这两者理解还不够深入,对其中真正发挥作用的因子还没有整理清楚,所以深刻理解两者的作用机理,以及针对性的对两者进行改进,是非常值得深入探索的方向。比如如何将Bert应用在文本生成领域,如何融合多模态的信息等很多方向都具备很大的挑战

以上就是关于NLP与推荐系统中一些问题之间的联系和比较,以及未来发展的简单讨论。点击文末阅读原文,即可关注作者的知乎,直接与作者进行交流。

喜欢的话点个在看吧 ????