CN1609764A - 向输入法提供上下文的系统和方法 - Google Patents

向输入法提供上下文的系统和方法 Download PDF

Info

Publication number
CN1609764A
CN1609764A CNA2004100119318A CN200410011931A CN1609764A CN 1609764 A CN1609764 A CN 1609764A CN A2004100119318 A CNA2004100119318 A CN A2004100119318A CN 200410011931 A CN200410011931 A CN 200410011931A CN 1609764 A CN1609764 A CN 1609764A
Authority
CN
China
Prior art keywords
input range
input
text field
software code
executable software
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CNA2004100119318A
Other languages
English (en)
Inventor
A·古哈
A·N·帕德特
J·A·克劳
M·布瓦拉加万
P·哈鲁普佐克
R·K·古普塔
R·L·钱伯斯
V·G·莱迪
铃枝丰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN1609764A publication Critical patent/CN1609764A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/453Help systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

提供了一种用于向输入法提供可执行代码的上下文信息的改进的系统和方法。可使高级文本输入法知晓期望接收为输入的文本类型,以使输入法在文本输入的识别中实现更高的精确度。通用接口提供了一种用于支持应用程序创作平台的框架,以允许应用程序开发者容易地向系统指定上下文信息,并使其可靠地转发到正确的输入法。另外,一种上下文标记工具可将现有应用程序的特定文本输入字段与一输入范围关联,而无需修改该应用程序本身。该上下文标记工具可创建包含将特定的文本输入字段与输入范围关联的标记的清单。可使用访问清单中储存的上下文信息的指令以更新应用程序使用的任何高级输入法。

Description

