一文看懂NLP落地难在哪儿

放眼市场,很多智能交互系统针对的往往是单一领域里某个单一任务,因此应用非常受限,要出现爆款产品还需突破技术藩篱。此外,自然语言处理技术要实现突破性进展,模型的迭代和训练都非常烧钱,在应用早期基本属于头部玩家的游戏,很难出现有代表性的标杆企业。本文将从自然语言本身、多模态的学习、训练数据的获取、工业化设计的要求四个方面解析NLP技术的落地难点,希望能够对突破当前瓶颈有所启发。

一文看懂NLP落地难在哪儿

难点之一:自然语言是不断进化的

“自然语言处理”解决的是人机交流的问题,通俗来说包括两个部分,自然语言理解(NLU)和自然语言生成(NLG)。常用的自然语言处理的方法包括分词标注、文本分类、关键词分析、敏感用语识别、词频统计、观点归纳,情感分析等。究其实质,这些方法都是在文本挖掘中进行特征提取,从而推进对文本的理解。

为了使计算机理解自然语言所构建的模型被称为语言模型。常见的自然语言模型有词袋模型、N-Gram模型和神经网络语言模型。词袋模型(bag of words)将每个词视作互相独立的符号,但忽略词序信息,显然对语义的理解会失之粗略;N-Gram语言模型虽然考虑了词序,但受到数据稀疏问题的影响,无法处理集外词(out of vocabulary words);神经网络语言模型基于分布式表示,虽然能够提高模型泛化能力,但模型训练时间长,而且可解释性不够。

一定程度上,各种自然语言模型的局限性可以说是自然语言本身的一些特性导致的。自然语言可以说是现存人类使用过的最庞杂的符号系统,这一系统还随着社会进步不断进化,展现出了十分鲜明的个性。

多样性:基于人类的创造力,语言作为一个开放的集合不断吸收引入新的表达方式。生活中比较常见的就是旧词新意现象。比如“硬核”,本来指的是朋克音乐中的一个分支,而如今在使用中基本被认为是“很酷、很彪悍、很刚”的意思。网络用语中,这种创新性得到了很大释放。“真情实感”的拼音梗“zgsq”,“与你无关”的谐音梗“雨女无瓜”。这些词语充分扩展了语言的表意空间,但带有极大的偶然性和随意性,很难找到规律也缺乏足够的数据支持,对于自然语言理解来说就是一大难度。

歧义性:语言中存在大量一词多义的现象,如果不联系上下文或者结合说话双方的语境就很容易造成歧义。看这样一句话:Marriage is an institution in which a man loses his bachelor's degree and the woman gets her master's ! 这句话有意思的点在于,其中三个单词都有双关义。institution既可以表示“学院”又可以表示“制度”,bachelor 既指“学士”,也指“单身”。master既指“硕士”,又指“主人”。在这个层面上看,“学院、学士、硕士”是一个体系的用词,““制度、单身、主人”又是另一个体系。比较通顺的翻译是:婚姻是一种制度,男人不再是单身,而女人有了“主人” 。但对机器来说,要理解这种一词多义其实是一大挑战。

社会性:人类的社会生产和生活深刻反映在语言中,不同地区的社会形态和地域特点也产生了形态各异的语言体系。因此成长背景不同、社会经历不同、知识体系不同的人所运用的语言是有其差异性的。比如7-11,有些人觉得是数字,有些人觉得是日期,有些人觉得是便利店。语言的使用不仅因人而异,在不同的场合,同一个人也会切换不同的风格。比如公开演讲和朋友聚会时用词肯定有所区别。不考虑社会性的自然语言理解很可能差之毫厘、谬以千里。

主观性:在中国的传统文化里,“意在言外”、“弦外之音”也是很常见的表达。语言在说者口中是一个意思,但听者可能会有很多角度和层次的解读。在人们日常对话交流中,这种主观性比比皆是,有时候必须结合上下文来洞察个中区别,否则就容易踩到“雷区”。比如有个邻居跟李阿姨说:“你家小明真刻苦,每天晚上十二点,还能听见他练琴呢。”显然,言外之意就是小明练琴影响邻居休息了。

正是由于自然语言的多样性、歧义性、社会性、主观性等特点,自然语言呈现出错综复杂的图景。目前来看,现有的语义表示方案只能通过特定任务下的数据进行学习,通用性和迁移性都远远不足。面对这一问题,需要研究一个相对通用的、泛化能力较强的语义模型。设计这类模型的前提是要解决无监督语义学习的问题。目前NLP领域表现比较抢眼的模型有谷歌的BERT、Facebook的RoBERTa等。

难点之二:多模态的语义理解

