提供计算机生成文档中识别文本串上自动化的行动的制作方法

文档序号:6517164阅读:195来源:国知局
专利名称:提供计算机生成文档中识别文本串上自动化的行动的制作方法
技术领域
本发明一般涉及计算机生成的文档中的文本和数据识别。更为具体地,本发明的实施例涉及用于提供计算机生成的文档中所识别的文本和数据串上或与其相关联的自动的行动的方法和系统。
背景技术
由于计算机和软件时代的到来,软件开发者试图向软件用户提供自然地有前后关系的有帮助的功能。例如,已开发了软件,用于当用户正在键入日期时检测用户正在将数据输入到计算机生成的文档中。在用户完成日期之前,软件应用程序为用户表示出自动完成该日期。开发了其它软件,用于响应于由用户输入的某些数据向用户提供有帮助的行动。例如,如果用户的文字处理应用程序认识到用户已输入了日期,则可向用户提供启动用户的电子日历的行动,以允许用户对所输入的日期检查约会或核实他或她的日历上的信息。
已开发了用于识别和标记文本或数据串,如名字、日期、地址等的系统。在识别了串并将其标记为属于特定的语义类别之后,允许用户在识别的串上选择并发起某一类型的行动。例如,如果文本串被识别并被标记为属于语义类别“名字”,则可允许用户发起向用户的联系人数据库中添加该名字的行动。
不幸的是,这类系统不允许在识别了文本或数据串为属于给定语义类别时自动发生行动。即,依照这类系统,在识别了给定的文本串并将其标记为属于给定的语义类别之后,可向用户提供在所识别并标记的串上或与其相关联的可用行动,但是用户必须从所提供的行动中进行选择以起动所选择的行动。
对于这些和其它考虑事项,作出本发明。

发明内容
本发明的实施例提供了用于在被识别为属于某些语义类别的文本或数据串上或与其相关联地自动执行行动的方法和系统。一般而言,依照本发明的各方面,用户使用一主软件应用程序,如文字处理应用程序、电子表格应用程序、联系人数据库应用程序、日历应用程序、幻灯片演示应用程序等,向计算机生成的文档输入文本或数据。由用户输入的文本被传递到一识别器应用程序。该识别器应用程序可以是动态链接库应用程序。在识别器应用程序处,文本可被传递到一个或多个其它识别器应用程序,其任务是识别文本或数据为属于特定的语义类别。例如,一个识别器应用程序的任务可以是识别文本或数据属于语义类别“名字”。另一识别器应用程序的任务可以是识别文本或数据属于一个不同的语义类别,如“日期”。如果给定的文本或数据串被识别为属于给定的语义类别,则识别器应用程序将对应于所识别的串的数据传递回主应用程序。
依照本发明的一个方面,在将给定的串识别为属于给定的语义类别之后,将指向主应用程序的对象模型的指针传递到识别器应用程序。在识别器应用程序接收到指向主应用程序的对象模型的指针之后,识别器应用程序可响应于所识别的串执行主应用程序的任一功能。例如,识别器应用程序可向所识别的串应用格式化,或者识别器应用程序可通过对文档的其它部分进行语法分析在串上执行附加识别,以获取与所识别的串相关联的上下文信息。由于识别器应用程序能够访问主应用程序的对象模型,识别器应用程序可依照由主应用程序的对象模型提供的功能在所识别的串或文档的其它部分上执行任何行动。
依照本发明的另一方面,在识别器应用程序将对应于所识别的串的数据传递回主应用程序之后,主应用程序触发一应用程序级或文档级事件。指定的用于在由识别器应用程序所识别的类型的所识别的串上执行行动的行动组件检测或俘获该事件,然后自动执行该行动组件被编程来执行的任何功能。例如,如果行动组件包括用于应用诸如对所识别的串加粗等格式化的软件编程,则该行动组件在检测或俘获到由主应用程序触发的事件之后,可自动向文本串应用所定义的格式化。
依照本发明的另一方面,在串由识别器应用程序识别之后,识别器应用程序设置与要在所识别的串上或与其相关联地执行的期望行动相关联的属性。识别器应用程序将信息传递到主应用程序,以标识所识别的串,并且识别器应用程序将由识别器应用程序设置的属性传递到主应用程序,以向主应用程序标识应当在所识别的串上或与其相关联地执行的特定行动。主应用程序调用一由识别器应用程序所设置的属性标识的行动组件,并且所调用的行动组件自动执行所识别的串上或与其关联的已编程行动。例如,如果所调用的行动组件被编程为创建一与识别成作者名字的串相关联的文献目录文件,则该行动组件可打开一文献目录文件。应当理解,上述示例仅作为说明,并非局限所要求保护的本发明的范围。
当阅读以下详细描述并仔细察看附图,可以清楚表征本发明的这些和其它特征和优点。可以理解,以上一般描述和以下详细描述仅为示例性和说明性的,并非限制所要求保护的本发明。


