首页> 中国专利> 动态应用过滤运算器作为对话界面一部分的用于自适应对话状态管理的方法

动态应用过滤运算器作为对话界面一部分的用于自适应对话状态管理的方法

摘要

提供了处理搜索请求的系统和方法。所期望内容项的识别是基于比较搜索请求的主题与先前用户输入的。该方法包括提供对一组内容项的访问权并且提供关于先前搜索的信息,其中内容项具有描述对应内容项的元数据。该方法还包括从用户接收当前输入并且确定关于先前搜索的信息与当前输入的元素之间的相关性度量。如果相关性度量高,则该方法还包括基于比较当前输入及关于先前搜索的信息与描述内容项子集的元数据来选择该内容项子集。否则,该方法包括基于比较当前输入与描述内容项子集的元数据来选择该内容项子集。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-08-18

    授权

    授权

  • 2015-11-11

    实质审查的生效 IPC(主分类):G06F7/00 申请日:20131011

    实质审查的生效

  • 2015-10-07

    公开

    公开

说明书

相关申请的交叉引用

本申请要求以下专利申请的权益,其内容通过引用被结合于此:

于2012年10月11日提交的标题为“Method For AdaptiveConversation State Management Filtering Operators AppliedDynamically As Part Of A Conversation Interface”的美国临时专利申请61/712,720;及

于2013年3月13日提交的标题为“Method For AdaptiveConversation State Management With Filtering Operators AppliedDynamically As Part Of A Conversational Interface”的美国专利申请No.13/801,958。

技术领域

公开了在用于信息检索的对话界面中进行自适应对话状态管理的方法,其中过滤运算器可以被动态应用以修改对话状态。

背景技术

过滤运算器本身是对话交流的一部分并且是从交流推断出的。对话状态空间动态地适应于过滤运算器,从而基于运算器扩展或精简状态,并且调整项在对话空间中的权重。当检测到对话线程边界时,本公开内容中所描述的一种方法还隐含地清除状态空间,从而取消所有应用的过滤器。本公开内容中所描述的一种方法使得对话交流能够更接近人类交互的精神,其中意图表达跨越多个交流并且对话线程常常被无缝地编制到连续的流中。

此外,本发明的实施例使得自然纠正方法能用于用户输入错误,诸如语音识别中的错误——这些输入错误可以通过用户说出过滤运算(作为与信息检索系统的对话交流的一部分)来纠正。

在非对话式界面中,即使在用户的意图清楚并且没有歧义时,信息检索过程也常常是多步的。这可能由于多个因素,其中之一是与用户意图的潜在匹配集合可能很大。在这种情况下,用户通常通过指定约束或过滤器(例如,在Google搜索条中对现有的搜索查询添加更多关键词、开启过滤器以便只示出网站上评为五星级的产品)来挑选匹配空间。在需要多步信息检索的这个因素谱的另一头,是从选项角度看匹配太少的情况。在这种情况下,用户将通过指定加宽的过滤器(例如,开启在商务站点上的搜索结果中还包括第三方供应商产品的过滤器)来拓宽意图。

当用户意图不清楚时,在非对话界面中的信息检索本来就是多步的。检索过程是探索式的;其中用户不仅应用选择和扩展过滤器,而且遍历与激起用户兴趣的内容有关的路径(例如,在像amazon.com的商务站点中遍历相关的项)。

在所有这些非对话式界面中,用户在内容发现过程中渐进式地应用过滤器。用户明确地管理对于发现过程的每一步要应用的过滤器。基于会话的信息检索系统在每个会话边界重置过滤器,在会话边界会话可以被定义,例如被定义为新的搜索输入。在不基于会话的信息检索系统中,因为必需跨对话线程选择地重置不适用的过滤器,所以用户负担更重。

人们通常在他们彼此对话时应用过滤器,但是过滤器的管理比在与非对话式界面交互时感觉容易得多。这是有可能是因为过滤器的应用简单到作为对话的一部分提到它。甚至更重要地,所讨论的主题的状态空间平滑地适应于交流并且同时在参与对话的参与者的心中进化,从而把他们从通过重申或回顾来明确管理和同步对话的状态空间的需求中解放出来。此外,当人们对话时,对话线程边界不需要过滤器的有意重置;人们也不会感到不适用的过滤器被传送到新线程的紧张。这些可能是促成吸引人的对话的本质因素并且常常用参与者的措辞来说被总结——“当X和我讲话时,我们是同步的”。不用说,在人类的情况下,这不仅仅是从参与者当中同步对话状态空间的解放,而且事实是参与者还可以同时在他们个人经验和知识的背景下从状态空间中提取概念并且在对话中按上下文将相关的想法表达为想法、观点、反驳等。从状态空间的同步的解放是基础(edifice)。想法的交流依赖于这个基础并围绕其建立。

致力于以下适度目标的对话系统将有很长的路要走来改进用户体验:通过当过滤器在对话中被用户动态应用时自适应地维持对话状态并且隐含地识别对话线程边界以便重置这些过滤器,来模拟人类对话的该基础。

至少在有限的用例场景中,语音识别最终达到了开启使对话系统变成主流的可能性的阈值。但是,语音识别仍然对口音差异以及移动环境失效(falter)。过滤操作是必需的,尤其是在移动环境中,在移动环境中语音识别部分成功,所以用户可以应用过滤器,而不必再次重复所表达的意图。

概括地说,本公开内容描述了在信息检索系统中管理会话状态的方法,从而允许过滤器的应用作为对话的一部分。该方法还识别对话线程边界并且自动取消过滤器,而无需明确的用户干预。当语音识别错误导致部分满足用户意图的响应时,本公开内容所描述的方法也适用——用户可以说出过滤操作,而不必再次重复原始意图。

发明内容

在本发明的实施例中,提供了处理从用户接收到的搜索请求的方法,该搜索请求针对从一组项中识别期望的项,其中识别是基于比较搜索请求的主题与先前用户输入的。该方法包括提供对一组内容项的访问权。每个内容项与描述对应内容项的元数据关联。该方法还包括提供关于至少一个先前从用户接收到的搜索的信息并且从用户接收当前输入。当前输入要被用户用来识别期望的内容项。该方法还包括确定关于至少一个先前搜索的信息与当前输入的元素之间的相关性度量(measure)。该方法包括在其中相关性度量不超过阈值的条件下,基于比较当前输入与描述内容项子集的元数据来选择该内容项子集。该方法还包括在其中相关性度量超过阈值的条件下,基于比较当前输入及关于至少一个先前搜索的信息与描述内容项子集的元数据来选择该内容项子集。

在另一种实施例中,该方法包括在其中相关性度量不超过阈值的条件下,把对话状态空间重置为当前输入的元素,并且在其中相关性度量超过阈值的条件下,利用当前输入的元素增大对话状态空间。对话状态空间可以存储先前搜索输入中的至少一个。

