首页> 中国专利> 通过计算设备检测持续对话

通过计算设备检测持续对话

摘要

公开了用于检测持续对话的方法、系统和装置,包括编码在计算机存储介质上的计算机程序。在一个方面,一种方法包括接收第一话语的第一音频数据的动作。动作进一步包括获得第一话语的第一转录。动作进一步包括接收第二话语的第二音频数据。动作进一步包括获得第二话语的第二转录。动作进一步包括基于对第二转录和第一转录或对第一查询的响应的分析,确定第二话语是否包括针对查询处理系统的查询。动作进一步包括配置数据路由组件以将第二话语的第二转录作为第二查询提供给查询处理系统或绕过路由第二转录。

著录项

说明书

技术领域

本说明书通常涉及自然语言处理。

背景技术

自然语言处理与计算机和人类语言之间的交互有关,尤其是如何对计算机进行编程以处理和分析自然语言数据。自然语言处理可能涉及语音识别,这是使计算机能够将口头语言识别和转变成文本的计算语言学的领域。

发明内容

当用户希望与设备交互时,用户可以按下设备上的按钮,触摸设备的屏幕或对设备讲话。通过按下设备上的按钮或触摸设备的屏幕,清楚的是,用户正在与设备进行交互。但是,当用户通过对设备讲话来进行交互时,可能尚不清楚语音是否意在作为设备的输入。由于这种歧义,一些设备被配置成检测用户何时讲出热词。该热词充当用户正在将跟随该热词的语音指向设备的从用户到设备的信号。例如,如果用户只说“how old is BarackObama(巴拉克·奥巴马多大年纪)”,则设备的麦克风可能会检测到用户的语音,但可能不会执行任何动作,因为话语之前没有热词。如果相反,用户说“ok computer,how old isBarack Obama(好的计算机,巴拉克·奥巴马多大年纪)”,该设备检测到“ok computer(好的计算机)”的热词,并确定“how old is Barack Obama”意在作为该设备的输入,因此设备会响应并执行适当的动作。

在用户跟进对该设备的附加口头请求的情况下,用户在意在用于该设备的每个语句(statement)之前继续说出该热词可能会很尴尬。例如,用户最初可能会说:“okcomputer,how old is Barack Obama”,然后跟进“ok computer,how tall is BarackObama(好的计算机,巴拉克·奥巴马有多高)”和“ok computer,where was he born(好的计算机,他在哪里出生)”。如果用户能够继续与设备进行交互而不必每次都说热词“okcomputer”,那将是更自然的。但是,在每个请求之前都没有热词的情况下,许多设备将无法检测到话语作为输入,因为这些设备无法确定用户正在对该设备讲话。

为了解决此问题,设备可以被配置成确定后续话语(例如,用户在与设备的对话中来自用户的第二或后续请求)是否意在用于设备,即使该用户不包括后续话语中的热词。遵循上面的示例,用户最初可能会说:“ok computer,how old is Barack Obama”,并且然后来自于设备的响应跟进“how tall is Barack Obama(巴拉克·奥巴马有多高)”,并且进一步“where was he born(他在哪里出生)”。除了其他信号之外,该设备还可以分析后续话语的内容,以确定该后续话语是意在用于该设备或者是否该用户是否正在对其他人讲话。

例如,设备可以将后续话语的词项与初始话语的词项进行比较。如果这些词项匹配或足够相关,则设备可以确定用户意在对该设备进行后续话语。该设备可以考虑该设备的屏幕的内容、该设备的位置、当前时间和/或意在用于该设备的用户先前的话语以确定用户是否意在对该设备进行后续话语。如果设备确定后续话语意在用于该设备,则该设备将根据话语的转录执行动作。如果设备确定后续话语不意在用于该设备,则该设备将不采取任何行动。

根据本申请中描述的主题的创新方面,一种用于检测持续对话的方法包括以下动作:由计算设备接收第一话语的第一音频数据;由所述计算设备获得所述第一话语的第一转录;由所述计算设备接收第二话语的第二音频数据;由所述计算设备获得所述第二话语的第二转录;由所述计算设备基于对(i)所述第二转录和(ii)所述第一转录或对所述第一查询的响应的分析来确定所述第二话语是否包括针对查询处理系统的查询;以及,基于确定所述第二话语是否包括针对所述查询处理系统的查询,由所述计算设备配置所述数据路由组件以(i)将所述第二话语的第二转录作为第二查询提供给所述查询处理系统或(ii)绕过路由所述第二转录,使得不将所述第二转录提供给所述查询处理系统。

这些和其他实施方式可以均可选地包括以下一个或多个特征。确定所述第二话语是否包括针对查询处理系统的查询的动作是基于对(i)所述第二转录和(ii)所述第一转录的分析。确定所述第二话语是否包括针对查询处理系统的查询的动作是基于对(i)所述第二转录和(ii)对所述第一查询的响应的分析。确定所述第二话语是否包括针对查询处理系统的查询的动作是基于对所述第二转录、所述第一转录和对所述第一查询的响应的分析。确定所述第二话语是否包括针对所述查询处理系统的查询的所述动作包括确定所述第二话语包括针对所述查询处理系统的查询。所述动作进一步包括配置所述数据路由组件以将所述第二话语的第二转录作为第二查询提供给所述查询处理系统。

确定所述第二话语是否包括针对所述查询处理系统的查询的动作包括确定所述第二话语不包括针对所述查询处理系统的查询。所述动作进一步包括配置所述数据路由组件以绕过路由第二转录,使得不将所述第二转录提供给所述查询处理系统。确定所述第二话语是否包括针对查询处理系统的查询的动作包括标记化(i)所述第二转录和(ii)所述第一转录或对所述第一查询的响应;并比较(i)所述第二转录的词项和(ii)所述第一转录的词项或对所述第一查询的响应的词项。比较(i)所述第二转录的词项和(ii)所述第一转录的词项或对所述第一查询的响应的词项的动作包括在知识图中确定(i)所述第二转录的词项和(ii)所述第一转录的词项或对所述第一查询的响应的词项之间的关系。确定所述第二话语是否包括针对查询处理系统的查询的动作是基于比较(i)所述第二转录的语法结构和(ii)所述第一转录或对所述第一查询的响应的语法结构。

确定所述第二话语是否包括针对所述查询处理系统的查询的动作是基于比较(i)所述第二转录的语法结构和(ii)所述第一转录或对所述第一查询的响应的语法结构。确定所述第二话语是否包括针对查询处理系统的查询的动作包括标记化所述第二转录;和确定所述第二转录的词项包括代词。确定所述第二话语的动作包括针对所述查询处理系统的查询的动作是基于确定所述第二转录的词项包括代词。所述动作进一步包括确定用户界面上的内容;以及基于所述用户界面的内容,确定所述第二话语是否包括针对所述查询处理系统的查询。这些动作进一步包括确定通过麦克风检测到所述第一话语和所述第二话语的用户设备的位置;和基于通过所述麦克风检测到所述第一话语和所述第二话语的所述用户设备的位置,确定所述第二话语是否包括针对所述查询处理系统的查询。

