为什么相比于计算机视觉(cv),自然语言处理(nlp)领域的发展要缓慢?

目前cv领域有很多工业化应用,而nlp很多处于实验室toy的阶段。相比之下,在工业界应用较少。是由于什么原因?
收藏者
0
被浏览
80

5 个回答

灭绝或心动 LV

发表于 7 天前

不知怎的,今天刷到了这个问题。带着些许诧异点开,从高赞回答的时间戳得知,这是不晚于2018年9月的提问。回想三年时光,有些感慨,便想把它们写下来。
回到2018年9月,transformer方兴未艾,BERT还有一个月才问世,预训练大模型的范式也尚未成熟,看起来NLP的研究进展要落后于CV。三年时间过去,情况发生了变化:虽然CV和NLP都遇到了不小的瓶颈,然而不论从网络架构(transformer)、训练范式(masked language/image modeling)还是下游应用(prompt-based tuning),NLP都领先CV一步。相反地,从工业界的情况看,CV类应用却比NLP类应用更多更广。这确实是值得深思的问题。
如果要用一句话表达本文的观点,那就是:CV和NLP的难点和应用价值不同——这就决定了,不论在研究还是应用上,两者都会长期呈现出不平衡的发展。下面分三个部分,详细阐述我的观点。依然声明:个人水平有限,观点难免有误或片面肤浅,望读者理解。
1. CV和NLP究竟哪个更难?

人工智能和机器学习所面临的问题大多归为两类:生成和判别。由于两者互为反问题,任何一个的解决或者推进都能显著地促进另一个。方便起见,我们将从判别(或者识别)任务的角度展开讨论,而其中大部分的结论都可以拓展到生成任务上。
识别任务的输入是一段CV或者NLP信号,输出是某种可规定的语义。在这里,我先做了一个术语上的规范:所谓语义,必然是通过人为定义而产生的,自然信号包含语义但不与任何语义绑定。这就意味着,任何一段输入,文本也好图像也罢,都需要被投射到某个特定的语义空间中,从而完成识别任务。简而言之:识别的目的,是将某个客观存在的信号对应到主观定义的概念上。
为什么要特别强调上面的概念?因为这与我们将要展开的讨论有关。虽然CV和NLP都在解决识别问题,但是两种输入信号的来源有很大不同。图像输入,大多是天然存在、经过较少人为加工的信号,着重反映客观事实;而文本输入,大多是人为创造的信号,着重反映主观观点。也就是说,都是客观存在的信号,文本相较于图像的主观性更强,因而就更容易对应到主观定义的概念上,从而完成相应的识别任务。
也就是说,从任务的属性上说,NLP就比CV要容易一些。
我这样说,可能会引发些许争议。但我要声明,这里只是想讨论技术问题,没有任何要判断孰优孰劣的意思。更何况,即使NLP比CV容易,两者距离解决都还差得远——打个比方,NLP和CV就好比9000米和10000米的长跑,9000米可能确实要容易一些,但现在业界还没跑过1000米:不论是谁,离终点都还远着呢。
回到技术层面,也许NLP的同行们会说,NLP中也存在大量难题,光光是文本歧义问题就够我们研究数十年,进而可能会列举“南京市长江大桥”这样的梗来说明问题。同时,在智能语音助手普及的当下,普通人多多少少有过在人工智能(zhang)面前吃瘪的经历,也会纷纷指责它们常识不分。诚然,面对一个聊天机器人,但凡有些AI基础知识的人,都有一万种方法让它崩溃——然而这并不意味着NLP就比CV更难!需要注意的是,人类能够轻松地构造出文本反例去挑战NLP算法,进而对它们缺乏常识的行为啼笑皆非;而人类构造图像反例的能力就要弱得多(大部分人根本画不出一只像样的猫来,更不要说把它放在各种复杂环境下去测试算法了)。同时,视觉识别算法的能力,在粗粒度标签的伪装下,被大大高估了:许多算法能够识别出行人,其中只有少部分能够进而识别头部、躯干、四肢等部件,而进一步识别手部动作的就更少了。而对于智力正常的人来说,只要愿意,他就能识别任意细粒度的语义。说得更直白些,NLP算法的确面临很多难题,但是CV算法连解这些难题都还不配!
总结起来,我希望表达的意思是:NLP与CV相比,具有输入与输出更接近的天然优势。而当前的算法充分利用了这一优势,造成了NLP领先于CV的局面。下面以预训练为例,分析NLP是如何利用这一优势的。NLP预训练一直走在CV预训练的前面。从成果上看,在模型参数量、通用性等方面,NLP模型都领先CV模型至少一个身位;从方法论上看,NLP有着masked language modeling(简单理解为完形填空)这一神器,屡试不爽,而CV至今仍在苦苦寻求通用而有效的proxy。造成这些现象的本质原因,还是上面所说的,输入信号的本原性质。图像信号是天然存在的,通过传感器来采集,因而每个像素并没有特定的语义信息;文本信号是主观创造的,出于交流方便考虑,所有语言都有简洁而紧凑的特征。换句话说,同样体量(以存储为标准)的文本和图像做对比,前者所能包含的语义往往更多,学习效率也更高。做个简单的对比,ImageNet-1K的大小是230GB,它能够训练出的模型大多不超过1G(以32bit浮点数做参考:ResNet50的大小是100MB,EfficientNet-B8的大小是350MB,Swin-B/L的大小是350MB/800MB,而Swin-L已经难以用ImageNet-1K训练好了),数据-模型压缩比超过200倍;而NLP大模型的压缩比通常要低得多:GPT-3使用2TB的文本数据训练了700GB(1750亿浮点参数)的模型,压缩比不到3倍。所以,我有时候会不太严谨地说:NLP的预训练不应被视为无监督预训练,因为每个单词都带有弱语义。
我的另一个观点也随之而来:CV预训练要想取得长足进步,就必须探索出一种更加高效的数据压缩范式。关于这个点,我还可以说很多,但就有些偏离当前问题了。我的结论是:NLP比CV要稍微容易一些,而NLP学者们也确实抓住了机遇,使得NLP的发展领先于CV。
2. CV和NLP的应用需求有何不同?