在还有另一种实施例中,增大对话状态空间基于以下中的至少一个:把当前输入的至少一个元素添加到对话状态空间和除去对话状态空间的至少一个元素。

在另一种实施例中,该方法还包括提供对包含内容项的关系距离的关系数据库的访问。相关性度量可以基于关系距离中的一个。

在另一种实施例中,关系数据库给出带节点和边的关系图。每个节点可以表示内容项并且每条边可以表示任意两个内容项之间的直接关系。

在还有另一种实施例中,两个内容项的关系距离以对应于这两个内容项的两个节点之间的跳数来测量。

在另一种实施例中,两个内容项的关系距离以对应于这两个内容项的两个节点之间的最小跳数来测量。

在不同的实施例中,每条边具有权重,并且两个内容项的关系距离是连接对应于这两个内容项的两个节点的边的权重之和。

在还有另一种实施例中,关系距离由随着时间推移被获取的用户偏好来修改。

在另一种实施例中,该方法包括提供对包含历史输入的数据库的访问权。内容项的关系距离可以基于内容项多经常被一起使用来确定。

在另一种实施例中,该方法包括提供对包含随着时间推移被获取的用户偏好的数据库的访问权并且基于用户偏好修改所确定的相关性度量。

在还有另一种实施例中,确定当前输入的元素是基于应用预定义的规则的。预定义的规则可以使用贝叶斯分类器。

在另一种实施例中,阈值是基于来自用户的反馈调整的。

提供了用于处理从用户接收到的搜索请求的系统,该搜索请求针对从一组项中识别期望的项,其中识别是基于搜索请求的主题与先前用户输入的比较的。该系统包括在非暂态计算机可读介质上编码的计算机可读指令。计算机可读指令使计算机系统提供对一组内容项的访问权。每个内容项与描述对应内容项的元数据关联。计算机可读指令还使计算机系统提供关于至少一个先前从用户接收到的搜索的信息,从用户接收要用来识别期望的内容项的输入,并且确定关于至少一个先前搜索的信息与当前输入的元素之间的相关性度量。计算机可读指令使计算机系统在相关性度量不超出阈值的条件下,基于比较当前输入与描述内容项子集的元数据来选择该内容项子集。计算机可读指令还使计算机系统在相关性度量超出阈值的条件下,基于比较当前输入及关于至少一个先前搜索的信息与描述内容项子集的元数据来选择该内容项子集。

附图说明

为了更完整地理解本发明的各种实施例,现在结合附图参考以下描述,附图中:

图1说明了作为本发明实施例的体系架构。

图2说明了为解释的目的而结合于此的用户界面方法。

图3说明了为解释的目的而结合于此的用户界面方法。

图4说明了表示实体及实体间关系的图的例子。

图5说明了表示实体及实体间关系的图的例子。

图6说明了表示实体及实体间关系的图的例子。

图7说明了表示实体及实体间关系的图的例子。

图8说明了在每次用户与系统交互时修改对话状态空间的过程。

具体实施方式

本发明的优选实施例及其优点可以通过参考图1-8来理解,其中相同的标号指相同的元素。

对话系统体系架构

图1表示本发明用于利用语音输入进行信息检索的实施例的整体系统体系架构。可选地,本文所描述的发明实施例可以结合在于2012年11月2日提交的标题为“Method of and Systems for UsingConversation State Information in a ConversationalInteraction System”的美国专利申请No.13/667,388和于2012年11月2日提交的标题为“Method of and Systems for Inferring User Intent in Search Input in aConversational Interaction System”的美国专利申请No.13/667,400中所阐述的技术和系统一起工作,这两个申请都通过引用被结合于此。用户101说出他/她的问题,该问题被送到语音到文本引擎102。语音到文本引擎输出识别出的词并且以正规格式(例如,以解析树的形式,利用本领域已知的技术)解析。用户输入的文本形式被送到会话对话内容模块103。该模块起跨对话维护状态的作用,其关键用处是在对话过程中帮助理解用户意图,如以下所描述的。

会话对话连同语言分析器(或者词性标注器)106和以下所描述的其它实体识别器模块一起,把句子分成其组成部分,其中句子的组成部分可以广义地归类为:(1)意图——用户的实际意图,诸如找出电影、播放歌曲、调到频道、响应电子邮件,等等,(2)实体——描述意图的名词或代词短语,以及(3)过滤器——对实体的限定值,诸如“最近的”电影、“较少的”暴力,等等。过滤器可以对意图和实体都起作用。对话状态由实体和意图组成,其中过滤器应用到实体和意图。

在以提供智能和有意义的对话为目标的上下文中,意图有可能是所有这三类中的关键。任何好的搜索引擎都可以仅仅通过从句子中提取实体——而不理解语法或意图——就相当好地执行信息检索任务。考虑用户问题,“我的女儿可以和我看pulp fiction吗?”——大部分搜索引擎将示出对pulp fiction的链接,这可以足够找出从遍历那个链接可能或不可能获得的分级。但是在对话界面中,预期明显更高——系统必须理想地理解对应于电影等级以及它适合的年龄组的期望响应的(电影、等级)意图。从用户的角度看,退化到搜索引擎那种响应的对话界面响应相当于系统的失败。当意图未知或不是清楚地可辨认时,意图的确定、甚至更重要的看起来接近人类响应的对用户问题的响应对于致力于比搜索引擎更接近人类交互的对话界面来说是关键。意图分析器108是特定于领域的模块,该模块分析并归类用于领域的意图并且结合其它模块——特定于领域的实体识别器107、基于用户的个人偏好归类意图的基于个性化的意图分析器109、以及特定于领域的图引擎110——一起工作。

实体识别器107识别用户输入中的实体。实体识别可以可选地涉及以下更详细描述的对用户输入中的错误进行错误纠正或补偿。在一些实施例中,把用户输入的子集归类为实体是加权。在把输入分析和分解成成分部分的过程中,可能存在其中输入可以被评分为既作为实体又作为属性的场景。这些歧义在许多情况下是在利用用户输入的随后处理当句子语义变得更清楚时被解决的。在一些实施例中,用于分解的一个关键部件是以下更详细描述的实体关系图。实体识别器的输出是输入的子集成为实体的概率得分。

在本发明的实施例中,意图分析器是规则驱动的意图识别器和/或具有监督的训练的朴素贝叶斯分类器。它以解析树、实体识别器输出和特定于属性的搜索引擎输出(以下讨论)作为输入。在一些实现中,用户输入可以经过多次实体识别、属性识别和意图识别步骤,直到输入被完全分解。意图识别器破译句子的意图,并且还解读意图的细微差别中的差异。例如,给出“我想看电影Top gun”与“我想看像Top gun一样的电影”,解析树将会不同。这种差异帮助意图识别器区分“像…一样”的含义。基于规则的识别,正如名字所暗示的,基于预定义的规则识别句子。预定义的规则特定于领域空间(例如,娱乐)。但是,朴素贝叶斯分类器部件只需要训练数据集来识别意图。