所述动作进一步包括确定所述计算设备接收所述第二话语的第二音频数据的时间;和基于所述计算设备接收所述第二语音的第二音频数据的时间,确定所述第二语音是否包括针对所述查询处理系统的查询。分析(i)所述第二转录和(ii)所述第一转录或对所述第一查询的响应的动作包括将所述第二转录与查询日志中的一个或多个查询进行比较。确定所述第二话语是否包括针对所述查询处理系统的查询的动作是基于将所述第二转录与所述查询日志中的一个或多个查询进行比较。所述动作进一步包括,由所述计算设备的数据路由组件将所述第一话语的第一转录作为第一查询提供给所述查询处理系统;从所述查询处理系统接收对所述第一查询的响应;以及提供对所述第一查询的响应以用于所述计算设备的输出。

此方面的其他实施方式包括记录在计算机存储设备上的相应系统、装置和计算机程序,每一个都被配置成执行所述方法的操作。

可以实现本说明书中描述的主题的特定实施方式,使得实现下述优点中的一个或多个。即使用户不包括热词,计算设备也能够确定用户何时在继续与计算设备的对话。实施方式提供一种基于预测话音的用户输入机制,该机制允许正确处理话音命令,从而提供一种改进的用户界面。通过移除用户每次提供命令时都提供热词的需求,减少执行任务所需的用户输入的数量并且简化用户输入。实施方式可以解决关于如何提供改进的基于话音的用户输入机制的问题,并且特别地,其确保响应于简化的话音命令而执行操作。

在本说明书中描述的主题的一种或多种实施方式的细节在附图和以下描述中阐述。根据说明书、附图和权利要求书,本主题的其他特征、方面和优点将变得显而易见。

附图说明

图1图示确定用户是否正在寻址计算设备的示例系统。

图2图示确定用户是否正在寻址计算设备的系统的示例组件。

图3是用于确定用户是否正在寻址计算设备的示例过程的流程图。

图4是计算设备和移动计算设备的示例。

在各个附图中,相同的附图标记和名称指示相同的元件。

具体实施方式

图1图示确定用户是否正在寻址计算设备的示例系统100。简要地,并且如下面更详细地描述的,用户102在计算设备106附近讲出话语104。计算设备106检测到话语104并提供响应108。用户然后在计算设备106附近讲出第二话语110。基于话语104、响应108和话语110的组合以及潜在的其他因素,计算设备106确定当用户102讲出话语110时用户102是否正在寻址计算设备106。

更详细地并且在阶段A中,用户102通过说例如“Ok computer,how old is BarackObama?”来讲出话语104。计算设备106的麦克风检测话语104并处理该话语104的音频数据。计算设备106确定话语104包括热词“ok computer(好的计算机)”。用户102可以在意在用于计算设备106的话语之前使用热词以向计算设备106指示用户102正在寻址计算设备106。例如,用户可以说“ok computer,call mom(好的计算机,给妈妈打电话)”。计算设备106将接收话语,并且基于检测到热词“ok computer”,计算设备106将基于话语“call mom”执行动作。

可能存在用户102向计算设备106指示用户102正在寻址计算设备106的其他方式。例如,用户102可以在讲出话语之前按下计算设备106上的按钮或轻敲计算设备106上的屏幕。在讲出话语之前,用户102可以拿起计算设备106并将计算设备106保持在诸如直立的特定角度。用户102可以按下连接至计算设备106的附件上的按钮。例如,用户可以按下连接至计算设备106的有线或无线耳机上的按钮。响应于用户的这些动作中的任一个,计算设备106处理随后接收到的话语并执行相应的动作。

在图1所图示的示例中,响应于检测到热词,计算设备106开始处理接着热词“okcomputer”的话语104的音频数据。在阶段B中,计算设备将接着热词的音频数据112提供给语音识别引擎114。语音识别引擎114可以被包括在计算设备106中或者可以是单独的设备。语音识别引擎114在音频数据112上执行自动语音识别,并且在阶段C中将“how old isBarack Obama”的转录116提供给计算设备106。

计算设备106分析转录116并确定要执行的适当动作。在图1所示的示例中,计算设备106确定转录116“How old is Barack Obama”是搜索查询。计算设备106配置计算设备106的数据路由组件以将转录116作为搜索查询120路由到搜索引擎118。

计算设备106可以将计算设备106的数据路由组件配置成取决于转录116的文本将转录116路由到另一个内部或外部组件。例如,计算设备106可以接收“ok computer,textmom I’ll be home soon(好的计算机,发短信给妈妈,我很快就会回家)”。计算设备可以从语音识别引擎接收转录“text mom I’ll be home soon”,并将数据路由组件配置成将“I’ll be home soon(我很快就会回家)”路由到消息传递应用,并将“妈妈”路由到联系人应用。

在阶段D中,搜索引擎118接收搜索查询120。搜索引擎118处理搜索查询,并返回指示巴拉克·奥巴马(Barack Obama)57岁的搜索结果122。在阶段E中,搜索引擎118将搜索结果122提供给计算设备106。

在阶段F中,计算设备106向用户102呈现搜索结果122。例如,计算设备106可以将搜索结果122提供给语音合成器,并输出指示巴拉克·奥巴马57岁的音频响应108。在一些实施方式中,计算设备106可以将搜索结果122提供给计算设备106的显示器。例如,计算设备106的显示器可以显示指示巴拉克·奥巴马已经57岁的文本。

在计算设备106向用户102呈现搜索结果122之后不久,并且在阶段G中,用户讲出另一话语110“Is it going to rain today?(今天会下雨吗?)”。在计算设备输出音频响应108之后、在计算设备102输出搜索结果112之后进入低功率或者睡眠状态之前同时没有结束当前用户会话的阈值时间段内,或者任何其它的相似时间段内,在计算设备106显示搜索结果112的文本的同时用户102可以讲出话语110。

计算设备106的麦克风检测到话语110,并且计算设备106处理话语110的音频数据。在这种情况下,用户102不向计算设备106提供用户102正在寻址计算设备的任何明确的指示。例如,话语110不包括热词并且没有紧接在热词的后面。类似地,用户102不按计算设备106上的按钮或不与计算设备106的屏幕交互。即使用户102没有提供用户102正在寻址计算设备106的明确指示,用户102可能仍在寻址计算设备106,以尝试继续以话语104发起的对话。因此,计算设备106分析话语110的上下文,以确定用户是否可能寻址计算设备106。

计算设备106将话语110的音频数据124提供给热词检测器,并确定话语110的音频数据不包括热词。在阶段H中,计算设备106将话语110的音频数据124提供给语音识别引擎114。语音识别引擎114对话语110的音频数据124执行自动语音识别。在阶段I中,语音识别引擎114将“is it going to rain today”的转录126提供给计算设备106。

