CN105164616B - 用于输出候选字符串的方法、计算设备及存储介质 - Google Patents
用于输出候选字符串的方法、计算设备及存储介质 Download PDFInfo
- Publication number
- CN105164616B CN105164616B CN201480021928.6A CN201480021928A CN105164616B CN 105164616 B CN105164616 B CN 105164616B CN 201480021928 A CN201480021928 A CN 201480021928A CN 105164616 B CN105164616 B CN 105164616B
- Authority
- CN
- China
- Prior art keywords
- candidate character
- character strings
- area
- text
- computing device
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
- G06F3/0233—Character input methods
- G06F3/0237—Character input methods using prediction or retrieval techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F3/04886—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/274—Converting codes to words; Guess-ahead of partial word inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- User Interface Of Digital Computer (AREA)
- Input From Keyboards Or The Like (AREA)
Abstract
在一个示例中,一种方法包括:由计算设备输出包括多个文本建议区的图形用户界面以显示。该方法进一步包括由计算设备接收在存在敏感输入设备处检测到的手势输入的指示,以及至少部分地基于手势输入的指示,从多个候选字符串选择候选字符串。该方法进一步包括确定当候选字符串被显示在来自多个文本建议区的特定文本建议区内时先前选择过该候选字符串;以及至少部分地基于确定当候选字符串被显示在特定文本建议区内时先前选择过该候选字符串,输出特定文本建议区内的候选字符串以显示。
Description
背景技术
一些计算设备(例如,移动电话、平板电脑等等)可以将图形键盘提供为用于编写文本的图形用户界面的一部分(例如,使用存在敏感输入设备和/或显示器,诸如触摸屏)。图形键盘可以使得计算设备的用户能够录入文本(例如,电子邮件、文本消息或文档等等)。例如,计算设备的显示设备可以输出使得用户能够通过指示(例如,通过敲击)在存在敏感输入设备处显示的键来录入数据的图形(或“软”)键盘。
一些计算设备可以基于使用图形键盘录入的数据,确定一个或多个候选字符串(例如,包括在词典,诸如字典中的候选词)。在一些示例中,计算设备可以输出候选字符串集以在多个文本建议区处显示,该文本建议区使得用户能够通过指示(例如,敲击或手势)显示所需字符串的显示的文本建议区来选择(例如,自动完成)字符串。在某些示例中,每一文本建议区可以与排名相关联,每一排名对应于在文本建议区内显示的候选字符串的相对概率。根据某些技术,计算设备可以基于候选字符串表示包括在词典中的词的概率和相应文本建议区的排名之间的对应关系,输出候选字符串以在文本建议区内显示。例如,计算设备可以输出最高概率候选字符串以在显示的最高排名文本建议区内显示、第二最高概率候选字符串以在第二最高排名文本建议区内显示等等。
然而,这些技术可以具有某些缺点。例如,显示特定候选字符串的文本建议区由于例如候选字符串的不同词典上下文(例如,不同在前词)而改变。同样地,用户可能不能预测响应于特定手势输入,将在哪一文本建议区内显示特定候选字符串。因此,这些技术可以要求用户注意(例如,浏览)多个文本建议区的每一个来确定显示所需候选字符串的文本建议区,由此降低了用户能与计算设备交互来录入文本的速度。
发明内容
在一个示例中,一种方法包括由计算设备输出包括多个文本建议区的图形用户界面以显示;由计算设备接收在存在敏感输入设备处检测到的手势输入的指示;由计算设备并且至少部分地基于手势输入的指示,从多个候选字符串选择候选字符串。该方法进一步包括由计算设备确定当候选字符串被显示在来自多个文本建议区的特定文本建议区内时先前选择过该候选字符串;以及由计算设备并且至少部分地基于确定当该候选字符串被显示在特定文本建议区内时先前选择过候选字符串,在该特定文本建议区内输出候选字符串以显示。
在另一示例中,一种计算机可读存储介质编码有指令,所述指令当被执行时,使计算设备的至少一个处理器输出包括多个文本建议区的图形用户界面以显示;接收在存在敏感输入设备处检测到的手势输入的指示;以及至少部分地基于手势输入的指示,从多个候选字符串选择候选字符串。该计算机可读存储介质进一步编码有指令,所述指令当被执行时,使计算设备的至少一个处理器确定当候选字符串被显示在来自多个文本建议区的特定文本建议区内时先前选择过该候选字符串;以及至少部分地基于确定当该候选字符串被显示在特定文本建议区内时先前选择过该候选字符串,在该特定文本建议区内输出候选字符串以显示。
在另一示例中,一种设备包括至少一个处理器,该处理器可操作地耦接到存在敏感输入设备,以及至少一个模块,该模块可由至少一个处理器操作以输出包括多个文本建议区的图形用户界面以显示;接收在存在敏感输入设备处检测到的手势输入的指示;以及至少部分地基于手势输入的指示,从多个候选字符串选择候选字符串。该至少一个模块进一步可由至少一个处理器操作来确定当候选字符串被显示在来自多个文本建议区的特定文本建议区内时先前选择过该候选字符串;以及至少部分地基于确定当该候选字符串被显示在特定文本建议区内时先前选择过该候选字符串,在该特定文本建议区内输出候选字符串以显示。
在附图和下述描述中阐述了本公开的一个或多个示例的细节。从说明书和附图以及权利要求,其他特征、目的和优点将显而易见的。
附图说明
图1是根据本公开的一个或多个方面,图示可以用来在图形用户界面的文本建议区处输出候选字符串的示例计算设备的框图。
图2是根据本公开的一个或多个方面,图示图1所示的计算设备的一个示例的进一步细节的框图。
图3是根据本公开的一个或多个方面,图示输出图形内容以在远程设备处显示的示例计算设备的框图。
图4是根据本公开的一个或多个方面,图示可以用来在特定文本建议区内输出候选字符串的计算设备的示例操作的流程图。
图5是根据本公开的一个或多个方面,图示可以用来在特定文本建议区内输出候选字符串的计算设备的示例操作的流程图。
具体实施方式
通常,本公开针对可以通过每次计算设备接收选择特定候选字符串的一个或多个字符的手势输入时,一致地输出特定候选字符串以在同一文本建议区内显示,提高用户使用文本建议区录入文本的便利的技术。例如,计算设备可以输出包括图形键盘和多个文本建议区(例如,两个、三个、五个或更多文本建议区)的图形用户界面以(例如,在存在敏感显示器处)显示。响应于接收到选择图形键盘的一个或多个键的用户输入的指示,计算设备可以基于与所选键相关联的字符,确定多个候选字符串(例如,包括在词典,诸如字典中的候选词)。计算设备可以输出候选字符串集以在文本建议区内显示,该文本建议区使得用户能够通过指示(例如,通过敲击)文本建议区中的一个,选择(例如,自动完成)候选字符串。
不是基于可以在输出候选字符串的实例之间改变的候选字符串的概率,输出特定候选字符串以在多个文本建议区的任何一个内显示,而是每次计算设备接收到选择特定候选字符串的一个或多个字符的手势输入时,实施本公开的技术的计算设备可以一致地输出特定候选字符串以在同一文本建议区内显示。例如,计算设备可以至少部分地基于确定当候选字符串被显示在特定文本建议区内时先前选择过该候选字符串,输出候选字符串以在特定文本建议区内显示。同样地,本公开的技术可以使得用户能够预测将在哪一文本建议区内显示特定候选字符串,由此使得用户能够从特定文本建议区选择特定候选字符串,而不要求用户注意(例如,浏览)其他文本建议区。以这种方式,在此所述的技术可以使得计算设备能够增加用户录入文本的速度,由此提高计算设备的可用性。
图1是根据本公开的一个或多个方面,图示可以用来在图形用户界面的文本建议区输出候选字符串的示例计算设备2的框图。在一些示例中,计算设备2可以与通过向计算设备提供各种用户输入而可以与计算设备2交互的用户相关联。计算设备2的示例可以包括但不限于便携式或移动设备,诸如移动电话(包括智能电话)、膝上型计算机、台式计算机、平板电脑、智能电视平台、个人数字助理(PDA)、服务器、大型机等等。在一些示例中,计算设备2可以包括用户界面(UI)设备4、UI模块6和文本建议模块8。实施本公开的技术的计算设备2的其他示例可以包括图1中未示出的另外的组件。
计算设备2可以包括UI设备4。在一些示例中,UI设备4被配置成接收触觉、音频或视觉输入。UI设备4的示例可以包括触摸敏感和/或存在敏感屏幕、鼠标、键盘、语音响应***、麦克风、摄像机或用于接收输入的其他设备。例如,UI设备4可以包括可以检测执行一个或多个手势的输入单元(例如,手势、笔、铁笔等等)的存在的存在敏感显示器。UI设备4可以输出诸如图形用户界面(GUI)10A-10B(在此统称为“GUI 10”)的内容以显示。GUI 10可以包括文本显示区14、图形键盘12、文本建议区16A-16C(在此统称为“文本建议区16”)或其他显示区。
如图1所示,计算设备2可以包括UI模块6。UI模块6可以执行接收输入,诸如用户输入,并且将这些输入的指示发送到与计算设备2相关联的其他组件,诸如文本建议模块8的一个或多个功能。UI模块6也可以从与计算设备2相关联的组件,诸如文本建议模块8接收数据。使用该数据,UI模块6可以使与计算设备2相关联的组件,诸如UI设备4基于该数据提供输出。例如,UI模块6可以从文本建议模块8接收数据,并且可以使UI设备4基于该数据显示GUI 10,诸如通过使UI设备4根据在此描述的技术,在文本建议区16内显示一个或多个候选字符串。在一些示例中,UI模块6可以包括与可由计算设备2执行的一个或多个应用,诸如字处理应用、文本消息应用、电子表格、Web浏览器、服务器应用或其他应用中的一个或多个相关联的功能性。在某些示例中,UI模块6可以被实施为可由计算设备2的一个或多个处理器执行的应用,诸如可下载或预安装应用或“app”。在一些示例中,UI模块6可以被实施为计算设备2的硬件单元的一部分。作为另一示例,UI模块6可以被实施为计算设备2的操作***的一部分。
如图1所示,GUI 10可以分别是由UI模块6生成来使得用户能够与计算设备2交互的界面。GUI 10可以分别包括图形内容。图形内容通常可以是图形用户界面的任何可视可显示图形对象。图形内容的示例可以包括文本、图像、一组运动图像、超链接、动画、视频、字符集的字符等等。如图1所示,图形内容可以包括图形键盘12、文本显示区14、文本建议区16以及在文本建议区16内显示的一个或多个候选字符串。
图形键盘12可以包括多个键,诸如“T”键22和“H”键24。在一些示例中,包括在图形键盘12中的多个键的每一个表示单一字符。在其他示例中,包括在图形键盘12中的多个键中的一个或多个表示基于多个模式选择的一组字符。图形键盘12可以由UI设备4显示为顺序可选择键集。键可以表示来自字符集的单一字符(例如,英文字母表的字母)或可以表示字符的组合。图形键盘12的一个示例可以包括传统的“QWERTY”键盘布局。其他示例可以包含用于不同语言的字符、不同字符集或不同字符布局。如图1的示例中所示,图形键盘12包括用于提供字符键的英语以及提供其他功能性的各种键(例如,“123”键)的传统“QWERTY”键盘布局的版本。
在一些示例中,文本显示区14可以包括包含在例如文本消息、文档、电子邮件消息、Web浏览器等等中的字符或其他图形内容。例如,文本显示区14可以包括经由在UI设备4处执行的手势,由用户选择的字符或其他图形内容。在一些示例中,文本建议区16可以分别显示候选字符串,诸如包括在词典(例如,英语)中的候选词。如图1的示例中所示,文本建议区16可以是不同于文本显示区14的GUI 10的区。在其他示例中,文本建议区16可以是GUI10的单一区,并且可以包括与文本显示区14相同的GUI 10一个或多个区。类似地,文本建议区16虽然在图1的示例中被图示为单独区,但在在一些示例中,其可以是GUI 10的单一区。
UI模块6可以使UI设备4显示图形键盘12并且检测手势输入,诸如在显示图形键盘12的一个或多个键的UI设备4的一个或多个位置和显示文本建议区16的UI设备4的一个或多个位置处检测到的手势输入。另外,文本建议模块8可以至少部分地基于与图形键盘12的所选键相关联的一个或多个字符,确定一个或多个候选字符串。根据在此所述的技术,文本建议模块8可以使UI设备4在文本建议区16中的一个或多个内显示候选字符串中的一个或多个。
根据本公开的技术,每次计算设备2接收选择特定候选字符串的一个或多个字符的手势输入时,计算设备2可以通过在同一文本建议区内一致地输出特定候选字符串,提高用户使用文本建议区(例如,文本建议区16)录入文本(例如,在文本显示区14内)的便利。例如,使用本公开的技术,计算设备可以至少部分地基于计算设备2确定当候选字符串被显示在特定文本建议区处时先前选择过该候选字符串,输出候选字符串以在特定文本建议区内显示。同样地,本公开内容的技术可以使得用户能够预测将在哪一文本建议区内显示该特定候选字符串,由此增加用户提供选择特定候选字符串的手势输入的速度。
如图1所示,UI设备4可以输出包括图形键盘12的GUI 10以在UI设备4处显示。UI设备4(例如,存在敏感和/或触摸敏感显示器)可以接收在图形键盘12的位置18和20处检测到的手势输入的指示。响应于接收到在位置18处检测到的手势输入的指示(例如,在位置18处检测到的触摸输入的指示),UI模块6可以将“T”键22选择为图形键盘12的第一被选键,诸如通过确定位置18对应于显示“T”键22的图形键盘12的位置。类似地,响应于接收到在位置20处检测到的手势输入的指示(例如,在位置20处检测到的触摸输入的指示),UI模块6可以将“H”键24选择为图形键盘12的第二被选键,诸如通过确定位置20对应于显示“H”键24的图形键盘12的位置。尽管关于在位置18和20处检测到的多个手势输入来选择“T”键22和“H”键24而在图1中所图示,本公开的方面不限于此。例如,在一些示例中,诸如当图形键盘12包括手势键盘的功能性时,响应于接收到从位置18至位置20检测到的单一连续手势输入的指示,UI模块6可以使得UI设备4检测从图形键盘12的位置18到位置20的输入单元(例如,手指、笔、铁笔等等)的存在,来选择“T”键22和“H”键24。
响应于将“T”键22和“H”键24选择为图形键盘12的被选键,文本建议模块8可以确定多个候选字符串。每一相应候选字符串可以包括包含与被选键相关联的字符的一组预测字符。例如,在图1的示例中,文本建议模块8可以确定分别对应于“T”键22和“H”键24的字符“T”和“H”是其前缀的多个候选字符串。如图1所示,文本建议模块8可以确定多个候选字符串,包括字符串26(即,包括多个字符的字符串“this”)、字符串28(即,包括多个字符的字符串“the”)、字符串30(即,包括多个字符的字符串“that”)以及字符串32(即,包括多个字符的字符串“than”)。尽管关于四个候选字符串26、28、30和32图示,但文本建议模块8可以确定其他数目的候选字符串,诸如2个候选字符串、5个候选字符串、50个候选字符串或其他数目的候选字符串。
文本建议模块8可以至少部分地基于来自多个候选字符串的每一相应候选字符串的概率,确定多个候选字符串的排名顺序。例如,如在下文进一步所述,文本建议模块8可以将来自多个候选字符串的每一相应候选字符串与语言模型比较来确定每一相应候选字符串的概率,诸如每一相应候选字符串表示包括在词典(例如,英语)中的词的概率或每一相应字符串表示多个词短语的下一词的概率。如图1的示例中所示,文本建议模块8可以确定多个候选字符串26、28、30和32的排名顺序34。
如所示,文本建议模块8可以将多个候选字符串的每一个与相应排名相关联,使得排名顺序34表示根据每一相应候选字符串的概率的多个候选字符串的顺序排列。例如,在图1的示例中,排名顺序34包括第一排名36、第二排名38、第三排名40和第四排名42。在该示例中,排名36、38、40和42分别对应于相关联的候选字符串表示包括在文本显示区14中的多个词短语的下一词的概率。此外,在图1的示例中,按概率的降序排列排名36、38、40和42,使得排名36与对应于候选字符串表示包括在文本显示区14中的多个词短语的下一词的最高相对概率的候选字符串相关联,以及排名42与对应于候选字符串表示包括在文本显示区14中的多个词短语的下一词的最低相对概率的候选字符串相关联。在其他示例中,文本建议模块8可以确定排名顺序34,使得排名36、38、40和42按概率的升序排列。类似地,在一些示例中,诸如当多个候选字符串包括四个以上候选字符串或少于4个候选字符串时,文本建议模块8可以将排名顺序34确定为包括四个以上排名或少于四个排名。在某些示例中,文本建议模块8可以将排名顺序34确定为包括等于包括在多个候选字符串中的候选字符串的数目的多个排名,使得多个候选字符串的每一个与排名顺序34内的排名相关联。在一些示例中,包括在排名顺序(例如,排名顺序34)内的候选字符串的排名在排序包括在候选字符串的列表内的候选字符串的方面是隐含的,不一定需要与候选字符串相关联地存储实际排名值。
此外,文本建议模块8可以将文本建议区16A-16C的每一个与对应于在相应文本建议区16内显示的候选字符串的概率的相应排名相关联。以这种方式,文本建议模块8可以确定文本建议区16的排名顺序,使得文本建议区16的每一个与对应于所关联的候选字符串的相应排名(例如,在与候选字符串相关联的数据结构中存储的排名,与文本建议区16的排名的顺序或基数对应的多个候选字符串的顺序或基数等等)相关联。例如,在图1的示例中,文本建议模块8确定文本建议区16的排名顺序,使得文本建议区16A对应于最高概率候选字符串、文本建议区16B对应于第二最高概率候选字符串,以及文本建议区16C对应于第三最高概率候选字符串。在其他示例中,文本建议模块8可以确定文本建议区16的不同排名顺序,诸如将文本建议区16B与最高概率候选字符串相关联的排名顺序。通常,文本建议模块8可以确定文本建议区16的任何排名顺序,使得每个相应文本建议区16对应于将相应文本建议区16与多个候选字符串内的相应排名关联的不同排名。
根据排名顺序34,文本建议模块8可以使UI设备4输出多个候选字符串26、28、30和32的集合以在文本建议区16内的GUI 10A处显示。例如,如图1所示,根据排名顺序34,文本建议模块8可以使UI设备4输出候选字符串26、28和30,以在文本建议区16内显示。即,在该示例中,文本建议模块8可以确定候选字符串26与排名36(即,排名顺序34的最高排名)相关联,该排名36匹配与文本建议区16A相关联的排名(即,文本建议区16的排名顺序的最高排名)。作为响应,文本建议模块8可以使UI设备4输出候选字符串26,以在文本建议区16A内显示。类似地,文本建议模块8可以确定候选字符串28与排名38(即,排名顺序34的第二最高排名)相关联,该排名38匹配与文本建议区16B相关联的排名(即,文本建议区16的排名顺序的第二最高排名),并且可以使UI设备4输出候选字符串28,以在文本建议区16B内显示。最后,文本建议模块8可以确定候选字符串30与排名40(即,排名顺序34的第三最高排名)相关联,该排名40匹配与文本建议区16C相关联的排名(即,文本建议区16的排名顺序的第三最高排名),并且可以使UI设备4输出候选字符串30,以在文本建议区16C内显示。以这种方式,根据排名顺序34,文本建议模块8可以使UI设备4输出候选字符串26、28、30和32的集合(即,包括候选字符串26、28和30的多个候选字符串的集合),以在文本建议区16内显示。
UI模块6可以接收在UI设备4的位置处检测到的选择在文本建议区16的一个内显示的候选字符串的手势输入的指示。例如,UI模块6可以接收在GUI 10A的位置44处检测到的手势输入的指示。作为响应,UI模块6可以诸如通过确定位置44对应于显示文本建议区16A的UI设备4的位置,选择候选字符串26(即,在文本建议区16A内显示的候选字符串)。UI模块6可以使UI设备4输出候选字符串26(即,包括字符“this”的候选字符串),以在文本显示区14内显示。以这种方式,计算设备2可以使计算设备2的用户选择(例如,自动完成)字符串以在文本显示区14内显示,而不要求用户提供选择与在字符串中包括的每一字符相关联的图形键盘12的键的手势输入。
此外,当UI模块6接收到选择图形键盘12的一个或多个键的手势输入的指示(例如,在图形键盘12的位置18和20处检测到的手势输入的指示)时,文本建议模块8可以确定手势输入的上下文,响应于此上下文,文本建议模块8确定多个候选字符串。如图1所示,上下文33可以包括对应于被选“T”键22的字符“T”的表示和对应于被选“H”键24的字符“H”的表示(例如,该示例中的字符串“th”)。作为另一示例,手势输入的上下文可以包括图形键盘12的一个或多个键的表示,诸如“T”键22和“H”键24。如另一示例,手势输入的上下文可以包括位置18的表示和图形键盘12的位置20的表示,诸如对应于UI设备4(例如,存在敏感和/或触摸敏感设备,诸如存在敏感和/或触摸敏感屏幕)的位置18的触摸点的一组像素的矩心和对应于UI设备4的位置20的触摸点的一组像素的矩心。作为又一示例,手势输入的上下文可以包括对应于图形键盘12的位置18的GUI 10A的相对位置的表示和对应于图形键盘12的位置20的GUI 10A的相对位置的表示,诸如如从GUI 10A的预定基准点,诸如GUI 10A的左上角确定的位置18和20的每一个的X-Y坐标对。在一些示例中,上下文可以包括相对于一个或多个被选字符的在前和/或后续词和/或字符。在某些示例中,上下文可以包括诸如用来输入字符的应用的类型和/或版本、用来输入字符的输入字段的类型(例如,文本输入字段、密码字段、日期字段或其他类型字段)、计算设备2接收手势输入的指示的时刻、当计算设备2接收到手势输入的指示时的计算设备2的地理位置等等的信息。通常,文本建议模块8可以将手势输入的上下文确定为手势输入的任何特性,其响应于文本建议模块8确定多个候选字符串,识别、特征化和/或伴随手势输入。在一些示例中,上下文可以唯一地识别手势输入。
在某些示例中,当UI模块6接收到选择图形键盘12的一个或多个键的手势输入的指示时,文本建议模块8连续地确定手势输入的上下文。在一些示例中,响应于接收到选择下一词或语句的手势输入,诸如选择图形键盘12的分隔符键(例如,空格键、标点键或其他分隔符键),文本建议模块8启动和/或重启手势输入的上下文的确定。
在一些示例中,文本建议模块8生成将手势输入的上下文与被选候选字符串和当候选字符串被选择时显示过被选候选字符串的特定文本建议区相关联的数据结构。例如,在图1的示例中,文本建议模块8可以将候选字符串26的上下文33确定为字符串“th”(即,包括与“T”键22和“H”键24相关联的字符串)。响应于接收到选择在文本建议区16A内显示的候选字符串26、在GUI 10A的位置44处检测到的手势输入的指示,文本建议模块8可以生成和/或维护将字符串“th”(即,该示例中的上下文33)与候选字符串26(即,字符串“this”)和文本建议区16A(即,当候选字符串被选择时显示过该候选字符串的特定文本建议区)相关联的数据结构。在一些示例中,文本建议模块8可以将上下文33、候选字符串26和文本建议区16A的位置(例如,对应于文本建议区16A的UI设备4的x-y坐标)相关联。文本建议模块8可以类似地维护将其他候选字符串(即,除候选字符串26外的候选字符串)与手势输入的上下文和特定文本建议区相关联的数据结构。以这种方式,文本建议模块8可以生成和/或维护将多个候选字符串(例如,几十、几百、几千或其他数目的候选字符串)与手势输入的所关联的上下文和特定文本建议区相关联的数据结构。
根据在此所述的技术,当UI模块6接收到选择图形键盘12的一个或多个键的后续手势输入(即,在UI模块6选择候选字符串并且使UI模块4输出该候选字符串以在文本显示区14内显示后接收的手势输入)时,文本建议模块8可以遍历数据结构。在文本建议模块8确定所接收的手势输入对应于包括在数据结构中的上下文(例如,上下文33)的示例中,文本建议模块8使UI设备4输出与上下文相关联的候选字符串,以在与上下文相关联的特定文本建议区内显示。因此,每次UI模块6接收到对应于与特定候选字符串相关联的手势输入的上下文的手势输入的指示时,文本建议模块8可以使UI设备4一致地输出特定候选字符串,以在同一文本显示区内显示。
例如,如图1所示,UI模块6可以使UI设备4输出GUI 10B以(例如,在存在敏感显示器处)显示。在图1的示例中,GUI 10B表示在接收到在位置44处检测到的手势输入的指示和选择候选字符串26,以在文本显示区14内显示后,由UI模块6输出以显示的GUI 10的示例。即,在图1的示例中,当一起考虑GUI 10A和10B时,图示在第一时间,计算设备2输出GUI 10A并且接收选择在文本建议区16A内显示的候选字符串26的手势输入的指示,然后在第二时间随后输出GUI 10B(例如,在计算设备2的随后上电周期期间,在计算设备2的一个或多个处理器上执行的特定应用的单独实例期间,或在计算设备2的一个或多个处理器上执行的单独应用的实例期间)的示例。
如图1所示,UI模块6可以使UI设备4输出包括图形键盘12、文本显示区14和文本建议区16的GUI 10B。如由相同数字所示,GUI10B的图形键盘12、文本显示区14和文本建议区16可以基本上与GUI10A的图形键盘12、文本显示区14和文本建议区16类似。如所示,UI模块6可以接收在图形键盘12的位置19和21处检测到的手势输入的指示。响应于接收到在位置19处检测到的手势输入的指示,UI模块6可以将“T”键22选择为图形键盘12的第一被选键。类似地,响应于接收到在位置21处检测到的手势输入的指示,UI模块6可以将“H”键24选择为图形键盘12的第二被选键。
响应于将“T”键22和“H”键24选择为图形键盘12的被选键,文本建议模块8可以确定字符串“th”是其前缀的多个候选字符串。例如,如关于GUI 10A的示例类似所述,文本建议模块8可以确定包括候选字符串26、28、30和32的多个候选字符串。
文本建议模块8可以诸如通过将候选字符串26、28、30和32的每一个与语言模型比较来确定候选字符串26、28、30和32的每一个的概率,确定多个候选字符串26、28、30和32的排名顺序46。例如,文本建议模块8可以将候选字符串26、28、30和32的每一个与语言模型,诸如n-gram语言模型比较来确定候选字符串的每一个在文本显示区14内显示的字符串“Better”后的每一候选字符串的概率。在该示例中,文本建议模块8确定候选字符串32(即,候选字符串“than”与候选字符串表示在文本显示区14内显示的多个词短语的下一词的最高相对概率(例如,多个候选字符串26、28、30和32内的最高概率)相关联。即,在该示例中,文本建议模块8确定多词短语“Better than”与比分别对应于候选字符串26、28和30的多词短语“Better this”、“Better the”和“Better that”的每一个更高的概率相关联。类似地,在该示例中,文本建议模块8确定候选字符串26与指示第二最高概率候选字符串的第二排名38相关联,候选字符串28与指示第三最高概率候选字符串的第三排名40相关联,以及候选字符串30与指示第四最高概率候选字符串的第四排名42相关联。
文本建议模块8可以确定与第一排名36相关联的候选字符串32(即,字符串“than”)对应于文本建议区16A(即,与对应于最高概率候选字符串的排名相关联的文本建议区)。类似地,文本建议模块8可以确定与第二排名38相关联的候选字符串26(即,字符串“this”)对应于文本建议区16B。
文本建议模块8可以确定手势输入的上下文,响应于该上下文,文本建议模块8确定多个候选字符串26、28、30和32。例如,文本建议模块8可以将手势输入的上下文33确定为对应于分别与被选“T”键22和被选“H”键24相关联的字符的字符串“th”。文本建议模块8可以遍历将所接收的手势输入的上下文与候选字符串和文本显示区相关联的数据结构来确定所确定的手势输入的上下文(例如,本示例中的上下文33)是否对应于包括在该数据结构内的上下文。例如,文本建议模块8可以遍历数据结构来确定上下文33(例如,字符串“th”)对应于候选字符串26(即,字符串“this”)和文本建议区16A(即,当候选字符串26被选择时先前显示过该候选字符串26的特定文本建议区)。
响应于确定上下文33对应于候选字符串26和文本建议区16A,文本建议模块8可以使UI模块6输出候选字符串26,以在文本建议区16A内显示。即,如上所述,文本建议模块8可以确定候选字符串26与对应于文本建议区16B的第二排名38相关联以及候选字符串32与对应于文本建议区16A的第一排名36相关联。不是输出候选字符串26以在文本建议区16B内显示,而是文本建议模块8可以至少部分地基于确定当候选字符串26被显示在文本建议区16A内时先前选择过该候选字符串26,输出候选字符串26以在文本建议区16A内显示。类似地,不是输出候选字符串32以在文本建议区16A内显示,而是文本建议模块8可以至少部分地基于当候选字符串26被显示在文本建议区16A内时先前选择过该候选字符串26,输出候选字符串32以在文本建议区16B内显示。
以这种方式,每次计算设备输出候选字符串以在多个文本建议区内显示时,计算设备2可以一致地输出特定候选字符串以在同一文本建议区内显示。同样地,根据在此所述的技术,计算设备2可以使得用户能够预测响应于特定手势输入,将在多个文本建议区的哪一个内显示特定候选字符串,并且由此增加用户可以使用文本建议区来录入文本的速率。
图2是根据该公开的一个或多个方面图示图1所示的计算设备的一个示例的进一步细节的框图。图2仅图示计算设备2的一个特定示例,并且计算设备2的许多其他示例可以用在其他实例中。
如图2的具体示例所示,计算设备2包括一个或多个处理器50、一个或多个输入设备52、UI设备4、一个或多个通信单元54、一个或多个输出设备56和一个或多个存储设备58。如所示,计算设备2可以进一步包括可由计算设备2(例如,由一个或多个处理器40)执行的UI模块6、文本建议模块8和操作***62。类似地,如所示,文本建议模块8可以包括可由计算设备2执行的候选字符串模块64、排序模块66和建议区关联模块68。在一个示例中,计算设备2进一步包括语言模型70和上下文数据结构72。
可以互连(物理、通信和/或操作地)组件4、50、52、54、56和58的每一个,用于组件间通信。在一些示例中,通信信道60可以包括***总线、网络连接、过程间通信数据结构或用于传送数据的任何其他方法。如图2中的一个示例,组件4、50、52、54、56和58可以通过一个或多个通信信道60耦接。UI模块6、文本建议模块8、候选字符串模块64、排序模块66和建议区关联模块68也可以相互和与计算设备2的其他组件,诸如语言模型70和上下文数据结构72传送信息。
在一个示例中,处理器50被配置成实施用于在计算设备2内执行的功能和/或过程指令。例如,处理器50可以能够处理在存储设备58中存储的指令。处理器50的示例可以包括微处理器、控制器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或等效的离散或集成逻辑电路中的任何一个或多个。
一个或多个存储设备58可以被配置成在操作期间将信息存储在计算设备2内。在一些示例中,存储设备58被描述为计算机可读存储介质。在一些示例中,存储设备58是临时存储器,意指存储设备58的主要目的不是长期存储。在一些示例中,存储设备58被描述为易失存储器,意指当关闭计算机时存储设备58不保持所存储的内容。易失性存储器的示例包括随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)和本领域中公知的其他形式的易失性存储器。在一些示例中,使用存储设备58来存储用于由处理器50执行的程序指令。在一个示例中,存储设备58可以由在计算设备2上运行的软件或应用(例如,文本建议模块8)使用来在程序执行期间临时地存储信息。
在一些示例中,存储设备58还包括一个或多个计算机可读存储媒介。存储设备58可以被配置成存储比易失性存储器更大量的信息。存储设备58可以进一步被配置成长期存储信息。在一些示例中,存储设备58包括非易失性存储元件。这样的非易性存储元件的示例包括磁硬盘、光盘、软盘、闪存、或电可编程存储器(EPROM)或电可擦可编程(EEPROM)存储器的形式。
在一些示例中,计算设备2还包括一个或多个通信单元54。在一个示例中,计算设备2利用通信单元54来经由诸如一个或多个无线网络的一个或多个网络与外部设备通信。通信单元54可以是网络接口卡,诸如以太网卡、光收发器、射频收发器或能发送和接收信息的任何其他类型的设备。这样的网络接口的其他示例可以包括蓝牙、3G和WiFi无线电计算设备以及通用串行总线(USB)。在一些示例中,计算设备2利用通信单元54来与诸如服务器的外部设备无线地通信。
在一个示例中,计算设备2还包括一个或多个输入设备52。在一些示例中,输入设备52被配置成通过触觉、音频或视频反馈,从用户接收输入。输入设备52的示例包括存在敏感显示器、鼠标、键盘、语音应答***、视频相机、麦克风或用于检测来自用户的命令的任何其他类型的设备。在一些示例中,存在敏感显示器包括存在敏感屏幕。
一个或多个输出设备56也可以包括在计算设备2中。在一些示例中,输出设备56被配置成使用触觉、音频或视频刺激来向用户提供输出。在一个示例中,输出设备56包括存在敏感显示器、声卡、视频图形适配卡或用于将信号转换成可由人或机器理解的适当形式的任何其他类型的设备。输出设备56的另外的示例包括扬声器、阴极射线管(CRT)监视器、液晶显示器(LCD)或能生成用户能理解的输出的任何其他类型的设备。
在一些示例中,UI设备4可以包括输入设备52和/或输出设备56的功能性。在一个示例中,UI设备4可以是触摸敏感屏幕。在图2的示例中,UI设备4可以是存在敏感显示器。在一些示例中,存在敏感显示器可以检测存在敏感显示器的屏幕处和/或附近的物体,诸如输入单元(例如,用户的手指、笔、铁笔等等)。作为一个示例范围,存在敏感显示器可以检测在存在敏感显示器的物理屏幕的2英寸或更小范围内的输入单元。存在敏感显示器可以确定存在敏感显示器中检测到输入单元的一个或多个位置(例如,(x,y)坐标)。在另一示例范围中,存在敏感显示器可以检测与存在敏感显示器的物理屏幕6英寸或更小范围内的物体,并且其他示例性范围也是可能的。存在敏感显示器可以使用电容、电感和/或光学识别技术,确定由输入单元选择的显示器的位置。在一些示例中,存在敏感显示器使用触觉、音频或视频刺激,向用户提供输出,如关于输出设备56所述。
计算设备2可以包括操作***62。在一些示例中,操作***62控制计算设备2的组件的操作。例如,在一个示例中,操作***62促进UI模块6、文本建议模块8、候选字符串模块64、排序模块66和/或建议区关联模块68与处理器50、通信单元54、存储设备58、输入设备52和输出设备56的通信。UI模块6、文本建议模块8、候选字符串模块64、排序模块66和建议区关联模块68可以分别包括可由计算设备2执行的程序指令和/或数据。作为一个示例,文本建议模块8可以包括使计算设备2执行在本公开中所述的操作和动作中的一个或多个的指令。
计算设备2可以包括语言模型70。语言模型70可以包括词典。在一些示例中,词典可以包括字的列表并且可以包括有关列出的词的附加信息。词典可以由一个或多个数据结构,诸如由一个或多个阵列、列表、树或其他数据结构表示。例如,语言模型70可以包括以特里(trie)数据结构存储的词典。在一些示例中,语言模型70可以是安装在计算设备2上的缺省字典。在某些示例中,语言模型70可以包括安装在计算设备2上的一组预定短语。在其他示例中,语言模型70可以包括多个词典源,其可以存储在计算设备2处或存储在可经由一个或多个通信信道,计算设备2可访问的一个或多个远程计算设备处。在一些示例中,语言模型70可以以计算设备2的固件实施。
语言模型70可以包括诸如n-gram语言模型的语言模型频率信息。n-gram语言模型可以基于序列(即,P(xi|xi-(n-1),...,xi-1))中的在前项,提供用于连续项序列中的项xi(字母、词、标点符号或其他分隔符)的概率分布。例如,bigram语言模型(n-gram模型,其中n=2)可以提供字母“i”在字母序列“th”后的概率。作为另一示例,bigram语言模型可以提供词“this”在词“better”之后的概率。在一些示例中,语言模型70包括具有集成语言模型频率信息的词典特里。例如,词典特里的每一节点可以包括字母的表示和概率值。
计算设备2可以包括将手势输入的上下文的表示、候选字符串和文本建议区相关联的上下文数据结构72。例如,上下文数据结构72可以将手势输入的上下文,诸如与手势输入相关联的一个或多个被选字符、包括一个或多个被选字符的候选字符串和当候选字符串被选择时先前显示过该候选字符串的GUI的特定文本建议区关联。上下文数据结构72的示例可以包括但不限于阵列、表格、列表、树、散列表或能将手势输入的上下文的表示、候选字符串和文本建议区关联的其他数据结构。在一些示例中,上下文数据结构72和语言模型70可以表示为单一数据结构。
本公开的技术可以提高用户能将文本录入到计算设备中的速度。使用本公开的技术,每次计算设备响应于接收到特定手势输入,输出候选字符串以显示时,计算设备可以一致地输出特定候选字符串以在同一文本建议区内显示。同样地,根据在此所述的技术,计算设备可以使得用户能够预测响应于特定手势输入,将在多个文本建议区的哪一个内显示候选字符串。
UI模块6可以输出包括多个文本建议区的图形用户界面以在UI设备4处显示。例如,UI模块6可以输出多个文本建议区16以在GUI10内显示。在一些示例中,UI模块6可以输出图形键盘,诸如图形键盘12,以在GUI 10内,在UI设备4处显示。响应于接收到在显示图形键盘12的UI设备4的位置处检测到的手势输入的指示,UI模块6可以将图形键盘12的一个或多个键选择为被选键。例如,响应于接收到在图形键盘12的位置18和20处检测到的手势输入的指示,UI模块6可以将“T”键22和“H”键24选择为图形键盘12的被选键。
候选字符串模块64可以至少部分地基于与一个或多个被选键相关联的一个或多个字符,确定多个候选字符串。例如,候选字符串模块64可以访问语言模型70来确定多个候选字符串,诸如包括在词典(例如,英语)中的多个候选词。例如,候选字符串模块64可以访问语言模型70来确定多个候选字符串26、28、30和32。在一些示例中,候选字符串模块64可以确定与一个或多个被选键相关联的一个或多个字符是其前缀的多个候选字符串。
响应于候选字符串模块64确定多个候选字符串,候选字符串模块64可以确定手势输入的上下文。例如,上下文可以包括图形键盘12的一个或多个键的表示,诸如“T”键22和“H”键24。作为另一示例,手势输入的上下文可以包括与被选键相关联的一个或多个字符的表示,诸如对应于被选“T”键22的字符“T”的表示和对应于被选“H”键24的字符“H”的表示。作为另一示例,上下文可以包括检测手势输入的UI设备4的位置的表示,诸如图形键盘12的位置18的表示和位置20的表示(例如,对应于位置18和位置20的触摸点的每一个的一组像素的矩心)。
在一些示例中,候选字符串模块64可以将当特定候选字符串被显示在特定文本建议区内时选择该特定候选字符串的次数的数值指示(例如,计数器或其他数值表示)包括在上下文数据结构72内。例如,候选字符串模块64可以递增和/或递减表示当候选字符串26被显示在文本建议区16A内时选择该候选字符串26的次数的计数器。
作为一个示例,响应于接收到当候选字符串被显示在特定文本建议区内时选择该候选字符串的用户输入,候选字符串模块64可以递增计数器。类似地,响应于未接收到当候选字符串被显示在特定文本建议区内时选择该候选字符串的用户输入,候选字符串模块64可以递减计数器。例如,响应于接收到当候选字符串被显示在特定文本建议区内时选择图形键盘12的键的手势输入的后续指示(例如,用户继续敲击),候选字符串模块64可以递减计数器。
作为另一示例,响应于接收到当特定候选字符串被显示在特定文本建议区内时选择在不同文本建议区内显示的不同候选字符串的手势输入的指示,候选字符串模块64可以递减计数器。在某些示例中,响应于确定未接收到当候选字符串被显示在特定文本建议区内时选择该候选字符串的用户输入,候选字符串模块64可以使计数器递减第一量(例如,递减值1),以及响应于接收到特定候选字符串被显示在特定文本建议区内时选择在不同文本建议区内显示的不同候选字符串的手势输入的指示,候选字符串模块64可以使计数器递减第二不同量(例如,递减值2)。
在某些示例中,候选字符串模块64可以将与特定上下文相关联的计数器与阈值值,诸如1、3、5、10或其他阈值值进行比较。在一些示例中,响应于确定计数器满足阈值值(例如,小于和/或等于阈值值),候选字符串模块64可以去除与特定上下文和特定候选字符串相关联的数据。
排序模块66可以确定多个候选字符串的排名顺序。例如,排序模块66可以将来自多个候选字符串的每一相应候选字符串与语言模型70比较来确定每一相应候选字符串的概率,诸如每一相应候选字符串表示包括在词典中的词、多词短语的下一词等等的概率。排序模块66可以将多个候选字符串的每一个与相应排名关联,使得至少部分地基于来自多个候选字符串的所确定的每一相应候选字符串的概率,按顺序排列来排名多个候选字符串。
在一些示例中,建议区关联模块68可以至少部分地基于多个候选字符串的排名顺序,将多个候选字符串的集合与多个文本建议区(例如,文本建议区16)相关联。例如,建议区关联模块68可以确定多个文本建议区的排名顺序,使得来自多个文本建议区的每一相应文本建议区与相应排名相关联,该相应排名对应于多个候选字符串的排名顺序内的排名的一个。建议区关联模块68在某些示例中,可以将与和多个文本建议区的排名相匹配的排名相关联的每一候选字符串与对应于匹配排名的文本建议区关联。建议区关联模块68可以输出多个候选字符串的集合以在相关联的文本建议区内显示。
在某些示例中,UI模块6可以接收候选字符串的选择的指示。例如,UI模块6可以接收在对应于文本建议区的一个的UI设备4的位置处检测到的手势输入的指示。作为响应,UI模块6可以选择与文本建议区相关联的候选字符串(例如,在被选文本建议区内显示的候选字符串)。作为另一示例,UI模块6可以接收在图形键盘12的分隔符键(例如,空格键、标点键等等)处检测到的手势输入的指示并且作为响应,可以选择候选字符串和相关联文本建议区的一个(例如,与最高概率相关联的候选字符串和/或文本建议区)。
响应于接收到当特定候选字符串(例如,候选字符串26)被显示在特定文本建议区(例如,文本建议区16A)内时选择过该特定候选字符串的指示,候选字符串模块64可以维护上下文数据结构72来反映该选择。例如,候选字符串模块64可以遍历上下文数据结构72来确定手势输入的上下文是否包括在上下文数据结构72内,响应于该手势输入的上下文,候选字符串模块64确定多个候选字符串。在一些示例中,候选字符串模块64可以确定手势输入的上下文不包括在上下文数据结构72内。在这些示例中,候选字符串模块64可以将上下文、候选字符串和特定文本建议区的每一个的表示***上下文数据结构72内,当该候选字符串被选择时该候选字符串被显示在该特定文本建议区内。在其他示例中,候选字符串模块64可以确定手势输入的上下文包括在上下文数据结构72内。在这些示例中,候选字符串模块64可以更新(例如,递增)与上下文相关联的计数器来指示当候选字符串被显示在特定文本建议区内时再次选择该候选字符串。在某些示例中,上下文数据结构72可以不包括计数器。
UI模块6可以接收选择图形键盘12的一个或多个键的后续手势输入的指示。例如,UI模块6可以接收在图形键盘12的位置19和21处检测到的手势输入的指示。作为响应,UI模块6可以将“T”键22(例如,对应于在位置19处检测到的手势输入)和“H”键24(例如,对应于在位置21处检测到的手势输入)选择为图形键盘12的被选键。
候选字符串模块64可以至少部分地基于与被选键相关联的一个或多个字符(例如,与“T”键22相关联的字符“T”和与“H”键24相关联的字符“H”),确定多个候选字符串。排序模块66可以确定多个候选字符串的排名顺序。例如,排序模块66可以确定多个候选字符串26、28、30和32的排名顺序46。排名顺序可以将来自多个候选字符串的每一相应候选字符串与相应排名(例如,排名36、38、40和42)相关联,使得多个候选字符串的排名顺序包括至少部分地基于所确定的每一相应候选字符串的概率的多个候选字符串的顺序排列。
建议区关联模块68可以至少部分地基于建议区关联模块68确定至少一个候选字符串被显示在特定文本建议区内时,先前选择过该至少一个候选字符串,将候选字符串的至少一个与文本建议区相关联。例如,建议区关联模块68可以遍历多个候选字符串(例如,排名顺序46)来确定多个候选字符串的至少一个的表示包括在上下文数据结构72内。在一些示例中,建议区关联模块68可以确定来自多个候选字符串的特定候选字符串的表示包括在上下文数据结构72内。在这些示例中,建议区关联模块68可以确定手势输入的上下文是否对应于上下文数据结构72内的特定候选字符串,响应于该手势输入的上下文,候选字符串模块64确定多个候选字符串(例如,与在图形键盘12的位置19和21处检测到的手势输入相关联的上下文“th”)。在建议区关联模块68确定手势输入的上下文对应于特定候选字符串的示例中,建议区关联模块68可以将特定候选字符串与关联于上下文数据结构72内的特定候选字符串的特定文本建议区相关联,并且可以输出特定候选字符串,以在特定文本建议区内显示。
在一些示例中,当建议区关联模块68确定手势输入的上下文与如在上下文数据结构72内所指示的手势输入的上下文匹配时,建议区关联模块68可以确定手势输入的上下文对应于特定候选字符串。例如,建议区可以确定包括字符串“th”的手势输入的上下文与包括在上下文数据结构72内所指示的字符串“th”的手势输入的上下文匹配。在某些示例中,当与在上下文数据结构72内所指示的手势输入的上下文相比,手势输入的上下文满足阈值时,建议区关联模块68可以确定手势输入的上下文对应于特定候选字符串。例如,在手势输入的上下文表示为对应于手势输入的一个或多个触摸点的一组像素的矩心的示例中,当每一矩心小于(或等于)离如由上下文数据结构72内的上下文指示的对应的矩心的阈值距离时,建议区关联模块68可以确定手势输入的上下文对应于特定候选字符串。
以这种方式,基于由建议区关联模块68确定当特定字符串被显示在特定文本建议区内时先前选择过该特定字符串,建议区关联模块68可以将特定候选字符串与特定文本建议区相关联。在一些示例中,将特定候选字符串与特定文本建议区关联可以不对应于关于多个文本建议区的排名顺序的多个候选字符串的排名顺序。例如,建议区关联模块68可以确定如基于多个候选字符串内的特定候选字符串的概率确定的特定候选字符串(例如,候选字符串26)的排名对应于第一文本建议区(例如,文本建议区16B)。不是输出特定候选字符串以在第一文本建议区(文本建议区16B)内显示,而是基于确定当该特定候选字符串被显示在第二文本建议区内时先前选择过该特定候选字符串,建议区关联模块68可以输出特定候选字符串(例如,候选字符串26)以在第二文本建议区(例如,文本建议区16A)内显示。
以这种方式,在某些示例中,根据多个候选字符串的每一个的概率与多个文本建议区的每一个的排名之间的对应关系,建议区关联模块68可以重载输出候选字符串以在文本建议区内显示的技术。相反,在一些示例中,至少部分地基于确定当特定候选字符串被显示在特定文本建议区内时先前选择过该特定候选字符串,建议区关联模块68可以输出特定候选字符串以在特定文本建议区内显示。因此,计算设备2可以使得用户能够预测将在多个文本建议区的哪一个内显示特定候选字符串,由此可以使得用户能够从特定文本建议区选择特定候选字符串,而不必注意其他文本建议区。以这种方式,在此所述的技术可以使得用户能够开发允许用户将建议界面用作键盘的自然扩展的技能集合。即,因为技术可以使得用户能够预测特定键序列将在特定位置中产生特定建议,这些技术可以使得用户能够录入那些键和选择建议,而不必注意其他呈现的建议。此外,这些技术可以帮助提高建议***中的用户置信度来产生有用结果,由此鼓励用户将该建议***用作文本输入加速器。以这种方式,根据在此所述的技术,计算设备2可以增加用户可以录入文本的速率,由此增加计算设备2的可用性。
图3是根据本公开的一个或多个方面,图示输出图形内容以在远程设备处显示的示例计算设备的框图。图形内容通常可以包括可以被输出以显示的任何视觉信息,诸如文本、图像、一组运动图像等等。图3所示的示例包括计算设备80、存在敏感显示器82、通信单元84、投影仪96、投影屏98、平板设备102和视觉显示设备106。尽管为示例目的,在图1和2中示为独立的计算设备80,但计算设备通常可以是包括处理器或用于执行软件指令的其他适当计算环境并且例如不需要包括存在敏感显示器的任何组件或***。
如图3的示例中所示,计算设备80可以是包括如关于图2的处理器50所述的功能的处理器。在这样的示例中,计算设备80可以通过通信信道86A可操作地耦接到存在敏感显示器82,该通信信道86A可以是***总线或其他适当的连接。计算设备80还可以通过通信信道86B可操作地耦接到如下进一步描述的通信单元84,该通信信道86B也可以是***总线或其他适当的连接。尽管在图3的示例中单独地示出,但计算设备80可以通过任何数目的一个或多个通信信道可操作地耦接到存在敏感显示器82和I/O设备84。
在其他示例中,诸如先前图1-2中所示,计算设备80可以是指便携式或移动设备,诸如移动电话(包括智能电话)、膝上型计算机等等。在一些示例中,计算设备80可以是台式计算机、平板电脑、智能电视平台、相机、个人数字助理(PDA)、服务器、大型机等等。
存在敏感显示器82,如图1所示的UI设备4,可以包括显示设备83和存在敏感输入设备85。显示设备83可以例如从计算设备80接收数据并且显示图形内容。在一些示例中,存在敏感输入设备85可以使用电容、电感和/或光学识别技术,确定存在敏感显示器82处的一个或多个用户输入(例如,连续手势、多触摸手势、单触摸手势等等),并且使用通信信道86A将这样的用户输入的指示发送到计算设备80。在一些示例中,存在敏感输入设备85可以物理地位于显示设备83的上方,使得当用户将输入单元定位在由显示设备83显示的图形元素上时,存在敏感输入设备85的位置对应于显示图形元素的显示设备83的位置。
如图3所示,计算设备80还可以包括和/或可操作地耦接通信单元84。通信单元84可以包括如图2所述的通信单元54的功能。通信单元84的示例可以包括网络接口卡、以太网卡、光收发器、射频收发器或能发送和接收信息的任何其他类型的设备。这样的通信单元的其他示例可以包括蓝牙、3G和WiFi无线电、通用串行总线(USB)接口等等。计算设备80还可以包括和/或可操作地耦接图3中为简化和示例目的未示出的一个或多个其他设备,例如,输入设备、输出设备、存储器、存储设备等等。
图3还图示投影仪96和投影屏98。投影设备的其他这样的示例可以包括电子白板、全息显示设备和用于显示图形内容的任何其他适当的设备。投影仪96和投影屏98可以包括使得相应设备能够与计算设备80通信的一个或多个通信单元。在一些示例中,一个或多个通信单元可以使得投影仪96和投影屏98之间能够进行通信。投影仪96可以从计算设备80接收包括图形内容的数据。响应于接收到该数据,投影仪96可以将图形内容投影在投影屏98上。在一些示例中,投影仪96可以使用光学识别或其他适当的技术来确定投影屏处的一个或多个用户输入(例如,连续手势、多触摸手势、单触摸手势等等)并且使用一个或多个通信单元将这样的用户输入的指示发送到计算设备80。
在一些示例中,投影屏98可以包括存在敏感显示器100。存在敏感显示器100可以包括如在本公开中所述的UI设备4的功能的子集或所有功能。在一些示例中,存在敏感显示器100可以包括另外的功能。投影屏98(例如,电子白板)可以从计算设备80接收数据并且显示图形内容。在一些示例中,存在敏感显示器100可以使用电容、电感和/或光学识别技术来确定投影屏98处的一个或多个用户输入(例如,连续手势、多触摸手势、单触摸手势等等),并且使用一个或多个通信单元将这样的用户输入的指示发送到计算设备80。
图3还图示了平板设备102和视觉显示设备106。平板设备102和视觉显示设备106可以每个都包括计算和连接能力。平板设备102的示例可以包括电子阅读设备、可转换笔记本设备、混合平板设备等等。视觉显示设备106的示例可以包括电视、计算机监视器等等。如图3所示,平板设备102可以包括存在敏感显示器104。视觉显示设备106可以包括存在敏感显示器108。存在敏感显示器104、108可以包括如在本公开中所述的UI设备4的功能的子集或所有功能。在一些示例中,存在敏感显示器104、108可以包括另外的功能。在任一情况下,存在敏感显示器108例如可以从计算设备80接收数据并且显示图形内容。在一些示例中,存在敏感显示器108可以使用电容、电感和/或光学识别技术来确定投影屏处的一个或多个用户输入(例如,连续手势、多触摸手势、单触摸手势等等)并且使用一个或多个通信单元将这样的用户输入的指示发送到计算设备80。
如上所述,在一些示例中,计算设备80可以输出图形内容以在通过***总线或其他适当的通信信道耦接到计算设备80的存在敏感显示器82处显示。计算设备80也可以输出图形内容以在诸如投影仪96、投影屏98、平板设备102和视觉显示设备106的一个或多个远程设备处显示。例如,计算设备80可以执行根据本公开的技术的一个或多个指令来生成和/或修改图形内容。计算设备80可以将包括图形内容的数据输出到计算设备80的通信单元,诸如通信单元84。通信单元84可以将数据发送到诸如投影仪96、投影屏98、平板设备102和/或视觉显示设备106的远程设备中的一个或多个。以这种方式,处理器102可以输出图形内容以在远程设备中的一个或多个处显示。在一些示例中,远程设备中的一个或多个可以在包括在相应远程设备中和/或可操作地与之耦接的存在敏感显示器处输出图形内容。
在一些示例中,计算设备80可以不在可操作地耦接到计算设备80的存在敏感显示器82处输出图形内容。在其他示例中,计算设备80可以输出图形内容以在通过通信信道86A耦接到计算设备80的存在敏感显示器82和一个或多个远程设备二者处都显示。在这样的示例中,可以在每一个相应设备处基本上同时显示图形内容。例如,可以由将包括图形内容的数据发送到远程设备的通信延迟引入某个时延。在一些示例中,由计算设备80生成并且输出以在存在敏感显示器82处显示的图形内容可以不同于输出以在一个或多个远程设备处显示的图形内容显示。
计算设备80可以使用任何适当的通信技术来发送和接收数据。例如,计算设备80可以使用网络链路88A可操作地耦接到外部网络90。图3所示的远程设备中的每一个可以通过相应网络链路88B、88C和88D的一个,可操作地耦接到网络外部网络90。外部网络90可以包括可操作地互耦由此提供在计算设备80和图3所示的远程设备之间交换信息的网络集线器、网络交换机、网络路由器等等。在一些示例中,网络链路88A-88D可以是以太网、ATM或其他网络连接。这样的连接可以是无线和/或有线连接。
在一些示例中,使用直接设备通信94,计算设备80可操作地耦接到图3中包括的远程设备中的一个或多个。直接设备通信94可以包括计算设备80可以通过其使用有线或无线通信来与远程设备直接发送和接收数据的通信。也就是说,在直接设备通信94的一些示例中,由计算设备80发送的数据在远程设备处接收前可以不由一个或多个另外的设备转发,并且反之亦然。直接设备通信94的示例可以包括蓝牙、近场通信、通用串行总线、WiFi、红外等等。图3所示的远程设备中的一个或多个可以通过通信链路92A-92D可操作地与计算设备80耦接。在一些示例中,通信链路88A-88D可以是使用蓝牙、近场通信、通用串行总线、红外等等的连接。这样的连接可以是无线和/或有线连接。
根据本公开的技术,计算设备80可以使用外部网络90可操作地耦接到视觉显示器106。计算设备80可以输出包括例如图形键盘和多个文本建议区的图形用户界面以在存在敏感显示器108处显示。例如,计算设备80可以将包括图形用户界面的表示的数据发送到通信单元84。通信单元84可以使用外部网络90将包括图形用户界面的表示的数据发送到视觉显示设备106。视觉显示设备106响应于使用外部网络90接收到数据,可以使存在敏感显示器108输出图形用户界面。响应于用户在存在敏感显示器108处执行手势来选择键盘的一个或多个键,视觉显示设备106可以使用外部网络90,将手势输入的指示发送到计算设备80。通信单元84可以接收手势的指示并且将指示发送到计算设备80。
计算设备80可以至少部分地基于手势输入的指示,从多个候选字符串选择候选字符串。在一些示例中,计算设备80确定当候选字符串被显示在来自图形用户界面的多个文本建议区的特定文本建议区内时先前选择过该候选字符串。计算设备80可以至少部分地基于确定当候选字符串被显示在特定文本建议区内时先前选择过该候选字符串,输出该候选字符串以在视觉显示设备106处显示。例如,计算设备80可以将包括候选字符串和特定文本建议区的指示的数据发送到通信单元84,该通信单元84反过来使用外部网络90,将该数据发送到视觉显示设备106。在接收到数据时,视觉显示设备106可以使存在敏感显示器108在图形用户界面的特定文本建议区内显示候选字符串。以这种方式,处理器102可以根据本公开的技术,输出候选字符串以在存在敏感屏幕108处显示。
图4是根据本公开的一个或多个方面,图示可以用来在特定文本建议区内输出候选字符串的计算设备的示例操作的流程图。仅为示例目的,在下文中,在如图1和2所示的计算设备2的上下文内描述示例操作。
计算设备2可以输出包括图形键盘和多个文本建议区的图形用户界面以显示(110)。例如,在计算设备2的一个或多个处理器50上执行的UI模块6可以输出包括图形键盘12和文本建议区16的GUI 10A以在UI设备4(例如,存在敏感和/或触摸敏感显示器)处显示。计算设备2可以接收在存在敏感显示器处检测到的选择图形键盘的一个或多个键的手势输入的指示(112)。例如,UI模块6可以接收在图形键盘12的位置18和20处检测到的手势输入的指示。作为响应,UI模块6可以选择“T”键22(例如,对应于在位置18处检测到的手势输入的指示)和“H”键24(例如,对应于在位置20处检测到的手势输入的指示)。
计算设备2可以确定所接收的手势输入的上下文(114)。例如,在一个或多个处理器50上执行的候选字符串模块64可以确定所接收的手势输入的指示的上下文。例如,上下文可以包括图形键盘12的一个或多个被选键(例如,“T”键22和“H”键24)的指示、与图形键盘12的一个或多个被选键相关联的一个或多个字符(例如,与“T”键22相关联的字符“T”和与“H”键24相关联的字符“H”)的指示、对应于所接收的手势输入的UI设备4的一个或多个位置(例如,对应于在位置18和20处检测到的触摸输入的一组像素的矩心)的指示等等。
计算设备2可以至少部分地基于所接收的手势输入的指示,确定多个候选字符串(116)。例如,候选字符串模块66可以访问语言模型70来确定与所接收的手势输入相关联的一个或多个字符是其前缀、包括在词典(例如,英语)中的多个候选词。例如,候选字符串模块66可以确定与被选键22和24相关联的字符串“th”是其前缀的多个候选字符串26(即,字符串“this”)、28(即,字符串“the”)、30(即,字符串“that”)和32(即,字符串“than”)。
计算设备2可以输出多个候选字符串中的一个或多个以在多个文本建议区内显示(118)。例如,在一些示例中,在一个或多个处理器50上执行的排序模块66可以确定多个候选字符串的排名顺序。排序模块66可以至少部分地基于来自多个候选字符串的每一相应候选字符串的概率,诸如通过将每一相应候选字符串与语言模型70比较来确定相应概率,确定排名顺序。在某些示例中,建议区关联模块68可以基于与相应候选字符串相关联的排名和与特定文本建议区相关联的排名之间的对应关系,将多个候选字符串中的一个或多个与多个文本建议区相关联。例如,建议区关联模块68可以基于与排名顺序34内的候选字符串26相关联的排名36和与文本建议区16的排名顺序内的文本建议区16A相关联的排名(例如,文本建议区16的排名顺序内的最高排名)之间的对应关系,将候选字符串26与文本建议区16A相关联。类似地,建议区关联模块68可以将候选字符串28与文本建议区16B相关联以及将候选字符串30与文本建议区16C相关联。建议区关联模块68可以根据关联,输出多个候选字符串的集合(例如,包括候选字符串26、28和30的候选字符串的集合),以在文本建议区16内显示。
计算设备2可以接收选择候选字符串中的一个的指示(120)。例如,UI模块6可以接收在位置44处检测到的选择在文本建议区16A内显示的候选字符串26的手势输入的指示。计算设备2可以维护数据结构来使手势输入的上下文、候选字符串和当计算设备2接收到选择候选字符串的手势输入的指示时显示该候选字符串的文本建议区关联(122)。例如,建议区关联模块68可以更新上下文数据结构72来将手势输入“th”的上下文、文本建议区16A和候选字符串26关联。
图5是根据本公开的一个或多个方面,图示可以用来在特定文本建议区内输出候选字符串的计算设备的示例操作的流程图。仅为示例目的,在下文中,在如图1和2所示的计算设备2的上下文内描述示例操作。
计算设备2可以输出包括多个文本建议区的图形用户界面以显示(130)。例如,UI模块6可以输出包括多个文本建议区16的GUI 10B以在UI设备4(例如,存在敏感显示器)处显示。计算设备2可以接收在存在敏感输入设备处检测到的手势输入的指示(132)。例如,UI模块6可以接收在UI设备4的位置19和21处检测到的手势输入的指示。计算设备2可以至少部分地基于手势输入的指示,从多个候选字符串选择候选字符串(134)。例如,候选字符串模块64可以访问语言模型70来确定与手势输入相关联的一个或多个字符是其前缀、包括在词典中的多个候选词。在一些示例中,候选字符串模块64可以遍历多个候选字符串并且可以选择多个候选字符串中的一个。
计算设备2可以确定当候选字符串被显示在来自多个文本建议区的特定文本建议区内时先前选择过该候选字符串(136)。建议区关联模块68可以遍历上下文数据结构72来确定上下文数据结构72是否将候选字符串与手势输入的上下文和来自多个文本建议区的特定文本建议区相关联。在某些示例中,响应于确定上下文数据结构72将候选字符串与手势输入的上下文和特定文本建议区相关联,建议区关联模块68可以确定当候选字符串被显示在特定文本建议区内时先前选择过该候选字符串。当建议区关联模块68确定当候选字符串被显示在特定文本建议区内时先前选择过该候选字符串时,建议区关联模块68可以输出候选字符串以在特定文本建议区内显示。
在一个示例中,候选字符串是来自多个候选字符串的第一候选字符串,特定文本建议区是来自多个文本建议区的第一文本建议区,以及操作进一步包括由计算设备2并且至少部分地基于来自多个候选字符串的每一相应候选字符串的概率,确定多个候选字符串的排名顺序,由计算设备2并且至少部分地基于多个候选字符串的排名顺序,确定来自多个候选字符串的第二候选字符串与第一文本建议区相关联并且第一候选字符串与来自多个文本建议区的第二文本建议区相关联,并且由计算设备2并且至少部分地基于确定当第一候选字符串被显示在第一文本建议区内时先前选择过该第一候选字符串,将第一候选字符串与第一文本建议区相关联。
在一个示例中,多个文本建议区包括多个文本建议区的排名顺序,第一文本建议区与多个文本建议区的排名顺序内的第一排名相关联,第二文本建议区与多个文本建议区的排名顺序内的第二排名相关联,并且确定第二候选字符串与第一文本建议区相关联,以及第一候选字符串与第二文本建议区相关联进一步包括:由计算设备2确定第二候选字符串与匹配多个文本建议区的排名顺序内的第一排名的多个候选字符串的排名顺序内的第一排名相关联,并且由计算设备2确定第二候选字符串与匹配多个文本建议区的排名顺序内的第一排名的多个候选字符串的排名顺序内的第一排名相关联。
在一个示例中,由计算设备2并且至少部分地基于来自多个候选字符串的每一相应候选字符串的概率,确定多个候选字符串的排名顺序进一步包括由计算设备2将来自多个候选字符串的每一相应候选字符串与语言模型比较来确定相应候选字符串表示包括在词典中的词的概率。在一个示例中,语言模型包括n-gram语言模型。
在一个示例中,接收手势输入的指示包括接收第一手势输入的指示,以及操作进一步包括在检测到第一手势输入前,由计算设备2接收在存在敏感输入设备处检测到的第二手势输入的指示,由计算设备2并且至少部分地基于第二手势输入的指示,确定第二手势输入的上下文,由计算设备2并且至少部分地基于第二手势输入的指示,在特定文本建议区内输出候选字符串以显示,在检测到第一手势输入前,由计算设备2接收在存在敏感输入设备处检测到的第三手势输入的指示,并且由计算设备2并且至少部分地基于第三手势输入的指示,确定当候选字符串被显示在特定文本建议区内时选择过该候选字符串。
在一个示例中,操作进一步包括由计算设备2并且至少部分地基于第二手势输入,选择图形键盘的至少一个键,其中,确定第二手势输入的上下文包括确定与图形键盘的至少一个被选键相关联的至少一个字符。在一个示例中,与图形键盘的至少一个被选键相关联的至少一个字符与候选字符串的至少一个字符相关联。在一个示例中,确定第二手势输入的上下文包括确定与第二手势输入相关联的存在敏感输入设备的至少一个位置。
在一个示例中,操作进一步包括由计算设备2生成将第二手势输入的上下文与候选字符串相关联的数据结构。在一个示例中,生成将第二手势输入的上下文与候选字符串相关联的数据结构进一步包括生成将第二手势输入的上下文与特定文本建议区相关联的数据结构。在一个示例中,操作进一步包括由计算设备2将数据结构存储在计算设备的计算机可读存储介质处。在一个示例中,确定当候选字符串被显示在特定文本建议区内时选择过该候选字符串进一步包括由计算设备2确定在与特定文本建议区相关联的存在敏感输入设备的位置处检测到第三手势输入。
在一个示例中,确定当候选字符串被显示在特定文本建议区内时选择过该候选字符串进一步包括由计算设备2确定在与图形键盘的分隔符键相关联的图形键盘的位置处检测到第三手势输入。在一个示例中,操作进一步包括由计算设备2确定手势输入的上下文匹配与候选字符串相关联的上下文,其中,输出候选字符串以在特定文本建议区内显示进一步包括至少部分地基于确定手势输入的上下文匹配与候选字符串相关联的上下文,输出候选字符串以在特定文本建议区内显示。
在一个示例中,操作进一步包括由计算设备2输出包括多个键的图形键盘以显示,由计算设备2并且至少部分地基于手势输入,选择图形键盘的至少一个键,并且确定手势输入的上下文匹配与候选字符串相关联的上下文进一步包括由计算设备2确定与图形键盘的至少一个被选键相关联的至少一个字符匹配包括在与候选字符串相关联的上下文中的至少一个字符。
在一个示例中,接收在存在敏感输入设备处检测到的手势输入的指示包括由计算设备2接收在存在敏感输入设备处检测到的选择图形键盘的第一键的第一触摸输入的指示,并且由计算设备2接收在存在敏感输入设备处检测到的选择图形键盘的第二键的第二触摸输入的指示。在一个示例中,接收在存在敏感输入设备处检测到的手势输入的指示包括由计算设备2接收在存在敏感输入设备处检测到的选择图形键盘的一组键的连续运动手势的指示,其中,该连续运动手势包括从存在敏感输入设备的第一位置到存在敏感输入设备的第二位置的输入单元的运动,以及其中,存在敏感输入设备检测从第一位置到第二位置的输入单元的存在。
示例1:一种方法,包括:由计算设备输出包括多个文本建议区的图形用户界面以显示;由所述计算设备接收在存在敏感输入设备处检测到的手势输入的指示;由所述计算设备并且至少部分地基于所述手势输入的指示,从多个候选字符串选择候选字符串;由所述计算设备确定当所述候选字符串被显示在来自多个文本建议区的特定文本建议区内时先前选择过所述候选字符串;以及由所述计算设备并且至少部分地基于确定当所述候选字符串被显示在特定文本建议区内时先前选择过所述候选字符串,在所述特定文本建议区内输出候选字符串以显示。
示例2.如示例1所述的方法,其中,所述候选字符串是来自多个候选字符串的第一候选字符串,其中,所述特定文本建议区是来自多个文本建议区的第一文本建议区,所述方法进一步包括:由所述计算设备并且至少部分地基于来自多个候选字符串的每一相应候选字符串的概率,确定所述多个候选字符串的排名顺序;由所述计算设备并且至少部分地基于所述多个候选字符串的排名顺序,确定来自所述多个候选字符串的第二候选字符串与所述第一文本建议区相关联以及所述第一候选字符串与来自所述多个文本建议区的第二文本建议区相关联;以及由所述计算设备并且至少部分地基于确定当所述第一候选字符串被显示在所述第一文本建议区内时先前选择过所述第一候选字符串,将所述第一候选字符串与所述第一文本建议区相关联。
示例3.如示例1-2的任何一个所述的方法,其中,所述多个文本建议区包括多个文本建议区的排名顺序,其中,所述第一文本建议区与所述多个文本建议区的排名顺序内的第一排名相关联;其中,所述第二文本建议区与所述多个文本建议区的排名顺序内的第二排名相关联;以及其中,确定所述第二候选字符串与所述第一文本建议区相关联以及所述第一候选字符串与所述第二文本建议区相关联进一步包括:由所述计算设备确定所述第二候选字符串与和所述多个文本建议区的排名顺序内的第一排名相匹配的多个候选字符串的排名顺序内的第一排名相关联;以及由所述计算设备确定所述第一候选字符串与和所述多个文本建议区的排名顺序内的第二排名相匹配的多个候选字符串的排名顺序内的第二排名相关联。
示例4.如示例1-3的任何一个所述的方法,其中,由所述计算设备并且至少部分地基于来自所述多个候选字符串的每一相应候选字符串的概率,确定所述多个候选字符串的排名顺序进一步包括由所述计算设备将来自多个候选字符串的每一相应候选字符串与语言模型比较来确定所述相应候选字符串表示包括在词典中的词的概率。
示例5.如示例1-4的任何一个所述的方法,其中,所述语言模型包括n-gram语言模型。
示例6.如示例1-5的任何一个所述的方法,其中,接收手势输入的指示包括接收第一手势输入的指示,所述方法进一步包括:在检测到所述第一手势输入前,由所述计算设备接收在所述存在敏感输入设备处检测到的第二手势输入的指示;由所述计算设备并且至少部分地基于所述第二手势输入的指示,确定所述第二手势输入的上下文;由所述计算设备并且至少部分地基于所述第二手势输入的指示,在所述特定文本建议区内输出候选字符串以显示;在检测到所述第一手势输入前,由所述计算设备接收在所述存在敏感输入设备处检测到的第三手势输入的指示;以及由所述计算设备并且至少部分地基于所述第三手势输入的指示,确定当所述候选字符串被显示在所述特定文本建议区内时选择过所述候选字符串。
示例7.如示例1-6的任何一个所述的方法,进一步包括:由所述计算设备并且至少部分地基于所述第二手势输入,选择图形键盘的至少一个键,其中,确定所述第二手势输入的上下文包括确定与所述图形键盘的所选择的至少一个键相关联的至少一个字符。
示例8.如示例1-7的任何一个所述的方法,其中,与所述图形键盘的所选择的至少一个键相关联的至少一个字符与所述候选字符串的至少一个字符相关联。
示例9.如示例1-8的任何一个所述的方法,其中,确定所述第二手势输入的上下文包括确定与所述第二手势输入相关联的存在敏感输入设备的至少一个位置。
示例10.如示例1-9的任何一个所述的方法,进一步包括由所述计算设备生成将所述第二手势输入的上下文与所述候选字符串相关联的数据结构。
示例11.如示例1-10的任何一个所述的方法,其中,生成将所述第二手势输入的上下文与候选字符串相关联的数据结构进一步包括生成将所述第二手势输入的上下文与特定文本建议区相关联的数据结构。
示例12.如示例1-11的任何一个所述的方法,进一步包括由所述计算设备将所述数据结构存储在所述计算设备的计算机可读存储介质处。
示例13.如示例1-12的任何一个所述的方法,其中,确定当所述候选字符串被显示在所述特定文本建议区内时选择过所述候选字符串进一步包括由所述计算设备确定在与所述特定文本建议区相关联的存在敏感输入设备的位置处检测到所述第三手势输入。
示例14.如示例1-13的任何一个所述的方法,其中,确定当所述候选字符串被显示在所述特定文本建议区内时选择过所述候选字符串进一步包括由所述计算设备确定在与所述图形键盘的分隔符键相关联的图形键盘的位置处检测到所述第三手势输入。
示例15.如示例1-14的任何一个所述的方法,进一步包括:由所述计算设备确定所述手势输入的上下文匹配与所述候选字符串相关联的上下文,其中,输出所述候选字符串以在所述特定文本建议区内显示进一步包括至少部分地基于确定所述手势输入的上下文匹配与所述候选字符串相关联的上下文,输出所述候选字符串以在所述特定文本建议区内显示。
示例16.如示例1-15的任何一个所述的方法,进一步包括:由所述计算设备输出包括多个键的图形键盘以显示;以及由所述计算设备并且至少部分地基于所述手势输入,选择所述图形键盘的至少一个键,其中,确定所述手势输入的上下文匹配与所述候选字符串相关联的上下文进一步包括由所述计算设备确定与所述图形键盘的所选择的至少一个键相关联的至少一个字符匹配包括在与所述候选字符串相关联的上下文中的至少一个字符。
示例17.如示例1-16的任何一个所述的方法,其中,接收在所述存在敏感输入设备处检测到的手势输入的指示包括:由所述计算设备接收在所述存在敏感输入设备处检测到的选择图形键盘的第一键的第一触摸输入的指示;以及由所述计算设备接收在所述存在敏感输入设备处检测到的选择所述图形键盘的第二键的第二触摸输入的指示。
示例18.如示例1-17的任何一个所述的方法,其中,接收在所述存在敏感输入设备处检测到的手势输入的指示包括由所述计算设备接收在所述存在敏感输入设备处检测到的选择图形键盘的一组键的连续运动手势的指示,其中,所述连续运动手势包括从所述存在敏感输入设备的第一位置到所述存在敏感输入设备的第二位置的输入单元的运动,以及其中,所述存在敏感输入设备检测从所述第一位置到第二位置的所述输入单元的存在。
示例19.一种编码有指令的计算机可读存储介质,所述指令当被执行时,使计算设备的至少一个或多个处理器执行由示例1-18的任何一个所述的方法。
示例20.一种设备,包括:至少一个处理器,所述处理器可操作地耦接到存在敏感输入设备;以及至少一个模块,所述模块可由所述至少一个处理器操作来执行如示例1-18的任何一个所述的方法。
示例21.一种设备,包括:用于输出包括多个文本建议区的图形用户界面以显示的装置;用于接收在存在敏感输入设备处检测到的手势输入的指示的装置;用于至少部分地基于所述手势输入的指示,从多个候选字符串选择候选字符串的装置;用于确定当所述候选字符串被显示在来自多个文本建议区的特定文本建议区内时先前选择过所述候选字符串的装置;以及用于至少部分地基于确定当所述候选字符串被显示在特定文本建议区内时先前选择过所述候选字符串,在所述特定文本建议区内输出候选字符串以显示的装置。
在本公开中描述的技术至少部分可以由硬件、软件、固件或其任意组合实施。例如,所述技术的各个方面可以在一个或多个处理器内实施,包括一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、或任何其他等效集成或离散逻辑电路、以及这些组件的任意组合。术语“处理器”或“处理电路”通常可以指上述逻辑电路中的任何一个,单独或与其他逻辑电路组合,或任何其他等效的电路。包括硬件的控制单元也可以执行本公开的技术的一个或多个。
可以在同一设备内或在单独的设备内实施这样的硬件、软件和固件来支持在本公开中所述的各种技术。此外,上述单元、模块或组件中的任何一个可以一起或单独地实施为分立但可互操作的逻辑器件。将不同特征描述为模块或单元旨在突出不同功能方面,而不一定暗指这样的模块或单元必须由单独的硬件、固件或软件组件实现。相反,与一个或多个模块或单元相关联的功能可以由单独的硬件、固件或软件组件实现,或集成在公用或单独的硬件、固件或软件组件内。
在本公开中所述的技术也可以体现或编码在包括编码有指令的计算机可读存储介质的制品中。在包括被编码的计算机可读存储介质的制品中嵌入或编码的指令可以使一个或多个可编程处理器或其他处理器实施在此所述的技术中的一个或多个,诸如当包括或编码在计算机可读存储介质中的指令由一个或多个处理器执行时。计算机可读存储媒介可以包括随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、闪存、硬盘、光盘ROM(CD-ROM)、软盘、磁带、磁媒介、光学媒介或其他计算机可读媒介。在一些示例中,制品可以包括一个或多个计算机可读存储媒介。
在一些示例中,计算机可读存储介质可以包括非瞬时介质。术语“非瞬时”可以指示不是以载波或传播信号体现的存储介质。在某些示例中,非瞬时存储介质可以存储能随时间改变的数据(例如,在RAM或高速缓冲存储器中)。
已经描述了各种示例。这些和其他示例在所附权利要求的范围内。
Claims (13)
1.一种用于输出候选字符串的方法,包括:
由计算设备基于图形键盘处的第一输入确定多个候选字符串以及所述多个候选字符串的初始排名顺序,其中来自所述多个候选字符串的第一候选字符串与所述多个候选字符串的所述初始排名顺序中的最高排名相关联,并且来自所述多个候选字符串的第二候选字符串与所述多个候选字符串的所述初始排名顺序中的第二最高排名相关联;
由所述计算设备基于所述多个候选字符串的所述初始排名顺序,在来自多个文本建议区的第一文本建议区中输出所述第一候选字符串并且在来自所述多个文本建议区的第二文本建议区中输出所述第二候选字符串以显示,所述第一文本建议区与所述多个文本建议区的排名顺序中的最高排名相关联,并且所述第二文本建议区与所述多个文本建议区的所述排名顺序中的第二最高排名相关联;
由所述计算设备接收从所述第一文本建议区中选择所述第一候选字符串的第二输入;
由所述计算设备并且基于所述图形键盘处的第三输入,确定所述多个候选字符串以及所述多个候选字符串的后续排名顺序,所述第一候选字符串与所述多个候选字符串的所述后续排名顺序中的第二最高排名相关联,并且所述第二候选字符串与所述多个候选字符串的所述后续排名顺序中的最高排名相关联;
由所述计算设备基于所述多个候选字符串的所述后续排名顺序,将所述第一候选字符串与所述第二文本建议区相关联;以及
响应于确定所述第一候选字符串在所述第一候选字符串被先前显示时被从所述第一文本建议区先前选择过,由所述计算设备在所述第一文本建议区内输出所述第一候选字符串以显示。
2.如权利要求1所述的方法,其中,确定所述多个候选字符串的所述初始排名顺序进一步包括:由所述计算设备将来自所述多个候选字符串的每一相应候选字符串与语言模型比较来确定所述相应候选字符串表示包括在词典中的词的概率。
3.如权利要求2所述的方法,其中,所述语言模型包括n-gram语言模型。
4.如权利要求1所述的方法,进一步包括:
由所述计算设备确定所述第三输入的上下文匹配与所述第一候选字符串相关联的上下文,其中,输出所述第一候选字符串以在所述第一文本建议区内显示进一步包括:至少部分地基于确定所述第三输入的所述上下文匹配与所述第一候选字符串相关联的所述上下文,在所述第一文本建议区内输出所述第一候选字符串以显示。
5.如权利要求1所述的方法,其中,接收所述第二输入包括:
由所述计算设备接收在存在敏感输入设备处检测到的选择所述第一文本建议区的触摸输入的指示。
6.一种计算设备,包括:
至少一个处理器;以及
包括指令的存储器,所述指令在被执行时使得所述至少一个处理器:
基于图形键盘处的第一输入确定第一多个候选字符串和所述第一多个候选字符串的初始排名顺序,其中来自所述第一多个候选字符串的特定候选字符串与所述第一多个候选字符串的所述初始排名顺序中的最高排名相关联;
基于所述第一多个候选字符串的所述初始排名顺序在来自多个文本建议区的第一文本建议区中输出所述特定候选字符串以显示,所述第一文本建议区与所述多个文本建议区的排名顺序中的最高排名相关联,并且第二文本建议区与所述多个文本建议区的所述排名顺序中的第二最高排名相关联;
接收从所述第一文本建议区中选择所述特定候选字符串的第二输入;
基于所述图形键盘处的第三输入,确定第二多个候选字符串和所述第二多个候选字符串的后续排名顺序,所述第二多个候选字符串包括所述特定候选字符串,所述特定候选字符串与所述第二多个候选字符串的所述后续排名顺序中的第二最高排名相关联;
基于所述第二多个候选字符串的所述后续排名顺序,将所述特定候选字符串与所述第二文本建议区相关联;以及
响应于确定所述特定候选字符串是当所述特定候选字符串被先前显示时从所述第一文本建议区先前选择过,在所述第一文本建议区内输出所述特定候选字符串以显示。
7.如权利要求6所述的计算设备,其中所述指令在被执行时进一步使得所述至少一个处理器通过由所述计算设备将来自所述第一多个候选字符串的每一相应候选字符串与语言模型进行比较以确定所述相应候选字符串表示包括在词典中的词的概率,来确定所述第一多个候选字符串的初始排名顺序。
8.如权利要求6所述的计算设备,其中所述指令在被执行时进一步使得所述至少一个处理器至少部分地基于确定所述第三输入的上下文匹配与所述特定候选字符串相关联的上下文,在所述第一文本建议区中输出所述特定候选字符串以显示。
9.如权利要求6所述的计算设备,其中所述指令在被执行时进一步使得所述至少一个处理器通过接收在存在敏感输入设备处检测到的选择所述第一文本建议区的触摸输入的指示来接收所述第三输入。
10.一种包括指令的非暂时性计算机可读存储介质,所述指令在被执行时使得至少一个处理器:
基于图形键盘处的第一输入确定多个候选字符串以及所述多个候选字符串的初始排名顺序,其中来自所述多个候选字符串的第一候选字符串与所述多个候选字符串的所述初始排名顺序中的最高排名相关联,并且来自所述多个候选字符串的第二候选字符串与所述多个候选字符串的所述初始排名顺序中的第二最高排名相关联;
基于所述多个候选字符串的所述初始排名顺序,在来自多个文本建议区的第一文本建议区中输出所述第一候选字符串并且在来自所述多个文本建议区的第二文本建议区中输出所述第二候选字符串以显示,所述第一文本建议区与所述多个文本建议区的排名顺序中的最高排名相关联,并且所述第二文本建议区与所述多个文本建议区的所述排名顺序中的第二最高排名相关联;
接收从所述第一文本建议区中选择所述第一候选字符串的第二输入;
基于所述图形键盘处的第三输入,确定所述多个候选字符串以及所述多个候选字符串的后续排名顺序,所述第一候选字符串与所述多个候选字符串的所述后续排名顺序中的第二最高排名相关联,并且所述第二候选字符串与所述多个候选字符串的所述后续排名顺序中的最高排名相关联;
基于所述多个候选字符串的所述后续排名顺序,将所述第一候选字符串与所述第二文本建议区相关联;以及
响应于确定所述第一候选字符串在所述第一候选字符串被先前显示时被从所述第一文本建议区先前选择过,在所述第一文本建议区内输出所述第一候选字符串以显示。
11.如权利要求10所述的非暂时性计算机可读存储介质,其中,所述指令在被执行时使得所述至少一个处理器通过由计算设备将来自所述多个候选字符串的每一相应候选字符串与语言模型比较以确定所述相应候选字符串表示包括在词典中的词的概率,来确定所述多个候选字符串的所述初始排名顺序。
12.如权利要求10所述的非暂时性计算机可读存储介质,其中所述指令在被执行时使得所述至少一个处理器至少部分地基于确定所述第三输入的上下文匹配与所述第一候选字符串相关联的上下文,来在所述第一文本建议区内输出所述第一候选字符串以显示。
13.如权利要求10所述的非暂时性计算机可读存储介质,其中,所述指令在被执行时使得所述至少一个处理器通过接收在存在敏感输入设备处检测到的选择所述第一文本建议区的触摸输入的指示来接收所述第三输入。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361812521P | 2013-04-16 | 2013-04-16 | |
US61/812,521 | 2013-04-16 | ||
US14/144,991 US9665246B2 (en) | 2013-04-16 | 2013-12-31 | Consistent text suggestion output |
US14/144,991 | 2013-12-31 | ||
PCT/US2014/033318 WO2014172146A1 (en) | 2013-04-16 | 2014-04-08 | Consistent text suggestion output |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105164616A CN105164616A (zh) | 2015-12-16 |
CN105164616B true CN105164616B (zh) | 2018-05-29 |
Family
ID=51687680
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480021928.6A Active CN105164616B (zh) | 2013-04-16 | 2014-04-08 | 用于输出候选字符串的方法、计算设备及存储介质 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9665246B2 (zh) |
EP (1) | EP2987054B1 (zh) |
KR (1) | KR101750968B1 (zh) |
CN (1) | CN105164616B (zh) |
WO (1) | WO2014172146A1 (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8232973B2 (en) | 2008-01-09 | 2012-07-31 | Apple Inc. | Method, device, and graphical user interface providing word recommendations for text input |
RU2640322C2 (ru) * | 2014-01-30 | 2017-12-27 | Общество с ограниченной ответственностью "Аби Девелопмент" | Способы и системы эффективного автоматического распознавания символов |
US10204096B2 (en) * | 2014-05-30 | 2019-02-12 | Apple Inc. | Device, method, and graphical user interface for a predictive keyboard |
US9703394B2 (en) * | 2015-03-24 | 2017-07-11 | Google Inc. | Unlearning techniques for adaptive language models in text entry |
US10146764B2 (en) * | 2016-04-04 | 2018-12-04 | Google Llc | Dynamic key mapping of a graphical keyboard |
EP3340070A1 (en) * | 2016-12-21 | 2018-06-27 | Doro AB | Improved text input |
US11003839B1 (en) * | 2017-04-28 | 2021-05-11 | I.Q. Joe, Llc | Smart interface with facilitated input and mistake recovery |
EP3757807A4 (en) * | 2018-02-23 | 2021-04-21 | Sony Corporation | INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD AND PROGRAM |
US11449687B2 (en) | 2019-05-10 | 2022-09-20 | Yseop Sa | Natural language text generation using semantic objects |
US11194467B2 (en) | 2019-06-01 | 2021-12-07 | Apple Inc. | Keyboard management user interfaces |
CN111294632A (zh) * | 2019-12-03 | 2020-06-16 | 海信视像科技股份有限公司 | 显示设备 |
US11216182B2 (en) * | 2020-03-03 | 2022-01-04 | Intel Corporation | Dynamic configuration of a virtual keyboard |
US11501088B1 (en) * | 2020-03-11 | 2022-11-15 | Yseop Sa | Techniques for generating natural language text customized to linguistic preferences of a user |
US11416136B2 (en) | 2020-09-14 | 2022-08-16 | Apple Inc. | User interfaces for assigning and responding to user inputs |
CN112199031B (zh) * | 2020-10-15 | 2022-08-05 | 科大讯飞股份有限公司 | 输入方法、装置、设备及存储介质 |
US11983486B1 (en) | 2020-12-09 | 2024-05-14 | Yseop Sa | Machine learning techniques for updating documents generated by a natural language generation (NLG) engine |
CN113076158A (zh) * | 2021-03-26 | 2021-07-06 | 维沃移动通信有限公司 | 显示控制方法和显示控制装置 |
US20220318500A1 (en) * | 2021-04-06 | 2022-10-06 | Talent Unlimited Online Services Private Limited | System and method for generating contextualized text using a character-based convolutional neural network architecture |
WO2023014352A1 (en) * | 2021-08-03 | 2023-02-09 | Google Llc | User content modification suggestions at consistent display locations |
US20230101701A1 (en) * | 2021-09-28 | 2023-03-30 | International Business Machines Corporation | Dynamic typeahead suggestions for a text input |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1759369A (zh) * | 2003-03-19 | 2006-04-12 | 摩托罗拉公司 | 减少键盘错误的方法和装置 |
CN102591472A (zh) * | 2011-01-13 | 2012-07-18 | 新浪网技术(中国)有限公司 | 一种汉字输入方法和装置 |
CN103038728A (zh) * | 2010-03-12 | 2013-04-10 | 纽昂斯通信有限公司 | 例如在移动电话上使用触摸屏的多模式文本输入*** |
Family Cites Families (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5953541A (en) | 1997-01-24 | 1999-09-14 | Tegic Communications, Inc. | Disambiguating system for disambiguating ambiguous input sequences by displaying objects associated with the generated input sequences in the order of decreasing frequency of use |
US6111985A (en) | 1997-06-06 | 2000-08-29 | Microsoft Corporation | Method and mechanism for providing partial results in full context handwriting recognition |
KR100327209B1 (ko) | 1998-05-12 | 2002-04-17 | 윤종용 | 첨펜의자취를이용한소프트웨어키보드시스템및그에따른키코드인식방법 |
US7293231B1 (en) | 1999-03-18 | 2007-11-06 | British Columbia Ltd. | Data entry for personal computing devices |
CA2392446C (en) | 1999-05-27 | 2009-07-14 | America Online Incorporated | Keyboard system with automatic correction |
US7750891B2 (en) | 2003-04-09 | 2010-07-06 | Tegic Communications, Inc. | Selective input system based on tracking of motion parameters of an input device |
US7030863B2 (en) | 2000-05-26 | 2006-04-18 | America Online, Incorporated | Virtual keyboard system with automatic correction |
CA2416835A1 (en) | 2000-07-21 | 2002-01-31 | Raphael Bachmann | Method for a high-speed writing system and high-speed writing device |
US7042443B2 (en) | 2001-10-11 | 2006-05-09 | Woodard Scott E | Speed Writer program and device with Speed Writer program installed |
US7075520B2 (en) | 2001-12-12 | 2006-07-11 | Zi Technology Corporation Ltd | Key press disambiguation using a keypad of multidirectional keys |
US7151530B2 (en) | 2002-08-20 | 2006-12-19 | Canesta, Inc. | System and method for determining an input selected by a user through a virtual interface |
US7199786B2 (en) | 2002-11-29 | 2007-04-03 | Daniel Suraqui | Reduced keyboards system using unistroke input and having automatic disambiguating and a recognition method using said system |
US7251367B2 (en) | 2002-12-20 | 2007-07-31 | International Business Machines Corporation | System and method for recognizing word patterns based on a virtual keyboard layout |
US7453439B1 (en) | 2003-01-16 | 2008-11-18 | Forward Input Inc. | System and method for continuous stroke word-based text input |
US7098896B2 (en) | 2003-01-16 | 2006-08-29 | Forword Input Inc. | System and method for continuous stroke word-based text input |
SG135918A1 (en) | 2003-03-03 | 2007-10-29 | Xrgomics Pte Ltd | Unambiguous text input method for touch screens and reduced keyboard systems |
US7250938B2 (en) | 2004-01-06 | 2007-07-31 | Lenovo (Singapore) Pte. Ltd. | System and method for improved user input on personal computing devices |
US7706616B2 (en) | 2004-02-27 | 2010-04-27 | International Business Machines Corporation | System and method for recognizing word patterns in a very large vocabulary based on a virtual keyboard layout |
US20060176283A1 (en) | 2004-08-06 | 2006-08-10 | Daniel Suraqui | Finger activated reduced keyboard and a method for performing text input |
US7508324B2 (en) | 2004-08-06 | 2009-03-24 | Daniel Suraqui | Finger activated reduced keyboard and a method for performing text input |
US8374846B2 (en) | 2005-05-18 | 2013-02-12 | Neuer Wall Treuhand Gmbh | Text input device and method |
US8117540B2 (en) | 2005-05-18 | 2012-02-14 | Neuer Wall Treuhand Gmbh | Method and device incorporating improved text input mechanism |
EP2109046A1 (en) | 2008-04-07 | 2009-10-14 | ExB Asset Management GmbH | Predictive text input system and method involving two concurrent ranking means |
US9606634B2 (en) | 2005-05-18 | 2017-03-28 | Nokia Technologies Oy | Device incorporating improved text input mechanism |
US8036878B2 (en) | 2005-05-18 | 2011-10-11 | Never Wall Treuhand GmbH | Device incorporating improved text input mechanism |
EP1923796B1 (en) | 2006-11-20 | 2016-01-06 | Nokia Technologies OY | Method and device incorporating improved text input mechanism |
US8059101B2 (en) | 2007-06-22 | 2011-11-15 | Apple Inc. | Swipe gestures for touch screen keyboards |
US8661340B2 (en) | 2007-09-13 | 2014-02-25 | Apple Inc. | Input methods for device having multi-language environment |
US20090109067A1 (en) | 2007-10-29 | 2009-04-30 | Sony Ericsson Mobile Communications Ab | Method, apparatus, and computer program for text input |
US8756527B2 (en) | 2008-01-18 | 2014-06-17 | Rpx Corporation | Method, apparatus and computer program product for providing a word input mechanism |
US8589149B2 (en) | 2008-08-05 | 2013-11-19 | Nuance Communications, Inc. | Probability-based approach to recognition of user-entered data |
US20100131447A1 (en) | 2008-11-26 | 2010-05-27 | Nokia Corporation | Method, Apparatus and Computer Program Product for Providing an Adaptive Word Completion Mechanism |
US20100265181A1 (en) | 2009-04-20 | 2010-10-21 | ShoreCap LLC | System, method and computer readable media for enabling a user to quickly identify and select a key on a touch screen keypad by easing key selection |
US8135582B2 (en) | 2009-10-04 | 2012-03-13 | Daniel Suraqui | Keyboard system and method for global disambiguation from classes with dictionary database from first and last letters |
JP5615583B2 (ja) | 2010-04-08 | 2014-10-29 | 京セラ株式会社 | 文字入力装置、文字入力方法および文字入力プログラム |
US8918734B2 (en) | 2010-07-28 | 2014-12-23 | Nuance Communications, Inc. | Reduced keyboard with prediction solutions when input is a partial sliding trajectory |
JP5731281B2 (ja) | 2011-05-31 | 2015-06-10 | Kddi株式会社 | 文字入力装置およびプログラム |
US20140063067A1 (en) * | 2012-08-31 | 2014-03-06 | Research In Motion Limited | Method to select word by swiping capacitive keyboard |
US9348429B2 (en) * | 2013-03-15 | 2016-05-24 | Blackberry Limited | Method and apparatus for word prediction using the position of a non-typing digit |
US8825474B1 (en) | 2013-04-16 | 2014-09-02 | Google Inc. | Text suggestion output using past interaction data |
-
2013
- 2013-12-31 US US14/144,991 patent/US9665246B2/en not_active Expired - Fee Related
-
2014
- 2014-04-08 CN CN201480021928.6A patent/CN105164616B/zh active Active
- 2014-04-08 WO PCT/US2014/033318 patent/WO2014172146A1/en active Application Filing
- 2014-04-08 KR KR1020157032672A patent/KR101750968B1/ko active IP Right Grant
- 2014-04-08 EP EP14723250.8A patent/EP2987054B1/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1759369A (zh) * | 2003-03-19 | 2006-04-12 | 摩托罗拉公司 | 减少键盘错误的方法和装置 |
CN103038728A (zh) * | 2010-03-12 | 2013-04-10 | 纽昂斯通信有限公司 | 例如在移动电话上使用触摸屏的多模式文本输入*** |
CN102591472A (zh) * | 2011-01-13 | 2012-07-18 | 新浪网技术(中国)有限公司 | 一种汉字输入方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
EP2987054B1 (en) | 2018-12-12 |
US9665246B2 (en) | 2017-05-30 |
WO2014172146A1 (en) | 2014-10-23 |
EP2987054A1 (en) | 2016-02-24 |
CN105164616A (zh) | 2015-12-16 |
KR20150143774A (ko) | 2015-12-23 |
US20140310639A1 (en) | 2014-10-16 |
KR101750968B1 (ko) | 2017-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105164616B (zh) | 用于输出候选字符串的方法、计算设备及存储介质 | |
US11379663B2 (en) | Multi-gesture text input prediction | |
US10489508B2 (en) | Incremental multi-word recognition | |
US9552080B2 (en) | Incremental feature-based gesture-keyboard decoding | |
CN104020943B (zh) | 字符串替换 | |
CN105122185A (zh) | 使用过去交互数据的文本建议输出 | |
CN105009064B (zh) | 使用语言和空间模型的触摸键盘 | |
CN105308551B (zh) | 用于连续手势输入的多图形键盘 | |
US20140115522A1 (en) | Gesture-keyboard decoding using gesture path deviation | |
CN104718512B (zh) | 特定于上下文的自动分隔符 | |
CN104756062B (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 | ||
CB02 | Change of applicant information |
Address after: American California Applicant after: Google limited liability company Address before: American California Applicant before: Google Inc. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |