来自声音的对数字文档元素的动作的制作方法

文档序号:11530735阅读:261来源:国知局
来自声音的对数字文档元素的动作的制造方法与工艺



背景技术:

当与存储在计算机系统中的数字文档交互时,用户通常提供输入,比如屏幕上的触摸姿势或鼠标点击的形式,以打开文档。用户随后导航文档以找到所显示的文档中的一个显示的元素。利用所显示的元素,用户可以提供额外的输入以输入元素中的值。例如,该值可以是字母数字字符串、数字字符、符号等。类似地,如果用户要从文档读信息,则用户可以找到所显示的文档中的相关元素并且读取信息。除了这种与通过手运动和靠视力读的输入的交互之外,一些计算机系统允许通过声音输入来输入文本(语音到文本)以及通过可听声音反馈来回读(文本到语音)。



技术实现要素:

在一个方面中,可以将自然语言发声的用户输入接收到计算机系统中。从发声的用户输入取得一个或多个词项的集合。而且,可以确定所述一个或多个词项的集合对应于计算机系统中的特定数字文档,并且所述一个或多个词项的集合对应于至少一个计算机可执行命令。所述一个或多个词项的集合对应于至少一个命令的确定可以包括利用文档特定的自然语言转换数据结构来分析一个或多个词项的集合。转换数据结构可以是在计算机系统中利用计算机系统中的特定数字文档标识的计算机可读数据结构。可以确定,所述一个或多个词项的集合对应于所述文档中的元素,并且至少一个命令可对在文档中的元素执行。

提供该发明内容以便以简化的形式来引入概念的选择。概念在下面的具体实施方式中进一步描述。该发明内容不旨在确定所要求保护的主题的关键特征或主要特征,也不旨在用于限定所要求保护的主题的范围。类似地,本发明不限于解决在背景技术、具体实施方式或附图中所论述的特定技术、工具、环境、缺点或优点的实现方式。

附图说明

图1是可以实现所描述的方面中的一个或多个方面的适合的计算环境的框图。

图2是用于执行来自声音输入的对数字文档元素的动作的系统的示意图。

图3是图2的系统的另一示意图。

图4是用于执行来自自然语言声音输入的对数字文档元素的动作的技术的流程图。

图5是用于执行来自自然语言声音输入的对数字文档元素的动作的另一技术的流程图。

图6是用于执行来自自然语言声音输入的对数字文档元素的动作的又一技术的流程图。

具体实施方式

本文所描述的方面涉及利用自然语言声音输入与数字文档的改进的交互的技术和工具。该改进可从单独地或者组合地使用各种技术和工具来得到。如本文所使用的,自然语言是指人类所讲语言,通过该人类所讲语言,人类通常通过说和听来相互沟通。术语自然语言与计算机语言形成对比,计算机语言例如源代码语言、目标代码语言、计算机脚本语言等,但是在自然语言与计算机语音之间可以存在一定的重叠。而且,如本文所使用的,语法是指定义用于声音输入词项的一个或多个语法自然语言形式的计算机可读数据结构(其可以是连续数据结构、分布式数据结构等)。语法能够用于将自然语言声音输入词项的形式映射到计算机对象和/或动作。例如,其形式以语法定义的一组声音输入词项可映射到文档,映射到文档中的元素,映射到对文档中的元素所采取的动作,和/或映射到待输入到文档中的值。

本文所述的技术和工具可以包括,响应于发声的用户输入,对存储在计算机系统中的数字文档采取动作。例如,响应于声音自然语言用户输入,可以修改电子表格文档(其可以在提供声音输入的用户所在的位置的本地或远程地存储)。例如,在自然语言声音输入中所规定的值可以输入到电子表格的单元中。作为另一示例,可以提供自然语言声音输入,并且计算机系统可以通过可听地读来自电子表格的单元的值而对该声音输入做出响应。该技术还可以用于其它类型的数字文档,诸如文字处理文档、幻灯片演示文档、web页面等。

更具体地,工具和技术可以包括:通过在运行时访问文档特定的声音语法或其它文档特定的自然语言转换数据结构来对自然语言声音输入做出响应。例如,该转换数据结构可以存储在相对应的文档的元数据中,或者转换数据结构可以存储在一个或多个其它位置上。转换数据结构可用于标识对应于声音输入的计算机可执行命令。还可以确定文档中的对应于来自声音输入的一个或多个词项的元素(文档中的多个元素中的,诸如文档中的多个可显示元素中的可显示元素)。例如,该元素可由与转换数据结构相关联的对象来标识,转换数据结构继而又与声音输入中的一个或多个词项相关联,并且该确定可以通过检查对象来实现。计算机系统能够对文档中的元素执行命令(例如输入值到文档中和/或从元素读且返回信息的命令)。当值被输入到文档的元素中时,该值可以是在声音输入中所陈述的值。因此,本文所述的工具和技术能够允许用户使用自然语言来对文档“讲话”,将信息输入到文档中和/或从文档取回数据。从文档取回的数据可以利用文本到语音服务来向用户可听地回读。而且,将信息输入文档中和/或从文档取回且读回数据可以响应于发声的用户输入而以自动的方式完成。

因此,从本文所述的工具和技术中能够认识到一个或多个益处。例如,本文所述的声音交互特征,诸如利用自然语言发声的用户输入将数据输入到文档中和/或从文档读取数据,能够改善实现该特征的计算机系统的有用性。例如,用户可以使用用户所习惯的自然语言,在一些方案中,这可以在无需用户观看计算机显示器或以触摸姿势、击键等形式提供触觉输入的情况下完成。因此,作为例子,本文所述的技术进步可允许用户输入信息到文档中,同时执行需要使用用户的视觉和/或手的其它活动,例如步行或可能驾驶(但是当然在考虑到在特定活动期间使用特征时注意当地法律、一般安全考虑以及礼貌)。作为另一示例,本文所述的文档声音交互特征可以改善工作于数字文档的有残疾的用户的体验,允许该用户声音交互,并且允许用户避免使用用户的一个或多个受损的物理特征(例如,用户在读能力、手指灵巧度、视力等方面有损伤)。