向输入法提供上下文的系统和方法
技术领域
本发明一般涉及计算机系统,尤其涉及向输入方法提供上下文的改进的系统和方法。
背景技术
高级文本输入法,如手写、语音和输入法编辑器(IME)常限于将语言规则和语言字典调节作为用于在文本输入识别中实现精确性的上下文的主要形式。上下文信息,如单向图(unigram)或n向图(n-gram)传统上被提供作为对这类输入法的语言模型的一个部分来提高自然语言输入识别中的精确度。不幸的是,应用程序和表单的一些最常见字段期望可能不符合特定语言的语言规则并且甚至可能不符合特定语言的词汇的输入。例如,电子邮件字段可期望电子邮件地址作为输入。大多数(如果不是所有的话)电子邮件地址不符合特定语言的语言规则或词汇。例如,要求单词之间有空格的英语语言规则不适用于电子邮件地址。类似地,一个字段可期望统一资源定位器(URL),它也不符合特定语言的语言规则或词汇。其结果是,这类输入法在其精确地识别这些类型的字段的输入的能力方面受到严重的限制。因此,用户在使用这类导致这些类型字段的较差识别精确度的输入法时会有不令人满意的体验。
此外,在词汇受到限制的应用程序中,如在命令和控制应用程序中,传统地通过将语言的字典限制到更少的单词量来约束上下文。然而,这一技术以其被用于特定的输入法的单个应用程序而有所限制。多个输入法不能使用这一技术来约束上下文,而不对每一单独的输入法实现该技术。
需要一种变得知晓期望被接收为输入的文本类型的用于高级文本输入法的方法,使得可以达到文本输入识别中更高的精确度。另外,这一系统应当允许任一输入法使用由应用程序提供的上下文,使得用户可以在输入法之间切换以对字段输入信息。
发明内容
简单而言,本发明提供了一种用于向输入法提供可执行代码的上下文信息的改进的系统和方法。可令高级文本输入法知晓期望接收为输入的文本的类型,使得输入法可在文本输入识别中达到更高的精确度。为此目的,提供了一种具有用于提供上下文信息的通用接口的体系结构,使得应用程序可以为期望文本输入的字段的任一个提供输入范围。此外,任一输入法可使用由应用程序提供的上下文信息。因此,用户可以在输入法之间切换以向应用程序输入信息,而不丢失上下文信息。
本发明另外提供了一种包括具有通用接口和上下文标记实用程序的上下文组件的组件系统。该通用接口提供了一种用于支持应用程序创作平台的框架,以允许应用程序开发者简单地对系统指定上下文信息,并令其可靠地发送到正确的输入法。该上下文信息可包括公用输入范围、一组输入范围、单词或词组列表、由常规表达式或其它语法定义的自定义输入范围。
除提供用于开发新应用程序的系统和方法之外,本发明也可通过提供一种用于将应用程序的特定的文本输入字段与输入范围关联的上下文标记工具来支持现存应用程序,而不需要修改该应用程序本身。上下文标记工具可创建包含将特定的文本输入字段与输入范围关联的标记的清单。这一清单可以连同程序文件一起储存。可使用用于访问储存在该清单中的上下文信息的指令来更新由应用程序使用的任一高级输入法。由此,现有应用程序也可从用于提高识别高级输入法的文本输入字段的精确度的本发明的使用中获益。
有利地,该上下文标记工具包括用于用输入范围标记现有应用程序或可执行代码的文本输入字段或控制的用户接口。该用户接口允许选择文本输入字段或控制以及输入范围,并向清单添加其所得关联。另外,该用户接口可包括一词组列表编辑器以及一自定义输入范围编辑器,用于分别创建、编辑并管理词组列表和自定义输入范围。
当结合附图阅读以下详细描述,可以清楚其它优点。附图中:
附图说明
图1是一般表示了可将本发明结合到其中的计算机系统的框图;
图2是依照本发明的一个方面一般表示了用于向输入法提供可执行代码的上下文信息的系统组件的示例性体系结构。
图3是依照本发明的一个方面一般表示了由系统采取的用于向输入法提供可执行代码的上下文信息的示例步骤的流程图;
图4是依照本发明的一个方面一般表示了用于使用上下文标记实用程序向输入法提供可执行代码的上下文信息的系统组件的示例性体系结构的框图;
图5是依照本发明的一个方面一般表示了由系统采用的用于使用上下文标记实用程序向输入法提供可执行代码的上下文信息的示例步骤的流程图;
图6是依照本发明的一个方面一般表示了用于选择应用程序或可执行代码的上下文标记实用程序的图形用户界面的屏幕的示例性说明;
图7是依照本发明的一个方面一般表示了用于使用输入范围标记字段或控制的上下文标记实用程序的图形用户界面的屏幕的示例性说明;
图8是依照本发明的一个方面一般表示了用于选择字段或控制的上下文标记工具的图形用户界面的屏幕的示例性说明;
图9是依照本发明的一个方面一般表示了用于管理词组列表的上下文标记工具的图形用户界面的屏幕的示例性说明;以及
图10是依照本发明的一个方面一般表示了用于管理自定义范围的上下文标记工具的图形用户界面的屏幕的示例性说明。
具体实施方式
示例性操作环境
图1示出了适合在其中实现本发明的计算系统环境100的一个示例。计算系统环境100仅为合适的计算环境的一个示例,并非建议对本发明的使用或功能的范围的局限。也不应将计算环境100解释为对示例性操作环境100中示出的任一组件或其组合具有依赖或需求。
本发明可以使用众多其它通用或专用计算系统环境或配置来操作。适合使用本发明的众所周知的计算系统、环境和/或配置包括但不限于:个人计算机、服务器计算机、手持式或膝上设备、图形输入板设备、无头服务器、多处理器系统、基于微处理器的系统、机顶盒、可编程消费者电子设备、网络PC、小型机、大型机、包括任一上述系统或设备的分布式计算环境等等。
本发明可在计算机可执行指令的一般上下文环境中描述,计算机可执行指令如由计算机执行的程序模块。一般而言,程序模块包括例程、程序、对象、组件、数据结构等等,执行特定的任务或实现特定的抽象数据类型。本发明也可以在分布式计算环境中实践,其中,任务由通过通信网络连接远程处理设备来执行。在分布式计算环境中,程序模块可以位于本地和/或远程计算机存储媒质中,如存储器存储设备。
参考图1,用于实现本发明的示例系统包括以计算机110形式的通用计算装置。计算机110的组件可包括但不限于,处理单元120、系统存储器130以及将包括系统存储器的各类系统组件耦合至处理单元120的系统总线121。系统总线121可以是若干种总线结构类型的任一种,包括存储器总线或存储器控制器、外围总线以及使用各类总线结构的局部总线。作为示例而非局限,这类结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线以及外围部件互连(PCI)总线,也称为Mezzanine总线。
计算机110通常包括各种计算机可读媒质。计算机可读媒质可以是可由计算机110访问的任一可用媒质,包括易失和非易失媒质、可移动和不可移动媒质。作为示例而非局限,计算机可读媒质包括计算机存储媒质和通信媒质。计算机存储媒质包括以用于储存信息的任一方法或技术实现的易失和非易失,可移动和不可移动媒质,信息如计算机可读指令、数据结构、程序模块或其它数据。计算机存储媒质包括但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储设备、或可以用来储存所期望的信息并可由计算机110访问的任一其它媒质。通信媒质通常在诸如载波或其它传输机制的已调制数据信号中包含计算机可读指令、数据结构、程序模块或其它数据,并包括任一信息传送媒质。术语“已调制数据信号”指以对信号中的信息进行编码的方式设置或改变其一个或多个特征的信号。作为示例而非局限,通信媒质包括有线媒质,如有线网络或直接连线连接,以及无线媒质,如声学、RF、红外和其它无线媒质。上述任一的组合也应当包括在计算机可读媒质的范围之内。
系统存储器130包括以易失和/或非易失存储器形式的计算机存储媒质,如只读存储器(ROM)131和随机存取存储器(RAM)132。基本输入/输出系统133(BIOS)包括如在启动时帮助在计算机110内的元件之间传输信息的基本例程,通常储存在ROM 131中。RAM 132通常包含处理单元120立即可访问和/或当前正在操作的数据和/或程序模块。作为示例而非局限,图1示出了操作系统134、应用程序135、其它程序模块136和程序数据137。
计算机110也可包括其它可移动/不可移动、易失/非易失计算机存储媒质。仅作示例,图1示出了对不可移动、非易失磁媒质进行读写的硬盘驱动器141、对可移动、非易失磁盘152进行读写的磁盘驱动器151以及对可移动、非易失光盘156,如CD ROM或其它光媒质进行读写的光盘驱动器155。可以在示例性操作环境中使用的其它可移动/不可移动、易失/非易失计算机存储媒质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字视频带、固态RAM、固态ROM等等。硬盘驱动器141通常通过不可移动存储器接口,如接口140连接到系统总线121,磁盘驱动器151和光盘驱动器155通常通过可移动存储器接口,如接口150连接到系统总线121。
图1讨论并示出的驱动器及其关联的计算机存储媒质为计算机110提供了计算机可读指令、数据结构、程序模块和其它数据的存储。例如,在图1中,示出硬盘驱动器141储存操作系统144、应用程序145、其它程序模块146和程序数据147。注意,这些组件可以与操作系统134、应用程序135、其它程序模块136和程序数据137相同,也可以与它们不同。这里对操作系统144、应用程序145、其它程序模块146和程序数据147给予不同的标号来说明至少它们是不同的副本。用户可以通过输入设备,如图形输入板或电子数字化仪164、麦克风163、键盘162和定位设备161(通常指鼠标、轨迹球或触摸板)向计算机110输入命令和信息。图1未示出的其它输入设备可包括操纵杆、游戏垫、圆盘式卫星天线、扫描仪、或包括包含生物测定传感器、环境传感器、位置传感器或其它类型的传感器的设备的其它设备。这些和其它输入设备通常通过耦合至系统总线的用户输入接口160连接至处理单元120,但是也可以通过其它接口和总线结构连接,如并行端口、游戏端口或通用串行总线(USB)。监视器191或其它类型的显示设备也通过接口,如视频接口190连接至系统总线121。监视器191也可以与触摸屏面板或其类似物集成。注意,监视器和/或触摸屏面板可以物理地耦合至结合计算设备110的外壳,如图形输入板类型的个人计算机。另外,诸如计算设备110的计算机也包括其它外围输出设备,如扬声器197和打印机196,通过输出外围接口194或其类似物连接。
计算机110可以在使用到一个或多个远程计算机,如远程计算机180的逻辑连接的网络化环境中操作。远程计算机180可以是个人计算机、服务器、路由器、网络PC、对等设备或其它公用网络节点,并通常包括许多或所有上述与计算机110相关的元件,尽管在图1中仅示出了存储器存储设备181。图1描述的逻辑连接包括局域网(LAN)171和广域网(WAN)173,但也可包括其它网络。这类网络环境常见于办公室、企业范围计算机网络、内联网以及因特网。当在LAN网络环境中使用时,计算机110通过网络接口或适配器170连接至LAN 171。当在WAN网络环境中使用时,计算机110通常包括调制解调器172或其它装置,用于通过WAN173,如因特网建立通信。调制解调器172可以是内置或外置的,通过用户输入接口160或其它合适的机制连接至系统总线121。在网络化环境中,描述的与计算机110相关的程序模块或其部分可储存在远程存储器存储设备中。作为示例而非局限,图1示出了远程应用程序185驻留在存储器设备181上。可以理解,示出的网络连接是示例性的,也可以使用在计算机之间建立通信链路的其它装置。
向输入法提供上下文
本发明一般针对一种用于向输入法提供可执行代码的上下文信息的方法和系统。如此处所使用的,上下文信息一般指输入范围。输入范围是语言的子集,用于定义可以书写哪些单词、数字和标点,并且也可指定它们以何种顺序书写。输入范围可由应用程序用来将由输入法的识别器使用的语言模型限制在应用程序在文本字段中所期望的文本输入类型之上。将会看到,本发明可令高级输入法能够通过提供支持应用程序或表单的体系结构来指定它们在其文本字段中期望何种类型的文本输入,来达到文本输入对应用程序字段的更高的精确识别率。表单和对话框中的许多文本输入字段是强类型的,如web订购表单或用于更新个人联系人的对话框窗口中的字段。当把所期望的文本类型的信息向高级输入法的识别引擎指明时,该信息可以极大地提高精确度。
本发明的体系结构允许期望对字段或表单的进行文本输入的应用程序以一般方式提供该上下文信息,而不直接与高级输入法交互。为此目的,该体系结构提供了一种提供上下文信息的通用接口,使得应用程序可为期望文本输入的字段中的任一个提供输入范围。该系统和方法也提供了一种通用API,允许任一输入法使用由应用程序提供的上下文信息来提高识别精确度。此外,由于任一输入法可使用由应用程序提供的上下文信息,用户可在输入法之间切换以向应用程序输入信息,而不丢失上下文信息。可以理解,此处描述的各种框图、流程图和情形仅作示例,可以有可向其应用本发明的许多其它情形。
转向附图的图2,示出了总体向输入法提供可执行代码的上下文信息的系统组件的示例性体系结构。本领域的技术人员可以理解,示图中所示的块内实现的功能可以被实现为独立的组件,或者若干个或所有块的功能可以在单个组件内实现。例如,上下文组件202的功能可以包括在上下文客户机208中。或者上下文组件202中用于输入范围集合(InputScopeCollection)接口的功能以单独的组件实现。
期望到字段的文本输入的任一可执行代码135可通过调用接口,如设置输入范围(SetInputScope)接口204向上下文组件202提供用于该字段的上下文信息。可执行代码135可以是任一类型的可执行软件代码,如内核组件、应用程序、对话框或视窗、脚本、链接库、链接或嵌入式对象等等。上下文组件202包括用于设置可执行代码135的输入范围的接口,如设置输入范围接口204,以及用于获取为可执行代码135的文本输入字段所设置的输入范围的接口,如输入范围集合接口。上下文组件可以是任一可执行软件代码,包括内核组件、应用程序组件、链接库组件、对象等等。上下文客户机208,如一个或多个输入法编辑器210、手写字体识别器212、语音识别器214或任一另外类型的输入法的其它识别器,可查询作为上下文组件202包括在内的输入范围集合接口206,来获取用于可执行代码135的输入范围。该体系结构可允许期望到字段或表单的文本输入的应用程序或其它可执行代码以一般方式提供输入范围的上下文,而不直接与高级输入法交互。
图2所示的设置输入范围接口204可以是API、对象、控制或其它可执行代码。例如,在一个实施例中,设置输入范围接口204可以是名为“SetInputScope”的API。在本实施例中,SetInputScope API可将控制或文本输入字段与一个公用输入范围或一个单词列表关联。例如,SetInputScope API可具有以下编程语言声明:
HRESULT SetInputScope(
    [in]HWND hwnd;
    [in]InputScope inputscope)