在阶段J中,计算设备106分析话语110的转录128和计算设备106的上下文,以确定用户102在讲出话语110时是否很可能正在寻址计算设备106。在此示例中,上下文可以包括先前话语104的转录和对先前话语104的响应108。计算设备106可以确定先前话语104的主题和/或对先前话语104的响应108的主题与话语110的转录128的主题不同。在这种情况下,计算设备106确定用户102在讲出话语110时很可能没有正在寻址计算设备106。计算设备106配置数据路由组件不向搜索引擎118、运行在计算设备106上的任何其他应用、计算设备106的任何其它组件或者任何其它计算设备提供转录128。换句话说,计算设备106在处理话语110时不采取进一步的动作。

分析可以基于话语110和先前话语104和/或响应108中匹配词项的存在来评估话语110是否意在用于设备106。在另一个示例中,话语110的转录126可能是“who is BarackObama’s wife(谁是巴拉克·奥巴马的妻子)?”作为确定计算设备106的上下文的一部分,计算设备106可以标记化话语104的转录116、搜索结果122和话语110的转录126。计算设备106可以标识转录126的词项和转录116和/或搜索结果122的词项中的共同词项。在这种情况下,共同词项可以是“巴拉克·奥巴马”。基于该共同词项,计算设备106可以在讲出“whois Barack Obama’s wife?”时确定用户102可能正在寻址计算设备106。

分析可以基于话语110中代词的存在以及代词与先前话语104和/或响应108中的词项之间的关系来评估话语110是否意在用于设备106。在另一示例中,话语110的转录126可以是“where was he born?(他在哪里出生?)”如上所述,计算设备106可以标记化话语104的转录116、搜索结果122和话语110的转录126。在一些实施方式中,计算设备106可以仅标记化话语110的转录126。计算设备106可以确定话语110的转录126中的词项之一是代词“他”。基于代词的存在,计算设备106可以确定当用户102在讲出话语110时可能正在寻址计算设备106。在一些情况下,计算设备106可以将转录126的代词与搜索结果122和/或转录116中的名词进行比较。如果转录126中的代词与搜索结果122和/或转录116中的名词的性别匹配,则计算设备106可以确定用户102可能正在寻址计算设备106。如果转录126中的代词与或搜索结果122和/或转录116中的名词的单数或者复数性质匹配,则计算设备106可以确定用户102可能正在寻址计算设备106。如果转录126中的代词的性别和/或单数或复数性质与搜索结果122和/或转录116中的名词不匹配,则计算设备可以确定用户102不太可能寻址计算设备106

分析可以基于话语110是否指代话语104和/或响应108中所引用的话题或概念来评估话语110是否意在用于设备106。在另一个示例中,话语110的转录126可能是“how oldis Michelle Obama?(米歇尔·奥巴马多大)?如上所述,计算设备106可以标记化话语104的转录116、搜索结果122和话语110的转录126。在这种情况下,计算设备106可以不标识转录126的词项以及转录116和/或搜索结果122的词项当中的任何共同词项。计算设备106能够确定转录126中的词项“Michelle Obama(米歇尔·奥巴马)”可能与转录116中的词项“Barack Obama(巴拉克·奥巴马)”有关。基于转录126包括与转录116和/或搜索结果122中的词项有关的词项,计算设备106可以确定用户102在讲出“how old is Michelle Obama?”时可能正在寻址计算设备106。

分析可以基于话语110的句子结构或措辞是否充分匹配意在用于设备的另一种已知通信的结构,来评估话语110是否意在用于设备106。例如,设备106可以评估话语110是否使用模式或者类似于话语104、在与该设备的先前对话期间同一用户的话语、或者其他用户对设备的话语。在另一个示例中,话语110的转录126可以是“how old is Bill Gates?(比尔·盖茨多大年纪?)”如上所述,计算设备106可以标记化话语104的转录116、搜索结果122和话语110的转录126。在这种情况下,计算设备106可以不标识在转录126的词项和转录116和/或搜索结果122的词项当中的任何共同词项。计算设备106还可以将(i)转录126和(ii)转录116和/或搜索结果122提供给语法分析器。语法分析器可能能够确定(i)转录126和(ii)转录116和/或搜索结果122的句子结构是否足够相似,以指示用户102在讲出话语110时正在寻址计算设备106。在这种情况下,“how old is(<人>多大年纪)”结构在转录116和转录126二者中是相同的。因此,计算设备106可以确定用户102可能由于存在模式当讲出“how old is Bill Gates?”时可能正在寻址计算设备106,该模式从一个或者多个先前的交互中已知具有表示对设备的输入的高可能性。