在随附的权利要求中所限定的主题不一定限于本文所述的益处。本发明的特定的实现方式可以提供本文所述的全部、一些益处或不提供上述益处。虽然为呈现的原因用于各种技术的操作在本文中按特定的顺序进行了说明,但是应当理解的是,这种描述方式涵盖了操作顺序上的重新安排,除非要求特定的排序。例如,顺序地描述的操作在一些情况下会被重新安排或同时执行。而且,为简化的缘由,流程图可能未示出特定的技术可与其它技术相结合使用的各种方式。

本文所述的技术可用于本文所述的系统中的一个或多个和/或一个或多个其它系统。例如,本文所述的各个程序可利用硬件或软件或两者的组合来实现。例如,处理器、存储器、存储设备、输出设备、输入设备和/或下面参考图1所描述的通信连接可以各自是一个或多个硬件组件的至少一部分。专用硬件逻辑组件可构造成实现本文所述的一种或多种技术的至少部分。例如并且不是限制,该硬件逻辑组件可以包括现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑器件(cpld)等。可以包括各个方面的装置和系统的应用可以广泛地包含各种电子和计算机系统。可以利用能够在两个或更多个特定互连的硬件模块或器件之间通信的相关的控制和数据信号来使用两个或更多个特定互连的硬件模块或器件或者通过模块或者作为专用集成电路的部分来实现本技术。另外,本文所述的技术可以由计算机系统能执行的软件程序来实现。作为示例,实现方式可以包括分布式处理器、组件/对象分布式处理以及并行处理。而且,虚拟计算机系统处理可构造成实现如本文所述的技术或功能中的一个或多个。

i.示范性的计算环境

图1示出了可以实现所述的方面中的一个或多个的适合的计算环境(100)的泛化示例。例如,一个或多个该计算环境可以用作语言转换计算组件和/或声音交互计算组件。类似地,一个或多个该计算环境可用作客户端,并且一个或多个该计算环境可用作服务器。一般地,可使用各种不同的计算系统配置。可适合用于本文所述的工具和技术的公知的计算系统配置的示例包括但不限于,服务器群和服务器集群,个人计算机、服务器计算机、智能电话、膝上型设备、片式设备、游戏控制台、多处理器系统、基于微处理器的系统、可编程消费电子设备、网络pc、微型计算机、主机式计算机、包括任意上述系统或设备的分布式计算环境,等等。

计算环境(100)不旨在暗示本发明的使用或功能的范围上的任何限制,因为本发明可以在多种类型的计算环境中实现。

参考图1,将对各种所示的基于硬件的计算机组件进行说明。如将论述的,这些硬件组件可以存储和/或执行软件。计算环境(100)包括至少一个处理单元或处理器(110)和存储器(120)。在图1中,该最基本的配置(130)包含在虚线内。处理单元(110)执行计算机可执行指令且可以是真实的或虚拟的处理器。在多处理系统中,多个处理单元执行计算机可执行指令以提高处理力。存储器(120)可以是易失性存储器(例如,寄存器、高速缓存、ram)、非易失性存储器(例如,rom、eeprom、闪速存储器)或两者的某组合。存储器(120)存储实现来自声音的对数字文档元素的动作的软件(180)。来自声音的对数字文档元素的动作的实现方式可涉及到处理器(110)的活动的全部或部分并且存储器(120)以硬件逻辑作为软件(180)的替代或者与软件(180)一起实施。

虽然为清晰的原因以线示出图1的各个框,但是,事实上,各组件的界定不是如此清楚,并且隐喻地,下面论述的图1和其它图的线将更精确地是灰色的且模糊化的。例如,可以考虑诸如显示设备的呈现组件作为i/o组件(例如,如果显示设备包括触摸屏)。而且,处理器具有存储器。本发明的发明人认识到,这是本领域的本质且重申图1的图仅是示例说明可与本文所述的技术的一个或多个方面相结合使用的示范性的计算设备。在比如“工作站”、“服务器”、“膝上型设备”、“手持式设备”等的类别之间不做区分,因为所有这些都在图1的范围内进行构思且称为“计算机”、“计算环境”或“计算设备”。

计算环境(100)可以具有额外的特征。在图1中,计算环境(100)包括存储设备(140)、一个或多个输入设备(150)、一个或多个输出设备(160)和一个或多个通信连接(170)。比如总线、控制器或网络的互连机制(未示出)将计算环境(100)的组件互连。通常,操作系统软件(未示出)提供了在计算环境(100)中执行的其它软件的操作环境,并且协调计算环境(100)的组件的活动。

存储器(120)可以包括存储设备(140)(但是为了方便起见在图1中单独地描绘出它们),其可以是可移除的或非可移除的,并且可以包括比如闪速驱动器、磁盘、磁带或磁盒、cd-rom、cd-rw、dvd等计算机可读存储介质,其能够用于存储信息且能够在计算环境(100)内访问。存储设备(140)存储用于软件(180)的指令。

输入设备(150)可以是各种不同的输入设备中的一个或多个。例如,输入设备(150)可以包括用户设备比如鼠标、键盘、跟踪球等。输入设备(150)可以实现一个或多个自然用户接口技术,诸如语音识别、触摸和指示笔识别、与输入设备(150)接触且邻近输入设备(150)的姿势的识别、空中姿势、头和眼睛跟踪的识别、声音和语音识别、感应用户大脑活动(例如,使用eeg和相关方法),以及机器智能(例如,使用机器智能来理解用户的意图和目标)。作为其它的示例,输入设备(150)可以包括扫描设备;网络适配器;cd/dvd读取器;或提供输入到计算环境(100)的另一设备。输出设备(160)可以是显示器、打印机、扬声器、cd/dvd写入器、网络适配器或提供来自计算环境(100)的输出的另一设备。输入设备(150)和输出设备(160)可以并入单个系统或设备中,比如触摸屏或虚拟现实系统。

