移动设备的自然语言接口

移动设备的自然语言接口

一、概述

由于人们习惯于用自然语言表达他们的需求,因此,构造能够可靠地响应自然语言请求的机器一直是智能系统设计的长期目标和重要目标。举一些早期的例子:Woods、Kaplan和Nash-Webber(1972)的月球系统,Hendrix、Sacerdoti、Sagalowicz和Slocum的梯子系统(1978年),以及Waltz的平面系统(1978),这些系统依赖于应用特定的语法来编码特定领域或数据集的各种约束。虽然这种方法使这些系统能够响应其目标域中的一系列请求,但是系统不能很容易地移植到相关的或扩展的域中,而且它们在表达请求时使用的词汇和句法结构的覆盖面有限。还有一些最近开发的系统(论文中提出的例子):如Harabagiu、Maiorano和和Pasca(2003年);Katz(1997年);Nyberg、Burger、Mardis和Ferrucci(2004年),以及Weischedel、Xu和Lichuana(2004年),这些系统处理多个域,并使用通用语法或统计语言解释来处理用户可能提交的各种请求和短语。随着越来越多的信息源在网络中可用,加上移动设备作为请求的源和目标,最近的系统采用了更加分布式的体系结构。现在大家常常会使用语音控制等,这也给生活带来了很多便利,例如大家常用到的Siri(SIRI 是 Speech Interpretation & Recognition Interface 的首字母缩写,原义为语音识别接口)可以支持自然语言输入,并且可以调用系统自带的天气预报、日程安排、搜索资料等应用,还能够不断学习新的声音和语调,提供对话式的应答,并且随着苹果公司每年推出新产品,Siri的功能也越发强大。Siri就是一个自然语言接口的很成功的应用。
在这里插入图片描述
自然语言接口的主要目标是对用户请求产生适当的响应。请求可以请求接口提供信息,或者请求执行操作。接口可以对单个请求发出任意数量的响应:例如,它可以返回多个信息段,或者执行多个操作。

自然语言接口的另一个目标是领域覆盖。有限域系统在某些情况下是有用的,例如与单个特定数据库的接口。然而,总体来说,最近的趋势是构建接口,提供与大量数据集、域和可能的操作相关的单点交互。

自然语言接口的一个重要方面是易用性。接口应尽可能接受不受限制的自然语言输入,它应表现出对请求和其他目的的解释的交互性,它应以多媒体信息作出回应,它应在需要时提供对其行为的解释,它应为回顾过去的响应提供一个历史机制等等。

自然语言接口的另一个非常重要的方面是它们的处理复杂请求的能力。最简单的信息请求请求获取所有关于特定主题的可用信息:例如“告诉我关于德国”或某些特定属性,例如,“告诉我关于德国人口分布的情况。”更复杂的请求包括检索有关实体之间关系的信息,或执行涉及多个实体的命令。更复杂的是要求系统执行新的分析或操作。最后,一些请求可能涉及将要组合处理的子请求的嵌套。

移动设备的自然语言接口必须具有附加特性。这些接口必须能够根据不仅在移动设备本身而且在通过网络连接连接到设备的系统上可用的信息或操作作出响应。特别是在要执行操作的地方,此类系统必须具有极高的精度,因为撤销这些操作的方法通常是有限的。与此同时,移动设备通常用于用户注意力分散和不需要过多系统交互的环境;因此,在某些情况下,界面必须以极高的精度预先推断用户的意图。要实现这一点,系统可能需要依赖于从以前与该个体的交互中收集的信息、前面对话框的元素,或者其他可用的模式,如摄像机输入。移动设备的接口也必须特别响应用户的时间和位置,这些接口必须充分利用有限的显示空间。

二、通用START信息访问系统

START信息访问系统自20世纪70年代初开始在麻省理工学院开发,在其通用的问答应用程序中,START作为公共服务器可以访问http://start.mit.edu/。此版本START回答一系列领域的问题,包括地理、艺术和娱乐,历史、科学以及维基百科中涉及的大量主题和领域。除了通用‐用途的公共启动服务器外,还为特定的主题区域创建了几个专用‐用途服务器,其中一些涉及响应用户请求的操作的执行,另一些使用API来启动语言解析和生成功能。

START在其传统的问答角色中,接受英语问题,并利用包括结构化、半结构化和非结构化材料。其中一些材料在本地维护,另一些通过Internet远程访问。在某些情况下,响应由系统或其相关资源动态计算。START的一个特别重点是提供高精度的信息访问,这样用户可以保持高度的信心,如果系统返回的响应与提交的问题相匹配。

