中美两位AI大师的“巅峰对话”:为何NLP领域难以出现“独角兽”?
2017 年,人工智能领域迎来了转折之年:在这一年,传统的计算机视觉和语音识别都达到了新的高度,也在性能方面趋于饱和 。在 2017 年的 ImageNet 图片识别比赛中,参赛的 38 支队伍中有 29 支错误率低于 5%(2011年,表现最好的队伍也有四分之一左右的错误率)。部分由于这个原因,ImageNet 宣布将在 2018 年改变数据集,增加难度。
在产业方面,不少专注于计算机视觉的公司也获得了长足发展。其中比较具有代表性的是估值已经超过 20 亿美元的商汤科技,在经历了数轮大额融资之后,其隐隐有从独角兽变成巨头的趋势。
不过,人工智能另一个相关领域自然语言处理 似乎没有达到这种高度。在技术方面,这一领域的技术准确率远远没有达到计算机视觉和语音识别的水平,技术产品(比如个人助手)经常被人讽刺只能用来调戏,缺少实际价值。在创业公司方面,自然语言处理领域也没有产生像商汤、旷视、依图、云从这样的“小巨头” 。
这些现状都恰恰说明自然语言处理的难度。然而,可以说这项技术有多难,就有多重要。
微软创始人比尔·盖茨曾经表示,“语言理解是人工智能领域皇冠上的明珠”。微软全球执行副总裁沈向洋也在2017年底的公开演讲时说:“懂语言者得天下……下一个十年,人工智能的突破在自然语言的理解 ……人工智能对人类影响最为深刻的就是自然语言方面”。
人工智能包括两个重要的部分——“感知”和“认知”。其中,计算机视觉和语音识别等领域属于感知部分,而自然语言处理属于认知部分的重要内容。对一个“智能”而言,仅仅感知当然不够,理解和消化内容的认知能力才是真正意义上的核心。
那么,我们究竟何时才能摘下这个“人工智能领域皇冠上的明珠”?围绕这个问题,近日,记者分别采访了两位自然语言处理领域的领军人物:宾夕法尼亚大学教授 Dan Roth 和微软亚洲研究院副院长周明。
对于自然语言处理领域的从业者来说,这两位的名声如雷贯耳。
Dan Roth 教授致力于通过机器学习和推理的方法帮助机器理解自然语言,他也是 AAAS、ACL、AAAI 和 ACM 的会士,曾在多个重要会议上担任程序主席一职,他也是中国计算机学会主办的国际自然语言处理和中文计算大会(NLPCC2018)的大会主席之一。
而周明博士作为中国自然语言处理最顶尖的学者之一,目前担任微软亚洲研究院副院长、国际计算语言学协会(ACL)候任主席、中国计算机学会理事、中文信息技术专委会主任、术语工作委员会主任、中国中文信息学会常务理事等多个职务,还是哈尔滨工业大学、天津大学、南开大学、山东大学等多所学校博士导师。
在与两位 NLP 领军人物的对话中,DT君发现,两位受访者在一些热门话题上有所分歧,比如说近几年愈发火热的专业竞赛, Dan Roth 认为这样的竞赛长期来看对推动科学研究和发展价值不大,而周明的看法则正面得多。而在比较自然语言处理和计算机视觉的发展时,两位都认为,自然语言处理远比计算机视觉复杂,仍有许多问题没有解决。
尽管如此,在访谈的最后,Dan Roth 和周明也都表示出对于自然语言处理有望在 2018 年涌现新进展的信心 。以下为访谈全文:
我们还没看到非常大的 NLP 创业公司
问:为什么自然语言处理领域没有产生非常大的创业公司?
周明 :
这个问题很值得研究。总的来说,这是因为自然语言处理的技术难度太大,和应用场景太复杂。
一个公司的成立和发展是由需求驱动。图像识别的需求巨大,例如安防和身份认证的应用场景很多,到处都有摄像头,谁也看不过来。所以,安防领域一直期待着一种技术,只要达到一个阈值,立刻就能用了,恰好这两年深度学习把计算机视觉水平升到了那个阈值。此外,就像上面的回答所说,图像识别问题更干净,再加上有现成且巨大的场景。所以,只要技术有一点突破,场景自然结合,公司一下子就做起来。
特别纯粹的自然语言应用(不包括搜索),主要就是机器翻译。机器翻译长期有需求,但没有安防和身份认证的需求那么大。而且,机器翻译水平一直不到位。即使到今天,机器也很难翻译有背景的复杂句子。
另外,自然语言处理的应用太依赖于UI了。图像识别基本不需要UI,直接在系统内部集成一些技术就行。包括微软在内的所有公司做翻译软件,如果UI做得不行,用户体验不行,人们就不会愿意使用。
技术产业化最重要的是商业模式,也就是怎么让技术挣钱。图像识别公司的挣钱模式已经成立了,但翻译付费就难多了。所以自然语言是从研究到技术到落地到商业化,面临一系列的挑战。
目前的现状是,自然语言处理技术更多的是作为公司内部技术,比如内部的商业情报或人机接口功能。但这不代表我们未来找不到这样的渠道。
Dan Roth :
在各种专业应用中,必须要选择正确的自然语言模型,没有任何单一模型可以解决自然语言领域中所遇到的所有问题,自然语言处理没有一个可以解决所有问题的魔术盒子存在,你必须要把所有相关的知识库放进盒子里,选择对的算法,并且针对性的处理特定问题,那么这个盒子最后才有作用。这种现状加大了技术落地的难度。
举例来说,计算机视觉发展到最后已经不是只有单纯识别图像或者是物体,而是要能够做到预测这些物体的本身的下一个动作,比如说在桌子上放了瓶水,然后把瓶子往外推,一个先进的计算机视觉系统就能够判断出瓶子最终的动作轨迹可能是掉到桌子下。然而自然语言处理技术达不到这种水平,它无法进行预测。它只能就现有的文字组合、数据库来判断所有文字应该有的意义。
计算机视觉的物体识别准确度已经可以达到将近百分之百,而自然语言目前的阅读准确度也不过将近9成,而这也是目前自然语言处理商用化的最大阻碍。如果要用到专业领域,那么现有的精准度明显不足。
即使我们不考虑基础研究的困难,就算是现有的自然语言处理的基础研究结果,似乎也没有很好地转化,很多产品在发布会上的效果往往和实际使用的效果完全不同。
周明 :
目前自然语言处理产品出现的问题,很多时候无关技术,而是在产品设计和UI方面做得不够好。
在做机器阅读理解和机器翻译研究的时候,我们往往有一个固定的评测集,以及F-分数和精确度这样的评测方法。但这些不代表用户的体验,即使在实验中分数达到100%也是这样。技术是独立于产品应用方向发展的,做产品的人应用技术的时候要运用之妙存乎一心。他们要考虑,无论是78%的技术,还是88%或者98%的技术,要怎么运用到产品里,才能让用户体验最好。
用户体验要考虑什么呢?最重要的是用户界面。因为系统很难达到100%的正确,所以要考虑用户怎么操作,怎么容错,让他们接受有缺陷的结果。比如说搜索引擎返回多个搜索结果的设计,其实非常巧妙。因为谁都知道搜索达不到那么好的水准,但当返回多个结果后,用户不抱怨搜索引擎,反而认为搜索引擎的结果扩大了他的思路,把坏事变成好事。
这种巧妙的用户界面设计和用户体验设计,是做自然语言处理的人要好好考虑的。系统和研究厉害,不代表能把用户体验做好。要从用户的角度看,如何把你的技术,融入到其他所有的相关的场景中,解决用户的实际问题。
还是以机器翻译为例,在实验室里,所有话都实验了很多遍,也没有什么噪声,效果肯定很好。但做产品的时候要考虑语音、环境噪声、背景噪声、远场识别、专有名词,以及口音等等。如果做不好,会导致翻译结果一塌糊涂。
但是,背景噪声怎么来解决呢?首先要好好调整UI,要解决语音识别的一些问题,然后可能要解决简单的多轮对话的问题,要对用户口音做自动调整,如果用户觉得翻译不好,要有方便的方式和他们互动。这样就能让用户觉得,这个系统虽然没有那么好,但是他也给我解决了很多问题了。这一块就是要考虑设计水平的能力了。
所以,这个不是科技要解决的问题,这个是产品设计要解决的问题。
2018年,我们可以期待哪些的 NLP 进展?
问:除了这些难点和问题,自然语言处理技术在研究和应用方面,可以在今年或未来几年出现较大的进展?
Dan Roth :
利用知识库,未来自然语言处理应用会协助企业把专业知识转成特定的自然语言处理模型。利用这些模型,自然语言处理技术就能成为很好的工具,影响更深层次的人类生活。
周明 :
垂直领域有一定的保护门槛(比如有一些不公开的数据),导致大公司无法直接进入。在这样的领域可以做一些知识图谱的探索,还可以针对本领域特点,做一些特殊的优化和有的放矢的研究,而不是使用通用的自然语言技术。这样就可能会产生一个专业的知识图谱,以及基于专用图谱之上的自然语言理解的技术。最后提升整个领域的生产力。
此外,神经网络机器翻译、阅读理解、聊天对话,和创作辅助这四个应用在今年和明年就会有很多地方普及,相关的应用场景包括搜索引擎、个人助手、语音助手、机器翻译,还有个人制作音乐,个人制作新闻、撰写网络小说、问答系统等等。
另外一个重要的应用是机器客服。一般没人愿意看产品手册,但如果让计算机读一遍产品手册,你就能问它任何手册里出现过的产品问题,就能在客服、售后服务这些领域产生很好的应用。智能客服可以帮助提高效率,节省人员。系统也可以按照座席收费,有商业模式。
对成熟公司来说,首先搜索引擎还有进步空间。如果搜索引擎有阅读理解的能力,在手机屏幕上返回的结果特别精准,会产生很大的竞争优势。第二,现在信息流非常重要。例如今日头条背后的推荐技术需要理解文本,理解用户,然后匹配他们。如果我们的自然语言处理能力提高了以后,推荐水平就提高了。
对创业公司来说,第一个机会是机器翻译,但是要把用户体验和商业模式做好。第二个机会是客服。最后一个是开发垂直行业的自然语言处理技术。
“自然语言处理远比计算机视觉复杂”
问:和一般的机器学习、人工智能领域以及机器视觉这样的方向相比,自然语言处理领域是否有存在属于自己的独特挑战,有什么解决方案?
Dan Roth :
计算机视觉基本上就是物体探测。虽然计算机视觉应用很多,但基本上核心算法都离不开物体探测这个方向,背后使用的逻辑也相当一致。
此外,由于计算机视觉的技术成熟度已经达到商用化的标准,所以我们可以看到很多不同的公司百花齐放。但自然语言处理的情况完全不同。不同场景、不同语言,甚至不同专业所需要用到的自然语言处理层次都不同,所以自然语言处理远比计算机视觉复杂,且目前的应用还是相当少,要为了这些少数应用而开发自己的算法并不划算。
周明 :
语音识别和图像识别都是一输入一输出,问题非常干净、简洁。比如输入一个图片,要判断里面有没有花或者草,直接判断就行了。这些方向中间没有多轮,不需要交互,一般不太依赖于知识图谱和常识,即使用也被证明没有什么太大效果。
但自然语言处理有三个重要的区别,让它变得很难:
第一,自然语言是多轮的,一个句子不能孤立的地看,要么有上下文,要么有前后轮对话。目前的深度学习技术,在建模多轮和上下文的时候,难度远远超过了一输入一输出的问题。所以语音识别做的好的人和图像识别做的好的人,不一定能做好自然语言。
第二,自然语言除了多轮特征之外,它还涉及到了背景知识和常识知识,这个也是目前大家不清楚怎么建模,都没有完全明白。
第三,自然语言处理要面对个性化问题。同样一句话,不同的人用不同的说法和不同的表达,图像一般没有这么多变化。这种个性化、多样化的问题非常难以解决。
因为人工智能包括感知智能(比如图像识别、语言识别和手势识别等)和认知智能(主要是语言理解知识和推理),而语言在认知智能起到最核心的作用。所以,我们可以很自信地说,如果我们把这些问题都解决了,人工智能最难的部分就基本上要解决了。
问:那怎么解决这些问题呢?
周明 :
虽然不保证可以改进技术,但有三个值得尝试的方向:
第一,上下文的建模需要建立大规模的数据集。比如多轮对话和上下文理解。数据标注的时候要注意前后文。没有这样的数据,很难取得突破。
第二,强化学习很重要。我们需要根据用户的反馈倒推模型并做参数修正,使模型更加优化。现在强化学习刚刚开始用在自然语言领域,性能并不稳定,但在未来很有机会。
第三,要引入常识和专业知识,并把这些知识构建好。这样就能更加精准地回答问题。没有人能证明现在常识知识用在语言问答和搜索中的作用有多大。所以,我们需要一个测试集来检验结果。这个测试集要专门测上下文和常识,可以让我们要不停用新模型(比如强化学习或者知识图谱)去试错,来看系统性能能不能提升。
机器理解竞赛究竟价值何在?
图丨SQuAD的全称是斯坦福问答数据集(Stanford Question Answering Dataset),是由斯坦福大学自然语言处理实验室开发的数据集和比赛。SQuAD的数据来自Wikipedia的文章。数据标注人员去掉了文章里的一些单词,并让参赛队伍利用模型重新填空,借以检测模型对文章的理解程度
问:2017年,微软亚洲研究院、阿里巴巴和哈工大·讯飞联合实验室分别宣布,自己开发的模型对文章的理解已经超过了人类标注员的水平,引起了很大的反响和争议。类似 SQuAD 这样的竞赛是否有一些技巧刷分?类似的竞赛对行业的意义有多大?我们需要什么样的数据集和比赛?
Dan Roth :
这种竞赛对于提高技术基础建设会有一定的贡献,但是长期来看,对推动科学研究和发展方面并没有太多价值。
举例来说,如果用相同数据集来进行竞争,持续个一年或两年,比赛本身就会完全失去其意义。主要原因就是,如果人们只是为了竞赛的数据来进行训练,而不是我们所普遍关心的那些真正应该被解决的问题,那么,最后我们就不会看到真正的技术进展,而只剩为了拿到比赛名次而发展的各种小技巧。
周明 :
SQuAD的一些设置可以有效防止刷分。例如,数据集很大,而且测试集也没有公布。总的来说,斯坦福的 SQuAD 可以说是自然语言处理领域一个里程碑式的创新。人们原来做阅读理解,都是泛泛的去做,从来都不知道到底做到什么水平。但是,现在斯坦福做了一个大规模的,不太容易通过微调改进性能(fine tune)的数据集。实际上很有力地来促进这个领域。
但 SQuAD 确实存在问题。但正确的态度应该是巧妙地设计测试集的新难点,针对这些难点一条一条地把阅读理解所涉及到的技术难点逐个攻关。久而久之,我们整体的阅读理解能力就会循环往复地上升,最后就真的逼近人的平均水平。
例如,SQuAD 没有涉及太多的推理能力,我们就可以做一个专门测试推理能力的测试集。推理还可以分几级:简单推理可以根据上文就能推理,复杂推理可以根据全文推理,更复杂的推理甚至必须要用到背景和领域知识。如果能把这样一层一层的难度做出来的话,成功就有一半了。
未来研究的成功有两个重要的因素,一个是模型,一个是可以用来评测竞赛的数据集。