图1所示是提供并说明本发明的实施例的操作环境的个人计算机的体系结构的框图。
图2所示是用于依照本发明的各个实施例识别、标记文本或数据串和在其上执行行动的软件体系结构的框图。
图3、4和5所示是依照本发明的实施例用于在所识别的文本或数据串上自动执行行动的说明性例程的流程图。
具体实施例方式
如上文简要描述的,本发明的实施例针对用于在被识别为属于某些语义类别的文本或数据串上自动执行行动的系统和方法。在以下详细描述中,参考附图,附图形成了本发明的一部分,并通过图示示出了具体实施例或示例。这些实施例可被组合、可使用其它实施例、并且可作出结构上的变化,而不会脱离本发明的精神和范围。因此,以下详细描述不应当认为是限制的意义,本发明的范围由所附权利要求书及其等效技术方案来确定。
现在参考附图,贯穿若干附图,相同的标号表示相同的元素,将描述本发明的各方面和示例性操作环境。图1和以下讨论旨在提供可在其中实现本发明的合适的计算环境的简要、通用描述。尽管将在结合运行在个人计算机上的操作系统的应用程序执行的程序模块的通用环境中描述本发明,然而本领域的技术人员可以认识到,本发明也可组合其它程序模块来实现。用于实现本发明的各个实施例的说明性操作环境和软件体系结构的另外的方面在名为“语义上标记串并基于语义标记的串提供行动的方法和系统(Method and System for Semantically Labeling Strings andProviding Actions Based on Semantically Labeled Strings)”的美国专利申请号09/588,411中有描述,它通过引用明确地结于此。
一般而言,程序模块包括例程、程序、组件、数据结构和其它类型的结构,它们执行特定的任务或实现特定的抽象数据类型。此外,本领域的技术人员可以理解,本发明可以用其它计算系统配置来实施,包括手持式设备、多处理器系统、基于微处理器或可编程消费者电子产品、小型机、大型机等等。本发明也可在分布式计算环境中实施,其中,任务由通过通信网络连接的远程处理设备来执行。在分布式计算环境中,程序模块可以位于本地和远程存储器存储设备中。
现在转向图1,将描述用于实施本发明的各个实施例的个人计算机2的说明性计算机体系结构。图1所示的计算机体系结构示出了一个常规个人计算机,包括中央处理单元4(“CPU”)、系统存储器6(包括随机存取存储器8(“RAM”)和只读存储器(“ROM”)10)以及将存储器耦合至CPU 4的系统总线12。基本输入/输出系统包含例如在启动期间帮助在计算机的元件之间传输信息的基本例程,储存在ROM 10中。个人计算机2还包括大容量存储设备14,用于储存操作系统16、诸如应用程序205等应用程序以及数据。
大容量存储设备14通过连接到总线12的大容量存储控制器(未示出)连接到CPU 4。大容量存储设备14及其相关联的计算机可读媒质为计算机2提供了非易失存储。尽管此处所包含的计算机可读媒质的描述指的是大容量存储设备,诸如硬盘或CD-ROM驱动器,然而本领域的技术人员应当理解,计算机可读媒质可以是可由计算机2访问的任何可用媒质。
作为示例而非局限,计算机可读媒质可包括计算机存储媒质和通信媒质。计算机存储媒质包括以用于储存诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任一方法和技术实现的易失和非易失、可移动和不可移动媒质。计算机存储媒质包括,但不限于,RAM、ROM、EPROM、EEPROM、闪存或其它固态存储器技术、CD-ROM、DVD或其它光学存储、磁盒、磁带、磁盘存储或其它磁存储设备、或可用于储存期望的信息并可由计算机访问的任一其它媒质。
依照本发明的各个实施例,个人计算机2可使用通过诸如因特网等TCP/IP网络18到远程计算机的逻辑连接在网络化环境中操作。个人计算机2可通过连接到总线12的网络接口单元20连接到TCP/IP网络18。应当理解,网络接口20也可以用于连接到其它类型的网络和远程计算机系统。个人计算机2也可包括用于接收和处理来自多个设备的输入的输入/输出控制器22,包括键盘或鼠标(未示出)。类似地,输入/输出控制器22可提供到显示屏、打印机或其它类型的输出设备的输出。
如上所述,多个程序模块和数据文件可储存在个人计算机2的大容量存储设备14和RAM 8中,包括适用于控制网络化个人计算机的操作的操作系统16,如来自华盛顿州雷蒙德市的微软公司的WINDOWS操作系统。大容量存储设备14和RAM 8也可储存一个或多个应用程序。具体地,大容量存储设备14和RAM 8可储存用于创建和编辑电子文档230的应用程序205。例如,应用程序205可包括文字处理应用程序、电子表格应用程序、联系人应用程序等等。用于创建和编辑其它类型的电子文档的应用程序也可用于本发明的各个实施例。
现在参考图2,将描述结合本发明的各个实施例使用的说明性软件体系结构。图2所示的体系结构包括应用程序205,如文字处理应用程序、电子表格应用程序或用于创建和编辑电子文档的其它类型的应用程序。应用程序205也可包括web浏览器。本发明的实施例提供了结合应用程序205使用的程序模块,它识别文本串和数据,并提供在所识别的文本串和数据上的有帮助的行动。具体地,本发明的实施例提供了识别器插件220和行动插件225。如下文更详细描述的,识别器插件220识别电子文档230中的文本串和数据,并用语义信息来标记串和数据。
应用程序205能够与识别器动态链接库(“DLL”)210和行动DLL 215通信。依照一个实施例,识别器DLL和行动DLL可以是能够执行识别和一个或多个行动的单个DLL。如下文更详细描述的,识别器DLL 210可控制一个或多个识别器插件220A-220N,而行动DLL 215可控制一个或多个行动插件225A-225N。
依照本发明的一个实施例,识别器插件220A-220N和行动插件225A-225N是自动化服务程序。自动化服务程序是众所周知的软件组件,它们组合到程序中或向运行在来自华盛顿州雷蒙德市的微软公司的WINDOWS操作系统上的现有应用程序添加功能。自动化服务程序可以用各种计算语言来书写,并可以在运行时插入或断开,而无需重新编译主程序。
识别器DLL 210处理来自由应用程序205编辑的电子文档的文本串向各个识别器插件220A-220N的分发。识别器插件220A-220N识别诸如文字处理文档或电子表格文档等电子文档中的特定串。识别器插件220A-220N可以与应用程序模块205包装在一起,或者它们可以由第三方书写来识别感兴趣的特定串。通常,识别器DLL 210以单个段落或单元值递增将串传递到识别器插件220A-220N。然而,串可按其它大小和格式来传递到识别器插件220A-220N。
作为将某些串识别为包括语义信息的一部分,识别器插件220A-220N确定要标记哪些传以及如何标记它们。在从各种识别器插件220接收了这些结果之后,识别器DLL 210向应用程序模块205发送语义类别。例如,可提供名字识别器插件220A用于将串识别为包含名字。另外,识别器插件220可返回标识串位置的信息,包括串长度。
应当理解,识别器插件220A-220N的每一个是单独地执行的。识别器DLL 210负责处理从不同的识别器插件220A-220N在不同的时刻返回结果所引起的不同步性。以这一方式,可在文本串内识别各种类型的数据,并且为每一语义地标记的串提供不同的行动。
在由识别器插件220A-220N识别了串之后,可在所识别的串上执行期望的行动。行动DLL 215管理行动插件225A-225N,它们为这些行动执行。如同识别器插件220A-220N一样,行动插件225A-225N可与应用程序模块205包装在一起,或由第三方书写来执行感兴趣的特定行动。如上文简要描述的,给定的行动组件可以通过在串被识别为与给定的行动组件相关联之后俘获由主应用程序205触发的事件来执行。可选地,给定的行动组件可以由主应用程序调用,以响应于由识别器应用程序传递到主应用程序的表示与该期望行动相关联的行动组件的属性。执行的行动组件可由一个或多个行动DLL和相关联的行动插件构成。
描述了主应用程序和示例性识别器应用程序和行动应用程序在依照语义类别识别和标记文本串以及在所识别的串上或与其相关联地执行行动时的交互之后,图3、4和5所示是依照本发明的实施例用于在所识别的文本或数据串上自动执行行动的说明性例程的流程图。参考图3,依照本发明的一个实施例,如上文简要描述的,可通过向识别器应用程序210传递一指向主应用程序的对象模型的指针,以允许识别器应用程序210使用应用程序205的功能来自动在文档230上或与其相关联地执行行动,从而在所识别的文本或数据串上或与其相关联地执行自动化行动。
图3所示的说明性例程300在开始块305开始,并前进到块310,使用主机应用程序205将文本或数据输入到文档230中。在块320,如上文参考图2所描述的,将文本或数据的一部分从应用程序205传递到识别器应用程序210,使得识别器应用程序210或其它识别器应用程序220A到220N可在传递到识别器应用程序210的文本或数据的部分上执行识别。在块330,向识别器应用程序210传递一指向主应用程序205的对象模型的指针。依照本发明的一个实施例,指向主应用程序对象模型的文本和指针可同时通过一个方法传递到识别器应用程序。在块340,识别器应用程序210在由主应用程序205传递给它的文本或数据上执行识别。如上文参考图2所描述的,识别器应用程序可将从主应用程序接收的文本或数据传递到一个或多个识别器插件220A-220N以有助于识别。例如,识别器插件220A可被编程来识别包含在给定文本选择中的名字。
在块350,如有需要,识别器应用程序210或各个识别器插件220A-220N的任一个可使用指向主应用程序对象模型的指针以有助于另外的识别。例如,如果识别器应用程序210或各个识别器插件220A-220N之一识别一给定的文本为地址串中的州名,则识别器应用程序可使用主应用程序对象模型对文档230的其它部分进行语法分析,以获取与由识别器应用程序识别的文本串相关联的上下文信息。例如,如果识别器应用程序对文档230进行语法分析,并检测到先前被识别为州名的文本串之后的五位数(如,邮政编码),则识别器应用程序可使用该信息来帮助核实或提升被识别为州名的文本串的确是州名的识别过程置信度水平。
在块360,识别器应用程序使用主应用程序对象模型以在所识别的串上或与其相关联地执行期望行动。例如,如果文档是报纸文章,其中,报纸编辑指示所有的人名都被加粗,则依照本发明的这一实施例,识别器应用程序可使用主应用程序205的对象模型来对包含在报纸文章文档中的任一所识别的人名应用加粗。即,通过经由指向主应用程序对象模型的指针访问主应用程序的对象模型,识别器应用程序能够向文档230中被识别为人名的任一文本串应用诸如加粗等主应用程序的格式化。因此,不需要将文本输入到文档的用户手动地加粗被识别为名字的文本,甚至也不需要用户选择或接受主应用程序的提示来为用户加粗所识别的名字。文档中所识别的名字由识别器应用程序使用主应用程序的对象模型来自动加粗。本领域的技术人员应当理解,由于识别器应用程序210能够访问主应用程序的对象模型,识别器应用程序可自动执行在给定的所识别的文本或数据串上或与其相关联的主应用程序可用的任何功能。一旦在给定的所识别的文本或数据串上或与其相关联地执行了期望行动,例程在块395结束。
依照本发明的一个替换实施例,并如上文简要描述的,在识别器应用程序将文本或数据串识别为对应于特定的语义类别之后,识别器应用程序向主应用程序通知所识别的串,主应用程序触发由行动应用程序或组件检测或俘获的应用程序级或文档级事件,行动应用程序或组件进而自动在所识别的串上或与其相关联地执行行动。参考图4,说明性例程400在开始块405开始,并前进到块410,通过主应用程序205将文本或数据输入到文档230中。在块420,如所要求地将文本或数据输入的一部分传递到识别器应用程序210和/或各个识别器插件应用程序220A-220N之一。在块430,如上文参考图2和3所描述的,在文本或数据选择上执行识别。在块440,将标识给定的文本或数据串为被识别为属于给定的语义类别,如名字、地址、日期、文献目录信息等的信息从识别器应用程序210传递到主应用程序205。
在块450,主应用程序205从识别器应用程序210接收将给定的文本或数据串标识为属于给定语义类别的信息。作为响应,主应用程序触发一应用程序级或文档级事件,以促使行动应用程序或其它行动插件225A-225N在所识别的文本或数据串上或与其相关联地执行自动化行动。本领域的技术人员应当理解,依照本发明的这一实施例,行动应用程序215、220A、225N可以是行动处理器,或其它组件,它们能够将其自身注册为可检测或俘获由主应用程序205触发的用于促使行动应用程序执行期望行动的事件的事件处理器。软件编程领域的技术人员,例如组件对象建模领域的技术人员,将理解这一注册,它将组件注册为可接收由诸如主应用程序205等另一组件触发的事件行动处理器,以促使行动处理器组件执行某一期望的功能。例如,行动应用程序215可以是软件组件,它可将其自身注册为用于执行某一功能的行动处理器,诸如格式化文档230中的特定文本串。同样,行动应用程序215可以是可被编程为执行某一其它功能的组件,诸如从被识别器应用程序210识别为文献目录信息的文本选择中创建文献目录文档。
在块460,诸如行动应用程序215、225A、225N之一等行动组件检测或俘获由主应用程序205触发的事件。在块470,向其触发事件的行动组件响应于所检测的或所俘获的由主应用程序205触发的事件,自动在所识别的文本或数据串上或与其相关联地执行行动。根据上文提供的示例,如果识别器应用程序215将给定的文本串识别为诸如作者名等文献目录信息,则将该文本串标识为文献目录信息的信息将被传递到主应用程序205,如上文参考块440所描述的。主应用程序进而向被编程为创建包含从文档230中识别的文献目录信息的文献目录文档的行动应用程序215触发一事件。当行动应用程序215俘获由主应用程序205触发的事件,行动应用程序215进而打开或创建一文献目录文档,并用来自文档230的由识别器应用程序210识别为文献目录信息的文本串填充该文献目录文档。不需要任何用户干预或行动,因为该文献目录文档由行动应用程序215在接收由主应用程序205触发的事件之后自动创建。例程在块490结束。
依照本发明的另一实施例,并如上文简要描述的,在识别器应用程序将文本或数据串识别为对应于给定的语义类别之后,识别器应用程序将标识所识别的文本或数据串的信息传递到主应用程序205,识别器应用程序也向主应用程序205传递促使主应用程序205响应于所识别的文本或数据串运行特定的行动组件或行动应用程序的设置属性格式的短消息。
现在参考图5,例程500在开始块505开始,并前进到块510,通过主应用程序205将文本或数据输入到文档230。在块520,由主应用程序205将文本或数据的一部分传递到一个或多个识别器应用程序210、220A、220N,如上文参考图2、3和4所描述的。在块530,识别器应用程序将一个或多个文本或数据串识别为属于给定的语义类别。在块540,将给定的文本或数据串标识为属于给定语义类别的信息由识别器应用程序210传递到主应用程序205。应当理解,从识别器应用程序210传递到主应用程序的信息可包括文档230中所识别的文本串的精确位置范围,以及将所识别的文本串标识为属于特定语义类别的信息。
在块550,识别器应用程序将属性设置为等于应当在所识别的或数据串上或与其相关联地自动执行的行动名字。例如,假设给定的文本串由识别器应用程序210识别为地址。再假定识别器应用程序210被编程为要求在识别后将所识别的地址填充到用户的联系人数据库中。依照本发明的实施例,在块550,识别器应用程序210将属性设置为等于被编程为用所识别的地址填充用户的联系人数据库的行动组件或行动应用程序215的名字。例如,识别器应用程序210可设置“o:runaction=populatecontactsdatabasewithaddress”,其中,“o”指主应用程序可扩充标记语言(XML)名字空间,例如Microsoft Office XML名字空间,其中“runactio”是属性名,并且其中,属性“populatecontactsdatabasewithaddress”由主应用程序205用于调用被标识为用所识别的地址填充用户的联系人信息的行动应用程序215。依照本发明的一个实施例,标识信息(块540)和设置属性(块550)可同时通过一个方法传递到主应用程序。
依照本发明的实施例,由识别器应用程序210设置的属性可由识别器应用程序210存放发到用于包含由识别器应用程序210设置的属性值的数据结构中。该数据结构也可被称为“属性包(property bag)”,它可包含由识别器210设置的属性值,直到那些值随后被主应用程序205删除,如下文所描述的。当识别器应用程序210向主应用程序205传递标识所识别的文本或数据串的信息时,识别器应用程序210也向主应用程序205传递指向由识别器应用程序210设置并储存在属性数据结构或属性包中的属性值的指针。因此,当主应用程序205接收到来自识别器应用程序210的信息时,主应用程序205使用指向属性包的指针来检索由识别器应用程序210设置的属性值,用于将主应用程序205指引到特定的行动应用程序215。
在块560,主应用程序检索由识别器应用程序210设置的属性值,并调用由识别器应用程序210设置的属性值所指定的特定行动应用程序215、225A、225N。根据上述示例,如果由识别器应用程序210设置的属性值标识了用于用所识别的地址信息填充用户的联系人数据的行动应用程序215,则主应用程序将调用该行动应用程序,并且在块570,行动应用程序将自动在所识别的文本串上或与其相关联地执行行动。例如,根据前一示例,行动应用程序215可启动用户的联系人数据库应用程序的实例,并用文档230中由识别器应用程序210识别的地址信息来填充用户的联系人数据库应用程序。因此,不需要任何用户行动,因为依照本发明的实施例,输入到文档230的所识别的地址被自动填充到用户的联系人数据库中。
在块580,在自动执行了期望的行动之后,主应用程序205删除由识别器应用程序210设置的属性值,以防止主应用程序随后在不需要行动时错误地调用行动应用程序215。例程在块590结束。
如此处所描述的,提供了用于自动提供在计算机生成的文档中被识别为属于特定语义类别的文本或数据上或与其相关联的行动的方法和系统。本领域的技术人员可以清楚,可以在不脱离本发明的精神和范围的情况下作出各种修改和变化。当考虑说明书并实施此处所揭示的本发明时,可以清楚本发明的其它实施例。
权利要求
1.一种在识别的文本串上或与其相关联地自动执行行动的方法,其特征在于,它包括从一计算机生成的文档接收一文本串;将所述文本串传递到一识别器应用程序;将所述文本串识别为属于一给定的语义类别;向所述识别器应用程序传递一指向从其接收所述文本串的主应用程序的对象模型的指针;以及使用所述主应用程序的对象模型,在所述计算机生成的文档中所识别的文本串上执行一个或多个行动。
2.如权利要求1所述的方法,其特征在于,从所述计算机生成的文档接收所述文本串包括在所述主应用程序上接收所述文本串;以及其中,将所述文本串传递到识别器应用程序包括将所述文本串从所述主应用程序传递到所述识别器应用程序。
3.如权利要求1所述的方法,其特征在于,在所识别的文本串上执行一个或多个行动之前,由所述识别器应用程序通过指向所述对象模型的所述指针来访问所述主应用程序的对象模型。
4.如权利要求1所述的方法,其特征在于,在所识别的文本串上执行一个或多个行动包括对包含所述文本串的所述计算机生成的文档进行语法分析以找出与所述文本串相关联的上下文信息;以及由所述识别器应用程序使用所述上下文信息以在所述文本串上执行额外的识别。
5.如权利要求1所述的方法,其特征在于,在所识别的文本串上执行一个或多个行动包括在所识别的文本串上执行一个或多个行动而不需要用户行动。
6.一种在识别的文本或数据串上或与其相关联地自动执行行动的方法,其特征在于,它包括从一计算机生成的文档接收一文本串;将所述文本串传递到一识别器应用程序;将所述文本串识别为属于一给定语义类别;将信息从所述识别器应用程序传递到从其接收所述文本串的主应用程序,所述信息将所述文本串标识为属于所述给定语义类别;在所述主应用程序上,触发一与被编程为在所述文本串上执行期望行动的行动应用程序相关联的事件;以及响应于所触发的事件,促使所述行动应用程序在所述计算机生成的文档中的所识别的文本串上执行所述期望行动。
7.如权利要求6所述的方法,其特征在于,从所述计算机生成的文档接收所述文本串包括从所述主应用程序接收所述文本串;并且所述方法还包括将所述文本串从所述主应用程序传递到所述识别器应用程序。
8.如权利要求6所述的方法,其特征在于,将信息从所述识别器应用程序传递到所述主应用程序包括传递所述文本串在从其接收所述文本串的所述计算机生成的文档中的位置。
9.如权利要求6所述的方法,其特征在于,触发与被编程为在所述文本串上执行期望行动的行动组件相关联的事件包括触发一文档级事件。
10.如权利要求6所述的方法,其特征在于,触发与被编程为在所述文本串上执行期望行动的行动组件相关联的事件包括触发一应用程序级事件。
11.如权利要求6所述的方法,其特征在于,在促使所述行动应用程序在所述计算机生成的文档中的所识别的文本串上执行期望行动之前,促使所述行动应用程序从所述主应用程序俘获所触发的事件。
12.一种在识别的文本或数据串上或与其相关联地自动执行行动的方法,其特征在于,它包括从一主应用程序接收输入到一计算机生成的文档的文本串;将所述文本串传递到一识别器应用程序;将所述文本串识别为属于一给定语义类别;将信息从所述识别器应用程序传递到所述主应用程序,所述信息将所述文本串标识为属于所述给定语义类别;在所述识别器应用程序上,设置一标识要在所述文本串上执行的期望行动的属性值;在所述主应用程序上,调用一由所述属性值标识、并被编程为在所述文本串上执行期望行动的行动应用程序;以及促使所述行动应用程序在所述文本串上执行期望的行动。
13.如权利要求12所述的方法,其特征在于,从所述计算机生成的文档接收所述文本串包括在所述主应用程序上接收所述文本串,并且其中,将所述文本串传递到所述识别器应用程序包括将所述文本串从所述主应用程序传递到所述识别器应用程序。
14.如权利要求12所述的方法,其特征在于,将信息从所述识别器应用程序传递到所述主应用程序包括传递所述文本串在从其接收所述文本串的所述计算机生成的文档中的位置。
15.如权利要求12所述的方法,其特征在于,设置标识要在所述文本串上执行的期望行动的属性值包括在所述识别器应用程序上,将所述属性值存入一属性值数据结构中;以及向所述主应用程序传递一指向所述属性值数据结构中的属性值的指针。
16.如权利要求15所述的方法,其特征在于,它还包括在所述主应用程序上,接收指向所述属性值的指针;以及在所述主应用程序上,使用指向所述属性值的指针来标识要在所述计算机生成的文档中的所述文本串上执行的期望行动。
17.如权利要求15所述的方法,其特征在于,当在所述计算机生成的文档中的所述文本串上执行了所述期望行动之后,从所述属性值数据结构中删除所述属性值。
全文摘要
提供了用于在被识别为属于某一语义类别的文本或数据串上或与其相关联地自动执行行动的方法和系统。用户输入的文本被传递到一识别器应用程序。如果给定的文本或数据串被识别为属于给定的语义类别,则识别器应用程序将对应于所识别的串的数据传递回主应用程序。响应于所识别的文本或数据,可将指向主应用程序的对象模型的指针传递到识别器应用程序,以允许识别器应用程序响应于所识别的串来执行主应用程序的任一功能。可选地,在识别器应用程序将对应于所识别的串的数据传递回主应用程序之后,主应用程序可触发一应用程序级或文档级事件,用于促使行动组件在识别的串上执行期望的行动。可选地,在串由识别器应用程序识别了串之后,识别器应用程序可设置与要在所识别的串上或与其相关联地执行的期望行动相关联的属性。主应用程序可调用由该属性标识的行动组件,以在所识别的串上或与其相关联地自动执行期望行动。
文档编号G06F17/24GK1658188SQ20051000948
公开日2005年8月24日 申请日期2005年2月17日 优先权日2004年2月17日
发明者J·C·雷那尔, P·A·布罗曼 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1