基于多模态信息融合的自然语言处理是NLP领域的一大课题,也是很多研发团队主攻的方向。多模态比较通俗的理解是:多种感官、多种信息来源相融合。因为人类本身就是通过“看”、“听”、“闻”、“触”等感知方式相结合来理解世界的,如果机器能更“聪明”地像人一样利用多维度信息,同时结合图像、音频、视频来理解用户意图,那么可能更有利于解决实际场景中的需要。

基于多模态的自然语言处理技术难度主要集中在三点:其一,语义鸿沟是普遍存在的,单模态尚且如此,多模态要融合时无疑难上加难;其二,多模态数据间存在特征异构性,跨模态相关算法要有质的飞跃;其三,建立多模态的数据集面临极大地挑战。

目前市面上大部分打着“多模态AI交互”旗号的产品,实际上还不是真正的多模态交互产品。操作中,不同来源的信息输入到设备处理中心后依旧是各自分离的,实质上还是不同的算法启动不同的开关。即使这个机器能“看”又能“听”,实际上两个功能彼此间割裂的,信息并不发生交互。

为了真正实现多模态的协同,近年来,“多模态深度学习”技术开始成为业界热点,也就是

指建立可以完成多模态学习任务的神经网络模型。通过这一技术达成模态转化、模态对齐、模态融合等等,让智能体能够理解多模态信号,能够将视觉、听觉、传感信号综合起来统一“思考”。

难点之三:训练数据的匮乏

本身数据的匮乏就是NLP领域里一个永恒的问题,缺乏标注数据、样本存在大量噪声、数据存在偏差都是很常见的现象。在AI研发中,算力是基础,算法基本开源,数据自然而然就成为了各家研究机构和企业角力的核心。尤其是当你需要一些特定的数据时,仅仅采集数据的代价就可能超出预估。

另外,在自然语言处理领域,标注数据的规模远远跟不上应用需求,人工标注成本极高。数据标注,即对数据集,通过贴标签、做记号、标颜色或划重点的方式,来标注出其中目标数据的相同点、不同点或类别。有了标注数据,算法才能在基础上进行训练,数据标注的质量越高,学习结果越精确,NLP迈入实用阶段的可能性越大。但是数据标注本就是属于做“冷板凳”的活儿,工作量大且非常枯燥,愿意做的人本来就少。而且在人工操作下,标注的质量确实也无法保证。

在这种情况下,成品数据库开始变成很多人和企业的选择。成品数据库的优势是显而易见的,成本低、效率高。数据库并不是定制化的采集,完成后可以反复出售,因此价格肯定不会很高。再者,数据库是拿来即用的,大大节省了研发周期,节约了人力、财力。但成品数据库也有比较明显的不足,那就是适应性差。作为现成的工具,数据库是不能改的,当你的应用场景发生了变化或者有更高的需求时,成品数据库肯定就不适配了。因此,对于起步阶段的产品和公司来说,成品数据库是非常实用的,但要进阶的话,肯定需要定制化的数据补充。

难点之四:实验室和市场之间的沟壑

NLP技术从实验室到市场有多远?相对学术界的训练模型,商用模型落地时考虑的因素通常更复杂一点,另外在产品设计和产品体验方面也需要多加权衡。

首先要明确的是,优化产品模型永无止境。因为训练模型的关注指标和用户想要的结果之间可能存在着一定差距。所以在实际操作过程中,不管研发阶段效果多么无懈可击,仍需要根据用户反馈不断调参,或者补充训练数据,或者结合其他算法,来提升模型的可用性。即使在上线以后,也要根据运营数据和用户行为进行模型的调优迭代。

其此,选择落地场景时要看到“突围”的可能。我们可以参照一下AI界发展迅猛的人脸识别技术。这一领域的产品在目前的市场上应用普及度相当高,精度也有了一定的保证,覆盖行业也在逐步拓宽。但最初在商业化方面,人脸识别是以“安防”为突破口,在这一行业将产品反复打磨,逐渐成熟后才开始“开疆辟土”。NLP技术除了继续磨练硬功底以外,也需要找到类似这样的经典场景,在单点击破后再多点开花。

再者,产品设计要更贴近用户需求。这个需求包括实用需求和审美需求。NLP技术要大规模落地必须要让产品更接近于人们日常生活的常态。但一般来说,生活中的交流往往偏口语化,逻辑跳跃,语义多变,要建模进行分析难度比较大,加之场景开放性大,需要足够的常识背景辅助理解,所以在产品开发中必须针对这一点下功夫。另外,界面设计也是一个影响落地的重要因素。当功能表现差不多时,如果UI更胜一筹,用户体验更佳,自然也可以建立起市场竞争力。