然而到了应用层面上,CV和NLP的局面就大不相同:并不是NLP发展得快,应用前景就更大——相反地,NLP吃了数据来源的亏,应用前景上反而不如CV广阔。
前面说到,NLP所处理的,是人类主观创造的数据,因此NLP的应用就离不开人。但是,人创造数据的速度毕竟是有限的,加上隐私等各种因素,能够供NLP算法处理的数据量很少,市场处于存量状态。加之算法精度有限,对于某些重要识别任务,人们也不惜亲手打上标签——毕竟都写了一段话,多点几次按钮也没什么关系。至于能够创造价值的翻译、推荐、搜索等业务,也大多被掌握流量的企业所把持,留给市场的空间不大。于是,在商业应用受限的背景下,我们更多看到的就是学界定义的各种benchmark了(题面中的toy cases)。
CV的情况就大不相同:它能够处理天然产生的数据,可以帮助人类监控、分析自然场景,是一个典型的增量市场。除了城市监控、自动驾驶等热门应用,CV算法的普及还可以帮助一些前沿研究人员,做成/做好那些原先需要他们一直盯着,却也无法完全覆盖的事情,如野生动植物保护等。于是,CV应用的范围很广,需求也很大:CV所面临的问题,反倒是算法落后所导致的鲁棒性、迁移能力不足,无法满足实际需求。当然,业界尚未形成/习惯规范的数据标注/回流/迭代标准,也是制约CV发展的一大障碍。
最后聊聊跨模态,特别是图文跨模态。从技术上看,跨模态依然处于初级阶段,大多数算法所做的事情,都是暴力地把两个性质完全不同的空间贴合在一起,长远看似乎不是正解。然而我猜测:跨模态研究如果有所突破,就能够在一定程度上改变NLP和CV的现状,让NLP通过与CV的交互,吃到CV增量市场的红利。希望这一天尽早到来。
3. CV和NLP面临的共同瓶颈是什么?