START设计的一个特别重要的方面是使用三元表达式作为自然语言表达式的内部表示。三元表达式将语言表示为一组嵌套的主语-关系-宾语三元组,其中主语和宾语本身可以是三元表达式。三元表达式表示是一种通用的语法驱动的语言表示,它突出了重要的语义关系,并允许对语法和词汇特征进行详细编码。事实证明,由于它的速度快、紧凑性和用于存储、匹配和检索信息的准确性,它对START的解析和问题回答能力非常有益。

由于START最初是在开发的初始阶段配置的,所以它的作用是根据以前提交给系统的英语语句来回答英语问题,而这一操作也是START当前功能的基础。当START显示一个用于处理的英语语句时,它解析该语句并以一组嵌套三元表达式的形式对其进行编码。可以将START知识库中的结果条目看作是英语句子句法结构的“摘要”。然后以相同的方式分析用户提交的问题,并与知识库中存储的断言进行匹配。然后检索匹配的断言并将其表示为英语响应。下图是START执行货币转换的例子。
在这里插入图片描述
特别是,结构转换规则使系统能够找到匹配,尽管由于动词和其他成分的参数的替代实现而导致表达上的显著差异。例如,假设START有一个语句“Greece surprised the European Union with its actions.”这一声明也可以解释为“Greece’s actions surprised the European Union.” 为了匹配与该语句的这个替代版本相关的问题,START必须使用结构转换规则,该规则可以表示为:

If < with object2>
Then AND
<object2 related‐to subject>
Where verb belongs to the emotional‐reaction class

有了这个规则,START不仅可以回答
Did Greecesurprise the European Union with its actions?
Did Greecesurprise the European Union?

它还可以回答如下问题
Did Greece surprise the European Union with its actions?
Did Greece surprise the European Union?

要注意的是,在START中,结构转换规则通常与动词类关联,而不是与单个动词关联。以上规则适用于所有情感反应类动词,包括“惊喜”、“愤怒”、“尴尬”等。在Levin(1993)中可以找到一系列其他适合用于结构转换规则的动词类。START设计的第二个重要方面是使用自然语言注释。自然语言注释是与信息片段相关联的自然语言短语和句子,描述其内容。当START将用户请求与自然语言注释匹配时,它可以访问相关的信息片段作为对用户的响应。

例如,一个包含火星云信息的HTML片段可以用以下英语句子和短语进行注释:
火星上的云
火星云由水和二氧化碳组成。

START解析这些注释,并使用返回原始信息段的指针存储解析后的结构(嵌套三元表达式)。要回答一个问题,将用户查询与知识库中存储的注释进行比较。如果在从注释派生的三元表达式和从查询派生的三元表达式之间找到匹配,则将相应的带注释的段作为答案返回给用户。例如,上面的注释允许开始回答以下问题:
火星上有云吗?
火星上有云吗?
火星云的组成是什么?
你知道火星上的云是由什么构成的吗?

下图是 START使用基于注释的匹配回答问题的例子

在这里插入图片描述
START系统开创的几种策略被纳入了IBM的沃森系统,2011年在智力竞赛节目“Jeopardy”中击败了所有的人类冠军!下面的链接是一个视频,可以观看比赛的全程。

https://v.youku.com/v_show/id_XNzUyNTAyOTQ4.html

三、StartMobile

StartMobile使用START系统作为处理用户请求的第一阶段。START执行请求的初始解释,如果这些请求涉及从万维网或其他来源检索一般信息,则START获取信息,以便向用户显示。如果不可能完成请求的解释,START会使用一种开始编码用户请求的语言,称为MOEBIUS,被设计在不同阶段之间的系统和设备中来传达自然语言解释的请求。最后,驻留在用户移动设备上的软件在必要时完成用户请求的解释,并执行必要的操作来满足这些请求。

StartMobile系统支持很多活动,比如为用户的利益检索通用信息;检索存储在用户移动设备上的联系人和日历信息;检索文本消息并管理用户的文本消息收件箱;从用户的移动设备拨打电话;在用户的移动设备或其他用户的移动设备上创建提醒;使用移动设备的摄像头拍照;修改设备设置;访问用户移动设备上的位置信息,并显示相关地图和方向信息;检索用于向移动用户演示的视频教程等等,可以说是为移动设备提供了一个较为完整自然的语言界面。

