计算语言学家在科技行业的职业发展指南

本文由某中心资深应用科学家分享计算语言学毕业生进入科技行业从事研究工作的实用建议,涵盖实习选择、研究方向拓展、学术与产业研究差异等内容,为语言学家转型提供专业指导。

计算语言学家能在科技行业找到归属吗?

某中心高级应用科学家为考虑进入行业研究岗位的研究生提供职业建议。

编辑注:Christos Christodoulopoulos 是某中心位于英国剑桥的Alexa知识团队的高级应用科学家。他的研究专注于知识提取、知识图谱问答和事实验证。Christodoulopoulos于2016年加入某中心担任研究科学家——这是他的第一个非学术职位。他的背景是计算语言学:使用计算方法研究人类语言。

在获得数字系统和技术教育本科学位后,Christodoulopoulos在爱丁堡大学获得了计算语言学硕士学位,论文涉及蕴含和极性等语言现象的计算模型。他的博士研究专注于跨语言句法类别的底层结构,以及它们如何(或是否)与语义原语相关联。

在伊利诺伊大学厄巴纳-香槟分校进行博士后研究期间,Christodoulopoulos致力于儿童语言习得的计算模型(基于句法引导假说)和扩展语义角色标注的机器学习模型。在下面的文章中,从更理论化的语言研究转向更应用化的知识提取研究的Christodoulopoulos,分享了年轻研究人员如何转型到行业研究岗位的建议。

一位在康奈尔大学任教的朋友最近请我分享职业建议,给那些正在决定是否想进入行业工作的研究生。他教授自然语言处理和计算语言学。他的一些学生来自传统(非计算)语言学背景,想知道科技行业内是否有适合他们的职业道路。在加入某中心之前没有任何行业经验,我试着思考我希望有人在我刚开始时给我的建议。以下是我分享的内容:

实习

  • 如果可能,追求多个实习机会。尝试不同的公司或研究小组。
  • 寻找刚好超出当前研究范围的项目——足够接近以便立即上手并在三到六个月内完成,但又足够具有挑战性以学习新东西。
  • 在实习期间与尽可能多的人交流:从面试开始(我在与两位面试小组成员交谈后决定接受目前的职位),安排与其他团队成员/领导的一对一会谈,参加讲座、研讨会、阅读小组和其他提供更多多学科视角的活动。

研究

  • 有意识地将研究扩展到其他领域,或使用日常研究之外的其他工具。
  • 在撰写学术和行业研究论文时,试着思考工作的影响。读者能从中获得什么?他们能否将你的发现融入他们的工作?(“我们的系统比竞争对手好x%“不是一个发现)你的论文/工作在六个月、两年甚至五年后是否仍然相关?
  • 在某中心,使用逆向工作模型,从客户需求开始,逆向推导解决方案——这使我们确信问题/最终状态是重要的,即使解决方案发生变化。
  • 尽可能为多个会议评审研究论文。试着了解所在领域工作的质量和广度。阅读其他评审人的评论。看看他们注意到了什么,遗漏了什么(或选择不提及)。在评论中保持尊重,但不要回避指出突出的问题。在批评中具有建设性,试着提供反例或改进建议。试着强调工作的积极方面,聚焦于社区能从中学习什么。始终为领域主席提供执行摘要(他们会感谢你)。
  • 不要将工具与思考问题的方式混淆。如果我问你如何解决情感分析,BERT不是一个答案。思考这种技术起作用的根本原因,并尝试推广它。公司不会因为你是某个工具/技术的专家而雇用你——你需要展示当第一个工具过时时你能学习新的(或者更好的是,开发新的)。
  • 节约使用资源。需要这种计算量吗?需要这么多数据吗?转移到其他语言需要多少努力?语言之间的类型学差异能告诉我们关于模型泛化潜力的什么?这是学术界相对于产业界的优势。
  • 在攻读博士学位期间尝试与其他研究人员合作。学习如何分担工作量,以及代码和数据等资源。利用这个机会为版本控制、代码注释、实验室笔记和单元测试制定最佳实践。

职业

  • 在开始博士旅程之前(或在此期间的第一年左右)决定学术研究模式是否适合你。获得博士学位是一个漫长、艰苦的过程(尤其在美国),即使在一个大研究实验室中也可能非常孤独——毕竟,你学习的最终状态是成为你( admittedly tiny)研究领域的唯一专家。如果极度专注于一个小子领域不是你的菜,那也没关系——通常可以将博士前几年转换为硕士学位。大多数研究职位需要博士学位,尽管一些公司会雇用拥有硕士学位的研究人员。
  • 攻读博士学位是一个漫长的过程,但它提供了展示研究可能性的机会。正如我的导师常说的,博士学位只是"研究的驾驶执照”。回想起来,这是我最有时间研究让我兴奋的想法,并尽可能多地发现我的领域的时候。即使你的论文是一个非常狭窄的主题,确保通过与其他学生在他们的项目上合作,或仅仅在文献综述期间,有机会扩展你的研究视野。

想法驱动与产品驱动的研究

有许多行业研究小组的运作方式更类似于学术研究实验室(主要产出是出版物、数据集和模型),而其他(包括某中心)则专注于产品/客户。这并不意味着你不能发表——而是你遵循产品驱动、接地气的方法,而不是想法驱动的方法——参见我们的科学网站获取示例。

喜欢产品驱动的研究有两个原因:首先,你对客户的生活产生切实的影响(并且可以向家人和朋友炫耀!);其次,它迫使你处理现实世界数据的规模和"混乱性”。对我来说,这意味着处理语言的本来面目,而不是我希望的样子。

学习良好的管理实践

看看大公司如何组织他们的团队和项目(例如,Scrum和Kanban)。学习什么是好的会议,并采用会议行为准则(要求议程,试着确保每个人都被听到,做笔记并分享)。

成为好队友并最终成为领导者

不幸的是,学术界从不教授管理技能(人员或项目),并不是每个人都是天生的团队合作者或领导者。意识到自己的无意识偏见,自我批评,并赢得信任。如果不确定是否应该参加管理课程(我没有),试着观察周围的管理是如何进行的,并从有效和无效的做法中学习。发现某中心的领导原则清单是优秀的日常指南(即使对于像我这样的非管理人员)。

非计算学科

大型科技公司——以及许多初创公司——对非计算语言学家感兴趣。区别在于提供的职位是研究/出版物导向的,还是更工程/分析聚焦的。在某中心,有许多角色如语言工程师、语言数据研究员、数据语言学家、数据助理考虑没有计算背景的语言学家作为候选人(不过需要数据处理和脚本技能——见下文)。也可以通过访问Alexa AI团队页面,点击Kat、Melanie或Saumil,认识在这些职位上的一些某中心员工。

Python编程至关重要

即使对于非计算语言学家也是如此。它正稳步取代R作为默认的数据分析语言,并且非常 versatile,从临时脚本到生产系统都可以使用(当然它是深度网络的语言)。参加编程课程,并尝试参加Kaggle竞赛或所在领域的其他共享挑战。最近的FEVER挑战是一个独立竞赛的好例子,需要标准NLP流水线的大部分。

希望这些建议对你有用,并祝愿你的职业旅程像我的一样充满挑战和回报。作为额外作业,强烈推荐阅读Chris Manning在《计算语言学杂志》“Last Words"专栏中的优秀立场论文《计算语言学家与深度学习》。在我的博士导师Mark Steedman在同一专栏的文章中,他写道:“人类知识以语言表达。所以计算语言学非常重要。”

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计