分析可以基于下面讨论的其他因素,诸如设备106的屏幕上显示的内容、设备106的位置、接收到查询的时间、用户先前的查询和查询提交的模式、以及话语110是否请求与话语104相同类型的信息,来评估话语110是否意在用于设备106。如果由设备生成的对话语110的响应继续话语104和/或响应108的话题,则设备可能会增加用户正在寻址该设备的可能性。如果设备能够标识对话语108的响应而不是执行一般的互联网搜索,则设备可以增加用户正在寻址设备的可能性。如果设备确信对话语108的响应是适当的响应,则该设备可以增加用户正在寻址设备的可能性。对此的指示可以包括响应108和对具有一致答案类型的话语110的响应。该分析还可以考虑多个因素,所述因素会指示话语110不意在用于该设备,诸如以人名开头(“John,should we...(约翰,我们会...)”或使用第一人称复数形式(例如“我们”、“让我们”等等)的话语。

图2图示确定用户是否正在寻址计算设备的系统200的示例组件。系统200可以是被配置成接收和处理语音音频的任何类型的计算设备。例如,系统200可以类似于图1的计算设备106或者图1的计算设备106、搜索引擎118和语音识别引擎114的任意组合。系统200的组件可以在单个计算设备、多个并置设备、远程服务器中实现,或分布在包括本地设备和远程系统的多个计算设备上。

系统200包括音频子系统202。音频子系统202可以包括麦克风204、模数转换器206、缓冲器208和各种其他音频滤波器。麦克风204可以被配置成检测周围区域中的声音,诸如语音。模数转换器206可以被配置成对由麦克风204检测到的音频数据进行采样。缓冲器208可以存储所采样的音频数据以供系统200处理。在一些实施方式中,音频子系统202可以是连续活动的。在这种情况下,麦克风204可能不断地检测声音。模数转换器206可以不断地采样检测到的音频数据。缓冲器208可以存储最新采样的音频数据,诸如声音的最后十秒。如果系统200的其他组件未处理缓冲器208中的音频数据,则缓冲器208可以重写先前的音频数据。

音频子系统202将音频数据提供给热词器210。热词器210被配置成标识通过麦克风204接收和/或存储在缓冲器208中的音频中的热词。热词器210可以称为热词检测器、关键字搜寻器或关键字检测器。在一些实施方式中,热字器210可以在系统200通电时的任何时间是活动的。热词器210连续分析存储在缓冲器208中的音频数据。热词器210计算热词置信度得分,其反映缓冲器208中的当前音频数据包括热词的可能性。为了计算热词置信度得分,热词器210可以使用热词模型214。热词模型214可以包括用于不同热词(诸如“okcomputer”、“hey computer(嘿计算机)”、“ok assistant(好的助理)”或其他词项以及短语)的不同热词模型。热词模型214可以适合于特定用户或可以适用于任何用户。热词器210可以从音频数据212提取音频特征,诸如滤波器组能量或梅尔频率倒谱系数。热词器210可以使用分类窗口来处理这些音频特征,诸如通过使用支持向量机或神经网络。在一些实施方式中,热词器210不执行语音识别来确定热词置信度得分。如果热词置信度得分满足热词置信度得分阈值,则热词器210确定音频包括热词。例如,如果热词置信度得分是0.8并且热词置信度得分阈值是0.7,则热词器210确定音频包括热词。

在一些实施方式中,热词器210确定音频数据包括热词“ok computer”。热词210可以标识音频数据212的包括热词的部分。例如,热词器210可以为语音识别器218标识音频数据的包括热词“ok computer”的部分。热词210可以向语音识别器218提供定时数据,该定时数据指示0.0秒与0.5秒之间的音频数据包括热词。可替代地或附加地,热词器210可以向语音识别器218提供存储器位置信息,其指示存储在存储器地址0x98b89d24和0x98b8e35a之间的音频数据包括该热词。

语音识别器218对音频数据或音频数据212的不包括热词的部分执行语音识别。语音识别器218可以使用语言模型和声学模型来生成音频数据或音频数据的不包括热词的部分的转录。在一些实施方式中,语音识别器可以不使用单独的语言和声学模型。反而,语音识别器218可以使用语音识别模型,该语音识别模型被配置成接收音频数据并输出转录。语音识别模型可以使用利用机器学习技术训练的神经网络和/或模型。

语音识别器218将转录提供给分词器220。分词器220被配置成将转录标记化为组成转录的词项。例如,如果转录是“how will be the weather in the afternoon(下午的天气如何)”,则由分词器220标识的令牌可以是“how”、“will”、“be”、“the”、“weather”、“in”、“the”和“afternoon”。在一些实施方式中,令牌可以包括多个单词。例如,“巴拉克·奥巴马”可能是一个令牌。

分词器220将转录和/或转录的令牌提供给分析器222。分析器222被配置成确定讲出转录的话语的用户是否正在寻址系统200。分析器222可以生成置信度得分,其指示用户讲出话语时正在寻址系统的可能性。分析器222可以将置信度得分与置信度得分阈值进行比较。如果置信度得分满足置信度得分阈值,则分析器222确定用户可能正在寻址系统200。如果置信度得分不满足置信度得分阈值,则分析器222确定用户可能未寻址系统200。例如,如果置信度得分是0.8并且置信度得分阈值是0.7,则分析器确定用户可能正在寻址系统200。

分析器222可以包括查询和转录分析器236。查询和转录分析器236可以分析最近接收的话语的转录以确定置信度得分。在一些实施方式中,查询和转录分析器236还使用来自最近接收到的话语的相同用户会话的一个或多个先前话语和/或一个或多个先前响应的转录。系统200可以将先前话语的转录存储在查询日志232中,并且将先前响应存储在响应日志234中。查询日志232可以包括并标记来自当前用户会话的查询。类似地,响应日志234可以包括并标记在当前用户会话期间由系统200提供的响应。在一些实施方式中,查询日志232和响应日志234可以具有时间戳以指示系统何时接收每个查询并提供每个响应。查询日志232和响应日志234还可包括指示哪个响应是针对哪个查询的数据。

系统200可以以几种不同的方式定义用户会话。在一个实例中,系统200可以在系统200被锁定或处于一种低功率模式的时间段之间定义用户会话。例如,如果系统200是移动电话,则用户会话可以在用户解锁或唤醒移动电话时开始,而在用户锁定移动电话时结束,在不活动的时间段之后移动电话锁定自身,并且/或者移动电话进入低功率模式。在另一个实例中,系统200可以基于系统200正在执行的前台应用来定义用户会话。当应用改变时,系统200可以指示新用户会话已经开始。例如,系统200可以是平板计算机,并且可以在前台运行消息传递应用。用户可以切换到主屏幕或浏览器应用,此时系统200开始新用户会话。在另一实例中,系统200可以基于一段时间来定义用户会话。在用户交互的上下文中,如果系统200输出对话音或键入的查询的响应之后的时间段超过系统200接收新话音或键入的查询之前的阈值时间段,则系统200可以开始新用户会话。例如,阈值时段可以是五秒。如果系统200响应查询并且在系统200接收到新话音或键入的查询之前流逝六秒钟,则系统200将标识新话音或键入的查询作为新用户会话的一部分。

查询和转录分析器236可以被配置成将最近接收的话语的词项与来自同一用户会话的先前话语的词项和/或先前响应的词项进行比较。在接收的话语与先前的话语和先前的响应之间存在共同词项的情况下,查询和转录分析器236可以指配较高的置信度得分。在接收的话语与先前话语和先前响应之间存在更多共同词项的情况下,查询和转录分析器236可以指配较高的置信度得分。在一些实施方式中,在诸如在通用语料库中常见的“该”、“一个”、“一个”、“是”、“是”或任何其他类似词项的共同词项不常见的情况下,查询和转录分析器236可以增加置信度得分。反而,在共同词项是通用语料库中不常见的诸如“巴拉克·奥巴马”、“turn(转弯)”、“lights(灯)”、“traffic(交通)”以及任何其他词项的词项的情况下,查询和转录分析器236可以增加置信度得分。

查询和转录分析器236可以被配置成访问知识图238,以将最近接收的话语的词项与来自同一用户会话的先前话语的词项和/或先前响应的词项进行比较。知识图238是表示实体和实体之间的关系的数据的集合。数据在逻辑上被描述为图形,其中每个不同的实体由相应的节点表示,并且一对实体之间的每个关系由节点之间的边缘表示。每个边缘与关系相关联,并且边缘的存在表示该边缘连接的节点之间存在关联的关系。例如,如果节点A代表人物alpha,节点B代表人物beta,并且边缘E与关系“是其父亲”相关联,则使边缘E在图表中的节点A到节点B的方向上连接节点表示alpha是beta的父亲的事实。

知识图238可以由各种方便的物理数据结构中的任何一种来表示。例如,知识图238可以由三元组表示,每个三元组依次表示两个实体以及从第一实体到第二实体的关系;例如,[alpha,beta,是其父亲]或[alpha,是其父亲,beta]是表示同一事实的替代方式。每个实体和每个关系可以是并且通常将包括在多个三元组中。

可替代地,每个实体可以存储为节点一次,例如作为记录或对象,并通过链接列表数据结构链接到该实体具有的所有关系以及与该实体有关的所有其他实体。更具体地,知识图238可以被存储为其中邻接信息包括关系信息的邻接列表。

用唯一标识符表示每个不同的实体和每个不同的关系通常是有利的。

由知识图238表示的实体不必是有形的东西或特定的人。实体可以包括特定的人、地方、事物、艺术作品、概念、事件或其他类型的实体。因此,知识图238可以包括定义人之间的关系的数据,例如,电影中的共同主演;定义人与物之间关系的数据,例如,特定歌手录制了特定歌曲;定义地点与事物之间关系的数据,例如,特定类型的葡萄酒来自特定地理位置;定义人与地方之间关系的数据,例如,特定人出生在特定城市;以及实体之间的其他类型的关系。

在一些实施方式中,每个节点具有一种基于该节点表示的实体种类的类型;并且每个类型都可以具有模式,该模式指定有关该类型的节点表示的实体可以维护以及应如何存储数据的数据类型。因此,例如,用于表示一个人的类型的节点可以具有模式,该模式定义了诸如出生日期、出生地点等信息的字段。这样的信息可以由类型特定的数据结构中的字段表示,也可以由看起来像节点关系节点三元组的三元组来表示,例如,[个人标识符,出生地点,日期]或以任何其他方便的预定义方式。可替代地,由类型模式指定的一些或全部信息可以由知识图中的到节点的链接来表示;例如,[一个人标识符,孩子,另一个人的标识符],其中另一个人的标识符是该图中的节点。

通过访问知识图谱238,查询和转录分析器236比较可能不相同但在知识图中具有关系的词项。当最近接收的话语的词项和先前话语的词项和/或来自同一用户会话的先前响应的词项具有更紧密的关系时,查询和转录分析器236可以指配较高的置信度得分。例如,“巴拉克·奥巴马”的节点可以通过“is the spouse of(是……的配偶)”边缘连接到“米歇尔·奥巴马”的节点。在巴拉克·奥巴马和米歇尔·奥巴马的节点通过一度连接的情况下,与具有通过两度连接的节点的词项相比可以指配更高的置信度得分,使得在节点的两个词项之间存在中间节点。

查询和转录分析器236可以基于特定类型的词项处于最近接收的话语中来调节置信度得分。例如,如果最近接收的话语中的词项之一是代词,则查询和转录分析器236可以增加置信度得分。代词可能指示说话者正在引用先前话语和/或先前响应中的词项。在一些实施方式中,查询和转录分析器236可以将最近接收的话语中的代词的性别与来自用户会话的先前话语和/或先前响应中的词项进行比较。如果代词的性别与先前话语和/或先前响应中的名词匹配,则查询和转录分析器236可以增加置信度得分。如果代词的性别与先前话语和/或先前响应中的名词不匹配,则查询和转录分析器236可以降低置信度得分。

查询和转录分析器236可以基于最近接收的话语的模式或句子结构与来自用户会话的先前话语和/或先前响应的模式或句子结构之间的比较来调节置信度得分。如果最近接收的话语的模式或句子结构与来自用户会话的先前话语和/或先前响应的模式或句子结构相同,则查询和转录分析器236可以增加置信度得分。如果最近接收的话语的模式或句子结构与来自用户会话的先前话语和/或先前响应的模式或句子结构不同,则查询和转录分析器236可以降低置信度得分。例如,如果先前查询是“how tall is Barack Obama”而当前查询是“how tall is Taylor Swift(泰勒·斯威夫特有多高)”,则查询和转录分析器236可以确定两者都具有“how tall is<人>有多高”的结构,并且可能会增加置信度得分。如果反而当前查询是“what is the height of Taylor Swift(泰勒·斯威夫特的身高是多少)”,则查询和转录分析器236可以能够确定问题都与人的身高有关并增加置信度得分。如果当前查询是“how old is Taylor Swift(泰勒·斯威夫特多大年纪)”,则查询和转录分析器236可以确定问题不具有相同的结构并降低置信度得分。

分析器222可以包括屏幕分析器224,该屏幕分析器224在先前发话和/或先前响应与当前查询之间的时间段期间标识系统200的屏幕的内容。例如,如果先前查询是“what ismy day(我今天是什么日子)”,并且此后,系统200的屏幕的内容是早晨的天气。在系统200的屏幕上显示早晨的天气的情况下,系统200接收话语“how will the weather be in theafternoon(下午的天气如何)”。当说话者询问天气时,屏幕分析器224可以基于系统200的屏幕上的天气数据的存在来增加置信度得分。如果反而当前话语是“where was BarackObama born”,则当屏幕上显示早晨的天气时,屏幕分析器224将降低置信度得分,因为巴拉克·奥巴马出生的地方与早晨的天气无关。

分析器222可以包括位置分析器226,该位置分析器226基于系统的位置来确定当前查询是否可能指向系统200。如果当前查询与系统200的位置有关,则位置分析器226可以增加置信度得分。如果当前查询引用在设备的位置的阈值距离内的地点、地标、建筑物、商业和/或位置,则当前查询可以与设备的位置有关。如果当前查询与系统200的位置无关,则位置分析器226可以降低置信度得分。例如,先前查询可以是“what is the weather(天气如何)”,而当前查询可以是“how tall is the Eiffel Tower(艾菲尔铁塔有多高)”。系统200的位置可以是巴黎。基于与巴黎有关的问题以及系统200位于巴黎,位置分析器226可以增加置信度得分。如果当前查询是“how high is Mount Everest(珠穆朗玛峰有多高)”,则位置分析器226可以确定珠穆朗玛峰与巴黎无关并且降低置信度得分。

分析器222可以包括时间分析器228,其基于系统200接收到当前查询的时间来确定当前查询是否可能指向系统200。如果当前查询与当前时间有关,则时间分析器228可以增加置信度得分。如果当前查询与当前时间不相关,则时间分析器228可以降低置信度得分。如果系统通常在当前时间或接近当前时间接收到与当前查询相对应的动作,则当前查询可能与当前时间相关。时间分析器228可以将当前查询与查询日志232中的查询和相应时间戳进行比较,以确定当前查询是否通常由系统在当前时间或当前时间附近接收到。例如,先前查询可以是“what is the weather”,而当前查询可以是在早晨7:00接收的“turn onthe lights(打开灯)”。基于在上午7:00接收的打开灯的查询,时间分析器228可以增加置信度得分。在一些实施方式中,时间分析器228可以考虑当天当前查询之前接收的先前查询的数量。例如,时间分析器228可以基于“turn on the lights”是说话者当天的第二查询来增加置信度得分。如果说话者在讲出“turn on the lights”之前已经提供了更多查询,诸如在当天期间的十五个查询,则时间分析器228可以降低置信度得分。类似地,在傍晚时分,诸如“turn off the lights(关掉灯)”和“set an alarm for 7am(设置警报在上午7点)”的查询可使时间分析器228增加置信度得分。

在一些实施方式中,时间分析器228可以帮助标识用户会话何时结束。时间分析器228可以确定自查询的接收或对查询的响应的输出以来的流逝的时间。在一些情况下,时间分析器228可以随着自查询的接收或对查询的响应的输出以来流逝的更多时间而降低置信度得分。如果流逝的时间达到一定的时间量(例如,十秒),则时间分析器228可以指示用户会话已经结束。在这种情况下,用户可能必须触摸系统或讲出热词以发起新用户会话。

分析器222可以包括查询日志分析器230,该查询日志分析器230基于说话者与系统200的先前交互来确定当前查询是否可能指向系统200。如果用户在每天大约在同一时间讲出相同查询,查询日志分析器230可以增加与相同查询匹配的当前查询的置信度得分。换句话说,系统200可以标识在先前查询中的模式、或者在时间、结构和/或内容上的共同性,并确定当前查询与所标识的模式匹配。查询日志分析器230可以访问查询日志232以将当前查询与说话者的先前查询进行比较。例如,用户可能讲出“ok computer,tell me about myday(好的计算机,告诉我我的一天)”。系统200生成对“tell me about my day”查询的响应。用户继续讲出“what is the traffic to work today?(今天的工作量是多少?)”查询日志分析器230可将“what is the traffic to work today”查询与查询日志232进行比较,并确定用户在过去五个工作日中的每个早晨都讲出相同的查询。基于“what is thetraffic to work today”查询的频率,查询日志分析器230增加置信度得分。在一些实施方式中,当前查询可以是相似的,但是与前几天在大致相同的时间接收到的过去查询不同。在这种情况下,查询和转录分析器236可以标识相似性。基于该相似性,查询日志分析器230增加置信度得分。

分析器222可以使用查询和转录分析器236、屏幕分析器224、时间分析器228、查询日志分析器230和位置分析器226的任意组合来生成反映在讲出当前查询时说话者正在寻址系统200的可能性的置信度得分。分析器222可以将置信度得分与置信度得分阈值进行比较,以确定当前查询是否意在用于系统200。

基于与当前查询是否可能意在用于系统200有关的确定,系统200配置数据路由组件240。在分析器222确定查询可能并非意在用于系统的情况下,系统200将数据路由组件240配置成对查询不采取任何行动。例如,如果系统200接收到查询“how tall is TaylorSwift”,并且分析器222确定该查询可能不是意在用于系统200,则系统200将数据路由组件240配置成不对查询采取任何行动。如果系统接收到查询“who is Michelle Obama(谁是米歇尔·奥巴马)”,并且分析器222确定该查询可能是意在用于系统200,则系统200将数据路由组件240配置成将查询路由至系统200的适当部分或其他设备。系统200可以分析查询以确定查询的适当目的地。一些目的地可能包括搜索引擎、消息传递应用、电话应用或任何其他类似的设备、组件或应用。系统200可以配置数据路由组件240以将查询的转录路由到所标识的目的地。例如,系统200可以配置数据路由组件240以将查询“how old is MichelleObama(米歇尔·奥巴马多大年纪)”路由到搜索引擎。系统200可以配置数据路由组件240以将查询“text mom I’ll be home soon”路由到联系人应用和消息收发应用。系统200可以将数据路由组件240配置成将“妈妈”部分路由到联系人应用,并且将“I’ll be home soon”部分路由到消息传递应用。

在一些实施方式中,系统200可以在系统200的屏幕上显示当前查询的处理的指示。用户界面生成器242可以生成用于在屏幕上显示的内容。在分析器222确定查询可能不是意在用于系统200的情况下,用户界面生成器242可以不向与查询有关的屏幕上的显示器提供任何内容。在这种情况下,用户将看到系统200没有处理查询,因为屏幕没有提供这种指示。在分析器222确定该查询可能是意在用于系统200的情况下,用户界面生成器242提供与来自从数据路由组件240接收到该查询的组件或应用的响应有关的内容。界面生成器242可以响应于查询“how old is Michelle Obama”而生成从搜索引擎接收到的搜索结果的内容。在另一个示例中,用户界面生成器242可以生成消息传递应用的内容,其具有准备发送给联系人妈妈的消息“I’ll be home soon”。

图3是用于确定用户是否正在寻址计算设备的示例过程300的流程图。通常,过程300分析用户话语的转录和接收话语的系统的上下文。上下文可以包括先前用户话语和相应的系统响应、面向用户的显示器的内容、系统的位置、当前时间或由用户提供的先前查询的日志。过程300分析用户话语的转录和系统的上下文,以确定用户是否正在寻址系统。过程300将被描述为由包括一个或多个计算机的计算机系统执行,例如,图1的计算设备106或图2的系统200。

系统接收第一话语的第一音频数据(305)。在一些实施方式中,第一音频数据包括热词作为用户正在寻址系统的来自用户的信号。例如,用户可能说“ok computer,wherewas Barack Obama born”,并且系统通过麦克风接收话语。该系统可以标识热词“okcomputer”,并处理查询的其余部分,因为系统基于包括该热词来确定用户意在用于系统的话语。

系统获得第一话语的第一转录(310)。在一些实施方式中,系统将第一话语的音频数据提供给语音识别引擎。例如,系统可以将话语“where was Barack Obama born(巴拉克·奥巴马出生在哪里)”的音频数据提供给语音识别引擎,并接收音频数据的转录。

在一些实施方式中,系统通过数据路由组件将第一话语的第一转录作为第一查询提供给查询处理系统(315)。因为用户在话语中包括热词,所以系统确定话语意在用于系统。系统配置数据路由组件,以取决于第一查询的转录将转录路由到适当应用、组件或设备。系统可以配置数据路由组件以将转录路由到查询处理系统,该查询处理系统可以是搜索引擎、消息传递应用、电话应用或任何其他类型的组件、应用或设备。系统可以基于转录选择适当的查询处理系统。

在一些实施方式中,系统从查询处理系统接收对第一查询的响应(320)。例如,如果查询处理系统是搜索引擎,则系统可以接收对提供给搜索引擎的转录的搜索结果。如果查询处理系统是消息传递应用,则系统可以接收到转录中包括的消息已准备好发送给转录中指示的收件人的响应。

在一些实施方式中,系统提供对第一查询的响应用于输出(325)。例如,系统可以使用语音合成器输出搜索结果。在另一示例中,系统可以在系统的显示器上输出消息传递应用中的转录,并准备发送给收件人。

系统接收第二话语的第二音频数据(330)。在一些实施方式中,系统通过系统的麦克风接收第二音频。系统可以确定第二音频不包括用户意在将第二话语用于系统的指示。例如,第二话语可能不包括热词,而可能是“how old is Michelle Obama”的话语。在一些实施方式中,系统在系统接收第一话语的相同的用户会话期间接收第二话语。

系统获得第二话语的第二转录(335)。在一些实施方式中,系统将第二话语的音频数据提供给语音识别引擎。例如,系统可以将话语“how old is Michelle Obama”的音频数据提供给语音识别引擎,并接收音频数据的转录。

系统分析(i)第二转录和(ii)第一转录或对第一查询的响应(340)。在一些实施方式中,系统仅分析第二转录。在一些实施方式中,系统仅分析第二转录和第一转录。在一些实施方式中,系统仅分析第二转录和对第一查询的响应。在一些实施方式中,系统分析第二转录、第一转录和对第一查询的响应。

在一些实施方式中,系统分析包括标记化(i)第二转录和(ii)第一转录和/或对第一查询的响应。该系统将第二转录的令牌与第一转录的令牌和/或对第一查询的响应进行比较。令牌包括转录和查询的词项。

在一些实施方式中,系统确定(i)第二转录的令牌和(ii)第一转录的令牌和/或对第一查询的响应的令牌之间的关系。系统可以访问知识图以确定令牌之间的关系。例如,系统可以确定知识图中对应于“Barack Obama”的节点与对应于“Michelle Obama”的节点隔开了一个边缘。

在一些实施方式中,系统分析包括标识(i)第二转录的令牌和可选地,(ii)第一转录的令牌和/或对第一查询的响应的令牌中的词项的类型。系统可以标识每个词项的词性。例如,系统可以确定“how tall is he(他有多高)”的第二个转录包括代词“he(他)”。

在一些实施方式中,系统分析包括比较(i)第二转录和(ii)第一转录和/或对第一查询的响应的语法结构。例如,系统可以确定第二转录和第一转录具有“how old is”的句子结构,或者第二转录和第一转录都与确定人的年龄有关。

在一些实施方式中,系统分析包括将第二转录的语法结构与查询日志进行比较,该查询日志包括用户对系统所讲出的先前查询。查询日志不仅可以包括先前查询,还可以包括来自前几天和几周的查询。查询日志可以包括每个查询的时间戳,该时间戳指示系统何时从用户接收到查询。该系统可以确定第二转录与过去五个工作日期间用户每天早晨所讲出的查询的结构相匹配。

基于分析(i)第二转录和(ii)第一转录或对第一查询的响应,系统确定第二话语是否包括针对查询处理系统的查询(345)。在一些实施方式中,系统生成置信度得分,该置信度得分反映第二话语包括针对系统或查询处理系统的查询的可能性。系统可以将置信度得分与置信度得分阈值进行比较,以确定是否第二话语可能是针对系统或者查询处理系统。

在一些实施方式中,系统可以基于对(i)第二转录和可选地(ii)第一转录和/或对第一查询的响应执行的一种或多种分析类型来生成置信度得分。较高置信度得分可以指示用户意指将第二话语用于系统的较高可能性。例如,如果在(i)第二转录和(ii)第二转录和/或对第一查询的响应中存在共同词项,则系统可以增加置信度得分。如果在(i)第二转录和(ii)第二转录和/或对第一查询的响应中没有共同的词项,则系统可以降低置信度得分。如果第二转录的句子结构与第二转录和/或对第一查询的响应的结构匹配,则系统可以增加置信度得分。如果第二转录的句子结构与第二转录和/或对第一查询的响应的结构不匹配,则系统可以降低置信度得分。如果第二转录包括代词,则系统可以增加置信度得分,并且如果第二转录不包括代词,则系统可以降低置信度得分。如果第二转录与查询日志中的查询匹配,则系统可以增加置信度得分,并且如果第二转录与查询日志中的查询不匹配,则系统可以降低置信度得分。

系统在生成置信度得分时可能会考虑其他因素。在一些实施方式中,系统可以在系统接收第二话语的音频数据的时间时或靠近该时间确定面向用户的显示器的内容。如果第二话语与面向用户的显示器的内容有关,则系统可以增加置信度得分。如果第二话语与面向用户的显示器的内容无关,则系统可以降低置信度得分。

在一些实施方式中,系统可以确定接收第二话语的设备的位置。如果第二话语与接收第二话语的设备的位置有关,则系统可以增加置信度得分。如果第二话语与接收第二话语的设备的位置无关,则系统可以降低置信度得分。

在一些实施方式中,系统可以确定系统接收第二话语的时间。如果第二话语与系统接收第二话语的时间有关,则系统可以增加置信度得分。如果第二话语与系统接收第二话语的时间无关,则系统可以降低置信度得分。

系统基于确定第二话语是否包括针对查询处理系统的查询,将数据路由组件配置成(i)将第二话语的第二转录作为第二查询提供给查询处理系统,或者(ii)绕过路由第二转录,使得第二转录不被提供给查询处理系统(350)。在系统配置数据路由组件以将第二话语的第二转录提供给查询处理系统作为第二查询的情况下,系统可以配置数据路由组件以将第二话语提供给外部设备或系统、在系统上运行的应用、或任何其他设备、应用或组件。在系统将数据路由组件配置成绕过路由第二转录的情况下,系统可能似乎对第二转录不执行任何行动。例如,系统的屏幕可能为空白。

图4示出能够用于实现这里描述的技术的计算设备400和移动计算设备450的示例。计算设备400旨在代表各种形式的数字计算机,诸如膝上型计算机、台式计算机、工作站、个人数字助理、服务器、刀片服务器、大型机和其他适当的计算机。移动计算设备450旨在代表各种形式的移动设备,诸如个人数字助理、蜂窝电话、智能电话和其他类似的计算设备。此处示出的组件、它们的连接和关系以及它们的功能仅是示例,并不意味着限制。

计算设备400包括处理器402、存储器404、存储设备406、连接到存储器404和多个高速扩展端口410的高速接口408以及连接到该低速扩展接口414和存储设备406的低速接口412。处理器402、存储器404、存储设备406、高速接口408、高速扩展端口410和低速接口412中的每一个通过各种总线互连,并且可以安装在通用主板上或以其他合适的方式安装。处理器402可以处理用于在计算设备400内执行的指令,包括存储在存储器404中或存储在存储设备406上的指令,以在诸如耦合到高速接口408的显示器416的外部输入/输出设备上显示用于图形用户界面(GUI)的图形信息。在其他实施方式中,可以适当地使用多个处理器和/或多个总线,以及多个存储器和各种类型的存储器。而且,可以连接多个计算设备,每个设备提供必要操作的部分(例如,作为服务器组、一组刀片服务器或多处理器系统)。

存储器404在计算设备400内存储信息。在一些实施方式中,存储器404是易失性存储单元或者单元。在一些实施方式中,存储器404是非易失性存储单元或者单元。存储器404也可以是另一种形式的计算机可读介质,诸如磁盘或光盘。

存储设备406能够为计算设备400提供大容量存储。在一些实施方式中,存储设备406可以是或包含计算机可读介质,诸如软盘设备、硬盘设备、光盘设备、磁带设备、闪存或其他类似的固态存储设备或设备阵列,包括存储区域网络或其他配置中的设备。指令可以存储在信息载体中。当指令由一个或多个处理设备(例如,处理器402)执行时,执行一种或多种方法,诸如上述那些方法。指令还可以由诸如计算机可读或机器可读介质的一个或多个存储设备(例如,存储器404、存储设备406或处理器402上的存储器)存储。

高速接口408管理用于计算设备400的带宽密集型操作,而低速接口412管理较低的带宽密集型操作。这种功能分配仅是示例。在一些实施方式中,高速接口408被耦合到存储器404、显示器416(例如,通过图形处理器或加速器),并且被耦合到可以接受各种扩展卡(未示出)的高速扩展端口410。在实施方式中,低速接口412被耦合到存储设备406和低速扩展端口414。低速扩展端口414可以包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网),可以例如通过网络适配器被耦合到一个或多个输入/输出设备,诸如键盘、定点设备、扫描仪或诸如交换机或路由器的网络设备。