说了这么多CV和NLP的对比,最后简单谈谈两者共同面临的瓶颈。我能想到的,包括但不限于以下三点。

  • 学界所采用的算法评价标准,已经严重滞后于业界的需求:作为研究者,应该时常问问自己,我们整天追求的acc/AP/IOU这些指标,对于实际应用究竟有没有用、有多大用。
  • 数据驱动而非任务驱动的研究方法:数据驱动的弊病,已经有过诸多讨论,此处不再赘述。
  • 深度神经网络只会拟合数据,缺乏基于常识的理解:这个问题,与深度神经网络的可解释性紧密相关——虽然遥遥无期,但我们终究盼望着曙光。
显然,这里的任何一个问题都很难;但只有解决它们,才不会让CV和NLP的研究者们永远徘徊在1000米附近,茫然地对着9000米或者10000米处云雾缭绕的终点,继续讨论谁能先到终点的哲学问题吧。

初生之鸟 LV

发表于 7 天前

其他答主已经回答的很完善了,我想补充一些我的思考。
语言相较于图像,更麻烦的一点是语言这种数据至少包含了两层意思。一层是作为它本身的抽象语言符号,另一层则是这个符号所指代的在现实世界中的事物或抽象概念。在结构语言学中,索绪尔将第一层命名为能指,第二层命名为所指。
举个例子,回想我们人类在牙牙学语的时候。当我们学‘apple’这个词时,我们会指着苹果,观察它,触摸它,大人高兴了会给我们切好让我们品尝它。我们也会去参观苹果树,喝苹果汁,用红苹果比喻小脸蛋儿。‘apple’这个语言符号的能指和所指就这样在我们脑海中形成。当我们看到这个词时,脑中就会浮现一个大苹果,说不定还会口齿生津。当然再后来,我们又会把这个词和一个会发光的黑色铁盒子连接在一起。
那么问题来了,在NLP中,我们给模型所输入的只是一大堆语言符号本身,对模型来说,它的世界只有这些符号,按一定的顺序排列。‘apple’对模型来说只是 'a', 'p', 'p', 'l', 'e' 这五个符号按顺序排列在一起而已。它不知道apple背后代表着一种可食用的水果,不知道这种水果的味道,颜色,触觉,形状等等。在大多数情况下,模型也不知道这个词的发音是什么。
因此,我们的模型的世界是一个被阉割了的语言世界。它仅仅包含语言的能指,而完全接触不到现实世界中的所指。这些作为能指的语言符号的顺序会有一些规律,而对模型来说,所能学习的也仅仅是这些语言规律。我们可以说,这些语言规律就是统计方法做NLP的上限。我们的模型能很好的学习比如‘thanks very’后面八成是个‘much’,但当你问一个问答模型‘what is the taste of an apple ?’时,除非数据库里有现成的答案,否则它八成给你输出一堆垃圾。现在大火的BERT,GPT-2等也只是更彻底的学习了语言的规则而已。
这就导致了如果我们只给模型输入语言符号,我们永远不可能通过统计方法解决自然语言理解问题。我们使用的语言不单受语言规则的限制,更多的是它受到现实世界的物理法则的限制。‘苹果是一种水果。’和‘苹果吃起来麻辣鲜香。’在语言规则上都没毛病,但我们都知道第二句是没有意义的。
当然,语言中也能蕴含一些现实世界的物理法则。当数据量足够大的时候,模型也许会知道‘苹果吃起来酸酸甜甜。’,‘苹果可以做成苹果派。’等等。但归根结底,它只是基于对语言规律的总结,它之前见过几次这个表达而已。
总之,不给我们的模型一个与现实世界的链接,它永远也不可能像人类一样掌握语言。
而要命的是,NLP商业化的机会,似乎更多的在这个链接建立之后。我们可以比较一下CV和NLP的比较火的任务,CV学会了分辨图片里面什么是什么 (objective detection), 学会了找出人脸在哪儿,哪儿是眉毛哪儿是嘴,学会了分辨哪张脸都是谁。而相对应的NLP的任务,似乎是命名实体识别(Named entity recognition)。其实NER技术也已经相对非常成熟了,但与CV不同的是,对NLP来说,NER仅仅是个开始,它本身没啥商业化的价值。
这也导致了10年以来那批AI初创企业,CV领域已经出了几个独角兽了,而NLP的则大多半死不活的。
当CV学会了分辨出图片里面的物体之后,按人脑的处理方法,我们会把这些物体符号化,再进行思维处理。而这些思维处理正是NLP所挣扎着想解决的问题(比如visual question answering)。现在AI领域里神经网络能够处理好的一些问题,比如CV的目标检测,NLP里面的语音识别等等,大多是人类本能的那部分。而NLP现在直面的问题则是超脱了人类本能的逻辑思维,这个门槛似乎十分的高。凭借这波依靠神经网络支撑起来的人工智能的爆发能否突破这个门槛,非常的不好说,我本人是比较悲观的。

