随着聊天机器人、AI的出现:Web与移动app之后会是什么?

以前我们跟计算机交互的接口是web和移动app,在聊天应用、聊天机器人以及AI兴起之后,我们的互动形式会不会改变呢?

人与机器的交互经历了 Web 与移动 app 这两种运行时,但是随着聊天机器人、会话以及 AI 这些事务代理的出现,新的人机交互形式正在出现。看看 Benedict Evans 是怎么思考未来的人机交互的。聊天机器人实际上切入了两个当前的热点。一方面是在 AI 的爆发下反映出大家都希望这些东西真正能起作用;另一方面,它们提供了一种无需安装 app 即可接触用户的办法。审视任何 AI 问题的最粗略办法之一,是问一下解决该问题是否需要 “一般 AI”,还是说问题领域足够狭窄的同时解决方案还足够宽松灵活,不用 HAL 9000(科幻小说《太空漫游》里面的超级 AI)也能处理高比例的潜在场景。也即是说,我们现在离做出可以自行在高速公路上面跑的车已经相当接近了,因为可能的高速路况范围有限,但是在罗马或者莫斯科市中心跑则完全是另外一回事,因为这需要完全不同的一种决策机制:谁知道对面的手势是什么意思呢?

因此,把 AI 植入 “会话式” 聊天机器人接口的挑战在于,你没有 HAL 9000 但却要让用户感觉你好像有的样子。你跟它将话,它就会回话,而且是用自然语言(语音或则文本的方式),但这根本就不是一般 AI。那么怎么问才能让 AI 露出破绽呢?这个破绽有多大呢?问题的领域范围究竟有多狭窄呢?如何才能定义用户对理解该领域的期望呢?或者更重要的是,你能让大家接受这个领域吗?

看待这个问题的好办法是比较一下 Siri 和 Google Now。Google Now 是基于推送的—它只是在自己认为需要的时候才说。而 Siri 则相反,别人问什么它都要回答,当然了,它也不可能永远都理解。Google Now 是靠保持安静来弥补理解的鸿沟,Siri 则是靠预先准备的笑话来搪塞过去,或者好一点,准备一份你可以提问的问题列表。当然实际的智能表现可能未必好到哪里去(你总会有不懂得),但你可以看到,Siri 是失败的。

Siri 的 “这是你可以问的” 界面基本上就是一个命令行帮助提示,但是关键是这种 GUI 设计并不需要你知道自己可以输入什么了。尽管自然语言处理意味着你不必知道 Siri 或其他聊天机器人的特定语言,但还是有一个基本的发现问题—既然我不能什么都问的话,那我可以问什么?

这些都意味着到目前为止,似乎机器人或者会话式 UI 可能最适合完成非常具有针对性的事情—用户知道自己可以问什么,并且也只能问这些。不过,一旦这种方式有效时,情况就开始变得非常有趣了,尤其是这正好跟前面提到的第二个焦点相当的匹配—避开 app 的安装问题。

说服某人安装你的 app 是个相当痛苦的过程,但是能不能通过一个会话式界面来跟你的应用进行即时、流畅、简便的互动呢?能不能把聊天机器人变成一种全的交互模式,成为继 web 和原生 app 之后的第三代的运行时呢?当然,更实际的问题是能不能找到除了应用商店以外新的办法来获得用户呢?(换句话说,就是 “管它智能不智能了,如果聊天机器人能够让我少进贡点钱给 Facebook 也行了”)

Web与移动app之后会是什么?

之前我们把 web 解绑成一个个 app,现在又在开始新的解绑或者绑定的努力,只是手段还没有确定(聊天应用、地图、人工助理,通告等都在竞争这个地位)

也就是说,会话式 UI 眼下能看到的希望跟在自己应用内做文章关系没那么大,反倒是可以琢磨一下怎么在没安装应用的情况下实现跟用户更简便的交互。

当然,这里更实际的问题是,什么是运行时?我们有智能手机 OS+API,有 web 浏览器,但是机器人的本地目标是什么?如果说机器人是命令行 UI 的话,终端是什么呢?它怎么才能登陆手机呢?它有没有自己的元机制来实现用户获取和服务发现以及运行时本身呢?这些东西到底在哪里?