如附图中所示,可以以多种不同形式来实现计算设备400。例如,其可以被实现为标准服务器420,或者多次被实现为一组这样的服务器。另外,其可以在诸如膝上型计算机422的个人计算机中实现。其也可以作为机架服务器系统424的一部分实现。可替选地,来自计算设备400的组件可以与诸如移动计算设备450的移动设备(未示出)中的其他组件组合。每个这样的设备可以包含计算设备400和移动计算设备450中的一个或多个,并且整个系统可以由彼此通信的多个计算设备组成。

移动计算设备450包括处理器452、存储器464、诸如显示器454的输入/输出设备、通信接口466和收发器468、以及其他组件。移动计算设备450还可以被设置有存储设备,诸如微驱动器或其他设备,以提供附加的存储。处理器452、存储器464、显示器454、通信接口466和收发器468中的每一个使用各种总线互连,并且数个组件可以安装在通用主板上或以适当的其他方式安装。

处理器452可以在移动计算设备450内执行指令,包括存储在存储器364中的指令。处理器452可以被实现为包括分离的和多个模拟和数字处理器的芯片的芯片组。处理器452可以提供例如用于移动计算设备450的其他组件的协调,诸如对用户接口的控制、由移动计算设备450运行的应用以及由移动计算设备450进行的无线通信。

