#计算语言学#
[并不简单] 因为之前说到要分享计算语言学可以做什么相关的工作,所以本条微博用来记录我的暑期实习的一些思考。我只是一个语言学专业的研二学生,对于行业的前瞻、发展、工作的优劣,没有太多个人的想法。此时此刻,我才切切实实感受到个人参与到AI数据生产实际的状态当中是怎样的。
我最近在某厂AI部门做语言学专家,这个岗位其实分布的不广,能不能开这个岗位是要根据公司实力的。算法使用的数据一般有这么几个来源,专业的数据公司、公司下面的审核部门、算法自己同业务标一批线上数据,具体的选择需要根据任务的实际、预算、人力成本等等综合考虑,像百度在山西有数据基地、字节在各个城市的审核中心,但数据是有很多类型的,我们知道有图像标注、语音识别转写、文本分类、意图识别、情感分析等等,而普通的语言学生能参与的任务类型,是依赖于自然语言理解的部分任务。图像标注,不要语言知识的人可以见猫标猫,见狗标狗。但是语言理解是有模糊性和歧义的可能的,而模型又需要一个确定的答案去学习,不能教模型一个不一致的答案,道理如同教小孩子,告诉模型“这是怎么回事”这句话,第一次告诉它情感是“中性”,第二次告诉它情感是“生气”。
这里也就指明了语言学毕业生如果要做这行,去向就是数据公司、审核中心、互联网大厂AILab部门(不一定有岗),在招聘软件的描述中,可能会被称为计算语言学专家、数据运营、标注运营、内容质量审核负责人等。工作的内容大概就是根据业务需要和业务数据,制定标注指南、规划标签体系、培训标注人员、验收数据、评估数据质量,从算法的视角来看,就是数据部门,为之生产模型的训练集和测试集。
如果说人工智能的“智能”大部分依赖于“人工”,那么“人工”需要“老师”来指导做题。同样的制作测试集也像是出语文考试题,需要专业的老师来出题,不是从数据中随机分割出来一部分算一个准确率、召回率、F1值,就一定可以准确评估一个模型的效果了。出题(做测试集)也是一门艺术。为什么每年会有那么多的测评比赛?那些测评比赛用的测试集是绝对权威、客观的吗?还是模型的效果只是在这部分测试集上刷到了SOTA?同时,真实世界要比只有一个答案的世界复杂的多,根据一个目的需要确定的答案,可能迁移到别的领域、别的目的又会发生变化。对于算法人员来说,可能更多的是考虑优化的问题,有很多开源的技巧。对于他们来说,数据处理和生产就是dirtywork,但据我所知,没有自己数据生产能力的算法工程师很大一部分时间是需要自己做这些dirtywork的。通用算法也是依赖于业务部门的,业务数据是无数线下的人一点点产生的,算法只能用于优化业务流程、提高效率,但不可能直接取代业务。(这里考虑的都是面向业务的数据工作,对于挑战人类智能天花板的NLP工作,可能不是随便一个计算机科学毕业生、语言学毕业生就能参与的,所以我更多的考虑实际的东西)
我们不仅要对模型负责,也要对数据标注人员、业务部门负责。标注人员,可能是我们这个时代的工厂流水线的另一种缩影,只不过生产场景从工厂变到了机房,标注人员依靠了鼠标、键盘、基础语感完成了一条语料的判断,在标注平台、内容审核平台,后台直接记录了标注人员的用时、效率、完成质量,他们也有最低数据生产限制,不合格的标注人员会被优化淘汰,同时标注人员由于自身的受教育背景和知识水平,对于语料的把握能力也是差异巨大的。在标注指南制定和完善阶段,常常会让数十名标注人员对同一条句子根据现有的标注指南进行标注,以此来探究人类理解的差异和边界。同时,业务方有自己的思考,对于不理解业务实际的标注人员,顶多能算用户视角。和业务方的视角也有很大的差距,这些都是要一一对齐的地方。相似的任务,标注体系的粒度和数量会发生变化。比如类似的两个句子,在第一个业务方下可以归为一个标签,在第二个业务方下必须分为两个标签。个人语感的差异是无法抹平的,所以每次的标注任务都是相互妥协、平衡的结果。分类是人类认识事物的基本方式,我们在日常生活中,给每一个人贴上标签,在生产实际中,给每一条句子贴上标签,但言语如同人一样,是社会关系的总和,个人的语感和理论抽象就是言语和语言的差别。一言以蔽之,这是一门给言语分类的艺术,考虑模型实际、业务需要,要从纷繁的语料中抽象出语言规则为标注指南,为数据生产过程和效果评估结果负责。
对于我个人而言,我做这份工作不是为了给每个句子打上标签。标注一般是有专人负责,标注行业人员流动特别大,标注平台打标工或者表格纺织工,跟以前的流水线工人没有太大分别。智能化浪潮不可逆的时代下,我们作为各行各业的普通人,怎么面对被人工智能淘汰的命运?如何避免自己成为时代的红利?而不是因为网络上的宏大叙事,一拥而上,纷纷转行,去做数据分析师、算法工程师(对于一般文科生来说,需要很高的门槛)。对于我来说,标注方法的研究和实践是语料库语言学的一部分,即使以后不干这行,这样的行业的体会,也是理论联系实际的映照。语言资源是NLP的基石,但很少有人、有能力(时间、精力、金钱)去做语言资源的工作,这部分的工作可能很少能体现你个人的贡献,更多的是群策群力的结果,比如想出了一种新的范式、颠覆行业的训练方法,但如同算力的发展一样,也是有人默默付出、缓步发展的。
虽然我也上过NLP专题课,也学过机器学习、深度学习和预训练模型方法等,对于背后的计算原理只是简单的了解,我不关心公式推导和模型的训练。我考虑的更多是语料的问题,语言学是从语料中总结规律,分析动因以探究人类语言和认知智能的学科。其中一部分是启发式的自顶向下式的,一部分是自底向上式的,两种路径各有优点和不足。语言学如何利用先进的方法去更新研究范式,如何合理的联系语言实际,都是非常有意义的问题。我相信“每当我开除一名语言学家,我的语音识别准确率就上升了“不是一句纯粹的戏言,指出了当下语言学研究的某些问题。当我还是一名语言学专业的本科生时,沉浸于水平高低不同的学者对于一个语言现象的参差不齐的”语言研究“,我的想法是,某些汉语语法研究就这水平?这种工作有什么意义,能探究什么人类语言认知智能?既没有高度,也不能落地,只是为了论文考核而作的水文,对于普通语言学学生来说无异于一种精神污染和误导。当然为我授业解惑的语言学导师们都是非常有水平的,他们当然知道如何指点我看语言研究的精华部分。这篇心得不谈如何转型成为计算机科学家,算法工程师,我们虽然有共同的研究目标和对象,但在任务中关切的点是不同的。同一个目标当然不是只靠一个学科背景的人就能完成的。语言学学生学编程和数学也不是什么新鲜事情了,本来就是被”汉语言文学“学科分类掩盖的理性学科。
也许我以后会另谋出路,但是我本科和研究生阶段所接受语言学学术训练,计算机科学的知识拓展,AI部门数据生产实践带给我的实际经验和对理论的重新思考,都是我珍贵的人生体验。