智能手机的一个明显的趋势是交互模型不仅在不断渗透,而且还往技术栈的上下移动—往上进入到新的自身充当平台的 app(Facebook、微信、地图等)里面,向下则进入到 OS(Siri、Now、深度链接等)里面。机器人也一样:虽然苹果尚未开放 Siri 给开发者,但 Google 已经在有选择地开放 Now,从战略上来说 OS 提供商渴望成为任何新的运行时的创造者是理所当然的。(注:其实微软的开放力度并不比 Google 低)

然而,无论是苹果还是 Google,真正的挑战在另一端。他们是可以把一个聊天机器人放进手机里面,但要想让云端的任何东西能跟你在手机上对话,那些服务必须知道去哪里看。两家公司都有某种形式的云身份平台,但苹果的隐私政策妨碍了该平台的大量使用,而且不管是苹果还是 Google 都没有一个像 Gap 或者 Instacart 这样在下订单的时候要求你登录的平台(然后事后就可以跟用户对话了)。当然,这一点是有可能改变的,尤其是有传言说苹果会把 Apple Pay 拓展到 web 上,从而朝这个方向打开许多的可能性。

往技术栈的上面看,Facebook 倒是什么都有—终端、Messenger(移动月活用户数已达 10 亿),以及 wen 身份平台。Facebook 的挑战在另外一个地方:那就是发行商想不想给它那么多的控制,并且鉴于其过往的履历,还愿不愿信任 Facebook 将来继续发展这个平台?

与此同时,在刚刚过去的 Build 大会上,我发现微软往机器人和相关工具投入了极大的关注,这一点相当有趣,因为微软显然是两端都没有的—它既没有大规模市场份额的智能手机平台,也没有充当连接粘合剂的 web 身份平台(Skype 尽管有 3 亿月活用户,但是这个东西有没有合适的市场定位来充当可行的终端呢?很难说)。

我用 “终端(terminal)” 这个相当复古的词来描述机器人 UI 在手机上的安放地实际上是经过了一番深思熟虑的,因为很多人似乎都是这么看的—云端的 AI 和你都通过手机或者 PC 上的哑文字或语音 UI 来跟它对话。这也反映了 Now 的工作方式—设备基本上就是一块哑的玻璃。这是我前面提到的交互层在技术栈的上下迁移的一种延伸—从某种意义来说这里已经把交互彻底迁移出设备了。巧合的是,“终端” 这个词在智能手机出来之前就是电信公司用来代指手机的,而且的确我看到许多聊天机器人的用例实际上用短信或者 USSD 也可以办到。

但这并不是唯一的潜在模式。微信把消息传递当作平台,但并没有把交互往下推到 “哑文字” 的层次—它提供了自己的社会化模式和获取模式,但大多数与第三方服务的实际交互是发生富 UI 上面的(大多数是通过 web 视图构建)。毕竟嘛,如果你给用户提供的问题只有两个选项的话,你是应该告诉对方 “你可以回复 ‘红’ 或者 ‘绿’” 呢,还是在聊天内提供两个按钮呢?如果是 5 个选项呢?你是不是要给用户构建某种屏幕界面,以图形化的方式展示相应选项呢?这样的话你就可以称之为 “GUI” 了。你可以把 “链接” 放上去,让用户可以跳转或者加重新 “页面”……如果聊天机器人真的可以用的话,这个机器人一定要到在 Facebook 里面吗?还是说放到自己网站上?这要取决于你要找什么类型的交互,可能还要取决于你要解决的是自己的问题还是用户的问题。