处理器452可以通过控制接口458和耦合到显示器454的显示接口456与用户通信。显示器454可以是例如TFT(薄膜晶体管液晶显示器)显示器或OLED(有机发光二极管)显示器或其他合适的显示技术。显示接口456可以包括用于驱动显示器454以向用户呈现图形和其他信息的适当电路。控制接口458可以从用户接收命令并且将其进行转换以提交给处理器452。另外,外部接口462可以提供与处理器452的通信,使得实现移动计算设备450与其他设备的近距离通信。例如,外部接口462可以在一些实施方式中提供用于有线通信,或者在其他实施方式中提供用于无线通信,并且也可以使用多个接口。

存储器464在移动计算设备450内存储信息。存储器464可以被实现为计算机可读介质或者媒介、易失性存储单元或单元或者非易失性存储单元或者单元中的一个或多个。还可以提供扩展存储器474,并通过扩展接口472被连接到移动计算设备450,该扩展接口472可以包括例如SIMM(单列存储模块)卡接口。扩展存储器474可以为移动计算设备450提供额外的存储空间,或者还可以为移动计算设备450存储应用或其他信息。具体地,扩展存储器474可以包括用于执行或补充上述过程的指令,并且还包括安全信息。因此,例如,扩展存储器474可以被设置为用于移动计算设备450的安全模块,并且可以用允许安全使用移动计算设备450的指令来编程。此外,可以经由SIMM卡安全地提供安全应用,以及其他信息,例如以不可入侵的方式在SIMM卡上放置标识信息。

