CN105229574A - 减少基于触摸的键盘的错误率 - Google Patents
减少基于触摸的键盘的错误率 Download PDFInfo
- Publication number
- CN105229574A CN105229574A CN201480014784.1A CN201480014784A CN105229574A CN 105229574 A CN105229574 A CN 105229574A CN 201480014784 A CN201480014784 A CN 201480014784A CN 105229574 A CN105229574 A CN 105229574A
- Authority
- CN
- China
- Prior art keywords
- key
- keyboard
- dummy keyboard
- coordinate
- input
- 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
Links
Classifications
-
- 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/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
- G06F3/0412—Digitisers structurally integrated in a display
-
- 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/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
Abstract
本技术提供用于减少到键盘,诸如,触摸屏键盘,的数据输入的错误率的系统和方法。在一个实例中,输入偏差模型动态地改变键盘功能,使得键盘不一定会为相同的敲击坐标产生相同的结果。相反,键盘功能适于说明键盘偏移偏差,其发生在当用户有倾向选择将以其他方式返回不被预期的键的敲击坐标的时候。此外,本技术提供了一种语言反馈模型,其可以提供用于下一个敲击坐标的概率,并且可以扩大对应于最可能的下一个敲击坐标的键,从而允许用户更容易地选择正确的键。本文将提供进一步的细节。
Description
对相关申请的交叉引用
本申请要求2013年4月29日提交的美国专利申请No.13/873,078的优先权,其是2013年3月14日提交的美国专利申请No.13/830,674的继续申请,其要求2013年1月14日提交的美国临时申请No.61/752,431的优先权,其每一个都通过引用被完整结合于此。
背景技术
现代的键盘作为从人到机器的输入文本的主要方法的起源可追溯到19世纪的早期的打字机。随着计算机被开发,这是一个自然的演进,以适应打字机键盘用作输入文本的主要方法。对于熟练的打字员,它仍可能是输入文本到计算机或其它数据处理装置的最快的方式。
随着正在进行的使计算机更小、更轻便的努力,物理键盘已成为设备可以是多么小的最显著的限制因素之一:人的手指的物理尺寸不是计算机设计者可以改变。其结果是,某些便携式应用的计算机已设计为无需物理键盘,并且使用触摸屏或其他输入法作为人机界面的主要形式。这也是某些应用的情况,其中人的身体状况使他们无法使用键盘,如身体有残疾者的人。
物理和虚拟键盘输入方法存在各种要求,如用于移动设备或其他计算设备的方法,其经常互相冲突。输入的方法应该是尽可能快的且打字错误校正应该是有效的和容易执行的,而输入接口应具有尽可能小地占用显示屏。不幸的是,因可用的空间被减小,提高速度且不会不利地影响准确性可能变得困难。
因此,需要一种克服了上述问题且提供额外好处的系统。总体而言,本文的实施例的一些现有或相关的系统及其相关局限性旨在是说明性的而不是排他性的。在阅读下面的详细说明后,现有的或之前的系统的其它局限性对本领域技术人员而言将变得明显。
附图说明
图1示出了本发明的一些方面可以在其中被利用的计算环境的一个例子。
图2示出了用于本地输入和语言处理系统的一组部件。
图3示出了主处理系统的一组部件。
图4是示出了移动设备或其他合适的计算设备的部件的框图。
图5是示出了由预期的接触部件系统所使用的部件的框图。
图6A是流程图,其示出了用于基于候选键与以完全覆盖被接触的键而完全没有覆盖任何相邻的键的被接触的键的中心为圆心的圆的重叠,在接触事件期间确定预期的接触概率的例程。
图6B是示出了遵循图6A的例程的示例性实施例的被识别的候选键的示意图。
图7A示出了在第一键盘的一部分上的基于连续概率密度的键输入方案的一个例子。
图7B示出了基于图7A的离散概率密度。
图8是示出了用于更新根据本文描述的偏差输入模型的键盘全景的例程的流程图。
图9是示出了用于确定预测的下一个键和放大键盘上的预测的下一个键的例程的流程图。
图10示出了根据本发明的实施例的触摸键盘。
图11-15示出了具有能产生一组预期的相邻键的触摸区域的触摸键盘。
图16示出了具有相对重的偏差的例词的输入。
图17代表在运行了没有应用语言模型反馈的英语测试后产生的结果的中性图。
具体实施例
本技术提供了系统和方法,用于输入偏差模型和语言模型,其动态地改变虚拟键盘输入区域或全景。所公开的输入偏差模型动态地改变虚拟键盘全景,使得键盘不一定会为相同的敲击坐标产生相同的结果。相反,键盘全景适于说明键的偏移偏差,其发生在当用户有倾向选择将以其他方式返回不被预期的键的敲击坐标的时候(例如,键入更靠近V键,但B键是被预期的)。所公开的语言反馈模型提供了用于下一个敲击坐标的条件概率,并增大了对应于最可能的下一个敲击坐标的键的有效尺寸,由此允许用户更容易地选择正确的键。通过结合输入偏差模式与语言模式,产生了被大大改进的用户的输入键盘的结果。
在下面将详细描述一种系统,其采用收集输入到键盘的数据的第一动作或步骤,处理输入,然后提供输出给用户。该系统能以动态方式重新分配在键(加上一些)之间的虚拟区域,其中键的“精确的”或受保护的虚拟中心区域可以在概率中被改变。例如,首先,在一个键的最中心具有该键的最大概率,但在使用(如本文所解释的偏移)后该点可以从中心移开,但仍保留具有现在更大的区域的中心受保护的区域。该系统提供反馈给用户,以反映该系统从用户的输入解释出的当前字符。
在不限制本详细说明的范围的情况下,根据本发明的实施例的系统、设备、方法和相关的结果的例子将在下面给出。除非另有定义,本文使用的所有技术和科学术语具有如在本公开内容涉及的领域内的普通技术人员通常理解相同的含义。在冲突的情况下,以本文件,包括定义,为准。在此详细描述中所使用的术语通常具有其在本领域中的,本公开的范围内的,以及在其中每个术语被使用的特定情况下的普通含义。为了方便起见,某些术语可以被突出显示,例如使用斜体字和/或引号。突出显示对术语的范围和含义没有影响;在同样的背景下术语的范围和含义是一样的,无论其是否被突出显示。可以理解的是,同样的内容可以以一种以上的方式来表示。
因此,替代语和同义词可用于任何一个或多个在此讨论的术语,术语是否在此被被阐述或论述也不具有任何特殊的意义。某些术语的同义词被提供。一个或一个以上的同义词的列举不排除使用其他同义词。在本说明书中任何地方的例子的使用,包括本文所讨论的任何术语的例子,仅是说明性的且不旨在进一步限制本公开或任何示例性术语的范围和含义。同样地,本发明并不限定于在本说明书中给出的各种实施例。
系统概述
从图1开始,在此的讨论提供合适的计算环境的简短的、一般的描述,在该计算环境中,本发明的各方面可以被执行。虽然不是必需的,但该系统的各方面在计算机可执行指令中的通常的上下文中被描述,如由通用的计算机,例如,移动设备、服务器计算机、或个人计算机执行的例程。相关领域技术人员将会理解,该系统可以用其他通信、数据处理,或计算机系统配置实施,包括:互联网设备、手持设备(包括个人数字助理(PDA))、各种形式的蜂窝或移动电话、多处理器系统、基于微处理器的或可编程的消费电子产品、机顶盒、网络PC、小型计算机、大型计算机,等等。事实上,术语“计算机”、“主机”、“主计算机”和“移动设备”以及“手提电话”在本文中通常是可互换使用的,并可指上述的任何设备和系统,以及任何数据处理器。
系统的各方面可以体现在专用目的计算设备或数据处理器中,该数据处理器被进行特殊编程、配置或构造以执行在此详细解释的计算机可执行指令中的一个或多个。系统的各方面可在分布式计算环境中实行,其中任务或模块由远程处理设备执行,并通过通信网络连接,如局域网(LAN)、广域网(WAN),或互联网。在分布式计算环境中,程序模块可以位于本地和远程内存存储设备中。
系统的各方面可以被存储在计算机可读介质上或分布在计算机可读介质上,计算机可读介质包括可读计算机光盘或磁盘、硬连线或预编程的芯片(例如,EEPROM或闪存半导体芯片)、纳米技术存储器、生物存储器,或其它数据存储介质。实际上,计算机执行指令,数据结构,屏幕显示,和系统各方面的其它数据可在一段时间内通过互联网或其他网络(包括无线网络),在传播介质的传播信号上(例如,电磁波,声波等等)分布,或者它们也可以在任何模拟或数字网络(分组交换,电路交换,或其他方案)上提供。相关领域技术人员将认识到部分的系统位于服务器计算机上,而相应的部分位于客户端计算机上,如移动或便携式设备。因此,虽然某些硬件平台被描述于此,但系统的各方面同样适用于网络上的节点。在另一个实施例中,移动设备或便携式设备可代表服务器部分,而服务器可代表客户端部分。
本发明的各个方面现在将被描述,开始于本发明可在其中被实践的合适的或有代表性的环境,包括本地和/或远程/中央模型,其中所述一个或多个模型提供输入偏差和语言反馈模型。其后,输入偏差和语言反馈模型的细节被提供。
代表系统环境
图1示出的计算环境100的例子,其中本发明的实施例可以在其中实施。如图1所示,输入偏差和语言反馈模型(“输入和语言系统”)可以在一个或多个移动设备110a-n(诸如,移动电话、平板电脑、移动媒体设备、移动游戏设备、电子阅读器、媒体浏览器、基于车辆的计算机,等等),一个或多个计算设备(如,计算机120),以及能够接收用户输入的其他设备(例如,如导航系统130)上操作。这些设备的每个可包括各种输入机制(例如,麦克风,键盘,和/或触摸屏),以接收用户的交互(例如,语音,文本,和/或手写输入)。
本说明书中提及的“一个实施例”或“实施例”意味着在实施例中所描述的特定的特征、结构,或特性被包括在本发明的至少一个实施例中。在说明书中各个地方的“在一个实施例中”的短语的出现不一定都指的是同一实施例,分开的或替代的实施例也不是与其他实施例互相排斥。此外,各种特征被描述,其可以由一些实施例而不是其他实施例所展示。同样,各种要求被描述,其可以是对于某些实施例而不是其它实施例的要求。
如图1所示,设备可以通过一个或多个有线或无线、公共或私人的网络150与主语言和输入处理设备140通信。根据一个实施例,本地设备的静态模型160、输入偏差模型170和语言模型180可以经由本地设备上的虚拟键盘与主语言模型通信,其本身可以包括多个模型,例如静态模型160、输入偏差模型170、和动态语言模型180,以及其他模型,如任何改进数据输入的模型,所有这些都在下面更详细地描述。静态模型160是基于一般使用的语言为语言生成的字列表,包括概率或其它类型的上下文中的字的用法的模型(例如,上下文中的字,而不是单个字)。与此相反,输入偏差模型170接收并基于检测用户倾向来选择敲击坐标,而不是键的中心,来反映模型。语言模型180接收并基于来自与终端用户相关联的每个设备的改变事件(例如,增加一个字,删除一个字,字的校正,n元语法(n-gram),和字计数)来反映模型。改变事件通常按它们发生的顺序处理,以更新语言模型(例如,实时或接近实时)。然而,在一些实施方案中,改变事件可以不按顺序来处理以更新语言模型。例如,更重要的改变事件可能在不太重要的改变事件之前优先进行处理。
图2示出了用于本地输入和语言处理系统200的一组部件。根据图2中所示的实施例,本地处理系统200可以包括存储器205、一个或多个处理器210、电源215、输入设备220、事件检测模块225、事件汇总模块230、本地模型235、优先化模块240、同步模块245、通信模块250、排队模块255,和图形用户界面(GUI)生成模块260。该系统的其它实施例可包括这些模块的一些、全部、或没有任何的模块以及连同其它模块、应用的部件,和/或部件。还是,这一些实施例可结合两个或多个这样的模块和部件成一个单一的模块和/或将一个或多个的这些模块的功能性的一部分与不同的模块相关联。例如,在一个实施例中,优先化模块240和排队模块255可以被组合成用于优先事件的数据传输的单个模块。
存储器205可以是任何设备、机构,或用于存储信息的填充的数据结构。根据本系统的一些实施例,存储器205可包括任何类型的,但不限于,易失性存储器,非易失性存储器,和动态存储器。例如,存储器205可以是随机存取存储器、存储器存储设备、光存储设备、媒体磁介质、软盘、磁带、硬盘驱动器、SDRAM、RDRAM、DDRRAM、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、闪存、光盘、DVD光盘,和/或类似物。根据一些实施方案,存储器205可以包括一个或多个盘驱动器、闪存驱动器、一个或多个数据库,一个或多个表,一个或多个文件、本地高速缓冲存储器、处理器高速缓冲存储器、关系数据库、平面数据库,和/或类似物。此外,本领域普通技术人员将了解,用于存储信息的许多额外的设备和技术可被用作存储器205。
存储器205可被用来存储指令以运行在处理器210上的一个或多个应用或模块。例如,存储器205可用于在一个或多个实施方案中,以容纳所有的或一些的指令,该指令需要执行事件检测模块225、事件汇总模块230、本地模型235、优先化模块240、同步模块245、通信模块250、排队模块255,和/或GUI生成模块260的功能。存储器205、处理器210和其他部件(例如,输入设备220)可以通过电源215(例如,电池或其它电源)供电。
事件检测模块225可以使用一个或多个输入设备220(例如,键盘、触摸屏或麦克风)来检测一个或多个与每个计算设备110-130相关联的输入或改变事件。改变事件出现作为用户与设备交互的结果,例如与基于文本的应用(例如电子邮件客户端,短信/MMS客户端,文字处理应用)的交互,与语言处理系统(例如,改变事件可以修改语言模型,例如添加一个字)的交互,等等。其他事件的示例包括新字事件、删除字事件、标志使用事件、标志不使用事件、调整质量事件、删除语言事件、新字对事件、新n-gram事件、地点事件,和许多可以用于开发一种动态语言模型的其他事件。该事件可以来自用户与本地设备的交互或者可以由系统自动产生。
本地模型235可以与每一个设备相关联,以在本地处理用户输入。这些本地模型仅将检测到的事件与相关联的设备合并。在某些情况下,该模型还可以访问任何本地联系人列表、本地电子邮件、本地SMS/MMS文本,以及其他本地的基于文本的通信以用于发展本地语言模型。
虽然被在此讨论的大部分的过程可以在本地设备上单独运行,但在某些情况下,事件汇总模块230,可以聚合或分类事件成一个单一的分组,以允许通信模块250将事件推到主处理系统140以用于远程处理。
优先化模块240确定由事件检测模块225检测到的改变事件的优先级。在一些实施例中,该优先级可基于本地上下文信息,比如网络连接、当前使用率、功率水平、或用户偏好。使用关于所检测的事件的信息和这些检测到的事件的优先级,同步模块245可以单独地或作为总体地发送事件至主处理系统140。在一些实施例中,同步模块245接收来自主处理系统140的更新指令。
通信模块250发送任何更新至主语言和输入处理设备140并接收来自其的任何更新。在一些实施例中,通信模块250监视当前连接类型(例如,蜂窝式或WiFi),并且可以作出判断更新以及事件是否应该被推动或拉动。例如,若通信模块250确定当前正在使用蜂窝连接,然后任何传出消息可以利用排队模块255进行排队。除了当前连接类型,在确定是否推或拉数据时,通信模块可以使用其他信息,例如事件优先级和/或用户喜好。
GUI生成模块260生成一个或多个GUI屏幕,其允许与该系统的用户交互。在至少一个实施方案中,GUI生成模块260生成图形用户界面,允许计算设备的用户来设置喜好、选择语言、设置键盘布局/参数、运行培训应用以培训系统、设置设备的限制、选择临时静语言模型添加和/或以其他方式在该用户和该设备之间接收或传送信息。
图3示出了主处理系统140的一组部件。根据图3中所示的实施例,主处理系统140可包括存储器305、一个或多个处理器310、电源315、用户识别模块320、本地模型识别模块325、事件分析模块330、主模型335(其可以包括,例如,静态模型,输入偏差模型,和/或语言模型)、比较模块340、同步模块345和通信模块350。本发明的其它实施例可包括这些模块的一些、全部或没有任何这些模块,以及同其它模块,应用,和/或部件的部件。还是,这一些实施例可结合两个或多个这样的模块和部件成一个单一的模块和/或将一个或多个的这些模块的功能性的一部分与不同的模块相关联。例如,在一个实施例中,用户识别模块320和本地模型识别模块325的功能可以合并到单个模块中。
存储器305可以是任何设备、机构,或用于存储信息的填充的数据结构,如参照上面描述的存储器205。存储器305可用于存储指令以运行处理器310上的一个或多个应用或模块。例如,存储器305可用于在一个或多个实施方案中,以容纳所有的或一些的指令,该指令需要执行用户识别模块320、本地模型识别模块325、事件分析模块330、主模型335、比较模块340、同步模块345,和/或通信模块350的功能。
用户识别模块320可被配置以识别用户。根据各种实施方案,可以使用各种方法,例如,但不限于,登录凭证、电信设备的标识符、语音识别、视觉识别,和/或其它技术,用于识别用户。相同或不同的识别方法可以用于在每个设备以当用户访问系统时来识别用户。
随着从本地输入接收到的事件和语言和模型与个人相关联(例如键盘输入事件),事件分析模块330确定事件应当如何被处理并应用(例如,基于时间戳顺序地处理或基于关于所分配的事件优先级处理)到主输入和语言模型335。在一些实施方案中,主模型335的改变可以使用在SQL数据库中的更改日志进行跟踪。在其他实施方案中,所述改变被存储在一个磁盘上的更改日志中。除了从本地设备接收到的事件,其他板外个人数据,诸如网站数据、社交网络数据、社交网络朋友的数据(例如与朋友的通信)、来自个人计算设备的信息、来自互联网可访问文档的数据(例如,谷歌文档),以及其他可被用于建立主模型。
比较模块340确定相比当前主模型的任何用户的本地模型的当前状态。使用由比较模块340确定的状态信息,信息同步模块345可确定是否使用通信模块350发送更新(例如,成批地),或请求整个本地模型被代替。但要注意的是,本发明的一些实施例在本地执行所有操作,从而不必采用部件以促进与主处理系统140的通信(例如,可以省略比较模块340、同步模块345和通信模块350的一部分或全部)。
输入偏差和语言反馈系统
图4示出了本发明的实施例可以在其上被利用的计算设备400的框图。该计算设备400可以是移动设备、智能电话、平板电脑、网络图书、移动GPS导航设备、遥控器、固定电话或通信控制台或装置,表面或桌面计算机、投影图像投影仪、台式电脑、电子-reader、ATM机、自动售货机,或具有键盘的任何其他设备(例如,具有物理键盘或虚拟键盘的任何设备)。所述计算设备400包括各种硬件和/或部件被配置为提供信息给一键入校正统并为计算设备400的用户执行键入校正。
设备400包括触摸屏420或其他输入部件,它提供输入到处理器410,如,当触摸屏被触摸时,通知处理器410接触事件的输入。触摸屏可以包括或与硬件控制器通信,诸如触摸屏的驱动器,其解释从所述触摸屏接收到的原始信号,并发送与接触事件相关联的信息(例如,按钮或按键的指示,接触点的X-Y坐标(例如来自触摸屏、触摸板、或图形输入平板上的手指或触笔触摸)、用户的请求以按物理或虚拟键,点击输入设备的当前位置、触摸的区域、压力、持续时间等)至处理器410。例如,硬件控制器可以发射与各种点击设备,包括鼠标、轨迹球、操纵杆或模拟棒、指点杆或指向杆(nipplemouse)、滚轮鼠标、脚鼠标、手掌鼠标、光笔、光枪、位置枪、激光指示器、陀螺仪或陀螺鼠标、加速计、眼睛跟踪设备、视频跟踪装置、指示笔,等等。处理器410与同显示器430相关联的硬件控制器或驱动器进行通信,以显示与检测到的接触的事件相关联的信息(例如,显示的键盘上的被接触的键的字母)。该显示器430可以被集成到计算设备400中,或者可以是一个独立的设备。示例显示器430包括触摸屏显示器、平板显示器、阴极射线管、电子墨水显示器、头戴式显示器、液晶显示器、发光二极管显示器、等离子显示器、电致发光显示器、真空荧光显示器、数字投影仪、激光投影仪、头戴式显示器,等等。设备400可以包括扬声器440,它提供适当的听觉信号,以帮助用户导航被显示的键盘或其他被显示的部件。
处理器410与存储在设备400的存储器部件450中的数据或应用进行通信,其可包括临时和/或永久存储的组合,以及只读和可写存储器(随机存取存储器或RAM)、只读存储器(ROM)、可写的非易失性存储器,诸如FLASH存储器、硬盘驱动器、软盘、基于SIM的部件,等等。存储器部件450包括各种程序部件或模块,诸如操作系统452、各种文本输入应用454,以及其它应用或程序456,例如下载到设备400的应用。进一步,存储器部件包括打字校正部件或系统470,其将被在此进行更详细地讨论。
文本输入应用可以是键敲击应用、手势或接触移动应用,或者是任何便于来自用户的输入文本的其他应用。文本输入应用可能导致设备通过触摸屏420显示键盘并经由被显示的键盘接收输入。键盘可以是物理键盘或虚拟键盘,如在触敏显示器上被实现的任何键盘,诸如,呈现在触敏表面上的键盘,印在触敏表面上的键盘,等等。示例性键盘包括监视器上显示的键盘,触摸屏上显示的键盘,光学投影到平面或曲面的键盘,或者具有集成到键的电子可变键符号的物理键盘,等等。关于合适的文本输入应用的进一步的细节可以在共同转让的于2009年6月2日授权的、题为“SYSTEMANDMETHODFORAUSERINTERFACEFORTEXTEDITINGANDMENUSELECTION”的美国专利7,542,029中找到,其通过引入被全部合并于此。关于本发明的进一步细节可以在共同转让的于2012年2月13日提交的、题为“CORRECTINGTYPINGMISTAKESBASEDONPROBABILITIESOFINTENDEDCONTACTFORNON-CONTACTEDKEYS”的美国专利申请13/366,225,以及共同转让的于2008年8月5日提交的、题为“APROBABILITY-BASEDAPPROACHTORECOGNITIONOFUSER-ENTEREDDATA”的美国专利申请12/186,425中找到,其每一个都通过引用被全部合并于此。
存储器部件450还包括数据存储部件,诸如用于文本输入应用454(例如,本地语言模型)的字数据库460、用户数据数据库462,和其它为由设备400执行的应用提供和/或存储信息的数据库464。字数据库可以包括在上下文中的字使用的概率或其他模型,如本文所注。
设备400可以包括其它部件(未示出),以促进设备和其各种部件的操作,包括其它输入或输出部件、无线电和/或其它通信部件、电源部件、订户身份模块(SIM),等等。在一般情况下,设备400可以存储或含有在执行对由设备400提供的文本输入应用的键入校正中需要或使用的任何和所有部件、模块或数据文件。
如本文所讨论,设备400可以包括或存储预期接触确定部件,其提供信息,比如与接触事件是到文本输入应用454,诸如基于键敲击或路径的文本输入应用的预期的接触事件相关联的概率。图5是一个框图,示出了由设备键入错误更正系统或其他系统所采用的预期的接触确定部件470以促进文本输入到设备。预期的接触确定部件470包括接触事件部件510,其被配置和/或编程以接收信息,该信息识别和/或与在被显示的或其它触敏键盘,例如,虚拟键盘、物理键盘,等等,的被触摸的、被按压的,或以其他方式被激活的键的接触事件相关联。例如,接触事件部件510可以接收坐标信息(例如,X和Y坐标的值),其与接触事件,或其他指示接触事件期间的接触的位置的信息相关联。
预期的接触确定部件470还包括键候选确定部件520,其标识候选键,它包括除被接触键以外的键,并且其可能已被打算通过键盘的用户进行接触。例如,候选键可以是相邻的键、相邻于被接触键的键、邻近于相邻键的键、在键盘上移动经过的路径上的键,等等。键候选确定部件520可以,因此,确定了一组候选键作为用户可能意图敲击或在键盘上移动的键。
计算部件530从键候选确定部件520接收信息,例如一个组候选键的列表,并计算和/或确定相邻或邻近接收在该键内的一接触事件(例如,键敲击或路径移动)的键的一个或多个键是接触事件的预期的键的概率。计算部件530发送所计算的概率和/或其它信息给输出部件540,其提供信息到键入校正系统的部件中,以为了降低接触事件期间的一些由文本输入应用考虑的候选字,和其他益处。
例如,与移动设备400的触摸屏420相关联的触摸屏输入驱动器发送接触事件信息到期望的接触确定部件470,其执行一个或多个本文描述的例程,以确定与在触摸事件期间被激活的键相邻的或邻近的键相关联的预期的接触概率。然后预期接触确定部件470可以提供所确定的概率至键入校正系统,例如由文本输入应用454所包含或采用的系统。
在一些实施方案中,预期的接触确定部件470可以基于键之间的边界共享提供概率。图6A-6B分别是示出了例程600的流程图和所附的示意图,例程600用于基于候选键和被接触键之间的边界共享确定在接触事件期间的预期的接触概率。
在图6A的步骤610中,例程600接收键盘上的与敲击或接触事件或键的激活相关联的信息。例程600可以接收当用户输入文本时,在接触事件期间识别被激活的键的信息。例如,图6B示出了具有显示键盘655的触摸屏650,接触事件发生在G键的边界内的接触的点660处。
在步骤620中,例程600标识候选键作为与被激活的键共享边界的键。以下的例子中,图6B描述了与G键共享边键的五个键:与G键位于同一行的H键和F键,在G键的正下方的V键,在G键的左上角的T键,和在G键的右上角的Y键。
在步骤630中,例程600计算出被激活的键与候选键共享边界的边界百分比。以下的例子中,图6B示出了G键和相邻键之间共享的各个边界。在这个例子中,T键共享G键边界661的15%,Y键共享G键边界662的15%,F键共享G键边界663的20%,H键共享G键边界664的20%和V键共享G键边界665的30%。
在步骤640中,例程600至少部分基于所计算出的百分比,确定每一个被识别的键的预期接触的概率。例程600可以基于任意数量的方程或算法确定概率,如:
概率=(未被激活的键的乘法因子)*(共享边界的百分比)
因此,如果所有未被激活的键的乘法因子是0.7,那么预期的接触的下面的概率将为在图6B中所示的接触事件被确定:
T键的概率=0.7(0.15)=0.105
Y键的概率=0.7(0.15)=0.105
F键的概率=0.7(0.2)=0.14
H键的概率=0.7(0.2)=0.14
V键的概率=0.7(0.3)=0.21
当然,其他方程、变量或因子可以被采用。例如,一个键的位置,如它相对于被激活的键的水平或垂直位置,可在确定一个或多个相邻的键的概率时被考虑。在一些情况下,本文所描述的例程600和其它例程可以只考虑某些候选键,其与被激活的键共用一个边界,如,在被激活的键的同一行内的键。在某些情况下,例程600可以为在与被激活的键的同一行中的相邻键提供特定的乘法因子,以及为在被激活的键之上或之下的键提供不同的乘法因子。
图7A示出了其中QWERTY键盘700的一部分被示出的例子。假设一个典型的用户(未显示)拟按压或打击G键,用户将最有可能直接命中G键。然而,用户可能会碰到靠近G键的其他键,尽管具有较低概率。这种情况最常发生在键盘太小而不能容纳用户的输入方式,如手指,的时候。替代地,用户可能只是粗心或具有阻止精确的键输入的身体限制。如可以看到的,图7A给出了集中于G键的连续概率密度的表示。概率分布的斜率可以是在2或4的整数幂,根据应用(键盘的如尺寸),尽管其它分布是可能的,诸如高斯。虽然未示出,分配或衰变可以延伸超出邻近键以还包括更远的相邻键(虽然在更低的概率分布)。
参照图7B,基于图7A的离散概率被示出。由于按一个键产生相同的输入,不论键被精确地击中的地方,这样一个离散概率密度是比较有用的。如可以看到的,预期击中G键和实际击中G键典型地具有最高概率。接近G键的其它键具有相对低的概率。这样的离散概率密度可以相对于在此所讨论的语言反馈模型的使用被调用。
图7A-7B通常假定用户正在键盘(物理或触摸屏,QWERTY或其他方式)上输入文本。该假设是用户正在输入一个预定字典中的字。适合计算机实现的该算法或方法将尝试辨别该用户打算输入的该字,从而允许用户基于概率做出打字错误。初级假设是用户不会做出“大”的错误,但是可能做出许多“小”的错误。
如上所述,该系统可以使用静态模型、输入偏差模型,和/或语言模型的组合,其中每一个现在将分别被讨论。
静态模型
经典区域键盘模型(如,XT9)是基于物理键盘属性,如,键大小和键之间的距离,的静态概率模型。例如,在一个典型的区域键盘模型中,QWERTY键盘上的G键周围的触摸坐标将返回G加上相邻或区域的匹配,T,Y,F,H,V和B。返回一个区域匹配的概率取决于该触摸发生在该G的一般区域中的哪里。例如,如果用户点击G和B之间的坐标,键盘可能会返回G,如果被敲击的坐标相比于到B键的中心更接近G键的中心坐标。另一方面,如果被敲击的坐标相比于到G键的中心更接近B键的中心坐标,则该键盘替代地返回B。在经典的区域键盘模型中,键盘的布局将为相同的敲击坐标产生相同的结果。例如,图10示出了触摸键盘上的敲击坐标1010。扩大部分1020示出了经典键盘的静态键盘几何形状,其中,每个敲击坐标的结果在特定键盘几何形状下保持不变。
静态模型可以计算已被通过各种不同的方法选择的特定键的概率。例如,在一个实施例中,静态模型计算基于键的中心到兴趣点的距离被选择的特定键的概率,该兴趣点如触摸屏敲击点或是根据公式P=1-距离/半径的迹线的一部分的一个点。在示例性概率公式中,半径可以根据多种因素,包括键盘布局的物理几何形状,而变化的。半径可被选择,表示可能仍然为在键的中心内的敲击产生预期的相邻者的最小半径。例如,参考图11的小键盘布局,其可以被设置在移动电话上,并且其具有垂直取向的矩形键,G键具有已预期邻键T,Y,F,H,C,V和B。选择一个半径r1包括预期邻键(T,Y,F,H,C,V和B),其完全或部分地位于半径内,而且还包括了D和J键,它们不是G的邻键。其结果是,所选择的半径r1为膨胀半径,因为它可能会返回多于所期望的更多的键。
在另一个例子中,图12示出了具有正方形状并且不垂直对齐的键的更大的键盘布局。在此,G键具有已预期邻键T,Y,F,H,V和B。选择一个较小的半径r2导致只包含预期的邻键(T,Y,F,H,V和B),其全部或部分位于半径之内。其结果是,半径r2可以比膨胀半径r更理想,因为r2仅包括预期的邻键同时排除不希望的键。较小的半径r2,可能会导致在预测质量(例如,更小的半径r2可能不太模糊)以及性能速度(例如,更少的概率来计算)中的明显差异。在一般情况下,半径的增加导致增加的计算工作量和降低的性能。当半径也从键中心获得这些不被预期的邻键时发生键按压的这些效果。效果在迹线和敲击中可能更明显,这不同于按压一个键,因为由于较大的半径,不在键中心上的位置有可能获得甚至更多的邻键(产生了较大的模糊集)。
在另一个实施方案中,静态模型根据公式P=重叠/触摸区域,基于该键与被触摸区域重叠的区域来计算特定键已被选择的概率。对于基于区域的计算,该系统计算最佳的触摸区域。该系统可以通过指定大于键的触摸区域(例如,键的两到四倍的大小),围绕键上的触摸区域,以及确定与触摸区域完全或部分地重叠的其它键来确定键的邻键。触摸区域的中位大小可以用来容纳具有不同尺寸的键的各种键盘布局。此外,重叠的键可以是预期的邻键。在图13的例子的键盘布局中,G键的预期的邻键将是T,Y,F,H,C,V和B。使用图13中所示的触摸区域和识别重叠区域产生了预期的邻键而没有其他一与上述膨胀半径r1相反。图14示出为一个敲击使用触摸区域,包括触摸区域1405(其重叠R、E和T键)和触摸区域1410(其重叠I,O,J和K的键),的进一步的示例。
通过使用大于键的区域寻找邻键(例如,中等大小的二至四倍),可以找到最小的触摸面积,其仍然可以生成与重叠相同的邻键。这个最小的触摸区域可以产生最小和严格的模糊集(用于基于区域的概率)。这最小化的触摸区域对于良好的用户体验而言可能太小了,这取决于设备上显示的“物理”键盘的实际大小。为了改善这方面的用户体验,原始设备制造商(OEM)的设置可以被用来指定键盘的物理尺寸。OEM的设置可以被用作估计与手指顶端尺寸相关的触摸区域的最佳大小的基础。例如,允许触摸区域超过图13的触摸区域的中等大小的两倍可能不是有利的。
对于具有奇怪的键大小的键盘布局,基于区域的计算可以是有可能产生更为预期的结果。例如,如示于图15中,空格键是相对于所述QWERTY键盘上的字母数字键的奇怪大小的键。图15示出在空格键右侧的敲击位置。空格键的中心位于相对远离敲击位置的位置,而其他几个键具有位于靠近敲击位置的中心。给定敲击位置,可能是从手指导致的敲击可能不会与除了空格键以外的任何键重叠,从而表明空格键被故意选中的可能性。在这种情况下,基于半径的计算的将指示N,B,M的选择以及在空格键之前返回键,以及中心在空格键上的较小的半径可能甚至完全省略对于此示例输入的空格键。然而,通过使用基于区域重叠的计算,系统可以指示空格键作为最有可能的意图键,同时也保留了N,B,M并返回在该集合中的键。
输入偏差模式
输入偏差模型是基于关联于具有用户事件的实际输入的被收集的数据,该用户事件例如删除,自动接受候选,以及明确接受候选。输入偏差模式可以根据多种因素,包括键中心偏移和倾斜,学习新的键的“热区”。热区可以包括保护区(即,QWERTY键盘的区域,如果被选择,将始终产生特定键的选择),加上给定键的高概率的区域。
为了计算给定敲击位置(坐标)的偏差分数,该系统可总计关于各键地区的事件,同时将事件质量和距离考虑进去。例如,在给定的敲击位置,该系统可确定相邻于当前敲击位置的每个键的概率。具有最高概率的相邻的键通常被分配给敲击位置,以使得敲击该特定敲击位置的用户将接收具有最高概率的键作为输出。当用户事件发生(例如,接受自动更正的字,手动选择候选字,删除和替换文本),系统会重新计算给定敲击位置的偏差分数以将这些用户事件考虑在内。
在一个实施例中,输入偏差模型适于动态地改变键盘全景,以使得键盘不一定会为相同的敲击坐标产生相同的结果。相反,键盘全景适于说明键偏移偏差,该偏移偏差是当用户有倾向选择将以其他方式返回不被预期的键的敲击坐标的时候发生。例如,键偏移偏差可能导致一种倾向,以选择位于预期的键之上或在两个预期的键之间(如,在图10中所示的扩大部分1030)的敲击坐标,或者可能是导致一种倾向,以选择对应于用户敲击键盘的位置,用户在键盘上滚动手指的位置,或者是用户从其提起手指离开键盘的位置的敲击坐标。
该系统通过监测一系列事件,并且当一个事件发生时,改变对应于该检测到的事件的一个或多个敲击坐标的各自概率来适应键盘全景。例如,该系统可以响应于检测到的删除事件改变键盘全景。事件可能会发生,例如,当用户意图输入字TAG时。用户首先选择字母T,随后跟着字母A。然而,当用户尝试选择字母G时,用户的手指选择了敲击坐标,该坐标位于预期的字母G和非预期的相邻字母B之间。基于现有的键盘全景,该系统可以解释该所选的敲击坐标作为用于用户选择B(导致字TAB)的意图,而用户实际上打算选择字母G(导致字TAG)。然后,用户注意到该错误并通过删除字母B并取而代之为字母G。系统跟踪字母B的删除和字母G的相应替换。然后系统增加在适当的敲击坐标分配给字母G的加权和/或减小在适当的敲击坐标分配给字母B的加权。其结果是,该系统将在接收到相同或类似的在字母B和G之间的敲击坐标后,将更有可能返回G而不是B,特别是当两个先前输入的字母为T和A时(如在此说明的)。(虽然用户可以手动删除字母,但系统还可以接受来自用户的声音命令,其反映一校正,诸如删除。)
作为另一个例子,该系统可以响应于检测到的手动字选择事件改变键盘全景。手动字选择事件可能会发生,例如当用户打算输入字PROCESSOR时。用户可以输入字母PROD,系统可以向用户呈现潜在的候选字的下拉列表。在当前的例子中,下拉列表可包括候选字:PRODUCT、PRODUCE、PROFESSOR、PROCESSOR和PROXY。如果用户选择候选字PRODUCT或PRODUCE,则系统不会改变键盘全景,因为系统识别出头四个字母(即,PROD)是正确输入,因为它们都被逐字地包含在所选择的候选字中。然而,如果用户从候选列表中选择字PROFESSOR,则系统识别出D被输入错误(即,在字PROFESSOR中没有D)。作为响应,系统改变了键盘全景以当用户选择位于F与D之间的敲击坐标时,在选定的敲击坐标分配更大的加权到F和在所选择的敲击坐标分配较低的加权至D。同样地,如果用户从候选列表中选择字PROCESSOR,则系统可识别D被输入错误,并改变键盘全景以当用户选择位于C和D之间的敲击坐标时,在选定的敲击坐标分配更大的加权给C并在选定的敲击坐标分配较低的加权至D。同样类似地,如果用户从候选列表中选择字PROXY,则稍后系统可识别D被输入错误,并改变键盘全景以当用户选择位于C和D之间的敲击坐标时,在选定的敲击坐标分配更大的加权至X并在选定的敲击坐标分配较低的加权至D。
此外,该系统可以响应于检测到的自动字选择事件改变键盘全景。当用户输入的字不被系统识别,然后字被自动地改变成由系统识别的相似字时,自动字选择事件可发生。例如,用户可能打算拼写字REFRIGERATOR。但是,当用户试图选择字母O时,用户的手指选择了敲击坐标,其位于预期的字母O和非预期的相邻字母I之间。基于现有的键盘全景,该系统可以解释该所选的敲击坐标作为用户选择I(导致字REFRIGERATIR)的意图,当用户实际上打算选择字母O(导致字REFRIGERATOR)时。该系统可以使用自动校正功能来自动将字母I改变为O。如果用户拒绝该自动改正的字(即,用户扭转自动更正),那么该系统可以使键盘布局不受影响,因为它认识到I是故意选中的。可替代地,该系统可以增加在选定的敲击坐标分配给I的加权和/或减少在选定的敲击坐标分配给字母O的加权。其结果是,选择相同或类似的在字母O和I之间的敲击坐标的随后的用户甚至更可能输入I而不是O。在另一方面,如果用户接受了自动校正的字(即,用户不扭转自动更正),则系统增加在选定的敲击坐标分配给字母O的加权和/或减少在选定的敲击坐标分配给I的加权。因此,选择相同或类似的在字母O和I之间的敲击坐标的随后的用户甚至更可能输入O而不是I。
通常情况下,系统发现触摸敲击为至少两到三个不同的事件。首先,手指下落(触摸下落)以触摸屏幕上的一个或多个字符。在这一点上,用户反馈可以包括在位置上方的一个小的弹出,以通过显示一个或多个被触摸的字符来指示该键。移动手指(触摸移动),而如果它经过一个新的键,下落可能引发不同的弹出。当手指从屏幕被再次释放(触摸上升),实际的用户输入然后可能会发生,且一个或多个字符可以被添加到文本。显示弹出不会改变文本的状态;然而,该输入步骤确实改变了文本的状态。本领域的普通技术人员将理解,用户输入可另外地或替代地发生在触摸下落,触摸移动或触摸上升的步骤。
用户输入也可以用触摸和滚动运动的术语进行说明。输入偏差模型可以适于识别跟踪何时用户的手指与触摸键盘接触,在触摸键盘上滚动,和/或抬离触摸键盘的用户的触摸和滚动运动。系统可以将用户选择的键和对应于一个位置的敲击坐标进行比较,在该位置用户的手指最初触摸该触摸键盘,在该位置用户的手指横跨该触摸键盘滚动,和/或在该位置用户的手指抬离该触摸键盘。该系统可以使用该比较以识别该用户的选择在用户的触摸和滚动手势的开始,中间,或结束处的预期的敲击坐标的倾向。一旦系统已识别了用户的倾向,该系统可以根据所识别的倾向调整加权,以增加预期的键被返回的可能性。
该系统可以识别键的一个或多个受保护的区域,其当用户敲击保护区时将始终返回一个特定键,如以各键为中心的区域。例如,G键可具有以G键为中心的受保护的区域,以使得无论何时用户点击该中心受保护的区域时总是返回一个G,无论系统产生用于输入的概率。当键盘全景被改变时,键的输入区域也可以被改变或增加,以不仅包括保护区,而且包括相邻的区域。例如,虽然G键的受保护的区域可以以G键为中心,该系统可以扩展或重新分配受保护的区域,以还包括G键的右下方,或到键之间的“自由区域”(在受保护的区域之间)。以这种方式,任何时间用户在虚拟键盘上的G键的右下方的坐标进行敲击,该系统将返回一个G。
系统可重新分配,扩大或增加键的保护区,以防止其他键被分配给被包含在该重新分配,扩大或增加的保护区中的坐标。例如,如果系统为G键分配一个保护区以还包括G键的右下方,则系统将不允许任何其它键(如B键)被分配给已被分配给G键的相同的受保护的区域。从理论上讲,键的最大概率可能会向不同的键的保护区域移动,但由于保护的键分配,系统将禁止一个键移动到另一个键的保护区。通过使用保护区,该系统确保每个键具有被专用于该特定键的输入的键盘中的至少一个区域,即使该键具有非常低的概率。
依据输入偏差,误差或偏差的量可以被指定为特定大小的歧义框的分数范围(例如,歧义框通常是正常的键的大约两倍的大小)。该偏差也可被指定为X轴和Y轴的偏差的分数。偏差可以移动键中心,其是正常错误的偏差。图16示出具有相对重的偏差的样例字的输入(误差10%-40%和20%的X和45%的Y的偏差)。例如,如由图16中所示的每个键后的阴影,这样的偏差可以展示出对预期键的右下方的敲击坐标的倾向。
图8是示出按照本文所描述的输入偏差模型用于改变键盘全景的流程处理的流程图。在步骤805,系统检测到输入事件。在步骤810,系统确定被预期的键以及实际上被选择的键。在步骤815,预期的键和选定的键进行比较。如果所选择的键匹配预期的键,则系统不会改变目前的键盘全景,而是返回到步骤805以当检测到的事件时继续监视事件。返回到步骤815,如果所选择的键不匹配预期的键(例如,用户提供了这样的指示),则在步骤820系统识别检测到的事件的类型(例如,删除事件,手动字选择事件,或自动字选择事件),并在步骤825获得所获得的事件类型的加权因子。本领域普通技术人员将认识到,不同的检测到的事件可以具有相同或不同的相关联的加权因子。以这种方式,系统使某些类型的事件具有相对于其它类型的事件在键盘全景上具有更大,更小,或者同样的影响。该系统以所获得的加权因子增加在选定的敲击坐标的预期键的加权(步骤830)和/或以所获得的加权因子减少在选定的敲击坐标的所选择的键的加权(步骤835)。然后,系统返回到步骤805以当事件被检测时继续监视事件,并改变所述键盘全景作为检测到的事件的保证。
普通技术人员将理解,输入偏差模型可以延伸超过传统的字母数字键盘到其他输入模式,例如手势(例如,跨越触摸屏上手指滑动)。
语言模型
语言模型提供了来自选择列表的反馈,其建立、使用完整的字来预测下一个字符或键输入。语言模型可以使反馈基于使用具有零杆距离的字(即,开始像确切的输入的字的字),或使用列表中的字(也就是说,可以使用从输入字母已更正的字)。作为替代方案,语言特定的字符n-gram模型可以使用,虽然这个选项可能需要更多的内存和处理器周期。语言模型可以被插入以获得选择确切的字母或字匹配的总分。
语言反馈模型为下一个敲击坐标提供条件概率。该系统可以通过纯字符n-gram模型(例如,来自本地语言模型),通过来自大的基于字的n-gram模型的实际候选列表内容(例如,来自主语言模型),或通过两者的组合来确定下一个键或下一个字的概率。当确定可能的下一个键或字时,该系统可以将其判定基于有或没有自动校正的当前用户输入。例如,系统可以将下一个字符或字的判定基于GAMD(如,用户可能无意地输入)或可以首先校正GAMD为GAME,然后将下一个字符的判定基于校正后的字GAME(尤其是当前一输入的字是WONTHE,因此多字上下文增加下一个字母是E的概率)。需要注意的是该系统可以在过程中的而不是在结束作出校正时提出正确的被输入的字。
此外,该系统可以增加对应于最可能的下一个敲击坐标的键的虚拟大小,由此允许用户更容易地选择正确的键。换句话说,最可能的下一个键的虚拟的x-y尺寸或区域被增加,从而增加了用户将敲击该区域之内的概率。当调整语言模型,系统不需要明显展现给用户该键的“大小”已经改变,所以在短语WONTHEGAME中也看不见E键有效地更大。本领域普通技术人员将理解,该系统可以以各种其他方式区分下一个可能键的外观,包括改变下一个可能的键的颜色,突出显示下一个可能的键,或动画下一个可能的键。语言反馈模型实时调整键盘全景,从而每次键选择被输入时改变键盘几何形状(描绘的图10中的扩大部分1040)。
如果用户选择所预测的下一个键,则该系统可以增加或保持不变与所预测的下一个键相关联的加权。然而,如果用户选择不同于所述预测下一个键的键,则系统可能会减少预测的下一个键的加权并增加实际选择的键的加权。例如,如果用户输入CRUS,系统认识到下一个键输入的将是H以形成字CRUSH具有高概率。正如图6B所示,该信息可接着反馈到键盘以使相对于周围的键在键盘上出现更大的H键,从而用户有更好的机会选择H键。如果用户确实选择H键以形成字CRUSH,则系统或者保持加权不变或者增加H键的加权。如果用户不接受该预测的H键而是选择该T键以形成字CRUST,则系统可能会减少H键的加权并增加T键的加权。
图9是根据本文所描述的语言模型示出用于改变键盘全景的流程处理的流程图。在步骤905,该系统通过键盘检测用户输入。在步骤910,系统基于已由用户输入的输入确定被预测的下一个键。然后在步骤915,下一个被预测的键在键盘上被放大。然后在步骤920,系统检查附加的用户输入。如果没有检测到附加的用户输入,系统返回到步骤920,以继续监视用户输入。如果检测到附加的用户输入,则系统在925比较所预测的键和由用户选择的实际键。在步骤930,如果预测的键和输入的键匹配,则系统返回到步骤905,以监视用户输入,并随着用户继续提供输入确定附加预测下一个键。返回到步骤930,如果预测的键和输入的键不匹配,系统在步骤935获得加权因子,在步骤940以获得的加权因子增加所选择的键的加权和/或在步骤945以获得的加权因子减少被预测的键的加权。该系统然后返回到步骤905,以监视用户输入并随着用户继续提供输入确定附加的预测的下一个键。本领域普通技术人员将认识到,除了预测下一个输入键之外,在此描述的系统也可以预测下一个字而不是预测下一个输入键。请注意,该系统可以在逐个字母逐个字母的基础上调整加权。本领域的普通技术人员将理解语言模型可以使用多个不同的加权因子。例如,该语言模型当增加权时使用第一加权因子,并当减少加权时使用相同或不同的加权因子。
组合模型
在所公开的系统中,一个或多个语言模型可以被组合,以提供更好的用户体验。例如,该系统可以使用内插,它采用25%的静态模型,25%的输入偏差模型,以及50%的语言模型的混合物。尽管多个语言模型可以被组合,在一个实施例中,各区域的概率可能不考虑语言模型,以为了防止将语言模型信息循环回到候选列表。
收集的数据可被结合到活动的键盘布局。布局由键盘ID,页码和缩放尺寸的组合所识别。例如,键盘ID可以对应于特定的键盘语言,如英语,西班牙语,挪威语,等。标准的字母数字键盘的页码可以等于‘0’,符号键盘的页码可以等于‘1’,数字键盘的页码可以等于‘3’,等等。经缩放的尺寸可以对应于键盘的物理尺寸,这可能取决于键盘被显示在其上的触摸设备的物理尺寸,以及键盘是否在纵向或横向方向上而改变。该系统可以为不同的语言的键盘(例如,双语用户),不同类型的键盘(字母,数字,符号等),和/或不同缩放尺寸的键盘收集偏差数据。
事件可以被保存用于多种布局。如果有比空间更多的活动的布局,然后在需要时不被使用最长时间的一个可以被替换。布局以质量的形式、坐标和键-索引的形式简单地跟踪最后n个事件。键-索引可映射语言模型键盘数据库到默认键盘数据库(例如,由触摸设备的制造商提供的默认键盘数据库,如在静态模型下。)质量可以包括“删除”,“自动接受”和“明确接受”或本文提到的其他事件。本领域的普通技术人员将理解,取决于字的选择是否基于用户的自动选择或明确选择,可能导致反馈质量中的差异。例如,当用户点击字符,删除字符,以及输入新的字符来替换被删除的字符时发生负反馈的比较强的指示。此事件类型可以被保留作为高品质的负反馈。在选择列表生成后,该系统可提供字符的列表,其加权被用作下一个敲击输入的语言模型。目前所使用的加权可以是候选的总得分。相同的字符的加权可以被总计得出。
系统可提交所选字符串以与当前输入(敲击)进行比较,并跟踪这些敲击在返回期望的字符串中是否产生成功或失败。为了减少所需的计算工作,该系统可以不进行拼写校正字的复杂的分析。此外,该系统可以使用纯区域校正的字。
数据库可以在会话之间持续存在,使得对键盘的全景在一个会话期间提出的修改可能会继续在一个或多个随后的会话中产生效果。会话可对应于一个或多个语言模型软件例程被调用的持续时间。例如,会话可对应一个或多个电子邮件消息、在字处理程序中一个或多个文档的编辑、计算机或计算机操作系统的启动和关闭之间的时间等等的组成。此外,数据库可以在每个用户的基础上持续存在,使得多个用户的每个可部分基于上面提到的用户识别模块加载对应于各个用户喜好或倾向的定制的键盘全景。
在输入偏差模型中的事件可以被存储在数据库中,其可以基于不同的键布局(例如,纵向或横向),语言(例如,英语或德语),用户喜好(例如,右手,左手或双手通用的),速度(例如,行走速度,跑步速度,或静止的,其可由GPS单元或其他装置,诸如加速度计所确定,它可能会影响用户输入的准确度),或其他因素来跟踪不同键盘全景。系统还可以基于一天中的时间(例如,在白天(工作)小时更倾向于正式的拼写和字选择,在晚间更倾向于不那么正式的拼写和字选择)或个人(例如,个人用户可以对某些字选择或正式程度指示偏好)来跟踪不同的键盘全景。数据库可以被配置为保留某些用户事件,并删除其他用户事件。例如,数据库可以保留若干最近的事件,而丢弃旧的事件(例如,只保留最新的1000个事件)。作为另一实例,该数据库可被配置成丢弃最近的事件和最旧的时间,并同时保留仍然存在的事件。此外,该数据库可被配置成将不同的加权分配给特定类型的事件。例如,最近的事件可以被分配一个相比于较旧的事件的更高的加权。
自动化的测试可能会被运行以对用户输入马虎文本(即,偏离中心的坐标)建模。来自测试的结果可以用来验证语言模型的改变不导致增加的错误率。图17表示中性映射的例子,其在没有应用语言模型反馈运行英语语言测试之后可能产生。如图17所示,系统保留着每个键的保护区域,其被描述为围绕每个字母的白色矩形。此外,每个键包括一些周围区域,这在本实施例中通常包括一些虚拟键盘区域,其在每一保护区域的下方和右侧。自动化测试可以计数在确切输入中的正确字符的数目和计算误差和偏差的量。例如,自动的测试可确定静态模型减少了约6%的绝对误差率(从95%至89%)。在某些情况下,传统的模型在完美敲击可能达到95%的最大误差率降低,因为使用的键盘可能不包含在测试数据中使用的所有字符,从而键盘不能是通过敲击的确切的一部分。然而,凭借输入偏差和语言模型,该系统可以实现接近100%的错误率减少。
结论
除非上下文清楚地要求,否则在整个说明书和权利要求书中,“包含”,“包括”等等可被解释为包含的意义,而不是排他或穷举的意义,也就是说,“包括,但不限于”的意思。此外,在本申请中使用的“在此”,“以上”,“以下”和类似含义的词语,是指本申请作为整体而不是本申请的任何特定部分。如果上下文允许,在上面详细说明中使用的单数或复数的词可分别包括复数或单数。在两个或多个项目的列表中,“或者”涵盖词的所有以下解释:列表中的任何项目,列表中的所有项目,列表中项目的任意组合。
上面的发明的例子的具体实施例并非意在穷举或限制发明为上述公开的精确形式。相关领域的技术人员将认识到尽管发明的具体的例子旨在说明目的被描述,各种在发明的范围内的等同修改是可能的。例如,尽管流程或块以给定的顺序呈现,替代实施例可以以不同的顺序执行具有步骤的例程或采用具有不同顺序的块的系统,并且一些流程或块可以被删除、移动、增加、分割、组合,和/或修改以提供替代或子组合。这些流程或块的每一个可以被以多种不同的方式实现。此外,尽管流程或块有时以串行方式执行或实施,这些流程或块可能以并行方式执行或者可以在不同的时间被执行。
在此提供的发明的教导可以应用到其他系统,未必是上述的系统。上述各种例子的元素和行为可以被结合以提供发明的进一步的实施例。
这些和其它的变化可根据上述具体实施例为发明作出。虽然上述描述介绍了发明的某些例子并描述了设想的最佳模式,但不管在文本中如何详细显示,发明可以以多种方式实现。基于系统的细节在其具体实施例中可能有很大的不同,同时仍被在此公开的发明所包含。如上文所述,当描述发明的某些特征或方面时,被使用的特定术语不应被视为暗示术语正在被在此重新定义以被限制于术语相关联的发明的任何特定的特性、特征或方面。一般情况下,在以下的权利要求书中所使用的术语不应该被解释为将发明限制为本说明书中公开的具体例子,除非上述具体实施例部分明确定义这样的术语。因此,发明的实际范围不仅包括所公开的例子,而且包括实现或实施根据权利要求的该发明的所有等同方式。
虽然发明的某些方面以某些权利要求的形式被呈现如下,申请人以任意数量的权利要求的形式设想发明的多个方面。例如,虽然发明的仅一个方面被列举在35U.S.C.的112章的第六段下的装置-加功能性权利要求中,其他方面可能同样地被体现在装置-加-功能性权利要求,或在其他形式,例如,被体现在计算机可读介质中。(任何意图被根据35USC§112来处理的权利要求将以单词“用于的装置”开始,而术语“用于”在其他任何情况下的使用不旨在调用根据35U.S.C.§112,的处理。)因此,申请人有权在提交申请后保留添加额外的权利要求的权利以为发明的其他方面追求这样的额外权利要求的形式。
Claims (47)
1.一种用于调整虚拟键盘的操作的方法,包括:
检测在所述虚拟键盘上的用户的第一输入和第二输入,
其中,所述第一和第二输入的每一个包括一组对应于所述虚拟键盘上的用户的触摸的坐标,以及
其中,所述虚拟键盘上的每个键由为该键描画的在所述键盘上的区域的轮廓的坐标所定义;
在语言模型中,基于至少所述第一和第二输入确定预测的下一个键;以及
为所述预测的下一个键,在所述虚拟键盘上重新定义所述被定义的区域,
其中所述重新定义改变关联所述用户的第三输入至所述预测的下一个键的概率,以及
其中改变所述概率包括改变对应于所述预测的下一个键的所述虚拟键盘上的所述被定义的区域。
2.根据权利要求1所述的方法,进一步包括增加在所述虚拟键盘上的所述预测的下一个键相对于在所述虚拟键盘显示上的一个或多个相邻的键的显示尺寸,以及
其中改变所述概率包括增加在所述虚拟键盘上对应于所述预测的下一个键的所述被定义的区域。
3.根据权利要求1所述的方法,进一步包括:
检测在所述虚拟键盘上的所述用户的第三输入,其中所述第三输入包括一组对应于所述虚拟键盘上的用户的触摸的坐标;
通过识别对应于由在所述虚拟键盘上的所述用户的所述触摸所指示的所述坐标的键,确定被选择的键;
如果所述被选择的键匹配所述预测的下一个键:
获得第一加权因子;以及
在所述语言模型中,为所述被检测到的第一和第二输入增加所述预测的下一个键的加权;以及
如果所述被选择的键不匹配所述预测的下一个键:
获得第二加权因子;以及
在所述语言模型中,为所述被检测到的第一和第二输入减小所述预测的下一个键的加权。
4.根据权利要求1所述的方法,其中所述虚拟键盘上的每个键进一步由概率分布的中心坐标定义,并且其中为所述预测的下一个键重新定义在所述虚拟键盘上的所述被定义的区域包括相对于所述虚拟键盘移动所述中心坐标到新的位置。
5.根据权利要求1所述的方法,其中检测所述第一输入或者所述第二输入包括基于输入偏差模型确定预期的输入键的概率。
6.根据权利要求1所述的方法,其中检测所述第一输入或所述第二输入包括为所述虚拟键盘上的每个键使用静态概率模型,其中每个键由坐标来表示,所述坐标描画在所述虚拟键盘上的从该键的中心坐标径向向外延伸的区域的轮廓。
7.根据权利要求1所述的方法,进一步包括:
检测所述虚拟键盘的键盘类型,其中所述键盘类型对应于所述虚拟键盘的所述键的语言、字母键盘、数字键盘、所述虚拟键盘的纵向方向,或所述虚拟键盘的横向方向;以及
基于所述检测到的键盘类型选择所述语言模型。
8.至少一个有形的存储指令的计算机可读介质,当这些指令由至少一个处理器执行时,调整虚拟键盘的操作,包括:
检测在所述虚拟键盘上的用户的第一输入和第二输入,
其中,所述第一和第二输入的每一个包括一组由所述虚拟键盘上的用户的触摸所指示的坐标,以及
其中,所述虚拟键盘上的每个键由为该键定义所述键盘上的区域的坐标所定义;
在语言模型中,基于至少所述第一和第二输入确定预测的下一个键;以及
为所述预测的下一个键修改在所述虚拟键盘上的所述被定义的区域,
其中所述修改调整关联所述用户的第三输入至所述预测的下一个键的概率,以及
其中调整所述概率包括调整对应于所述预测的下一个键的所述虚拟键盘上的所述被定义的区域。
9.根据权利要求8所述的至少一个有形的存储指令的计算机可读介质,进一步包括增加在所述虚拟键盘显示上的所述预测的下一个键相对于在所述虚拟键盘上的一个或多个相邻的键的显示尺寸,以及
其中,调整所述概率包括增加在所述虚拟键盘上对应于所述预测的下一个键的所述被定义的区域。
10.根据权利要求8所述的至少一个有形的存储指令的计算机可读介质,进一步包括:
检测在所述虚拟键盘上的所述用户的第三输入,其中所述第三输入包括一组由所述虚拟键盘上的用户的触摸所指示的坐标;
通过识别对应于由所述虚拟键盘上的所述用户的所述触摸所指示的所述坐标的键,确定被选择的键;
如果所述被选择的键匹配所述预测的下一个键:
获得第一加权因子;以及
在所述语言模型中,为所述被检测到的第一和第二输入增加所述预测的下一个键的加权;以及
如果所述被选择的键不匹配所述预测的下一个键:
获得第二加权因子;以及
在所述语言模型中,为所述被检测到的第一和第二输入减小所述预测的下一个键的加权。
11.根据权利要求8所述的至少一个有形的存储指令的计算机可读介质,其中所述虚拟键盘上的每个键进一步由概率分布的中心坐标定义,并且其中为所述预测的下一个键修改在所述虚拟键盘上的所述被定义的区域包括相对于所述虚拟键盘移动所述中心坐标到新的位置。
12.根据权利要求8所述的至少一个有形的存储指令的计算机可读介质,其中检测所述第一输入或者所述第二输入包括基于输入偏差模型确定预期的输入键的概率。
13.根据权利要求8所述的至少一个有形的存储指令的计算机可读介质,其中检测所述第一输入或所述第二输入包括为所述虚拟键盘上的每个键使用静态概率模型,其中每个键由坐标来表示,所述坐标定义在所述虚拟键盘上的从该键的中心坐标径向向外延伸的区域。
14.根据权利要求8所述的至少一个有形的存储指令的计算机可读介质,进一步包括:
检测所述虚拟键盘的键盘类型,其中所述键盘类型对应于所述虚拟键盘的所述键的语言、字母键盘、数字键盘、所述虚拟键盘的纵向方向,或所述虚拟键盘的横向方向;以及
基于所述检测到的键盘类型选择所述语言模型。
15.一种用于调整虚拟键盘的操作的系统,所述系统包括:
至少一个处理器;
至少一个数据存储装置,其存储由所述处理器执行的指令;
耦合到所述处理器的键盘;
用于检测在虚拟键盘上的用户的第一输入和第二输入的第一组指令,
其中,所述第一和第二输入的每一个包括一组由所述虚拟键盘上的用户的敲击所指示的坐标,以及
其中,所述虚拟键盘上的每个键由为该键形成在所述键盘上的区域的坐标所定义;
在语言模型中,基于至少所述第一和第二输入确定预测的下一个键的装置;以及
为所述预测的下一个键,在所述虚拟键盘上更新所述被定义的区域的装置,
其中所述更新改变关联所述用户的第三输入至所述预测的下一个键的概率,以及
其中改变所述概率包括改变对应于所述预测的下一个键的所述虚拟键盘上的所述被定义的区域。
16.根据权利要求15所述的系统,进一步包括扩大在所述虚拟键盘上的所述预测的下一个键相对于在所述虚拟键盘显示上的一个或多个相邻的键的显示尺寸,以及
其中改变所述概率包括扩大在所述虚拟键盘上对应于所述预测的下一个键的所述被定义的区域。
17.根据权利要求15所述的系统,进一步包括:
检测在所述虚拟键盘上的所述用户的第三输入,其中所述第三输入包括一组由所述虚拟键盘上的用户的敲击所指示的坐标;
通过识别对应于由所述虚拟键盘上的所述用户的所述敲击所指示的所述坐标的键,确定被选择的键;
如果所述被选择的键匹配所述预测的下一个键:
获得第一加权因子;以及
在所述语言模型中,为所述被检测到的第一和第二输入增加所述预测的下一个键的加权;以及
如果所述被选择的键不匹配所述预测的下一个键:
获得第二加权因子;以及
在所述语言模型中,为所述被检测到的第一和第二输入减小所述预测的下一个键的加权。
18.根据权利要求15所述的系统,其中所述虚拟键盘上的每个键进一步由概率分布的中心坐标定义,并且其中为所述预测的下一个键修改在所述虚拟键盘上的所述被定义的区域包括相对于所述虚拟键盘重新定位所述中心坐标到新的位置。
19.根据权利要求15所述的系统,其中检测所述第一输入或所述第二输入包括为所述虚拟键盘上的每个键使用静态概率模型,其中每个键由坐标来表示,所述坐标定义在所述虚拟键盘上的从所述键的中心坐标径向向外延伸的区域。
20.根据权利要求15所述的系统,进一步包括:
检测所述虚拟键盘的键盘种类,其中所述键盘种类对应于所述虚拟键盘的所述键的语言、字母键盘、数字键盘、所述虚拟键盘的纵向方向,或所述虚拟键盘的横向方向;以及
基于所述检测到的键盘种类选择所述语言模型。
21.一种用于减少与键盘的键输入相关联的错误率的方法,该方法包括:
检测至少一个键盘事件,
其中,所述检测到的键盘事件包括一组由用户在所述键盘上的触摸所指示的坐标,以及
其中,所述键盘上的每个键由为该键定义所述键盘上的区域的坐标所表示;
基于所述检测到的键盘事件确定预期的输入键,其中确定所述预期的输入键包括:
确定邻近于由所述键盘上的所述触摸所指示的所述一组坐标的多个候选键;
计算所述多个候选键的每一个是否是所述预期的输入键的概率;以及,
基于所述被确定的、预期的键,为所述键盘上的键更新所述被定义的区域。
22.根据权利要求21所述的方法,进一步包括:
确定被选择的输入键;
比较所述被选择的输入键和所述预期的输入键;以及
如果所述被选择的输入键不匹配所述预期的输入键:
识别被检测到的键盘事件的类型;
获得所述被识别的键盘事件类型的加权因子;
根据所述被获得的加权因子,增加所述被选择的输入键在所述一组坐标的加权;或者
根据所述被获得的加权因子,减少所述被选择的输入键在所述一组坐标的加权。
23.根据权利要求21所述的方法,其中所述键盘是由在移动设备上触摸屏所提供的QWERTY触摸屏键盘,并且其中所述键盘事件的类型包括删除事件、手动字选择事件或自动字选择事件。
24.根据权利要求21所述的方法,其中,基于键盘类型、语言、特定用户和特定设备中的至少两个,确定所述预期的键和更新在所述键盘上的所述被定义的区域是不同的。
25.根据权利要求21所述的方法,其中所述键盘是虚拟键盘,其中所述虚拟键盘上的每个键进一步由该键的预期的选择的概率分布的中心坐标所定义,其中所述中心坐标对应于所述概率分布的最高概率,并且其中更新所述被定义的区域包括相对于所述虚拟键盘移动所述中心坐标到新的位置。
26.根据权利要求21所述的方法,其中确定所述预期的键包括:
比较多个、先前输入字符和语言模型,其中所述语言模型包括字的至少一个字典;以及,
基于所述语言模型,确定多个下一个最有可能的字符的概率。
27.根据权利要求21所述的方法,其中确定所述预期的键包括:
为所述键盘的每个键使用静态概率模型,其中为每个键定义所述键盘上的所述区域的坐标的至少一部分不能够通过所述方法来改变。
28.至少一个存储指令的有形的计算机可读介质,其当这些指令由至少一个处理器执行时,调整虚拟键盘的操作,包括:
检测在所述虚拟键盘上的用户的第一输入和第二输入,
其中,所述第一和第二输入的每一个包括由所述虚拟键盘上的用户的触摸所指示的一组坐标,以及
其中,所述虚拟键盘上的每个键由为该键定义所述键盘上的区域的坐标所定义;
在语言模型中,基于至少所述第一和第二输入确定预测的下一个键;以及
为所述预测的下一个键修改在所述虚拟键盘上的所述被定义的区域,
其中所述修改调整关联所述用户的第三输入至所述预测的下一个键的概率,以及
其中调整所述概率包括调整对应于所述预测的下一个键的所述虚拟键盘上的所述被定义的区域。
29.根据权利要求28所述的至少一个有形的计算机可读介质,进一步包括增加在所述虚拟键盘显示上的所述预测的下一个键相对于在所述虚拟键盘上的一个或多个相邻的键的显示尺寸,以及
其中,调整所述概率包括增加在所述虚拟键盘上对应于所述预测的下一个键的所述被定义的区域。
30.根据权利要求28所述的至少一个有形的计算机可读介质,进一步包括:
检测在所述虚拟键盘上的所述用户的第三输入,其中所述第三输入包括一组由所述虚拟键盘上的用户的触摸所指示的坐标;
通过识别对应于由所述虚拟键盘上的所述用户的所述触摸所指示的所述坐标的键,确定被选择的键;
如果所述被选择的键匹配所述预测的下一个键:
获得第一加权因子;以及
在所述语言模型中,为被检测到的第一和第二输入增加所述预测的下一个键的加权;以及
如果所述被选择的键不匹配所述预测的下一个键:
获得第二加权因子;以及
在所述语言模型中,为被检测到的第一和第二输入减小所述预测的下一个键的加权。
31.根据权利要求28所述的至少一个有形的计算机可读介质,其中所述虚拟键盘上的每个键进一步由概率分布的中心坐标定义,并且其中为所述预测的下一个键重新定义在所述虚拟键盘上的所述被定义的区域包括相对于所述虚拟键盘移动所述中心坐标到新的位置。
32.根据权利要求28所述的至少一个有形的计算机可读介质,其中检测所述第一输入或者所述第二输入包括基于输入偏差模型确定预期的输入键的概率。
33.根据权利要求28所述的至少一个有形的计算机可读介质,其中检测所述第一输入或所述第二输入包括为所述虚拟键盘上的每个键使用静态概率模型,其中每个键由坐标来表示,所述坐标定义在所述虚拟键盘上的从该键的中心坐标径向向外延伸的区域。
34.根据权利要求28所述的至少一个有形的计算机可读介质,进一步包括:
检测所述虚拟键盘的键盘类型,其中所述键盘类型对应于所述虚拟键盘的所述键的语言、字母键盘、数字键盘、所述虚拟键盘的纵向方向,或所述虚拟键盘的横向方向;以及
基于所述检测到的键盘类型选择所述语言模型。
35.一种用于改进对虚拟或触摸键盘的输入的系统,所述系统包括:
至少一个处理器;
至少一个数据存储装置,其存储由所述处理器执行的指令;
耦合到所述处理器的键盘;
用于检测至少一个键盘事件的第一组指令,
其中,所述检测到的键盘事件包括一组由所述键盘上的用户的触摸所指示的坐标,以及
其中,所述键盘上的每个键由为该键定义所述键盘上的区域的坐标所定义;
基于所述检测到的键盘事件确定输入键的装置,其中确定所述输入键包括:
确定多个候选键;
计算所述输入键的概率;以及,
基于所述被确定的输入键,更新所述键盘上的所述被定义的区域的装置。
36.根据权利要求35所述的系统,进一步包括:
基于键盘全景,确定被选择的输入键的装置;
比较所述被选择的输入键和预期的输入键的装置;以及
如果所述被选择的输入键不匹配所述预期的输入键:
识别被检测到的键盘事件的类型的装置;
获得所述被识别的键盘事件类型的加权因子的装置;
根据所述被获得的加权因子,增加所述被选择的输入键在所述一组坐标的加权的装置;或者
根据所述被获得的加权因子,减少所述被选择的输入键在所述一组坐标的加权的装置。
37.根据权利要求35所述的系统,其中所述系统是便携式数据处理设备,其中所述键盘是由显示QWERTY键盘的触摸屏所提供的,并且其中所述键盘事件的类型包括删除事件、手动字选择事件或自动字选择事件。
38.根据权利要求35所述的系统,其中,基于键盘类型、语言、用户和设备中的至少两个,确定所述输入键和更新在所述键盘上的所述被定义的区域是不同的。
39.根据权利要求35所述的系统,其中所述虚拟键盘上的每个键进一步由概率分布的中心坐标定义,以及其中更新所述被定义的区域包括相对于所述键盘移动所述中心坐标到新的位置。
40.根据权利要求35所述的系统,其中确定所述输入键包括:
比较多个、先前输入字符和语言模型,其中所述语言模型包括字的至少一个字典;以及,
基于所述语言模型,确定下一个最有可能的字符的概率。
41.一种存储指令的有形的计算机可读介质,其当这些指令由至少一个处理器执行时,减少与键盘的键输入相关联的错误率,包括:
检测至少一个键盘事件,
其中,所述检测到的键盘事件包括一组映射到由用户敲击的键盘位置的坐标,以及
其中,所述键盘上的每个键对应于为该键描画所述键盘上的区域的轮廓的一组坐标;
基于所述检测到的键盘事件确定预期的输入键,其中确定所述预期的输入键包括:
确定在邻近于映射到所述被敲击的键盘位置的所述一组坐标的多个候选键;
为所述多个候选键的每一个是否是所述预期的输入键计算可能性;以及,
基于所述被确定的、预期的输入键,为所述键盘上的键更新所述被描画轮廓的区域。
42.根据权利要求41所述的有形的计算机可读介质,进一步包括:
确定被选择的键;
比较所述被选择的键和所述预期的键;以及
如果所述被选择的键不匹配所述预期的键:
识别对应于所述被检测到的键盘事件的种类;
获得所述被识别的键盘事件种类的加权因子;
根据所述被获得的加权因子,增加所述被选择的键在所述一组坐标的加权;或者
根据所述被获得的加权因子,减少所述被选择的键在所述一组坐标的加权。
43.根据权利要求41所述的有形的计算机可读介质,其中所述键盘是由在移动设备上触摸屏所提供的QWERTY触摸屏键盘,并且其中所述键盘事件的种类包括删除事件、手动字选择事件或自动字选择事件。
44.根据权利要求41所述的有形的计算机可读介质,其中,基于键盘类型、语言、特定用户和特定设备中的至少两个,确定所述预期的键和更新在所述键盘上的所述被定义的区域是不同的。
45.根据权利要求41所述的有形的计算机可读介质,其中所述键盘是虚拟键盘,其中所述虚拟键盘上的每个键进一步由用于该键的预期的选择的概率分布的中心坐标描画轮廓,其中所述中心坐标对应于所述概率分布的最高概率,并且其中更新所述被描画轮廓的区域包括相对于所述虚拟键盘重新定位所述中心坐标到新的位置。
46.根据权利要求41所述的有形的计算机可读介质,其中确定所述预期的键包括:
比较多个、先前输入字符和语言模型,其中所述语言模型包括至少一个字的字典;以及,
基于所述语言模型,确定多个下一个最有可能的字符的概率。
47.根据权利要求41所述的有形的计算机可读介质,其中确定所述预期的键包括:
为所述键盘的每个键使用静态概率模型,其中为每个键描画所述键盘上的所述区域的轮廓的坐标的至少一部分不能够通过所述方法来改变。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361752431P | 2013-01-14 | 2013-01-14 | |
US61/752,431 | 2013-01-14 | ||
US13/830,674 US20140198047A1 (en) | 2013-01-14 | 2013-03-14 | Reducing error rates for touch based keyboards |
US13/830,674 | 2013-03-14 | ||
US13/873,078 US20140198048A1 (en) | 2013-01-14 | 2013-04-29 | Reducing error rates for touch based keyboards |
US13/873,078 | 2013-04-29 | ||
PCT/US2014/011538 WO2014110595A1 (en) | 2013-01-14 | 2014-01-14 | Reducing error rates for touch based keyboards |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105229574A true CN105229574A (zh) | 2016-01-06 |
Family
ID=51164765
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480014784.1A Pending CN105229574A (zh) | 2013-01-14 | 2014-01-14 | 减少基于触摸的键盘的错误率 |
Country Status (4)
Country | Link |
---|---|
US (2) | US20140198047A1 (zh) |
EP (1) | EP2943861A4 (zh) |
CN (1) | CN105229574A (zh) |
WO (1) | WO2014110595A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106020506A (zh) * | 2016-05-30 | 2016-10-12 | 北京小米移动软件有限公司 | 信息输入的方法及装置 |
CN109154865A (zh) * | 2016-05-25 | 2019-01-04 | 微软技术许可有限责任公司 | 移动设备上的顺序双手触摸键入 |
CN110221708A (zh) * | 2019-03-29 | 2019-09-10 | 北京理工大学 | 一种用于虚拟现实的自适应键值显示输入系统 |
CN110297549A (zh) * | 2019-05-15 | 2019-10-01 | 北京百度网讯科技有限公司 | 输入处理方法、装置、设备和存储介质 |
CN110413111A (zh) * | 2019-07-09 | 2019-11-05 | 南京大学 | 一种目标键盘追踪系统及方法 |
CN110825240A (zh) * | 2019-11-01 | 2020-02-21 | 西南石油大学 | 一种按键键面尺寸可变的键盘 |
Families Citing this family (131)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8677377B2 (en) | 2005-09-08 | 2014-03-18 | Apple Inc. | Method and apparatus for building an intelligent automated assistant |
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
US8977255B2 (en) | 2007-04-03 | 2015-03-10 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
US10002189B2 (en) | 2007-12-20 | 2018-06-19 | Apple Inc. | Method and apparatus for searching using an active ontology |
US9330720B2 (en) | 2008-01-03 | 2016-05-03 | Apple Inc. | Methods and apparatus for altering audio output signals |
US8589149B2 (en) | 2008-08-05 | 2013-11-19 | Nuance Communications, Inc. | Probability-based approach to recognition of user-entered data |
US8676904B2 (en) | 2008-10-02 | 2014-03-18 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
US10706373B2 (en) | 2011-06-03 | 2020-07-07 | Apple Inc. | Performing actions associated with task items that represent tasks to perform |
US10276170B2 (en) | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
US8682667B2 (en) | 2010-02-25 | 2014-03-25 | Apple Inc. | User profiling for selecting user specific voice input processing information |
US9262612B2 (en) | 2011-03-21 | 2016-02-16 | Apple Inc. | Device access using voice authentication |
US10057736B2 (en) | 2011-06-03 | 2018-08-21 | Apple Inc. | Active transport based notifications |
US10134385B2 (en) | 2012-03-02 | 2018-11-20 | Apple Inc. | Systems and methods for name pronunciation |
US10417037B2 (en) | 2012-05-15 | 2019-09-17 | Apple Inc. | Systems and methods for integrating third party services with a digital assistant |
EP2954514B1 (en) | 2013-02-07 | 2021-03-31 | Apple Inc. | Voice trigger for a digital assistant |
US10652394B2 (en) | 2013-03-14 | 2020-05-12 | Apple Inc. | System and method for processing voicemail |
US10748529B1 (en) | 2013-03-15 | 2020-08-18 | Apple Inc. | Voice activated device for use with a voice-based digital assistant |
WO2014197335A1 (en) | 2013-06-08 | 2014-12-11 | Apple Inc. | Interpreting and acting upon commands that involve sharing information with remote devices |
US10176167B2 (en) | 2013-06-09 | 2019-01-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
DE112014002747T5 (de) | 2013-06-09 | 2016-03-03 | Apple Inc. | Vorrichtung, Verfahren und grafische Benutzerschnittstelle zum Ermöglichen einer Konversationspersistenz über zwei oder mehr Instanzen eines digitalen Assistenten |
US10296160B2 (en) | 2013-12-06 | 2019-05-21 | Apple Inc. | Method for extracting salient dialog usage from live data |
JP6548358B2 (ja) * | 2014-04-04 | 2019-07-24 | タッチタイプ リミテッド | マルチ入力ターゲットに関連付けられた1つ又はそれ以上の入力を入力するためのシステム及び方法 |
US9430463B2 (en) | 2014-05-30 | 2016-08-30 | Apple Inc. | Exemplar-based natural language processing |
US10303295B2 (en) * | 2014-05-30 | 2019-05-28 | Apple Inc. | Modifying an on-screen keyboard based on asymmetric touch drift |
US9633004B2 (en) | 2014-05-30 | 2017-04-25 | Apple Inc. | Better resolution when referencing to concepts |
US9715875B2 (en) | 2014-05-30 | 2017-07-25 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
AU2015266863B2 (en) | 2014-05-30 | 2018-03-15 | Apple Inc. | Multi-command single utterance input method |
US10170123B2 (en) | 2014-05-30 | 2019-01-01 | Apple Inc. | Intelligent assistant for home automation |
US9338493B2 (en) | 2014-06-30 | 2016-05-10 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US9377871B2 (en) | 2014-08-01 | 2016-06-28 | Nuance Communications, Inc. | System and methods for determining keyboard input in the presence of multiple contact points |
US9818400B2 (en) | 2014-09-11 | 2017-11-14 | Apple Inc. | Method and apparatus for discovering trending terms in speech requests |
US10127911B2 (en) | 2014-09-30 | 2018-11-13 | Apple Inc. | Speaker identification and unsupervised speaker adaptation techniques |
US9668121B2 (en) | 2014-09-30 | 2017-05-30 | Apple Inc. | Social reminders |
US10074360B2 (en) | 2014-09-30 | 2018-09-11 | Apple Inc. | Providing an indication of the suitability of speech recognition |
SE538460C2 (en) * | 2014-10-22 | 2016-07-12 | Gordian Ab | Adaptive virtual keyboard |
US10152299B2 (en) | 2015-03-06 | 2018-12-11 | Apple Inc. | Reducing response latency of intelligent automated assistants |
US9886953B2 (en) | 2015-03-08 | 2018-02-06 | Apple Inc. | Virtual assistant activation |
US9721566B2 (en) | 2015-03-08 | 2017-08-01 | Apple Inc. | Competing devices responding to voice triggers |
US10460227B2 (en) | 2015-05-15 | 2019-10-29 | Apple Inc. | Virtual assistant in a communication session |
US10083688B2 (en) | 2015-05-27 | 2018-09-25 | Apple Inc. | Device voice control for selecting a displayed affordance |
US10200824B2 (en) | 2015-05-27 | 2019-02-05 | Apple Inc. | Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device |
US9578173B2 (en) | 2015-06-05 | 2017-02-21 | Apple Inc. | Virtual assistant aided communication with 3rd party service in a communication session |
US10101822B2 (en) * | 2015-06-05 | 2018-10-16 | Apple Inc. | Language input correction |
US10048842B2 (en) | 2015-06-15 | 2018-08-14 | Google Llc | Selection biasing |
KR101653167B1 (ko) * | 2015-06-22 | 2016-09-09 | 주식회사 노타 | 키 입력을 인터페이스하는 장치 및 방법 |
US20160378747A1 (en) | 2015-06-29 | 2016-12-29 | Apple Inc. | Virtual assistant for media playback |
US10740384B2 (en) | 2015-09-08 | 2020-08-11 | Apple Inc. | Intelligent automated assistant for media search and playback |
US10671428B2 (en) | 2015-09-08 | 2020-06-02 | Apple Inc. | Distributed personal assistant |
US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital assistant |
US10331312B2 (en) | 2015-09-08 | 2019-06-25 | Apple Inc. | Intelligent automated assistant in a media environment |
CN106610730A (zh) * | 2015-10-23 | 2017-05-03 | 深圳富泰宏精密工业有限公司 | 电子设备及字元校正方法 |
US10691473B2 (en) | 2015-11-06 | 2020-06-23 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US10956666B2 (en) | 2015-11-09 | 2021-03-23 | Apple Inc. | Unconventional virtual assistant interactions |
US10049668B2 (en) | 2015-12-02 | 2018-08-14 | Apple Inc. | Applying neural network language models to weighted finite state transducers for automatic speech recognition |
US10223066B2 (en) | 2015-12-23 | 2019-03-05 | Apple Inc. | Proactive assistance based on dialog communication between devices |
WO2017131251A1 (ko) * | 2016-01-27 | 2017-08-03 | 주식회사 노타 | 디스플레이 디바이스 및 그의 터치 입력 프로세싱 방법 |
US11227589B2 (en) | 2016-06-06 | 2022-01-18 | Apple Inc. | Intelligent list reading |
US10049663B2 (en) | 2016-06-08 | 2018-08-14 | Apple, Inc. | Intelligent automated assistant for media exploration |
US10586535B2 (en) | 2016-06-10 | 2020-03-10 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
DK179415B1 (en) | 2016-06-11 | 2018-06-14 | Apple Inc | Intelligent device arbitration and control |
DK201670540A1 (en) | 2016-06-11 | 2018-01-08 | Apple Inc | Application integration with a digital assistant |
US10474753B2 (en) | 2016-09-07 | 2019-11-12 | Apple Inc. | Language identification using recurrent neural networks |
US10043516B2 (en) | 2016-09-23 | 2018-08-07 | Apple Inc. | Intelligent automated assistant |
US20180107380A1 (en) * | 2016-10-14 | 2018-04-19 | Samsung Electronics Co., Ltd. | System and method for key area correction |
US10872203B2 (en) | 2016-11-18 | 2020-12-22 | Microsoft Technology Licensing, Llc | Data input system using trained keypress encoder |
US10444987B2 (en) * | 2016-12-19 | 2019-10-15 | Microsoft Technology Licensing, Llc | Facilitating selection of holographic keyboard keys |
US11204787B2 (en) | 2017-01-09 | 2021-12-21 | Apple Inc. | Application integration with a digital assistant |
DK201770383A1 (en) | 2017-05-09 | 2018-12-14 | Apple Inc. | USER INTERFACE FOR CORRECTING RECOGNITION ERRORS |
US10417266B2 (en) | 2017-05-09 | 2019-09-17 | Apple Inc. | Context-aware ranking of intelligent response suggestions |
DK180048B1 (en) | 2017-05-11 | 2020-02-04 | Apple Inc. | MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION |
US10726832B2 (en) | 2017-05-11 | 2020-07-28 | Apple Inc. | Maintaining privacy of personal information |
US10395654B2 (en) | 2017-05-11 | 2019-08-27 | Apple Inc. | Text normalization based on a data-driven learning network |
US11301477B2 (en) | 2017-05-12 | 2022-04-12 | Apple Inc. | Feedback analysis of a digital assistant |
DK179496B1 (en) | 2017-05-12 | 2019-01-15 | Apple Inc. | USER-SPECIFIC Acoustic Models |
DK201770427A1 (en) | 2017-05-12 | 2018-12-20 | Apple Inc. | LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT |
DK179745B1 (en) | 2017-05-12 | 2019-05-01 | Apple Inc. | SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT |
US20180336892A1 (en) | 2017-05-16 | 2018-11-22 | Apple Inc. | Detecting a trigger of a digital assistant |
US20180336275A1 (en) | 2017-05-16 | 2018-11-22 | Apple Inc. | Intelligent automated assistant for media exploration |
US10311144B2 (en) | 2017-05-16 | 2019-06-04 | Apple Inc. | Emoji word sense disambiguation |
US10403278B2 (en) | 2017-05-16 | 2019-09-03 | Apple Inc. | Methods and systems for phonetic matching in digital assistant services |
DK179549B1 (en) | 2017-05-16 | 2019-02-12 | Apple Inc. | FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES |
DE102017005755A1 (de) | 2017-06-19 | 2018-02-22 | Daimler Ag | Verfahren und Vorrichtung zur Bestätigung von automatisierten Auswahlvorschlägen |
CN107831916A (zh) * | 2017-10-31 | 2018-03-23 | 努比亚技术有限公司 | 一种输入字符的方法和装置 |
US10733982B2 (en) | 2018-01-08 | 2020-08-04 | Apple Inc. | Multi-directional dialog |
US10733375B2 (en) | 2018-01-31 | 2020-08-04 | Apple Inc. | Knowledge-based framework for improving natural language understanding |
CN108536501A (zh) * | 2018-02-08 | 2018-09-14 | 北京百度网讯科技有限公司 | 一种输入界面响应布局生成方法、装置和服务器 |
US10789959B2 (en) | 2018-03-02 | 2020-09-29 | Apple Inc. | Training speaker recognition models for digital assistants |
US10592604B2 (en) | 2018-03-12 | 2020-03-17 | Apple Inc. | Inverse text normalization for automatic speech recognition |
US10818288B2 (en) | 2018-03-26 | 2020-10-27 | Apple Inc. | Natural assistant interaction |
US10909331B2 (en) | 2018-03-30 | 2021-02-02 | Apple Inc. | Implicit identification of translation payload with neural machine translation |
US10928918B2 (en) | 2018-05-07 | 2021-02-23 | Apple Inc. | Raise to speak |
US11145294B2 (en) | 2018-05-07 | 2021-10-12 | Apple Inc. | Intelligent automated assistant for delivering content from user experiences |
US10984780B2 (en) | 2018-05-21 | 2021-04-20 | Apple Inc. | Global semantic word embeddings using bi-directional recurrent neural networks |
US10892996B2 (en) | 2018-06-01 | 2021-01-12 | Apple Inc. | Variable latency device coordination |
US11386266B2 (en) | 2018-06-01 | 2022-07-12 | Apple Inc. | Text correction |
DK201870355A1 (en) | 2018-06-01 | 2019-12-16 | Apple Inc. | VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS |
DK179822B1 (da) | 2018-06-01 | 2019-07-12 | Apple Inc. | Voice interaction at a primary device to access call functionality of a companion device |
DK180639B1 (en) | 2018-06-01 | 2021-11-04 | Apple Inc | DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT |
US11076039B2 (en) | 2018-06-03 | 2021-07-27 | Apple Inc. | Accelerated task performance |
US11010561B2 (en) | 2018-09-27 | 2021-05-18 | Apple Inc. | Sentiment prediction from textual data |
US11462215B2 (en) | 2018-09-28 | 2022-10-04 | Apple Inc. | Multi-modal inputs for voice commands |
US11170166B2 (en) | 2018-09-28 | 2021-11-09 | Apple Inc. | Neural typographical error modeling via generative adversarial networks |
US10839159B2 (en) | 2018-09-28 | 2020-11-17 | Apple Inc. | Named entity normalization in a spoken dialog system |
US11475898B2 (en) | 2018-10-26 | 2022-10-18 | Apple Inc. | Low-latency multi-speaker speech recognition |
US11638059B2 (en) | 2019-01-04 | 2023-04-25 | Apple Inc. | Content playback on multiple devices |
US11348573B2 (en) | 2019-03-18 | 2022-05-31 | Apple Inc. | Multimodality in digital assistant systems |
DK201970509A1 (en) | 2019-05-06 | 2021-01-15 | Apple Inc | Spoken notifications |
US11307752B2 (en) | 2019-05-06 | 2022-04-19 | Apple Inc. | User configurable task triggers |
US11475884B2 (en) | 2019-05-06 | 2022-10-18 | Apple Inc. | Reducing digital assistant latency when a language is incorrectly determined |
US11423908B2 (en) | 2019-05-06 | 2022-08-23 | Apple Inc. | Interpreting spoken requests |
US11140099B2 (en) | 2019-05-21 | 2021-10-05 | Apple Inc. | Providing message response suggestions |
DK201970510A1 (en) | 2019-05-31 | 2021-02-11 | Apple Inc | Voice identification in digital assistant systems |
US11496600B2 (en) | 2019-05-31 | 2022-11-08 | Apple Inc. | Remote execution of machine-learned models |
DK180129B1 (en) | 2019-05-31 | 2020-06-02 | Apple Inc. | USER ACTIVITY SHORTCUT SUGGESTIONS |
US11289073B2 (en) | 2019-05-31 | 2022-03-29 | Apple Inc. | Device text to speech |
US11227599B2 (en) | 2019-06-01 | 2022-01-18 | Apple Inc. | Methods and user interfaces for voice-based control of electronic devices |
US11360641B2 (en) | 2019-06-01 | 2022-06-14 | Apple Inc. | Increasing the relevance of new available information |
CN110263337B (zh) * | 2019-06-17 | 2023-06-20 | 北京百度网讯科技有限公司 | 输入行为识别方法、装置、设备和介质 |
WO2021056255A1 (en) | 2019-09-25 | 2021-04-01 | Apple Inc. | Text detection using global geometry estimators |
US11113371B2 (en) * | 2019-10-11 | 2021-09-07 | BehavioSec Inc | Continuous authentication based on motion input data |
US11379662B2 (en) * | 2019-10-29 | 2022-07-05 | Karmen Langlotz | Data entry capitalization error correction system and word processing system with second language facility |
US11061543B1 (en) | 2020-05-11 | 2021-07-13 | Apple Inc. | Providing relevant data items based on context |
US11038934B1 (en) | 2020-05-11 | 2021-06-15 | Apple Inc. | Digital assistant hardware abstraction |
US11755276B2 (en) | 2020-05-12 | 2023-09-12 | Apple Inc. | Reducing description length based on confidence |
GB202009874D0 (en) * | 2020-06-29 | 2020-08-12 | Microsoft Technology Licensing Llc | Visual interface for a computer system |
GB202009876D0 (en) * | 2020-06-29 | 2020-08-12 | Microsoft Technology Licensing Llc | Visual interface for a computer system |
US11490204B2 (en) | 2020-07-20 | 2022-11-01 | Apple Inc. | Multi-device audio adjustment coordination |
US11438683B2 (en) | 2020-07-21 | 2022-09-06 | Apple Inc. | User identification using headphones |
US11715464B2 (en) | 2020-09-14 | 2023-08-01 | Apple Inc. | Using augmentation to create natural language models |
US11347323B2 (en) * | 2021-06-10 | 2022-05-31 | Baidu International Technology (Shenzhen) Co., Ltd. | Method for determining target key in virtual keyboard |
US20230065549A1 (en) * | 2021-08-26 | 2023-03-02 | Telia Company Ab | Dynamically adaptable virtual keyboard |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101641661A (zh) * | 2007-01-05 | 2010-02-03 | 苹果公司 | 用于提供文本输入的字建议的方法和系统 |
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 |
US20100321299A1 (en) * | 2009-06-22 | 2010-12-23 | Research In Motion Limited | System and method for key layout aware spell check |
US20110078613A1 (en) * | 2009-09-30 | 2011-03-31 | At&T Intellectual Property I, L.P. | Dynamic Generation of Soft Keyboards for Mobile Devices |
US20110119623A1 (en) * | 2009-11-18 | 2011-05-19 | Kim Bum Bae | Mobile terminal and controlling method thereof |
CN102184024A (zh) * | 2010-04-22 | 2011-09-14 | 微软公司 | 虚拟键盘的可视强调预测键 |
US20120047454A1 (en) * | 2010-08-18 | 2012-02-23 | Erik Anthony Harte | Dynamic Soft Input |
US20120203544A1 (en) * | 2011-02-04 | 2012-08-09 | Nuance Communications, Inc. | Correcting typing mistakes based on probabilities of intended contact for non-contacted keys |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI235942B (en) * | 2001-10-29 | 2005-07-11 | Oqo Inc | Keyboard with variable-sized key |
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 |
US20040183833A1 (en) * | 2003-03-19 | 2004-09-23 | Chua Yong Tong | Keyboard error reduction method and apparatus |
US7903092B2 (en) * | 2006-05-25 | 2011-03-08 | Atmel Corporation | Capacitive keyboard with position dependent reduced keying ambiguity |
US8201087B2 (en) * | 2007-02-01 | 2012-06-12 | Tegic Communications, Inc. | Spell-check for a keyboard system with automatic correction |
US8589149B2 (en) * | 2008-08-05 | 2013-11-19 | Nuance Communications, Inc. | Probability-based approach to recognition of user-entered data |
US8704775B2 (en) * | 2008-11-11 | 2014-04-22 | Adobe Systems Incorporated | Biometric adjustments for touchscreens |
US8300023B2 (en) * | 2009-04-10 | 2012-10-30 | Qualcomm Incorporated | Virtual keypad generator with learning capabilities |
-
2013
- 2013-03-14 US US13/830,674 patent/US20140198047A1/en not_active Abandoned
- 2013-04-29 US US13/873,078 patent/US20140198048A1/en not_active Abandoned
-
2014
- 2014-01-14 EP EP14737853.3A patent/EP2943861A4/en not_active Withdrawn
- 2014-01-14 CN CN201480014784.1A patent/CN105229574A/zh active Pending
- 2014-01-14 WO PCT/US2014/011538 patent/WO2014110595A1/en active Application Filing
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101641661A (zh) * | 2007-01-05 | 2010-02-03 | 苹果公司 | 用于提供文本输入的字建议的方法和系统 |
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 |
US20100321299A1 (en) * | 2009-06-22 | 2010-12-23 | Research In Motion Limited | System and method for key layout aware spell check |
US20110078613A1 (en) * | 2009-09-30 | 2011-03-31 | At&T Intellectual Property I, L.P. | Dynamic Generation of Soft Keyboards for Mobile Devices |
US20110119623A1 (en) * | 2009-11-18 | 2011-05-19 | Kim Bum Bae | Mobile terminal and controlling method thereof |
CN102184024A (zh) * | 2010-04-22 | 2011-09-14 | 微软公司 | 虚拟键盘的可视强调预测键 |
US20120047454A1 (en) * | 2010-08-18 | 2012-02-23 | Erik Anthony Harte | Dynamic Soft Input |
US20120203544A1 (en) * | 2011-02-04 | 2012-08-09 | Nuance Communications, Inc. | Correcting typing mistakes based on probabilities of intended contact for non-contacted keys |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109154865A (zh) * | 2016-05-25 | 2019-01-04 | 微软技术许可有限责任公司 | 移动设备上的顺序双手触摸键入 |
CN106020506A (zh) * | 2016-05-30 | 2016-10-12 | 北京小米移动软件有限公司 | 信息输入的方法及装置 |
CN110221708A (zh) * | 2019-03-29 | 2019-09-10 | 北京理工大学 | 一种用于虚拟现实的自适应键值显示输入系统 |
CN110297549A (zh) * | 2019-05-15 | 2019-10-01 | 北京百度网讯科技有限公司 | 输入处理方法、装置、设备和存储介质 |
CN110413111A (zh) * | 2019-07-09 | 2019-11-05 | 南京大学 | 一种目标键盘追踪系统及方法 |
CN110413111B (zh) * | 2019-07-09 | 2021-06-01 | 南京大学 | 一种目标键盘追踪系统及方法 |
CN110825240A (zh) * | 2019-11-01 | 2020-02-21 | 西南石油大学 | 一种按键键面尺寸可变的键盘 |
Also Published As
Publication number | Publication date |
---|---|
US20140198047A1 (en) | 2014-07-17 |
EP2943861A4 (en) | 2016-10-05 |
US20140198048A1 (en) | 2014-07-17 |
EP2943861A1 (en) | 2015-11-18 |
WO2014110595A1 (en) | 2014-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105229574A (zh) | 减少基于触摸的键盘的错误率 | |
US10489508B2 (en) | Incremental multi-word recognition | |
US10156981B2 (en) | User-centric soft keyboard predictive technologies | |
CN108139861B (zh) | 基于操作历史来预测触摸对象的计算机可读介质、电子装置、系统和控制方法 | |
CN103038728B (zh) | 例如在移动电话上使用触摸屏的多模式文本输入系统 | |
US9189155B2 (en) | Systems and methods for using entered text to access and process contextual information | |
US8760428B2 (en) | Multi-directional calibration of touch screens | |
US20140108004A1 (en) | Text/character input system, such as for use with touch screens on mobile phones | |
CN111052064B (zh) | 自动提供基于手势的自动完成建议的方法及其电子设备 | |
US9454240B2 (en) | Gesture keyboard input of non-dictionary character strings | |
KR20140136066A (ko) | 스마트 사용자 커스터마이징된 가상 키보드 | |
US8994681B2 (en) | Decoding imprecise gestures for gesture-keyboards | |
KR101919841B1 (ko) | 터치 오기 교정 방법 및 시스템 | |
US20160357411A1 (en) | Modifying a user-interactive display with one or more rows of keys |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160106 |