该API可期望到一输入范围列表的窗口句柄和指针。该API可用于通过调用如SetInputScope(hwndMe,IS_URL)的API设置由类型InputScope(输入范围)的参数定义的公用输入范围,其中,IS URL可以是表示以关联的字符的固定列表的内部定义的格式的参数。另外,该API可用于通过经调用如SetInputScope(hwndMe,{″male″,″female″})的API将单词列表作为类型InputScope的参数传递来设置单词列表。
在另一实施例中,设置输入范围接口204可以是名为“SetInputScopes”的API。在该实施例中,SetInputScopes API可将控制或文本输入字段与一公用输入范围、多个公用输入范围、一个单词列表或一个自定义输入范围关联。自定义输入范围可由常规表达式或任一其它方式定义,包括如W3C语音识别语法说明(SRGS)中指定的语法。例如,SetInputScpoes API可以具有以下编程语言声明:
HRESULT SetInputScope(
    [in]HWND hwend;
    [in]const InputScope*pInputScopes;
    [in]UINT cInputScopes;
    [in]WCHAR**ppszPhraseList;
    [in]UINT cPhrases;
    [in]WCHAR*pszRegExp;
    [in]WCHAR*pszSRGS)
该API可期望窗口句柄、到输入范围列表的指针、列表中输入范围的数量、到词组列表的指针、列表中词组的数量、定义输入范围的常规表达式或诸如定义输入范围的SRGS等语法。该API可用于通过调用如SetInputScopes(hwndMe,{IS_DEFAULT,IS_PERSONALNAME_FULLNAME,IS_EMAIL_USERNAME,IS_EMAIL_SMTPEMAILADDRESS},4,NULL,NULL,NULL,NULL)的API设置由输入范围的参数列表传递的若干公用输入范围,其中,IS_DEFAULT、IS_PERSONALNAME_FULLNAME、IS_EMAIL_USERNAME以及IS_EMAIL_SMTPEMAILADDRESS的每一个可表示以关联的字符的固定列表将内部定义的格式。另外,该API可用于经调用如SetInputScopes(hwndMe,{IS_PHRASELIST,IS_DEFAULT},2,{″male″,″female″},2,NULL,NULL)的API通过将该列表作为类型InputScope的参数传递来设置单词或词组的列表。另外,该API可用于如通过调用如SetInputScopes(hwndMe,IS_SSN,2,NULL,NULL,IS_DIGITS.″-″.IS-DIGITS.″-″.IS_DIGITS,NULL)的API设置由常规表达式、语法或其它定义所定义的自定义输入范围。
在任一实施例中,依照输入范围的定义,这类API可支持输入的强制。这里“强制”意味着将输入的识别约束到输入范围的定义。在这一情况下,可约束输入法识别器符合输入范围的确切定义,且不可以使用另一输入范围的定义。如果未指定输入的强制,则输入法的识别器可将指定的输入范围解释为推荐,但是不将识别约束到仅该定义。在另一实施例中,如果自定义输入范围的定义与单词列表的公用输入范围冲突,则自定义输入范围的定义可优于单词列表的公用输入范围。
有利的是,本发明是可扩充的,使得可以添加另外的API。例如,可以使用定义XML模式的API设置输入范围,如:
HRESULT SetInputScopeXML(
    [in]HWND hwnd
    [in]WCHAR*pszXML)