通信连接(170)使能经由通信介质与另一计算实体通信。另外,计算环境(100)的组件的功能可以实现在单个计算机器中或能够经由通信连接而通信的多个计算机器中。因此,计算环境(100)可以利用与比如手持式计算设备、个人计算机、服务器、路由器、网络pc、对等设备或另一共同网络节点的一个或多个远程计算设备的逻辑连接而操作于网络环境中。通信介质以调制数据信号来传达比如数据或计算机可执行指令或请求的信息。调制数据信号是一种使其一个或多个特性以将信息编码到信号中的方式来设定或改变的信号。通过示例而非限制的方式,通信介质包括利用电、光、rf、红外、声或其它载体实现的有线或无线技术。

工具和技术可以在计算机可读介质的一般上下文中描述,其可以是存储介质或通信介质。计算机可读存储介质是任何能够在计算环境内访问的可用的存储介质,但是术语计算机可读存储介质不是指传播信号本身。通过示例而非限制的方式,在计算环境(100)内,计算机可读存储介质包括存储器(120)、存储设备(140)以及上述的组合。

工具和技术可以在计算机可执行指令的一般上下文中描述,诸如包含在程序模块中的那些,在计算环境中执行于目标的真实或虚拟处理器上的那些。一般地,程序模块包括例程、程序、库、对象、类、组件、数据结构等,其执行特定的任务或实现特定的抽象数据类型。在各个方面,程序模块的功能可以根据需要组合或者在程序模块之间拆分。用于程序模块的计算机可执行指令可以在本地或分布式计算环境内执行。在分布式计算环境内,程序模块可以位于本地和远程计算机存储介质中。

为呈现的原因,具体实施方式使用了比如“确定”、“选择”、“调节”和“操作”的术语来描述计算环境中的计算机操作。这些和其它类似的术语是计算机所执行的操作的高级抽象,并且不应与人类所执行的动作混淆,除非人类(比如“用户”)进行的动作的执行被明确地指出。对应于这些术语的实际的计算机操作根据实现方式而变化。

ii.用于执行来自自然语言声音输入的对数字文档元素的动作的系统

a.一般客户端-服务器系统

图2是用于执行来自声音输入的对数字文档元素的动作的系统(200)的示意图。该系统(200)可以接收发声的用户输入(202),通过执行对所确定的文档的元素的动作来对发声的用户输入(202)做出响应,并且系统(200)还可以通过提供可听声音反馈(204)来对发声的用户输入(202)做出响应。系统可以包括客户端(210),其可以是计算设备,比如移动计算设备(智能电话、平板设备等)。客户端(210)可以连接到计算机网络(220),该计算机网络(220)又可以将客户端(210)与服务器(230)连接。服务器(230)可以包括一个或多个计算机器,其可以是专用的和/或多用途的服务器机器。在执行来自声音输入的对数字文档元素的动作中所执行的功能可以在服务器(230)上、在客户端(210)上执行,或者在客户端与服务器之间划分。例如,客户端(210)可以执行全部这样的功能,而不涉及到服务器(230)。作为另一示例,客户端(210)可以将发声的用户输入(202)传递到服务器(230),比如,以编码的音频格式,并且服务器(230)可以确定待执行的动作,并且对服务器(230)上所存储的文档执行那些动作,而不进一步涉及客户端(210),除了可能将用于声音反馈(204)的编码的音频传回到客户端(210)。本文所述的执行来自声音输入的对数字文档元素的动作的工具和技术可以多种其它方式在客户端(210)与服务器(230)之间拆分,这可以涉及到客户端(210)与服务器(230)之间经由网络(220)的通信(例如,网络消息、应用编程接口调用等)。因此,下面参考图3所描述的计算机组件、数据结构等的功能可以任意多种方式分布在多个计算机器之间,比如在客户端(210)与服务器(230)之间,其中每个可以托管在一个或多个计算机器上。

b.计算机系统计算组件

现在参考图3,将论述计算机系统(200)的各个组件。声音交互组件(310)可以接收发声的用户输入(202)并且能够利用声音反馈(204)来做出响应,声音反馈可以可听方式回读给用户。发声的用户输入(202)可以是来自用户的自然语言发声的用户输入的形式。声音交互组件(310)可以是这样的声音交互组件:比如接收来自用户的声音自然语言指令、对来自那些声音自然语言指令的意义进行解码以及响应于解码的意义而采取适当动作的现有的声音交互组件。因此,声音交互组件(310)可以加载到存储器中且被启动以变成活跃的,并且对发声的用户输入执行语音到文本分析,产生一个或多个识别的词项(312)的集合。那些识别的词项(312)可以用于取得计算机可执行命令。例如,输入项可利用声音交互组件(310)来注册,声音交互组件(310)可以规定,当一组自然语言指令以特定词项开始时,比如“文档管理器”,则声音交互组件(310)启动语言转换组件(320)(比如通过加载语言转换组件(320)且传递控制到语言转换组件(320))并且将来自发声的用户输入(202)的自然语言指令的识别的词项(312)传递到语言转换组件(320)。

通过非声音用户交互(比如,触摸或鼠标点击)直接启动语言转换组件(320),可以省略比如“文档管理器”的特定词项。这则将允许用户对他们的文档“讲话”,如本文所述的,而不讲用于语言转换组件(320)的特定词项(比如在所讲自然语言句子的开头处的词项“文档管理器”)。