这里面还涉及到一个古老的计算机科学方面的想法,说的是计算机永远都不应该提出问题,而应该自己想出答案。AI 的希望之一不在于你能够让计算机像人一样对话,而在于你根本就不需要跟它对话,或者对话的场合要少得多—这样就可以去除相关的精神负担和摩擦,同时跟计算机或者在线服务保持住互动。计算机可以少问点问题,自己多干点事情。(这有点类似于从 Windows 或 Mac 转移到 iOS 或 Android 所减少的精神负担,因为移动 OS 掌握更多的上下文信息)。你可以不用回到网站登录上去然后编辑你的订单,相反你可以只用发一条消息:‘取消衬衣订单,把灰色的袋子改成绿色。’ 计算机应该要搞定这件事,相信将来也能实现这一点。你应该可以通过某种形式利用 AI 和聊天以少得多的工作实现相同的目的。但并不是说所有事情都可以按这条路子走。如果你弄清楚有什么东西可以问 AI 助手所需的时间比直接把会议拖到日程表的新位置还要久的话,那这种做法就不对了。AI 不应该给人带来比点一下那该死的按钮更多的精神负担。变成带有更好热门词的 IVR(交互式语音应答)对你来说也许是一个更好的用户获取模式,但实现是很困难的。于是这又回到了我开头的观点—这究竟是一个你只需告诉它做什么然后继续的领域,还是说在你和屏幕之间仍然需要 “一般智能” 的存在?