补充:
攻略组在干什么
目前很多NLPer都在关注模型和知识库(Knowledge base,KB)的结合,这似乎是机器和现实世界建立连接的第一步,是以一个巨大的知识库代替或模拟现实世界的物理法则和人类的常识。以对话系统为例,key-value net[1] 和Mem2Seq[2]等都尝试给一个生成模型连接上一个很小的KB,KB里面的所有triple都与当前对话相关。但局限是这个KB实在太小,而且必须人工筛选使得与当前对话相关。另外,我复现的结果也不如论文中那么理想,大概是我太菜了。
补充2:
维特根斯坦
我们小时候学习语言,其实都是从单词开始的。冲家长吼“苹果!”我们就有苹果吃。慢慢的,我们开始掌握一些祈使句:“给我苹果!”,再后来,又学会了“我喜欢吃苹果”这类表达情感的语句。在维特根斯坦的理论里,这些统称语言游戏。这些语言游戏,与环境,即我们的生活是休戚相关的,是‘语言与现实难分彼此的大面积交织。’对维特根斯坦来说,脱离了语境的语言形式是没有意义的。哈贝马斯说“维特根斯坦的语言游戏语法试图把理想化的抽象理性重新放回到其语境当中,并把理性定位在它所特有的活动范围内。”
对机器来说,以目前的路子,就算链接了知识库,机器也没有一个理性的主体作为“我”去与现实世界交互,因此机器是不可能参与到这些语言游戏中去的。机器不可能知道它想要什么,它喜欢什么,它是谁,来自哪,等等等等。我们没法确定语言游戏是否是掌握语言的唯一途径,但这不失为是一种对目前路子的alternative。
在RL里有一个很有趣的方向[3],就是在multi-agent的情况下参与一个游戏,让每个agent能彼此发送和接受一些符号,这些符号一开始没有任何实际意义,但通过多次玩儿这个游戏,使得这些agents自动形成了一套语言规则,并依靠这些符号传递信息。这几乎就是维氏语言游戏的翻版,尽管它们形成的语言规则非常的简陋,而且对当前NLP面临的问题几乎毫无帮助,但确实非常发人深省。

[1]https://arxiv.org/abs/1705.05414
[2]https://arxiv.org/abs/1804.08217
[3]https://openai.com/blog/learning-to-communicate/

cwpeng LV

发表于 7 天前

今天翻草稿箱,发现一年前自己给另一个相关问题“计算机视觉和自然语言处理,哪个更具有发展前景呢,还是各有千秋呢?“写的草稿刚好切题,借此再重新分析一下。各位高票答主已经从应用场景上谈了很多,我想再从源头的认知角度聊一聊,我认为主要原因是:
1) 过去几年CV领域爆点,与NLP领域的主攻问题相比,是不同的智能认知阶段;
2) 而过去几年促使整个AI领域迈了一大步的深度神经网络技术,更适用于先前CV领域的认知阶段和问题范式。