语言转换组件(320)能够访问用于将来自发声的用户输入(202)的识别的词项(312)转换成待对相对应的文档(340)执行的命令(324)的语言转换数据结构(322)。例如,语言转换组件(320)可以对多个语言转换数据结构(322)具有访问权,每个这样的数据结构对应于多个文档(340)中的文档(340)。每个语言转换数据结构(322)可以位于计算机存储器的连续部分上,或者每个语言转换数据结构可以分散,例如,数据结构的部分与其它数据结构的部分交错。而且,每个语言转换数据结构(322)可以存储在相对应的文档(340)的元数据中,存储在文档(340)本身内(电子表格文档的单元内,等等)和/或存储在其它地方。在这些方案中的任意方面中,系统(200)可以将每个语言转换数据结构(322)与该语言转换数据结构(322)所属的相对应的具体文档(340)相关。例如,系统(200)可以维护将转换数据结构(322)与文档(340)链接的数据库,转换数据结构(322)可以引用文档(340),或者转换数据结构(322)可以位于文档(340)的元数据内。因此,可使用不同的语言转换数据结构(322)来取得待对不同的文档(340)执行的命令。

如上文所述,语言转换组件使用相关的语言转换数据结构(322)来从识别的词项(312)中取得命令(324),识别的词项(312)可通过声音交互组件(310)从发声的用户输入(202)取得。命令(324)可被格式化以对文档(340)的特定元素(342)执行动作,该元素可以在发声的用户输入(202)中指示,如下文更详细论述的。

语言转换数据结构(322)可以是多种形式中的任意形式。例如,每个语言转换数据结构(322)可以包括一个或多个声音语法。每个这样的声音语法可以包括所识别的词项(312)能够与之匹配的一个或多个模板。因此,在该方案中,声音语法和识别的词项可以加载到计算机存储器中,并且进行比较,比如关于词项本身以及词项的顺序进行比较。如果识别的词项(312)匹配声音语法,则与语言转换数据结构(322)中的声音语法相关的命令(324)可被执行。语言转换数据结构(322)可以是多种格式中的任一种,诸如xml对象或某其它格式。

作为另一示例,语言转换数据结构(322)可以是不同类型的数据结构。例如,语言转换数据结构(322)可以包括神经网络,或者能够用于将一组识别的词项(312)映射到待执行的一个或多个命令上的某其它数据结构。例如,该神经网络可以考虑历史结果,并且神经网络可根据这样的历史结果来修改以提供机器学习。例如,该结果可以包括来自用户的关于当那些用户的发声的用户输入(202)被分析而将它们转换成命令(324)时预期命令是否被选定的反馈。

命令(324)本身可以是多种形式中的任一种,比如应用编程接口调用、函数调用、网络消息等。

作为示例,执行命令(324)可以包括直接执行对应于语言转换数据结构的对文档(340)的标识的元素(342)的动作(例如,将值插入元素中和/或从元素读值)的语言转换组件(320)。可替代地,执行命令(324)可以通过语言转换组件(320)比如经由应用编程接口调用、经由网络消息等将命令传送给另一计算组件来执行。命令(324)则可以实际上通过接收来自语言转换组件(320)的命令的全部或部分的一个或多个其它计算组件来实施。例如,在电子表格的情况下,语言转换组件(320)可以将命令(324)发送到电子表格应用,或者发送到文档管理应用。而且,执行命令可以涉及到执行对文档的多个元素(342)的动作。例如,命令(324)可以规定,指定的值应输入文档(340)的多个标识的元素(342)中。作为另一示例,命令(324)可以规定,指定的值应输入文档的一个元素(342)中,然后从文档的不同元素(342)读另一相关值。例如,所读的值可以是至少部分地取决于所输入的值的值。所读的值随后可传递到声音交互组件(310)以便(利用文本到语音)可听地向用户回读作为声音反馈(204)。声音反馈(204)的另一示例可以是期望值被成功地输入到指定的文档(340)的元素(342)中的可听确认。

声音交互组件(310)和/或语言转换组件(320)可以提供接口,以允许用户输入、创建和编辑语言转换数据结构(322)和命令(324)。因此,用户可以提供用户输入,所述用户输入例如指定应与对指定的文档的动作匹配的语法。用户输入还可以指定待执行的命令以及将对其执行命令的文档(340)中的元素的位置。另外,可提供用户输入以将特定的语言转换数据结构(322)链接到特定文档(340),链接到一个或多个命令(324),以及可能链接到将被识别为是指该对应的文档(340)和语言转换数据结构(322)的一个或多个声音输入。用户输入还可以为语言转换组件提供语言转换数据结构(322)的位置和文档(340)的位置。还可以提供该用户输入以修改语言转换数据结构(322),以及关联的数据单元(例如,将语言转换数据结构(322)与相对应的文档(340)链接的数据单元,等等)。

如图所示,语言转换组件(320)可以与多个不同的文档(340)交互,以及与对应于那些文档(340)的多个不同的语言转换数据结构(322)交互。因此,系统能够接收引用第一文档(340)的第一组发声的用户输入(202),并且能够通过利用相对应的语言转换数据结构(322)执行对该文档(340)的元素(342)的指定的动作来做出响应。语言转换组件(320)随后可以接收引用第二文档(340)的第二组发声的用户输入(202),并且能够通过利用相对应的语言转换数据结构(322)对该文档(340)的元素执行规定动作来做出响应。在一些方面,每个语言转换数据结构(322)可对应于一个且仅一个文档(340),但是在其它方面中,一个或多个语言转换数据结构可以对应于规定的一组多个文档(340),比如那些文档(340)共享允许使用相同的语言转换数据结构(322)的相似性。在任意方面中,计算机系统(200)能够将语言转换数据结构(322)与指定文档(340)相关以在对该文档(340)中的元素进行动作时使用。

