背景技术:
自动语音识别(asr)中的进步已经导致对口头语言理解(slu)的兴趣增加。大词汇口头语言理解中的挑战是补偿asr错误的鲁棒性。语音识别并不完美,并且每个用户都理解偶尔的识别错误是现实。从用户的角度来看,当语音识别应用或程序被使用时,识别错误的纠正的容易性对用户的整体体验具有重大影响。这是关于本申请所针对的该一般技术环境。
技术实现要素:
本公开的示例描述了多弧混淆网络的生成以改善例如向生成的输出返回备选的能力。包括词汇化假设和归一化假设的标记表示的混淆网络被生成。混淆网络的每个弧表示词汇化假设或归一化假设的标记。混淆网络被变换成多弧混淆网络,其中该变换包括重新对齐混淆网络的至少一个标记以跨越混淆网络的多个弧。还描述了其它示例。
提供本发明内容以简化的形式介绍概念的选择,这在下面的具体实施方式中被进一步描述。本发明内容不旨在标识所要求保护的主题的主要特征或必要特征,也不旨在用于限制所要求保护的主题的范围。示例的附加方面,特征和/或优点将部分地在下面的描述中被阐述,并且部分地将从描述中显而易见,或者可以通过本公开的实践来被了解。
附图说明
参考以下附图来描述非限制性和非穷举性示例。
图1示出了用于输入识别和处理的示例系统的概况。
图2示出了由示例性系统和应用进行的示例确定的概况。
图3示出了生成示例混淆网络和示例多弧词混淆网络的示例方法。
图4示出了从示例多弧混淆网络输出备选标记表示的示例方法。
图5是示出可以利用其实践本公开的方面的计算设备的示例的框图。
图6a和6b是可以利用其实践本公开的方面的移动计算设备的简化框图。
图7是其中可以实施本公开的方面的分布式计算系统的简化框图。
具体实施方式
纠正语音识别错误的方法可以使用词混淆网络,一旦用户指示提供给该用户的假设(例如,结果)不是用户想要的结果,则词混淆网络可以提供针对某些词的备选。然而,通常,词混淆网络(wcn)不解决跨越wcn的多个词或节点的备选或纠正的问题。附加的挑战来自于语音识别发生在词汇级别的事实,并且因此wcn在词汇级别被生成,其中呈现给用户的文本包含作为词汇输出上的文本归一化的结果的标记。因此,常见的wcn可能挣扎于在与口头话语相关联的改变词存在的情况下处理纠正。
本公开的示例描述了多弧标记级混淆网络的生成,其表示用于口头话语的识别结果的假设,以提高向用户返回针对呈现给用户的标记表示的备选的能力。生成的多弧混淆网络包括由词汇化假设的归一化导致的标记表示。另外,生成的多弧标记级混淆网络是加权的标记级混淆网络,其弧线跨越多个节点,以改善向用户返回备选中的处理。
例如,当响应于口头话语将结果返回给用户时,用户可能指示呈现的输出不是用户正在寻找的,或者用户可能简单地请求对于在输出中呈现的元素或标记的备选。本申请的加权标记级多弧混淆网络可用于准确且高效地向用户返回备选,因为它做出可用于任何所选择/标识的节点跨度的明显备选。基于本发明实现了许多技术优点,包括提高语音识别处理的效率和精度、提高用户处理备选的效率和准确性、降低针对来自用户的后续查询的处理负担、提高处理速度、减低语音识别的错误率和改进用户交互性能,以及其他多个技术优势。
图1示出了用于输入识别和处理的示例系统100的概况。呈现的示例性系统100是相互依赖的组件的组合,其相互作用以形成用于执行输入理解和处理的集成整体。系统的组件可以是在系统的硬件组件上实现的硬件组件或软件。在示例中,系统100可以包括以下任一项:硬件组件(操作系统(os))、在硬件组件上运行的软件组件(例如,应用、应用编程接口、虚拟机)、运行时库。在一个示例中,示例性系统可以提供用于运行软件组件的环境,服从设置用于操作的约束,以及利用系统100的资源或设施,其中组件可以是在一个或多个处理设备上运行的软件(例如,应用、程序、模块等)。例如,可以在诸如计算机、移动电话、平板电脑、游戏控制台、电子设备等的处理设备上运行输入理解应用或服务,其中可以在处理设备上执行系统的组件。在其他示例中,示例系统的组件可以分散在多个设备上。例如,输入可以在客户端设备(例如,移动电话)上被输入,并且信息可以从网络中诸如服务器设备和/或数据存储库的其他设备被处理或访问。系统100还包括诸如数据存储/存储/存储库的组件,例如图1所示并且在下面描述的知识存储库108。每个组件可以包括一个或多个系统组件。关于可能被包括作为示例性系统的部分的硬件的其他示例,请参考图5-7。
作为一个示例,系统100包括诸如语音识别组件102、归一化组件104、混淆网络创建组件106和知识存储库108之类的组件,每个组件具有一个或多个附加组件。诸如系统100的系统的规模可以变化并且包括比图1中描述的更多或更少的组件。系统100的组件之间的接口通过连接系统的组件和/或系统外部的资源的网络进行。在一个示例中,系统100的组件本地地存在于诸如移动设备的设备上。在至少一个其他示例中,系统100的组件可以通过诸如云计算环境的分布式环境来连接。
示例性系统的组件与处理设备的os接口以允许输入理解和处理,包括用于输入输入和接收响应的用户界面(ui)。例如,系统100可以从客户端(例如,用户或服务)接收输入。示例性系统100的组件用于捕获和处理输入,并且生成和/或更新标记混淆网络(例如,以创建多弧标记混淆网络)。作为示例,系统100可以作为智能个人助理操作。智能个人助理是移动软件代理,其可以基于用户输入、位置感知以及从各种在线来源访问信息的能力,为个人执行任务或服务。系统100可以操作的智能个人助理的示例包括但不限于silvia、s-voice、voicemate、googlenow、cortana、hidi和siri以及其他示例。
示例性系统100包括用于捕获、处理和转录所捕获的输入的语音识别组件102。作为示例,语音识别组件102能够将口头查询处理成文本。语音识别组件102的示例包括但不限于:自动语音识别(asr)、计算机语音识别或语音到文本(stt)等。语音识别组件102可以与处理设备的os接口以提供用户界面以供用户输入输入。语音识别组件102在捕获的输入上运行语音识别。语音识别处理通过分析电信号(例如,语音信号)并生成一个或多个(n个最佳的(n-best))结果来将接收的输入(例如语音输入)转录成词汇识别结果或假设。当分析所捕获的信号时,语音识别组件102可以利用知识存储库108来提高语音识别处理的鲁棒性,以生成词汇识别结果。词汇化模型被应用于输入信号,使得语音识别组件102生成词汇化结果/假设。例如,语音识别组件102可以将捕获的输入信号变换成一个或多个元素的序列。元素是与词汇相关联的单元,词汇诸如字母、符号、字符、词等。词汇化识别结果的示例是“findtheclosestsevenelevenstore”。除了将信号变换为词汇化结果之外,语音识别组件102将得分或权重分配给词汇化结果的一个或多个元素。作为示例,得分可以与词汇化元素的声学得分相关联,其中得分评估语音信号表示该词汇化元素的概率,或者与评估一个词汇化元素跟随其他词汇化元素的概率的语言模型得分相关联。使用上述词汇结果,可以将得分分配给“findtheclosestsevenelevenstore(找到最近的711商店)”的一个或多个元素,其中语音识别组件102评估其准确地解释词汇结果的概率。在n个最佳(n-best)识别结果的情况下,结果中的每一个都被提供有从其包含的词汇化元素的得分得到的单独得分。
语音组件102还直接与混淆网络创建组件106接口,用于输出生成的混淆网络和多弧混淆网络。在第一处理操作中,生成混淆网络或多弧混淆网络。在另一处理操作中,接收输入,其中用户请求返回给用户的结果的标记的备选。在该示例中,系统100处理来自用户的请求并且标识(例如,使用语音识别组件102)用户想要由用户标识的一个或多个标记的备选表示。系统100基于多弧混淆网络的评估来向用户输出备选。因此,针对备选的请求可以直接被提供给混淆网络创建组件106,以标识和向系统用户输出备选。在其他示例中,备选的输出由系统100的决定而不是来自用户的针对备选的请求触发。
另外,语音识别组件102与诸如知识存储库108之类的一个或多个知识组件进行接口。知识存储库108是增加示例性系统(例如系统100)所拥有的信息量的资源,使得其能够在给定时间点做出更明智的决定。知识存储库108存储可由系统100的诸如语音识别组件102、归一化组件104和混淆网络创建组件106的组件使用的任何结构化和非结构化信息,以增强处理的执行。由知识存储库108存储的信息的示例是知识数据,其是增强示例性系统的鲁棒性或能够应用于改进由示例性系统的组件进行的处理的任何数据。知识存储库108存储的知识数据的示例包括但不限于:定义、用于输入理解和转录的信息、词汇和书写语音信息、规则、名称数据、历史数据(包括来自先前查询的数据)、系统的组件之间的相互关系(例如用于评估数据的正式陈述的事实的描述)、类(例如集合、概念、编程类型)、属性数据(例如属性、特征、特性、参数)、公理,包括语言模型在内的建模数据、适应语言模型、归一化模型、标记级建模、统计数据、事件和功能术语信息、使用模式、词关联、上下文信息以及其他示例。知识存储库108还可以与示例性系统之外的组件或资源通信,以便聚集或收集与执行处理并且作出关于诸如系统100的系统如何响应输入或针对备选输出的请求的最佳决定有关的信息。作为示例,知识存储库108可以通过因特网被链接到网络资源,例如搜索引擎(例如,bing、googlesearch、yahoosearch、ask、webcrawler、dogpile等)。
归一化组件104与语音识别组件102接口,以生成针对由语音识别组件102生成的每个词汇化结果的归一化结果。归一化组件104对词汇化结果执行文本归一化(例如,逆文本归一化(itn)),将词汇化结果的文本变换为人将写或表达的规范形式(例如,可读表示)。作为示例,“seveneleven”的输入的可读表示是“7-11”。归一化组件104将n个最佳识别备选中的每一个从词汇化级别变换为标记级别。每个归一化结果/假设包括一个或多个标记。标记是通信单元,其是表达输出将如何被呈现给用户的词汇元素的归一化的结果(例如,词或字母数字表达)。
在一些示例中,归一化组件104标识词汇化结果/假设不需要改变。在这种情况下,词汇化结果的归一化保持与由语音识别组件102创建的假设的相同的词汇表示。也就是说,词汇化结果的元素是用于生成混淆网络的标记。在假设/结果为“findtheclosestsevenelevenstore”的示例中,可以为总共六个词的词汇化假设的每个元素生成一个标记。这创建了词汇化假设/结果的标记表示。在另一示例中,归一化处理可以生成假词标记以包括在标记表示中。例如,“7-11”的标记被生成作为表示词“seven”和“eleven”的标记的备选。通常,每个词汇化结果可以导致一个或多个备选的归一化结果。
归一化组件104被配置为与知识存储库108接口以通过访问诸如知识存储库108的知识数据的资源来提高归一化和与归一化相关联的评分。在一个示例中,文本归一化组件104向每个归一化结果提供其自己的得分,并将该得分与从其形成归一化结果的词汇化结果的得分相结合,以生成归一化结果的最终得分。作为示例,针对由归一化创建的一个或多个标记生成的得分是备选标记表示是接收到的输入的精确估计的概率。在备选示例中,归一化结果或假设可以基于归一化模型的应用(例如,诸如binglm或googlelm的大规模归一化语言模型)而被分配新的得分。作为示例,将鲁棒归一化模型与词汇化结果的声学得分组合以生成针对归一化假设的一个或多个标记的得分。
混淆网络创建组件106与归一化组件102接口以接收与归一化结果相关联的数据,用于标记级混淆网络的生成。混淆网络创建组件106获取已经被归一化的识别结果,对齐识别结果并创建标记级混淆网络。混淆网络创建组件106针对归一化结果生成标记级混淆网络。混淆网络是有序节点的序列,其中每对连续节点通过至少一个弧连接,并且离开一个节点的所有弧的概率之和总和为一(1)或者可选地与合计达一百的百分比相关联。混淆网络的每个弧段与标签(用于归一化结果的标记)和权重(概率/得分)相关联。在形成标记级混淆网络时,假设的得分被传播到混淆网络的各个弧。
知识存储库108与混淆网络创建组件106接口,以提高针对结果的对齐的鲁棒性以及混淆网络的生成,其中混淆网络创建组件106可以访问诸如知识存储库108的知识数据之类的资源。混淆网络创建组件106可以基于分析与归一化结果的一个或多个标记相关联的参数的相似度来对齐归一化假设/结果。在一些示例中,使用动态规划来执行归一化假设/结果的对齐。在一个示例中,使用穷举动态规划来对齐归一化假设/结果。在其他示例中,所使用的动态规划算法被定制用于多序列对齐的实际应用(例如,精确的多序列对齐算法、星型对齐算法、carrillolipman算法等)。
在一些示例中,混淆网络创建组件106将创建的标记混淆网络例如修改为多弧标记混淆网络。在示例中,混淆网络创建组件106重新对齐生成的混淆网络的标记,以将标记级混淆网络变换为多弧标记级混淆网络。作为示例,混淆网络创建组件106基于时间信息和与归一化结果的表示(例如,一个或多个标记)相关联的书写语音信息的比较来重新对齐归一化结果的标记表示。所使用的书写语音信息是指示书写符号/字母和与这些符号/字母相关联的声音之间的关系的任何信息。书写语音信息的示例包括但不限于与其他标记相比较的拼写(例如,“though”的拼写类似于“tough”)、发音(例如,“tough”发音类似于“puff”)和字母的排列或顺序,以及其他示例。尽管描述了时间和书写语音因素的示例,但是本领域技术人员将认识到,可以使用结果的元素或标记的其他参数来执行词汇化结果和归一化结果的对齐,包括区别或生成建模。
混淆网络创建组件106将生成的混淆网络变换成多弧混淆网络,其中节点与之前(在混淆网络中)保持对齐,但是各个弧的起点/终点可以迁移到不同的节点,搜索在时间信息方面最接近的一个。传统的混淆网络对一对一纠正的可能性进行编码(例如,“nine”的输入被表示为标记“9”);然而多对多纠正(例如,标记“928”作为“9208”的各个要素的备选)仍然是不平凡的。因此,通过将混淆网络变换为多弧混淆网络来改善混淆网络。将混淆网络变换为多弧混淆网络包括:基于分析时间信息和与混淆网络的弧相关联的标记的书写语音信息的相似性,来重新对齐混淆网络的至少一个标记以跨越混淆网络的多个弧。所得到的结构提供纠正功能,因为它使得哪些备选可用于任何选择的节点跨度更清楚。因此,用户输入的处理被改进,因为例如当用户标识其希望接收呈现给用户的若干标记的序列的备选时,备选结果/假设可以被更准确地标识并且更高效地返回给用户。
图2示出了由示例性系统和应用进行的示例确定的概况。示例系统可以是如图1所述的系统100。图200示出了从语音识别处理(例如,由如图1所述的语音识别组件102)输出的结果/假设(框202)的示例、从归一化处理(例如,由如图1所述的归一化组件104)输出的结果/假设(框204)、从混淆网络创建处理(例如,由如图1所示的混淆网络创建组件106)输出的示例标记混淆网络(框206)和示例多弧标记混淆网络(框208)。
如框202所示,语音识别处理可以生成用于捕获的输入的多个结果或假设。在框202中,示出了确定的词汇化假设的示例。在一些示例中,得分可以与词汇化假设的元素相关联。词汇化假设/结果的评分可以基于语音识别语言模型的应用来被确定。作为示例,词汇化假设的评分可以包括如图1的描述中所描述的声学得分或语言模型得分的确定。
进行到框204,示出了来自词汇化假设/结果的归一化处理的假设/结果的示例。归一化处理包括对词汇化假设执行itn或文本归一化。归一化处理包括为每个归一化假设的元素生成一个或多个标记。在一些示例中,执行的归一化处理标识词汇化结果/假设的元素不需要改变。在这种情况下,通过为词汇化假设的元素创建一个或多个标记,词汇化结果的元素的归一化保持与由语音识别处理生成的假设的相同的表示。例如,归一化假设为“hundreddollarsfornewphone(百美元的新电话)”和“onehundreddollarsforanewphone(新电话一百美元)”的词汇化假设创建标记表示。另外,如框204所示,诸如“$100fornewphone($100的新电话)”和“$100foranewphone(新电话$100)”的备选归一化假设被生成。此外,如图1所述,得分可以与归一化处理中生成的标记相关联。例如,通过将至少一个标记级语言模型应用于归一化假设以生成针对归一化假设的一个或多个标记的得分,可以针对归一化结果/假设生成得分。在另一示例中,对归一化结果/假设的评分通过将标记语言模型应用于词汇化假设的声学得分而对词汇化假设中的每一个的声学得分进行重新评分来被生成,以生成针对归一化假设中的每一个的得分。
如框206所示,混淆网络创建处理为归一化假设创建标记级混淆网络。在一个示例中,标记级混淆网络的创建包括对齐归一化假设(或经评分的归一化结果/假设)。在对齐经评分的响应的示例中,由混淆网络创建处理执行的对齐是基于与归一化假设的标记相关联的参数的评估。生成的混淆网络的弧(在框206的编号节点之间)具有标签(例如,表示标记)和得分/权重(在针对框206的每个弧的括号中示出,例如“(.2)”)。使用表示假设/结果的元素的备选的标记来标记弧(例如,如框206的节点1和2之间所示的“a”、“one”,“<eps>”)。作为注释,使用ε(在框206中表示为“<eps>”)来表示为空或者不表示标记的节点之间的连接。
如框208所示,混淆网络创建处理还将标记级混淆网络变换为多弧标记混淆网络。框208示出了示例性多弧标记混淆网络的可视表示。框208是框206中所示的标记混淆网络的变换,并且包括表示标记的示例性多弧备选(例如,“$100”的标记跨越多个弧以提供“onehundreddollars”或“ahundreddollars”的备选)。因此,当系统或服务被编程为输出针对标记的备选或者用户做出针对标记的备选的请求时,标记的备选被容易地标识以用于输出。
图3示出了生成示例混淆网络和示例多弧词混淆网络的示例性方法300。图3示出了生成标记级混淆网络和多弧标记级混淆网络的方法300。作为示例,方法300可以由诸如图1中描述的系统100的示例性系统执行。在其他示例中,方法300可以在包括被配置为存储和执行操作、程序或指令的至少一个处理器的设备上被执行。然而,方法300不限于这些示例。在其他示例中,方法300可以是由输入理解应用或服务执行的操作。
流程在操作302处开始,其中在捕获的输入上执行语音识别。输入可以被诸如图1所描述的语音识别组件102之类的语音识别组件或模块捕获和处理。词汇化假设(如图1所描述)基于语音识别组件或模块对捕获输入的处理来被生成。生成的词汇化假设包括如图1的描述中所描述的一个或多个元素。元素是与词汇相关联的单元,词汇诸如字母、符号、字符、词等。在一些示例中,词汇化假设的生成还包括生成针对词汇化假设中的每一个的得分。作为示例,针对词汇化假设中的每一个生成声学得分和/或语言模型得分。
流程进行到操作304,其中通过执行归一化处理对词汇化假设进行归一化。归一化假设(如图1所描述)是词汇化假设的归一化的结果,并且包括如图1的描述中所描述的一个或多个标记。在操作304中执行归一化处理,以基于从语音识别处理确定的词汇化假设的词汇化假设或元素来生成归一化假设。在归一化处理的一个示例中,为词汇化假设/结果的元素生成标记表示。在归一化处理的一些示例中,新生成的标记表示提供对词汇化假设/结果的元素的备选表示(例如,“$1”可以是针对词“美元”的备选)。操作304的处理还可以包括生成针对归一化假设的标记表示的得分。在一个示例中,在操作304中执行的得分生成包括基于针对词汇化假设的得分与针对归一化假设的得分的组合来生成针对归一化假设中的每一个的最终得分。在另一示例中,在操作304中执行的评分包括通过将标记语言模型(或适应标记语言模型)应用于词汇化假设的声学得分来对针对词汇化假设中的每一个的声学得分进行重新评分,以生成针对归一化假设中的每一个的得分。针对假设的评分可以基于词汇化假设和/或归一化假设的任何统计分析来被生成。
从操作304,流程进行到操作306,其中基于词汇化假设的归一化来生成混淆网络。在一个示例中,在操作306中生成的混淆网络的每个弧是归一化结果的标记的表示。示例性混淆网络在图1和图2以及伴随的描述中被引用。混淆网络的生成可以包括对齐归一化结果的标记。例如,针对标记的时间信息和书写语音信息中的相似性被分析,以初始地设置混淆网络的弧。生成的混淆网络的每个弧与标记和权重(例如,得分/概率值)相关联。在至少一个示例中,通过动态规划逼近来完成假设的对齐,其基于对归一化结果的标记的时间信息和书写语音信息的评估来标识最佳对齐解。在另一示例中,使用精确的多序列对齐算法来执行标记的对齐。
为了提高系统或服务向用户输出备选的能力,流程进行到操作308,其中混淆网络被变换成多弧混淆网络。随着动态规划逼近标记的对齐,附加处理被执行以将混淆网络变换为多弧混淆网络。在操作308中执行的处理包括基于分析与混淆网络的弧相关联的标记的时间信息和书写语音信息中的相似度来重新对齐混淆网络的至少一个标记以跨越混淆网络的多个弧。在操作308中执行的重新对齐包括改变与标记相关联的弧的起点和终点,以跨越备选结果/假设的多个弧。
图4示出了从示例多弧混淆网络输出备选标记表示的示例方法400。图4示出了使用多弧混淆网络以向用户提供备选表示的方法400。作为示例,方法400可以由诸如图1的系统100的示例性系统执行。在其他示例中,方法400可以在包括被配置为存储和执行操作、程序或指令的至少一个处理器的设备上被执行。然而,方法400不限于这些示例。在其他示例中,方法400可以由输入理解应用或服务来执行。
方法400的流程在操作402处开始,其中响应于标记表示的一个或多个标记被呈现给用户,接收到针对备选的请求。例如,当响应于口头话语而将结果返回给用户时,用户可以指示呈现的输出不是用户正在寻找的,或者用户可以请求对于向用户提供的输出中呈现的标记的备选。例如,“findtheclosestseveneleven”的输出(例如,标记表示)可以被呈现给用户。用户可以请求针对“seven”和“eleven”的标记的备选。
进行到操作404,多弧混淆网络被用于确定针对一个或多个标记的备选。在操作404中,多弧混淆网络被分析以标识针对标记的备选标记表示。作为示例,可以从多弧混淆网络标识“7-11”的标记表示作为词“seven”和“eleven”的组合的备选。
流程进行到操作406,其中从多弧混淆网络输出备选标记表示。例如,从多弧混淆网络标识的备选表示被输出给用户。使用生成的多弧混淆网络的处理设备或服务可以输出对由处理设备(例如,移动设备)或服务(例如,应用或程序)的用户标识的一系列元素或标记的一个或多个备选。例如,用户可以请求对提供给用户的假设/结果的一个或多个词的备选。
在任何时间点,用户可以标识系统或服务不正确地理解接收到的输入并且不正确地解释了假设/结果。用于生成或修改混淆网络的处理可以生成新的混淆网络和/或多弧混淆网络,或者备选地基于来自用户的附加反馈来修改现有混淆网络。
图5-7和相关联的描述提供了可以在其中实践本发明的示例的各种操作环境的讨论。然而,关于图5-7示出和讨论的设备和系统是出于示例和说明的目的,并非限制可用于实践本文所描述的本发明的示例的大量计算设备配置。
图5是示出计算设备502的物理组件的框图,例如可以利用其实施本公开的示例的系统的组件。下面描述的计算设备组件可适用于上述计算设备。在基本配置中,计算设备502可以包括至少一个处理单元504和系统存储器506。根据计算设备的配置和类型,系统存储器506可以包括但不限于易失性存储器(例如,随机存取存储器)、非易失性存储器(例如,只读存储器)、闪速存储器或这些存储器的任何组合。系统存储器506可以包括操作系统507和适于运行诸如应用528、io管理器524和其他实用程序526的软件应用程序520的一个或多个程序模块508。作为示例,系统存储器506可以存储用于执行的指令。系统存储器506的其他示例可以是诸如知识资源的组件。例如,操作系统507可以适合于控制计算设备502的操作。此外,本发明的示例可以与图形库、其他操作系统或其他应用程序结合而被实践,并且不限于任意特定应用或系统。该基本配置在图5中由虚线522内的那些组件所示出。计算设备502可以具备附加的特征或功能。例如,计算设备502也可以包括诸如磁盘、光盘或磁带的附加数据存储设备(可拆卸的和/或不可拆卸的)。这样的附加存储在图5中由可拆卸存储设备509和不可拆卸存储设备510示出。
如上所述,大量程序模块和数据文件可以被存储在系统存储器506中。当在处理单元504上执行时,程序模块508(例如,应用528、输入/输出(i/o)管理器524以及其他实用程序526)可以执行过程,过程包括但不限于图3至图4所示的操作方法300-400的阶段中的一个或多个阶段。根据本发明的示例可以使用的其他程序模块可以包括电子邮件以及联系人应用、文字处理应用、电子表格应用、数据库应用、幻灯片演示应用、绘图或计算机辅助应用程序等。
此外,本发明的示例可以被实践在包括分立电子元件的电气电路、包含逻辑门的封装或集成的电子芯片、使用微处理器的电路、或包含电子元件或微处理器的单个芯片上。例如,本发明的示例可以经由片上系统(soc)被实践,其中图5中所示的组件中的每个或许多组件可以被集成到单个集成芯片上。这种soc器件可以包括一个或多个处理单元、图形单元、通信单元、系统虚拟化单元以及各种应用功能,它们的全部被集成(或“被烧写”)到芯片基板上作为单个集成电路。当经由soc操作时,本文所描述的功能可以经由与计算设备502的其他组件一起被集成到单个集成电路(芯片)上的专用逻辑来被操作。本公开的示例也可以使用能够执行诸如与(and)、或(or)以及非(not)的逻辑操作的其他技术来被实践,这样的技术包括但不限于机械、光学、流体以及量子技术。此外,本发明的示例可以被实践在通用计算机内或任意其他电路或系统中。
计算设备502也可以具有一个或多个输入设备512,诸如键盘、鼠标、笔、声音输入设备、触摸输入设备等。还可以包括诸如显示器、扬声器、打印机等的输出设备。前述设备是示例,并且其他设备可以被使用。计算设备504可以包括允许与其他计算设备518通信的一个或多个通信连接516。合适的通信连接516的示例包括但不限于,射频发射器、接收器、和/或收发器电路、通用串行总线(usb)、并行和/或串行端口。
本文所用的术语“计算机可读介质”可以包括计算机存储介质。计算机存储介质可以包括以用于信息的存储的任意方法或技术来被实施的易失性的和非易失性的、可拆卸和不可拆卸的介质,信息诸如计算机可读指令、数据结构或程序模块。系统存储器506、可拆卸存储设备509以及不可拆卸存储设备510都是计算机存储介质的示例(例如存储器存储)。计算机存储介质可以包括ram、rom、电可擦除只读存储器(eeprom)、闪存或其它存储器技术、cd-rom、数字多功能盘(dvd)或其他光存储、磁带盒、磁带、磁盘存储或其它磁存储设备、或可以被用于存储信息并能被计算设备502访问的任意其他制品。计算机存储介质不包括载波或其他经传播或调制的数据信号。
通信介质可以由计算机可读指令、数据结构、程序模块或诸如载波或其他传输机制的经调制的数据信号中的其他数据体现,并且包括任意信息传递介质。术语“经调制的数据信号”可以描述使一个或多个特性将信息编码在信号中的方式被设置或改变的信号。通过示例而非限制的方式,通信介质可以包括诸如有线网络或直接有线连接的有线介质,以及诸如声学、射频(rf)、红外和其他无线介质的无线介质。
图6a和6b示出了利用其可以实践本发明的示例的移动计算设备,例如,移动电话、智能电话、个人数据助理、平板个人计算机、膝上型计算机等。例如,移动计算设备600可以被实现为系统100,除了其他示例之外,系统100的组件可以被配置为执行如图3-4所描述的处理方法。参考图6a,用于实施示例的移动计算设备600的一个示例被示出。在基本配置中,移动计算设备600是具有输入元件和输出元件两者的手持计算机。移动计算设备600通常包括显示器605和允许用户输入信息到移动计算设备600中的一个或多个输入按钮610。移动计算设备600的显示器605也可以用作输入设备(例如,触摸屏显示器)。如果被包括,则一个可选侧面输入元件615允许其他用户输入。侧面输入元件615可以是旋转开关、按钮、或任意其他类型的手动输入元件。在备选示例中,移动计算设备600可以包括更多或更少的输入元件。例如,在一些示例中,显示器605可以不是触摸屏。在又一备选示例中,移动计算设备600是诸如蜂窝电话的便携式电话系统。移动计算设备600还可以包括可选键盘635。可选键盘635可以是物理键盘或触摸屏显示器上生成的“软”键盘。在各种示例中,输出元件包括用于显示图形用户界面(gui)的显示器605、视觉指示器620(例如,发光二极管)、和/或音频换能器625(例如,扬声器)。在一些示例中,移动计算设备600包括用于向用户提供触觉反馈的震动换能器。在又一示例中,移动计算设备600包括用于发送信号到外部设备或从外部设备接收信号的输入和/或输出端口,诸如音频输入(例如,麦克风插孔)、音频输出(例如,耳机插孔)和视频输出(例如,hdmi端口)。
图6b是示出移动计算设备的一个示例的架构的框图。即,移动计算设备600可以包括系统(即,架构)602来实现一些示例。在一个示例中,系统602被实施为能够运行一个或多个应用(例如浏览器、电子邮件、日历、联系人管理器、消息客户端、游戏、以及媒体客户端/播放器)的“智能电话”。在一些示例中,系统602被集成为计算设备,诸如集成的个人数字助理(pda)和无线电话。
一个或多个应用程序666可以被加载到存储器662并且在操作系统664上运行或与之相关联地运行。应用程序的示例包括电话拨号器程序、电子邮件程序、个人信息管理(pim)程序、文字处理程序、电子表格程序、互联网浏览器程序、消息程序等。系统602还包括存储器662内的非易失性存储区域668。非易失性存储区域668可以被用于存储系统602断电时不应被丢失的持久性信息。应用程序666可以使用并在非易失性存储区域668中存储信息,诸如电子邮件应用使用的电子邮件或其他消息等。同步应用(未示出)也驻留在系统602上并且被编程以与驻留在主机计算机上的对应同步应用交互以保持被存储在非易失性存储区域668中的信息与被存储在主机计算机处的对应信息同步。应当理解,包括本文描述的应用528、io管理器524以及其他实用程序526的其他应用可以被加载到存储器662中并且在移动计算设备600上运行。
系统602具有功率供应器670,其可以被实施为一个或多个电池。功率供应器670可以进一步包括诸如ac适配器或补充电池或对电池重新充电的加电对接底座的外部功率源。
系统602可以包括执行促进系统602和一个或多个外围设备之间的连接性的功能的外围设备端口678。去往和来自外围设备端口672的传输在操作系统664的控制下被引导。换句话说,由外围设备端口678接收到的通信可以经由操作系统被传播给应用程序666,并且反之亦然。
系统602也可以包括执行发射和接收射频通信的功能的无线电装置672。无线电装置672经由通信载体或服务提供商来促进系统602和“外部世界”之间的无线连接性。去往和来自无线电装置672的传输在操作系统672的控制下被引导。换句话说,由无线电装置672接收到的通信可以经由操作系统被传播给应用程序666,并且反之亦然。
视觉指示器620可以用于提供视觉通知,和/或音频接口674可以用于经由音频换能器625产生可听见的通知。在所示的示例中,视觉指示器620是发光二极管(led)并且音频换能器625是扬声器。这些设备可以被直接耦合到功率供应器670,使得当被激活时即使处理器和其他组件可能关闭以用于节省电池电量,它们在由通知机制指示的时间段内保持开启。led可以被编程以无限地保持开启,直到用户采取行动以指示设备的上电状态。音频接口674用于向用户提供可听见的信号以及从用户接收可听见的信号。例如,除了被耦合到音频换能器625之外,音频接口672还可以被耦合到麦克风以接收音频输入,诸如以促进电话交谈。根据本发明的示例,麦克风也可以作为音频传感器以促进通知的控制,如将在以下被详细描述的。系统602可以进一步包括视频接口676,其使得设备上的相机630的操作能够记录静止图像、视频流等。
实施系统602的移动计算设备600可以具有附加的特征或功能。例如,移动计算设备600还可以包括诸如磁盘、光盘或磁带的附加数据存储设备(可拆卸的和/或不可拆卸的)。这样的附加存储在图6b中由非易失性存储区域668示出。
由移动计算设备生成或捕获的并且经由系统602存储的数据/信息可以如上所描述的被本地地存储在移动计算设备600上,或者数据可以被存储在任意数量的存储介质上,该任意数量的存储介质可以由设备经由无线电装置672或经由移动计算设备600和与移动计算设备600相关联的分离的计算设备(例如,诸如互联网的分布式计算网络中的服务器计算机)之间的有线连接被访问。应当理解,这样的数据/信息可以经由移动计算设备600经由无线电装置672或经由分布式计算网络被访问。类似地,这样的数据/信息可以根据包括电子邮件和协作数据/信息共享系统的公知的数据/信息传递和存储手段而在计算设备之间被容易地传输以用于存储和使用。
图7示出用于提供应用的系统的架构的一个示例,如上所述,该应用可靠地访问存储系统上的目标数据以及处理到一个或多个客户端设备的通信故障。被访问的、与之交互的、或与应用528、io管理器524、其他实用程序526和存储装置相关联被编辑的目标数据可以被存储在不同通信信道或其他存储类型中。例如,各种文档可以使用目录服务722、门户网站724、邮箱服务726、即时消息存储库728或社交联网站点730被存储。应用528、io管理器524、其他实用程序526以及存储系统可以使用这些类型的系统中的任意系统等来实现如上所述的数据利用。服务器720可以提供存储系统以供通过网络715而操作在通用计算设备502和移动设备600上的客户端使用。通过示例的方式,网络715可以包括互联网或任意其他类型的局域网或广域网,并且客户端节点可以被实施为体现在个人计算机中的计算设备502、平板计算设备,和/或由移动计算设备600(例如,智能电话)实施。客户端计算设备502或600的这些示例中的任意示例可以从存储库716获得内容。
已经贯穿本说明书而对“一个示例”或“示例”做出的引用意指特定描述的特征、结构或特性被包括在至少一个示例中。因此,这样的短语的使用可以指代多于仅一个示例。此外,所描述的特征、结构或特性可以在一个或多个示例中以任意合适的方式被组合。
然而,本领域技术人员可以意识到,这些示例可以在没有具体细节中的一个或多个细节的情况下或者使用其他方法、资源或材料等被实践。在其他情况下,公知的结构、资源或操作尚未被详细地示出或描述以仅观察示例的模糊方面。
尽管示例和应用已经被示出和描述,应当认识到示例不限于以上描述的精确配置和资源。可以在不脱离所请求保护的示例的范围的情况下对本文所公开的方法和系统的布置、操作和细节做出对本领域技术人员而言显而易见的各种修改、改变和变化。