具体来说,如果我们回顾过去几年这视觉(CV),甚至是语音识别(speech)领域的主要突破进展和成功应用,会发现它们都集中在对*自然连续信号*进行底层感知(perception)的阶段:比如CV中的分类,分割,跟踪,以及典型的语音识别任务(可粗略类比于CV中的分类+分割问题)等对底层自然信号进行初步加工的问题。这类问题的本质是简单的统计特征发现函数拟合。例如对于自然图像分类问题,深度神经网络这类统计模型作为universal approximator已然强大, 加上诸如“convolutional”等可以捕捉自然图像低频、局部相似性等统计特征的inductive bias被直接融入到模型构建中,配以大量数据,使得这类拟合问题得到很好的解决。而伴随着模型训练得到的一个副产品就是很多答主提到的多层级的feature representation (特征表达),这些特征表达实际上是convolutional这种结构先验在数据空间的外化。总而言之,现有算法在这种本质是拟合的感知问题上已经达到了一个不错的的水平,而与此相关的工业应用自然也层出不穷。然而,对于视觉内容(包括静态图像,视频)进行高层抽象逻辑、语义理解(比如空间逻辑,时间逻辑,因果关联推理等)的研究还有很大的空间可以提升。
另一方面,自然语言处理(NLP)的研究更注重感知之后的认知/理解阶段(understanding/ comprehension)。自然语言本身是人类对世界各种具象以及抽象事物以及他们之间的联系和变化的一套完整的符号化描述,它是简化了底层物理感知的世界模型。从这个意义上讲,自然语言的描述空间实际上上已经大大超过了图像这种具象信号。这意味着NLP处理的输入是离散的抽象符号,它直接跳过了感知的过程,而直接关注以现实世界为依托的各种抽象概念,语义和逻辑推理。诚如各高票答案指出的,领域发展之初存在一些低处果实,这类果实大都基于浅层统计语义,或者可以直接被简化为跟CV感知问题一样的函数拟合,比如早期的信息检索(比如典型的tf-idf方法),文档/垃圾邮件分类,词性标注,甚至是机器翻译。实际上这些技术已经成为了一大批耳熟能详的科技公司的核心技术。然而,当这些低处果实被摘完了,新的研究则需要关注高层语义、记忆、知识抽象以及逻辑推理等等,这些问题解决不了,我们是无法构建出一套更成熟的“问答系统”、“对话系统”这种“类图灵测试”的AI系统的,而这样的系统恰恰是公众心目中认为的NLP技术大规模应用的表现。
与一些答主对统计学习/深度学习在NLP复杂问题上的乐观不同,我个人认为,这类问题的解决方法或许已经超出了现有深度学习或者更一般的统计机器学习技术的能力边界,换句话说,NLP中有一些核心问题是统计学习里的特征发现+拟合解决不了的。最简单的一个例子就是,统计学习模型在语言的组合性(compositionality)上到目前几乎是一无是处。此时此刻,NLP跟CV面临的挑战是共通的。

总而言之,从认知阶段的角度解读,不是CV领先于NLP,相反,恰恰是因为之前的CV技术搞不定感知,CV是“落后”于NLP所关心的认知范式的。当CV跨过感知的门槛之后,CV和NLP问题殊途同归,两者未来面临的挑战其实是一回事,就是理解这个世界背后的逻辑,它具体可以反映在对常识(common sense)的理解,如何进行因果推断(causal inference),对抽象概念的理解等等。目前相关的研究包括 language grounding 以及符号主义同连接主义的融合等,这些内容又可以写一个大综述了,吾辈任重而道远。

------补充------
其实从人工智能发展史的角度,也可以为这个问题寻找到一些答案:
自1956年达特茅斯会议开始,人工智能经历了符号主义,连接主义(又作:联结主义)以及后来统计学派的加入等多方的起起伏伏,他们实际上对“下游”的CV和NLP技术的发展变迁产生了重要影响。