在一个实现方式中,声音交互组件(310)和语言转换组件(320)可以是能够通过应用编程接口彼此通信的单独的计算机软件应用。然而,语言转换组件(320)和声音交互组件(310)可以包含在单个应用中。而且,声音交互组件(310)和语言转换组件(320)中的一者或两者可以分布在多个机器之间。例如,这些组件(310和/或320)中的一者或两者可以包括各自位于不同的计算机器上的子组件。例如,组件(310和320)中的每一个可以包括客户端和服务器子组件。服务器子组件可以位于单服务器机器上或散布在多个服务器机器之中。

c.实现来自声音的对数字文档元素的动作的示例

在一个示例中,文档(340)可以是电子表格,所述电子表格是利用位于比如膝上型或桌面型计算机、平板式计算机设备或智能电话设备的客户端设备(210)远程的服务器(230)上所运行的文档管理web服务来存储和管理的。虽然在此论述了该特定方案,但是如上文所述,本文所述的工具和技术可以利用返回语言转换数据结构比如声音语法以及元素的标识(例如,使用文档中该元素的位置的指示)来修改文档的其它文档结构或在线服务。

在示例中,用户在以发声的用户输入(202)提供给声音交互组件(310)的句子的开头说出语言转换组件(320)的应用名称。声音交互组件(310)可通过启动语言转换组件(320)(例如,通过应用编程接口调用)来做出响应。在启动语言转换组件时,语言转换组件(320)可以接收来自语音交互组件(310)的识别的词项(312)。语言转换组件(320)可以从识别的词项中解析利用文档(340)标识的词项(诸如已经结合文档(340)利用语言转换组件注册的一个或多个词语,例如文档的缩写名)。响应于标识出文档(340)的词项,语言转换组件(320)可以将该特定文档(340)的语言转换数据结构(322)加载到计算机存储器中。

对文档的提及可由语言转换组件(320)来识别,例如通过在识别的词项(312)形成的陈述的末尾识别诸如“到我的<文档>”的短语(其中<文档>指示文档的名称)。在示例中,文档名称可以映射到文档的位置的指示(例如,统一资源定位符),例如通过使用语言转换组件(320)可访问的数据库,例如通过本地地存储于客户端(210)上,其中语言转换组件(320)至少部分地运行于客户端(210)上。例如,文档名称到位置的映射可由用户输入来输入,但是可以例如通过在客户端(210)上本地搜索和/或在服务器(230)上存储文档的在线服务上搜索来自动地填充。例如,web服务应用编程接口可由语言转换组件(320)的客户端侧子组件使用来取回远程地存储在服务器(230)上的文档(340)的语言转换数据结构(322)(例如,声音语法)。例如,语言转换数据结构(322)可以存储在文档的元数据中、在线数据库中,或者可能在文档/电子表格中的设定点中。语言转换组件(320)能够取回语言转换数据结构,并且能够将语言转换数据结构(322)读且加载到计算机存储器中。除了用于将识别的词项(312)转换成命令(324)的语法或其它结构之外,语言转换数据结构可以包括位置的指示(比如,网站url或电子表格单元,比如单元a2),以确定对应于语言转换数据结构的命令(324)所作用的元素的标识符和位置。在一个示例中,文档(340)本身的引用元素(例如,电子表格文档中的单元)中的值可以指示待作用的另一不同元素(342)的位置。

在声音语法的示例中,声音语法可由声音库应用编程接口来加载和处理。那些声音库应用编程接口能够返回变量列表,其尺寸可由语法本身来确定。对于第一变量,变量的值可以放入文档(340)的元素(342)中(例如,电子表格的加载的单元号(诸如a2))。另外,在一些方案中,连续变量可以放置在紧跟第一元素的位置之后。在电子表格的情况下,这些变量可以自动加载到相邻单元(诸如单元a3,a4等)中。

例如,如果语言转换组件的名称是“文档管理器”,则发声的用户输入可以说,“文档管理器,将用于气的40美元和针对里程的20加入到我的气里程跟踪电子表格中”。友好文档名称可被识别为“气里程跟踪电子表格中”,用户已经在用于语言转换组件(320)的应用中对此进行了定义。声音交互组件可以将词项“文档管理器”识别为对应于语言转换组件(320),并且可通过从发声的用户输入(202)取得所识别的词项(312)、启动“文档管理器”语言转换组件(320)以及将识别的词项(312)传递到语言转换组件(320)来做出响应。

语言转换组件(320)随后可以发现映射到友好文档名称的文档(340)的适当的统一资源定位符并且从文档(340)的元数据(或比如文档内的某其它位置,取决于实现方式)加载声音语法。声音语法可以指示,存在类似于形式“添加<数字><用于或针对>气[和,可选]<数字><用于或针对>里程”的某事项,其中词语“数字”和“用于或针对”描述了所需的词项(数字,以及或者是词语“用于”或词语“针对”),而“和,可选”描述了可选词项“和”。声音语法还可以指示词项的顺序应按语法中所提供的相同的顺序。插入数字的位置也可以从文档读取(例如,电子表格中的单元a1可以指示值a2,使得用于气和里程的数字应分别输入到单元a2和相邻的单元b2中)。

在示例中,可以将识别的词项(312)解析且与声音语法进行比较,这可以允许语言转换组件(320)识别用于气的数字和用于里程的数字应分别放入单元a2和b2中。除了将数字输入单元中之外,语言转换组件(320)可以将位置移到下一行(在电子表格的情况下)或者可以以由文档类型定义的某种其它方式移动该位置。例如,在上面的示例中,在单元a1中对“a2”的引用可由引用“a3”来取代,指示下一输入项将被输入到单元a3和b3中。不是在文档中具有该位置指示符,该位置指示符可位于其它地方。作为另一示例,元素的位置可通过搜索(比如通过搜索电子表格的列a中的第一空白单元)且将值输入到该单元中来确定。

