用于认知超负荷的设备用户的交互式对话的制作方法

文档序号:2829247阅读:235来源:国知局
专利名称:用于认知超负荷的设备用户的交互式对话的制作方法
技术领域
本发明涉及用于认知超负荷的设备用户的交互式对话的方法和 系统。
背景技术
带有口语对话接口的系统已经在广泛应用中获得稳步增长的认 可。但是,口语对话接口系统可以使用受限语言和脚本对话交互。特 别是,口语语言对话系统可以包括极少被关注的语言理解和对话交互 的简单模型。然而,真实的人类对话可能很大程度上依赖于上下文和
环境,充满不合语法的言辞(utterance)和不完整句,并且很可能是 相当交互性和协作性的。例如,说话人可能互相打断,说完各自的句 子,以及共同对共享的上下文做出贡献。
理解语言和对自然对话建模在建造友好的口语语言接口中是很 重要,并且在用户对外部任务非常关心的设置中至关重要,例如驾驶 直升飞机或汽车。在这种场景中,用户可能在适当时刻之前不能提前 计划好他们的措辞或"保持那种想法"。而是用户可能需要能够打断 对话系统并做出基于上下文和环境的指示。相反的,对话系统必须在 上下文中理解这些贡献,并且应该仅在合适时打断用户(比如在关键 情况下),并且任何来自系统的问题都应该尽可能的集中。由此,在 高度着重的或认知超负荷的领域(domain)中的会话接口,即那些涉 及到专注于其他任务的用户的领域,可能需要更灵活的对话,并且其 具有鲁棒性的、覆盖广泛的语言理解。
例如,在汽车工业中,对话系统可以提供对设备的命令和控制。 然而,这些系统可能为了语言理解和对话管理而依赖于关键字识别技 术和有限状态技术。这些系统可能还会碰到与更新数据库或接入到新 设备/应用程序相关的困难。由此,由于这些系统所使用技术的限制,
只能处理具有约束性的口语语言表达。此外,较为频繁发生的语言现 象,例如代词,歧义和修正,可能不能正确处理。

发明内容
本发明的典型实施例和/或典型方法提供了一种典型的灵活的对 话系统和/或方法,其允许用户在口头上与多种设备交互,并且能够 进行具有完全口语理解的丰富对话、多线程对话管理、信息的动态更
新、部分专有名词(partial proper name)的识别、并且允许简单有效 的即插即用的领域端口。
在这点上,根据本发明的典型对话系统和/或典型方法理解特定 语言现象,该特定语言现象可能在人的对话中是普遍的但可能不容易 被现有技术处理。特别是,根据本发明的典型对话系统可以提供完全 的语言分析,在分析中,该典型系统理解不包含内容的单词的微妙之 处,这些单词例如"一个(a)"、"该(the)"、"这个(this)"、"那个 (that)"和"其他的(other)"。此外,典型对话系统可以对用户的言 辞提供基于环境和上下文的理解。
本发明的典型实施例和/或典型方法可以提供动态更新,从而可 以动态地添加和扩展设备和信息内容。在这点上,本发明可以使用一 组技术,其允许新内容的动态更新和新领域的快速适应。本发明的典 型实施例和/或典型方法可以在管理庞大数量的内容方面给用户增加 用户易用性,由此可以加速技术的市场接受程度。本发明的典型实施 例和/或典型方法可以实现多种应用,并且允许公司快速添加新应用 以便获取产业内的市场份额,比如汽车,手持设备和蜂窝电话。本发 明的典型实施例和/或典型方法使用新的一组技术,其允许动态内容 更新并且在管理用户喜欢的内容项目上为用户提供更多的方便。所述 新技术还可以允许开发者/公司以更快、更节省成本的方式提出新应 用。
本发明的典型系统和/或典型方法可以包含统计式自然语言理解 (NLU)模块,以提供鲁棒的全句分析,以及对话管理器(DM), 以支持基于上下文的理解并且管理用户一系统的交互。本发明的典型
系统和/或典型方法在面对来自语音识别(SR)模块和人类用户的不 完整输入时,可以提供鲁棒性,所述不完整输入包括,例如包含对部 分专有名词的不完整引用的输入。
本发明的典型对话系统和/或典型方法可以支持的对话包括对 MP3音乐播放器(在处理专有名词方面具有挑战性的领域)、蜂窝电 话、导航系统和/或其他感兴趣点服务的控制。