图2所示的输入范围集合接口206可以是API、对象、控制或其它可执行代码。例如,在一个实施例中,输入范围集合接口206可以是具有可由输入法调用来获取用于由任一可执行代码指定的文本输入字段的输入范围的方法的对象。在该示例性实施例中,输入法的识别器可使用该应用程序的有效窗口句柄调用该对象的构造函数,然后可访问公共特性并也可调用公共方法来访问与该应用程序的窗口句柄关联的不同的输入范围。该对象可获取与控制关联的一组输入范围、来自与该控制关联的组的个别输入范围、来自与该控制关联的组的常规表达式以及来自与该控制关联的组的词组列表。例如,这一对象的一个实例的类定义可以是:
类名
public InputScopeCollection
public InputScopeCollection(IntPtr,hWnd);
public bool HasInputScopes;
public int Count;
publinc InputScope[]InputScopes;
public string RegularExpression;
public string[]Phrases;
方法
public string Phrase(int index)
public int InputScopes(int index)
public string InputScopeEnumName(int index)
public override string ToString()
构造函数“InputScopeCollection”可采用到窗口的句柄,并可找到可与其关联的一组输入范围。公共特性“HasInputScopes”可确定是否有与控制关联的输入范围。公共特性“Count”可返回可与该控制关联的输入范围的个数。公共特性“InputScopes”可返回包含可与该控制关联的一组输入范围的数组。公共特性“RegularExpression”可返回与该控制关联的常规表达式。公共特性“Phrases”可返回包含与该控制关联的词组的串数组。
可由作为输入范围集合接口206的具体实现方式的对象提供任意数量的方法,用于获取文本输入字段的输入范围。例如,在上述输入范围集合的示例性类定义中,方法“Phrase(int index)”可返回由请求的索引索引的词组。方法“InputScopes(intindex)”可返回由请求的索引索引的输入范围。方法“InputScopeEnumName(intindex)”可返回特定位置索引的输入范围的名字。方法“ToString()”可返回特定的实例的输入范围的串表示。本领域的技术人员可以理解,图2示出的示例性表示是示例性表示,本发明可以使用为设置输入范围和获取上下文信息定义的其它接口来实践。
图3是总体表示了由系统采取的用于向输入法提供可执行代码的上下文信息的步骤的流程图。首先,在步骤302,任一可执行代码可调用用于为文本字段设置输入范围的接口。输入范围的接口的设置中所包括的可以是输入范围的列表、单词或词组的列表、定义输入范围的常规表达式或定义输入范围的诸如SRGS等语法。在调用这一接口后,在步骤304,为可执行代码的文本字段设置请求的输入范围。输入范围可储存在临时数据结构中,或在永久存储上保持。在设置了输入范围之后,在步骤306可调用一接口来发现设置了哪些输入范围且哪些输入范围可用。例如,高级输入法可发现是否对可执行代码的特定文本字段设置了输入范围。在步骤308,输入法可获取可用输入范围,诸如个别输入范围、一组输入范围、定义输入范围的常规表达式或用于可执行代码的该文本字段的单词或词组的列表。最后,在步骤310,可使用获取的输入范围来识别可执行软件代码的文本字段的输入。通过将输入法识别器所使用的语言模型限制到该文本字段的可执行代码所期望的文本输入的类型,可达到识别率的更高精确度。
可执行代码的开发者可使用本发明来标记可执行代码的输入字段,以达到对高级输入法的更高的识别率。例如,开发者可选择创建为在可识别手写字体的图形输入板个人计算机上使用而设计的不动产请求(Real Estate Request)表单,以允许不动产代理商使用手写完成这一表单。在为该应用程序设计并开发可执行代码的过程中,开发者可审视用于设置输入范围的本发明的可用接口,以及用于不同类型的文本输入字段的输入范围的预定义格式。在发现了有适合文本输入字段的可用的预定义格式后,开发者可标记请求表单中的输入文本字段和控制。开发者会满意地发现他也能够容易地组合预定义格式,如日期的格式和时间的格式,用于“日期/时间”字段。另外,开发者可发现他能够在列表中为给定的字段作出添加。注意,该列表可改进到给定的字段的输入识别,并且也可由不动产代理商使用以从显示的列表中选择一个项目用于到该表单的字段的输入。对于需要自定义格式的输入范围的任一字段,开发者可使用常规表达式来定义这一自定义输入范围。为便于由此类应用程序的开发者使用及访问,用于本发明的输入范围的接口和预定义格式可被包装在软件开发工具包(SDK)或其它形式的分布中。
用于向输入法提供上下文的上下文标记工具
在另一实施例中,本发明也可为应用程序提供一种为其文本输入字段提供上下文信息而不需要修改该应用程序本身的方法。这类上下文信息可通过使用一上下文标记实用程序来提供,使得现有的应用程序能够从本发明的使用中获益,以提高高级输入法识别文本输入字段的精确度。本发明所使用的上下文标记指将输入范围与应用程序或可执行代码的文本输入字段和控制关联。在该实施例中,可为现存的应用程序加载上下文信息标记,并且可更新用于输入识别的任何高级输入法来使用加载的上下文信息。有利地,可保留现存应用程序或可执行代码未修改,而仍通过在应用程序或可执行代码外部的手段来从本发明获益。
在通过外部手段提供上下文信息的一个实施例中,可创建包含用于该应用程序或可执行代码的输入范围信息的清单文件。在本实施例中,可由上下文标记工具为每一应用程序或可执行代码创建一个清单文件,并且每一清单文件可连同该应用程序或可执行代码的其它程序文件一起储存。在本实施例中,上下文标记工具可用于用输入范围来标记可执行代码中的特定的文本输入字段。该工具然后可依次创建该映射并写入清单文件。该工具另外可确保该清单文件储存在特定的应用程序或可执行代码的正确位置上。应用程序开发者可选地可直接创建该清单文件,也可编辑清单文件。
可用指令来更新高级输入法,以查找与可执行代码关联的清单文件,并在该清单文件中查找与特定的文本输入字段关联的输入范围。在找到与特定的文本输入字段关联的输入范围之后,高级输入法可读取该上下文信息,然后将该上下文信息传递到识别器,以由高级输入法在对该文本输入字段的输入的识别中使用。
转向附图的图4,示出了一般表示用于使用上下文标记实用程序向输入法提供可执行代码的上下文信息的系统组件的示例性体系结构的框图。本领域的技术人员可以理解,附图中所示的块内所实现的功能可以被实现为单独的组件,或者若干或所有块的功能可在单个组件中实现。例如,上下文组件202的功能可包括在上下文客户机208中。或者上下文标记工具402中的清单接口的部分功能可在单独的组件中实现。
期望向字段的文本输入的可执行代码135可具有由上下文标记工具402所标记的该字段的上下文信息。上下文标记工具402可以是任一类型的可执行软件代码,如内核组件、应用程序、链接文库等等。上下文标记工具402可用输入范围来标记可执行代码中的特定文本输入字段。上下文标记工具402可包括用户界面404、控制接口406和清单接口408。用户界面404可包括用户选择标记的可执行代码的屏幕、标记控制屏幕、选择控制屏幕、管理词组列表的屏幕以及管理自定义输入范围的屏幕。控制接口406可包括用于为可执行代码135的特定文本输入字段设置输入范围的接口,如设置输入范围接口204。清单接口408可创建或打开清单410,并将特定文本输入字段的输入范围的映射写入清单410中。清单接口408另外可确保清单410连同特定的应用程序或可执行代码135的程序文件一起存储。清单410可以是诸如XML文件等文件,或者是包含文本输入字段的上下文信息的存储对象。例如,在清单410中,电子邮件名字字段可被定义为URL输入范围。上下文组件202可通过调用诸如输入范围集合接口206等接口来访问清单410中的上下文信息。在本实施例中,上下文组件202包括用于访问储存在清单410中的可执行代码135的文本输入字段的输入范围的接口,诸如输入范围集合接口206。上下文组件可以是任一可执行软件代码,包括内核组件、应用程序组件、链接库组件、对象等等。上下文客户机208,如一个或多个输入法编辑器210、手写识别器212、语音识别器214或任一另外类型的输入法的其它识别器,可查询作为其一部分包括在上下文组件202内的输入范围集合接口206,来获取可执行代码135的输入范围设置。该体系结构可允许期望向字段或表单的文本输入的现存的应用程序或其它可执行代码以一般的方式提供输入范围的上下文,而不需要修改现存的应用程序或可执行代码。
图5是一般性地说明由系统采取的用于使用上下文标记实用程序向输入法提供可执行代码的上下文信息的步骤的流程图。首先,在步骤502,选择应用程序或可执行代码,以用输入范围标记其文本输入字段。为此目的,可装入上下文标记工具402,并可选择应用程序或可执行代码135以用输入范围标记其文本输入字段。下一步,在步骤504,可选择可执行代码的字段或控制,以用输入范围来标记。在选择了字段或控制之后,在步骤506,可选择输入范围,以与该字段或控制关联。选择的输入范围可以是输入范围的列表、单词或词组的列表、定义输入范围的常规表达式或定义输入范围的诸如SRGS等语法。在步骤508,向清单410添加将所选择的字段或控制与所选择的输入范围相关联的标记。在用输入范围标记了字段或控制并储存在清单内之后,高级输入法可获取将字段或控制与来自清单的输入范围关联的标记。例如,高级输入法可查询作为其一部分包括在上下文组件202内的输入范围集合接口206,以从清单获取标记。最后,在步骤512,可应用获取的输入范围来识别可执行软件代码的文本字段的输入。如上文所述,输入范围可以是个别输入范围、一组输入范围、定义输入范围的常规表达式或单词或词组的列表。识别器对输入范围的应用可将使用的语言模型限制到文本字段的可执行代码期望的文本输入的类型,以达到输入识别中的更高精确度。
上下文标记工具402可包括用于用输入范围标记现存应用程序或可执行代码的文本输入字段或控制的用户界面404。图6是一般地表示用于选择应用程序或可执行代码的用户界面404的屏幕的一个实施例的示例性说明。欢迎屏幕602可包括已安装的应用程序或可执行代码604的可滚动列表,可从中选择应用程序(通过触摸板或鼠标或任何其它方式),以用输入范围标记其文本输入字段或控制。
图7是一般地表示用于用输入范围标记字段或控制的用户界面404的屏幕的一个实施例的示例性说明。标签为“Tag Controls(标记控制)”的屏幕702一般可包括用于选择要标记的控制的显示区域704。在激活了如在标记控制屏幕702的显示区域704中所示的选择控制按钮之后,可显示图8的选择控制屏幕802。图8是一般地表示用于选择字段或控制的上下文标记工具的图形用户界面的屏幕的示例性说明。选择控制屏幕802可包括用于察看来自欢迎屏幕602中选择的应用程序的控制信息的显示区域804。可经由屏幕802通过激活显示区域804中的“OK”按钮选择控制或字段来标出字段或控制用于标记。
返回到图7的标记控制屏幕702,也示出了用于选择要与先前在显示区域704中所选择的控制或字段相关联的一个或多个输入范围的显示区域708。一旦选择了输入范围并由此与先前选择的控制或字段相关联,就可通过激活显示区域710中所示的“Add(添加)”按钮以在清单410中添加或更新关联的上下文标记。清单410中添加或更新的控制或字段可以在标签为“Tagged Controls(标记的控制)”的显示区域706中列出。
另外,用户界面404可包括图9的“Manage Phrase List(管理词组列表)”屏幕902上所示的词组列表编辑器。图9是一般地表示用于管理词组列表的上下文标记工具的图形用户界面的屏幕的示例性说明。词组列表编辑器904可以用来创建、编辑并管理词组列表,词组列表可在文本输入字段或控制的显示区域708中作为输入范围使用。可用词组列表可在显示区域906中显示,以便于删除现有词组列表或创建新的词组列表。类似地,用户界面404可包括图10的“Manage CustomScopes(管理自定义范围)”屏幕1002上所示的自定义输入范围编辑器。图10是一般地表示用于管理自定义范围的上下文标记工具的图形用户界面的屏幕的示例性说明。自定义范围编辑器1004可用来定义、编辑并管理自定义输入范围,自定义输入范围可在文本输入字段或控制的显示区域708中作为输入范围使用。可用的自定义输入范围可在显示区域1006中显示,以便于删除现有自定义输入范围或创建新的自定义输入范围。
有利的是,所述的上下文标记工具的用户界面404能使任一可执行代码或应用程序能够从本发明的使用中获益,以提高识别的精确度而无需修改应用程序或可执行代码本身。本发明可增强任一可执行代码或应用程序,如不动产请求表单、在线注册表单、电子商务订单、在线付款表单等等。它提供了可包括输入范围、单词列表、常规表达式的组合的上下文信息的格式,以及将其连接至可执行代码的输入字段的接口。
正如可从上述详细描述中所见的,本发明提供了一种向输入法提供可执行代码的上下文信息的改进的系统和方法。本发明的体系结构定义了一种公用且统一的上下文表示,应用程序可用其来为文本输入字段指定上下文特性,以改进通过诸如手写字体、语音、输入法编辑器等高级输入法输入文本输入的用户体验。该上下文信息是可扩充的,而开发者可如需要提供更详细的上下文约束。如当前所理解的,本发明提供了一种具有支持应用程序创作平台的接口的框架,以允许应用程序开发者容易地向系统指定这类上下文信息,并令其可靠地转发到正确的输入法。由此,该方法和系统提供了现代计算活动中所需要的优点和好处。此外,本发明也提供了一种用于通过使用上下文标记工具来提供现存的可执行代码或应用程序的上下文信息,而不需要修改可执行代码或应用程序的解决方案。清单可以连同程序文件一起储存,并且可以使用用于访问储存在该清单中的上下文信息的指令来更新由可执行代码或程序使用的输入法。
尽管容易对本发明进行各种修改和替换构造,但是在附图中示出了某些说明的实施例,并在上文进行了详细描述。尽管如此,应当理解,并无意于将本发明限制在所揭示的具体形式,而是相反,本发明将覆盖落入其精神和范围之内的所有修改、替换构造和等效技术方案。