虽然给出了该示例,但是本文所述的工具和技术可用于许多其它方案。工具和技术可应用的电子表格文档的一些其它示例包括食物跟踪电子表格、预算电子表格、项目规划电子表格等。该技术还可用于其它文档,比如文字处理文档或web页面。例如,如果用户想要快速地添加输入项到研究论文中的文献目录中(其是文字处理文档),则用户可以说“文档管理器,将‘abrahamlincoln’添加到我的博士论文的文献目录中”。在该方案中,定位且插入值到文字处理文档中会涉及使用宏,宏可容易地写入以搜索文档的“文献目录”部分,然后在该部分的末尾输入硬回车且将指定的文本插入到硬回车后所得到的新行中。类似的搜索技术可用于将信息输入web页面中以及从web页面取回信息。

另外,类似的技术可用于从文档的一个或多个元素取回信息且向用户回读该信息。例如,对于预算电子表格,用户可以说“文档管理器,添加十美元到我的气预算中”。作为响应,计算机系统可以在添加汽油的输入项的位置上添加十美元到预算电子表格中的规定的电子表格单元中。

另外,在该值成功地输入到单元中之后,语言转换组件(320)可以指示声音交互组件(310)以利用可听确认(比如“你的预算已更新”)来做出响应。语言转换组件(320)还可以用其它来自电子表格的信息来做出响应。例如,预算电子表格可以具有利用公式自动更新以示出已经花费的预算的百分比的单元。在该情况下,该单元可被标识为以“<来自电子表格中的单元的值>花费了你的预算的百分比”的形式取回响应的信息的位置,其中“来自电子表格中的单元的值”是用于已经花费的预算的百分比的单元中的值。语言转换组件(320)可撰写所得到的陈述(比如“花费了你的预算的42%”),并且将该陈述发送到声音交互组件(310)以作为声音反馈(204)向用户回读。

类似地,发声的用户输入(202)可以请求其它动作,比如从文档(340)中的元素(342)取回信息,而不是(或者作为附加)请求该信息被输入到文档(340)中的元素(342)。例如,用户可以说,“文档管理器,我的预算花费了多少”。作为响应,声音交互组件(310)能够识别词项“文档管理器”,并且能够启动语言转换组件(320)且将识别的词项(312)传递到语言转换组件(320)。语言转换组件(320)能够识别文档名称“预算”并且能够取回预算文档的相对应的语言转换数据结构(322)。语言转换组件(320)能够使用语言转换数据结构来确定用户正在请求从预算文档中的指定元素(指定已经花费的预算的量的元素)被回读的信息。例如,如上所述,这可利用语法、神经网络或语言转换数据结构中的类似结构以及与该语法或其它识别的结构相关联的位置和命令的指示来完成。在定位文档(340)中的元素(342)时,语言转换组件能够读值(比如预算百分比的42),能够撰写陈述(比如“花费了你预算的42%”),并且能够将该陈述传递到声音交互组件(310)以可听地读给用户。

iii.用于执行来自自然语言声音输入的对数字文档元素的动作的技术

现在将论述用于执行来自自然语言声音输入的对数字文档元素的动作的多种技术。这些技术中的每一种都能够在计算环境中执行。例如,每种技术可以在包括至少一个处理器和存储器的计算机系统中执行,存储器包含存储在其中的指令,当由至少一个处理器执行时,指令使至少一个处理器执行技术(存储器存储指令(例如,目标代码),并且当处理器执行那些指令时,处理器执行该技术)。类似地,一个或多个计算机可读存储器可以具有体现于其中的计算机可执行指令,当通过至少一个处理器执行时,所述计算机可执行指令使至少一个处理器执行该技术。下文所论述的技术可以至少部分地通过硬件逻辑来执行。

参考图4,将描述用于执行来自自然语言声音输入的对数字文档元素的动作的技术。该技术可以包括将文档特定的自然语言转换数据结构加载(410)到计算机系统中的计算机存储器中。转换数据结构可以是在计算机系统中利用计算机系统中的特定数字文档标识的计算机可读数据结构。该技术还可以包括将自然语言发声的用户输入接收(420)到计算机系统中。可以经由计算机系统从发声的用户输入取得(430)一个或多个词项的集合。而且,经由计算机系统,能够确定(440),一个或多个词项的集合对应于计算机系统中的特定数字文档。而且,能够经由计算机系统确定(450),一个或多个词项的集合对应于至少一个计算机可执行命令。确定(450)可以包括利用文档特定的自然语言转换数据结构来分析一个或多个词项的集合。而且,能够经由计算机系统确定(460),一个或多个词项的集合对应于文档中的元素,比如其中词项中的一个或多个匹配利用该元素的文档位置所标识的语法。而且,至少一个命令可以执行(470)于文档中的元素上。在接收到(420)发声的用户输入时,计算机系统可以响应于接收到(420)发声的用户输入而执行动作(430、440、450、460和470)中的其余动作的一个或多个。该技术以及下面所描述的那些技术能够通过提供与数字文档的声音交互,例如通过允许使用声音交互来提示计算机系统在文档中的元素——以及可能在多个元素——上执行命令,来改进计算系统的效率和有用性。

转换数据结构可以包括声音语法,声音语法是定义用于声音输入的自然语言词项的一个或多个语法形式的模板。例如,声音语法可以包括代码,诸如xml代码,其能够定义用于声音输入的自然语言词项的语法形式,并且xml代码也可以定义待对文档中的元素执行(470)的一个或多个命令。