在使用实体关系图(或等效的数据结构)的实施例中,结果信息连同该技术用来找出期望结果的信息一起被结合到图中。因此,来自意图分析器108、实体识别器107和特定于属性的搜索引擎111的迭代的输出可以是用户在寻求的结果。在没有找到结果或者所发现的结果缺乏足够置信度的情况下,中间节点/实体可以被用来形成要传递到用户的澄清问题。

特定于属性的搜索引擎111帮助识别过滤器,并且过滤器影响它们所修饰的实体和意图的权重和属性。虽然图1是示出用于具体领域的模块的对话体系架构,但是本发明的实施例包括可以接受用户输入并参与用户意图可以跨领域的对话的对话接口。在本发明的实施例中,这是通过具有多个图1所示的特定于领域的体系架构的实例并且基于用户输入多好地匹配特定领域而跨领域对意图权重进行评分以确定用户意图来实现的。在到达结果时,除了用户输入的信息,本发明的某些实施例还可以使用结果的部分来创建和保存对话状态空间。

适用于本发明实施例的信息存储库

在一些实施例中,本发明可以在信息检索过程中使用信息存储库。信息存储库与领域关联,是相似类型的信息和/或某些类型的内容项的分组。某些类型的信息存储库包括实体以及实体之间的关系。每个实体/关系分别具有来自一组类型当中的类型。此外,与每个实体/关系关联的是一组属性,在一些实施例中,属性可以作为既定的有限的一组名字-值字段被捕捉。实体/关系映射还充当与内容项关联的一组元数据,因为实体/关系映射提供描述各种内容项的信息。换句话说,特定的实体将具有与其它实体的关系,并且这些“其它实体”充当到该“特定实体”的元数据。此外,映射中的每个实体可以具有分配给其的或者分配给把该实体连接到映射中其它实体的关系的属性。总起来说,这组成与实体/内容项关联的元数据。一般而言,这种信息存储库被称为结构化信息存储库。与领域关联的信息存储库的例子如下。

媒体娱乐领域包括实体,诸如电影、电视节目、剧集、剧组、角色/人物、演员/名人、运动员、比赛、团队、联赛和锦标赛、体育人士、音乐艺术家和表演者、作曲家、专辑、歌曲、新闻名人和/或内容分销商。这些实体具有在信息存储库中捕获的关系。例如,电影实体经“在…中扮演”关系关联到一个或多个演员/名人实体。类似地,电影实体可以经“原声曲目”关系关联到音乐专辑实体,其又可以经“专辑中的曲目”关系关联到歌曲实体。同时,名字、描述、日程信息、评论、等级、成本、到视频或音频的URL、应用或内容存储句柄、分值等可以被视为属性字段。

个人电子邮件(email)领域包括实体,诸如电子邮件、电子邮件线程(email-thread)、联系人、发件人、收件人、公司名字、企业中的部门/业务单位、电子邮件文件夹、办公室位置和/或对应于办公室位置的城市和国家。关系的说明性例子包括关联到电子邮件发件人实体(以及收件人、抄送人(cc)、隐藏抄送人(bcc)、接收者和电子邮件线程实体)的电子邮件实体。同时,可以存在联系人与他或她的公司、部门、办公室位置之间的关系。在这个库中,与实体相关联的属性字段的实例包括联系人的姓名、头衔、电子邮件句柄、其它联系信息、电子邮件发送/接收时间戳、主题、正文、附件、优先级、办公室的位置信息和/或部门的名字和描述。

旅行相关的/宾馆和景点领域包括实体,诸如城市、宾馆、宾馆品牌、各个兴趣点、兴趣点类别、面向消费者的零售连锁店、汽车租赁点和/或汽车租赁公司。这些实体之间的关系包括位置、连锁店的会员关系和/或类别。此外,名字、描述、关键词、成本、服务类型、等级、评论等都被视为属性字段。

电子商务领域包括实体,诸如产品条目、产品类别和子类别、品牌、商店等。这些实体之间的关系可以包括产品条目之间的兼容性信息、“由…(商店)出售”的产品等。属性字段包括描述、关键词、评论、等级、成本和/或可用性信息。

地址簿领域包括实体和诸如联系人姓名、电子邮件地址、电话号码、物理地址以及雇主的信息。

本文所列出的实体、关系和属性只是说明性的,并不是要成为穷尽的列表。

本发明的实施例还可以使用不是如上所描述的结构化信息存储库的库。例如,对应于基于网络的文档的信息存储库(例如,因特网/万维网)可以被认为是链接的文档(实体)的关系网。但是,一般而言,没有直接适用的类型结构可以在上述结构化信息存储库的意义上以非平凡的方式有意义地描述与因特网的元素相关联的所有种类的实体和关系以及属性。但是,诸如域名、因特网媒体类型、文件名、文件扩展名等的元素可以用作带有这种信息的实体或属性。

例如,考虑由一组非结构化文本文档构成的语料库。在这种情况下,没有直接适用的类型结构可以枚举一组有意义地描述这些文档内容的实体和关系。但是,作为预处理步骤的语义信息提取处理技术的应用可以产生可部分地从这种语料库中发现结构的实体和关系。

按照本发明某些实施例访问信息存储库的说明性例子

以下描述在如上所描述的结构化和非结构化信息存储库的上下文中说明信息检索任务的说明性例子。

在一些情况下,用户对一些类型中的一个或多个实体感兴趣——本文一般地称为意图类型——用户希望通过只指定实体必须满足的属性字段约束来发现这些实体。注意,有时当用户想知道某种类型实体的一些属性时,意图可以是(类型,属性)对。例如,如果用户想知道电影的等级,则意图可以被视作(类型,属性)=(电影,等级)。这种查询约束在本文被一般地称为只有属性的约束(attribute-onlyconstraints)。

每当用户指出实体名字或指定足够的信息来直接匹配期望意图类型实体的属性时,它是只有属性的约束。例如,当用户通过名字和一些附加属性(例如,在60年代制作的“Cape Fear”)识别电影时,或者当他指定与他想要找到的电子邮件匹配的主题时,或者当他基于价格区间询问宾馆时,或者当他指定他想要32GB、黑色的iPodtouch时。

但是,在一些情况下,用户不仅通过指定关于意图类型实体的属性字段约束,而且还通过在其它实体上指定属性字段约束或指出其它实体的名字而对意图类型中的一个或多个实体感兴趣,其中该意图类型实体以一些明确定义的方式经关系连接到所述其它实体。这种查询-约束在本文被一般地称为面向连接的约束。