Claims (28)

1.一种向输入法提供上下文信息的计算机系统,其特征在于,它包括:
具有文本输入字段的可执行软件代码;
操作上耦合至所述可执行软件代码的上下文组件,所述上下文组件具有可由所述可执行软件代码调用以为文本字段设置输入范围的接口;以及
输入法识别器,所述识别器操作上耦合至所述上下文组件,用于调用所述上下文组件的接口,以接收由所述可执行软件代码为所述文本字段设置的所述输入范围。
2.如权利要求1所述的系统,其特征在于,可由所述可执行软件代码调用以为文本字段设置输入范围的所述接口包括一用于传递单词列表的参数。
3.如权利要求1所述的系统,其特征在于,可由所述可执行软件代码调用以为文本字段设置输入范围的所述接口包括一用于传递词组列表的参数。
4.如权利要求1所述的系统,其特征在于,可由所述可执行软件代码调用以为文本字段设置输入范围的所述接口包括一用于传递公用输入范围的参数。
5.如权利要求4所述的系统,其特征在于,所述公用输入范围包括一具有关联的字符固定列表的已定义格式。
6.如权利要求1所述的系统,其特征在于,可由所述可执行软件代码调用以为文本字段设置输入范围的所述接口包括一用于传递常规表达式的参数。
7.如权利要求1所述的系统,其特征在于,可由所述可执行软件代码调用以为文本字段设置输入范围的所述接口包括一用于传递一组输入范围的参数。
8.如权利要求1所述的系统,其特征在于,可由所述识别器调用以获取文本字段输入范围的所述接口包括一为获取一组输入范围而调用的方法。
9.如权利要求1所述的系统,其特征在于,可由所述识别器调用以获取文本字段输入范围的所述接口包括一为获取词组列表而调用的方法。
10.如权利要求1所述的系统,其特征在于,可由所述识别器调用以获取文本字段的输入范围的所述接口包括一为获取单词列表而调用的方法。
11.如权利要求1所述的系统,其特征在于,可由所述识别器调用以获取文本字段的输入范围的所述接口包括一为获取常规表达式而调用的方法。
12.如权利要求1所述的系统,其特征在于,所述识别器包括用于语音的识别器。
13.如权利要求1所述的系统,其特征在于,所述识别器包括用于手写字体的识别器。
14.如权利要求1所述的系统,其特征在于,所述识别器包括用于输入法编辑器的识别器。
15.一种具有组成权利要求1所述的系统的计算机可执行组件的计算机可读媒质。
16.一种用于向输入法提供上下文信息的方法,其特征在于,它包括以下步骤:
调用一应用编程接口以为可执行软件代码的文本字段设置输入范围;
为所述可执行软件代码的文本字段设置输入范围;
调用一应用编程接口以获取为所述可执行软件代码的所述文本字段设置的所述输入范围;以及
获取为所述可执行软件代码的所述文本字段设置的所述输入范围。
17.如权利要求16所述的方法,其特征在于,它还包括利用所获取的输入范围以识别所述可执行软件代码的文本字段的输入。
18.如权利要求16所述的方法,其特征在于,调用一应用编程接口以为可执行软件代码的文本字段设置输入范围包括传递一单词列表。
19.如权利要求16所述的方法,其特征在于,调用一应用编程接口以为可执行软件代码的文本字段设置输入范围包括传递一词组列表。
20.如权利要求16所述的方法,其特征在于,调用一应用编程接口以为可执行软件代码的文本字段设置输入范围包括传递一公用输入范围。
21.如权利要求20所述的方法,其特征在于,所述传递一公用输入范围包括传递一用于具有关联的字符固定列表的已定义格式的标识符。
22.如权利要求16所述的方法,其特征在于,调用一应用编程接口以为可执行软件代码的文本字段设置输入范围包括传递一常规表达式。
23.如权利要求16所述的方法,其特征在于,调用一应用编程接口以获取为所述可执行软件代码的文本字段设置的所述输入范围包括获取一组输入范围。
24.如权利要求16所述的方法,其特征在于,调用一应用编程接口以获取为所述可执行软件代码的文本字段设置的所述输入范围包括获取一单词列表。
25.如权利要求16所述的方法,其特征在于,调用一应用编程接口以获取为所述可执行软件代码的文本字段设置的所述输入范围包括获取一词组列表。
26.如权利要求16所述的方法,其特征在于,调用一应用编程接口以获取为所述可执行软件代码的文本字段设置的所述输入范围包括获取一公用输入范围。
27.如权利要求16所述的方法,其特征在于,调用一应用编程接口以获取为所述可执行软件代码的文本字段设置的所述输入范围包括获取一常规表达式。
28.一种具有执行权利要求16所述的方法的计算机可执行指令的计算机可读媒质。
CNA2004100119318A 2003-10-24 2004-09-21 向输入法提供上下文的系统和方法 Pending CN1609764A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/693,330 2003-10-24
US10/693,330 US7634720B2 (en) 2003-10-24 2003-10-24 System and method for providing context to an input method