早期(60年代到80年代)符合主义学派称霸,连接主义在夹缝中生存。下游反应则是CV领域进展缓慢,以专家系统为代表的NLP技术开始起步。
在这个时期,人工智能学者开始分化出两个学派即符号主义学派和连接主义学派的雏形。
符号学派的学者笃信思维的可计算性和强逻辑性,由此衍生出了一批跟逻辑推理、编程语言范式相关的人工智能方法。其主要特征是认为智能认知过程是可以做精确描述并实施逻辑演算或数学计算的,希望通过预先融入人类专家知识的专家系统和逻辑推理系统来解决感知、理解等问题。而这种思路反映在CV领域便是,早期专家认为通过对各种物体形状、颜色等物理和几何属性进行精确定义并设计一套严格的计算方法,就可以解决计算视觉的各种问题。历史已经证明这种方式是行不通的,但在这一时期,CV领域发展出了一套基本的关于几何视觉的计算理论。另一方面,因为NLP的研究对象是抽象符号,而且NLP问题本身内嵌了很多逻辑、推理等内容,使得在这一时期符号学派在NLP技术的推动上起到了很大作用,其中包括各种基于规则和专家知识的分词,词性标注,语法解析等系统,和一些基于规则和逻辑的问答,对话系统等,同时在这一时期已经逐渐出现了使用统计学来进行自然语言处理的思想。
而此时处于少数的连接学派学者,则试图摆脱先验知识和专家约束,希望通过连接模型例如单层的感知器(即perceptron,神经网络的前身)来自动学习数据中的模式。然而,由于这一学派在当时缺乏严格数学理论的支撑,同时其单层结构并不有效,且限于当时的数据收集和计算条件,并不能发挥连接主义的真正功效。更令人遗憾的是,曾经的连接主义者Minksy转投符号主义怀抱,除了为符号主义学派贡献了Frame theory 这一日后成为重要编程范式的理论之外,同时因为批评perceptron的局限性,直接导致了连接主义甚至是AI在70年代后期的寒冬。
中期(90年代到00年代)统计学习理论称霸,符号主义遇冷,连接主义短暂复兴之后继续低头做人。下游反应则是CV领域开始抬头,NLP领域继续平稳发展。
随着计算技术和互联网的发展,大量的数据逐渐让符号主义学派的专家系统捉襟见肘,在这一时期大家逐渐认识到传统专家系统存在的灵活性和鲁棒性问题,以及从大量数据中进行专家知识获取的高昂成本和不可扩展性。而同一时期,统计机器学习理论逐渐成为主流,主要包括以vapnik的SVM和Valiant的PAC为代表的统计频率学派,和以概率图模型为代表的贝叶斯学派,以及其他相关的统计分析方法。统计学习派的元初思想其实与连接学派契合,都是抛弃靠专家人工定义知识和逻辑,通过从数据的分布本身挖掘隐藏模式和规律。这大大加强了相应系统的灵活性,稳定性和可扩展性。然而跟当时的连接学派不同,统计学习学派有坚实的数学理论作为后盾,同时其方法在中小型规模的数据上表现十分稳定,且可以给出模型能力的下界以及置信区间,这直接将当时如同江湖术士的连接主义学派摁在地上摩擦。
与此同时,在CV领域发展出了一系列完整的图像处理和特征提取算法,包括早期的基于signal processing的图像信号处理理论,及后来更偏重视觉本身的边缘(如canny)、角点(如Harris)、直线(如Hough)等检测手段以及后来著名的SIFT、HoG等复杂特征算法。这些特征提取算法的共同点就是借用了人类视觉计算专家的直觉和天才设计。通过将图像进行一些列的信号处理以及进行特征提取并结合同时期的的各种统计学习模型,直接造成了对“早期希望精确规则来计算视觉问题”的降维打击,第一次在视觉识别的任务上达到了可以忍受的精度,也使人们逐渐认识到诸如视觉的这类感知型问题必须通过从数据中自动学习才能被有效解决。由于统计学习理论是搞ML的人的事,此时期的CV研究者热衷于设计各种特征提取器,以至于在那一时期的很多论文都遵从“XYZ特征提取子+SVM,识别率提升1%”的套路模式。这一时期,跟CV相关的优化理论也在蓬勃发展,一个著名例子就是图像的稀疏表达和优化(sparse representation/optimization)
而在NLP领域,人们逐渐将各种统计理论与相关的NLP技术进行融合,发展出了一套完整的基于统计学习的分词,词性标注,解析,翻译,文档分类等技术,以及基于统计理论的语言模型(language model)等。同时期相关的技术还包括了各类信息检索技术,推荐引擎技术,以及基于统计学习的问答系统和对话系统。这些技术相比早期最大的不同是通过统计学习补获了真实数据分布的部分内在模式,像CV领域一样,使很多浅层的蕴含在数据中统计语义得以挖掘,提升了纯粹基于专家规则的系统的灵活性,稳定性和可扩展性。然而由于语言本身的抽象和概括特征,一些深层次的语义信息的发现仍然需要人类专家的介入,一个直接的例子就是在语义解析(semantic parsing)中我们需要大量的专家对语义要素的标注。
当前(10年代至今)连接主义逆袭,传统统计学习失宠,符号主义在角落里舔伤口等待重出江湖。下游反应则是CV领域大爆发,NLP领域继续平稳发展。
未完待续。。
以上。