面向连接的约束的例子是当用户想要基于指定电影中的两个或更多个演员的电影(意图类型)或基于演员和该影片赢得的奖项的电影时。另一个在电子邮件上下文中的例子是如果用户想要最近七天里从特定公司的某些发件人接收到的电子邮件(意图类型)。类似地,还有的例子是如果用户想要预定火车站以及星巴克连锁店附近的宾馆房间(意图类型)。还有的另一个例子是如果用户想要Samsung制造的还与Nintendo Wii兼容的电视机(意图类型)。所有这些都是面向连接的约束查询的实例。

在以上面向连接的约束的例子中,用户明确地描述或指定连接到意图实体的其它实体。这种约束在本文被一般地称为面向明确连接的约束并且这些实体被称为明确的实体。

同时,其它查询包含包括未指定或隐含实体作为约束规范的一部分的面向连接的约束。在这种情况下,用户试图识别通过未知项与用户确实知道的项之间的关系并非已知的一些信息、实体、属性等。这种约束在本文被一般地称为面向隐含连接的约束并且未指定的实体在本文被一般地称为约束的隐含实体。

例如,用户可能希望通过指出电影中两个人物的名字来识别她正在寻找的电影。但是,该用户不记得其中一个人物的名字,但她确实记得扮演该人物的特定演员。因此,在她的查询中,她通过名字指出一个人物并且通过指出未知人物是由特定演员扮演的来识别该未知人物。但是,考虑对具体信息检索目标的以下用户约束:用户想要由指定演员(例如,“Michelle Pfeiffer”)在关于指定角色(例如,人物“Tony Montana”)的未指定电影中所扮演的角色(意图)。在这种情况下,用户的约束包括对应于电影“Scarface”的未指定或隐含实体。类似地,假定用户想要由指定的演员“Scarlett Johannsen”和在指定的电影“Star Wars”中扮演指定角色“ObeWan Kanobi”的未指定的演员主演的电影(意图)。在这种情况下,隐含实体是演员“Ewan McGregor”并且意图实体是由“Scarlett Johannsen”和“Ewan McGregor”主演的电影“The Island”。

在电子邮件存储库的上下文中,例子包括用户想要得到来自指定公司“Intel”的未指定男士的最后的电子邮件(意图),其中该用户在上星期经电子邮件(属性指示器)被介绍给该未指定的男士。在这种情况下,隐含实体是可以经员工/公司关系通过检查来自“Intel”的联系人发现的、上周第一次与该用户是共同电子邮件收件人的联系人。

以上三个例子是面向连接的约束,但是它们包括未指定的或隐含的实体作为约束规范的一部分——我们称这种约束为面向隐含连接的约束并且称未指定的实体为约束的隐含实体。

关系和实体关系图

关系或连接引擎110是在理解用户输入以便提供导向响应中起作用的一个模块。关系引擎可以以许多种途径实现,图数据结构是一种实例,使得我们可以通过名字图引擎调用关系引擎。图引擎在实体之间已知的加权连接的背景下评估用户输入。

在图数据结构中,实体在实体关系图中以节点表示并且关系以边表示。每条边连接直接相关的(即,彼此频繁关联的)两个节点。例如,Boston和Red Sox可以通过被称为运动队的关系直接相关。而且,New York和金融区可以通过邻居关系直接相关。具体采用图模型的动机是观察到自然语言对话中的关联性、接近性和相关性可以简单地通过记号(诸如链接-距离以及在一些情况下的最短路径和最小权重树)来建模。

在对话过程中,当用户对话涉及与实际寻找的实体相关的其它实体时,将信息检索作为简单的图搜索问题的子例程有效地帮助减少对句子结构深入明确理解的依赖。这种方法提供了系统实现上的好处。即使用户意图计算有歧义或者不确定,只要实体已经在用户话语中被识别出,则基于图解释的问题处理就使得系统能够以比其它可能的方式智能得多的方式响应。

通过对命名实体可用的元内容执行统计文本处理、链接分析以及其它信号(例如,用于位置信息等)的分析,隐含和明确的语义关系和链接在信息存储库自己的成员当中创建。这些关系总是在进化,并且随着时间推移通过合计使用分析、协同过滤及其它技术来增大。

以类似于文本信息检索工作把文档表示为加权文本-短语的向量的方式,信息存储库中的每个命名实体被表示为加权文本-短语(术语)的向量。由于仅仅简单的基于“tf-idf”(术语频率/倒排文档频率)的方法在许多重要的情况下对于本发明实现的目的是不够的。命名实体的向量表示中的权重计算被设计为利用以显示文本短语的方式所呈现的更多的信息、各种文本描述中文本短语的位置以及还有与文本短语关联的超链接的结构和位置属性。因此,权重计算是基于从信息存储库中的元内容挖掘出的文本、超链接和其它属性和关系的更丰富的统计和结构分析的。

例如,更频繁地彼此关联的两个实体可以比两个其它实体具有更强的关系。Boston和Red Sox可以比Boston和Common具有更强的关系,因为,在他们的语言中,相比Boston和Common,人们更经常地一起使用实体Boston和Red Sox。加权关系可以在实体关系图中表示。在一些实施例中,边具有更长或更短的长度,以表示权重。另选地,边可以具有对应于权重的不同宽度。在其它实施例中,关系值可以分配给边。更强的关系可以利用较小的关系值表示。

面向明确连接的约束

接下来的是在信息检索系统中采用的面向明确连接的约束的例子。如实体和关系的术语所可以做到的,节点和边的图模型术语也可以被用来描述面向连接的约束。

当利用只有属性的约束界面时,用户仅指定意图实体的类型和属性约束。同时,当利用明确连接的节点约束界面时,用户可以附加地指定经指定种类的边连接而连接到该意图节点的其它节点的类型和属性约束。在信息检索过程中采用明确连接的节点约束的本领域已知的界面的一个例子是在图2中所示的电影/电视信息搜索引擎400。

考虑到所有电影和电视名人的可能的死亡和出生地点405的数量是很大的数字,因此出生和死亡地点在电影信息存储库图中被当作节点而不是属性。因此,在图形用户界面400中的出生和死亡地点说明是对连接到想要的名人节点的节点的说明。在图形用户界面400中的电影作品表过滤器410允许用户指定电影或电视节目节点等的名字,电影或电视节目节点又是连接到想要的名人节点的另一节点。在图3中示出的图形用户界面的其它过滤器500是对想要的节点的属性的指示器。

当用户的意图是获得在两个电影或电视节目节点上都合作的名人时,他可以在图形用户界面400的第一部分中指定这两个节点。当用户的意图是获得对应于两个名人合作的电影或电视节目节点时,用户可以在以上图形UI的第二部分中指定这两个名人的节点。在这两种情况下,用户在指定除了他想要的节点之外的连接的节点,从而使之成为明确连接的节点约束。但是,如下面所描述的,本领域中已知的界面不支持某些类型的明确连接的节点约束(面向明确连接的约束)。