而且,确定(450)一个或多个词项的集合对应于至少一个命令可以包括确定一个或多个词项的集合适合语法所定义的语法形式中的至少一个。另外,确定(460)一个或多个词项的集合对应于文档中的元素可以包括:标识文档中的位置,比如通过访问指示元素的位置的数据单元和/或针对元素的位置来搜索文档和/或针对包括元素的文档的部分的位置来搜索文档。该技术还可以包括:播放从输入到文档中的元素的值取得的回读值的可听阅读,例如通过使用声音到文本计算组件来将该值变换成声音音频数据,以及利用计算机系统中所包含的扬声器来播放该音频数据。回读值可以与输入到文档中的元素中的值相同或不同。例如,文档中的元素可以是第一元素,回读值可以是文档中的不同于文档的第一元素的第二元素中的值,并且播放回读值的可听阅读可以包括从文档中的第二元素读回读值。

图4的技术还可以包括:从一个或多个词项的集合取得值(数字、词语、一组词语等),以及对文档中的元素执行(470)命令可以包括将该值输入到文档中的元素中。例如,一个或多个词项的集合可以包括值,或者该值可以是不在一个或多个词项的集合中的值,而是从一个或多个词项的集合计算出的值。

在图4的技术中,对文档中的元素执行(470)至少一个命令可以包括:从文档中的元素读值,以及返回文档中的第一元素中的值。该技术还可以包括:响应于将自然语言发声的用户输入接收到计算机系统中,播放该值的可听阅读。例如,这可利用文本到声音技术以及通过计算机系统中的扬声器播放所得到的可听数据来完成,如上文所述。

图4的技术还可以包括接收将转换数据结构与计算机系统中的数字文档相关的用户输入。还可以提供用户输入以限定转换数据结构,并且还修改该转换数据结构。

图4的技术可利用多个相应的转换数据结构而用于多个文档。这可以允许声音交互针对不同文档来进行个性化,结果是计算机系统的有用性增强。例如,计算机系统可以存储多个转换数据结构,每个转换数据结构是利用计算机系统中所存储的多个文档中的不同的文档来标识的。转换数据结构可以称为第一转换数据结构,文档可称为第一文档,自然语言发声的用户输入可以称为第一组自然语言发声的用户输入,而一个或多个词项的集合可称为一个或多个词项的第一集合。至少一个命令可以是包括一个或多个命令的第一命令集合。该技术可以包括:将第二文档特定的自然语言转换数据结构加载到计算机系统中的计算机存储器中,第二转换数据结构是在计算机系统中利用计算机系统中的第二特定数字文档标识的计算机可读数据结构。该技术还可以包括:将第二组自然语言发声的用户输入接收到计算机系统中,以及经由计算机系统从第二组发声的用户输入取得一个或多个词项的第二集合。而且,该技术可以包括:经由计算机系统确定一个或多个词项的第二集合对应于计算机系统中的第二特定数字文档,以及经由计算机系统确定一个或多个词项的第二集合对应于包括至少一个计算机可执行命令的第二命令集合。确定一个或多个词项的第二集合对应于第二命令集合可以包括:利用第二文档特定自然语言转换数据结构来分析一个或多个词项的第二集合。可以经由计算机系统确定一个或多个词项的第二集合对应于第二文档中的元素。可以对第二文档中的元素执行至少一个命令。第一转换数据结构可以不同于第二转换数据结构,第一文档可不同于第二文档,并且第一文档中的元素可以不同于第二文档中的元素。

参考图5,将描述用于执行来自自然语言声音输入的对数字文档元素的动作的另一技术。该技术可以包括:将自然语言发声的用户输入接收(510)到计算机系统中。该技术还可以包括从发声的用户输入取得(520)一个或多个词项的集合,一个或多个词项指定待插入的值。该技术还可以包括:确定(530)一个或多个词项的集合对应于计算机系统中的数字文档。另外,该技术可以包括确定(540)一个或多个词项的集合对应于至少一个计算机可执行命令。确定(540)一个或多个词项的集合对应于至少一个命令可以包括利用文档特定自然语言转换数据结构来分析一个或多个词项的集合中的至少一部分。还可以确定(550)一个或多个词项的集合对应于文档中的元素。另外,至少一个命令可以对文档中的元素执行(560),所述执行(560)可以包括将值输入元素中。

上述一种或两种技术中的文档可以是比如电子表格文档、文字处理文档、幻灯片演示文档或web页面之类的文档。在一个具体的示例中,元素可以是电子表格中的单元。在这些中的任一个中,文档可以是可显示以显示文档的内容(包括文档中的元素的内容)的数字文档。而且,转换数据结构可以存储在文档本身中,用于文档的元数据中或其它地方。

参考图6,将描述用于执行来自自然语言声音输入的对数字文档元素的动作的又一种技术。图6的技术可以包括:将文档特定声音语法加载(610)到计算机系统的存储器中。该计算机系统可以将声音语法与计算机系统中的数字电子表格文档相关。例如,该相关可以通过计算机系统维护对声音语法的引用以及对数据库的同一部分(诸如在数据库中的同一行或同一列中)的数字文档的引用来实现。数据库的该部分还可以包括对与声音语法和数字文档相关的一个或多个命令的引用,使得在词项被确定为匹配声音语法的情况下可确定词项与命令相关。作为另一示例,声音语法可以通过被包含在该数字文档的元数据中而与数字文档相关。