Publications (1)

Publication Number Publication Date
CN1609764A true CN1609764A (zh) 2005-04-27

Family

ID=34435464

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2004100119318A Pending CN1609764A (zh) 2003-10-24 2004-09-21 向输入法提供上下文的系统和方法

Country Status (5)

Country Link
US (3) US7634720B2 (zh)
EP (1) EP1533694A3 (zh)
JP (1) JP2005135398A (zh)
KR (1) KR20050039536A (zh)
CN (1) CN1609764A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8452594B2 (en) 2005-10-27 2013-05-28 Nuance Communications Austria Gmbh Method and system for processing dictated information
CN104428734A (zh) * 2012-06-25 2015-03-18 微软公司 输入法编辑器应用平台
CN105446711A (zh) * 2014-08-08 2016-03-30 国际商业机器公司 获取用于软件开发任务的上下文信息的方法及装置
CN106415531A (zh) * 2014-04-28 2017-02-15 谷歌公司 用于输入法编辑器的特定于场境的语言模型
US9767156B2 (en) 2012-08-30 2017-09-19 Microsoft Technology Licensing, Llc Feature-based candidate selection
CN107251012A (zh) * 2015-02-27 2017-10-13 微软技术许可有限责任公司 话题知晓的字建议
US10108726B2 (en) 2011-12-20 2018-10-23 Microsoft Technology Licensing, Llc Scenario-adaptive input method editor
US10656957B2 (en) 2013-08-09 2020-05-19 Microsoft Technology Licensing, Llc Input method editor providing language assistance

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7634720B2 (en) * 2003-10-24 2009-12-15 Microsoft Corporation System and method for providing context to an input method
US7941744B2 (en) * 2005-04-25 2011-05-10 Adp, Inc. System and method for electronic document generation and delivery
US8024349B1 (en) * 2005-07-25 2011-09-20 Shao Henry K String-based systems and methods for searching for real estate properties
US7502788B2 (en) * 2005-11-08 2009-03-10 International Business Machines Corporation Method for retrieving constant values using regular expressions
WO2007124441A2 (en) 2006-04-20 2007-11-01 Qualcomm Incorporated Tagging language for broadcast radio
US20080043289A1 (en) * 2006-08-16 2008-02-21 Epip Pty Ltd. Regular Expressions for Electronic Submission of Documents
US8234623B2 (en) 2006-09-11 2012-07-31 The Mathworks, Inc. System and method for using stream objects to perform stream processing in a text-based computing environment
US8886540B2 (en) * 2007-03-07 2014-11-11 Vlingo Corporation Using speech recognition results based on an unstructured language model in a mobile communication facility application
US8886545B2 (en) 2007-03-07 2014-11-11 Vlingo Corporation Dealing with switch latency in speech recognition
US20110054899A1 (en) * 2007-03-07 2011-03-03 Phillips Michael S Command and control utilizing content information in a mobile voice-to-speech application
US10056077B2 (en) 2007-03-07 2018-08-21 Nuance Communications, Inc. Using speech recognition results based on an unstructured language model with a music system
US8949266B2 (en) * 2007-03-07 2015-02-03 Vlingo Corporation Multiple web-based content category searching in mobile search application
US20110054900A1 (en) * 2007-03-07 2011-03-03 Phillips Michael S Hybrid command and control between resident and remote speech recognition facilities in a mobile voice-to-speech application
US20080221900A1 (en) * 2007-03-07 2008-09-11 Cerra Joseph P Mobile local search environment speech processing facility
US8838457B2 (en) * 2007-03-07 2014-09-16 Vlingo Corporation Using results of unstructured language model based speech recognition to control a system-level function of a mobile communications facility
US20110054896A1 (en) * 2007-03-07 2011-03-03 Phillips Michael S Sending a communications header with voice recording to send metadata for use in speech recognition and formatting in mobile dictation application
US8635243B2 (en) * 2007-03-07 2014-01-21 Research In Motion Limited Sending a communications header with voice recording to send metadata for use in speech recognition, formatting, and search mobile search application
US8949130B2 (en) 2007-03-07 2015-02-03 Vlingo Corporation Internal and external speech recognition use with a mobile communication facility
US20090030691A1 (en) * 2007-03-07 2009-01-29 Cerra Joseph P Using an unstructured language model associated with an application of a mobile communication facility
US20080221884A1 (en) * 2007-03-07 2008-09-11 Cerra Joseph P Mobile environment speech processing facility
US20110060587A1 (en) * 2007-03-07 2011-03-10 Phillips Michael S Command and control utilizing ancillary information in a mobile voice-to-speech application
US8744337B2 (en) 2007-06-18 2014-06-03 Qualcomm Incorporated Apparatus and methods of enhancing radio programming
US8638219B2 (en) 2007-06-18 2014-01-28 Qualcomm Incorporated Device and methods of providing radio data system information alerts
US20090083768A1 (en) * 2007-09-20 2009-03-26 Hatalkar Atul N Context platform framework for aggregation, analysis and use of contextual information
US20090172637A1 (en) * 2007-12-28 2009-07-02 Microsoft Corporation Markup-based language for manifests
US8010465B2 (en) 2008-02-26 2011-08-30 Microsoft Corporation Predicting candidates using input scopes
EP2452252A1 (en) * 2009-07-09 2012-05-16 Eliyahu Mashiah Content sensitive system and method for automatic input language selection
US11416214B2 (en) 2009-12-23 2022-08-16 Google Llc Multi-modal input on an electronic device
EP3091535B1 (en) 2009-12-23 2023-10-11 Google LLC Multi-modal input on an electronic device
US20110184723A1 (en) * 2010-01-25 2011-07-28 Microsoft Corporation Phonetic suggestion engine
US8782556B2 (en) 2010-02-12 2014-07-15 Microsoft Corporation User-centric soft keyboard predictive technologies
US9002924B2 (en) 2010-06-17 2015-04-07 Microsoft Technology Licensing, Llc Contextual based information aggregation system
CN102314222A (zh) * 2010-06-30 2012-01-11 百度在线网络技术(北京)有限公司 一种自适应输入方法、设备及系统
US8732697B2 (en) 2010-08-04 2014-05-20 Premkumar Jonnala System, method and apparatus for managing applications on a device
US8352245B1 (en) 2010-12-30 2013-01-08 Google Inc. Adjusting language models
US8296142B2 (en) 2011-01-21 2012-10-23 Google Inc. Speech recognition using dock context
US9524531B2 (en) 2011-05-09 2016-12-20 Microsoft Technology Licensing, Llc Extensibility features for electronic communications
US8583948B2 (en) * 2011-07-01 2013-11-12 Intel Corporation Method, apparatus and system for determining an interface during a power state transition
US8224836B1 (en) 2011-11-02 2012-07-17 Google Inc. Searching in multiple languages
US9348479B2 (en) 2011-12-08 2016-05-24 Microsoft Technology Licensing, Llc Sentiment aware user interface customization
US8234350B1 (en) * 2011-12-19 2012-07-31 Seachange International, Inc. Systems and methods for generating targeted manifest files
US8775165B1 (en) 2012-03-06 2014-07-08 Google Inc. Personalized transliteration interface
US9092728B2 (en) 2012-04-19 2015-07-28 Microsoft Technology Licensing, Llc Providing rule based analysis of content to manage activation of web extension
US9639676B2 (en) 2012-05-31 2017-05-02 Microsoft Technology Licensing, Llc Login interface selection for computing environment user login
US10949230B2 (en) 2012-05-31 2021-03-16 Microsoft Technology Licensing, Llc Language lists for resource selection based on language text direction
JP5998690B2 (ja) * 2012-07-10 2016-09-28 富士ゼロックス株式会社 情報処理装置及びプログラム
GB2503920A (en) 2012-07-12 2014-01-15 Ibm Using a tag to identify the application context for a program object
US8959109B2 (en) 2012-08-06 2015-02-17 Microsoft Corporation Business intelligent in-document suggestions
US9842592B2 (en) 2014-02-12 2017-12-12 Google Inc. Language models using non-linguistic context
US9412365B2 (en) 2014-03-24 2016-08-09 Google Inc. Enhanced maximum entropy models
US10134394B2 (en) 2015-03-20 2018-11-20 Google Llc Speech recognition using log-linear model
US9990341B2 (en) 2015-12-04 2018-06-05 International Business Machines Corporation Predictive approach to URL determination
US9978367B2 (en) 2016-03-16 2018-05-22 Google Llc Determining dialog states for language models
US10832664B2 (en) 2016-08-19 2020-11-10 Google Llc Automated speech recognition using language models that selectively use domain-specific model components
US10175770B2 (en) 2016-10-13 2019-01-08 International Business Machines Corporation Proactive input method editor switching
US10311860B2 (en) 2017-02-14 2019-06-04 Google Llc Language model biasing system
US10572826B2 (en) * 2017-04-18 2020-02-25 International Business Machines Corporation Scalable ground truth disambiguation

