自然语言交互是个坑
作者头像
  • 雷民潋
  • 2018-11-06 14:47:59 1

前些日子,我在一个企业家社群——崔牛会的群聊中,听到一位朋友提到,如果早知道NLP(自然语言处理)的难度,他或许不会进入这个行业。NLP主要指的是人机自然语言交互,它涵盖了多个细分领域,如搜索、机器翻译和问答等。

多年前,有人认为我所做的只是模糊关键字查询,甚至认为几个会编程的高中生就能完成。这种说法显然是无知且轻率的。因此,我当时并没有过多争论。

事实上,正如我的这位朋友所言,外行人往往觉得这个行业简单,一旦深入才发现其复杂性。自然语言交互确实是个充满挑战的领域。

为什么会这样呢?首先,这个行业缺乏统一的标准。有人认为某个机器人很聪明或很厉害,这只是凭感觉,缺乏客观标准。有人曾询问过是否有测试机器人水平的标准,但始终未找到。图灵测试被视为一种标准,但目前仍鲜有机器人能够通过这一测试。即便有公司声称其机器人通过了图灵测试,公众也不容易接受。原因在于,机器人不可能完全模仿人的行为。此外,图灵测试的主观性和随意性导致难以得出科学和客观的评价结果。

为什么行业里没有统一标准呢?因为问答领域是一个新兴领域,人们常常将其与搜索混淆。搜索提供的是模糊的结果,而问答则需要精准的答案。搜索可以通过关键字模糊查询来实现,但问答需要关注语义上的细微差别。我在其他文章中详细探讨过这一话题。搜索的标准是召回率和准确率,但这些标准在问答领域并不适用。即便你的召回率和准确率很高,用户体验也可能不尽如人意,因为搜索处理的是关键字,而问答则需要理解句子中每一个词的意义。

没有标准意味着无论做得好坏都差不多。这也导致了一些人认为高中生也能制作聊天机器人。

这意味着没有明确的方向。于是,一些人跟着感觉走,而另一些人则试图用搜索的标准来评估问答系统。

这还意味着开发者们常常自以为是。事实上,我们的产品在用户眼中往往表现得很糟糕。

尽管行业内部没有统一的标准,我们还是制定了一套问答技术标准,包括差异原则、同一原则、模糊原则和一致原则。差异原则是指机器能识别两句话之间的差异;同一原则是指机器能理解两句话语义相同;模糊原则是指机器能容忍自然语言输入中的小错误;一致原则是指机器前后所说的话是一致的,不会自相矛盾。

如果我们按照这套标准来测试,许多问答机器人将无法达标。我们希望这套标准能够成为行业标准,我们将严格按照这套标准来要求自己。

接下来是一些关于小谛机器人语义理解测试标准的示例:

  • 你好:你好,见到你我很荣幸!(要求同一句话在不同场景下有不同的回答)
  • 你是谁:我是小谛。
  • 刘德华:他是个非常敬业的大明星。
  • 后腿:后腿怎么了?你和我都没有后腿的。
  • 天津:狗不理包子很好吃吧!
  • 放音乐:action30Playrandom。
  • 前进:(动作)朝前。
  • 后退:(动作)朝后。
  • 你喜欢看什么节目:河南卫视。你呢?
  • 看电视:actionwatchTVrandom。
  • 没钱是有问题:没钱什么都是问题。(要求每个问题的回答都不同)
  • 问题是没有钱:你是在开玩笑吗?
  • 说说你公司名字叫啥:北京小谛机器人科技有限公司。(要求换不同的问法也能得到同样的答案)

此外,用户对自然语言交互的期望很高,而实际效果往往达不到这些期望,导致用户的心理落差较大。另一个问题是,有人认为通过穷举所有可能性可以解决问题。然而,一个简单的问题可能有无数种表达方式,普通程序员根本无法穷举所有可能性。实际解决方案需要依靠算法,我们在这方面做得相对较好,用算法可以覆盖更多的用户问法。

这个行业的工作量也非常大,即使是小领域的任务也相当繁重。例如,通用问答机器人难以做好,而特定领域的问答系统如法律、医疗、税务等也同样困难。即便我们使用了算法来降低知识库建设的工作量,依然需要大量工作。

另一个问题是缺少理论支持。语义是什么?网上的概念对我们的工作并无实际指导意义。语义和语言之间的关系是什么?有些人还没有意识到应该通过语言来处理语义,而只是生搬硬套地处理语言文字。用户说“是”可能表达否定的意思,说“南京”可能是想吃东西。自然语言问答最终处理的是语义,即用户的意图。虽然有人说用户意图就是与产品功能对应,但这并不总是如此。产品功能越复杂,对应的用户意图就越复杂。

如何让机器理解用户的自然语言表达并准确把握用户意图呢?许多人根本不研究语言,不研究语法规则,这怎么可能处理好语言呢?大多数同行用数学方法处理语言,比如从一句话中提取关键词的依据是词频。但词频是固定的,而一个词在一句话中的语义权重是变化的。实际上,语义本身是动态的。我在另一篇文章中详细阐述了我对语义的理解。

我认为不研究语言、不了解语法规则根本无法处理好语言。汉语有许多特殊的语法规则,如倒装句、“把”字句、“被”字句等。单纯依靠统计学技术无法处理好语义,甚至可能连句子的主语和宾语都分不清楚。

我们在课本上学到的语法规则,在实际自然语言交互技术中可能不起作用。人能理解的东西,机器却未必能理解。如何让机器理解语法规则?这需要系统深入的研究和科学严谨的理论支持。

我在这个领域研究了很久,我们已经细化了汉语的语法规则,使得机器更容易处理这些规则。

最后,行业里存在一些误解。前几年投资过热,人工智能被看作理想的创业方向。但实际上,投资人对行业并不了解,他们只能通过团队背景、公司收入和产品来判断。这导致了许多被资本捧红的明星企业。这些企业大多由大公司出来的创始人领导,并拥有大批博士或博士后员工。他们常常使用大量的学术术语和洋文,但看不到他们的实际产品。许多人因此认为这就是正确的方向。

然而,实际上没有哪家企业能提供让用户持续使用的自然语言交互产品。这个行业缺乏领军人物。

我曾推广我们的分词技术,经常有人问我,既然有许多开源的分词工具可用,为什么还要自己研究呢?他们认为大家都用的东西就是正确的。遇到这种情况,我通常不会争论。

我们做企业是为了满足用户需求,而不是为了迎合投资者。独立思考,才能找到解决问题的方法。尽管失败过多次,但我依然在前进。我相信我们的产品会越来越好,最终会赢得更多用户的认可。

总的来说,自然语言交互是一个非常具有挑战性的领域,没有足够的积累很难做出优秀的产品。这个行业不适合急功近利的心态。那些期望快速赚钱的人,往往最终会陷入困境。

    本文来源:图灵汇
责任编辑: : 雷民潋
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
自然语言交互
    下一篇