图4说明当用户基于Sean Connery主演的虚构人物Jack Ryan搜寻电影时,通过本文所公开的发明性技术分析来得到期望结果的节点(实体)和边(关系)的图600。用户可以提供查询:“哪部电影有Jack Ryan并且由Sean Connery主演?”。基于结构化的信息存储库,本文的技术将该查询解释为:获得电影(意图)类型的节点,该节点通过边605连接到名为“Jack Ryan”的角色类型的明确节点610并且还经由边615“在…中扮演”连接到名为“Sean Connery”的名人类型的明确节点620。作为结果,本文所描述的技术返回电影“The Hunt for the Red October”625。

再次参考图4,假设用户询问:“扮演过人物Jack Ryan的所有演员都有谁?”,则所公开的技术将该查询解释为:

获得名人(意图)类型的节点,该节点通过边

630“扮演过”连接到名为“Jack Ryan”的角

色类型的明确节点610。本文所公开的发明性

系统的实施例将返回演员“Alec Baldwin”635、

“Harrison Ford”640以及“Ben Affleck”

645。

另一个例子是用户询问基于John Grisham的书由Tom Cruise主演的电影的名字。因此,该查询变为:获得电影(意图)类型的节点,该节点通过边“在…中扮演”连接到名为Tom Cruise的名人类型的明确节点,并且通过边“作者”连接到名为“John Grisham”的名人类型的明确节点。本文所公开的发明性系统的实施例将返回电影“The Firm”。

面向隐含连接的约束

以下例子说明面向隐含连接的约束以及用于具体信息检索目标的隐含实体。前两个例子使用实体和关系的术语。

在一个例子中,用户想知道在关于指定角色(例如,人物TonyMontana)的未指定的电影中由指定的演员/名人(例如,MichellePfeiffer)扮演的角色(意图)。在这种情况下,用户的约束包括未指定的或隐含的实体。该隐含的实体是电影“Scarface”。图5说明利用本文所公开的技术分析来得到期望结果的实体和关系的图700。图700是结构化信息存储库的说明性可视化表示。具体而言,隐含的电影实体“Scarface”705经电影实体“Scarface”705与演员实体“Michelle Pfeiffer”715之间的“在…中扮演”关系710以及人物实体“Tony Montana”725与电影实体“Scarface”705之间的“在…中的人物”关系720而得出。由“Michelle Pfeiffer”扮演的角色实体“Elvira Hancock”730接着通过到“Michelle Pfeiffer”的“由…扮演”关系735和到电影实体“Scarface”705的“在…中的人物”关系740被发现。

在另一个例子中,假设用户想知道由指定的演员实体ScarlettJohansson和在指定的电影实体Star Wars中扮演指定角色Obi-WanKenobi的未指定的演员实体主演的电影(意图)。在这种情况下,隐含实体是演员实体“Ewan McGregor”并且作为结果的实体是由“Scarlett Johansson”和“Ewan McGregor”主演的电影“TheIsland”。图6说明利用本文所公开的技术分析来得到期望结果的实体和关系的图800。具体而言,隐含的演员实体Ewan McGregor 805经与至少一个电影实体Star Wars 815的“在…中扮演”关系810和经到人物实体Obi-Wan Kenobi 825的人物关系820得出,其中人物实体Obi-Wan Kenobi 825又经人物关系830关联到电影实体StarWars 815。同时,结果实体The Island 835经演员/名人实体ScarlettJohansson 845与电影实体The Island 835之间的“在…中扮演”关系840以及隐含的演员实体Ewan McGregor 805与电影实体TheIsland之间的“在…中扮演”关系850得出。

图7说明利用本文所公开的技术分析来得到期望结果的实体和关系的图900。这个例子使用节点和边的术语。用户知道存在为由Daniel Craig主演的新电影翻唱Led Zeppelin歌曲的乐队。该用户既不记得翻唱歌曲的名字,也不记得该电影的名字,但是他想浏览翻唱Led Zeppelin的乐队的其它音乐(即歌曲)。因此,通过指定已知实体Led Zeppelin(作为歌曲作曲者)和Daniel Craig(作为该电影中的演员),中间隐含的节点被发现,以找出用户期望的结果。因此,本文发明性技术的实施例如下构成查询约束:返回歌曲(意图)类型的节点,该节点通过边905“作曲者”连接到乐队类型的隐含节点910(Trent Reznor),使得该乐队节点具有与歌曲类型的隐含节点920(Immigrant Song)的边915“翻唱表演者”,其中隐含节点920又具有与名为“Led Zeppelin”的乐队类型的明确节点930的边925“作曲者”以及还有与专辑类型的隐含节点940(Girl with theDragon Tattoo原声曲目)的边935“专辑中的曲目”,其中隐含节点940具有与电影类型的隐含节点950(Girl with the Dragon Tattoo原声曲目)的边945“原声曲目(OST)”,其中隐含节点950具有与名为“Daniel Craig”的名人类型的隐含节点960的边955“在…中扮演”。

如上面所描述的,用于信息检索的已知技术和系统遭受多种多样的问题。本文所描述的是发明性对话交互界面的实施例。这些实施例使得用户能够通过利用对信息检索系统说话并且可选地利用物理交互(例如,触摸界面、小键盘、键盘和/或鼠标)选择选项来提交查询和/或指令而与信息检索系统交互。对用户查询的响应可以通过机器产生的口语化文本到语音来执行,并且可以通过在用户屏幕上显示的信息进行补充。对话交互界面的实施例一般而言允许用户对信息检索系统对先前查询的响应做出回应来提交他的下一个信息检索查询或指令,使得信息检索会话是一系列的操作,其中每个操作都是用户首先提交查询或指令、系统接着向用户呈现响应。

本发明的实施例是比用于本文所讨论的查询约束的图形用户界面更强大和更令人印象深刻的范例。在许多情况下,尤其是当涉及从大量可能的属性或存在的明确和隐含连接的节点中灵活选择时,图形用户界面方法不是很好地工作或者根本不工作。在这种情况下,本发明的对话交互界面的实施例是自然得多的匹配。另外,相对于图形用户界面,本发明的实施例就用户可以指定的不同属性的数量以及明确连接的节点约束的数量和隐含节点约束的数量而言,更具伸缩性。

对话状态空间