StartMobile系统需要很高的精度,系统经常被要求执行不容易撤销的操作。而且某些情况下,交互性可能达不到用户的预期。而且有限的显示空间会因为所列结果中不适当的响应而带来不便,所以依然是有局限性并且需要改进的。而且,通常情况下,自然语言请求只能在特定的知识成分存在的情况下被完全理解。在分布式环境中,这种知识是分布式的,在某些情况下,网络设备和系统不仅需要协作以满足最终接收到的请求,还需要协作以初步理解请求,以便能够满足这些请求。

我们在日常生活中经常使用自然语言系统,比如苹果Siri等,自然语言对话将是人们信息访问的主要手段,信息检索领域的主要研究范式。现在,移动设备成为个人计算的主流,越来越多的用户通过移动设备访问信息。在移动设备上,自然语言对话是人机交互最自然的,最有效的方式。另一方面,自然语言对话的技术,虽然达到了一定可用的水平,但还不成熟,不能很好理解用户的意图,不能充分满足用户的需求。这就意味着,围绕自然语言对话有很多待解决的具有挑战性的问题,它自然成为信息检索领域研究的一个新的重点,一个新的范式。

四、Moebious

Moebius:移动设备的自然语言接口的有一个急需解决的重要问题是在处理分布式的请求,需要协作以初步理解请求,所以StartMobile使用了一种基于语言的中间表示——Moebius。

Moebius的出现非常好的应对了行业内一直以来都缺少负载均衡的产品的问题,很好的满足了当前这个高度依赖于计算机系统的世界。在Moebius出现之前,数据库集群有过许多方案,如双机共享存储,但是由于硬件资源的严重浪费,同一时间集群中只有一台服务器活着,其他服务器只能作为冗余服务器,同时集群无法提升性能,只有一台服务器可用所以渐渐被淘汰。而Moebius即使当主节点宕机后,任何一个节点都可以接替调度任务,从而避免了前端网关类型引入的单点故障。

Moebius的实现方法在句法和语义解释的不同阶段对自然语言请求进行编码,以便这些请求可以在系统(例如,用户的移动设备、中央服务器和其他用户的移动设备)之间进行中继,以接收额外的解释和实现。由于Moebius适用也于直接的请求,因此我们将该语言用作所有必须在系统和设备之间中继的StartMobile请求的中间表示。
在这里插入图片描述

在处理语句的歧义上,Moebius的做法让我眼前一亮:产生歧义的方式可以有很多很多种,就论文中提出的就有:抽象动词;句法歧义;省略的副词短语;模糊的介词和连词;抽象语义类别;对象描述;模糊的名称、时间和地点;回指;以及抽象形容词和副词等等。由于有着便于计算机处理的结构,简单的自然语言具有足够的表现力来模拟许多常见的歧义。从一般到特定类别的层次结构中绘制,Moebius再在不同的解释阶段捕获一系列这样的歧义,这有点像中国的古话“一口吃不成个胖子”,或者英语中的“Just take one step after another”,先大范围确定语义,再进行进一步细化,最终得到正确的结果。

下面为StartMobile响应不明确的请求的结果:
在这里插入图片描述
我通过了解,梳理了Moebius的处理过程如下:
在这里插入图片描述

举个日常生活的例子:大家每个人都会使用搜索引擎,如果你喜欢看芒果tv,经常在引擎中搜索芒果tv等文字,那么几次过后,你搜出来的结果将会首先跳出来的结果是芒果tv,但对于一个爱吃水果经常在网络上了解水果的人来讲,他的搜索结果可能就是芒果这个水果的介绍。我认为这就是现在技术发展中,结合你的个人使用倾向,和大部分人的搜索结果,以及自身模糊语义分析之后,给出一个相对正确的结果。

在这里插入图片描述
这就不仅仅是Moebius的分析,还需要一个很好的商业系统,Start和StartMobile在构建中考虑的非常全面,既通过一定程度的人工参与使得系统能够响应相当复杂的请求,也使得这些系统的响应达到了非常高的精度;又使这个系统具有一定程度上的自动构建功能,提供对可用源和请求类型的全面覆盖来满足可用信息的爆炸式增长和移动设备内的维护。

移动电话和其他移动设备的发展潜力越来越大,但复杂程度让大多数人无法日常使用,但自然语言可以直观的表达各种各样的请求,降低复杂性。但就目前发展来看还有许多困难亟待解决,这也是我们以后努力的主要方向。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值