图6的技术还可以包括:经由自然语言声音交互计算机组件将自然语言发声的用户输入接收到(620)计算机系统中。图6的技术还可以包括:经由自然语言声音交互计算机组件从发声的用户输入取得(630)一个或多个词项的集合。另外,可以确定(640)一个或多个词项的集合对应于计算机系统中的数字电子表格文档。而且,该技术可以包括确定(650)一个或多个词项的集合对应于至少一个计算机可执行命令。该确定(650)可以包括:确定一个或多个词项的集合适合由语法定义的语法形式中的至少一个,以及确定(660)一个或多个词项的集合对应于电子表格文档中的单元。另外,该技术可以包括对电子表格文档中的单元执行(670)至少一个命令。执行(670)至少一个命令可以包括采取从由以下项构成的组中选出的一个或多个动作:将从一个或多个词项的集合取得的值输入到单元中、从单元读一个或多个词项的集合所请求的值、及其组合。例如,一个或多个动作可以包括将从一个或多个词项的集合取得的值输入单元中。而且,单元可称为第一单元,一个或多个动作可以进一步包括:从第二单元读值,以及可听地通报第二单元中的值,第二单元中的值至少部分地基于第一单元中所输入的值。例如,第二单元可以包括公式,并且该公式可以直接或间接地引用该第一单元。

iv.一些工具和技术的方面

在一个方面中,计算机实现的方法可以包括:将文档特定自然语言转换数据结构加载到计算机系统中的计算机存储器中,转换数据结构是在计算机系统中利用计算机系统中的具体数字文档标识的计算机可读数据结构。该方法还可以包括:将自然语言发声的用户输入接收到计算机系统中,以及经由计算机系统从发声的用户输入取得一个或多个词项的集合。该方法还可以包括:经由计算机系统确定一个或多个词项的集合对应于计算机系统中的具体数字文档,并且该方法还可以包括经由计算机系统确定一个或多个词项的集合对应于至少一个计算机可执行命令。确定一个或多个词项的集合对应于至少一个命令可以包括利用文档特定自然语言转换数据结构来分析一个或多个词项的集合。另外,该方法可以包括:经由计算机系统确定一个或多个词项的集合对应于文档中的元素,以及对在文档中的元素执行至少一个命令。

根据前面段落所述的方法可以包括以下强调特征中的一个或多个:

转换数据结构可以包括声音语法,声音语法是定义用于声音输入的自然语言词项的一个或多个语法形式的模板,其中确定一个或多个词项的集合对应于至少一个命令包括确定一个或多个词项的集合适合由语法定义的一个或多个语法形式中的至少一个。

该方法可以包括从一个或多个词项的集合中取得值,其中对文档中的元素执行至少一个命令包括将值输入文档中的元素中。根据该特征,该方法还可以包括:播放从输入到文档中的元素中的值取得的回读值的可听阅读。而且,根据该特征,文档中的元素可以是第一元素,并且回读值可以是文档中的第二元素中的值,其中文档中的第二元素不同于文档中的第一元素,并且其中播放回读值的可听阅读包括从文档中的第二元素读回读值。

对文档中的元素执行至少一个命令可以包括从文档中的元素中读值以及返回该值,并且该方法还可以包括:响应于将自然语言发声的用户输入接收到计算机系统中来播放值的可听阅读。

该方法还可以包括接收将转换数据结构与计算机系统中的数字文档相关的用户输入,响应于此,计算机系统可以将转换数据结构与数字文档相关。

计算机系统可以存储多个转换数据结构,每个转换数据结构利用计算机系统中存储的多个文档中的不同的文档来标识,其中转换数据结构是第一转换数据结构,其中文档是第一文档,其中自然语言发声的用户输入是第一组自然语言发声的用户输入,一个或多个词项的集合是一个或多个词项的第一集合,并且至少一个命令是包括一个或多个命令的第一命令集合。该方法还可以包括以下:将第二文档特定自然语言转换数据结构加载到计算机系统中的计算机存储器中,第二转换数据结构是计算机系统中利用计算机系统中的第二特定数字文档标识的计算机可读数据结构;将第二组自然语言发声的用户输入接收到计算机系统中;经由计算机系统从第二组发声的用户输入取得一个或多个词项的第二集合;经由计算机系统来确定一个或多个词项的第二集合对应于计算机系统中的第二特定数字文档;经由计算机系统来确定一个或多个词项的第二集合对应于包括至少一个计算机可执行命令的第二命令集合,确定一个或多个词项的第二集合对应于第二命令集合包括利用第二文档特定自然语言转换数据结构来分析一个或多个词项的第二集合;经由计算机系统来确定一个或多个词项的第二集合对应于第二文档中的元素;以及对第二文档中的元素执行至少一个命令。

前面的强调特征可用于强调特征之前的段落中所论述的基本方法,并且强调特征还可按这些特征的任意组合相互使用。

在另一方面中,计算机系统可以包括至少一个处理器和计算机存储器,所述计算机存储器包括存储于其中的指令,当通过至少一个处理器执行时,指令使至少一个处理器执行动作。那些动作可以包括以下:将自然语言发声的用户输入接收到计算机系统中;从发声的用户输入取得一个或多个词项的集合,一个或多个词项规定了待插入的值;确定一个或多个词项的集合对应于计算机系统中的数字文档;确定一个或多个词项的集合对应于至少一个计算机可执行命令,确定一个或多个词项的集合对应于至少一个命令包括利用文档特定自然语言转换数据结构来分析一个或多个词项的集合的至少一部分;确定一个或多个词项的集合对应于文档中的元素;以及对文档中的元素执行至少一个命令,执行至少一个命令包括将值输入到元素中。

在前面段落的方法中,文档可以是从由电子表格、文字处理文档、幻灯片演示文档和web页面构成的组中选定的文档。而且,文档可以是电子表格,并且文档中的元素可以是电子表格中的单元。转换数据结构可以存储在数字文档的元数据中,无论文档是电子表格、文字处理文档、幻灯片演示文档、web页面还是某其它类型的数字文档,以及文档中的元素是否是电子表格中的单元。

虽然以特定于结构特征和/或方法动作的语音描述了主题,但是应当理解的是,在随附的权利要求中限定的主题不一定限于上述的特定特征或动作。相反,上述的具体特征和动作被公开作为实现权利要求的示例的形式。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1