图8表示每次用户与系统交互时对话状态空间的修改过程。对话状态空间由已经对其应用过滤器的实体和意图组成。语音到文本引擎201的输出被分成实体、意图和过滤器202,如上面所描述的。来自所保存的对话状态空间206中的实体的当前说出的实体集合的关系距离阈值利用图引擎110被评估203。对于使用实体关系图的实施例,关系距离可以依照所连接的节点之间的“跳”来测量。如果实体关系图的边具有与关系关联的权重,则关系距离可以把权重考虑在内。例如,在Red Sox和San Francisco之间可以有两跳,具有中间节点Boston。Red Sox和Boston之间的关系值可以是0.8并且Boston和San Francisco之间的关系值可以是0.5。那么,Red Sox和SanFrancisco之间的关系距离可以是1.3。

在当前语音输入中超出某个关系距离的实体从对话状态空间中的实体中被除去时,对话状态空间的全部或部分被重置204。当前输入实体的匹配领域为后续的对话线程确定特定于活动领域的引擎。即使特定于领域的引擎对于后续对话线程保持相同,状态空间的全部或一部分也被重置(用户仍然期望电影,但是后续请求不与先前请求相关)。如果当前语音输入中的实体在距对话状态空间的实体的阈值关系距离内,则对话状态空间利用当前实体增大205并且当前输入中的过滤器也应用到它们对其起作用的实体和/或意图。

一个或多个新实体是否离处于保存状态的那些实体太远可以是基于领域的性质确定的静态数字。例如,对于在节点之间具有相对少分支的领域,较低的节点之间跳数将被用作阈值。同时,对于具有大量分支的领域空间,在达到重置阈值先前将需要较高的跳数。阈值数字可以是静态值,或者可以基于来自用户的监视反馈而调整。例如,阈值可以设在相对高的值,并且可以在系统检测到来自用户的、系统不恰当地组合新和旧输入信息的反馈时减小。

此外,在确定所保存的对话状态之间的关系距离时,个性化可以被考虑在内。因此,给定个性化覆盖图,在实体关系图中相对远的两个节点(即实体)可以具有较近的连接。例如,每当用户搜索Chicago时,他总是可以搜索到Chicago的飞机票价。在这种情况下,个性化可以减小两个实体——Chicago和飞机票价之间的关系距离。因此,假定系统已经随着时间推移了解了用户的偏好,个性化在图空间中引入“捷径”。相反,对话状态中的值可以通过监视项的“年龄”来重置——时间退后较远的项可以在从其使用开始经过既定的时段之后被自动重置。

个性化是基于用户偏好签名的,该用户偏好签名可以由系统利用用于发现和存储这种用户偏好信息的已知技术提供。例如,在于2010年8月10日发布的标题为“Methods and Systems for Selectingand Presenting Content Based on Learned Periodicity of User ContentSelections”的美国专利No.7,774,294、于2010年11月16日发布的标题为“Methods and Systems for Selecting and Presenting Content ona First System Based on User Preferences Learned on a Second System”的美国专利No.7,835,998、于2008年12月2日发布的标题为“UserInterface Methods and Systems for Selecting and Presenting ContentBased on User Navigation and Selection Actions Associated with theContent”的美国专利No.7,461,061以及于2012年2月7日发布的标题为“Methods and Systems for Ordering Content Items According toLearned User Preferences”的美国专利No.8,112,454中所阐述的方法和系统可以与本文所公开的技术一起使用,这些专利当中每一个都通过引用被结合于此。但是,个性化、用户的偏好签名和/或信息的使用不限于在所结合的申请中所阐述的技术。

在对话过程中,可能需要解决实体中的歧义。当存在多个结果时,用户可能期望指定哪个结果是感兴趣的。在这两种情况下,用户都可以指定过滤器或关键词来帮助解决实体中的歧义或者指定感兴趣的特定结果。与用户必须在图形界面中从菜单选项中进行选择的系统形成鲜明对比,指定这些过滤器和关键词作为对话一部分的能力使得对话流非常自然并且更接近人类交互。此外,如先前提到的,除了修改实体的权重外,过滤器的应用还可以动态扩张和收缩对话状态空间,以便通过对话交流的过程来跟踪用户意图的进展。

例子

1)以下例子说明了各种实施例:

以下例子说明了实体在对话状态空间中的添加和替换。

用户:“90年代Baldwin的关于保险欺诈的电影”。

响应:系统给出一些结果,这些可能不是正确的答案。

用户(隐含地添加过滤器):“与谋杀有关”。

响应:系统仍然没有得出期望的结果。

用户(隐含地添加过滤器):“有可能是Kevin Kline”。

响应:系统用Kevin Kline替换Baldwin并且返回Kline的关于保险欺诈的电影。

系统把“90年代的电影”、“Baldwin”和“保险欺诈”添加到对话状态空间。系统返回一些结果,这些可能或者可能不包括用户正寻找的电影。通过从用户接收附加的输入,系统添加用户提供的过滤器。当接收到附加输入——“与谋杀有关”时,系统把这个附加输入放到对话状态空间中。系统可能没有返回期望的结果。系统等待另一个输入“有可能是Kevin Kline”。例如,系统现在把Kevin Kline作为附加的过滤器添加。这得不到任何结果,因为,例如在Kevin Kline和Baldwin之间不存在(或者直接地或者通过其它节点的)任何连接/关系/边。换句话说,它们之间的关系距离太远。因此,系统自动地把作为约束的Baldwin除去,由此推断出用户正提供“Kevin Kline”作为电影中演员的新线索。因此,在一些实施例中,更新近的约束被赋予更大的重要性,而较早的约束或者被除去或者降低重要性。而且,系统可以认识到“Baldwin”是演员类型的实体并且“Kevin Kline”是演员类型的实体。给定这种认识,系统用新的演员实体代替保存状态的演员实体。还有,围绕新演员实体的词的语言分析推断用户意图。具体而言,词“可能”明确地表达了不确定性——因此,这加强了初始演员实体可能不正确的推断。

2)以下例子说明了实体在对话状态空间中的添加和替换。

用户:“Tom Cruise的电影”。

响应:系统给出一组并且可以问用户选哪一类。

用户(隐含过滤器):“请选动作片”。

响应:系统给出Tom Cruise的动作电影。

用户(隐含过滤器):“跟喜剧有关的怎么样”。

响应:以类似于以上联系相同类型的实体所描述的方式,类型“喜剧”的指定除去“动作”类型过滤器。因此,系统给出TomCruise的喜剧。

用户(隐含过滤器):“有没有有Dustin Hoffman的”。

响应:系统给出Rain Man。

