查看原文
其他

CCCF精选 | 探索推荐系统智能化的研究者与实践者

黄振亚 中国计算机学会 2022-12-23


近日,CCF-IEEE CS青年科学家奖获得者赵鑫接受了CCCF动态栏目的专访,分享了他的科研实践经验和心路历程。


关键词:CCF-IEEE CS青年科学家奖  信息检索  推荐系统








赵鑫,中国人民大学教授,博士生导师。2021年CCF-IEEE CS青年科学家奖获得者。CCF高级会员、YOCSEF总部AC委员。中国中文信息学会理事。主要研究领域为信息检索和自然语言处理,长期从事用户兴趣理解以及推荐系统的相关研究,已在相关领域的国内外著名学术期刊和会议上发表100余篇论文,相关研究成果荣获ECIR 2021时间检验奖(Test-of-Time Award)、CIKM 2017最佳短文提名、CIKM 2022最佳论文提名(Resource Track)、ACM RecSys 2022最佳学生论文提名等;组织研发了推荐算法库“伯乐”,在国际著名开源平台GitHub上获星2100余次;担任多个国际学术会议(SIGIR、AAAI、IJCAI、CIKM、EMNLP等)的高级程序委员或领域主席;曾获得吴文俊人工智能优秀青年奖,入选中国科协青年人才托举工程、北京市智源青年科学家等。


近日,赵鑫接受了CCCF动态栏目的专访,分享了他的科研实践经验和心路历程。

 

Q

请您跟大家分享一下您的研究领域,以及您和您团队的代表性科研成果。


赵鑫:我的研究领域是信息检索和自然语言处理,更为具体的研究方向是如何更好地理解社交用户兴趣,设计有效的推荐算法,从而满足用户的信息需求。随着网络技术的不断发展,用户已经成为社交媒体平台的“主角”,是支撑众多相关应用的核心要素。我从2008年进入北京大学攻读博士学位开始,一直在这一方向上进行研究工作。这里,我主要介绍一下博士阶段的一个代表性工作。


在我博士阶段的前3年,适逢短文本为主导的社交媒体兴起(如新浪微博、Twitter等),当时人们对微博这种新媒体形式的了解不够深入,特别是针对短文本内容语义理解的技术还不够有效,科研人员主要以基于统计的方法对短文本进行表示和计算。我在博士阶段的研究工作主要集中在如何更好地理解短文本中蕴含的语义信息,进而挖掘社交用户的兴趣和需求。独立于社交媒体方面的相关研究,在这个时期,机器学习中的贝叶斯学派有了迅猛发展。作为文本语义分析最重要的进展之一,哥伦比亚大学的大卫·布莱(David Blei)教授(原普林斯顿大学教授)提出了潜在狄利克雷分布(Latent Dirichlet Allocation,LDA)模型,这是一种基于贝叶斯框架的主题模型,可以有效挖掘标准文本中的隐含主题语义。不同于之前的文本表示模型,主题模型能够对文本中语义相关的词汇进行概率聚类(称为主题),突破了之前基于词面的统计方法的限制。如同今天火爆的深度学习,主题模型在大约2003~2013 年,经历了一段“黄金时期”,相关研究工作层出不穷。


在2010年左右,已有的主题模型基本上都是面向标准长度的文本(如新闻报道、学术论文等),研究人员发现这些模型在表示短文本语义方面的能力非常有限。当时,我恰好在新加坡管理大学蒋静老师处访问,蒋老师所在的研究所积累了大量的微博数据,让我有机会对第一手数据进行观察和实验。我花了大量时间阅读和分析微博数据,发现当时的主题模型在处理短文本时性能会明显下降。我深入思考了这一现象的原因:短文本和长文本在语义表达上究竟有何差别?通过长期的观察和实验,我发现了一个重要现象:标准长文本的主题分布更发散,而短文本的主题语义相对聚焦;同时,短文本内容中的信息量极为有限,难以学习其主题的精准语义。为此,我尝试设计了多个模型变种,进行了大量的实验分析和模型改进。最终,我设计了一种以用户为中心的短文本主题模型,命名为Twitter-LDA,它在短文本主题抽取和语义表示上取得了较为优秀的效果。在这个模型中,一个重要改进是不再使用词汇层面的主题概率采样,而是针对整个短文本进行一次主题概率采样;另一个重要改进是对短文本进行聚合,从而形成更长的背景文档。经过充分的实验验证,我发现这个模型非常适用于短文本建模。Twitter-LDA模型自发表以来,受到了研究界的广泛关注,也在时隔10年之后荣获ECIR 2021时间检验奖。后续我又基于Twitter-LDA设计了一系列相关的短文本主题模型,可以融入关联特征、用户关系等,这些工作基本上形成了我博士论文的核心内容。


2014年我进入中国人民大学工作,从那时起,我希望在理解用户的基础上再进一步:能否给用户推荐更好的信息资源?围绕这一研究方向,我主要关注设计更加智能化的推荐算法,包括面向社交平台的推荐算法、基于知识推理的推荐算法、基于对话交互的推荐算法等。最近两年,我主要关注如何借助大规模预训练模型设计更为通用、可迁移的推荐系统,从而摆脱传统推荐算法对平台的依赖性,得到可复用、可迁移的推荐模型。这一研究问题在推荐系统领域还没有较为有效的解决方案,更是工业界落地应用的一大挑战(例如新场景的出现需要训练新的推荐模型)。已有的研究工作也只是简单地沿用自然语言处理领域的预训练思想,并没有真正解决推荐模型的可迁移性问题。我的课题组今年在国际数据挖掘与知识发现大会(KDD 2022)的研究专题(Research Track)上同时发表了两篇学术论文,探讨如何利用通用文本语义信息构建可迁移的推荐系统,并对这一研究挑战给出了重要的解决途径。我也会继续围绕这个方向进行深入研究。


工作以后,我个人科研思想上最大的一个变化,就是深感科学研究最终是要落地应用和解决实践问题。因此,我与科大讯飞、百度、腾讯、快手等公司展开了产学研合作,通过这种合作模式联合上线了10余项新技术,带来了重要的线上性能和经济效益的提升。


Q

您是信息检索、自然语言处理、推荐系统等领域的青年专家,是否可以分享一些科研心得?在日常研究中如何找到灵感?


赵鑫:最近几年,受到深度学习的影响,信息检索、自然语言处理、数据挖掘等领域得到了迅猛发展,每年产出大量的科研论文,这种趋势对科研发展有着一定的正向作用,但同时也让初学者产生困惑:什么是这一领域的核心研究问题,什么是一个好的研究工作,等等。这些问题都很难回答,我也在不断学习摸索中。下面主要分享一些个人建议供大家参考和讨论。


首先,为了更好地梳理某一领域的关键科学问题,需要深入了解这一方向的整体发展历程,即使有些技术早已“过时”,不能代表当前最好水平。对研究领域经典论文的回顾,能够帮助我们系统地剖析该领域的经典问题,让我们充分了解这一领域研究问题的产生背景以及相关技术的发展过程,我认为这一点是非常重要的。读博时,我在导师李晓明教授的指导下,在北京大学天网组从事科研学习。北京大学天网组是我国最早从事系统性搜索引擎研究的课题组。天网组浓厚的学术氛围以及深厚的技术底蕴,让我有机会深入了解搜索引擎的各种实现细节,在读博期间,我也阅读了大量的相关经典论文。回头来看,这段经历对于我的科研成长,对于信息检索领域学科知识学习的完备性,都具有重要的意义。因此,我建议刚刚进入科研的学生能够针对自己所在的研究领域进行深入的回顾性总结和学习,不要只关注最新发表的学术论文,同时也要站在所在研究领域发展过程的角度思考该领域核心的科学问题。


其次,要关注基础评测问题和可复现问题。目前,深度学习方法几乎“占领”了人工智能相关的各个研究领域,但是这些方法的可复现性仍然存在着一定的争议。我发现有些学术论文使用的实验设置并没有经过严格的论证,也没有相关文献的支撑。例如,如何清洗数据集合、如何划分训练测试集等问题对于方法的评测和可复用性非常重要。在与一些研究人员的交流过程中,我发现大家并不是刻意回避这个问题,而是之前没有充分关注到这一问题,或者无从参考。这些情况使我对推荐系统领域的评测问题和可复现问题格外关注。近两年来,我和课题组内的学生花了大量时间深入研究推荐系统领域内的各种设置对模型效果的影响,并且进一步组织大家开发了推荐系统库“伯乐”。这些工作相比一般应用性的工作更难形成论文成果,但是我个人认为是非常必要的,它既可以推动本领域的标准化发展,也可以规范自己的相关研究成果。


第三,要保持持续深入思考的习惯。真正喜欢科研的研究人员很少能将工作和生活进行清晰的切分,他们会在日常生活中对研究课题进行持续地思考。我早期独立开展的几个研究工作,最原始的想法基本上都不是在电脑前形成的,而是在工作之余的闲暇时间构建的主要思路。就我个人经验而言,在电脑前的思考更适合做一些固定的科研工作,如论文写作、论文阅读、公式推导,而对于一些问题的深入理解,更适合找一个安静的环境进行放松型的思考。在闲暇时光进行这种放松型学术思考,可以拓展一个科研人员的隐形科研时间,也更容易对一些困难问题形成较为有趣、富有灵感的解决方案。


Q

您提到您和小组成员开发了推荐系统库“伯乐”1。我们知道,除了“伯乐”,你们还开发了“CRSLab”2“妙笔”3等多个开源算法库,为相关研究社区作了大量贡献,产生了广泛积极的影响。您可以具体介绍一下这几个开源框架吗?是否可以分享一下您做这些开源框架的初衷和经历,以及您是如何平衡研究和开发工作的?


赵鑫:我很关注模型可复现问题,长期致力于推动推荐系统领域的标准化实现。从2020年开始,我就陆续组织开发了“伯乐”“CRSLab”“妙笔”三个开源框架,同时也开源了十多项研究工作的代码。关于开源框架的具体介绍,大家可以访问项目的主页进行了解。这里,我想以“伯乐”推荐算法库为例,分享一下我们从事开发开源项目的一些经验。


“伯乐”这个项目的定位是实现一个统一、全面、高效的推荐系统代码库。目前,“伯乐”推荐算法库包含近80个推荐算法以及近30个经过预处理的推荐数据集合,支持多种推荐任务以及评测方式。自2020年11月上线以来,“伯乐”在开源平台GitHub上累计获星2100余次。“伯乐”由中国人民大学、北京邮电大学和华东师范大学的二十多位师生共同完成开发,第一个版本用了四个月左右的时间完成。其中,最困难的地方就是早期架构的设计和项目组的协同开发。在早期开发阶段,由于设计思路还处于逐步凝练过程中,团队容易产生分歧而导致执行力下降。针对这个问题,我们采取的解决方式是尽量从学术界的实际需求出发,尽量包含标准算法和评测设置,尽量凝练核心功能。此外,我本人也参与了整个架构的设计过程,与所有参与成员一起设计了第一个版本的“伯乐”架构。


在高校里组织开发开源工具最关键的是找到两到三位核心代码开发人员。在“伯乐”开发团队中,有三位研究生全身心参与了起步阶段近四个月时间的开发工作。尽管这一过程对他们的其他科研进展造成了一定的影响,但是回过头来看,通过项目的开发,他们能够深入参与到推荐系统的细节实现,对一些核心技术有了更为深刻的理解。这些经历潜移默化地拓宽了他们后续的科研思路,实质上促进了他们的科研进展。目前,这三位学生都以第一作者身份发表了两篇或以上的CCF A/B类论文。当主干架构设计结束后,我们将系统需求的模型按照任务进行分配,动态调整项目开发小组的人员构成,例如召集刚刚完成论文投稿的学生进行开发,这样既可以保证项目顺利推进,也不会影响学生的科研进展。为了保证算法实现的正确性,我们还组织了一支6~7人的测试团队,通过对大量数据集合进行实验,完成对相关代码的正确性检验。


