下一页 上一页 目录

7. Sulawesi 项目。

Sulawesi:用于普适计算的智能用户界面系统。

7.1 背景

几年前,穿戴式计算机是由个人构建并为个人专用的系统。机器被定制以适应所有者的个人偏好,使用替代的输入/输出设备来实现不同的交互技术。到目前为止,这些机器上使用的大多数界面都是现有桌面用户界面系统和新型输入/输出设备的混合体。

在移动/普适环境中使用的理想人机界面应该是能够倾听用户,使用语音识别、手势、机器视觉和其他信息渠道理解用户要求它做什么,自动执行用户的请求,并在最合适的时候以合适的格式将结果呈现回给用户的界面。例如;一台可以监控用户的呼吸水平、心率和运动的机器,用户可以问“当我睡着时,你能关掉那些 <用户指向> 灯吗?”。这种使用口语句子和手势与移动设备或普适环境交互的方式,属于多模态和智能用户界面的范畴;而 Sulawesi 是一个提供基本多模态开发系统的框架。

7.2 Sulawesi 架构

已设计的 Sulawesi 系统包含三个不同的部分:

编程 API 允许第三方创建新的输入、服务和输出模块,并将它们与 Sulawesi 集成。

输入阶段

系统通过定义良好的 API 收集真实世界的信息。当前的实现包括键盘输入、网络输入、语音识别输入、摄像头输入、G.P.S. 输入和红外输入。输入不进行任何数据预处理,它们只向系统核心提供原始数据,以便由其中的服务进行解释。

核心阶段

系统的核心包含一个基本的自然语言处理器,它执行句子翻译。这会将句子转换为命令流,从中提取两条信息:要调用哪个服务以及应如何呈现输出。服务管理器负责服务的实例化和监控,它还会检查命令以尝试提供某种程度的系统故障恢复能力。服务尽可能生成模态中性输出,该输出可以发送到输出阶段进行处理。

输出阶段

输出阶段从服务接收模态中性结果,并决定如何呈现信息。该决定基于两个标准:用户要求的内容,以及系统如何感知用户的当前上下文/环境。

如果用户要求显示某条信息,这意味着视觉呈现。如果系统检测到用户正在快速移动(通过输入传感器),则可以假设如果屏幕显示结果,用户的注意力可能会分散。(想象一下如果用户正在开车会发生什么!)。在这种情况下,系统将覆盖用户的请求,并将结果重定向到更合适的渲染器,例如语音。

7.3 句子翻译

当人类识别语音时,他们并非理解句子中的每个单词,有时单词会被听错,或者分心会阻止听到整个句子。人类可以从句子中遗漏的单词周围的其他单词推断出所说的内容,这并非总是成功,但在大多数情况下,这对于理解对话是令人满意的。这种类型的句子解码被称为半自然语言处理,并已使用一些基本规则实现。下面的示例解释了系统如何将人类可以理解的句子转换为系统可以理解的命令。

可以认为,在实践中,这些句子会向用户传递类似的信息。请求是将机器对时间的解释发送到适当的输出通道,结果是用户接收到关于时间的知识。更仔细的检查表明,几乎所有句子中的数据都可以被丢弃,并且仍然可以从结果信息中推断出请求。

在上面的示例中,单词(数据)的数量减少到 1/4 和 2/9,同时可以认为信息内容的接近 100% 仍然完好无损。

所实现的系统允许处理和解释句子。半自然语言处理是通过服务自生成查找表和语言转换表来实现的。

服务名称必须是唯一的(由于文件系统的限制),这提供了一种简单的机制来匹配句子中的“time”等服务。硬编码所有预定义的语言转换是不切实际且几乎不可能的,并且这样的系统将不容易适应各种情况。查找表的使用提供了一种小型而有效的方式,用户可以通过这种方式自定义系统以适应自己的个人偏好,而无需重新编程或重新编译句子理解代码。系统通过参考查找表来确定应将结果发送到哪个输出渲染器,从而知道单词“show”和“tell”在句子中的含义。

查找文件示例。

|tell|speak| 
|read|speak| 
|show|text| 
|display|text| 
|EOF| 
此查找表中的顶部条目指定,当在句子中第一次遇到单词“say”时,服务的结果应发送到“speak”输出渲染器。

查找表的使用固有地限制了句子的使用,为了创建要理解的句子,必须遵守以下规则。

<render type> <service name> <service arguments> 

7.4 总结

上述系统使诸如“I would like you to turn the lights on when it gets dark”之类的句子成为可能。系统将该句子解释为调用“light”服务的请求,并使用某种灯光控制器设备来渲染输出,以打开或关闭灯光。这里需要强调两点,第一点是机器从相对自然的句子中推断出含义,而不是用户必须适应机器并记住复杂的命令或操作用户界面。第二点是要求机器在现实世界中满足某些条件时执行某项任务,“when it gets dark”请求当计算机对当前照明条件的解释超过某个阈值时,它应该响应并向灯光控制器输出发送消息。

Sulawesi 系统提供了实现这种类型交互的灵活性,但它没有提供控制照明电路的底层机制,那是您需要编写代码的部分 ;)。。

在线文档和下载可以在这里找到:- http://wearables.essex.ac.uk/sulawesi/


下一页 上一页 目录