系统在对话状态空间中存储“Tom Cruise”和“电影”。当系统接收到“请选动作片”时,系统比较“动作”与“Tom Cruise”和“电影”并且确定关系距离没有超出阈值。因此系统把“动作”添加到对话状态空间。当系统接收到“喜剧”时,系统确定“喜剧”与“动作”之间的关系距离超出阈值并且在对话状态空间中用“喜剧”替换“动作”。当用户通过输入“有没有有Dustin Hoffman的”进一步指定意图时,系统首先确定是否“Tom Cruise”、“DustinHoffman”和“电影”紧密相关。系统可以尝试搜索有DustinHoffman的Tom Cruise的喜剧。由于不存在,因此系统推断“喜剧”不再适用并且除去它。系统尝试搜索有Dustin Hoffman的TomCruise的电影并且给出Rain Man。在这个例子中,系统保持TomCruise(演员类型的实体)的所保存状态值——尽管由于后续交互中所包括的词,用也是演员类型的新实体来呈现。具体而言,词“有”暗示过滤器或实体的耦合。因此,系统推断用户希望使用TomCruise和Dustin Hoffman二者。

3)指定过滤器的次序可能没关系。以下例子仅仅是以上对话线程的变体,其中交流的次序不同:

用户:动作电影

响应:系统返回动作电影

用户:Tom Cruise

响应:系统返回其中有Tom Cruise的动作电影

用户:喜剧

响应:系统返回既是动作又是喜剧的Tom Cruise的电影

用户:Dustin Hoffman

响应:系统返回Rain Man。

系统在对话状态空间中存储“动作电影”并且返回动作电影。用户指定演员来缩小搜索范围。系统把“Tom Cruise”输入对话状态空间并且返回Tom Cruise主演的动作电影。当用户输入附加输入“喜剧”时,系统返回既是动作又是喜剧的Tom Cruise的电影。如果没有这种电影,则系统可以用“喜剧”替换“动作”。当系统接收到陈述“Dustin Hoffman”的输入时,系统使用“动作电影”、“喜剧”、“Tom Cruise”和“Dustin Hoffman”来找电影。如果没有电影具有与这四个实体关联的元数据,则系统基于“喜剧”、“Tom Cruise”和“Dustin Hoffman”来搜索电影。当系统发现Rain Man是匹配这些关键词的电影时,系统向用户给出Rain Man。

4)以下例子说明了实体在对话状态空间中的添加。

用户:Tom Cruise

响应:系统以Tom Cruise的电影作出响应

用户(隐含过滤器):Samurai

响应:系统返回The Last Samurai。

系统在对话状态空间中存储“Tom Cruise”并且给出TomCruise主演的电影列表。当系统接收到“Samurai”时,系统确定“Samurai”和“Tom Cruise”是否具有紧密关系。这种相关性度量可以通过查看具有图的关系数据库来确定。当系统确定存在紧密关系时,系统把Samurai作为附加实体并且在对话状态空间中将其输入,而不是用“Samurai”代替“Tom Cruise”。接着,系统搜索TomCruise主演的Samurai电影并且给出The Last Samurai。

5)以下例子说明了过滤器在对话状态空间中的添加和替换。

用户:Star Wars

响应:系统列出每一部Star Wars电影

用户(过滤器):最近的

响应:系统给出最近的Star Wars电影

用户(过滤器):第二部

响应:系统给出第二部Star Wars电影。

系统在对话状态空间中存储“Star Wars”。当它接收到另一个输入“最近的”时,系统把该输入放到对话状态空间中并且向用户给出最近的Star Wars电影。当它接收到另一个输入“第二部”时,对话状态空间把该输入放到对话状态空间中。但是,由于除非在按顺序只有两部电影的情况下,“第二部”和“最近的”是相互排斥的,因此系统从状态空间中除去“最近的”并且返回第二部Star Wars电影。

6)以下例子说明过滤器在对话状态空间中的添加。

用户:Seinfeld

响应:系统以Seinfeld的电视节目作出响应

用户(选择过滤器):第二季

响应:系统以第二季的剧集作出响应

用户(选择过滤器):最后一集

响应:系统以来自第二季的最后一集作出响应。

系统在对话状态空间中存储“Seinfeld”并且向用户给出Seinfeld的电视节目。当系统接收到另一个输入“第二季”时,系统把该输入存储在对话状态空间中并且返回Seinfeld的第二季。当用户提供附加的输入“最后一集”时,系统决定过滤器“最后一集”和“第二季”是否相互排斥。由于这两个过滤器不相互排斥,因此系统把“最后一集”存储在对话状态空间中。利用所有三个关键词(“Seinfeld”、“第二季”和“最后一集”),系统给出Seinfeld电视节目的来自第二季的最后一集。

7)以下例子说明过滤器在对话状态空间中的添加。

用户:Star Wars

响应:系统以Star Wars电影作出响应

用户(选择):最后一部

响应:系统以Star Wars系列中最后一部电影作出响应

系统在对话状态空间中存储“Star Wars”并且给出Star Wars电影。当用户提供输入“最后一部”时,系统把它存储在对话状态空间中。利用可用的实体“Star Wars”和过滤器“最后一部”,系统给出Star Wars系列中的最后一部电影。

8)以下例子说明由个性化创建的捷径。

用户:Patriot games

响应:系统返回New England Patriot游戏

用户:不,我想要电影

响应:系统返回电影“Patriot Games”。

系统把“Patriot games”存储在对话状态空间中。系统给出NewEngland Patriot游戏的响应是受到用户的偏好签名的影响,其中所述偏好签名反映对New England Patriot游戏的密切关系。这说明了基于个性化把Patriot实体链接到游戏实体或概念的捷径。如果没有个性化,则“Patriot”和“games”太远以至于不能把New EnglandPatriot作为结果提供。如果用户不是要寻找Patriot的游戏,则用户可以提供附加的输入。当系统接收到附加输入“不,我想要电影”时,系统把“电影”添加到对话状态空间。当系统找到具有与“电影”和“Patriot games”关联的元数据的内容项时,它向用户给出结果。在这个例子中,系统显示电影Patriot Games。

9)以下例子说明基于进一步的限定问题和答案的实体在对话状态空间中的添加。

用户:Star Trek

系统:系统问“你指电影还是电视系列剧?”

用户:电影

响应:系统返回Star Trek电影。

系统把“Star Trek”存储到其对话状态空间中。由于对于词“StarTrek”存在歧义,因此系统询问附加的问题,以缩小对话状态空间的范围。当用户提供下一个输入“电影”时,系统查看“电影”与“Star Trek”之间的关系距离。由于两个关键词之间具有紧密关系,因此系统可以使用新的输入和对话状态空间来找出Star Trek电影。因此,系统把Star Trek电影呈现给用户。

10)以下例子说明过滤器在对话状态空间中的添加,以进一步限制呈现给用户的结果。

用户:谁在Star Wars中扮演Obi Wan Kenobi?

响应:系统可以以单个结果Alec Guinness或者结果列表作出响应

用户:我想要新的

响应:系统以Ewan McGregor作出响应。

