谈到人工智能,大家会想到无人驾驶、刷脸支付、体感游戏、手机语音助手……在众多人工智能联想中,自然方式的人机交互是最受人关注,也有最多的消费级产品。单就语音交互来说,目前知名语音助手就有Apple的Siri、Google的Assistant、Microsoft的Cortana、以及Amazon的Alexa。现在做个实验来看看目前语音助手的“智能”程度。
这是分别使用Apple的Siri和Microsoft的Cortana输入“张文杰向我借手机打电话”的结果。可以看到,这两个语音助手都认为这句话的意图是要向张文杰拨打电话,明显背离了我们输入文本的真实意思。
是什么原因使现在语音助手看上去并不智能?
其实,我们对于语音助手的期望与语音助手的设计目标并不一致。语音助手设计目标是建立一个语音输入驱动命令的界面,即在软件和硬件的配合下,将语音的音频信号转换为文本数据,然后在文本数据中判断是否存在命令对应的关键词,存在触发对应的命令。这一过程中并不涉及到对文本所包含的意图分析。
例如前面所做的实验,“张文杰向我借手机打电话”和“打电话给张文杰”这两句话在语音助手里的命令关键词都是“打电话”,而且都能够从中匹配出和联系人对应的“张文杰”这一人名,所以语音助手就统一处理成了“调用呼叫功能,并拨打张文杰的电话号码”这一结果。
我们知道一种特定意图在自然语言中有着多样的表述形式,在中文环境下这种情况会更明显。与前面例句“打电话给张文杰”同义表述形式有:“给张文杰打电话”、“呼叫张文杰”、“拨打张文杰的电话”、“与张文杰电话联系”……如果愿意,可以列出更多表述形式。目前通用技术尚无法处理如此多变的文本表述。
语音助手之类的产品一般应用在手机这类特定的应用环境中,并且只为使用语音调用某个功能使用。在这样狭小的条件约束下,语音助手的设计者默认了用户会输入诸如“给张文杰打电话”这样明确的命令性语句,不会输入“张文杰向我借手机打电话”这种无命令的陈述句。因此,采用命令关键词识别方式对语音助手类的产品是一种易于实现且满足大部分场景使用的方案。
现在的银行微信自动客服等软件都采用以上的设计方案。让用户感受到不同产品之间的智能化程度差异,是不同语音助手产品命令词以及命令词组合形式的多寡。
例如:当一个银行微信自动客服只有“信用卡”这一个命令关键词时,无论你输入“你们银行有哪些信用卡方案”、“我想办理信用卡”、还是“信用卡怎么还款”,自动客服回复你的都是信用卡的业务介绍;而当一个银行微信自动客服有“信用卡”“办理”“还款”三种命令关键词,并能够对其组合判断时,前面的三种语句输入就会给出三种不同的客服应答。此时,我们会认为后者比前者看上去更“智能”,即使它同样不理解其中的真实含义。
语音命令关键词驱动方式确实可以比较廉价地实现常见控制式交互的需求,但这和自然人机交互目标还有不小差距,并且我们也有更强烈的让机器能够理解文本真实含义的需求。例如:当一个虚拟机器人作为银行客户经理时,用户分别向其输入“我没有多少存款,请介绍一些理财产品”和“我有很多闲置资金,请介绍一些理财产品。”其实需要不同理财产品推荐处理。“我没有多少存款”和“我有很多闲置资金”都是非命令的陈述语句,但其意图是希望听者能够识别到陈述者后续需求的约束状态,对后续语句的处理起到重要影响。语义分析就是让机器能理解自然语句背后真实意图的解决方案。
语义分析首先对输入的语句进行分词和词性标注,接着进行语法树的建立,然后对语法树上各层的主干进行提取和简化,得到的简化主干将和意图表述模板进行匹配,最终输出语句的意图。例如:前面例句的“张文杰向我借手机打电话”将会被语义分析判断为复句,形成至少两层的语法主干“张文杰借手机”“张文杰打电话”,会分别匹配“<某人>借<某物>”和“<某人>打电话”两种表述模板。由于其中“<某人>”都是第三人,因此机器人判断为这个语句的输入并不影响交谈双方的动作表达,只影响交谈背景状态的变化,因此标注和更新背景状态以供后续的语义分析处理使用即可。
在语义分析的作用下,我们可以对自然语言的输入提供更为精细化的处理结果。例如下图所展示微信中对接语义机器人的应答效果。
通过语义分析对自然语言输入进行精细化处理的价值是很显著的。
首先,在语音助手和自动客服应用上可以为用户提供更友好的使用体验。尤其是自动客服应用,客服系统的建设者往往是从自身的认知领域来建设知识库,但用户未必处在同等的认知领域,因此其问题表述多半不会按照标准命令关键词来陈述,用传统语音助手的命令关键词驱动方法就无法对用户输入给出正确应答。
例如:有的银行既有USB Key,又有电子密码器,而用户只领用了其中一种,也不会去区分这两者的正式命名,当使用过程中遇到问题时,用户联系客服可能只会说自己“U盾”有问题了;如果是人工客服遇到这种情况,就会通过询问用户所谓“U盾”的应用场景,外观特征等问题来确定用户提的是什么产品问题;采用语义分析的机器人也能够达成类似效果,但命令关键词驱动的机器人就难以胜任这样的工作。
除了在语音助手和自动客服应用上的体验,语义分析机器人可以为具体专业工作的初学者提供周到的自动指导功能,成为一个专业指导人。例如:一个刚从业的酒店前台人员,上岗前虽然做过基本培训,但未必能够熟悉所有业务过程,对于特殊业务过程更无从了解;假设他遇到一个房客说发票纳税人信息错了,想重开发票,为了满足房客的需求,他只能求助于辅导人,虽然这种问题出现概率很小,辅导人也未必经历过,于是他们查询酒店的员工作业手册,这时只能寄希望于员工作业手册是否详尽、检索系统是否完善。
采用语义分析专业指导机器人就会是另一番景象,酒店前台人员只需向机器人输入“房客发票纳税人信息错了,想重开发票”,机器人就能直接给出权威指导,如果机器人可以和酒店管理系统对接,甚至可以直接调出管理信息和管理工作进行自动化处理。
可以看到,使用语义分析的专业指导机器人,不仅提升工作效率,更减少了人工知识记忆偏差造成的错漏,降低经验丰富员工在指导等低汇报率工作上的消耗,加速新手的成长速率。此类语义分析专业指导机器人的应用前景很大,需要应用领域都可以利用语义分析专业指导机器人来提升整体效益,包括:银行大堂经理、银行柜员、保险业务员、技术支持、现场工程师等。
语义分析机器人不仅可以作为交互的一方来使用,也可以作为第三人对交互内容进行检查。例如:某企业的信息安全管理政策可能约束了产品报价体系的知情权人群,但企业员工可能通过即时聊天工具在日常沟通中无意泄露了对应信息;让语义分析机器人对接企业的即时聊天工具后,机器人可以分析交谈双方文本中的内容,如果发现限制级信息并且交互双方中有人不具有知情权,可以立刻过滤对应信息。再如:合同、协议等法律文书的条款检查工作量较大,利用语义分析机器人,可以对法律文书进行内容检查,翻译出条款语句的意图,对可能存在不利约束的条款进行预警,减少人工对法律文件检查中的疏漏。
升腾资讯智能终端研发中心已在语义分析上获得了阶段性成果。目前,升腾智慧营业厅公众号已对接了语义分析机器人,可以为广大用户提供全天候的智能问答服务,包括银行信用卡知识问答体验,以及升腾智慧营业厅产品和方案的咨询及推荐。