wxw850227 LV

发表于 7 天前

个人观点这可能是一种误解。从图像和语言两种模态来看,对文本处理技术的大规模应用要早于计算机视觉。
将图像和语言中的处理对象做一个不太严谨的对应。如下图所示,大体上像素类似于语言中的字母;图像中的对象类似于语言中的单词/概念;图像中对象组成的场景类似于语言中的句子表达的语义;视频则类似于语言中的篇章(文章)。

为什么相比于计算机视觉(cv),自然语言处理(nlp)领域的发展要缓慢?-1.jpg

在这种类比下看,NLP/IR在单词层面的处理要比CV中的图像识别简单得多,只需要做一下tokenization、lemmatization、stemming等(中文复杂一些需要额外做自动分词),就可以利用关键词匹配完成很多任务,例如信息检索、文本分类、拼写纠错、情感分析、关键词提取等等,实际上已经得到非常广泛的应用,如搜索引擎、拼音输入法、新闻分类、阅读推荐等。
而由于图像中对象的复杂性和多样性,仅在对象识别层面,甚至特定的人脸识别,还有很多技术挑战。只不过是近年来,由于深度学习对非结构数据的强大表示和学习能力,开始让对象识别走向了实用化。
而进入到更高层面,例如面向图像的场景图构建,面向文本的句法语义分析,都需要对复杂语境(上下文)的精准而强大的建模能力。所以我感觉,并非NLP发展缓慢,只是两个领域的发展节奏和阶段不同。进入高层任务后,两个领域都将面临共同的关键挑战,都可以归结为复杂语境下的多对象(图像中是不同对象,文本中是不同概念)的语义组合问题。

siyue110 LV

发表于 7 天前

谢邀。
NLP和CV都已经是很大的领域了,很难总体上说哪个更难。NLP领域中也很多比较容易的问题,CV领域也有很多很难的问题。
直观感受上,NLP在工业界应用很少,不成熟。但实际情况也并非如此。比如拼音输入法,几乎每个人都在用吧,其背后就是NLP的统计语言模型。每个大厂背后都有很多NLP的技术支撑。大厂对NLP工程师需求一点都不亚于CV工程师。
但为什么感觉上NLP不成熟呢?主要有两个原因:
1 预期太高。NLP的技术发展永远落后于人们对他的预期。人们对NLP的预期等同于对科幻片中对AI的预期。NLP技术的难度和人们理想中的NLP水平很不一样。比如人们会认为实现类似SIRI的日常对话系统的难度低于专业领域的问答系统,但是实现难度可能刚好相反。
2 不能标准化。像语音识别、图像识别可以是相对比较标准化,输入和输出特别明确。这种可以利用大数据的优势,通过机器学习算法相对容易。而NLP应用的大部分场景都是非标准化的,输入数据十分“dirty”,需要大量的预处理,输出也和场景结合十分紧密,没有统一标准。比如NLP中就连最底层的分词,也没有统一的标准,不同场景对分词的标准要求都不一样。这样就带来一个问题,NLP的大部分应用场景都缺少足够规模的标注数据,并且标注成本也非常高。因此准确率通常也不会很理想。 同样道理,CV中涉及个性化的应用场景其实也都非常难。
另外,感觉上NLP在工业界的应用比较少,是因为大部分NLP的应用还都是在后台,为搜索、推荐等应用作为一个技术支撑,前台看不见而已。

您需要登录后才可以回帖 登录 | 立即注册