系统确定用户要找出实体——演员——的意图。系统还把“Obi WanKenobi”和“Star Wars”放到对话状态空间。可以有多个演员扮演过用户搜索的人物。在这个例子中,Alec Guinness和EwanMcGregor都扮演过Obi Wan Kenobi。系统可以返回结果的完全列表或者部分列表。当用户提供过滤器“新的”时,系统使用包括“Obi Wan Kenobi”、“Star Wars”和该新过滤器的对话状态空间来确定用户搜索的实体是Ewan McGregor。系统返回EwanMcGregor。

11)以下例子说明基于期望的内容项,系统的后续动作。

用户:Tom Cruise和Dustin Hoffman的电影

响应:系统以“你想看Rain Man吗?”作出响应

用户:是,我正在Netflix中寻找其可用性

给定与答案关联的非常高的置信值,这不是解决歧义的问题,而是适合对话流的响应风格。系统把“Tom Cruise”、“Dustin Hoffman”和“电影”存储在对话状态空间中。在“Rain Man”是唯一结果或者具有非常高置信度的结果的情况下,系统返回可以基于该结果是电影的事实而执行的可能动作。接着,系统使用对话状态空间找出该电影在Netflix中的可用性。系统可以搜索其它在线流传输或租赁网站。是否搜索其它站点可以基于用户偏好签名。

12)以下例子说明当存在语音到文本错误时系统的动作以及实体在对话状态空间中的替换。

用户:谁在Star Wars中扮演Obi Wanobe?

响应:系统列出Star Wars中的所有人物并且还可以列出扮演这些人物的演员

用户(用户纠正她自己):我是指Obi Wan Kenobi。

响应:系统除去其它人物和演员,并且返回Alec Guinness和/或Ewan McGregor当中任何一个或者二者。

系统首先把“扮演”、“Obi Wanobe”和“Star Wars”添加到对话状态空间。在这种情况下,或者用户没有给出正确的人物名字或者系统没有正确地检测到用户的词。系统理解到用户的意图是找出“StarWars”中的实体——演员的名字。系统首先试图找出名字为“ObiWanobe”的人物,但是无法找到,因为这个人物不存在。接着,系统提供“Star Wars”中所有的人物并且还可以提供扮演那些人物的演员。当列出所有人物和演员时,系统可以基于“Obi Wanobe”的发音与人物有多接近把列表排序。系统用“Obi Wan Kenobi”替换“Obi Wanobe”。因为不存在“Obi Wanobe”的记录,这两个关键词之间的关系距离不存在或者远。当用户通过说“我是指Obi WanKenobi”来纠正她自己时,系统搜索在“Star Wars”中扮演“ObiWan Kenobi”的演员。“Star Wars”不需要被重复,因为它被保存在对话状态中。系统可以只返回Guinness和McGregor当中的一个。另选地,当系统不可以找出“Obi Wanobe”时,系统可以确定发音与“Obi Wanobe”最相似的人物并且返回“Obi Wan Kenobi”以及扮演该人物的演员。

13)以下是另一个语音到文本错误情况的例子。

用户:Tom Cruise和Paul Manning的电影。

响应:系统说“没有找到Tom Cruise和Peyton Manning的电影”。

用户:不是Peyton Manning。我是指Paul Neumann。

响应:系统给出Color of Money。

在这个例子中,与考虑输入的某些部分是否与意图、实体和/或属性相关无关地,词汇引擎和/或语音到文本引擎对用户输入执行纠正。在本例中,“Paul Neumann”被误译为“Paul Manning”,因为名字“Manning”相比名字“Paul”较不普遍,并且因此在尝试分解输入时被词汇引擎赋予较高的权重。另选地,用户可能仅仅是把名字错说成“Paul Manning”。还有,在其中当筛选用户输入中的潜在错误时实体关系图被考虑在内的实施例中,用户对American Football的偏好可以被考虑在内并且提供“Peyton Manning”作为可能的输入实体,尽管用户在这个例子中并没有这样的意图。系统把“电影”、“Tom Cruise”和“Paul Manning”存储在对话状态空间中并且给出没有结果。用户认识到系统搜索的是“Paul Manning”而不是“Paul Neumann”,并且给出附加的输入来纠正系统。系统认识到用户对错误实体“Paul Manning”的表达识别并且用“PaulNeumann”代替该实体。系统在对话状态空间中用“Paul Neumann”替换“Peyton Manning”。利用对话状态空间中的“Tom Cruise”、“电影”和“Paul Neumann”,系统给出Color of Money。

在一些实施例中,如在以上许多例子中给出的,系统分析语音输出并且把相关的关键词放在对话状态空间中。接着,系统找出期望的内容。但是,在另选实施例中,系统可以首先分析并搜索期望的内容。当系统未能满足用户的意图时,系统在对话状态空间中记录关键词并询问附加的输入。

本文公开的技术和系统可以实现为与计算机系统或计算机化的电子设备使用的计算机程序产品。这种实现可以包括一系列的计算机指令或逻辑,这些指令或逻辑或者固定在诸如计算机可读介质(例如,盘、CD-ROM、ROM、闪存或者其它存储器或固定盘)的有形介质上,或者可以经诸如通过介质连接到网络的通信适配器之类的调制解调器或其它接口设备发送到计算机系统或设备。

介质可以是有形介质(例如,光学或模拟通信线路)或利用无线技术(例如,WiFi、蜂窝、微波、红外或其它传输技术)实现的介质。该一系列计算机指令体现本文所描述的关于该系统的至少一部分功能。本领域技术人员应当理解,这种计算机指令可以用与多种计算机体系结构或操作系统使用的多种编程语言编写。

此外,这种指令可以存储在任何有形的存储器设备(诸如半导体、磁、光或其它存储器设备)中,并且可以利用任何通信技术(诸如光、红外、微波或其它传输技术)进行传输。

可以预期,这种计算机程序产品可以分发为具有伴随的打印或电子文档(例如压缩打包软件)的可拆卸介质、用计算机系统(例如在系统ROM或固定盘上)预加载、或通过网络(例如因特网或万维网)从服务器或电子公告板分发。当然,本发明的一些实施例可以实现为软件(例如计算机程序产品)和硬件两者的组合。本发明还有的其它实施例完全实现为硬件、或完全实现为软件(例如计算机程序产品)。

而且,本文所公开的技术和系统可以与多种多样的移动设备一起使用。例如,能够接收本文所讨论的信号的移动电话、智能电话、个人数字助理和/或移动计算设备可以在本发明的实现中使用。

如通过本公开内容的阅读对本领域普通技术人员来说将明显的,本公开内容可以以与以上公开的那些不同的形式体现。因此,以上所描述的特定实施例应当被认为是说明性而不是约束性的。本领域技术人员将认识到或者仅通过使用常规实验就能够确定本文所描述的具体实施例的各种等同物。本发明的范围是在权利要求及其等同物中阐述的,而不是局限于前面描述中所包含的例子。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号