CN101199122A - 使用语言模块扩展通配符 - Google Patents

使用语言模块扩展通配符 Download PDF

Info

Publication number
CN101199122A
CN101199122A CNA2006800217784A CN200680021778A CN101199122A CN 101199122 A CN101199122 A CN 101199122A CN A2006800217784 A CNA2006800217784 A CN A2006800217784A CN 200680021778 A CN200680021778 A CN 200680021778A CN 101199122 A CN101199122 A CN 101199122A
Authority
CN
China
Prior art keywords
input
character string
character
user
text
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.)
Granted
Application number
CNA2006800217784A
Other languages
English (en)
Other versions
CN101199122B (zh
Inventor
B·提尔森
K·W·丘奇
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 Technology Licensing LLC
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 CN101199122A publication Critical patent/CN101199122A/zh
Application granted granted Critical
Publication of CN101199122B publication Critical patent/CN101199122B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/274Converting codes to words; Guess-ahead of partial word inputs
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K17/00Electronic switching or gating, i.e. not by contact-making and –breaking
    • H03K17/94Electronic switching or gating, i.e. not by contact-making and –breaking characterised by the way in which the control signals are generated
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M11/00Coding in connection with keyboards or like devices, i.e. coding of the position of operated keys

Abstract

提供一种输入文本的方法,其中从用户接收输入字符串的第一部分,该输入字符串的第一部分包括表示该输入字符串的通配字符的至少一次键击。随后接收该输入字符串的第二部分,此第二部分包括全部表示该输入字符串的非通配符字符的一个或多个键击。

Description

使用语言模块扩展通配符
背景
以下的讨论仅用来提供一般背景信息,而无意作为确定要求保护的主题的范围的辅助。
诸如移动电话和个人数字助理(PDA)等小型计算设备正以越来越高的频率被使用。这些设备的计算能力允许其用于访问和浏览因特网以及存储联系信息、查看和编辑文本文档以及执行其它任务。此外,使用移动设备发送和接收文本消息已变得非常普遍。例如在文本消息接发的发展历程中,移动手机的短信服务(SMS)已成为巨大的成功。因此,这些设备提供了许多其中要求文本键入的应用。遗憾的是,移动设备上的这种文本键入会很麻烦,因为它们缺少全尺寸的键盘。
目前,有两种利用可在大多数移动电话上见到的数字小键盘来实现文本输入的常见方式,即多触(multiple-tap)方式和单触(single-tap)方式。利用多触方式,用户按下一数字键多次以键入所需字母,其中大多数数字键被映射为字母表中的三个或四个字母。例如,2键通常被映射为字母A、B、C。如果用户按下2键一次,则键入字母A。如果用户按下2键两次,则键入字母B,而如果用户按下2键三次,则键入字母C。在一个单词的连续字母键入之间有时需要有停顿,从而使设备知道何时将光标推进到下一字母输入位置。例如,假设用户想对“MSN”进行搜索,从而利用具有电话式小键盘的手机或其它设备输入用于该搜索的文本。使用多触方式,用户要按下6键以键入字母M,停顿,按下7键四次以键入字母S,再次停顿,然后按下6键两次以键入字母N。如所提到的,经常需要停顿以消除歧义。诸如井号(”#”)和星号(“*”)等数字小键盘上显示的其它按键通常被映射为语言中的其它符号、或者在数字、大写、小写字母之间进行切换。
尽管多触方式由于用户可仅使用数字键来输入任何单词而可被使用,但是对于快速而直观的文本键入而言,它是存在缺陷的。输入像“MSN”这样在标准键盘上仅需按键三次、每次一个字母的字符串,使用多触方式却需要在数字小键盘上按键七次。与使用标准键盘相比,使用采用多触方式的数字键实现键入输入意味着用户即使是对于短消息也需要按下很多键。
使用数字键键入文本的另一方式是单触字典方式。在单触方式下,用户按下与所需字母相关联的数字键一次,即使该数字被键映射为三或四个不同的字母时也是如此。当用户键入单词的数字序列时,设备根据该数字序列尝试识别用户意图输入的单词。每个数字序列被映射至对应于该序列的常见单词。例如,数字序列43556可能对应于任何首字母为G、H、或I的五字母单词,因为4键通常被映射为这些字母。类似地,此序列可能对应于任何第二字母为D、E或F,第三和第四字母选自字母J、K、L,第五字母为M、N或O的五字母单词,因为3、5、6键通常被映射为这些相应字母。然而,由于在一示例中对应数字序列43556的最常见的五字母单词是单词“hello”,因此当用户连续按下4、3、5、5、和6键以输入此数字序列时,单触方式可能总是键入此单词。
单触方式相对于多触方式可具有优势,但是也出现了新的缺陷。优势在于,单触方式帮助确保用户只需按动与所需单词中的字母数目相同的按键数目。例如,为了键入单词“cab”,多触方式需要用户按下2键六次。相反,假定数字序列222被映射为单词“cab”,则单触方式可能只需要用户按下2键三次就输入了该单词。因此,对于利用数字键进行文本键入而言,单触方式可比多触方式更具按键效率。它具有与利用单个键对应一个字母的标准键盘几乎一样的按键效率。
单触方式相比多触方式的劣势在于,映射到给定数字序列的单词可能并非是用户输入此序列所意图键入的单词。例如,数字键序列7333对应两个单词“seed”和“reed”。由于只能有一个单词映射到每个数字键序列,因此当用户键入数字键序列7333时可能键入了单词“seed”,而用户却可能原本意图键入单词“reed”。单触方式在对一给定数字键序列只有唯一单词时,或者在对一给定序列有多个单词,而用户想输入与该序列相关联的最常见单词时特别有用。在单触方式所映射的单词不是想要的单词时,文本键入可能返回到多触方式或纠错模式。这样,想要单词的最终文本输入可能比用户一开始就使用多触方式需要更多的按键。
概要
本概要是以简单的形式介绍一些思想的节选,这些思想将在下面的具体实施方式中进一步描述。本概要并非旨在标识所要求保护的主题的关键特征或本质特征,也并非旨在作为确定要求保护的主题的范围的辅助。
所公开的在一些情形中可为单词轮转(word wheeling)的推广的实施例,使用语言模型寻找与输入模式相一致的最可能的通配(wildcard)符扩展。用户提供在非末尾位置处具有至少一个通配符的输入字符串。使用通配字符后,用于键入字符串的键击次数可显著减少。可使用该语言模型提供输入字符串的通配符扩展以标识最有可能的匹配。用户可选择这些最有可能的匹配之一作为输入的文本。
附图简述
图1是可在其中实践所披露的思想的一般性计算环境的框图。
图2是可在其中实践所披露的思想的移动计算环境的框图。
图3是可在其中实践所披露的思想的移动电话计算环境的示意图。
图4是示出了文本输入系统的框图。
图5是示出了输入文本的方法的流程图。
图6是示出了在输入法编辑系统(IME)中输入文本的方法的流程图。
具体描述
以下描述是在以一种高效的方式输入(input)或键入(enter)文本的方法和系统的背景中提供的,此高效方式使用了通配符和包含通配符的输入字符串的语言模型扩展。这些系统的示例包括诸如下文中参照图1概括描述的计算环境中所体现的该类型的输入法编辑器(IME)。这些系统的其它示例包括诸如下文中参照图2和/或3概括描述的移动计算环境中的文本消息接发或电子邮件系统。图2一般性地示出了移动计算设备,而图3示出了移动电话型计算环境。然而在描述所示实施例的多个方面之前,描述图1-3中所示的合适的示例计算环境是有用的。
图1示出可在其上实现所示实施例的一个或多个方面的合适计算系统环境100的一个示例。计算系统环境100仅是合适计算环境的一个示例,并无意对本发明的使用或功能的范围暗示任何限制。也不应将计算环境100理解为具有与在示例性操作环境100中示出的任意一个组件或其组合相关的任何依存性或要求。
本发明可在许多其它的通用或专用计算系统环境或配置上运行。可适合用于本发明的公知的计算系统、环境、和/或配置的示例包括,但并不限于,个人计算机、服务器计算机、手持式或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程电子消费品、网络PC、微型计算机、大型计算机、电话系统、包括以上任何系统或设备的分布式计算环境等。
可在诸如程序模块等由计算机执行的计算机可执行指令的一般性环境背景中对本发明进行说明。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。所示实施例还可在任务由通过通信网络所链接的远程处理设备来执行的分布式计算环境中来实践。在分布式计算环境中,程序模块位于包括存储器存储设备的本地和远程计算机存储介质两者中。由程序和模块所执行的任务在以下结合附图进行描述。本领域的技术人员可将这里所提供的描述和附图实现为可被写入任何形式的计算机可读介质的处理器可执行指令。
参照图1,一个示例性系统包括计算机110形式的通用计算设备。计算机110的组件可包括,但并不限于,处理单元120、系统存储器130、以及将包括系统存储器在内的各种系统组件耦合至处理单元的系统总线121。系统总线121可以是包括存储器总线或存储器控制器、外围总线、以及使用各种总线架构中任意总线架构的局部总线在内的诸多类型的总线结构中任何总线结构。作为示例而非限制,这些架构包括工业标准架构(ISA)总线、微通道架构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线、以及也被称为夹层(Mezzanine)总线的外围组件互联(PCI)总线。
计算机110通常包括各种计算机可读介质。计算机可读介质可以是可由计算机110访问的任何可用介质并包括易失性和非易失性介质、可移动和不可移动介质。作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以任何方法或技术实现的用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但并不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字通用盘(DVD)或其它光盘存储、磁带盒、磁带、磁盘存储或其它磁存储设备、或可用于存储所需信息并可由计算机110访问的任何其它介质。通信介质通常以诸如载波或其它传输机制之类的已调制数据信号的形式体现计算机可读指令、数据结构、程序模块或其它数据,并包括任何信息传递媒介。术语“已调制数据信号”是指这样一种信号,它的一个或多个特性已以在信号中编码信息的方式被设置或改变。作为示例而非限制,通信介质包括诸如有线网络或直接有线连接等有线介质,以及诸如声波、RF、红外及其它无线介质等无线介质。以上介质的任意组合也应被包括在计算机可读介质的范围内。
系统存储器130包括诸如只读存储器(ROM)131及随机存取存储器(RAM)132等易失性和/或非易失性存储器形式的计算机存储介质。含有有助于在诸如启动期间在计算机110内的各要素之间传送信息的基本例程的基本输入/输出系统(BIOS)133通常被存储在ROM 131中。RAM 132通常包含即刻可为处理单元120存取和/或当前正由处理单元120操作的数据和/或程序模块。作为示例而非限制,图1示出了操作系统134、应用程序135、其它程序模块136、以及程序数据137。
计算机110还可包括其它可移动/不可移动、易失性/非易失性计算机存储介质。仅是作为示例,图1示出了对不可移动、非易失性磁介质进行读取和写入的硬盘驱动器141,对可移动、非易失性磁盘152进行读取或写入的磁盘驱动器151,以及对诸如CD-ROM等可移动、非易失性光盘156或其它光学介质进行读取或写入的光盘驱动器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被给予不同编号以说明它们至少是不同的副本。
用户可通过例如键盘162、话筒163、以及诸如鼠标、跟踪球或触摸垫等定点设备161等输入设备向计算机110输入命令和信息。其它输入设备(未示出)可包括操纵杆、游戏垫、盘式卫星天线、扫描器等。这些和其它输入设备经常通过耦合至系统总线的用户输入接口160连接至处理单元120,但也可通过诸如并行端口、游戏端口或通用串行总线(USB)等其它接口和总线结构来连接。监视器191或其它类型的显示器设备也通过诸如视频接口190等接口连接至系统总线121。除了监视器191,计算机还可包括诸如扬声器197和打印机196等可通过输出外围接口195连接的其它外围输出设备。
计算机110可在使用与诸如远程计算机180等一个或多个远程计算机的逻辑连接的联网环境中操作。远程计算机180可以是个人计算机、手持式设备、服务器、路由器、网络PC、对等设备或其它公共网络节点,并且通常包括以上关于计算机110所描述的部分或所有要素。图1中绘制的逻辑连接包括局域网(LAN)171和广域网(WAN)173,并且还可包括其它网络。这些联网环境在办公室、企业范围的计算机网络、内联网和因特网中是很普遍的。
当在LAN联网环境中使用时,计算机110通过网络接口或适配器170连接至LAN 171。当在WAN联网环境中使用时,计算机110通常包括用于通过诸如因特网等WAN 173建立通信的调制解调器172或其它装置。可为内置或外置的调制解调器172可通过用户输入接口160或其它适当机制连接至系统总线121。在联网环境中,关于计算机110所描述的程序模块或其部分,可存储在远程存储器存储设备中。作为示例而非限制,图1示出了驻留于远程计算机180上的远程应用程序185。应该认识到的是,示出的网络连接是示例性的,也可使用在计算机间建立通信链接的其它装置。
图2是移动设备200的框图,它也是用于特定的所示实施例的示例性计算环境。移动设备200包括微处理器202、存储器204、输入/输出(I/O)组件206、以及用于与远程计算机或其它移动设备通信的通信接口208。在一个实施例中,前述组件通过合适的总线210被耦合以用于相互通信。
存储器204可用诸如具有电池备用模块(未示出)的随机存取存储器(RAM)等非易失性电存储器来实现,从而使得在移动设备200的常规电源关闭时储存在存储器204中的信息不会丢失。存储器204的一部分优选地被分配作为用于程序执行的可寻址存储器,而存储器204的另一部分优选地被用作诸如用以模拟盘驱动器上的存储的存储。
存储器204包括操作系统212、应用程序214以及对象存储216。在运行期间,操作系统212可从存储器204中被处理器202执行。在一个实施例中,操作系统212是可从微软公司购得的WINDOSCE商标的操作系统。操作系统212可以是设计用于移动设备的类型,并通过一组暴露的应用编程接口和方法来实现可被应用214使用的数据库特征。对象存储216中的对象至少部分地响应于对所暴露的应用编程接口和方法的调用由应用214和操作系统212来维护。
通信接口208表示允许移动设备200发送和接收信息的诸多设备和技术。举例来说,这些设备包括有线和无线调制解调器、卫星接收器和广播调谐器。移动设备200也可直接连接到计算机以与之交换数据。在这些情形中,通信接口208可以是能够发送流信息的红外收发器或者串行或并行通信连接。
输入/输出组件206包括:诸如触敏屏、按钮、滚轮和话筒等各种输入设备,以及包括音频发生器、震动设备以及显示器的各种输出设备。输入/输出组件206可包括移动计算设备中可见到的用于文本键入的各种类型的键盘和小键盘。例如,组件206可包括缩小了物理尺寸的全键盘、显示在触摸屏上的虚拟键盘、移动电话中常见的其中每个数字键被映射到多个字母的这种类型的受限字符小键盘等。上面所列的设备仅是作为示例,而并不需要全部存在于移动设备200上。此外,也可在移动设备200上添加或见到其它输入/输出设备。
诸如移动电话等移动计算设备往往使用数字小键盘形式的受限字符输入设备。图3是移动电话314形式的设备300的简图,该移动电话包括此类数字小键盘316、显示器306以及话筒308。移动电话314还可包括扬声器308、天线320,以及与本发明无关的收发器(未示出)形式的通信电路和其它组件。
数字小键盘316包括多个数字键322和其它键。一般而言,数字小键盘316区别于标准键盘之处在于其不具有对应每一字符的唯一键。因此,数字小键盘316是受限字符输入设备。在一个示例实施例中,小键盘316具有以下数目的键:1键322A、2键322B、3键322C、4键322D、5键322E、6键322F、7键322G、8键322H、9键322I、以及0键322K。数字小键盘316还具有星号(*)键322J和井号(#)键322L。数字小键盘316还可包括图3所示键以外的其它专用键,或者比图3所示的更少的键。数字小键盘316的这些键322可以是实际的物理键,或者在显示器306为触敏屏的情形中显示在显示器306上的虚拟的软键。
数字小键盘316的所有数字键322,除了1键322A和0键322K之外,都对应于字母表中的三或四个字母。2键322B与字母A、B、C对应。3键322C与字母D、E、F对应。4键322D与字母G、H、I对应。5键322E与字母J、K、L对应。6键322F与字母M、N、O对应。7键322G与字母P、Q、R、S对应。8键322H与字母T、U、V对应。最后,9键322I与字母W、X、Y、和Z对应。标点字符和符号既可包含在诸如1键322A等未使用的键上,也可与字母一起包含在其它键322上。此外,每个数字键322可用于键入其上所标记的数字或符号。应当注意,图3所示的小键盘配置是作为示例提供的,所披露的实施例还可使用其它配置。
计算设备100、200和300利用如下所述的通配符文本输入技术。此通配符文本输入技术可显著减少键入想要的文本所需的按键次数。这是通过使用通配符的语言模型扩展来实现的。在诸如小键盘316等小键盘文本键入设备的环境背景中,通配符文本键入技术可结合单触和/或多触文本键入技术使用。
在诸如向搜索引擎中键入查询或向浏览器地址栏中键入web地址等文本输入应用中,经常使用被称为“单词轮转”(word wheeling)的技术。单词轮转可以被理解为一种特殊的情形,其中在用户所键入的任意内容的末尾由应用或系统而非用户附加通配符。用户键入前缀。在每个字符之后,系统产生以此指定前缀开始的k个最常见的web查询的列表。单词轮转在用户不知道他们应当询问什么问题时,或者用户正在使用像移动电话或PDA这样具有受限键盘或小键盘能力的设备时尤其受欢迎。关键字轮转不仅在用户知道说什么时有帮助,而且在用户不知说什么时也有帮助。某些用户拼写不是很好,有些人话在嘴边却不能很好表达。某些用户只是浏览。他们并不特意寻找任何东西,但他们想要知道其他人正在关注什么。单词轮转对于这些类型的用户是有帮助的。
这些说明性地披露的方法、系统和装置的某些实施例使用单词轮转的推广。在这些实施例中,若用户键入诸如“New Y”这样的简单字符串,则系统实际上通过在用户输入字符串末尾添加通配符来提示诸如“New York”和“nearyear’s”等多个完整形式。然而这些实施例也允许用户自己键入通配符,甚至是在并非输入字符串的末尾的位置中键入。这里是可由用户键入(*标示由用户键入的通配字符)的输入字符串(左手边)、以及对应于这些字符串的意图输入的文本(右手边)的一些例子:
1.n*y*day→new year’s day
2.n*y*c*→New York City
3.ron*r*g*n→Ronald Reagan
4.b*fast of*→breakfast ot champions
5.raining c*and*→raining cats and dogs
6.g*spokes*→government spokesman
所披露的实施例使用一语言模型(例如三元组型)以找到与输入模式一致的最有可能的通配符扩展。语言模型通常用于语音识别和诸如上下文制约拼写纠正等其它噪声信道应用。对于不同的应用,使用的语言模型可关于不同的训练语料库进行训练。例如,对于web搜索,关于查询日志和web文档的一些组合进行训练将是有用的。对于向诸如Microsoft Word等文本编辑器中键入文本,关于标准word文档进行训练将是有用的。对于IM(即时消息接发)应用,可关于IM日志的集合进行训练,诸如此类。
在这种技术当中存在着极大的个性化的机会。在文本编辑器的情形中,可关于该用户文档来训练语言模型。该训练可在诸如MSN桌面搜索等索引器内执行。从某些方面看,输入文本的通配符扩展可视为拼写纠正的一种替换方案。它在用户对于语法上的搭配不自信的ESL(英语作为第二语言)的背景中也是有用的。例如,考虑其中一个讲外语者键入这样不通顺的短语:“there is lots offuture work.”。将在下文进一步详细描述的所披露的方法,可用于辅助该讲外语者。例如,如果他已键入字符串“there is*of future work*,”,则所述技术可提示文本“there is plenty of future work.”。
为进一步说明通配符文本输入方法,考虑另一个示例。假设用户想要找到Condoleezza Rice,但是不知道如何拼写她的名字。即使该用户能拼写她的名字,由于需要输入的字母个数的关系,在诸如移动电话小键盘等受限字符输入设备上这样做也是繁琐的。使用通配符文本输入方法,用户可将Condoleezza拼写(即,通过输入文本)为2*,其中2键代表单触字符的多种可能性[ABCabc2],而其中*是通配符。用户可随后键入‘#’用于空格。Rice容易拼写:7423。因此,用户键入2*#7423,系统在查询日志(或者针对其它特定实现的索引)上搜索以产生k个最佳(最常见)匹配的列表:
1.Anne Rice
2.Book of Shadows
3.Chris Rice
4.Condoleezza Rice
5.Ann Rice
8.Condoleeza Rice
在上面所示示例中,与正规表达中的常量匹配的字母被加以下划线。其它字母与通配符匹配。隐式通配符(由系统而非用户输入)被附加在输入字符串的末尾。所披露的方法和系统还包括在输入字符串的末尾之前的一个或多个通配符。
利用所揭露的通配符技术的文本输入方法有许多潜在用处和好处。例如,字母表排序导致了稀奇古怪的行为。黄页中满是以A、AA、AAA等开头的公司名称。如果前缀匹配工具(例如某些类型的搜索引擎)越来越流行,则公司追求mail(邮箱)、map(地图)等之前的有价值的前缀只是时间问题。通配符可帮助社会避免因这种行为产生的麻烦。如果你想要找到顶级邮箱站点,使用这里描述的文本键入方法,用户可键入“*mail”,且可能找到k个最佳结果值,例如Gmail、Hotmail、Yahoo mail等等。
所揭示的方法还提供了协作与个性化的重要机会。用户快速地认识到他们何时可以不使用通配符。打字因此成为系统与用户之间的协作运动。在web环境中协作甚至更为强大。用户发出许多查询,使得什么流行或热门(以及什么不流行或不热门)非常清晰。在此所揭示的文本输入系统可被配置成基于这些查询来构造语言模型以将用户导向良好信息(例如,最常见搜索的主题或寻求的结果)。越来越多的用户会到达那里,致使该热门查询在该语言模型中上升。以这种方式,协作可被看作一正反馈循环。会有一种很强的群体本能(herdinstinct);各方都从该从众(follow-the-pack)协作中受益。此外,用户想要个性化。当键入朋友和家人的名字、技术术语等时,个人应当能够比其他用户使用更少的通配符。通过将语言模型与桌面搜索索引相集成,有许多个性化该语言模型的机会。
利用所披露的思想的文本输入方法、装置和系统,可以针对不同操作模式来定制以使用不同语言模型、以及/或者用于的不同应用。例如,系统可根据使用的文本输入设备的类型(如电话小键盘、软键盘、标准键盘等)来定制。在许多实施例中,无论使用何种类型的文本输入设备,系统都会使用语言模型找到k个最佳的通配符扩展。
在不同语言模型方面,有许多可以与所揭示的方法和系统一起使用的选择,包括使用许多标准三元组语言模型中的一个或多个。可关于大量的不同语言(例如英语、西班牙语、德语等)来训练该语言模型。还有其它是关于较小的子域来训练的。在一个实施例中,系统包括用于搜索流行web查询和流行域的两个专用语言模型。不同的语言模型是不一样的。在使用关于普通英语训练的三元组语言模型(包含大量采集的过去十年中的新闻专线)的一个示例中,输入字符串“pres*rea**d y*t*it is v*imp*”产生的提示文本输入为“PresidentReagan said yesterday that it is very important.”。在本例中使用的引号是用于表示输入字符串的开始和结尾,并不是输入字符串本身的部分。再次地,出于在本公开中进行说明的目的,与来自用户的该示例输入字符串中的常量匹配的字母,在被系统提示作为输入的该提示文本中被加以下划线,而其它字母与通配符(本例输入字符串中的*字符)匹配。作为另一示例,使用关于西班牙语训练的三元组模型,输入字符串“pres*rea*”产生的提示文本输入为“presidenteReagan”。
所揭示的文本输入系统和方法还可用作调试语言模型的工具。在这样的一个示例中,在英语训练语料库中已混入一些法语。结果,英语语言模型将“en*de”中的*(即通配符)扩展为恰好也是英语单词的某些常用法语单词:raison、circulation、oeuvre、place,以及<OOV>(对应于语言模型术语中的表外词汇(outof vocabulary))。在使用此方法和系统时还发现了训练语料库中的其它异常,诸如来自美联社(AP)新闻的标题。
对于本公开中所描述的思想,还有ESL(English as a Second Language)应用。许多用户拥有比被动词汇表更强的主动词汇表。如果用户卡在了一个单词上,则他们可利用恰当的通配符键入启发性的上下文,有很大可能系统将会提出用户正在寻找的单词。在单语上下文中也有类似用法。假设用户不确定如何拼写一个名人的名字。如果他们在输入字符串中提供启发性上下文,则语言模型很可能知道如何正确拼写。参见以下示例:
ron*r*g*n→Ronald Reagan
don*r*g*n→Donald Reagan
c*rice→Condoleezza Rice
总之,在此披露的通配符文本输入思想在许多文本输入应用中都是有帮助的,例如包括不具有全尺寸键盘的设备(手机、PDA、平板电脑等)、文本输入速度较为要紧的应用(例如,即时消息接发、电子邮件等)、在语言技能方面给予辅助的系统(例如,提供合适的拼写建议、提示合适的语法上的搭配的ESL应用等)中、以及在浏览中(引导用户至流行话题的系统)。
在所揭示的系统和方法的一些实施例中使用了索引和压缩。k个最佳字符串匹配问题提出了许多有趣的技术挑战。考虑两类语言模型的使用:三元组语言模型和长列表(用于诸如700万最流行的web查询的有限语言)。长列表是以后缀阵列来索引的。如下文所述,后缀阵列很好地推广到了电话模式。将web查询列表作为N字节的文本来处理。(新行被用字符串末尾的定界符来代替。)后缀阵列S是具有N个整数的序列。该阵列用整数0至N-1来初始化。因此,S[i]=i,0=i<N。这些整数中的每一个代表自文本中的位置i开始并延伸至字符串末尾的字符串。随后S被按照字母表顺序排列。
后缀阵列使得易于寻找任何子字符串的频率和位置。例如,给定子字符串“mail”,我们找到以“mail”开始的S中的第一个和最后一个后缀。这二者之间的间距是频率。此间距中的每个后缀指向“mail”的超级字符串(superstring)。
为了将后缀阵列推广用于示例系统的电话模式,用电话顺序字符串比较(phone-strcmp)来替换字母表顺序字符串比较(strcmp)。strcmp和phone-strcmp都是一次一个地比较被考虑的两个字符串的每一字符。在标准字母表排序中,’a’<’b’<’c’,但是在phone-strcmp中,被映射为电话小键盘上的相同键的字母被视为相等。
当在这里使用时,后缀阵列被加以推广以利用流行度权重。目标并不在于找到包含子字符串“mail”的所有查询,而是找到k个最佳(最流行)查询。如果在输出上附加搜索这k个最佳结果的过滤器,则该标准后缀阵列方法将会起作用。然而如果有许多匹配,如对于较短的查询通常如此,则滤波器会花费时间O(N)。
一种改进是按照流行度和字母表顺序两者来排列后缀阵列,在树的偶数深度和奇数深度上交替。在第一层,后缀阵列按照第一顺序排列,然后后缀阵列按照第二顺序排列,依次类推。当搜索按照字母表顺序排序的节点时,可使用标准后缀阵列技术。但当搜索按照流行度排序的节点时,更流行的一半先于另一半被搜索。如果具有许多匹配,如对应于短字符串这种情形,则索引使得快速地找到前k个非常容易,且系统并不需要频繁地搜索另一半。如果前缀很罕见,则同时搜索两半会是有利的,因此,对于其中输入子字符串与表中任何内容都不匹配的最坏情况,对半分割(按照流行度分割)是无用的。查找是O(sqrtN)。
通配符匹配与子字符串匹配当然是不同的任务。有限状态机是考虑采用通配符的k个最佳字符串匹配问题的较好方法。在实践中,输入字符串经常包含较长的常量锚杆(anchor)(无通配符的子字符串)。后缀阵列可使用这些锚杆以产生候选列表,这些候选随后被正规表达包(package)过滤。
在许多实际应用中存储器是有限的,特别是在移动环境中,语言模型的压缩变得优先。语言模型的无损压缩已经有很多记载。如果存储器极其有限,则可选择通过应用有损压缩方法来在存储器和准确度损失之间进行权衡。例如对于三元组模型,可以如下使用有损Golomb码压缩。每个三元组<x,y,z>被映射为散列码(hash code)h=(V2x+Vy+z)%P,其中V是词汇表的大小,而P是一适当的质数。P在存储器和准确度损失之间进行权衡——较小的P要求较少存储器但造成了较多损失,反之亦然。N个三元组被散列为h个散列码。排列这些编码。这些差异x被利用Golomb码来编码,在假定差异呈指数分布时——即在散列为泊松(Poisson)分布时差异将所呈现的分布,则该Golomb码为最优Huffman码。作为较佳的近似,排序后的hash值可认为是通过泊松过程创建的。
现参照图4,其示出了具有被配置成实现如上所述地输入文本的方法的文本键入系统的系统、装置或设备400。设备400可以是诸如图2和3所示的设备200和/或300等移动计算设备,或者可以是诸如图1中所示的计算环境。此实施例不限于任何特定计算环境,这仅被提供用于说明的目的。在示例性实施例中,设备400可以是诸如手机等移动电话、PDA或其它移动装置。这些示例性实施例特别是具有如上所述的受限字符小键盘的类型,或者是有着缩小的尺寸(与标准计算机键盘相比)和/或借助触敏屏虚拟提供的全键盘类型,但是并不限于此。
利用可如上所述的输入设备405,用户提供一输入字符串,此字符串在其除末尾以外的位置包含通配符,或者在末尾及末尾以外的位置均包含通配字符。此外,此字符串中可包含多个通配字符。在所揭示的实施例的一般性讨论中已提供了通配符放置的示例。在使用受限字符小键盘的实施例中,可配置处理电路410以使用诸如上述单触和多触等技术来方便输入字符串的键入。
配置处理电路410以实现用以执行该文本输入法的各种模块、功能和组件。一个此类功能是k个最佳匹配确定功能415。使用表示想要输入的文本但包含所述的一个或多个通配符的输入字符串,处理电路410使用语言模型425以标识k个最佳文本匹配430。所标识的数目k或文本匹配可以是任何想要的数字。可使用任何利用语料库、数据库或其它合适的训练数据来训练的合适语言模型。例如,可使用三元组语言模型。在一个示例性实施例中,使用了利用Golomb码的三元组语言模型。然而实施例并不限于使用任何特定语言模型。在示例性实施例中,从可能的文本匹配的索引420当中标识对应于包含该通配符的输入字符串的k个最佳文本匹配。
在示例性实施例中,k个最佳文本匹配中的至少一部分在显示设备435上被显示给用户。可按照基于分数的等级顺序来显示这些最佳文本匹配。在示例性实施例中,这些分数是使用语言模型确定的统计学分数或概率。利用输入设备405来滚动、浏览、选择等,用户可迅速标识所显示的最佳文本匹配中想要输入的那一文本。该文本然后作为要输入的文本440被提供。这样,使用远少于通常情况下所需的按键或小键盘键击,用户可输入用于特定应用的需要的文本。可在设备400上执行或访问且可对其使用该文本输入方法的应用的示例包括:文本消息接发应用、电子邮件应用、web冲浪、以及其它搜索引擎应用等。然而所揭示的实施例并不限于这些示例应用。
现参照图5,其示出表示文本输入法的流程图500。在一些实施例中,图5所示的方法是使用具有受限字符小键盘的移动设备输入文本的方法,其中该小键盘将多个数字键中的每一按键与多个不同字母相关联。在其它实施例中,图5所示的方法是当该方法在移动或非移动计算环境中实现时使用其它键盘或文本键入设备来输入文本的方法。
如框510所示,该方法包括从用户接收输入字符串的第一部分,此第一部分包括一个或多个通配字符。可以用表示至少一个通配符的一次或多次键击的形式来接收第一部分。此输入字符串的第一部分中也可包括其它非通配符字符。例如,接收输入字符串的第一部分可包括:接收受限字符小键盘、键盘或其它输入设备上的表示该输入字符串的至少一个通配字符的至少一次键击。对于其它类型的输入设备,也可使用其它非键击技术。由此,字符串可以通配字符开始(例如,*mail),或者一个或多个通配字符可出现在该输入字符串的第一部分中的任何位置(例如,h*m*)。
随后,如框515所示,该方法包括以与接收第一部分相同的方式,从用户接收该输入字符串的第二部分。此第二部分包括表示至少一个非通配符字符的键击等。该第二部分中不允许有通配符。如任选框517(以虚线显示的)所示,根据需要,可在该输入字符串中键入另一部分,包括在该字符串的末尾放置通配字符,尽管在某些实施例中所揭示的系统可在该末尾位置自动放置通配符。此外,框510和517所示的步骤可包括以单触或多触方式或技术来接收输入字符串部分。
在所示方法的其它实施例中,可在参照框510和515所述的字符串键入步骤之外添加其它步骤。例如,这些步骤在图5中以虚线示出。如框520所示,该方法包括使用语言模型来对输入字符串执行通配符扩展,以标识与包含通配字符的输入字符串相对应的k个最佳匹配。在示例性实施例中,此步骤包括:根据来自语言模型的分数从可能的文本匹配索引当中标识k个最佳匹配。如上所述,可使用任何合适的语言模型,其中一个示例性实施例是通过Golomb码实现的三元组语言模型。
接下来,如框525所示,该方法可包括显示与包含通配字符的输入字符串相对应的所标识的k个最佳文本匹配中的至少一部分的步骤。此步骤还可包括,在接收到输入字符串的第一、第二和任选的第三部分时,以单词轮转的形式显示这k个最佳文本匹配。在这些实施例中,针对已键入字符串的所有部分确定k个最佳匹配,即使是在所有部分的键入完成之前也是如此。最后,如框530所示,该方法可包括接收选择这k个最佳文本匹配之一作为输入文本的用户输入。
现回头参照图4,在另一实施例中,系统400可标识输入法编辑器(IME)系统。例如,系统400可表示用于通过输入第一语言(如英语)的文本字符串来输入第二语言(例如,诸如汉语、日语等亚洲语言)的文本的此类IME系统,其中第一语言的文本字符串表示所需要的第二语言的文本的第一语言形式的拼音发音。例如,如在已知的IME中所做的那样,可使用输入设备405来输入第一语言字符以组成第二语言的文本的第一语言形似的拼音发音。但是,根据在此所揭示的思想,以第一语言提供的输入字符串包括通配字符以减少输入第一语言形式的拼音发音所需的时间。处理电路410(具有通配符扩展415)可被配置成使用适当训练的语言模型425来标识与第一语言的输入字符串相对应的第二语言的k个最佳文本匹配430。这可通过使用索引420来完成。随后可在显示设备435上向用户显示这k个最佳的第二语言文本匹配,而用户可选择想要输入的第二语言文本。
举例来说,英语输入字符串‘y*n’可完成为拼音发音‘yan’和‘yuan’,它们可产生诸如眼、烟、沿、盐、远、员、元...等汉语文本匹配。
图6所示的流程图600中示出了在此类IME中输入文本的方法。如框605所示,该方法包括接收一输入字符串的步骤,该输入字符串以第一语言表示组成所需要的第二语言文本的第一语言形式的拼音发音的至少一部分的字符,其中该输入字符串包括至少一个通配字符。随后,如框610所示,该方法包括使用语言模型标识与接收到的包括至少一个通配字符的输入字符串相对应的第二语言的文本匹配的步骤。与在上述其它实施例中一样,它包括输入字符串的通配符扩展。在框615所示的步骤,该方法包括将所标识的与接收到的包括至少一个通配字符的输入字符串相对应的第二语言的文本匹配显示给用户。最后,该方法包括如框620所示的响应用户输入选择所标识的第二语言的文本匹配之一作为输入文本的步骤。
尽管以特定结构特征和/或方法动作的语言描述了所述主题,但应当理解由所附权利要求限定的主题并不限于前述的特定特征或动作。所披露的以上特定特征和动作仅被公开作为实现权利要求的示例形式。

Claims (20)

1.一种使用具有受限字符小键盘的移动设备输入文本的方法,其中所述受限字符小键盘将多个不同字母与多个数字键中的每个键相关联,所述方法包括:
从用户接收一输入字符串的包括在所述受限字符小键盘上的至少一次键击的第一部分,所述输入字符串的第一部分表示至少一个通配字符;以及
在所述输入字符串的表示所述至少一个通配字符的第一部分之后,从用户接收所述输入字符串的包括在所述受限字符小键盘上的至少一次键击的第二部分,其中所述第二部分的所有键击都表示非通配符字符。
2.如权利要求1所述的方法,其特征在于,在接收所述输入字符串的第二部分之后,还包括:从用户接收所述输入字符串的包括在所述受限字符小键盘上的键击的第三部分,所述第三部分表示位于所述输入字符串末尾处的附加通配字符。
3.如权利要求1所述的方法,其特征在于,在接收所述输入字符串的第二部分之后,还包括在所述输入字符串的末尾处自动插入附加通配字符。
4.如权利要求1所述的方法,其特征在于,还包括使用语言模型来执行通配符扩展,以标识出与包含所述至少一个通配字符的所述输入字符串相对应的k个最佳文本匹配。
5.如权利要求4所述的方法,其特征在于,还包括在所述移动设备上显示与包含所述至少一个通配符的所述输入字符串相对应的k个最佳文本匹配中的至少多个。
6.如权利要求5所述的方法,其特征在于,还包括接收选择所述k个最佳文本匹配之一作为输入的文本的用户输入。
7.如权利要求6所述的方法,其特征在于,与包含所述至少一个通配字符的输入字符串相对应的所述k个最佳文本匹配是根据使用所述语言模型确定的分数从可能的文本匹配的索引中标识出的。
8.如权利要求6所述的方法,其特征在于,所述语言模型是三元组语言模型。
9.如权利要求8所述的方法,其特征在于,所述语言模型使用Golomb码。
10.如权利要求6所述的方法,其特征在于,从所述用户接收所述输入字符串的第一和第二部分包括,在所述受限字符小键盘上使用多触输入技术和单触技术中的至少一种来接收所述输入字符串的第一和第二部分。
11.如权利要求6所述的方法,其特征在于,还包括在接收到所述输入字符串的第一和第二部分时,以单词轮转格式显示文本匹配。
12.一种被配置成实现如权利要求1所述的方法的便携式电子设备。
13.一种其上储存有用于实现如权利要求1所述的方法的各步骤的计算机可执行指令的计算机可读介质。
14.一种输入文本的方法,所述方法包括:
从用户接收一输入字符串的包括至少一次键击的第一部分,所述输入字符串的第一部分表示至少一个通配字符;
在所述输入字符串的表示所述至少一个通配字符的第一部分之后,从用户接收所述输入字符串的包括至少一次键击的第二部分,其中所述第二部分的所有键击都表示非通配符字符;
使用语言模型执行通配符扩展以标识出与包含所述至少一个通配符的所述输入字符串相对应的k个最佳文本匹配;
向用户显示与包含所述至少一个通配字符的所述输入字符串相对应的所述k个最佳文本匹配中的多个;以及
响应于用户输入,选择所述k个最佳文本匹配之一作为输入的文本。
15.如权利要求14所述的方法,其特征在于,在接收所述输入字符串的第二部分之后,还包括:从用户接收所述输入字符串的包括键击的第三部分,所述第三部分表示位于所述输入字符串末尾处的附加通配字符。
16.如权利要求14所述的方法,其特征在于,在接收所述输入字符串的第二部分之后,还包括在所述输入字符串的末尾处自动插入附加通配字符。
17.如权利要求14所述的方法,其特征在于,与包含所述至少一个通配字符的所述输入字符串相对应的所述k个最佳文本匹配是根据使用所述语言模型确定的分数从可能的文本匹配的索引中标识出的。
18.如权利要求14所述的方法,其特征在于,还包括在接收到所述输入字符串的第一和第二部分时,以单词轮转格式显示文本匹配。
19.一种输入文本的方法,所述方法包括:
从用户接收包括键击的输入字符串,所述输入字符串以第一语言表示形成第二语言的文本的所述第一语言形式的拼音发音的至少一部分的字符,所接收到的输入字符串包括至少一个通配字符;
使用语言模型标识出对应于所接收到的包括所述至少一个通配字符的输入字符串的第二语言的文本匹配;
向用户显示所标识出的对应于所接收到的包括所述至少一个通配字符的输入字符串的第二语言的文本匹配;以及
响应于用户输入,选择所标识出的所述第二语言的文本匹配之一作为输入的文本。
20.一种被配置成实现如权利要求19所述的方法的亚洲语言输入法编辑器(IME)系统。
CN2006800217784A 2005-06-23 2006-06-06 使用语言模块扩展通配符 Expired - Fee Related CN101199122B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/159,711 US7277029B2 (en) 2005-06-23 2005-06-23 Using language models to expand wildcards
US11/159,711 2005-06-23
PCT/US2006/022043 WO2007001765A2 (en) 2005-06-23 2006-06-06 Using language models to expand wildcards

Publications (2)

Publication Number Publication Date
CN101199122A true CN101199122A (zh) 2008-06-11
CN101199122B CN101199122B (zh) 2011-08-10

Family

ID=37566664

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800217784A Expired - Fee Related CN101199122B (zh) 2005-06-23 2006-06-06 使用语言模块扩展通配符

Country Status (4)

Country Link
US (1) US7277029B2 (zh)
KR (1) KR101203352B1 (zh)
CN (1) CN101199122B (zh)
WO (1) WO2007001765A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103154930A (zh) * 2010-07-30 2013-06-12 库比克设计工作室有限责任公司 填空字补齐系统

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7756859B2 (en) * 2005-12-19 2010-07-13 Intentional Software Corporation Multi-segment string search
US20070164782A1 (en) * 2006-01-17 2007-07-19 Microsoft Corporation Multi-word word wheeling
US7769804B2 (en) * 2006-01-17 2010-08-03 Microsoft Corporation Server side search with multi-word word wheeling and wildcard expansion
JP4872079B2 (ja) * 2006-05-19 2012-02-08 国立大学法人長岡技術科学大学 文章更新量評価プログラム
KR100772453B1 (ko) * 2006-11-17 2007-11-01 삼성전자주식회사 휴대용 단말기에서 문자 입력 방법 및 장치
US20080140519A1 (en) * 2006-12-08 2008-06-12 Microsoft Corporation Advertising based on simplified input expansion
US20080244387A1 (en) * 2007-03-30 2008-10-02 Vadim Fux Use of a Suffix-Removing Spell Check Algorithm for a Spell Check Function, and Associated Handheld Electronic Device
US9092418B2 (en) * 2007-03-30 2015-07-28 Blackberry Limted Use of a suffix-changing spell check algorithm for a spell check function, and associated handheld electronic device
US20080244388A1 (en) * 2007-03-30 2008-10-02 Vadim Fux Spell Check Function Having a Character Replacement Spell Check Algorithm That Applies a Preference Based Upon Proximity of the Characters Replacing One Another, and Associated Handheld Electronic Device
US8881004B2 (en) * 2007-03-30 2014-11-04 Blackberry Limited Use of multiple data sources for spell check function, and associated handheld electronic device
US8462119B2 (en) * 2008-01-09 2013-06-11 Research In Motion Limited Method of facilitating user input in handheld electronic device employing a text disambiguation function
EP2081185B1 (en) * 2008-01-16 2014-11-26 Nuance Communications, Inc. Speech recognition on large lists using fragments
US8015129B2 (en) * 2008-04-14 2011-09-06 Microsoft Corporation Parsimonious multi-resolution value-item lists
US20090287680A1 (en) * 2008-05-14 2009-11-19 Microsoft Corporation Multi-modal query refinement
KR101045762B1 (ko) * 2008-11-03 2011-07-01 한국과학기술원 실시간 시맨틱 어노테이션 장치 및 이를 활용하여 사용자가입력한 자연어 스트링을 실시간으로 의미 가독형 지식 구조 문서로 생성하는 방법
US8484014B2 (en) * 2008-11-03 2013-07-09 Microsoft Corporation Retrieval using a generalized sentence collocation
CN101533403B (zh) * 2008-11-07 2010-12-01 广东国笔科技股份有限公司 一种派生词生成方法及系统
US9009591B2 (en) * 2008-12-11 2015-04-14 Microsoft Corporation User-specified phrase input learning
US8635236B2 (en) * 2008-12-22 2014-01-21 Microsoft Corporation Augmented list for searching large indexes
US9189472B2 (en) 2009-03-30 2015-11-17 Touchtype Limited System and method for inputting text into small screen devices
US9424246B2 (en) 2009-03-30 2016-08-23 Touchtype Ltd. System and method for inputting text into electronic devices
US10191654B2 (en) 2009-03-30 2019-01-29 Touchtype Limited System and method for inputting text into electronic devices
GB0905457D0 (en) 2009-03-30 2009-05-13 Touchtype Ltd System and method for inputting text into electronic devices
GB0917753D0 (en) 2009-10-09 2009-11-25 Touchtype Ltd System and method for inputting text into electronic devices
US8856115B1 (en) * 2009-12-07 2014-10-07 Google Inc. Framework for suggesting search terms
US20110184723A1 (en) * 2010-01-25 2011-07-28 Microsoft Corporation Phonetic suggestion engine
US8463592B2 (en) * 2010-07-27 2013-06-11 International Business Machines Corporation Mode supporting multiple language input for entering text
US8712989B2 (en) * 2010-12-03 2014-04-29 Microsoft Corporation Wild card auto completion
US9129606B2 (en) * 2011-09-23 2015-09-08 Microsoft Technology Licensing, Llc User query history expansion for improving language model adaptation
US9348479B2 (en) 2011-12-08 2016-05-24 Microsoft Technology Licensing, Llc Sentiment aware user interface customization
US9378290B2 (en) 2011-12-20 2016-06-28 Microsoft Technology Licensing, Llc Scenario-adaptive input method editor
CN104428734A (zh) 2012-06-25 2015-03-18 微软公司 输入法编辑器应用平台
US8959109B2 (en) 2012-08-06 2015-02-17 Microsoft Corporation Business intelligent in-document suggestions
US9767156B2 (en) 2012-08-30 2017-09-19 Microsoft Technology Licensing, Llc Feature-based candidate selection
US11727005B2 (en) * 2013-03-05 2023-08-15 Cubic Design Studios Llc Fill in the blanks word completion system
EP3030982A4 (en) 2013-08-09 2016-08-03 Microsoft Technology Licensing Llc INPUT PROCESSORS EDITOR WITH LANGUAGE SUPPORT
US20170091167A1 (en) * 2015-09-25 2017-03-30 Ehtasham Malik Input Processing
GB201610984D0 (en) 2016-06-23 2016-08-10 Microsoft Technology Licensing Llc Suppression of input images
CN108008832A (zh) * 2016-10-31 2018-05-08 北京搜狗科技发展有限公司 一种输入方法和装置、一种用于输入的装置
US10241716B2 (en) 2017-06-30 2019-03-26 Microsoft Technology Licensing, Llc Global occupancy aggregator for global garbage collection scheduling

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE466029B (sv) * 1989-03-06 1991-12-02 Ibm Svenska Ab Anordning och foerfarande foer analys av naturligt spraak i ett datorbaserat informationsbehandlingssystem
US5963671A (en) * 1991-11-27 1999-10-05 International Business Machines Corporation Enhancement of soft keyboard operations using trigram prediction
US5485372A (en) * 1994-06-01 1996-01-16 Mitsubishi Electric Research Laboratories, Inc. System for underlying spelling recovery
US6408266B1 (en) * 1997-04-01 2002-06-18 Yeong Kaung Oon Didactic and content oriented word processing method with incrementally changed belief system
FI974576A (fi) 1997-12-19 1999-06-20 Nokia Mobile Phones Ltd Menetelmä tekstin kirjoittamiseksi matkaviestimeen ja matkaviestin
CN1095577C (zh) * 1998-05-15 2002-12-04 王伟 硬件检索机
CN1099647C (zh) * 1998-08-12 2003-01-22 英业达股份有限公司 利用读音及通配字符的拼写检查方法
EP1192716B1 (en) * 1999-05-27 2009-09-23 Tegic Communications, Inc. Keyboard system with automatic correction
US6573844B1 (en) * 2000-01-18 2003-06-03 Microsoft Corporation Predictive keyboard
US6654733B1 (en) * 2000-01-18 2003-11-25 Microsoft Corporation Fuzzy keyboard
US7107204B1 (en) 2000-04-24 2006-09-12 Microsoft Corporation Computer-aided writing system and method with cross-language writing wizard
US6785677B1 (en) * 2001-05-02 2004-08-31 Unisys Corporation Method for execution of query to search strings of characters that match pattern with a target string utilizing bit vector
US6985851B2 (en) * 2001-07-17 2006-01-10 Microsoft Corporation Method and apparatus for providing improved HMM POS tagger for multi-word entries and factoids
US7111248B2 (en) * 2002-01-15 2006-09-19 Openwave Systems Inc. Alphanumeric information input method
RU2316040C2 (ru) * 2002-07-01 2008-01-27 Сони Эрикссон Мобайл Коммьюникейшнз Аб Ввод текста в электронное устройство связи
US7409336B2 (en) * 2003-06-19 2008-08-05 Siebel Systems, Inc. Method and system for searching data based on identified subset of categories and relevance-scored text representation-category combinations

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103154930A (zh) * 2010-07-30 2013-06-12 库比克设计工作室有限责任公司 填空字补齐系统
CN103154930B (zh) * 2010-07-30 2017-07-11 库比克设计工作室有限责任公司 填空字补齐系统

Also Published As

Publication number Publication date
KR101203352B1 (ko) 2012-11-20
US7277029B2 (en) 2007-10-02
US20060290535A1 (en) 2006-12-28
WO2007001765A2 (en) 2007-01-04
CN101199122B (zh) 2011-08-10
WO2007001765A3 (en) 2007-06-14
KR20080018994A (ko) 2008-02-29

Similar Documents

Publication Publication Date Title
CN101199122B (zh) 使用语言模块扩展通配符
US20080297480A1 (en) Method of Inputting Multi-Languages by Using Symbol Characters Allocated in Keypads of User Terminal
US6864809B2 (en) Korean language predictive mechanism for text entry by a user
US7769804B2 (en) Server side search with multi-word word wheeling and wildcard expansion
RU2424547C2 (ru) Предсказание слова
US9047870B2 (en) Context based language model selection
US20030023426A1 (en) Japanese language entry mechanism for small keypads
KR101586890B1 (ko) 입력 처리 방법 및 장치
CN103294776A (zh) 一种智能手机通讯录模糊搜索的方法
Stocky et al. A commonsense approach to predictive text entry
TW200925937A (en) Inquiry-oriented user input apparatus and method
JP2009116900A (ja) 曖昧なテキスト入力の明確な文字フィルタリング
CN1748195A (zh) 用于小键盘的文本输入机制
AU2005259925A1 (en) Nonstandard text entry
CN101681365A (zh) 用于分布式语音搜索的方法和装置
CN101566995A (zh) 一种互联网信息整合发布的方法和系统
US20070164782A1 (en) Multi-word word wheeling
CN1758211A (zh) 把输入提供给计算设备的有效多方式的方法
CN101170757A (zh) 一种在移动设备中控制文字输入的方法及其装置
CN100517186C (zh) 基于按键和语音识别的文字输入方法及装置
TW200947241A (en) Database indexing algorithm and method and system for database searching using the same
CN100561469C (zh) 创建和使用中文语言数据和用户自纠正数据的方法和系统
CA2584444C (en) Handheld electronic device and method for performing optimized spell checking during text entry by providing a sequentially ordered series of spell-check algorithms
CN101331483A (zh) 用于操纵数据文件的方法和设备
CN1466039A (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
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150422

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150422

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110810

Termination date: 20190606