目前“伯乐”的开发已基本稳定,每期都会有2~3位主力成员主要负责维护工作,同时也有很多学生陆续投入到相关开发工作。我们研究团队将长期维护和改进“伯乐”。这里,我向所有参与“伯乐”项目研发的师生们表示衷心的感谢。


Q

对于目标不同或者擅长技能不同的学生,您是如何指导的?能否介绍一些个性化指导与交流的经验?


赵鑫:在博士阶段,我认为需要培养自己独立完成研究工作的能力。而踏上工作岗位后,就多了一个新目标,那就是培养出能够做好研究的学生。关于培养学生,我也是在不断摸索,还需要学习和提升。下面我从自身角度谈一下对学生培养的认识。


通过与学生交流,我发现很多本科生和低年级研究生是很向往科研活动的,但是往往不知道如何开始。针对这一情况,我将早期开展科研学习的一些注意事项细化到一些具体环节(如何读论文、写代码等),在社交媒体上发表了多篇相关文章(或报告),例如《计算机系本科生开展科研学习的九问九答》《如何以初学者角度写好一篇国际学术论文》《研究生的早期科研之路》以及《早期科研的入门》等。这些文章收到了很多学生的正向反馈。


整体上看,研究生的科研成长过程是循序渐进的,这需要长时间的引导。学生对科研的心态也不一样,有的很积极,经常找老师讨论;有的没有太多想法,认为只要学习就可以。因此,作为导师,需要针对不同类型的学生采用不同的培养策略,例如,对于积极的学生,可以让他多做一些自由探索;而对于没有太多想法的学生,最好是有高年级学生或者老师多给予协助。我经常鼓励小组里的学生进行科研合作,这样有助于消除科研的孤独感,减轻实验负担,还能提高讨论效率,碰撞出思维火花。在指导学生开展科研工作的过程中,我发现科研基础、学术诚信等基础问题在早期就需要引导和规范,这对于学生形成正确的学术价值观非常重要。此外,我会尽量减少组会的次数和时长,确保讨论和开会是学生需要的,减少一些琐碎事情对学生的干扰。


另一个我想分享的经验是,要注重培养学生在科研中的过程感,而尽量减少对结果的过度关注。对研究生来说,不管其开展的科研工作是否足够新颖,能够完成一次正式的投稿并且收获审稿意见进行修改,都是一次很好的科研经历。要鼓励学生积极完善科研工作、勇于投稿,不断提升自己的研究能力和科研心态。


Q

目前青年学者面临着很多压力,如科研、教学、学生管理等。关于如何面对压力、平衡时间,您有什么建议或经验可以分享?


赵鑫:绝大部分的青年教师都是博士毕业后或者博士后出站后进入高校工作,其中一个很重要的挑战就是如何平衡好科研、教学等日常工作任务的时间分配。


在进入中国人民大学工作近八年时间里,我先后承担了十门不同课程的授课工作,曾担任人大信息学院图灵实验班三门编程基础课程的授课教师。上过本科课程的老师都知道,对一门新课(特别是编程课)来说,备课非常占用时间。刚开始时,备课常常占据我所有工作日的时间。这时,我只能将科研时间尽量压缩,移至周末或者节假日,因此,我对备课也感到了很大压力。但是,当我真正投入到课堂教学工作时,发现本科课程对学生非常重要,可能就是因为某一次课激发了一位学生对这一学科深入探索的兴趣。同时,在课堂上,学生也给了我很大的鼓励和动力。这些经历让我认识到上好自己负责的课程,甚至要比发表几篇学术文章的意义大得多。观念转变后,我备课也更加轻松,不会出现“心累”的情况。转入高瓴人工智能学院后,我又继续承担了部类基础课程“人工智能与Python程序设计”,成为人大为数不多的连续讲授过C、C++以及Python程序设计语言的教师。