图1A示出了根据本发明的典型对话系统; 图1B示出了典型自然语言理解模块; 图1C示出了典型对话管理模块;
图2示出了用户和图1A的典型系统之间的简单对话,包括MP3 音乐播放器的控制;
图3示出了典型活动模型和语言映射实现的典型伪代码; 图4A示出了与认知超负荷的设备用户进行交互式交谈的典型方
法;
图4B示出了对从认知超负荷的设备用户处接收到的语音转换的 单词序列的含意结构进行确定的典型方法;
图5示出了为图1所述的典型系统的用户提供的典型接口 ,其集 成了多个设备;
图6示出了图1的典型系统与该典型系统的用户之间的典型对 话;以及
图7示出了图1的典型系统执行的典型任务分配过程的典型伪代码。
具体实施例方式
图1示出了典型对话系统100,用于为用户与多个设备151的交 互提供端对端口语处理。该典型系统100包括语音增强器模块101、 语音识别模块102、自然语言理解(NLU)模块103、对话管理模块 104、应答生成模块105、语音合成模块106、知识库模块107、知识
管理模块108、韵律检测模块109以及设备/应用程序管理器110。
语音增强器模块101增强典型对话系统100所接收的语音。特别 是,语音增强器模块101可以提供例如噪声减少和/或回音消除。
语音识别模块102接收声学信号并且输出带有附加标记(例如置 信值)的单词序列或者单词网格(lattice)。在这点上,语音识别模块 102可以包含采用基于分类的n-gmm和动态语法的细微差别语言识 另lj弓I擎(Nuance speech recognition engine) 。 N-gram涉及纟充i十算法, 该统计算法基于概率将单词和分类联系起来。自然语言理解模块103 接收带有附加置信值的单词序列或单词网格,并且基于针对领域中的 语言数据训练得到的统计模型而输出结构化的含意表达。在这点上, 自然语言理解(NLU)模块103目的是提供灵活且鲁棒的口语能力。
对话管理模块104获取所述结构化的含意表达,并且基于对话上 下文和从知识库107获得的知识,向其他模块发出合适的指令。
知识库107与例如用户、设备、外部环境和当前上下文情况有关 的知识。知识库107可以包括一个或多个数据库,例如包括关系数据 库和本体数据库(ontological database)。特别是,知识库107可以包
括例如歌曲、流派、艺术家和其他属性之间的本体关系数据库。知识 库107还可以包括,例如导航任务与感兴趣点(POI)服务的本体关 系的数据库。在这点上,知识库107可以获取领域数据/知识,以训 练在语言理解中使用的统计模型。所述领域数据/知识可以包括,例 如用于描绘和预测用户行为的统计量。知识库107还可以包括语言学 的知识,以便解决例如歧义。在这点上,所述语言学知识可以,例如 从广泛可用的字典和其他来源中构建,所述其他来源包括,例如朗文 出版公司出版的朗文当代英语字典(LDOCE),或者WordNet——由 普林斯顿大学的George Miller教授和他的助手们提供的开放资源(请 见Cognitive science Group下的普林斯顿大学网站)。
知识管理模块108管理知识库107、普通本体,领域特有本体以 及用于任何活动领域的任何数据库。知识管理模块108还在不同模块 之间更新并且同步当前知识库107。
应答生成模块105从对话管理模块104获取内容,选取在该上下
文中的相关部分,并且以简洁的语法方式组织它们,以输入到语音合 成模块106中。在这点上,可以使用一种内容选取方法,该方法在例
如在2004年8月20日申请的美国专利申请No.10/923,590,名为 "METHOD AND SYSTEM FOR ADAPTIVE NAVIGATION USING A DRIVER'S ROUTE KNOWLEDGE"中进行了描述,在此将其整体 引入作为参考。
语音合成模块106获取带有标记特征的单词序列并且产生语音 波形。特别是,语音合成模块106可以包括使用例如Nuance Vocalizer 实现的文本到语音(TTS)引擎。
韵律检测模块109提供附加特征,比如对于声调、停顿和持续的 检领l,以便提高典型系统IOO的特定模块的性能,包括例如语音识别 模块102、自然语言理解(NLU)模块103和对话管理模块104。在 这点上,可以使用Venkataraman等人在2003年的关于声学、语音和 i言号处理的IEEE国际会议上的"Training a prosody-based dialog act tagger from unlabeled data"中描述的技术。
典型系统对话系统100可以采用分散方式实现。例如,不采用其 他系统中所使用的集线器体系结构,例如Seneff等人1998年在 Proc.ICLSP,98 上的"Galaxy-II: A Reference Architecture for Conversational System Development"中所描述的系统,典型系统100 可以使用基于事件的、面向消息的中间件采用分布式方式进行配置, 以便允许例如新模块和/或设备151的动态注册。
典型对话系统100可以使用现货组件。特别是,典型对话系统 100的一些部分可以使用微软Visual C++ 6.0、 Nuance Vocalizer 4.0和 Nuance Recognizer 8.5实现。典型对话系统100可以包括例如任何合 适的处理设备,比如带有基于Intel微处理器的个人计算机。该适当 的处理设备可以被例如广泛的各种操作和/或应用开发环境所支持, 比如微软视窗2000或基于Linux的环境。需要了解的是,典型对话 系统100的模块101至109可以共存于公共平台中,或者这些模块中 的一些或者全部可以分开驻留。
NLU模块
图IB示出了典型自然语言理解模块103,用于提供灵活且鲁棒 的口语能力。典型自然语言理解模块103包括四个子模块统计标记 器103a、统计依赖分析器103b、特征映射器103c和语义分类器103d。
统计标记器103a使用隐性马尔可夫模型(HMM)描述在基于历 史预测语音部分(POS)的标记时的概率。所述模型可以例如从依赖 性的和/或注释性的文本数据中训练得到。在这点上,统计标记器103a 可以使用例如 Dermataso 禾口 Kokkinakis 在 Computational Linguistics,Volume 21, No2, 1995中白勺"Automatic Stochastic Tagging of Natural Language Texts"中所描述的技术来实现,并且可以使用Viterbi 算法来找到合适的标记序列。
统计依赖分析器103b使用统计标记器103a所描述的统计概率建 立语言模型,该语言模型包括条件概率分量和互信息分量。该条件概 率分量在为两个首部给出两个相应子树的情况下,估计这两个首部之 间的语法关系的概率。其可以使用,例如,在2003年7月3日提交 的美国专利申请No.10/613,366 ,名为"A FAST FEATURE SELECTION METHOF AN SYSTEM FOR MAXIMUX ENTROPU MODELING"中所描述的条件最大熵建模的选择性增益计算(SGC) 方法来进行计算,在此将其整体引入作为参考。
最大熵(ME)建模是一种普通的统计建模范例,其可以应用于 语言建模和自然语言处理中,以通过结合各种提供信息的特定特征来 预测语言行为,每种特征都将某种语言统计事件从一个数据总集编码 至条件模型的通用框架中。在这点上,条件最大熵模型可以采用于下 形式
PCH =+exp(Z义;力0,力)
其中,;;是语法关系,x表示由十维矩阵所定义的左右子树,所述矩 阵包含首部单词、标记和语法关系,而,"力、^和2T力分别是特征、
权值和归一化因数。
该互信息分量描绘左右子树代表之间的冗余性,并且可以通过所
述首部标记的因数分解以及给定标记的单词的条件互信息来计算。
特征映射器103C从统计依赖分析器103b获取依赖关系,并且产
生对于与f结构类似的特征结构的可扩展标记语言(XML)表示。在
所述表示中,首部单词、谓词、各种修饰语以及诸如情态、动词体
(aspect)和时态的句法特征都清楚地罗列出来。所述映射基于一组 顶部与修饰语的模式。所述模式可能包括单词、标记或语法关系。
不像其他现有技术的对话系统,自然语言理解模块103提供了对 于输入句子的鲁棒的全面分析。不仅提取出传统的感知内容单词,而 且还提取出各种其他单词的细微含意。例如,冠词"一个"、"该"、
"这个"、"那个"和"其他的"由自然语言模块103区分,并且由对 话管理模块104适当地理解。相信这些冠词被其他现有系统的模板匹 配器所忽略,这些现有系统包括例如Jackson等人在1991年的Darpa Speech and Natural Language Workshop上白勺"A Template Matcher for Robust Natural Language Interpretation", 或者美国专禾U No.6,292,767, 名为"Method And System For Building and Running Natural Language Understanding Systems"中所描述的系统。
自然语言理解模块103支持知识库107的动态更新。依赖分析器 103b根据模板数据进行训练。例如,在MP3领域中,所述训练数据 不包括任何特定歌曲名,而是包含一个称为^"gname (歌曲名称) 的一般性分类名。这对于其他分类也适用。在语法分析中,新歌曲数 据库被提供或更新。当输入句子包含完整歌曲名称时,首先识别该名 称,并且将其分类名songname添加到现有单词序列中,作为可替换 路径。更复杂的情况可以是当歌曲名称是不完整的情况(心烦意乱的 用户的普遍情况)。
语音识别器具有基于分类的语法(统计的或非统计的),在此, 名称分类,例如歌曲名称,可以由另一个仅仅基于歌曲名称集合训练 得到的n-gram模型定义,并且将该训练得到的n-gram模型动态或静 态地插入到基于分类的语法中。在这点上,当歌曲名称数据库如同例 如2004年7月15日申请的美国专利申请10/892,724,名为"A METHOD AND APPARATUS FOR PROPER AND PARTIAL PROPER
NAME RECOGNITION"中所描述的那样时,可以提供用于部分专有 名词的识别器,其以90%以上的准确率标记相应的单词子序列,上述 专利申请在此整体引入作为参考。将具有专有名词的修改的输入网格 提供给分析器,以便进行分析。在这点上,本发明的典型实施例和/ 或典型方法可以使用例如Weng等人在6也International Workshop on Parsing Technologies, ACL/SIGPARSE, Trento, 2000上的 "Parsing a Lattice with Multiple Grammars "中所描述的特定技术。
语义主题分类器103d基于统计标记器103a和统计依赖分析器 103b的输入,确定主题。语义主题分类器103d可以使用诸如条件最 大熵建模、基于存储器的建模和/或其他方法的技术,将输入的句子 分类到各个语义类别中。语义主题分类器103d所使用的模型可以使 用标记的数据进行训练。
对话管理模块
图lc示出了典型对话管理模块104,用于管理和调解典型系统 101的各个模块之间的交互。在这点上,典型对话管理模块104可以 使用例如对话管理应用程序来实现,该应用程序可从斯坦福大学语言 和信息交互研究中心(CSLI)得到,其有时被称为"CSLI对话管理 器"或简称为"CDM"。 CDM使用对话移动(dialogue-move)方法 来保存对话上下文,该方法在例如Larsson禾P Tmum在Natural Language Engineering, No.6(3-4)200 中的"Information state and dialogue management in the TRINDI dialogue move engine toolkit"中进 行了描述,然后,将对话上下文用于理解输入的言辞(包括片段和修 正),解决NP,构建显著的应答,追踪主题等。所述对话状态也可以 用于偏置语言识别期望值并且提高语言确定性能。对于CDM的更详 细的描述可以在例如Lemon等人在Traitement Automatique des Langues(TAL), No. 43(2), 2002中白勺"Collaborative activities and multi-tasking in dialogue systems "中找至lj 。
多领域设计 对话管理模块104支持多领域环境,并且可应用于广泛的应用 中,包括例如对于智能设备和指导的控制。不同应用领域可以包括为 表面级别生成指定不同的语法,以及设备特有的活动模型(AM),其
表示由对话管理模块104管理的任务和所述任务的状态,从而可以提 供对于所述任务的明确参考(例如"将其取消(cancel that)")。所述 活动模型是对于对话管理模块104与之交互的代理或设备的能力的 说明性规范,并且其包括语言信息,例如从动词及其参数到设备动作 的映射。例如,参见图3,其示出了典型活动模型和语言映射实现的 伪代码。标记为"required (需要)"的参数在所给出的用户命令缺少 参数时可以生成子对话。在这点上,所述活动模型方法允许实现"即 插即用"功能,从而当将该典型对话系统应用于新领域时,不需要替 换全部对话管理模块104。
对话管理模块104包括语义分析器组件104a,用于从来自自然 语言理解模块103的准f结构中构建语义逻辑形式,并且获得需要上 下文信息的对话移动类型。例如,当对话管理模块104从自然语言理 解模块103接收到言辞时,可以使用当前上下文提取语义含意,并且 对象(referent)可以使用"显著表(salience list)"来填充,显著表 保存了引入到对话中的名词短语(NP)和宾语的表示。根据对话移 动的类型,可以添加新命令至活动模型(AM),或者如果输入的言辞 是一个提问,则可以查询知识管理模块108并将结果答案发送至自然 语言理解模块103。对话管理模块104的一些内部组件可以允许依赖 于领域和不依赖于领域的过程进行混合,其中,缺省流程是独立于特 定领域实现的,但是其一些子过程可以轻松地配置为利用依赖于领域 的信息。类似的,对于新的应用,当前实现也可以允许对于逻辑形式 或对话移动操作符的扩展而不会扰乱CDM的核心实现。
多线程上下文管理
对话管理模块104配置为管理多线程、多主题的对话。这在汽车 情况中尤其重要,在此,司机可能和多个设备进行交织性的交互。例 如,选择并且预订餐馆的交互可能会被蜂窝电话请求所打断。在这点
上,需要注意的是,当和多个设备交互时,用户可能希望和中央控制 器交互而不是分别和每个设备交互。
用于支持多线程对话的对话管理模块104的组件包括对话移动
树104b和活动树104c,其作为用于其他对话上下文功能的框架,所
述其他对话上下文功能例如有生成任务报告以及在对话中休息之后 提问用户(例如,"我们在谈论什么?")。
对话移动树104b表示对话的历史上下文。输入的言辞被分类为 对话移动,通过将其本身附着至所述对话移动树上的适当活动节点上 而在上下文中对其进行理解。例如,可以将答案附着至有效的相应提 问节点。新的对话主题产生新的分支,并且不能将其自身附着至最近 的有效节点的对话移动可以附着至与恢复的对话相对应的另一分支 中的有效节点上。
活动树104c管理与当前对话相关的活动。当用户发出一个命令 时,其可以导致新的活动被创建并且被添加至活动树104c。在所述 活动能够最终被发送至执行设备之前,该典型系统100尝试全部解析 此活动,包括例如尝试解析全部名词短语(NP),或者产生子对话以 便得到更多信息。修正和改正(例如,"我的意思是/我是说…")可 以包括编辑现有的活动表示。活动执行在活动树104c上被监控,并 且变化可能导致生成输出,例如在失败或成功完成时。
对话移动树104b和活动树104c作为其他对话上下文功能的框 架,所述其他对话上下文功能例如生成任务报告,以及在对话中休息 之后提问用户(例如,典型系统100可能提示用户"我们在谈论什 么?")。对话移动树104b还为任务(例如参考解析情况)提供暗示 性的谈话结构。
知识管理模块
知识管理器(KM) 108控制知识库资源(例如,领域的一般性 知识和设备信息)的访问和更新。领域知识根据依赖于领域的本体构 建。知识管理模块108可以使用例如Prot6g6实现,其是不依赖于领 域的主体工具,可以从斯坦福大学得到。有关Prot^6的更详细的细
节可以从例如"protege.stanford.edu"的网址上得到。
知识管理模块108可以由对话管理模块进行査询,所述对话管理 模块例如与从命令或査询中构建的语义描述相匹配。例如,在MP3 领域中,"播放一些Cher的摇滚音乐"命令可能导致对于具有》f, /蕃麥(^gewre=racA:;>并且艺^^^C7zer(^WW-c/7e^)的教處(^"gj分类的 对象的查询,在此,魔赠ke"W和恶,—^是教廯分类的(继承的) 属性。当很多结果满足用户的约束时,对话管理模块104可以使用本 体分层结构来对其进行分类,并且以简洁的方法输出这些结果以减少 用户的认知负载。如上面所解释的,知识库模块107可以在任何点上 动态地更新新实例。
另外,知识管理模块108还作为设备信息,例如活动模型(AM), 的存储库。可替换的,活动模型(AM)可以驻留在设备/应用程序管 理器110中。当有新设备可用时,其向知识管理模块108注册其信息, 知识管理模块108使得该新设备对于CDM 104是可用的。
设备/应用程序管理器
设备/应用程序管理器110基于一些因素,例如上下文中的当前 设备、指示上下文变化的语言线索、明确的访问、和/或者对于与特 定设备的活动模型相关联的语言模板的言辞最佳匹配,决定哪个设备 最适合处理给定的言辞(例如,命令或提问)。在这点上,设备/应用 程序管理器110可以将依赖于设备和/或应用程序的信息与一般性对 话管理模块104隔离,以便提供即插即用能力。设备/应用程序管理 模块IIO包括状态信息,其描述特定设备或应用程序的多种可能状态 以及所述状态的可能值域。可应用于所述设备/应用程序的活动、由 此提供的功能、或者用于特定活动或功能的可能的语言表示可以由设 备/应用程序管理器IIO保存和协调。在这点上,所述设备/应用程序 特有的特定项目可以封装在领域模型中,当所述应用程序被初始使用 时,该领域模型可以被公开发布。特别是,所述语言表示可以通过与 自然语言理解模块103、"标记"模块相关联的统计模型或者通过其 他途径来捕捉。图4A示出了典型方法400,用于与认知超负荷的设备用户进行 交互式对话。在步骤S401,典型系统100维护与设备和领域有关的 信息的知识库。在步骤S402,典型系统100用关系和/或本体的方式 组织所述信息。在步骤S403,典型系统100从用户处接收语音。在 步骤S404,典型系统100在接收到的语音中减少噪音并消除回声。 在步骤S405,典型系统IOO在接收到的语音中识别停顿、支吾和/或 持续。在步骤S406,典型系统100把语音转化为单词序列,并识别 该单词序列中的部分专有名词。在步骤S407,典型系统100调节所 述部分专有名词的边界以便提高含意结构的准确率。在步骤S408, 典型系统100使用领域信息的模型从所述单词序列中确定含意结构。 在步骤S409,典型系统100使用知识库在与认知超负荷的用户的对 话的上下文中理解所述含意结构。在步骤S410,典型系统100基于 当前上下文和对所述含意结构的理解,决定要与所述设备相结合执行 的操作。在步骤S411,典型系统IOO执行该设备操作。在步骤S412, 典型系统100选择内容,用于对于认知超负荷的用户的应答。在步骤 S413,典型系统IOO基于所选择的内容、对话的上下文和语法规则生 成所述应答。在步骤S414,典型系统100为合成所述应答的语音波 形。
图4B示出了典型方法450,用于确定由从认知超负荷的设备用 户处接收到的语音转换的单词序列的含意结构。在步骤S415,所述 典型系统为所述单词序列中的每个单词识别一部分语音标记。在步骤 S416,典型系统100从所述单词序列中得到依赖性结构,以动态地修 改领域信息的模型。在步骤S417,典型系统100将所述依赖性结构 转换为特征结构。在步骤S418,典型系统100将所述部分语音标记 和特征结构与单词序列的语义主题相关联。
图5示出了典型系统100的用户151与多个设备代理160a、160b 和160c之间的典型集成接口。在此典型实施例中,为用户151提供 了公共接口,以便与多个设备代理160a、 160b和160c交互。在这点 上,对话管理模块104的简单实例可以方便用户151与设备代理160a、 160b和160c之间的交流。设备管理模块110可以了解每个设备并且
作为对话管理模块104和各个代理160a、160b和160c之间的缓冲器。 由此,设备管理模块110本身可以是集成代理,并且用户151相信他 们正在与之进行交流。
但是,为了维持设备自主性,可以要求每个设备代理160a、 160b 和160c独立地处理给予它的命令,管理其自己的任务,并且将设备 特有的言辞添加到对话管理模块104,以便实现更成功且更自然的任 务对话与执行。
对话管理模块104可以使用根据CSLI对话管理器(CDM)的修 改来实现,CDM提供了一种单设备系统,该系统使用对话管理器、 对话移动树、任务树和模拟任务树来处理对话管理和任务执行。
根据本发明的典型实施例,除了支持多个设备之外,典型系统 100可以仅用一个对话管理模块104配置,该对话管理模块104处理 用户151与设备代理160a、 160b和160c之间的所有语言交流。在这 点上,用户可能感觉其好像仅访问了单个代理/设备,这表示能够导 致更高效的用户界面。因此,用户151可以简单地发出命令,比如, "开车去餐馆",或者"调大声音",并且可以觉得其在向单个代理对 话,而不是分别向GPS系统和收音机对话。
当典型系统100用单个对话管理模块104配置时,该对话管理模 块104使用面向任务的方法将言辞发送到正确的代理。例如,当用户 151做出言辞时,对话管理模块104获取该言辞,并如同所述单设备 对话系统中那样将其放置在对话移动树上。如果该言辞没有涉及任何 先前的言辞(例如,给予所述设备之一的命令),则对话管理模块104 就可以与设备管理模块110通信,以找到哪个设备应该接收该言辞。 在此实例中,设备管理模块IIO可以确定适当的设备来处理该言辞并 采取相应行动。但是,如果该言辞是对于已经存在的对话线程的响应, 则可以将该言辞的效果自动地确定到发送到该适当的设备。
上下文设备
对话管理模块104可以额外地了解在当前语言上下文中的设备。 每次都明确地访问一个设备,或者生成与一个特定设备相对应的命
令,该设备变为上下文中的当前设备。该设备也可以通过自己生成言 辞而变为当前上下文设备。这可以例如通过设备上下文管理模块111 维持,设备上下文管理模块111确保上下文中的设备在重设前仅在一 定逻辑量的时间内保持在上下文中。换句话说,当一个设备变为上下 文中的设备时,定时器启动,该定时器记录该设备已在上下文中多长 时间。在特定时间段的结束时,将上下文中的设备重设为空。该定时 器每次都重启该设备,或者另一个设备被访问或说出言辞。因此,设 备上下文管理模块111可以协调和/或管理轮换次序。在这点上,在
运行NIST工程的MultideviceApp和CarApp时,在上下文中的设备 可以出现在"CAR"的主面板上。
与任务相关的对话
为了便于用户151与所述设备之间的与任务相关的交流,可以由 对话管理模块104维持一个集成的任务树(TaskTree),其代表每个 代理都已经处理过的所有任务。该任务树可以如下面所述,与每个代 理的任务执行管理在该代理的模拟任务树(SimTaskTree)中进行同 步,以便对话管理模块104可以为用户提供有关过程、属于任何或所 有代理的任务的成功与失败的反馈。因此,有关任务状态、完成、失 败等的报告可以由所述任务树生成。
可替换的,每个设备可以为设备特有的面向任务的对话负责。例 如,如果给出一个模糊的命令,设备就可能有责任解决该模糊性并继 续任务的执行。这些言辞和询问可以用例如与单设备对话系统中的类 似询问相同的方式来处理。解决这种设备生成的询问的样本对话在图 6中示出。
分布式任务管理
根据本发明的典型实施例和/或典型方法,任务管理可以包括请 求每个设备和/或设备代理自主地并独立地管理其自己的任务。在这 点上,当对话管理模块104初始给出一个用户命令时,设备管理模块 110可以使用类MultiDeviceTaskProperties构建一组一般性任务属性。
这些属性表示与该用户命令相对应的任务的基本的、与领域无关的思 想。这些属性的位置(slot)是正常的NL位置,例如"命令","直 接宾语"和"形容词"。 一旦构建了这些属性,设备管理模块110就 向所述设备发送这些属性的一个拷贝,所述设备每个都答复它们是肯 定能够处理该命令、可以处理该命令、还是肯定不能处理该命令。给 予上下文中的当前设备第一次机会回复说其能够处理,并且如果其返 回其肯定能够处理该任务,则将该任务自动给予该设备。反过来,汇 集来自所有设备的答案,如果存在模糊性(即,两个设备都"肯定" 能够处理该任务),则生成查询,以询问用户想要用哪个设备来处理 所述言辞。当找到合适的设备时,将该命令分配给此设备,并将合适 的节点添加至所述任务树和该设备的模拟任务树上,并且该设备自己 处理任务的剩余部分的执行和交流。
设备注册
为了让一个设备加入到集成系统100中,可能需要满足几个要
求,包括例如与识别、任务功能和系统特有的功能有关的要求。 对于与识别有关的要求,可以要求该设备具有唯一性的标识串,
以便设备管理模块110可以了解每个设备。每个设备可以有设备类型 (DeviceType)(即,UAV),以及唯一性的设备名(DeviceName)(即, UAV1)。所有事务,例如逻辑文件系统(lfs),任务管理等,都可以
使用设备名作为标识标记。
对于与任务功能有关的要求,可以要求该设备能够在给定一般性
任务描述的情况下判断其是否有能力处理和执行上述任务。此功能可 以用于单设备和单代理任务以及多设备任务中。其可以由一系列可在 设备的代码中找到的设备特有的功能实现。这些功能获取 MultiDeviceTaskProperties或者GenericSlotSet,并且使用这些属性来
判断它们认为它们是否能够执行由所述属性描述的任务。
对于与系统特有的功能有关的需要,为了能与典型系统100相兼 容,可以要求该设备提供其他的系统特有类和功能。这可能包括例如 TaskLFPParser,其获取一般性任务属性并且从设备特有的任务属性中
构建所述设备的活动模型、NPResolver等。所有这些类(必须要执行 内容的一个示例是查看餐馆设备(RestaurantDevice))都可以用于提 供设备特有的任务和对话处理。每个设备自己的设备启动器类也可以 位于该类别下。
任务分配
为了最大化或至少提高向设备分配任务的可靠性,当设备管理模 块110选择一个设备来处理任务时,可以考虑几个因素。它可能给予 在上下文中的当前设备最高的优先级。如果该设备能够处理该用户命 令,则将该命令自动分配给该设备并且任务开始执行。否则,设备管 理模块110可以向每个设备询问其是否有能力处理此任务,并汇集给 予肯定回答的设备的列表。如果一个以上的设备认为其能够处理特定 任务,可以生成查询,要求用户更明确地指定他们想要使用的设备。 样本对话在图6中示出。 一旦该查询被答复,就通知所选择的设备, 以便使其可以开始处理该命令。任务分配的典型实现的典型伪代码在 图7中提供。
任务处理与执行
如前所述,每个任务都要对执行和维持其自己的任务负责。其可 以通过维持其自己的模拟任务树来实现该目的。如前面所提到的,这 些模拟任务树与所述对话管理模块的单个任务树进行同步,以便于与 任务相关的对话一即,更新和报告。因此,每个设备可以根据任务进 行的如何(即,该任务是正在处理、已完成还是失败了),来持续地 更新在其自己的模拟任务树上的任务,并且随后这些更新可以由所述 任务树所获得,以保持其当前状态。如前面所述,这可以允许对话管 理模块104向用户提供与所有任务的进度有关的反馈。换句话说,所 述任务树可以被当作每个单个设备的模拟任务树的组合。各个单个设 备的模拟任务树上只有其本身正在执行的(或己经执行过的,等等) 任务,仅有一些与如下所述团队任务相关的例外情况。然而,所述任 务树具有来自所有设备的所有任务的组合,并且因此其在某种意义上
是每个单个模拟任务树的混合体以及在系统中发生的所有事件的一 种表示。
示例对话
图2示出了用户与图1A的典型系统100之间的典型对话200, 包括对MP3音乐播放器的控制。典型对话200示出了典型系统100 可以处理的特定功能和交互,包括例如,基于上下文和外部环境的扩 展名词短语(NP)解析、动态内容更新、去模糊性、多线程对话和 复杂专有名词。
主要的功能是通过用于控制MP3音乐播放器的实际例子来描述的。
数据收集
为了改善以及评价典型系统100的性能,可以为特定任务收集对 话数据。在这点上,可以使用"Oz向导"(Wizard of Oz, WOZ)方 法,在该方法中,实验对象与处于另一个场所内的假装是智能机器的 人进行交谈。这种设置可能需要设计高质量的对话系统,该系统在面 向任务的交互中模拟人类行为。这部分地是因为WOZ方法可以在对 话期间在语言复杂性方面设置正确的用户期望值。因此,WOZ方法 可以避免陷入理解人与人的对话的困难问题中,该问题可能超出了当 今NLP技术的能力之外。
为了模拟认知超负荷的场景,可以使用驾驶模拟器作为占用任 务。作为该模拟器的一部分,可以使用称为Midtown Madness 1 (疯 狂都市l)的电视游戏,其是发生在芝加哥市区。将带有力反馈的方 向盘安装在游戏屏幕前。可以设置两个分开的场所(称为试验对象场 所和向导场所),以使得试验对象和向导互不可见。向导作为"处理" 对话系统,试验对象在不知道或者看不到向导的情况下与其进行交 互。向导能够通过视频分离器看到游戏屏幕,从而其知道在试验对象 在驾驶画面中的当前情况。当试验对象需要导航或娱乐信息时,其按 下方向盘上的推下-交谈(push-to-talk, PTT)按钮并向头戴麦克风讲
话。向导仅在PTT被按下才能够听到试验对象的语音。
来自试验对象和向导的对话被录音软件记录在硬盘上。可以构建 一个用于操作MP3播放器的场景,其中,要求试验对象在其环绕城 市开车时创建两个歌曲列表。为了创建该歌曲列表,试验对象可以在 其收藏中查询歌曲,听歌曲,并将歌曲添加到其列表中或者从列表中 删除。此场景提供多线程对话。
权利要求
1、一种对话系统,其包含知识库,用于存储与设备和领域有关的信息,并且采用关系方式或本体方式中的至少一种方式来对所述信息进行分类;设备/应用程序管理器,用于隔离并封装所述设备信息,以实现所述领域的即插即用;语音识别模块,用于从用户处接收语音并将所述语音转换为单词序列,并且识别完全专有名词和部分专有名词中的至少一种;自然语言理解模块,用于使用所述领域的统计相关模型从所述单词序列中确定含意结构,并调节所述完全专有名词或部分专有名词中所述至少一种的边界;对话管理模块,用于使用所述设备信息在所述对话的上下文中理解所述含意结构,并且构建应答内容;应答生成模块,用于选择内容,并且基于所述上下文和语法规则生成所述应答;以及语音合成模块,用于合成所述应答的语音波形。
2、 如权利要求1所述的对话系统,其中,所述设备包括移动电 话、导航系统、感兴趣服务点,音频设备、车载设备以及MP3播放 器中的至少一种。
3、 如权利要求l所述的对话系统,还包括语音增强器,用于为所述接收的语音提供噪声降低和回声消除。
4、 如权利要求1所述的对话系统,还包括 韵律检测模块,用于检测所述接收的语音的声调、停顿以及持续中的至少一种。
5、 如权利要求1所述的对话系统,其中,所述对话系统是分布 式的,以允许新模块或新设备中至少一种的动态注册。
6、 如权利要求1所述的对话系统,其中,所述自然语言理解模 块包括统计标记器,用于将部分语音标记分配给所述单词序列;统计 依赖分析器,用于使用条件概率和互信息形成依赖关系;以及特征映 射器,用于使用所述依赖关系映射到所述单词序列的可扩展标记语言 表示。
7、 如权利要求1所述的对话系统,其中,所述对话管理模块配 置为支持多领域环境。
8、 如权利要求1所述的对话系统,其中,所述对话管理模块配 置为管理多线程对话。
9、 如权利要求1所述的对话系统,其中,所述对话管理模块配 置为支持设备特有的活动模型。
10、 如权利要求1所述的对话系统,其中,所述对话管理模块包 括语义分析器。
11、 如权利要求1所述的对话系统,其中,所述对话管理模块配 置为支持对话移动树。
12、 如权利要求1所述的对话系统,其中,所述对话管理模块配 置为支持多主题对话。
13、 如权利要求1所述的对话系统,其中,所述对话系统对所述 部分专有名词进行以下至少一个操作调节和验证。
14、 一种与设备的认知超负荷用户交互式交谈的方法,所述方法 包括维护与所述设备和领域有关的信息的知识库; 采用关系方式和本体方式中至少一种方式组织所述信息;从所述用户处接收语音; 将所述语音转换为单词序列;识别在所述单词序列中的完全专有名词和部分专有名词中的至 少一种;使用所述领域信息的模型,从所述单词序列中确定含意结构;调节所述完全专有名词和部分专有名词中的所述至少一种的边 界,以增强所述含意结构的准确性;使用所述知识库,在与所述认知超负荷的用户的对话的上下文中 理解所述含意结构;选择对所述认知超负荷的用户的应答的内容;基于所述选择的内容、所述对话的上下文以及语法规则,生成所 述应答;以及合成所述应答的语音波形。
15、 如权利要求14所述的方法,还包括 以下至少一种减少所述接收的语音的噪声;以及 消除所述接收的语音的回声。
16、 如权利要求14所述的方法,还包括注册所述设备,以便通知采用语言语义形式的所述设备的能力;以及对于所有类型的用户请求,基于所述釆用语言语义形式的设备能 力和所述对话的上下文中至少一种,选取所述设备。
17、 如权利要求14所述的方法,还包括 在所述接收的语音中识别停顿、支吾和持续中至少一种。
18、 如权利要求14所述的方法,还包括通过仅对于指定的集合训练n-gram模型,形成采用基于分类的 语法的专有名词类;以及在所述基于分类的语法中动态插入所述训练的n-gmm模型,作 为所述专有名词类。
19、 如权利要求14所述的方法,其中,对所述含意结构的确定 还包括为所述单词序列的每个单词确定一部分语音标记; 从所述单词序列中导出依赖性结构,以动态地调节所述领域信息 的模型;将所述依赖性结构转换为特征结构;以及使所述部分语音标记和特征结构与所述单词序列的语义主题相 关联。
20、 一种存储介质,其具有的指令集可以由处理器执行以实现以 下步骤维护与设备和领域相关的信息的知识库;采用关系方式和本体方式中的至少一种组织所述信息;从所述设备的用户处接收语音;将所述语音转换为单词序列;识别所述单词序列中的部分专有名词;使用所述领域信息的模型,从所述单词序列中确定含意结构; 调节所述部分专有名词的边界,以增强所述含意结构的准确率; 使用所述知识库,在与所述用户的对话的上下文中理解所述含意 结构;选择对所述用户的应答的内容;基于所述选择的内容、所述对话的上下文以及语法规则,生成所 述应答;以及合成所述应答的语音波形。
全文摘要
一种与认知超负荷的设备用户进行交互式对话的系统和方法,包括维护与设备和领域有关的信息的知识库;采用关系方式和本体方式中的至少一种组织所述信息;从用户处接收语音;将语音转换为单词序列;识别单词序列中的部分专有名词;使用所述领域信息的模型从单词序列中确定含意结构;调节所述部分专有名词的边界以增强所述含意结构的准确率;使用所述知识库在与认知超负荷的用户的对话的上下文中理解该含意结构;选择对于认知超负荷的用户的应答内容;基于所选择内容、所述对话的上下文以及语法规则生成所述应答;以及合成所述应答的语音波形。
文档编号G10L15/22GK101189659SQ200580040270
公开日2008年5月28日 申请日期2005年8月10日 优先权日2004年9月27日
发明者A·格林施泰因, B·拉格胡那坦, D·米尔科维奇, H·施密特, L·卡维多, L·希亚特, S·彼得斯, 翁富良 申请人:罗伯特·博世公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1