存储器可包括例如闪存和/或NVRAM存储器(非易失性随机存取存储器),如下面所讨论的。在一些实施方式中,指令被存储在信息载体中,当该指令被一个或多个处理设备(例如,处理器452)执行时,执行一种或多种方法,诸如上述那些方法。指令也可以由一个或多个存储设备存储,诸如一个或多个计算机或机器可读介质(例如,存储器464、扩展存储器474或处理器452上的存储器)。在一些实施方式中,可以例如通过收发器468或外部接口462以传播的信号来接收指令。

移动计算设备450可以通过通信接口466无线通信,该通信接口在必要时可以包括数字信号处理电路。通信接口466可以在各种模式或协议下提供通信,诸如GSM语音呼叫(全球移动通信系统)、SMS(短消息服务)、EMS(增强消息服务)或MMS消息(多媒体消息服务)、CDMA(码分多址)、TDMA(时分多址)、PDC(个人数字蜂窝)、WCDMA(宽带码分多址)、CDMA2000或GPRS(通用分组无线电业务)等。例如,可以使用射频通过收发器468发生这种通信。另外,可以发生短距离通信,诸如使用蓝牙、WiFi或其他这样的收发器(未示出)。另外,GPS(全球定位系统)接收器模块470可以向移动计算设备450提供附加的导航和与位置有关的无线数据,其可以适当地由在移动计算设备450上运行的应用程序使用。