此外,我还积极承担了学院班主任的相关工作,曾担任中国人民大学信息学院2015级理科实验班班主任(大一年级)、2016级以及2017级两届图灵实验班班主任(四年),是人大为数不多连续三届担任大一新生班主任的教研系老师。事实上,大一新生的班主任工作非常繁重,仅心理访谈一项工作,我就累计开展了近400余人次。在师生们的一起努力下,2016级图灵实验班获得校优秀班集体,2017级图灵实验班获得北京市优秀班集体,我自己也荣获2019年度中国人民大学十佳班主任这一奖项。当班主任的这些经历让我更容易了解学生的需求和想法,使我在学生交流和管理等方面积累了很多经验。


总体来说,教书育人是教师最纯粹和最神圣的任务,只要调整好心态,就能将这件事做好。当你全身心为学生付出的同时,学生也会给予正向积极的回馈,对吸引优秀的学生加入课题组也非常有帮助。


关于如何有效平衡自己的工作时间,我的一个建议是使用零碎时间完成一些次重要或者不重要但是需要近期处理的事情,从而保证大块时间可以用于解决一些更加困难的问题或者任务。例如,就我个人而言,在会议论文投稿截止日期前的5天左右,我会尽量将其他事情搁置,把时间全部空出来帮助学生修改论文。修改论文这段时间,我一般会早上6点多起床,先通读一遍学生的草稿,然后利用早饭时间思考论文框架,在8点到12点趁着精力旺盛集中修改和重写论文主干部分(如引言和模型部分)。一般来说,可以用一个上午高效改完一篇论文的主干部分;下午状态有点下降,就进行非主干部分的修改和润色,到了傍晚基本上就可以完成一篇论文的整体修改。当然,要做到这一点,前期一般需要和学生进行非常密集的讨论,深入了解一项工作的技术细节。通过限定时长,要求自己在一个固定时间内高质量完成某项工作,可以提高时间利用效率,这对于一名教师自身能力的提升也能起到促进作用,我的论文写作能力就是通过这种方式锻炼出来的。


此外,还可以调整自己的休息时间,多利用一些自己工作状态较差而非节假日时间进行放松和休息。信息检索和自然语言处理的相关学术论文的投稿截止日期很多都是在春节附近,这就不可避免地要占用假期时间。不过我相信真正热爱科研的人应该会觉得科研工作也是生活的一部分,那么在节假日工作学习也算是比较正常的事情了。


Q

感谢赵老师的建议。在您的成长过程中有哪些关键因素让您一步步取得了如今这样的优秀成绩?


赵鑫:我个人的科研能力还比较有限,过去在自己喜欢的方向上做了一些研究工作。回头看自己从事科研工作,可能真的是一种“命中注定”。我的性格从小就比较倔强,做不好的事情通常就会反复去做。此外,我不太喜欢口头表达,更喜欢通过写作和思考来表达。这些性格特点一直持续到现在,我觉得这对我的科研工作挺有益处的。我特别喜欢童第周先生的一句话“一定要争气。我并不比别人笨。别人能办到的事,我经过努力,一定也能办到”,也分享给大家共勉。


我的成长得到了很多人的帮助,在这里向所有关心和支持我的人表示衷心的感谢。尤其感谢我的博士生导师李晓明教授,他给了我非常宽松的科研氛围,鼓励我探索大而重要的工作;感谢我所在研究团队的负责人文继荣教授,他为我创造了非常舒适的科研环境,在很多困难时刻给了我莫大的支持。最后,感恩我的母亲在我少年时期对我的培养,家里当时经济状况很不好,但是母亲为我投入了一切能够用于教育的资源,引导我多读书,认真学习,踏实做事,这些早期的教育基础对我的成长起到了关键性作用。


注:

https://recbole.io/

https://github.com/RUCAIBox/CRSLab

https://github.com/RUCAIBox/TextBox



黄振亚

CCF专业会员。中国科学技术大学计算机科学与技术学院副研究员。主要研究方向为数据挖掘、知识推理、表示学习、教育大数据分析等。

huangzhy@ustc.edu.cn


特别声明:中国计算机学会(CCF)拥有《中国计算机学会通讯》(CCCF)所刊登内容的所有版权,未经CCF允许,不得转载本刊文字及照片,否则被视为侵权。对于侵权行为,CCF将追究其法律责任




点击“阅读原文”,查看更多CCCF文章。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存