·氧分子网(http://www.yangfenzi.com)延伸阅读:

您可能还喜欢…

3 Responses

  1. 焦伟说道:

    1.训练的样本要足够大,具体多大合适,要看你对图像区分度的要求。如果样本不是很充分的情况下,比如数千张或更少,其实也可以考虑用传统方式,比如SVM。我用传统方式做过宝马车标,安全帽等的识别,准确度相当高了,尤其是车标识别,接近100%准确,而我只用了不到100张做训练,而且无论算法还是模型库都不大,很适合做嵌入式,而且可以做到实时。
    2.对深度学习而言,速度/性能是个很大的问题,不知道题主的机器性能如何,以及对应的图片分辨率,是否要实时处理?我估计题主应该是那种实时高清识别,而且有可能是嵌入式设备,我们姑且认为视频是直接从本机采集,不需要做解码,即便如此,基于深度学习的运算量也是很高的,尤其是resnet这种,一般而言,层数越多越精准,运算量也会越高。高清情况下(机器视觉应用一般会1080P或更高),我个人认为单张图片的识别时间会超过1秒,很难做实时。有朋友在256核的TX1上测试过标清的FAST RCNN,单张处理时间为0.6秒左右,我本人测试过googlenet,在一台阿里云E5的机器上(无GPU),识别一张720p的图片,估计约0.3 – 0.5秒左右(我的应用需要考虑网络传输的时间,没打log,只是通过返回结果大致估计)。无论哪种情况,离每秒25帧的实时要求都差得太远。

    结论:
    1.嵌入式设备,个人不建议用深度学习,除非你能将密集运算部分移植到FPGA上,否则性能会是个很大的问题。
    2.高清和实时的应用,一般而言也不建议用深度学习,理由同上。
    3.对于区分度要求很高(种类很多,很相近),非实时的应用,基于后端或云端的业务,有足够的运算资源。特别适合用深度学习。

    4.能解决问题才是王道,传统方式未必不可以。

    5.强烈建议题主关注一下,深度学习领域芯片相关技术的进展,比如谷歌的TPU,国内的寒武纪,以及轻量级框架mxnet等。
    tensorflow的本质是一个工具,当然可以用来实现你的想法,至于你的想法是否对解决问题有效,需要实践之后才知道。你说的零件识别并且机械手自动抓取已有论文研究,比如A Vision-based Robotic Grasping System Using Deep Learning for 3D Object Recognition and Pose Estimation,可以参考。

    工业上的产品对实时性要求很高,深度学习目前比较流行的几个网络构,如alexnet,vgg,googlenet等,在英伟达titan上计算都不算快,应该说远没达到工业的实时要求,所以,等过几年深度学习成熟一点或者硬件速度大幅飞跃后再用吧~~~不过个人觉得深度学习在工业界大幅推广是迟早的事呢~~~现在研究DL的人太多了

  2. 庄朝晖说道:

    人工智能飞跃性的发展必然是心理学,神经科学,数学,逻辑学,和计算机技术等多方面学科综合研究的结果,其中各环节缺一不可。
    怎样能把这样一群具有极高专业学识且有志从事AI研究的人(甚至是硬科幻爱好者)集合在一起分工共事,关系到人工智能未来的发展的命运。
    AI研究必然会是一个类似人类基因组计划的浩大工程。
    但一定也是未来人类世界的发展方向。

    计算机科学史前史简评:从莱布尼兹开始
    谨以此文纪念计算机科学的前辈科学家!
    莱布尼兹:用计算来代替思考

      “万一发生争执,正像两个会计员之间无须乎有辩论,两个哲学家也不需要辩论。 因为他们只要拿起石笔,在石板前坐下来,彼此说一声(假如愿意,找个朋友作证):我们来算算,也就行了。” ——莱布尼兹

    庄评:差不多在康熙时期,莱布尼兹提出了通用计算的设想,要实现他的梦想,要将现实世界的问题表征成符号或者数字,然后通过推理或者计算得到结果,通过结果就可以解决现实问题。莱布尼兹的梦想,到现在也不能说已经实现了。其实,从理论中可以证明,这是不可能完全实现的,因为数字化和算法设计都是人在进行,不同的人有不同的观念,计算机的辩论,其实质是人类不同观念的辩论。
    德国思想家莱布尼兹是有史以来最伟大的思想家之一,以下是他的事迹简单。他与牛顿分别独立发现了微积分,后世使用的微积分主要使用莱布尼兹的符号;他提出了通用计算的思路,使用计算来代替思考。他的这种想法,对于后来数理逻辑、计算机科学和分析哲学有重大影响;他提出了可能世界思想。如果某世界与现有世界并不矛盾,那就是可能的世界。他的可能世界思想后来被克里普克发展为可能世界语义,广泛用于非经典逻辑的语义解释;他还系统提出了二进制,这是现代计算机使用的内部语言。他曾经说过:“从虚无创造万有,用一就够了”。晚年莱布尼兹,主要致力于信仰事业。我们常常就此批评莱布尼兹,就像我们也常常批评帕斯卡的信仰,牛顿的信仰,哥德尔的信仰……有时候我也糊涂了,到底是这些伟大的思想家集体糊涂了,还是我一个人糊涂了?

    弗雷格:半个数学家+半个哲学家=好的哲学家+好的数学家

      “一个好的数学家,至少是半个哲学家;一个好的哲学家,至少是半个数学家。”--弗雷格

      庄评:弗雷格对于我们也许是陌生的名字,然而弗雷格是上世纪最伟大的思想家之一。他的《概念语言》一书,系统提出了现代逻辑,用严格清晰的数学符号来研究逻辑学。因此,他开创的现代逻辑学又称为数理逻辑,或符号逻辑。为什么说他是上世纪最伟大的思想家之一,这一点没有夸张。他开创的数理逻辑对上世纪的科学和哲学两大领域都有重大影响。一方面,顺着罗素,希尔伯特,哥德尔,计算机之父图灵机,人工智能之父麦卡锡这个方向,他开创的数理逻辑思想被广泛用到计算机科学,被广泛用到人工智能和程序证明。另一方面,顺着罗素,维特根斯坦,卡尔纳普,奎因,普特南这个方向,他开创的数理逻辑及概念分析法发展成分析哲学。而分析哲学,是当前西方哲学的主流方向之一。

      然而在当时,他的著作对于大多数数学家来说过于哲学化,而对大多数哲学家来说又过于数学化。因此,弗雷格的著作长期受到冷遇,在相当长一段时间内,哲学杂志和数学杂志都拒绝发表他的论文。这个现象也容易理解,当一个思想家的思想高度超出了同时代水平,那么就少有人可以欣赏他了。苏轼就此进行过评论:“高处不胜寒”。

      到了当代,弗雷格开创的现代逻辑,基本上是哲学系,数学系和计算机科学系都要学的课程。

    罗素:不务正业的诺贝尔文学奖得主

      “对爱情的渴望,对知识的追求,对人类苦难无可遏止的同情心,这三种简单而又强烈的感情支配了我的一生。”--罗素

      庄评:罗素的头衔很多,哲学家,数学家,逻辑学家,社会活动家,文学家。他在逻辑学方面的成就,主要是与他的老师怀特海编写了《数学原理》,使得弗雷格开创的数理逻辑更加系统更加完善。如果说弗雷格是数理逻辑的开山祖师,那么罗素就是数理逻辑的集大成者。罗素继续弗雷格的逻辑主义,想把数学归结到逻辑上。然后,他自己提出的罗素悖论使这一努力失败。当弗雷格收到罗素发来的关于罗素悖论的信,他写道:“对一个科学工作者来说,最不幸的事情莫过于:当他完成他的工作时,却发现他的知识大厦的一块基石突然动摇了。正当本书的印刷接近完成之际,伯特兰·罗素先生给我的一封信使我陷入这种境地。”虽然逻辑主义失败了,但没关系,“柳暗花明又一村”,人类历史又翻开了新的篇章。

    构造主义宣言

    数学来源于心灵的构造。--布劳维尔

      庄评:计算机科学的诞生还要纪念一位独行侠布劳维尔,荷兰数学家,自立门户,提出了构造主义思想,反对康托尔集合论,认为罗素悖论是根源于非构造性的数学,强调构造性证明,反对基于无穷集的排中律。他的构造思想被希尔伯特吸收,广泛影响于后世的计算思想。他的构造思想还巨大影响了哲学家维特根斯特,维氏曾经觉得哲学已经被他解决了,不搞哲学忙着从事教育小学生,在听了布劳维尔的公开讲座之后,他又回归了哲学思考。
    数学家逻辑家布劳维尔的人生与科学家中的科学家特斯拉有几分相似,当利益冲击理性时,他们承受了因为他们的贡献而带给他们的磨难。

    希尔伯特纲领

      “我们必须知道,我们必将知道。”--希尔伯特

      庄评:数学基础出现了矛盾,以确定性追求为己任的数学家如何受得了。集合论的矛盾弥漫开来,有人也怀疑算术是否也有矛盾。为了捍卫古典数学的尊严,作为当时数学界的领袖,希尔伯特当仁不让,接过了这个挑战。继1900在数学家大会上提出著名的希尔伯特23个问题后,1904年,希尔伯特在数学家大会上又提出一个证明算术无矛盾性的思路。这个思路也称为形式主义纲领,它的核心思想是将算术表达为一种形式系统或称公理系统,然后用有穷步骤证明该系统的无矛盾性。希尔伯特的目的是试图对形式系统的无矛盾性给出让大家都可以接受的证明,以便克服悖论所引起的危机,一劳永逸地消除对数学基础以及数学推理方法可靠性的怀疑。对于这个纲领,希尔伯特信心十足,在哥尼斯堡演讲中说出了上面的话。

    更让人肃然起敬的是,希特勒上台后,德国国内掀起反犹大潮,希尔伯特却敢于上书抵制纳粹政府迫害犹太科学家。这种人格魅力,有时候比他的学术魅力,更为得到别人的尊敬。

    哥德尔

    人无法拔着自己的头发把自己举起来。

    庄评:哥德尔研究了希尔伯特纲领,给出否定的答案,宣告希尔伯特纲领的失败。1930年提出的哥德尔第二不完备性说,任何包含一阶算术的形式系统,该形式系统的无矛盾性,在该形式系统内无法通过有穷的步骤得到证明。在定理的证明中,哥德尔还提出了很多有用的理论,比如如何把符号编码为自然数,还有使用递归函数来研究有穷证明的能力范围。哥德尔的工作揭示了有些问题是不可通过有限的步骤得以证明的,那么什么问题是可以通过有限的步骤证明的?沿着这个问题,哥德尔的很多工作,被应用到了可计算性的研究。什么是可以有穷证明的,从可计算性的角度来说对应于,什么是可以计算的。

    因为哥德尔在逻辑学上的巨大贡献,也可以更一般地说在符号系统方面的巨大贡献,人们把哥德尔当作亚里士多德,莱布尼兹以来最伟大的逻辑学家。晚年的哥德尔,致力于证明上帝存在。

    图灵机

      它由一个控制器和一条两端可无限延长的工作带组成:工作带起着存储器的作用,它被划分为无穷多个可写可擦的方格。控制器则可以在带上左右移动,控制带有一个读写头,读写头可以读出当前方格内的符号,然后根据预先设计的状态转换指令,选择改写或抹去这一符号,然后选择往左移一格,往右移一格或者不移动,并进入下一个状态。当状态转换到停机状态,则停止运行。

    庄评:哥德尔不完备定理出世后,在剑桥大学的图灵设想:能否有这样一台机器,通过某种一般的机械步骤,能够解决所有可以解决的数学问题。以上机器就是他提出来的图灵机。图灵机可以计算的问题,就称为图灵机可计算。哥德尔提出不完备性定理之后,数学家们广泛研究了我们平常理解的可计算到底意味着什么。图灵机出来后,根据丘奇图灵命题,所谓直觉的可计算性,就被定义为图灵机可计算。
    图灵机的特点就是模拟大脑达到通用计算的能力:给大脑一个算式,他会自动计算。同样,给图灵机一个程序,他也会自动计算。图灵考虑问题,已经超越了普通计算,而是站在更高的层面,模拟大脑的通用计算能力。至今为止,电脑一直在模拟人脑,到现在也不曾超越人脑,除了速度快。

    图灵机的出现,奠定了计算机科学的理论基础,计算机的出现已经主要是技术实现的问题了。据说,图灵在二战期间主持设计了一台计算机。但资料比较多的,1946年,数学家冯·诺依曼主持设计了第一台计算机。但不管如何,图灵被广泛认为是“计算机之父”。现代计算机的计算能力,还是在图灵机的计算能力之内,当然速度是越来越快了。图灵开辟了一条大路,后来的科学家又开辟了一些中路小路,我们则行走在前人铺就的路上。

      1966年,美国计算机协会设立以图灵为名的“图灵奖”,用于表彰在计算机科学领域做出突出贡献的科学家。图灵奖的得主有:Minsky,“人工智能之父”McCarthy,Dijkstra,Knuth,Backus,Floyd,Hoare,Codd,Cook,Thompson,Wirth,姚期智,RSA三人,“互联网之父”Cerf和Kahn……

    又:计算机科学的核心精神就是简明高效地解决问题,不管是使用电脑还是大脑。回顾上面的历史,发现一个有趣的现象:德国长于概念分析,英国人有经验主义传统,美国人则有实用主义传统,这三者结合起来,所向披靡。在中国,计算精神又可以焕发什么样的活力?

    理性永无止息!

  3. 张俊说道:

    scikit.learn是很好的开源机器学习库,包括了很多算法,团队也很棒,更新也很快。中文分词有pymmseg和smallseg。
    update:12-11-02 发现了新的分词工具jieba,托管在github上,非常好用用 deep learning 的方法用 RNN+BLSTM +attention 的方法来做
    奇智网络就是做聊天机器人的。奇智机器人具有高度可定制的功能,云平台预设了基础和行业知识库,用户自定义知识点,只需要录入问题答案即可。而且支持多种接入,拥有云端解决方案,支持Web、微信、iOS、Android等多种接入;申请Appid,机器人立即生效。pattern tag:支持模式匹配(正则表达式,模糊匹配),及基于template的返回
    2:random tag:支持随机回答(一对多)
    4:think,system tag: 支持简单逻辑记忆及自定义函数(本来打算扩展一下AIML, 搞一个支持Groovy语言的标签, 结果看到了它的<system>标签, 遂作罢)
    5:javascript tag: 支持嵌入js脚本(适用于web chat开发,比如根据情绪改变表情等)。
    6:srai tag: 支持多对一回答.
    按照AIML, 鄙人整理了一个简单的DEMO,扩展了AIML的DATE标签,支持了java的时间掩码,并有自学习功能。扩展AIML标签(基于AIML的java引擎:chatterbean):
    package bitoflife.chatterbean.aiml是chatterbean对于AIML标签的实现包。目前为止,实现了大多数常用AIML标签.
    而对date标签只有一个最简单的实现, 也不支持java时间掩码.
    安照aiml的理解
    第一代可以理解为:大量的if then else then,典型的特征工程。
    第二代可以理解为:对话检索,给定一个问题或者聊天,检索库中已有的答案与之最匹配。比如:小黄鸡。
    第三代可以理解为:生成对话,流行的做法是seq2seq+attention,是一种神经网络模型。经过大量数据的训练,根据输入生成输出。比如:google的这篇paper

发表评论

邮箱地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>