Family Cites Families (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE9100665U1 (de) 1991-01-21 1992-07-16 TELBUS Gesellschaft für elektronische Kommunikations-Systeme mbH, 85391 Allershausen Trägerelement für integrierte Halbleiter-Schaltkreise, insbesondere zum Einbau in Chip-Karten
JPH07117868B2 (ja) * 1991-04-30 1995-12-18 インターナショナル・ビジネス・マシーンズ・コーポレイション タツチ型作動キーボード定義方法及び装置
US5946406A (en) * 1991-06-17 1999-08-31 Microsoft Corporation Method and system for data entry of handwritten symbols
CA2089784C (en) * 1992-04-15 1996-12-24 William Joseph Anderson Apparatus and method for disambiguating an input stream generated by a stylus-based user interface
US5233681A (en) 1992-04-24 1993-08-03 International Business Machines Corporation Context-dependent speech recognizer using estimated next word context
US5390281A (en) 1992-05-27 1995-02-14 Apple Computer, Inc. Method and apparatus for deducing user intent and providing computer implemented services
JP3362913B2 (ja) * 1993-05-27 2003-01-07 松下電器産業株式会社 手書き文字入力装置
JP3423413B2 (ja) 1994-06-21 2003-07-07 キヤノン株式会社 手書き情報認識装置及び方法
US5623406A (en) 1995-03-06 1997-04-22 Jean D. Ichbiah Method and system for entering text in computer equipment
JPH08329004A (ja) * 1995-05-31 1996-12-13 Mitsubishi Electric Corp アプリケーション・プログラム使用の端末操作性向上方法
US5864340A (en) 1996-08-22 1999-01-26 International Business Machines Corporation Mobile client computer programmed to predict input
US5899976A (en) * 1996-10-31 1999-05-04 Microsoft Corporation Method and system for buffering recognized words during speech recognition
US6654955B1 (en) * 1996-12-19 2003-11-25 International Business Machines Corporation Adding speech recognition libraries to an existing program at runtime
US6003050A (en) * 1997-04-02 1999-12-14 Microsoft Corporation Method for integrating a virtual machine with input method editors
DE69814155T2 (de) * 1997-12-16 2003-10-23 Microsoft Corp System und verfahren zur virtuellen eingabe
US6233559B1 (en) * 1998-04-01 2001-05-15 Motorola, Inc. Speech control of multiple applications using applets
US6438523B1 (en) * 1998-05-20 2002-08-20 John A. Oberteuffer Processing handwritten and hand-drawn input and speech input
CA2244431C (en) * 1998-07-30 2002-02-19 Ibm Canada Limited-Ibm Canada Limitee Touchscreen keyboard support for multi-byte character languages
US6359572B1 (en) 1998-09-03 2002-03-19 Microsoft Corporation Dynamic keyboard
US6356866B1 (en) * 1998-10-07 2002-03-12 Microsoft Corporation Method for converting a phonetic character string into the text of an Asian language
US7679534B2 (en) 1998-12-04 2010-03-16 Tegic Communications, Inc. Contextual prediction of user words and user actions
US6167376A (en) * 1998-12-21 2000-12-26 Ditzik; Richard Joseph Computer system with integrated telephony, handwriting and speech recognition functions
US6552719B2 (en) 1999-01-07 2003-04-22 Microsoft Corporation System and method for automatically switching between writing and text input modes
US6401067B2 (en) * 1999-01-28 2002-06-04 International Business Machines Corporation System and method for providing user-directed constraints for handwriting recognition
US6970599B2 (en) 2002-07-25 2005-11-29 America Online, Inc. Chinese character handwriting recognition system
US7159183B1 (en) * 1999-08-19 2007-01-02 National Instruments Corporation System and method for programmatically creating a graphical program
US6789231B1 (en) * 1999-10-05 2004-09-07 Microsoft Corporation Method and system for providing alternatives for text derived from stochastic input sources
US6581033B1 (en) 1999-10-19 2003-06-17 Microsoft Corporation System and method for correction of speech recognition mode errors
US6456978B1 (en) * 2000-01-31 2002-09-24 Intel Corporation Recording information in response to spoken requests
US6810429B1 (en) * 2000-02-03 2004-10-26 Mitsubishi Electric Research Laboratories, Inc. Enterprise integration system
EP1143334A3 (en) * 2000-04-06 2005-03-30 Microsoft Corporation Theme aware graphical user interface
US6826551B1 (en) * 2000-05-10 2004-11-30 Advanced Digital Systems, Inc. System, computer software program product, and method for producing a contextual electronic message from an input to a pen-enabled computing system
US6654038B1 (en) * 2000-06-02 2003-11-25 Sun Microsystems, Inc. Keyboard navigation of non-focusable components
US7451389B2 (en) 2000-06-06 2008-11-11 Microsoft Corporation Method and system for semantically labeling data and providing actions based on semantically labeled data
US20020103881A1 (en) 2000-09-11 2002-08-01 Francois Granade Method and system for integrating applications and mobile networks
JP3494292B2 (ja) 2000-09-27 2004-02-09 インターナショナル・ビジネス・マシーンズ・コーポレーション アプリケーションデータの誤り訂正支援方法、コンピュータ装置、アプリケーションデータ提供システム、および記憶媒体
US6788815B2 (en) * 2000-11-10 2004-09-07 Microsoft Corporation System and method for accepting disparate types of user input
US7778816B2 (en) 2001-04-24 2010-08-17 Microsoft Corporation Method and system for applying input mode bias
EP1256875A1 (en) 2001-05-10 2002-11-13 Nokia Corporation Method and device for context dependent user input prediction
US20030023641A1 (en) * 2001-07-27 2003-01-30 Gorman William Phillip Web page authoring tool
US20030071850A1 (en) 2001-10-12 2003-04-17 Microsoft Corporation In-place adaptive handwriting input method and system
US20030074647A1 (en) * 2001-10-12 2003-04-17 Andrew Felix G.T.I. Automatic software input panel selection based on application program state
US7031907B1 (en) * 2001-10-15 2006-04-18 Nortel Networks Limited Tool for constructing voice recognition grammars
US6744423B2 (en) 2001-11-19 2004-06-01 Nokia Corporation Communication terminal having a predictive character editor application
JP3542578B2 (ja) * 2001-11-22 2004-07-14 キヤノン株式会社 音声認識装置及びその方法、プログラム
US7149550B2 (en) 2001-11-27 2006-12-12 Nokia Corporation Communication terminal having a text editor application with a word completion feature
US7111248B2 (en) 2002-01-15 2006-09-19 Openwave Systems Inc. Alphanumeric information input method
US7251667B2 (en) * 2002-03-21 2007-07-31 International Business Machines Corporation Unicode input method editor
US20030189603A1 (en) * 2002-04-09 2003-10-09 Microsoft Corporation Assignment and use of confidence levels for recognized text
US7047200B2 (en) * 2002-05-24 2006-05-16 Microsoft, Corporation Voice recognition status display
US20040044422A1 (en) * 2002-07-03 2004-03-04 Vadim Fux System and method for intelligent text input
US20040111259A1 (en) * 2002-12-10 2004-06-10 Miller Edward S. Speech recognition system having an application program interface
US7496511B2 (en) * 2003-01-14 2009-02-24 Oracle International Corporation Method and apparatus for using locale-specific grammars for speech recognition
US20040225965A1 (en) * 2003-05-06 2004-11-11 Microsoft Corporation Insertion location tracking for controlling a user interface
US20040243415A1 (en) * 2003-06-02 2004-12-02 International Business Machines Corporation Architecture for a speech input method editor for handheld portable devices
US7363228B2 (en) * 2003-09-18 2008-04-22 Interactive Intelligence, Inc. Speech recognition system and method
US7634720B2 (en) * 2003-10-24 2009-12-15 Microsoft Corporation System and method for providing context to an input method
DE10357475A1 (de) 2003-12-09 2005-07-07 Siemens Ag Kommunikationsvorrichtung und Verfahren zum Eingeben und Vorhersagen von Text
US20050188330A1 (en) 2004-02-20 2005-08-25 Griffin Jason T. Predictive text input system for a mobile communication device
US20050190970A1 (en) 2004-02-27 2005-09-01 Research In Motion Limited Text input system for a mobile electronic device and methods thereof
US7599837B2 (en) * 2004-09-15 2009-10-06 Microsoft Corporation Creating a speech recognition grammar for alphanumeric concepts
US20060063558A1 (en) 2004-09-21 2006-03-23 Research In Motion Limited Mobile wireless communications device providing enhanced predictive word entry and related methods
US20070016862A1 (en) 2005-07-15 2007-01-18 Microth, Inc. Input guessing systems, methods, and computer program products
IL174522A0 (en) 2006-03-23 2006-08-01 Jonathan Agmon Method for predictive typing
US8015174B2 (en) * 2007-02-28 2011-09-06 Websense, Inc. System and method of controlling access to the internet

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8712772B2 (en) 2005-10-27 2014-04-29 Nuance Communications, Inc. Method and system for processing dictated information
US8452594B2 (en) 2005-10-27 2013-05-28 Nuance Communications Austria Gmbh Method and system for processing dictated information
US10108726B2 (en) 2011-12-20 2018-10-23 Microsoft Technology Licensing, Llc Scenario-adaptive input method editor
CN110488991A (zh) * 2012-06-25 2019-11-22 微软技术许可有限责任公司 输入法编辑器应用平台
CN104428734A (zh) * 2012-06-25 2015-03-18 微软公司 输入法编辑器应用平台
US10867131B2 (en) 2012-06-25 2020-12-15 Microsoft Technology Licensing Llc Input method editor application platform
US9921665B2 (en) 2012-06-25 2018-03-20 Microsoft Technology Licensing, Llc Input method editor application platform
US9767156B2 (en) 2012-08-30 2017-09-19 Microsoft Technology Licensing, Llc Feature-based candidate selection
US10656957B2 (en) 2013-08-09 2020-05-19 Microsoft Technology Licensing, Llc Input method editor providing language assistance
CN106415531A (zh) * 2014-04-28 2017-02-15 谷歌公司 用于输入法编辑器的特定于场境的语言模型
CN105446711A (zh) * 2014-08-08 2016-03-30 国际商业机器公司 获取用于软件开发任务的上下文信息的方法及装置
CN105446711B (zh) * 2014-08-08 2018-10-02 国际商业机器公司 获取用于软件开发任务的上下文信息的方法及装置
CN107251012A (zh) * 2015-02-27 2017-10-13 微软技术许可有限责任公司 话题知晓的字建议

Also Published As

Publication number Publication date
EP1533694A2 (en) 2005-05-25
EP1533694A3 (en) 2007-08-01
US20080208568A1 (en) 2008-08-28
US20050091032A1 (en) 2005-04-28
US7634720B2 (en) 2009-12-15
JP2005135398A (ja) 2005-05-26
US20050091037A1 (en) 2005-04-28
KR20050039536A (ko) 2005-04-29
US7370275B2 (en) 2008-05-06

Similar Documents

Publication Publication Date Title
CN1609764A (zh) 向输入法提供上下文的系统和方法
JP4202041B2 (ja) 入力モードバイアスを適用するための方法およびシステム
CN1790326A (zh) 语义画布
CN100476734C (zh) 用于修改信息以从源语言变换为目标语言的方法和系统
US9411798B1 (en) Methods and apparatus for reusing report design components and templates
CN1821956B (zh) 用现有内容生成用于执行任务的活动内容向导可执行文件
CN1423194A (zh) 语法创建系统
CN1573693A (zh) 用于创建、管理和使用代码段的系统和方法
CN1457041A (zh) 为一个自然语言理解系统用来自动注解训练数据的一个系统
CN1855040A (zh) 带有可重用得分和建议的可重据用数的资源创作
CN1750119A (zh) 创建用于字母数字概念的语音识别语法
CN1495609A (zh) 在计算机生成文档中提供语境感测工具和帮助内容
CN1838148A (zh) 电子设备和记录介质
CN1829987A (zh) 用于标签系统的词语数据库扩展
CN102165462A (zh) 编码、更新,及解码文档中的条形码
CN1619546A (zh) 文本的标号系统-翻译和在运行时间的多语言支持以及设计
CN1779782A (zh) 用户界面设计装置和方法
US11714636B2 (en) Methods and arrangements to process comments
Kurniawan Iot projects with arduino nano 33 ble sense
CN111656453A (zh) 用于信息提取的层次实体识别和语义建模框架
CN112395843A (zh) 一种基于php代码的业务处理方法、装置及设备和介质
CN106776779B (zh) 基于Mac平台的JSON数据生成实体文件的方法
CN1525317A (zh) 在标记中用于定义和使用子级说明的系统和方法
CN1670715A (zh) 在公共语言运行时语言中的资源地址支持
CN100351837C (zh) 用于创造基于规则的语法的方法和系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20050427