移动计算设备450还可以使用音频编解码器460进行听觉通信,该音频编解码器460可以从用户接收语音信息并将其转换为可用的数字信息。诸如通过扬声器,例如,在移动计算设备450的听筒中,音频编解码器460可以类似地为用户生成可听见的声音。这种声音可以包括来自语音电话呼叫的声音,可以包括记录的声音(例如语音消息、音乐文件等),并且还可以包含由在移动计算设备450上运行的应用程序生成的声音。

移动计算设备450可以以多种不同的形式实现,如附图中所示。例如,其可以被实现为蜂窝电话480。其也可以被实现为智能电话482、个人数字助理或其他类似的移动设备的一部分。

这里描述的系统和技术的各种实施方式可以以数字电子电路、集成电路、专门设计的ASIC(专用集成电路)、计算机硬件、固件、软件和/或其组合来实现。这些各种实现方式可以包括在一个或多个计算机程序中的实现方式,该程序可以在包括至少一个可编程处理器的可编程系统上执行和/或解释,可以是专用的或通用的,被耦合以从中接收数据和指令,并且向存储系统、至少一个输入设备和至少一个输出设备传输数据和指令。

这些计算机程序(也称为程序、软件、软件应用程序或代码)包括用于可编程处理器的机器指令,并且可以以高级过程和/或面向对象的编程语言和/或以汇编/机器语言实现。如本文所使用的,术语机器可读介质、计算机可读介质是指用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、装置和/或设备,例如,磁盘、光盘、存储器、可编程逻辑设备(PLD),包括接收机器指令作为机器可读信号的机器可读介质。术语机器可读信号是指用于向可编程处理器提供机器指令和/或数据的任何信号。

为了提供与用户的交互,此处描述的系统和技术可以在具有用于向用户显示信息的显示设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)以及通过其用户能够将输入提供给计算机的键盘和指示设备(例如,鼠标或轨迹球)的计算机上实现。其他种类的设备也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈(例如,视觉反馈、听觉反馈或触觉反馈);并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。

能够在计算系统中实现这里描述的系统和技术,所述计算系统包括后端组件(例如,作为数据服务器),或包括中间件组件(诸如应用服务器),或包括前端组件(例如,具有通过其用户能够与这里描述的系统和技术的实现方式交互的图形用户界面或Web浏览器的客户端计算机),或者这种后端、中间件或前端组件的任何组合。系统的组件能够通过(例如,通信网络)的数字数据通信的任何形式或介质来互连。通信网络的示例包括局域网(LAN)、广域网(WAN)和互联网。在一些实施方式中,此处描述的系统和技术可以在嵌入式系统上实施,其中语音识别和其他处理直接在设备上执行。

计算系统能够包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系借助于在各个计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。

尽管上面已经详细描述了一些实施方式,但是其他修改也是可能的。例如,虽然客户端应用被描述为访问代表,但是在其他实施方式中,代表可以被由一个或多个处理器实现的其他应用所采用,例如在一个或多个服务器上执行的应用。另外,附图中描绘的逻辑流程不需要所示的特定顺序或顺序次序来实现期望的结果。另外,可以从所描述的流程中提供其他动作,或者可以消除动作,并且可以将其他组件添加到所描述的系统或从所描述的系统移除。因此,其他实施方式在所附权利要求的范围内。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号