CN105074643A - 非词典字符串的手势键盘输入 - Google Patents

非词典字符串的手势键盘输入 Download PDF

Info

Publication number
CN105074643A
CN105074643A CN201380075361.6A CN201380075361A CN105074643A CN 105074643 A CN105074643 A CN 105074643A CN 201380075361 A CN201380075361 A CN 201380075361A CN 105074643 A CN105074643 A CN 105074643A
Authority
CN
China
Prior art keywords
key
gesture
calculation element
character string
model probability
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201380075361.6A
Other languages
English (en)
Other versions
CN105074643B (zh
Inventor
片冈慧
畔柳圭佑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN105074643A publication Critical patent/CN105074643A/zh
Application granted granted Critical
Publication of CN105074643B publication Critical patent/CN105074643B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction 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/0488Interaction 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/04883Interaction 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 for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements 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/0233Character input methods
    • G06F3/0237Character input methods using prediction or retrieval techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction 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/0488Interaction 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/04886Interaction 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/232Orthographic correction, e.g. spell checking or vowelisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/274Converting codes to words; Guess-ahead of partial word inputs

Abstract

描述一种计算装置(10),其输出包括多个键的图形键盘(16B)以显示。所述计算装置接收在存在敏感输入装置(14)处检测到的手势(30)的指示。所述计算装置至少部分地基于所述手势(30)的指示和所述手势的至少一个特性来从所述多个键(34A-34J)确定一个或多个键(34A、34B、34E、34I、34J)。所述计算装置基于来自所述多个键的所述一个或多个键来确定字符串(38C)。响应于确定所述字符串未包括在词库中并且与来自所述多个键的所述一个或多个键相关联的空间模型概率超过概率阈值,所述计算装置输出所述字符串(38C)以显示。

Description

非词典字符串的手势键盘输入
背景技术
一些计算装置(例如移动电话、平板计算机等)可提供图形键盘作为图形用户界面的一部分,以用于使用存在敏感输入装置(例如,诸如触摸屏的存在敏感显示器)来编写文本。图形键盘可使得计算装置的用户能够输入文本(例如电子邮件、文本消息或者文档等)。例如,计算装置的存在敏感输入装置可输出图形(或者“软”)键盘,其使得用户能够通过指示(例如通过轻敲)在存在敏感输入装置处显示的键来输入数据。
在一些情况下,计算装置可呈现连续手势图形键盘(有时称作“组合(combo)手势键盘”或者“手势键盘”),用户可利用该手势键盘通过输入连续手势(例如,通过在与键盘的期望的键相关联的存在敏感输入装置的各种区域上滑动他或她的手指)来交互,所述连续手势指示将要输入到计算装置的词。这样,连续手势图形键盘允许用户利用单个手势来输入词或者一组词。因此,连续手势图形键盘可允许用户实现一定程度的输入效率。
在一些示例中,提供手势键盘的计算装置可依赖于词预测、自动校正和/或建议技术来基于一个或多个接收的手势输入确定词。这些技术可加速文本输入并且使词汇表中词(例如,词典中的词)的拼写错误最小化。然而,这些技术中的一个或多个可具有某些缺点。例如,在一些示例中,提供手势键盘并且依赖于这些技术中的一个或多个的计算装置可能无法从在存在敏感输入装置处输入的手势输入正确地确定词汇表外词(例如,词典中不包括的词)。因此,用户可能需要使用手势输入执行另外的努力以输入非词典词(例如,姓名、俚语、缩写、缩略语等)。
发明内容
在一个示例中,本公开涉及一种方法,该方法包括由计算装置输出包括多个键的图形键盘以显示。该方法还包括由所述计算装置接收在存在敏感输入装置处检测到的手势的指示。该方法还包括由所述计算装置至少部分地基于所述手势的指示和所述手势的至少一个特性来从所述多个键确定一个或多个键。该方法还包括由所述计算装置基于来自所述多个键的所述一个或多个键来确定字符串。响应于确定所述字符串未包括在词库中并且与来自所述多个键的所述一个或多个键相关联的空间模型概率超过概率阈值,该方法还包括由所述计算装置输出所述字符串以显示。
在另一示例中,本公开涉及一种计算装置,该计算装置包括至少一个处理器以及至少一个模块,所述至少一个模块能够由所述至少一个处理器操作以由所述计算装置输出包括多个键的图形键盘以显示。所述至少一个模块还能够由所述至少一个处理器操作以接收在存在敏感输入装置处检测到的手势的指示。所述至少一个模块还能够由所述至少一个处理器操作以至少部分地基于所述手势的指示和所述手势的至少一个特性从所述多个键确定一个或多个键。所述至少一个模块还能够由所述至少一个处理器操作以基于来自所述多个键的所述一个或多个键来确定字符串。响应于确定所述字符串未包括在词库中并且与来自所述多个键的所述一个或多个键相关联的空间模型概率超过概率阈值,所述至少一个模块还能够由所述至少一个处理器操作以输出所述字符串以显示。
在另一示例中,本公开涉及一种编码有指令的计算机可读存储介质,所述指令在被执行时使得计算装置的至少一个处理器输出包括多个键的图形键盘以显示。所述指令在被执行时还使得计算装置的至少一个处理器接收在存在敏感输入装置处检测到的手势的指示。所述指令在被执行时还使得计算装置的至少一个处理器至少部分地基于所述手势的指示和所述手势的至少一个特性从所述多个键确定一个或多个键。所述指令在被执行时还使得计算装置的至少一个处理器基于来自所述多个键的所述一个或多个键来确定字符串。响应于确定所述字符串未包括在词库中并且与来自所述多个键的所述一个或多个键相关联的空间模型概率超过概率阈值,所述指令在被执行时还使得计算装置的至少一个处理器输出所述字符串以显示。
一个或多个示例的细节在附图和以下描述中阐述。本公开的其它特征、目的和优点将根据所述描述和附图以及权利要求书而显而易见。
附图说明
图1是示出依据本公开的一个或多个方面的被配置为利用手势键盘确定词汇表外词的示例计算装置的概念图。
图2是示出依据本公开的一个或多个方面的示例计算装置的框图。
图3是示出依据本公开的一个或多个技术的输出图形内容以在远程装置处显示的示例计算装置的框图。
图4A-4C是示出依据本公开的一个或多个方面的用于呈现词汇表外词的示例图形用户界面的概念图。
图5是示出依据本公开的一个或多个方面的计算装置的示例操作的流程图。
具体实施方式
通常,本公开涉及用于通过基于检测到的选择图形键盘的一个或多个键的手势来确定一个或多个词汇表外(OOV)(例如,非词典)词来选择图形键盘的一个或多个键的技术。在一些示例中,例如在存在敏感输入装置处输出图形键盘的计算装置也可接收在存在敏感输入装置处检测到的手势的指示。在一些示例中,遍历在存在敏感输入装置处呈现的多个键的位置的连续(例如,非轻敲)手势可指示对多个键的选择。在一些示例中,非连续(例如,轻敲)手势可指示对单个键的选择。在某些示例中,用户可通过在存在敏感输入装置处或附近执行一个或多个手势来输入文本串,例如词典中的词或者OOV词。所描述的技术可提高计算装置检测旨在生成并输出OOV词的键的选择的准确性。
例如,不同于仅仅基于手势输入依赖于空间模型和/或词库来确定字符串,所述技术可使得计算装置能够基于手势输入的一个或多个特性来确定字符串。在某些示例中,根据本公开的各种技术,计算装置可被配置为输出字符串以显示在存在敏感输入装置处。在一些示例中,计算装置可在用户界面的建议区域中输出字符串作为建议的词或短语。从建议区域,用户可选择字符串以包括在应用的编辑区域中,例如消息应用、web浏览器等的文本输入域。
以这样的方式从手势输入确定的字符串可表示图形键盘的键的更准确的选择。因此,所述技术可使得计算装置能够以例如就像用户在图形键盘的每个键处提供单独的键轻敲的类似准确性水平确定OOV字符串。另外,所述技术可使得计算装置能够在提高和/或维持单个连续手势输入和基于手势的图形键盘提供给用户的速度和容易的同时确定OOV字符串。因此,本公开中所描述的技术可提高用户可在图形键盘处键入OOV词的速度。所述技术可限制或防止计算装置从手势输入错误地自动校正或预测字符串。以这样的方式,所述技术可减少和/消除用户在输入OOV词时校正自动校正或预测的词的需要。因此,计算装置可接收用户用于手动校正这些错误的较少输入。接收较少输入的计算装置可执行较少操作并且因此消耗较少电力。
图1是示出依据本公开的一个或多个方面的被配置为利用手势键盘确定词汇表外词的示例计算装置的概念图。在图1的示例中,计算装置10可以是移动电话。然而,在其它示例中,计算装置10可以是平板计算机、个人数字助理(PDA)、膝上型计算机、便携式游戏装置、便携式媒体播放器、电子书阅读器、手表、电视平台或者另一类型的计算装置。
如图1所示,计算装置10包括用户接口装置(UID)12。计算装置10的UID12可用作计算装置10的输入装置以及用作输出装置。UID12可使用各种技术来实现。例如,UID12可使用存在敏感输入装置来用作输入装置,例如电阻式触摸屏、表面声波触摸屏、电容式触摸屏、投射式电容触摸屏、压敏屏幕、声脉冲识别触摸屏或者另一存在敏感输入装置技术。UID12可使用能够将可见信息输出给计算装置10的用户的液晶显示器(LCD)、点矩阵显示器、发光二极管(LED)显示器、有机发光二极管(OLED)显示器、电子墨水或者类似单色或彩色显示器中的任一个或多个来用作输出装置。
计算装置10的UID12可包括可从计算装置10的用户接收触觉用户输入的存在敏感屏幕(例如,存在敏感显示器)。UID12可通过检测来自计算装置10的用户(例如,利用手指或者触控笔触摸或者指示UID12的一个或多个位置的用户)的一个或多个轻敲和/或非轻敲手势来接收触觉用户输入的指示。UID12的存在敏感屏幕可向用户呈现输出。UID12可将输出呈现为可与计算装置10所提供的功能有关的用户界面(例如,用户界面14)。例如,UID12可呈现在计算装置10处执行的应用(例如,电子消息应用、互联网浏览器应用等)的各种用户界面。计算装置10的用户可通过各个应用的相应用户界面来与这些应用中的一个或多个交互,以利用计算装置10来执行功能。
计算装置10可包括用户界面(“UI”)模块20、键盘模块22和手势模块24。模块20、22和24可执行利用驻留于计算装置10中并且在计算装置10上执行的软件、硬件、固件或者硬件、软件和固件的混合描述的操作。计算装置10可利用多个处理器来执行模块20、22和24。计算装置10可将模块20、22和24作为在基础硬件上执行的虚拟机来执行。
计算装置10的手势模块24可从UID12接收在UID12处检测到的用户输入的一个或多个指示。通常,每次UID12接收到在UID12的位置处检测到的用户输入的指示时,手势模块24可从UID12接收关于用户输入的信息。手势模块24可将从UID12接收的信息组合成触摸事件的时序序列。序列中的每个触摸事件可包括表示参数(例如,何时、何地、发起方向)的数据或分量,所述参数表征UID12处的输入的存在和/或移动。序列中的每个触摸事件可包括与UID12的位置对应的位置分量、与UID12何时检测到该位置处的用户输入有关的时间分量以及与触摸事件对应于该位置处的上提还是下推有关的动作分量。
手势模块24可基于触摸事件序列来确定用户输入的一个或多个特性,并且包括关于触摸事件序列中的每个触摸事件内的这些一个或多个特性的信息。例如,手势模块24可确定用户输入的起始位置、用户输入的结束位置、用户输入的一部分的密度、用户输入的一部分的速度、用户输入的一部分的方向、以及用户输入的一部分的曲率。触摸事件序列中的一个或多个触摸事件可包括(除了如上所述的时间、位置和动作分量以外)特性分量,其包括关于用户输入的一个或多个特性(例如,密度、速度等)的信息。手势模块24可发送包括与每个触摸事件相关联的分量或参数化数据的触摸事件序列作为对UI模块20的输出。
UI模块20可使得UID12呈现用户界面14。用户界面14包括显示在UID12的各种位置处的图形元素。图1图示出用户界面14的编辑区域16A、用户界面14的图形键盘16B以及建议词区域16C。编辑区域16A可包括诸如图像、对象、超链接、文本字符等的图形元素。图形键盘16B包括显示为键的图形元素。建议词区域16C包括建议词38A–38C(统称为“建议词”38),其表示替换包括在编辑区域16A中的字符串的可选择拼写校正或词建议。在图1的示例中,编辑区域16A包括显示为文本字符的图形元素(例如,词)。计算装置10的用户可通过在显示图形键盘16B的键的UID12的位置处提供用户输入来在编辑区域16A中输入文本。响应于诸如此的用户输入,计算装置10可在建议词区域16C中输出一个或多个建议词38。
UI模块20可充当计算装置10的各种组件之间的中介以基于UID12所检测的输入进行确定并且生成由UID12呈现的输出。例如,作为来自键盘模块22的输入,UI模块20可接收包括在图形键盘16B中的键的键盘布局的表示。作为来自手势模块24的输入,UI模块20可接收从关于UID12所检测的用户输入的信息生成的触摸事件序列。UI模块20可基于触摸事件序列中的位置分量确定一个或多个位置分量近似于一个或多个键的选择(例如,UI模块20可确定一个或多个触摸事件的位置对应于呈现图形键盘16B的UID12的区域)。作为对键盘模块22的输出,UI模块20可发送从手势模块24接收的触摸事件序列连同UID12呈现每个键的位置。作为响应,UI模块20可作为来自的键盘模块22的输入接收字符串和一个或多个建议词。UI模块20可更新用户界面14以将字符串包括在编辑区域16A内,将与字符串相关联的一个或多个建议词包括在建议词区域16C中。UI模块20可使得UID12呈现更新的用户界面14。
作为对UI模块20的输出(以用于作为用户界面14的图形键盘16B而包括),计算装置10的键盘模块22可发送包括与一个或多个书写语言(例如,英语、西班牙语等)有关的多个键的键盘布局。键盘模块22可将一个或多个字符或操作指派给键盘布局中的多个键中的每个键。例如,键盘模块22可生成QWERTY键盘布局,其包括表示键入英语时所使用的字符的键。QWERTY键盘布局还可包括表示键入英语时所使用的操作的键(例如,退格键、删除键、空格键、回车键等)。
键盘模块22可从UI模块20接收表示手势模块24所生成的触摸事件序列的数据。键盘模块22还可从UI模块20接收表示UID12呈现图形键盘16B的每个键的UID12的位置的数据。键盘模块22可基于键的位置确定触摸事件序列表示对一个或多个键的选择。键盘模块22可在选择中基于字符串中的每个字符对应于至少一个键的选择来生成字符串。键盘模块22可将指示字符串的数据发送给UI模块20以用于包括在用户界面14的编辑区域16A中。
为了确定触摸事件序列表示对一个或多个键的选择,键盘模块22可包括空间模型。通常,空间模型可生成基于与用户输入相关联的位置数据选择了图形键盘的特定键的一个或多个概率。在一些示例中,空间模型包括用于特定键的双变量高斯模型。键的双变量高斯模型可包括与呈现给定键的UID12的位置对应的坐标(例如,(x,y)坐标对)的分布。更具体地,在一些示例中,键的双变量高斯模型可包括与当用户期望选择给定键时用户最频繁选择的UID12的位置对应的坐标的分布。用户输入的位置数据与空间模型的高密度区域之间的距离越短,与空间模型相关联的键被选择的概率越高。用户输入的位置数据与空间模型的高密度区域之间的距离越大,与空间模型相关联的键被选择的概率越低。键盘模块22的空间模型可将触摸事件序列中的一个或多个触摸事件的位置分量(例如,坐标)与图形键盘16B的一个或多个键的相应位置进行比较,并且基于这些比较生成发生对键的选择的概率。
例如,键盘模块22的空间模型可将触摸事件序列中的每个触摸事件的位置分量与图形键盘16B的特定键的键位置进行比较。序列中的每个触摸事件的位置分量可包括UID12的一个位置,图形键盘16B中的键的键位置(例如,键的质心)可包括UID12的不同位置。键盘模块22的空间模型可确定两个位置之间的欧几里得距离,并且基于欧几里得距离生成键被选择的概率。相比于与一个或多个触摸事件共享较大欧几里得距离的键,键盘模块22的空间模型可使较高概率相关于与一个或多个触摸事件共享较小欧几里得距离的键。基于与每个键相关联的空间模型概率,键盘模块22可将具有最高空间模型概率的各个键选择组合成键的时间排序的序列,键盘模块22然后可确定其表示字符串。
键盘模块22可从键的序列确定字符和键盘操作的序列,以确定由触摸事件序列表示的字符串。例如,键盘的每个键可表示字符或键盘操作。键盘模块22可基于键的序列确定由一个或多个键选择表示的特定字符。诸如数字或者小写字母的字符可能需要单个字符键选择(例如,<字母键>、<数字键>等),诸如大写字母的字符可能需要两个键选择(例如,<shift键>+<字母键>等)。
在将字符串输出给UI模块20以包括在用户界面14的编辑区域16A内之前,键盘模块22可访问计算装置10的词库以自动校正(例如,拼写检查)从键序列生成的字符串。下面更详细地描述词库。总之,计算装置10的词库可包括书写语言词汇表内的词列表。键盘模块22可在词库中执行查找字符串,以标识包括字符串的部分或所有字符的一个或多个候选词。每个候选词可包括指示用户输入实际上表示对键的选择以在编辑区域16A中输入候选词的可能性的候选词概率。换言之,一个或多个候选词可基于与词库内的词的比较来表示字符串中的字符的替选拼写或排列。
例如,键盘模块22可确定键的选择对应于字母序列s-a-t-o-k,因此,键盘模块22可从该字母序列确定字符串satok。键盘模块22可将字符串satok与词库中的一个或多个词进行比较。在一些示例中,本公开的技术可使用Jaccard相似系数,其指示用户所输入的字符串与词库中的词之间的相似程度。通常,Jaccard相似系数(也称作Jaccard指数)表示两个样本集(例如,字符串和词典中的词)之间的相似性度量。基于该比较,键盘模块22可针对词库中的一个或多个词生成Jaccard相似系数。键盘模块22可确定具有最大Jaccard相似系数的词库的一个或多个候选词(例如,satin、sarin、sayok等)。每个候选词可表示字符串中的一些或所有字符的另选替选排列。
键盘模块22可确定具有最高Jaccard相似系数的候选词表示键盘模块22输出给UI模块20以包括在编辑区域16A中的自动校正的字符串。在一些示例中,具有最高Jaccard相似系数的候选词匹配由键盘模块22从键序列生成的字符串(例如,词库可返回satin作为最高排名候选词,因为satin中的字符的排列对应于词库中的词)。
不同于仅仅依赖于词库来响应于用户输入而确定并输出字符串,本公开的技术使用与用户输入相关联的多个特性来确定用户输入是否表示用于输入OOV词的键选择。换言之,在一些情况下,这些技术可确定对键的选择实际上表示词库中未包括的字符串。为了提高计算装置判定是否输出OOV词的准确性,本公开的技术基于用户输入的至少一个特性来确定与一个或多个键相关联的空间模型概率,以确定用户输入是否对应于用于输入OOV词的键选择。
现在进一步参照图1详细地描述所述技术。在图1的示例中,计算装置10输出包括多个键的图形键盘16B以显示。例如,键盘模块22可生成包括图形键盘16B的表示的数据。UI模块20可生成用户界面14并且基于表示图形键盘16B的数据将图形键盘16B包括在用户界面14中。UI模块20可向UID12发送信息,所述信息包括用于在UID12处显示用户界面14的指令。UID12可接收所述信息并且使得UID12呈现包括编辑区域16A、图形键盘16B和建议词区域16C的用户界面14。图形键盘16B可包括多个键。
计算装置10可接收在存在敏感输入装置处检测到的手势的指示。例如,当UID12呈现用户界面14时,用户可在UID12呈现图形键盘16B的UID12的位置处提供手势用户输入30(或者简称为“手势”30)。图1示出包括手势30的路径的部分34A–34J(统称为“部分”34)的手势30的路径,每个部分表示手势30的路径的部分或者子分段。例如,部分34A表示手势30的开始部分,部分34J表示手势30的结尾部分,部分34B–34I每个包括手势30的中部。出于示例目的,在图1中通过虚线圆来划定每个部分34,但是在一些示例中,UI装置12可不输出此类虚线圆,并且在各种不同的示例中,这些部分可更大和/或更小。
手势模块24可从UID12接收指示手势30的信息,并且将所述信息组合成触摸事件的时间排序的序列(例如,每个触摸事件包括位置分量、时间分量和动作分量)。手势模块24可确定手势30的一个或多个特性,并且将关于所述一个或多个特性的信息作为序列中的每个触摸事件的特性分量而包括。例如,手势模块24可基于与每个部分34有关的对应触摸事件来确定一个或多个部分34的速度、方向、密度和/或曲率。对于与部分34有关的触摸事件序列中的一个或多个触摸事件,手势模块24可包括特性分量,其包含关于手势30的相应一个部分34的一个或多个特性的信息。手势模块24可将手势30的触摸事件序列输出给UI模块20和键盘模块22。
计算装置10可至少部分地基于手势30的指示和手势30的至少一个特性来从多个键确定一个或多个键。例如,UI模块20可从手势模块24接收触摸事件序列,并且确定与表示图形键盘16B的UID12的区域对应的序列中的每个触摸事件的位置分量。UI模块20可确定UID12接收到对多个键中的一个或多个的选择的指示。UI模块20可将触摸事件序列连同手势30的相关联特性以及UID12呈现图形键盘16B的每个键的位置一起发送给键盘模块22。键盘模块22可从UI模块20接收触摸事件序列以及与每个触摸事件相关联的信息(例如,位置、时间、动作和特性信息)。
键盘模块22可将触摸事件序列中的每个触摸事件的位置分量与每个键位置进行比较,以确定共享与触摸事件序列中的触摸事件的位置相同的UID12近似位置的一个或多个键。例如,使用空间模型,键盘模块22可确定一个或多个触摸事件的位置分量与每个键的位置之间的欧几里得距离。基于这些欧几里得距离并且对于每个键,键盘模块22可确定一个或多个触摸事件对应于对键的选择的空间模型概率。键盘模块22可将具有非零空间模型概率的每个键(例如,手势30表示对键的选择的可能性大于零百分比的键)包括在键序列中。
键盘模块22可将键序列中的每个键与和空间模型所使用的一个或多个对应触摸事件相关的信息相关联,以确定手势30表示对键的选择的百分比可能性。例如,键盘模块22可将触摸事件序列中的一个或多个触摸事件的位置分量、时间分量、动作分量和特性分量与序列中的对应键相关联。如果多于一个触摸事件对应于键,则键盘模块22可将多个触摸事件的(例如,平均)相似分量组合成单个对应分量,例如,包括关于用于选择键的手势30的一部分的信息的单个特性分量。换言之,键序列中的每个键可从取得键的一个或多个对应触摸事件继承关于手势30的特性的信息。在图1的示例中,键盘模块22可沿着手势30的路径确定与每个键相关联的非零空间模型概率,并且生成包括<S键>、<A键>、<S键>、<R键>、<T键>、<Y键>、<U键>、<I键>、<O键>和<K键>的键的有序序列。序列中的每个键还包括关于手势30的各部分34A–34J的特性的信息。
即使与键序列中的每个键相关联的空间模型概率可包括非零空间模型概率,沿着手势30的路径,键序列中的每个键实际上可能对应或可能不对应于用户预期的键选择。例如,当使用图形键盘16B首先选择<A键>,然后选择<T键>时,用户在从<A键>至<T键>做手势时可能不注意地在<S键>、<E键>、<D键>和<R键>处或附近做手势。尽管用户可能预期仅选择<A键>和<T键>,沿着手势30的路径的这些中间键中的每一个(例如,<S键>、<E键>、<D键>和<R键>)可能具有例如非零空间模型概率。因此,具有非零空间模型概率的每个键实际上可能对应或可能不对应于用户预期的键选择。
键盘模块22可利用与手势30相关联的至少一个特性来精化与键序列中的每个键相关联的空间模型概率以确定精化的键序列。例如,如上所述,键序列中的每个键包括特性分量,其包括关于手势30的一部分的一个或多个特性的信息。例如,序列中的每个键可包括例如关于手势30的各部分的速度、方向、密度和曲率的特性信息。在一些示例中,键盘模块22可将键序列中的每个键的特性信息与一个或多个阈值进行比较,并且基于每个键的特性信息是否满足这些阈值来调节与键序列中的每个键相关联的空间模型概率。换言之,键盘模块22可确定与中间(例如,未选择)键处或附近的简单移动相比,手势的一部分的一个或多个特性更有可能指示图形键盘16B的键的选择。
在图1的示例中,键盘模块22可确定键序列中的第一键是<S键>并且与该第一键相关联的特性信息对应于手势30的部分34A。与键序列中的其它键(例如,<A键>、<S键>、<R键>、<T键>、<Y键>、<U键>、<I键>、<O键>和<K键>)相关联的特性信息分别对应于部分34B至部分34J。
键盘模块22可将每个键的特性信息与特性阈值进行比较,并相应地(即,根据特性信息是否满足特性阈值)增大或减小与键相关联的空间模型概率。例如,键盘模块22可通过将空间模型概率从较低概率值修改为较高概率值来增加与键相关联的空间模型概率(例如,增大空间模型概率的修改可将空间模型概率值从百分之五十更改为值百分之六十)。键盘模块22可通过将空间模型概率从较高概率值修改为较低概率值来减小与键相关联的空间模型概率(例如,减小空间模型概率的修改可将空间模型概率值从百分之五十更改为值百分之四十)。增大和/或减小空间模型概率的其它示例可包括将空间模型概率值修改为其它示例百分比值。
在一些示例中,键的特性信息可包括手势30的一部分的速度。响应于确定手势30的那部分的速度满足速度阈值(例如,如果与速度相关联的值超过与速度阈值相关联的值、小于与速度阈值相关联的值、等),键盘模块22可减小与键相关联的空间模型概率。然而,响应于确定速度不满足速度阈值(例如,如果归因于速度的值小于与速度阈值相关联的值、大于与速度阈值相关联的值等),键盘模块22可增大与键相关联的空间模型概率。例如,键盘模块22可确定在图形键盘16B的键处或附近的手势的缓慢移动部分更有可能指示键选择,而非更有可能指示经中间键的移动的手势的快速移动部分,因此,键盘模块22可增大与手势的缓慢移动部分相关联的键的空间模型概率。
在一些示例中,键的特性信息可包括手势30的一部分的密度。响应于确定密度满足密度阈值,键盘模块22可增大与键相关联的空间模型概率。然而,响应于确定密度不满足密度阈值,键盘模块22可减小与键相关联的空间模型概率。键盘模块22可确定图形键盘16B的键处或附近的手势的稠密部分(例如,具有大量相关联的触摸事件的手势的一部分)更有可能指示键选择,而不是更有可能指示经中间键的移动的手势的较不稠密部分。
在一些示例中,键的特性信息可包括手势30的一部分的曲率。响应于确定曲率满足曲率阈值,键盘模块22可增大与键相关联的空间模型概率。然而,响应于确定曲率不满足曲率阈值,键盘模块22可减小与键相关联的空间模型概率。键盘模块22可确定在图形键盘16B的键处或附近的具有高弯曲度的手势部分(例如,拐点)更有可能指示键选择,而不是更有可能指示经中间键的移动的具有较小弯曲度的手势部分(例如,直线段)。
在一些示例中,键的特性信息可包括手势30的一部分的方向。键盘模块22可将该部分的方向与第二部分的方向(例如,与键序列中的下一键相关联的方向)进行比较。响应于确定该部分的方向近似地对应于下一部分的方向,键盘模块22可减小与键相关联的空间模型概率。例如,一部分的方向可对应于相对于UID12的水平和/或垂直轴的角度测量。键盘模块22可确定下一部分的方向相对于第一部分的方向偏离五度、十度等。在一些示例中,键盘模块22可确定下一部分的方向相对于第一部分的方向偏离五个像素、十个像素等,因为第一部分的方向可对应于直线路径。键盘模块22可使用任何合适的角度或像素值来确定一个部分的方向是否偏离于另一部分的方向。然而,响应于确定该部分的方向没有近似地对应于下一部分的方向,键盘模块22可增大与键相关联的空间模型概率。键盘模块22可确定方向类似于手势的先前部分或后续部分的手势部分更有可能指示经中间键的移动,而非键选择。
在调节与键序列中的每个键相关联的空间模型概率之后,键盘模块22可基于每个键的调节的空间模型概率来修改键序列以确定精化的键序列。例如,键盘模块22可将每个键的调节的空间模型概率与概率阈值(例如,百分之五十)进行比较。键盘模块22可将不包括超过概率阈值的空间模型概率的每个键从键序列移除,并且将包括超过概率阈值的空间模型概率的每个键保留在键序列中。这样,键盘模块22至少部分地基于手势30的指示和至少一个特性确定精化的键序列。在图1的示例中,精化的键序列包括<S键>、<A键>、<T键>、<O键>和<K键>。
计算装置10可基于来自多个键的一个或多个键来确定字符串。例如,键盘模块22可确定表示精化的键序列的字符串。键盘模块22可将由精化的键序列中的每个键表示的每个字符串联以生成字符串。例如,键盘模块22可基于图形键盘16B的<S键>、<A键>、<T键>、<O键>和<K键>的顺序选择来确定精化的键序列表示字符串satok。
响应于确定字符串不包括在词库中并且与来自多个键的一个或多个键相关联的空间模型概率超过概率阈值,计算装置10可输出字符串以显示。例如,键盘模块22可从在图形键盘16B处通过手势30输入的键选择自动校正或预测候选词或短语以包括在编辑区域16A中。键盘模块22可至少部分地基于字符串确定一个或多个候选词或短语。例如,键盘模块22可利用词库来生成与字符串(例如,satok)共享相似的字符序列的一个或多个候选词或短语。键盘模块22可将字符串作为输入传递给词库并且接收包括字符串内的一部分或所有字符的一个或多个候选词。例如,词库可基于每个词或短语与字符串之间的比较将Jaccard相似系数指派给词库中的每个词或短语。键盘模块22可将从词库中具有最大Jaccard相似系数的词或大于(例如,satin、sarin、sayok、satine、satisfy等)选择作为一个或多个候选词或短语,并且向每个词或短语指派排名,其中最高排名的词或短语具有最大Jaccard相似系数,最低排名的词或短语具有最低Jaccard相似系数词或短语。
键盘模块22可将一个或多个候选词或短语以及相关联的排名输出给UI模块20以包括在用户界面14的编辑区域16A中或者作为单独建议词38包括在用户界面14的建议词区域16C中。在从词库确定的一个或多个候选词或短语实际上均不表示用户在提供手势30时预期输入的词或短语的情况下,键盘模块22可将从精化的键序列生成的原字符串包括为一个或多个候选词中的一个。例如,精化的键序列中的每个键包括超过概率阈值的空间模型概率。在用户预期输入OOV词或短语(例如,词或短语未包括在词库中)的情况下,键盘模块22可将该原字符串包括为一个或多个候选词或短语中的一个。
UI模块20可从键盘模块22接收一个或多个候选词或短语(包括原字符串)连同一个或多个候选词或短语的排名。UI模块20可更新用户界面14以将最高排名候选词或短语包括在编辑区域16A中。UI模块20可通过将次最高排名候选词包括作为建议词38A和38B来更新建议词区域16C。在用户预期利用手势30输入OOV词或短语的情况下,UI模块20可将原字符串包括在建议词区域16C中作为建议词38C。UI模块20可使得UID12输出更新的用户界面14以显示,包括使得UID12输出原字符串作为建议词38C。从更新的用户界面14,用户可通过在UID12输出建议词区域16C的UID12的位置处轻敲或提供输入来选择一个建议词38。例如,用户在UID12呈现建议词38C(例如,satok)的UID12的位置上轻敲。在建议词38C上轻敲可使得UI模块20更新用户界面14并且将OOV词satok包括在编辑区域16A中。
这样,本公开的技术可使得计算装置能够基于在图形键盘处输入的手势输入来接收OOV词或短语。本公开的技术可使得计算装置能够不仅仅使用词库和/或空间模型,而是另外基于手势输入的一个或多个特性,来更准确地确定字符串。所述技术还可使得用户能够更快速地在计算装置处输入字符串,因为用户可提供较少输入以校正计算装置或者在键处单独地轻敲以输入OOV词。诸如此的计算装置可处理较少的用户输入,执行较少的操作,作为结果,消耗较少电力。
图2是示出依据本公开的一个或多个方面的示例计算装置的框图。下面在图1的上下文内描述图2的计算装置10。图2仅示出计算装置10的一个特定示例,计算装置10的许多其它示例可在其它情况下使用并且可包括示例计算装置10中所包括的组件的子集或者可包括图2未示出的附加组件。
如图2的示例中所示,计算装置10包括用户接口装置12(“UID12”)、一个或多个处理器40、一个或多个输入装置42、一个或多个通信单元44、一个或多个输出装置46以及一个或多个存储装置48。计算装置10的存储装置48还包括UI模块20、键盘模块22、手势模块24、词库数据存储60和阈值数据存储62。键盘模块22包括空间模型模块26(“SM模块26”)、语言模型模块28(“LM模块28”)。通信信道50可将每个组件12、13、20、22、24、26、28、40、42、44、46、60和62互连以用于组件间通信(物理地、通信地和/或操作地)。在一些示例中,通信信道50可包括系统总线、网络连接、进程间通信数据结构、或者用于通信数据的任何其它方法。
计算装置10的一个或多个输入装置42可接收输入。输入的示例是触觉、音频和视频输入。在一个示例中,计算装置10的输入装置42包括存在敏感输入装置(例如,触敏屏幕、存在敏感显示器)、鼠标、键盘、语音响应系统、视频相机、麦克风或者用于检测来自人或机器的输入的任何其它类型的装置。
计算装置10的一个或多个输出装置46可生成输出。输出的示例是触觉、音频和视频输出。在一个示例中,计算装置10的输出装置46包括存在敏感显示器、声卡、视频图形适配器卡、扬声器、阴极射线管(CRT)监视器、液晶显示器(LCD)或者用于生成对人或机器的输出的任何其它类型的装置。
计算装置10的一个或多个通信单元44可经由一个或多个网络通过在所述一个或多个网络上发送和/或接收网络信号来与外部装置通信。例如,计算装置10可使用通信单元44在诸如蜂窝无线电网络的无线电网络上发送和/或接收无线电信号。同样,通信单元44可在诸如GPS网络的卫星网络上发送和/或接收卫星信号。通信单元44的示例包括网络接口卡(例如,以太网卡)、光学收发器、射频收发器、GPS接收机或者可发送和/或接收信息的任何其它类型的装置。通信单元44的其它示例可包括在移动装置中找到的GPS、3G、4G和无线电以及通用串行总线(USB)控制器。
在一些示例中,计算装置10的UID12可包括输入装置42和/或输出装置46的功能。在图2的示例中,UID12可以是或者可以包括存在敏感输入装置。在一些示例中,存在敏感输入装置可检测存在敏感输入装置处和/或附近的对象。作为一个示例范围,存在敏感输入装置可检测在存在敏感输入装置的2英寸或更短距离内的对象,例如手指或触控笔。存在敏感输入装置可确定检测到对象的存在敏感输入装置的位置(例如,(x,y)坐标)。在另一示例范围中,存在敏感输入装置可检测距存在敏感输入装置6英寸或更短的距离的对象,其它范围也是可能的。存在敏感输入装置可使用电容、电感和/或光学识别技术来确定通过用户的手指选择的输入装置的位置。在一些示例中,如参照输出装置46所述的,存在敏感输入装置使用触觉、音频或视频刺激来向用户提供输出。在图2的示例中,UID12在UID12处呈现用户界面(例如,图1的用户界面14)。
尽管被示出为计算装置10的内部组件,UID12也表示与计算装置10共享数据路径以用于发送和/或接收输入和输出的外部组件。例如,在一个示例中,UID12表示位于计算装置10的外部封装内并且与其物理地连接的计算装置10的内置组件(例如,移动电话上的屏幕)。在另一示例中,UID12表示位于计算装置10的封装外并且与其物理地分离的计算装置10的外部组件(例如,与平板计算机共享有线和/或无线数据路径的监视器、投影仪等)。
计算装置10内的一个或多个存储装置48可存储在计算装置10的操作期间用于处理的信息(例如,计算装置10的词库数据存储60可存储与一个或多个书写语言有关的数据,例如在计算装置10处执行期间由LM模块28访问的词和常用词配对)。在一些示例中,存储装置48是临时存储器,意指存储装置48的主要目的不是长期存储。计算装置10上的存储装置48可被配置成易失性存储器以用于信息的短期存储,因此如果断电则不保留存储的内容。易失性存储器的示例包括随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)以及本领域已知的其它形式的易失性存储器。
在一些示例中,存储装置48还包括一个或多个计算机可读存储介质。存储装置48可被配置为存储比易失性存储器更大量的信息。存储装置48还可被配置成非易失性存储空间以用于信息的长期存储,并且在断电/关闭循环之后保留信息。非易失性存储器的示例包括磁硬盘、光盘、软盘、闪存或者电可编程存储器(EPROM)或电可擦除可编程(EEPROM)存储器的形式。存储装置48可存储与UI模块20、键盘模块22、手势模块24、SM模块26、LM模块28、词库数据存储60和阈值数据存储62相关联的程序指令和/或数据。
一个或多个处理器40可实现计算装置10内的功能和/或执行指令。例如,计算装置10上的处理器40可接收并执行由存储装置48存储的指令,其执行UI模块20、键盘模块22、手势模块24、SM模块26和LM模块28的功能。由处理器40执行的这些指令可使得计算装置10在程序执行期间在存储装置48内存储信息。处理器40可执行模块20-28的指令以使得UID12在UID12处显示具有编辑区域16A、图形键盘16B和建议词区域16C的用户界面14。即,模块20-28可由处理器40操作以执行各种动作,包括接收在UID12的位置处的手势的指示以及使得UID12在UID12处呈现用户界面14。
依据本公开的方面,图2的计算装置10可在UID12处输出包括多个键的图形键盘以显示。例如,在计算装置10的操作使用期间,计算装置10的UI模块20可向键盘模块22查询键盘布局(例如,英语QWERT键盘等)。UI模块20可经通信信道50向键盘模块22发送对键盘布局的请求。键盘模块22可接收该请求并且以与键盘布局相关联的数据回复UI模块20。UI模块20可经通信信道50接收键盘布局数据并且使用该数据来生成用户界面14。UI模块20可生成用户界面14,其包括编辑区域16A以及来自键盘模块22的键盘布局的多个键作为图形键盘16B。UI模块20可经通信信道50发送显示命令和数据以使得UID12在UID12处呈现用户界面14。UI模块20可向UID12发送信息,其包括用于在UID12处显示用户界面14的指令。UID12可从UI模块20接收显示命令和数据并且使得UID12呈现用户界面14。
计算装置10可接收在UID12处检测到的手势30的指示。接收在UID12处检测到的手势30的指示可包括接收在UID12处检测到的一个或多个轻敲手势的指示。替选地,接收在UID12处检测到的手势30的指示可包括接收在UID12处检测到的一个或多个非轻敲手势的指示。换言之,用户可提供轻敲和/或非轻敲手势作为对计算装置10的输入,计算装置10可接收任一类型的输入作为手势的指示。
例如,计算装置10的用户可通过在呈现图形键盘16B的键的UID12的位置处轻敲和/或轻扫,来在UID12处提供手势30。UID12可接收在UID12处检测到的手势30并且经通信信道50将关于手势30的信息发送给手势模块24。UID12可虚拟地将坐标的网格覆盖到UID12上。该网格可不被UID12可见地显示。该网格可将包括水平分量(X)和垂直分量(Y)的坐标指派给每个位置。每次UID12检测到诸如手势30的手势输入时,手势模块24可从UID12接收信息。所述信息可包括一个或多个坐标位置以及相关联的时间,这二者向手势模块24指示UID12在UID12的何处检测到手势输入以及UID12何时检测到手势输入。
计算装置10可至少部分地基于手势30的一部分来定义触摸事件序列。触摸事件序列中的每个触摸事件可包括指示接收到该部分手势的时间以及接收该部分手势的UID12处的位置坐标。换言之,手势模块24可将从UID12接收的信息排序成触摸事件的时间排序的序列。触摸事件序列可表示用户在UID12处执行的手势30的路径的部分34。序列中的每个触摸事件可包括作为手势30的路径的部分34的坐标位置的位置分量、作为与手势30的路径的部分34相关联的时间的时间分量、以及与手势30的路径的部分34相关联的动作分量。动作分量可指示触摸事件对应于UID12处的下推还是UID12处的上提。
手势模块24可确定手势30的一个或多个特性,并且将关于所述一个或多个特性的信息作为每个触摸事件的特性分量包括在序列中。例如,手势模块24可基于与每个部分34有关的对应触摸事件来确定一个或多个部分34的速度、方向、密度和/或曲率。
手势模块24可通过确定序列中的两个或更多个触摸事件的位置分量之间的距离与序列中的两个或更多个触摸事件之间的时间差之比来确定一个或多个部分34的速度。例如,为了确定手势30的部分34A的速度,手势模块24可将与部分34A对应的两个触摸事件隔离。手势模块24可确定两个触摸事件的位置分量之间的距离。手势模块24可确定两个触摸事件的时间分量之间的时间差。手势模块24可作为与两个触摸事件相关联的距离与时间差之比来确定部分34A的速度。
手势模块24可确定一个或多个部分34的方向。换言之,手势模块24可基于序列中的两个或更多个触摸事件的位置分量的改变来确定所述一个或多个部分34是否表示跨越UID12的移动方向。例如,手势模块24可将与部分34A对应的两个触摸事件隔离。手势模块24可确定这两个触摸事件的位置分量的(x,y)坐标值之差,并且基于该差,向部分34A指派方向(例如,左、右、上、下等)。在一个示例中,负的x坐标差可对应于部分34A的右至左方向。正的x坐标差可表示部分34A的左至右方向。类似地,负的y坐标差可对应于部分34A的下至上方向。负的y坐标差可表示部分34A的上至下方向。
手势模块24可确定一个或多个部分34的密度。换言之,手势模块24可基于触摸事件序列确定在持续时间内与触摸事件序列相关联的密度。该密度可表示每个具有在UID12的区域内并置的位置分量的触摸事件的量。为了确定与手势30的部分34B相关联的触摸事件的密度,手势模块24可确定与部分34B相关联的触摸事件的量与界定部分34B的UID12的物理面积之比。手势模块24可确定触摸事件序列中与部分34B相关联的触摸事件的量。基于序列中的一个或多个触摸事件的位置,手势模块24可确定界定序列中的所述一个或多个触摸事件的位置的最小面积A(例如,A平方像素、A平方英寸等)。手势模块24可确定与部分34B相关联的触摸事件的密度包括序列中的触摸事件的量与面积A之比(例如,部分34A内的触摸事件的数量除以面积A)。
在一些示例中,如果一个或多个触摸事件的密度满足阈值,则手势模块24可修改触摸事件序列。例如,如果手势30的给定部分中的触摸事件的密度超过密度阈值,则手势模块24可利用过滤技术和存储在阈值数据存储62处的密度阈值来使序列中的冗余触摸事件(例如,没有唯一地限定手势30的特性或路径的多余触摸事件)最少化。如果触摸事件的密度满足密度阈值,则手势模块24可从序列对一个或多个触摸事件进行移除、取平均等。基于密度过滤触摸事件序列可增加其它模块(例如,UI模块20和键盘模块22)的性能,因为与未经过滤的序列相比,其它模块可对过滤的触摸事件序列执行较少操作。
手势模块24可确定一个或多个部分34的曲率。换言之,手势模块24可确定相对于单个线性平面的一个或多个部分34中的两个或更多个触摸事件的位置分量之间的偏离度。例如,为了确定手势30的部分34B的曲率,手势模块24可将与部分34B对应的三个触摸事件隔离。手势模块24可确定三个触摸事件的位置分量相对于三个触摸事件之间的公共线性平面的偏离度。高弯曲度可对应于高偏离度(例如,手势30的一部分中的拐点),低弯曲度(例如,近零曲率值)可对应于低或近零偏离(例如,手势30的路径的直线部分)。
对于与部分34有关的触摸事件序列中的一个或多个触摸事件,手势模块24可包括特性分量,其包含关于手势30的相应一个部分34的一个或多个特性的信息。例如,序列中的一个或多个触摸事件可包括曲率分量、方向分量、速度分量和密度分量。手势模块24可将手势30的触摸事件序列(包括这些特性分量)输出给UI模块20。例如,在确定手势30的部分34的一个或多个特性之后,手势模块24可经通信信道50将触摸事件序列发送给UI模块20。
计算装置10可至少部分地基于手势30的指示和手势30的至少一个特性来从图形键盘16B的多个键中确定一个或多个键。例如,UI模块20可从手势模块24接收经通信信道50发送的触摸事件序列并且确定序列中的每个触摸事件的位置分量对应于呈现图形键盘16B的UID12的区域。UI模块20可确定UID12接收到对多个键中的一个或多个的选择的指示。作为响应,UI模块20可经通信信道50将触摸事件序列发送给键盘模块22,连同手势30的相关联的特性以及UID12呈现图形键盘16B的每个键的位置。键盘模块22可从UI模块20接收触摸事件序列连同与每个触摸事件相关联的信息(例如,位置、时间、动作和特性信息)。
键盘模块22可将触摸事件序列中的一个或多个触摸事件的位置分量与每个键位置进行比较,以确定与触摸事件序列中的触摸事件的位置共享UID12的相同近似位置的一个或多个键。例如,使用SM模块26,键盘模块22可确定一个或多个触摸事件的位置分量与每个键的位置之间的欧几里得距离。基于每个键的这些欧几里得距离,键盘模块22的SM模块26可确定一个或多个触摸事件对应于键的选择的空间模型概率。换言之,SM模块26可将触摸事件序列中的每个触摸事件的位置分量与每个键位置进行比较,并且对于每个键,生成发生键选择的空间模型概率。
序列中的一个或多个触摸事件的位置分量可包括UID12的一个或多个位置。键位置(例如,键的质心)可包括UID12的不同位置。SM模块26可基于键位置与一个或多个触摸事件位置之间的欧几里得距离来确定序列中的一个或多个触摸事件对应于键选择的概率。与共享与一个或多个触摸事件的位置分量的较大欧几里得距离的键相比,SM模块26可将较高概率与共享与一个或多个触摸事件的位置分量的较小欧几里得距离的键相关(例如,当键与一个或多个触摸事件的位置分量共享近零欧几里得距离时键选择的概率可超过百分之九十九,键选择的概率可随着欧几里得距离的增加而成比例地减小)。
基于与每个键相关联的空间模型概率,键盘模块22可将具有最高空间模型概率的单独键选择组合成键的时间排序的序列。换言之,键盘模块22可将具有非零空间模型概率的每个键(例如,手势30表示键选择的可能性大于百分之零的键)包括在键序列中。
键盘模块22可将键序列中的每个键与和一个或多个对应触摸事件相关的信息相关联,SM模块26使用所述信息来确定手势30表示键选择的可能性大于百分之零。例如,键盘模块22可将触摸事件序列中的一个或多个触摸事件的位置分量、时间分量、动作分量和特性分量与序列中的对应键相关联。如果多于一个触摸事件对应于键,则键盘模块22可将多个触摸事件的相似分量组合(例如,平均)为单个对应分量,例如,包括关于用于选择键的手势30的一个或多个部分34的信息的单个特性分量。换言之,键序列中的每个键可从取得键的一个或多个对应触摸事件继承关于手势30的特性的信息。键盘模块22的SM模块26可沿着图1的手势30的路径确定与每个键相关联的非零空间模型概率,并且生成包括<S键>、<A键>、<S键>、<R键>、<T键>、<Y键>、<U键>、<I键>、<O键>和<K键>的键的排序序列。序列中的每个键还包括关于手势30的每个部分34A–34J的特性的信息。
尽管与键序列中的每个键相关联的空间模型概率可包括非零空间模型概率,但是沿着手势30的路径,键序列中的每个键实际上可能对应或者可能不对应于用户预期的键选择。例如,当使用图形键盘16B首先选择<A键>,然后选择<T键>时,用户在从<A键>至<T键>做手势时可能不注意地或者有意地在<S键>、<E键>、<D键>和<R键>处或附近做手势。尽管用户可能预期仅选择<A键>和<T键>,但是沿着手势30的路径的这些中间键中的每一个(例如,<S键>、<E键>、<D键>和<R键>)可能具有非零空间模型概率。因此,具有非零空间模型概率的每个键实际上可能对应或者可能不对应于用户预期的键选择。
键盘模块22可利用与手势30相关联的至少一个特性来精化与键序列中的每个键相关联的空间模型概率以确定精化的键序列。例如,如上所述,键序列中的每个键包括特性分量,其包括关于手势30的部分34的一个或多个特性的信息。序列中的每个键可包括例如关于手势30的相应部分的速度、方向、密度和曲率的特性信息。在一些示例中,键盘模块22可将键序列中的每个键的特性信息与存储在阈值数据存储62处的一个或多个阈值进行比较,并且基于每个键的特性信息是否满足这些阈值来调节与键序列中的每个键相关联的空间模型概率。换言之,键盘模块22可确定手势30的部分34的一个或多个特性更有可能指示图形键盘16B的单个键的选择,而不是仅仅指示中间(例如,未选择)键处或附近的移动。
继续图1的示例,键盘模块22可确定键序列中的第一键是<S键>并且与该第一键相关联的特性信息对应于手势30的部分34A。如上所述,与键序列中的其它键(例如,<A键>、<S键>、<R键>、<T键>、<Y键>、<U键>、<I键>、<O键>和<K键>)相关联的特性信息分别对应于部分34B至部分34J。键盘模块22可将每个键的特性信息与存储在阈值数据存储62处的特性阈值进行比较,并相应地(即,根据特性信息是否满足特性阈值)增大或减小与键相关联的空间模型概率。在一些示例中,键盘模块22可基于阈值来增大而不减小空间模型概率。在其它示例中,键盘模块22可基于阈值来减小而不增大空间模型概率。作为一个示例给出对空间模型概率的以下调节,其无论如何不应被解释为限制。
在一些示例中,键的特性信息可包括手势30的一部分的速度。响应于确定手势30的部分34的速度满足存储在阈值数据存储62处的速度阈值,键盘模块22可减小与键相关联的空间模型概率。然而,响应于确定速度不满足存储在阈值数据存储62处的速度阈值(例如,如果归因于速度的值小于与速度阈值相关联的值、大于与速度阈值相关联的值等),键盘模块22可增大与键相关联的空间模型概率。键盘模块22可确定部分34A、34B、34E、34I和34J的速度不满足阈值数据存储62的速度阈值并且分别增大与序列中的第一<S键>、<A键>、<T键>、<O键>和<K键>相关联的空间模型概率。相反,键盘模块22可确定部分34C、34D、34F、34G和34H的速度满足阈值数据存储62的速度阈值,因此分别减小与序列中的第二<S键>、<R键>、<Y键>、<U键>和<I键>相关联的空间模型概率。
在一些示例中,键的特性信息可包括手势30的一部分的密度。响应于确定密度满足存储在阈值数据存储62处的密度阈值,键盘模块22可增大与键相关联的空间模型概率。然而,响应于确定密度不满足密度阈值,键盘模块22可减小与键相关联的空间模型概率。键盘模块22可确定图形键盘16B的键处或附近的手势的稠密部分(例如,具有大量相关联的触摸事件的手势的一部分)更有可能指示键选择,而不是更有可能指示经中间键的移动的手势的较不稠密部分。键盘模块22可确定部分34A、34B、34I和34J的密度满足阈值数据存储62的密度阈值,并且分别可增大与序列中的第一<S键>、<A键>、<O键>和<K键>相关联的空间模型概率。相反,键盘模块22可确定部分34C、34D、34E、34F、34G和34H的密度满足阈值数据存储62的密度阈值,因此分别减小与序列中的第二<S键>、<T键>、<R键>、<Y键>、<U键>和<I键>相关联的空间模型概率。
在一些示例中,键的特性信息可包括手势30的一部分的曲率。响应于确定曲率满足存储在阈值数据存储62处的曲率阈值,键盘模块22可增大与键相关联的空间模型概率。然而,响应于确定曲率不满足存储在阈值数据存储62处的曲率阈值,键盘模块22可减小与键相关联的空间模型概率。键盘模块22可确定在图形键盘16B的键处或附近的具有高弯曲度的手势部分(例如,拐点)更有可能指示键选择,而不是更有可能指示经中间键的移动的具有较小弯曲度的手势部分(例如,直线段)。键盘模块22可确定部分34B、34E和34I的曲率满足阈值数据存储62的曲率阈值,并且可分别增大与<A键>、<T键>和<O键>相关联的空间模型概率。相反,键盘模块22可确定部分34A、34C、34D、34E、34F、34G、34H和34K的密度不满足阈值数据存储62的曲率阈值,因此对与相应键相关联的空间模型概率不作任何事情。
在一些示例中,键的特性信息可包括手势30的一部分的方向。键盘模块22可将该部分的方向与第二部分的方向(例如,与键序列中的下一键相关联的方向)进行比较。响应于确定那部分的方向近似地对应于下一部分的方向,键盘模块22可减小与键相关联的空间模型概率。然而,响应于确定那部分的方向不近似地对应于下一部分的方向,键盘模块22可增大与键相关联的空间模型概率。与键选择相比,键盘模块22可确定方向类似于手势的先前部分或后续部分的手势部分更有可能指示经中间键的移动。例如,键盘模块22可确定从部分34B至部分34C方向改变,因此增大与<A键>相关联的空间模型概率,键盘模块22可确定从部分34C至34E没有改变,因此减小与序列中的第二<S键>和<R键>等相关联的空间模型概率。
在调节与键序列中的每个键相关联的空间模型概率之后和/或时,键盘模块22可基于每个键的调节的空间模型概率来修改键序列以确定精化的键序列。例如,键盘模块22可将每个键的调节的空间模型概率与存储在阈值数据存储62处的概率阈值(例如,百分之五十)进行比较。键盘模块22可将不包括超过概率阈值的空间模型概率的每个键从键序列移除,并且将包括超过概率阈值的空间模型概率的每个键保留在键序列中。这样,键盘模块22可以至少部分地基于手势30的指示和至少一个特性来确定精化的键序列。基于手势30的精化的键序列可包括<S键>、<A键>、<T键>、<O键>和<K键>。
计算装置10可基于来自多个键的一个或多个键来确定字符串。例如,键盘模块22可确定表示精化的键序列的字符串。键盘模块22可将由精化的键序列中的每个键表示的每个字符串联以生成字符串。例如,键盘模块22可基于图形键盘16B的<S键>、<A键>、<T键>、<O键>和<K键>的顺序选择来确定精化的键序列表示字符串satok。
响应于确定字符串不包括在词库中并且与来自多个键的一个或多个键相关联的空间模型概率超过概率阈值,计算装置10可输出字符串以显示。例如,键盘模块22可从在图形键盘16B处通过手势30输入的键选择来自动校正或预测候选词或短语以包括在编辑区域16A中。键盘模块22可至少部分地基于字符串来确定多个候选词或短语。键盘模块22可利用LM模块28(其使用存储在词库数据存储60处的一个或多个词库)来确定一个或多个词库中的多个候选词。
为了生成与字符串(例如,satok)共享类似的字符序列的一个或多个候选词或短语。键盘模块22可将字符串作为输入传递给LM模块28。LM模块28可在词库数据存储60的一个或多个词库中查找字符串并且可接收包括字符串内的一些部分或所有字符的一个或多个候选词。例如,词库数据存储60的一个或多个词库可基于每个词或短语与字符串之间的比较将Jaccard相似系数指派给词库中的每个词或短语。LM模块28可选择并输出具有最大Jaccard相似系数的词和/或短语给键盘模块22作为一个或多个候选词或短语(例如,satin、sarin、sayok、satine、satisfy等)。另外,LM模块28可将语言模型概率指派给一个或多个候选词和/或短语中的每一个,其指示字符串表示一个或多个候选词和/或短语中的每一个的不正确拼写的可能性。LM模块28可将该语言模型概率随一个或多个候选词和/或短语中的每一个输出给键盘模块22。键盘模块22可从LM模块28接收词和/或短语,并且将排名指派给每个词和/或短语(例如,最高排名词和/或短语具有最大语言模型概率,最低排名词和/或短语具有最低语言模型概率)。
键盘模块22可经通信信道50将一个或多个候选词和/或短语以及相关联的语言模型概率输出给UI模块20以或者包括在用户界面14的编辑区域16A中,或者作为单独的建议词38包括在用户界面14的建议词区域16C中。在由LM模块28确定的一个或多个候选词和/或短语实际上都不表示用户在提供手势30时预期输入的词或短语的情况下,键盘模块22可将从精化的键序列生成的原字符串包括为一个或多个候选词中的一个。例如,在用户预期输入OOV词和/或短语(例如,未包括在词库数据存储60的词库之一中的词和/或短语)的情况下,键盘模块22可将该原字符串包括为将由计算装置10输出的一个或多个候选词和/或短语中的一个。精化的键序列中的每个键包括空间模型概率,如果与序列中的每个键相关联的空间模型概率超过概率阈值(指示通过手势30选择的键之间的强相关性),则键盘模块22可输出原字符串。换言之,除了输出一个或多个候选词和/或短语以外,如果与字符串相关联的空间模型概率超过概率阈值则键盘模块22可将字符串(例如,原字符串)输出给UI模块20以使得UID12输出字符串以用于显示在UID12处。
UI模块20可从键盘模块22接收一个或多个候选词和/或短语(包括原字符串)连同一个或多个候选词和/或短语的语言模型概率。UI模块20可更新用户界面14以将最高排名(基于语言模型概率)候选词和/或短语包括在编辑区域16C中。UI模块20可通过将次最高排名(基于语言模型概率)候选词包括为建议词38A和38B来更新建议词区域16C。在用户预期利用手势30输入OOV词和/或短语的情况下,UI模块20可将原字符串包括在建议词区域16C中作为建议词38C。
UI模块20可使得UID12输出以用于显示更新的用户界面14,包括使得UID12输出原字符串作为建议词38C。换言之,UI模块20可将命令和指令发送给UID12以使得UID12输出包括与手势30相关联的多个建议词38的建议词区域16C以显示。由计算装置10输出字符串(例如,原字符串)可包括输出字符串作为多个建议词38中的一个建议词(例如,建议词38C)。
在UI模块20使得UID12输出具有建议词38的更新的用户界面14(包括作为建议词38C的字符串)时,用户可通过在UID12输出建议词区域16C的UID12的位置处轻敲或提供输入来选择建议词38之一。例如,用户在UID12呈现建议词38C(例如,satok)的UID12的位置上轻敲。在建议词38C上轻敲可使得UI模块20更新用户界面14并且将OOV词satok包括在编辑区域16A中。
在一些示例中,UI模块20可利用语言模型概率阈值来确定是否将任何候选词作为建议词38包括在用户界面14中。换言之,UI模块20包括在建议词区域16C中的多个建议词中的每个建议词与相应语言模型概率(由LM模块28确定)相关联,其指示每个相应建议词是否被包括在词库数据存储60中的一个或多个词库中。与多个建议词38中除了与字符串对应的建议词(例如,建议词38C)以外的每个建议词相关联的每个相应语言模型概率可满足语言模型概率阈值。这样,UI模块20可利用与从键盘模块22接收的一个或多个候选词中的每一个相关联的语言模型概率来确定字符串是否被包括在词库数据存储60中的一个词库中。
在一些示例中,除了依赖于与原字符串相关联的空间模型概率来确定是否输出字符串以显示以外,UI模块20可依赖于字符串对应于多个候选词中的至少一个的不正确拼写的拼写概率。如上所述,键盘模块22与LM模块28结合可至少部分地基于字符串来确定词库数据存储60的一个或多个词库中的多个候选词。与一个或多个候选词相关联的语言模型概率可超过语言模型概率阈值,使得键盘模块22可至少部分地基于多个候选词来确定字符串对应于多个候选词中的至少一个的不正确拼写的拼写概率。
换言之,键盘模块22可确定与一个或多个候选词相关联的高语言模型概率(例如,超过百分之九十)指示字符串不是OOV词的可能性高,但是替代地可能对应于相应一个或多个候选词的不正确拼写。键盘模块22可向字符串指派拼写概率,其指示字符串是否可能是来自词库数据存储60的一个或多个候选词的不正确拼写。仅响应于确定拼写概率不满足拼写概率阈值(例如,字符串的拼写概率小于存储在阈值数据存储60处的拼写概率阈值),键盘模块22可将字符串输出给UI模块20(使得UI模块20使UID12输出字符串以显示)。换言之,如果字符串的拼写概率满足拼写概率阈值,因此指示字符串不是OOV词而是一个或多个候选词的不正确拼写的可能性,则键盘模块22可不将字符串输出给UI模块20。
在一些示例中,UI模块20可基于与字符串相关联的上下文或者文本输入的类别来确定是否输出字符串。例如,与字符串相关联的文本输入的类别可以是包括姓名的一部分、地址的一部分、电子邮件地址等的一部分的组中的一个。换句话说,字符串可以是姓或名、街道、城市、国家的部分或者地址的另一部分或者电子邮件地址的一部分,因此,更可能是未包括在词库数据存储60中的词库之一中的OOV词。UI模块20可确定与字符串相关联的文本输入的类别,并且响应于确定文本输入的类别而输出字符串。UI模块20可基于例如从与用户界面14相关联的应用接收的信息确定文本输入的类别。在一个示例中,用户界面14可与电子邮件消息应用相关联。UI模块20可从电子邮件消息应用接收命令以输出用户界面14,并且另外,接收关于用户界面14的不同域或编辑区域的信息。UI模块20可确定字符串与用于键入预期收件人的电子邮件地址的用户界面14的一部分相关联。如果与字符串相关联的文本输入的类别不是姓名的一部分、地址的一部分、电子邮件地址的一部分等,则UI模块20可不将字符串包括为一个建议词38。如果与字符串相关联的文本输入的类别是姓名的一部分、地址的一部分、电子邮件地址的一部分等,则UI模块20可将字符串包括为一个建议词38。
这样,本公开的技术可使得计算装置能够基于在图形键盘处输入的手势输入来接收OOV词或短语。本公开的技术可使得计算装置能够不仅仅使用词库和/或空间模型,而是另外基于手势输入的一个或多个特性来更准确地确定字符串。所述技术还可使得用户能够更快速地在计算装置处输入字符串,因为用户可提供较少输入以校正计算装置或者在键处单独地轻敲以输入OOV词。诸如此的计算装置可处理较少的用户输入,执行较少的操作,作为结果,消耗较少电力。
图3是示出依据本公开的一个或多个技术的输出图形内容以用于显示在远程装置处的示例计算装置的框图。通常,图形内容可包括可被输出以显示的任何视觉信息,例如文本、图像、运动图像组等。图3所示的示例包括计算装置100、存在敏感显示器101、通信单元110、投影仪120、投影仪屏幕122、平板装置126和视觉显示装置130。尽管在图1和图2中为了示例的目的被示出为独立计算装置10,诸如计算装置100和/或计算装置10的计算装置通常可以是包括处理器或者用于执行软件指令的其它合适的计算计算环境的任何组件或系统,并且例如,不需要包括存在敏感显示器。
如图3的示例中所示,计算装置100可以是包括如关于图2中的处理器40描述的功能的处理器。在此类示例中,计算装置100可通过通信信道103A(可以是系统总线或者其它合适的连接)在操作上耦合至存在敏感显示器101。计算装置100还可通过通信信道103B(也可以是系统总线或者其它合适的连接)在操作上耦合至通信单元110(下面进一步描述)。尽管如图3中的示例单独地示出的,计算装置100可通过一个或多个通信信道中的任何数量的通信信道在操作上耦合至存在敏感显示器101和通信单元110。
在其它示例中,例如先前通过图1–2中的计算装置10示出的,计算装置100可以是便携式或移动装置,例如移动电话(包括智能电话)、膝上型计算机等。在一些示例中,计算装置100可以是台式计算机、平板计算机、智能电视平台、相机、个人数字助理(PDA)、服务器、主机等。
存在敏感显示器101(类似于如图1所示的用户接口装置12)可包括显示装置103和存在敏感输入装置105。显示装置103可例如从计算装置100接收数据并且显示图形内容。在一些示例中,存在敏感输入装置105可使用电容、电感和/或光学识别技术来确定存在敏感显示器101处的一个或多个用户输入(例如,连续手势、多触摸手势、单触摸手势等),并且使用通信信道103A将这种用户输入的指示发送给计算装置100。在一些示例中,存在敏感输入装置105可物理上位于显示装置103顶部,使得当用户将输入单元定位在由显示装置103显示的图形元素上方时,存在敏感输入装置105的位置对应于显示图形元素的显示装置103的位置。
如图3所示,计算装置100还可包括和/或在操作上耦合至通信单元110。通信单元110可包括如图2中描述的通信单元44的功能。通信单元110的示例可包括网络接口卡、以太网卡、光学收发器、射频收发器或者可发送和接收信息的任何其它类型的装置。此类通信单元的其它示例可包括蓝牙、3G和Wi-Fi无线电、通用串行总线(USB)接口等。计算装置100还可包括和/或在操作上耦合至图3中出于简明和例示目的而未示出的一个或多个其它装置,例如输入装置、输出装置、存储器、存储装置等。
图3还示出投影仪120和投影仪屏幕122。投影装置的其它此类示例可包括电子白板、全息显示装置以及用于显示图形内容的任何其它合适的装置。投影仪120和投影屏幕122可包括使得相应装置能够与计算装置100通信的一个或多个通信单元。在一些示例中,一个或多个通信单元可允许投影仪120与投影仪屏幕122之间的通信。投影仪120可从计算装置100接收包括图形内容的数据。响应于接收到所述数据,投影仪120可将图形内容投影到投影仪屏幕122上。在一些示例中,投影仪120可使用光学识别或者其它合适的技术来确定投影仪屏幕处的一个或多个用户输入(例如,连续手势、多触摸手势、单触摸手势等),并且使用一个或多个通信单元将这种用户输入的指示发送给计算装置100。
在一些示例中,投影仪屏幕122可包括存在敏感显示器124。存在敏感显示器124可包括如本公开中所述的UI装置4的功能的子集或者所有功能。在一些示例中,存在敏感显示器124可包括附加功能。投影仪屏幕122(例如,电子白板)可从计算装置100接收数据并且显示图形内容。在一些示例中,存在敏感显示器124可使用电容、电感和/或光学识别技术来确定投影仪屏幕122处的一个或多个用户输入(例如,连续手势、多触摸手势、单触摸手势等),并且使用一个或多个通信单将这种用户输入的指示发送给计算装置100。
图3还示出平板装置126和视觉显示装置130。平板装置126和视觉显示装置130可每个包括计算和连接能力。平板装置126的示例可包括电子阅读器装置、可转换笔记本装置、混合板装置等。视觉显示装置130的示例可包括电视、计算机监视器等。如图3所示,平板装置126可包括存在敏感显示器128。视觉显示装置130可包括存在敏感显示器132。存在敏感显示器128、132可包括如本公开中所述的UI装置4的功能的子集或者所有功能。在一些示例中,存在敏感显示器128、132可包括附加功能。在任何情况下,例如,存在敏感显示器132可从计算装置100接收数据并且显示图形内容。在一些示例中,存在敏感显示器132可使用电容、电感和/或光学识别技术来确定投影仪屏幕处的一个或多个用户输入(例如,连续手势、多触摸手势、单触摸手势等),并且使用一个或多个通信单将这种用户输入的指示发送给计算装置100。
如上所述,在一些示例中,计算装置100可输出图形内容以显示在存在敏感显示器101处,其通过系统总线或者其它合适的通信信道耦合至计算装置100。计算装置100还可输出图形内容以显示在诸如投影仪120、投影仪屏幕122、平板装置126和视觉显示装置130的一个或多个远程装置处。例如,计算装置100可依据本公开的技术执行一个或多个指令以生成和/或修改图形内容。计算装置100可将包括图形内容的数据输出给计算装置100的通信单元,例如通信单元110。通信单元110可将所述数据发送给诸如投影仪120、投影仪屏幕122、平板装置126和/或视觉显示装置130的远程装置中的一个或多个。这样,计算装置100可输出图形内容以显示在一个或多个远程装置处。在一些示例中,一个或多个远程装置可将图形内容输出在包括在相应远程装置中和/或在操作上耦合至相应远程装置的存在敏感显示器处。
在一些示例中,计算装置100可不将图形内容输出在操作上耦合至计算装置100的存在敏感显示器101处。在其它示例中,计算装置100可输出图形内容以显示在通过通信信道103A耦合至计算装置100的存在敏感显示器101以及一个或多个远程装置处。在此类示例中,图形内容可在每个相应装置处基本上同时地显示。例如,可由于将包括图形内容的数据发送给远程装置的通信延迟而引入某个时延。在一些示例中,由计算装置100生成并且输出以显示在存在敏感显示器101处的图形内容可不同于输出以显示在一个或多个远程装置处的图形内容显示。
计算装置100可使用任何合适的通信技术来发送和接收数据。例如,计算装置100可使用网络链路112A在操作上耦合至外部网络114。图3所示的每个远程装置可通过相应网络链路112B、112C和112D中的一个在操作上耦合至外部网络114。外部网络114可包括在操作上相互耦合的网络集线器、网络交换机、网络路由器等,从而提供计算装置100与图3所示的远程装置之间的信息交换。在一些示例中,网络链路112A–112D可以是以太网、ATM或者其它网络连接。此类连接可以是无线和/或有线连接。
在一些示例中,计算装置100可使用直接装置通信118在操作上耦合至图3中所包括的一个或多个远程装置。直接装置通信118可包括这样的通信,计算装置100通过其来使用有线或无线通信直接与远程装置发送和接收数据。即,在直接装置通信118的一些示例中,由计算装置100发送的数据可在远程装置处被接收之前不被一个或多个附加装置转发,反之亦然。直接装置通信118的示例可包括蓝牙、近场通信、通用串行总线、Wi-Fi、红外等。图3所示的一个或多个远程装置可通过通信链路116A–116D在操作上与计算装置100耦合。在一些示例中,通信链路112A–112D可以是使用蓝牙、近场通信、通用串行总线、红外等的连接。此类连接可以是无线和/或有线连接。
依据本公开的技术,计算装置100可使用外部网络114在操作上耦合至视觉显示装置130。计算装置100可输出图形键盘以显示在存在敏感显示器132处。例如,计算装置100可将包括图形键盘的表示的数据发送给通信单元110。通信单元110可使用外部网络114将包括图形键盘的表示的数据发送给视觉显示装置130。响应于使用外部网络114接收到所述数据,视觉显示装置130可使得存在敏感显示器132输出图形键盘。响应于用户在存在敏感显示器132处执行手势以选择键盘的一组键,视觉显示装置130可使用外部网络114将手势的指示发送给计算装置100。通信单元110可接收手势的指示并且将该指示发送给计算装置100。
计算装置100可基于手势的至少一个特性来确定多个键中的一个或多个键。例如,在一些情况下,计算装置100利用空间模型概率来从多个键确定一个或多个键的序列。计算装置100可确定多个键中的每个键的空间模型概率并且确定具有最高空间模型概率的键表示键序列。计算装置100可基于手势的一部分的特性(例如,速度、方向、位置等)调节序列中的每个键的空间概率。例如,如果与序列中的一个键相关联的手势的一部分的速度超过速度阈值,则计算装置100可减小与所选择的键相关联的空间概率。计算装置100可通过基于特性调节每个键的空间模型概率来从序列增加或移除一个或多个键,来精化键序列。
在任何情况下,计算装置100可基于来自多个键的一个或多个键确定字符串。响应于确定与来自多个键的一个或多个键相关联的空间模型概率超过概率阈值并且该字符串未包括在词库中,计算装置100可将包括该字符串的数据发送给通信单元110,通信单元110进而使用外部网络114将所述数据发送给视觉显示装置130。在接收到所述数据时,视觉显示装置130可使得存在敏感显示器132显示候选词。这样,处理器102可依据本公开的技术输出候选词以显示在存在敏感显示器132处。
图4A-4C是示出依据本公开的一个或多个方面的用于呈现词汇表外词的示例图形用户界面的概念图。下面在图1和图2的计算装置10(上面描述)的上下文中描述图4A-4C。
图4A–4B分别示出用于输入OOV词droider的图形用户界面200A和200B。例如,图4A示出计算装置10可输出以显示在UID12处的图形用户界面200A。图形用户界面200A包括编辑区域202A和图形键盘202B。图形用户界面200A还可包括建议栏区域202C,其包括可包括在编辑区域202A中的建议词208A–208C(统称为“建议词208”)。计算装置10可接收在UID12处检测到的手势204的指示。图4A示出手势204的路径,其包括手势204的路径的部分206A–206G(统称为“部分”206),这些部分每个表示手势204的路径的一部分或子分段。
响应于手势204,计算装置10可确定表示关于手势204的信息的触摸事件序列,其包括手势204的一个或多个特性。例如,计算装置10可确定部分206的密度、速度、方向和曲率。
计算装置10可至少部分地基于手势204的指示和手势204的至少一个特性从多个键确定一个或多个键。例如,使用空间模型并且将触摸事件序列的位置与图形键盘202B的键的位置进行比较,计算装置10可确定指示通过手势204选择图形键盘202B的每个键的可能性的空间模型概率。键序列可包括具有非零空间模型概率的每个键。例如,键序列可包括(按照顺序)<D键>、<R键>、<T键>、<Y键>、<U键>、<I键>、<O键>、又一<I键>、又一<U键>、<F键>、又一<D键、<E键>和又一<R键>。
计算装置10可基于手势204的至少一个特性来精化键序列中的每个键的空间模型概率。例如,如果与一个或多个键相关联的手势204的一部分的速度小于速度阈值,则计算装置10可增大与序列中的一个或多个键相关联的空间模型概率,如果与一个或多个键相关联的手势204的一部分的速度大于速度阈值,则减小与所述一个或多个键相关联的空间模型概率。同样,计算装置10可通过将与每个键相关联的手势204的一个或多个部分的密度、曲率和方向与相应特性阈值进行比较来调节与每个键相关联的空间模型概率。
计算装置10可基于每个键的精化的空间模型概率从键序列移除一个或多个键。例如,计算装置10可将空间模型概率超过概率阈值(例如,百分之五十)的每个键保留在键序列中。这样,基于手势204的部分206的特性,计算装置10仅将被手势204选择的可能性较大的键保留在键序列中。
计算装置10可基于来自多个键的一个或多个键确定字符串。例如,在调节与序列中的一个或多个键相关联的空间模型概率,并且仅保留空间模型概率满足概率阈值的键之后,精化的键序列可包括(按照顺序)<D键>、<R键>、<O键>、<I键>、又一<D键>、<E键>和又一<R键>。计算装置10可生成字符串,其表示由键序列中的键的选择表示的字符序列。字符串可对应于字符串droider。
响应于确定与来自多个键的一个或多个键相关联的空间模型概率超过概率阈值并且字符串未包括在词库中,计算装置10可输出字符串以显示。换言之,由于与用于生成字符串droider的一个或多个键相关联的空间模型概率超过概率阈值,所以计算装置10可确定手势204可表示用于输入OOV词的图形键盘202B的键选择。计算装置10可将字符串droider作为建议词208C输出,尽管在此示例中,droider不是包括在词库中的词或短语。对于其它建议词,计算装置10可利用语言模型和词库中的词来拼写检查或者另外自动校正字符串droider(例如,将字符串droider改变为包括在词库中的词和/或短语)。计算装置10可基于手势204生成一个或多个候选词,其表示词库中具有表示字符串的最高语言模型概率的词和/或短语。词库中的前两个词(例如,具有最大语言模型概率的那些词)可对应于词drove和driver。计算装置10可将这些靠前候选词作为建议词208A和208B输出在建议栏区域202C内。图4A还示出也被输出以显示在编辑区域202A中的具有最高语言模型概率的建议词。图4B示出计算装置10可允许输入手势204的用户对哪一词包括在编辑区域202A中提供最终确定。图4B示出从用户界面200B选择字符串droider。
图4C示出用于输入OOV词tcpip的图形用户界面210。例如,图4C示出计算装置10可输出以显示在UID12处的图形用户界面210。图形用户界面210包括编辑区域212A和图形键盘212B。图形用户界面210还可包括建议栏区域212C,其包括可包括在编辑区域212A中的建议词218A–218C(统称为“建议词218”)。计算装置10可接收在UID12处检测到的手势214的指示。图4C示出手势214的路径,其包括手势214的路径的部分216A–216E(统称为“部分”216),这些部分某个表示手势214的路径的一部分或子分段。
响应于手势214,计算装置10可确定表示关于手势214的信息的触摸事件序列,其包括手势214的一个或多个特性。例如,计算装置10可确定部分216的密度、速度、方向和曲率。
计算装置10可至少部分地基于手势214的指示和手势214的至少一个特性从多个键确定一个或多个键。例如,使用空间模型并且将触摸事件序列的位置与图形键盘212B的键的位置进行比较,计算装置10可确定指示通过手势214选择图形键盘212B的每个键的可能性的空间模型概率。键序列可包括具有非零空间模型概率的每个键。例如,键序列可包括(按照顺序)<T键>、<F键>、<C键>、<V键>、<H键>、<I键>、<J键>、<K键>、<P键>、<O键>、<I键>、又一<O键>和又一<P键>。
计算装置10可基于手势214的至少一个特性来精化键序列中的每个键的空间模型概率。例如,如果与一个或多个键相关联的手势214的一个或多个部分216的密度、速度、方向和/或曲率满足相应特性阈值,则计算装置10可增大与序列中的一个或多个键相关联的空间模型概率,否则如果与一个或多个键相关联的手势214的一个或多个部分216的密度、速度、方向和/或曲率不满足相应特性阈值,则减小与所述一个或多个键相关联的空间模型概率。
计算装置10可基于每个键的精化的空间模型概率从键序列移除一个或多个键。例如,计算装置10可将空间模型概率满足概率阈值的每个键保留在键序列中。这样,基于手势204的部分216的特性,计算装置10仅将被手势214选择的可能性较大的键保留在键序列中。
计算装置10可基于来自多个键的一个或多个键确定字符串。例如,在调节与序列中的一个或多个键相关联的空间模型概率,并且仅保留空间模型概率满足概率阈值的键之后,精化的键序列可包括(按照顺序)<T键>、<C键>、<P键>、<I键>和又一<P键>。计算装置10可生成字符串,其表示由键序列中的键的选择表示的字符序列。字符串可对应于字符串tcpip。
响应于确定与来自多个键的一个或多个键相关联的空间模型概率超过概率阈值并且字符串未包括在词库中,计算装置10可输出字符串以显示。换言之,由于与用于生成字符串tcpip的一个或多个键相关联的空间模型概率超过概率阈值,所以计算装置10可确定手势204可表示用于输入OOV词的图形键盘202B的键选择。计算装置10可将字符串tcpip作为建议词218C输出,尽管tcpip不是包括在词库中的词或短语。对于其它建议词218,计算装置10可利用语言模型和词库中的词来拼写检查或者另外自动校正字符串tcpip(例如,将字符串tcpip改变为包括在词库中的词和/或短语)。计算装置10可基于手势214生成一个或多个候选词,其表示词库中具有表示字符串的最高语言模型概率的词和/或短语。词库中的前两个词(例如,具有最大语言模型概率的那些词)可对应于词TCP和RSVP。计算装置10可将这些靠前候选词作为建议词218A和218C输出在建议栏区域212C内。图4C示出计算装置10可允许输入手势214的用户对哪一词包括在编辑区域212A中提供最终确定。图4C示出从用户界面210选择字符串tcpip(例如,围绕建议词218B的矩形区域指示使得计算装置10将字符串tcpip输入在编辑区域212A中的对建议词218B的选择)。
图5是示出依据本公开的一个或多个方面的计算装置的示例操作的流程图。图5的过程可由计算装置(例如,图1和图2所示的计算装置10)的一个或多个处理器执行。仅出于例示的目的,下面在图1和图2的计算装置10的上下文内描述图5。
在图5的示例中,计算装置可输出包括多个键的图形键盘以显示(220)。例如,计算装置10可输出包括图形键盘16B的用户界面14以显示在UID12处。
在图5的示例中,计算装置可接收在存在敏感输入装置处检测到的手势的指示(230)。例如,UID12可在UID12呈现图形键盘16B的键的UID12的一个或多个位置处检测手势30。
在图5的示例中,计算装置可至少部分地基于手势的指示和手势的至少一个特性来从多个键确定一个或多个键(240)。例如,手势模块24可基于从UID12接收的关于手势30的信息生成一个或多个触摸事件。手势模块24可确定关于手势30的部分34的一个或多个特性(例如,速度、密度、方向等)。
在图5的示例中,计算装置可基于来自多个键的一个或多个键来确定字符串(250)。例如,手势模块24可基于手势30与键盘模块22共享一个或多个触摸事件。从触摸事件,键盘模块22可从手势30确定一个或多个键的选择。键盘模块22可基于手势30利用空间模型(例如,空间模型模块26)来确定键序列。键序列可包括<S键>、<A键>、<S键>、<R键>、<T键>、<Y键>、<U键>、<I键>、<O键>和<K键>。
在图5的示例中,计算装置可确定与一个或多个键相关联的空间模型概率是否满足阈值(260)。例如,键盘模块22可基于与序列中的每个键相关联的手势30的部分34的一个或多个特性来精化键序列。键盘模块22可根据与序列中的每个键相关联的手势30的部分34的一个或多个特性是否满足特性阈值来增大或减小与序列中的一个或多个键相关联的空间模型概率。键盘模块22可将键序列中的每个键的空间模型概率与概率阈值进行比较。如果一个或多个键的空间模型概率没有超过或者另外满足概率阈值,则键盘模块22可将所述一个或多个键从序列移除。键盘模块22可确定序列中的剩余键表示精化的键序列。精化的键序列可包括<S键>、<A键>、<T键>、<O键>和<K键>。基于精化的键序列,键盘模块22可确定字符串,其表示对精化的键序列中的一个或多个键的选择。例如,键盘模块22可基于精化的键序列来确定字符串satok。
在图5的示例中,计算装置可确定字符串是否包括在词库中(270)。例如,键盘模块22可利用语言模型(例如,语言模型模块28)来拼写检查、语法检查或者另外自动校正字符串satok。键盘模块22可基于字符串来确定一个或多个候选词和/或短语。键盘模块22可确定字符串satok未包括在一个或多个候选词中,并且还确定字符串satok未包括在词库中。
在图5的示例中,响应于确定字符串未包括在词库中并且与来自多个键的一个或多个键相关联的空间模型概率超过概率阈值,计算装置可输出字符串以显示(280)。例如,键盘模块22可与UI模块20共享包括在词库中的一个或多个候选词以包括在用户界面14的建议词区域16C中。另外,键盘模块22可确定与精化的键序列中的每个键相关联的空间模型概率满足概率阈值,因此键盘模块22可与UI模块20共享字符串satok以包括在用户界面14中作为建议词区域16C中的建议词38C。UI模块20可使得UID12输出建议词38C(例如,字符串satok)以显示。
条款1.一种方法,包括:由计算装置输出包括多个键的图形键盘以显示;由所述计算装置接收在存在敏感输入装置处检测到的手势的指示;由所述计算装置至少部分地基于所述手势的指示和所述手势的至少一个特性来从所述多个键确定一个或多个键;由所述计算装置基于来自所述多个键的所述一个或多个键来确定字符串;以及响应于确定所述字符串未包括在词库中并且与来自所述多个键的所述一个或多个键相关联的空间模型概率超过概率阈值,由所述计算装置输出所述字符串以显示。
条款2.根据条款1所述的方法,其中,所述手势的所述至少一个特性包括所述手势的一部分的速度,并且其中,与所述一个或多个键相关联的空间模型概率是第一空间模型概率,该方法进一步包括:响应于确定所述速度满足速度阈值,由所述计算装置减小第二空间模型概率,其中,所述第二空间模型概率与所述多个键中的至少一个键相关联,并且其中,所述第一空间模型概率至少部分地基于所述第二空间模型概率。
条款3.根据条款1-2中任一项所述的方法,进一步包括:响应于确定所述速度不满足速度阈值,由所述计算装置增大所述第二空间模型概率。
条款4.根据条款1-3中任一项所述的方法,其中,所述手势的所述至少一个特性包括与所述手势的一部分相关联的密度,并且其中,与所述一个或多个键相关联的空间模型概率是第一空间模型概率,该方法进一步包括:响应于确定所述密度满足密度阈值,由所述计算装置增大第二空间模型概率,其中,所述第二空间模型概率与所述多个键中的至少一个键相关联,并且其中,所述第一空间模型概率至少部分地基于所述第二空间模型概率。
条款5.根据条款4所述的方法,进一步包括:响应于确定所述密度不满足密度阈值,由所述计算装置减小所述第二空间模型概率。
条款6.根据条款1-5中任一项所述的方法,其中,所述手势的所述至少一个特性包括与所述手势的一部分相关联的曲率,并且其中,与所述一个或多个键相关联的空间模型概率是第一空间模型概率,该方法进一步包括:响应于确定所述曲率满足曲率阈值,由所述计算装置增大第二空间模型概率,其中,所述第二空间模型概率与所述多个键中的至少一个键相关联,并且其中,所述第一空间模型概率至少部分地基于所述第二空间模型概率。
条款7.根据条款6所述的方法,进一步包括:响应于确定所述曲率不满足曲率阈值,由所述计算装置减小所述第二空间模型概率。
条款8.根据条款1-7中任一项所述的方法,其中,所述手势的所述至少一个特性包括所述手势的第一部分的方向和所述手势的第二部分的方向,并且其中,与所述一个或多个键相关联的空间模型概率是第一空间模型概率,该方法进一步包括:响应于确定所述第一部分的方向近似地对应于所述第二部分的方向,由所述计算装置减小第二空间模型概率,其中,所述第二空间模型概率与所述多个键中的至少一个键相关联,并且其中,所述第一空间模型概率至少部分地基于所述第二空间模型概率。
条款9.根据条款8所述的方法,进一步包括:响应于确定所述第一部分的方向不近似地对应于所述第二部分的方向,由所述计算装置增大第二空间模型概率。
条款10.根据条款1-9中任一项所述的方法,进一步包括:由所述计算装置至少部分地基于所述手势的一部分限定触摸事件序列,所述触摸事件序列中的每个触摸事件包括指示所述手势的所述部分被接收的时间以及与所述存在敏感输入装置处接收到所述手势的所述部分的位置对应的位置的坐标;由所述计算装置基于所述触摸事件序列确定在时间持续内与所述触摸事件序列相关联的密度;以及响应于确定所述密度满足密度阈值,由所述计算装置修改所述触摸事件序列。
条款11.根据条款1-10中任一项所述的方法,进一步包括:由所述计算装置输出包括与所述手势相关联的多个建议词的建议栏区域以显示,其中,输出字符串包括将所述字符串作为所述多个建议词中的一个建议词输出。
条款12.根据条款11所述的方法,其中,所述概率阈值是空间模型概率阈值,其中,所述多个建议词中的每个建议词与指示每个相应建议词是否包括在词库中的相应语言模型概率相关联,并且其中,与所述多个建议词中除了与所述字符串对应的建议词以外的每个建议词相关联的每个相应语言模型概率满足语言模型概率阈值。
条款13.根据条款1-12中任一项所述的方法,进一步包括:由所述计算装置至少部分地基于所述字符串确定所述词库中的多个候选词;由所述计算装置至少部分地基于所述多个候选词确定所述字符串与所述多个候选词中的至少一个的不正确拼写对应的拼写概率;以及响应于确定所述拼写概率不满足拼写概率阈值,由所述计算装置输出所述字符串以显示。
条款14.根据条款1-13中任一项所述的方法,其中,所述存在敏感输入装置包括存在敏感屏幕,其中,接收在所述存在敏感输入装置处检测到的手势的指示包括接收在所述存在敏感屏幕处检测到的一个或多个轻敲手势的指示。
条款15.根据条款1-14中任一项所述的方法,其中,所述存在敏感输入装置包括存在敏感屏幕,其中,接收在所述存在敏感输入装置处检测到的手势的指示包括接收在所述存在敏感屏幕处检测到的一个或多个非轻敲手势的指示。
条款16.根据条款1-15中任一项所述的方法,其中,所述存在敏感输入装置包括存在敏感屏幕,其中,所述字符串被输出以显示在存在敏感屏幕处。
条款17.根据条款1-16中任一项所述的方法,进一步包括:由所述计算装置确定与所述字符串相关联的文本输入的类别,其中,输出字符串是响应于确定文本输入的类别。
条款18.根据条款17所述的方法,其中,所述文本输入的类别是包括姓名的一部分、地址的一部分和电子邮件地址的一部分的组中的一个。
条款19.一种编码有指令的计算机可读存储介质,所述指令在被执行时使得计算装置的至少一个处理器:输出包括多个键的图形键盘以显示;接收在存在敏感输入装置处检测到的手势的指示;至少部分地基于所述手势的指示和所述手势的至少一个特性来从所述多个键确定一个或多个键;基于来自所述多个键的所述一个或多个键来确定字符串;并且响应于确定所述字符串未包括在词库中并且与来自所述多个键的所述一个或多个键相关联的空间模型概率超过概率阈值,输出所述字符串以显示。
条款20.一种编码有指令的计算机可读存储介质,所述指令用于使得一个或多个可编程处理器执行根据条款1–18中的任一项所述的方法。
条款21.一种计算装置,包括:至少一个处理器;以及至少一个模块,所述模块能够由所述至少一个处理器操作以:输出包括多个键的图形键盘以显示;接收在存在敏感输入装置处检测到的手势的指示;至少部分地基于所述手势的指示和所述手势的至少一个特性来从所述多个键确定一个或多个键;基于来自所述多个键的所述一个或多个键来确定字符串;并且响应于确定所述字符串未包括在词库中并且与来自所述多个键的所述一个或多个键相关联的空间模型概率超过概率阈值,输出所述字符串以显示。
条款22.根据条款21所述的装置,进一步包括用于执行根据条款1–12所述的任何方法的装置。
在一个或多个示例中,所描述的功能可被实现于硬件、软件、固件或其任何组合中。如果实现于软件中,则所述功能可作为一个或多个指令或代码被存储在计算机可读介质上或者经计算机可读介质发送,并且由基于硬件的处理单元执行。计算机可读介质可包括:计算机可读存储介质,其对应于诸如数据存储介质的有形介质;或者通信介质,其包括例如根据通信协议方便计算机程序从一个地点传送至另一地点的任何介质。这样,计算机可读介质通常可对应于:(1)非瞬时性的有形计算机可读存储介质;或者(2)诸如信号或载波的通信介质。数据存储介质可以是任何可用介质,其可被一个或多个计算机或者一个或多个处理器访问以检索指令、代码和/或数据结构以用于实现本公开中所描述的技术。计算机程序成品可包括计算机可读介质。
作为示例而非限制,此类计算机可读存储介质可包括RAM、ROM、EEPROM、CD-ROM或者其它光盘存储、磁盘存储或其它磁存储装置、闪存、或者可用于以指令或数据结构的形式存储期望的程序代码并且可被计算机访问的任何其它介质。另外,任何连接被适当地称为计算机可读介质。例如,如果使用同轴线缆、光纤线缆、双绞线、数字订户线(DSL)或者诸如红外、无线电和微波的无线技术从网站、服务器或者其它远程源发送指令,则同轴线缆、光纤线缆、双绞线、DSL或者诸如红外、无线电和微波的无线技术包括在介质的定义中。然而,应该理解,计算机可读存储介质和数据存储介质不包括连接、载波、信号或者其它瞬时介质,而是涉及非瞬时有形存储介质。所使用的磁盘和光盘包括紧凑盘(CD)、激光盘、光学盘、数字多功能盘(DVD)、软盘和蓝光盘,其中磁盘通常以磁方式再现数据,而光盘利用激光以光学方式再现数据。上述的组合也应该包括在计算机可读介质的范围内。
指令可由一个或多个处理器来执行,例如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或者其它等同的集成或分立的逻辑电路。因此,所使用的术语“处理器”可指上述任何结构或者适合于实现所描述的技术的任何其它结构。另外,在一些方面,所描述的功能可在专用硬件和/或软件模块内提供。另外,所述技术可完全在一个或多个电路或逻辑元件中实现。
本公开的技术可被实现于各种各样的装置或设备中,包括无线手持机、集成电路(IC)或者IC集(例如,芯片集)。在本公开中描述了各种组件、模块或者单元以着重于被配置为执行所公开的技术的装置的功能方面,而不是必然要求通过不同的硬件单元实现。相反,如上所述,各种单元可被组合在硬件单元中或者通过协作硬件单元的集合来提供,包括如上所述的一个或多个处理器,结合合适的软件和/或固件。
已描述了各种示例。这些和其它示例在所附权利要求书的范围内。

Claims (15)

1.一种方法,包括:
由计算装置输出包括多个键的图形键盘以显示;
由所述计算装置接收在存在敏感输入装置处检测到的手势的指示;
由所述计算装置至少部分地基于所述手势的指示和所述手势的至少一个特性来从所述多个键确定一个或多个键;
由所述计算装置基于来自所述多个键的所述一个或多个键来确定字符串;以及
响应于确定所述字符串未包括在词库中并且与来自所述多个键的所述一个或多个键相关联的空间模型概率超过概率阈值,由所述计算装置输出所述字符串以显示。
2.根据权利要求1所述的方法,其中,所述手势的所述至少一个特性包括所述手势的一部分的速度,并且其中,与所述一个或多个键相关联的所述空间模型概率是第一空间模型概率,所述方法进一步包括:
响应于确定所述速度满足速度阈值,由所述计算装置减小第二空间模型概率,其中,所述第二空间模型概率与所述多个键中的至少一个键相关联,并且其中,所述第一空间模型概率至少部分地基于所述第二空间模型概率。
3.根据权利要求1-2中任一项所述的方法,进一步包括:
响应于确定所述速度不满足所述速度阈值,由所述计算装置增大所述第二空间模型概率。
4.根据权利要求1-3中任一项所述的方法,其中,所述手势的所述至少一个特性包括与所述手势的一部分相关联的密度,并且其中,与所述一个或多个键相关联的所述空间模型概率是第一空间模型概率,所述方法进一步包括:
响应于确定所述密度满足密度阈值,由所述计算装置增大第二空间模型概率,其中,所述第二空间模型概率与所述多个键中的至少一个键相关联,并且其中,所述第一空间模型概率至少部分地基于所述第二空间模型概率。
5.根据权利要求1-4中任一项所述的方法,其中,所述手势的所述至少一个特性包括与所述手势的一部分相关联的曲率,并且其中,与所述一个或多个键相关联的所述空间模型概率是第一空间模型概率,所述方法进一步包括:
响应于确定所述曲率满足曲率阈值,由所述计算装置增大第二空间模型概率,其中,所述第二空间模型概率与所述多个键中的至少一个键相关联,并且其中,所述第一空间模型概率至少部分地基于所述第二空间模型概率。
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.一种计算装置,包括:
至少一个处理器;以及
至少一个模块,所述模块能够由所述至少一个处理器操作以:
输出包括多个键的图形键盘以显示;
接收在存在敏感输入装置处检测到的手势的指示;
至少部分地基于所述手势的指示和所述手势的至少一个特性来从所述多个键确定一个或多个键;
基于来自所述多个键的所述一个或多个键来确定字符串;以及
响应于确定所述字符串未包括在词库中并且与来自所述多个键的所述一个或多个键的空间模型概率超过概率阈值,输出所述字符串以显示。
15.根据权利要求14所述的装置,进一步包括用于执行根据权利要求1–12所述的任何方法的装置。
CN201380075361.6A 2013-02-05 2013-12-20 非词典字符串的手势键盘输入 Active CN105074643B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361761072P 2013-02-05 2013-02-05
US61/761,072 2013-02-05
US13/865,977 US9454240B2 (en) 2013-02-05 2013-04-18 Gesture keyboard input of non-dictionary character strings
US13/865,977 2013-04-18
PCT/US2013/077181 WO2014123633A1 (en) 2013-02-05 2013-12-20 Gesture keyboard input of non-dictionary character strings

Publications (2)

Publication Number Publication Date
CN105074643A true CN105074643A (zh) 2015-11-18
CN105074643B CN105074643B (zh) 2018-09-28

Family

ID=51258820

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380075361.6A Active CN105074643B (zh) 2013-02-05 2013-12-20 非词典字符串的手势键盘输入

Country Status (4)

Country Link
US (2) US9454240B2 (zh)
EP (2) EP2954398B1 (zh)
CN (1) CN105074643B (zh)
WO (1) WO2014123633A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109164921A (zh) * 2018-07-09 2019-01-08 北京康夫子科技有限公司 聊天框动态显示输入建议的控制方法及装置

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9454240B2 (en) 2013-02-05 2016-09-27 Google Inc. Gesture keyboard input of non-dictionary character strings
US9690478B2 (en) * 2014-03-04 2017-06-27 Texas Instruments Incorporated Method and system for processing gestures to cause computation of measurement of an angle or a segment using a touch system
US10733905B2 (en) * 2014-06-09 2020-08-04 Lingozing Holding Ltd Method and system for learning languages through a general user interface
US9514032B2 (en) 2014-09-23 2016-12-06 International Business Machines Corporation Real-time usage checking of dynamically generated program output
USD771646S1 (en) * 2014-09-30 2016-11-15 Apple Inc. Display screen or portion thereof with graphical user interface
US9678664B2 (en) * 2015-04-10 2017-06-13 Google Inc. Neural network for keyboard input decoding
US10884610B2 (en) 2016-11-04 2021-01-05 Myscript System and method for recognizing handwritten stroke input
AT520031A1 (de) * 2017-06-07 2018-12-15 Caretec Int Gmbh Vorrichtungen und Verfahren des maschinellen Schreibens und virtuellen Lesens flüchtiger taktiler Zeichen und akustischer Laute
US10629193B2 (en) * 2018-03-09 2020-04-21 Microsoft Technology Licensing, Llc Advancing word-based speech recognition processing
CN112379820B (zh) * 2020-11-24 2022-08-05 惠州Tcl移动通信有限公司 全键盘按键的输入检测方法、设备和计算机可读存储介质
US11880511B1 (en) * 2023-01-30 2024-01-23 Kiloma Advanced Solutions Ltd Real-time automatic multilingual input correction

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1761989A (zh) * 2003-01-16 2006-04-19 克利福德·A·库什勒 基于连续笔划字词的文本输入系统和方法
CN1954355A (zh) * 2003-12-22 2007-04-25 美国在线服务公司 自动更正虚拟键盘系统
US20110063231A1 (en) * 2009-09-14 2011-03-17 Invotek, Inc. Method and Device for Data Input
WO2011113057A1 (en) * 2010-03-12 2011-09-15 Nuance Communications, Inc. Multimodal text input system, such as for use with touch screens on mobile phones

Family Cites Families (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63198154A (ja) 1987-02-05 1988-08-16 インタ−ナショナル・ビジネス・マシ−ンズ・コ−ポレ−ション つづり誤り訂正装置
US5829002A (en) 1989-02-15 1998-10-27 Priest; W. Curtiss System for coordinating information transfer and retrieval
JPH086707A (ja) 1993-12-30 1996-01-12 Xerox Corp スクリーン指向ディスプレー処理システム
US5805911A (en) 1995-02-01 1998-09-08 Microsoft Corporation Word prediction system
US5764241A (en) 1995-11-30 1998-06-09 Microsoft Corporation Method and system for modeling and presenting integrated media with a declarative modeling language for representing reactive behavior
US5923778A (en) 1996-06-12 1999-07-13 Industrial Technology Research Institute Hierarchical representation of reference database for an on-line Chinese character recognition system
US5943674A (en) 1996-07-11 1999-08-24 Tandem Computers Incorporated Data structure representing an interface definition language source file
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
US6119079A (en) 1997-04-24 2000-09-12 Hewlett-Packard Company Method and structure for tokenized message logging system
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
US7750891B2 (en) * 2003-04-09 2010-07-06 Tegic Communications, Inc. Selective input system based on tracking of motion parameters of an input device
CA2392446C (en) 1999-05-27 2009-07-14 America Online Incorporated Keyboard system with automatic correction
US6654733B1 (en) 2000-01-18 2003-11-25 Microsoft Corporation Fuzzy keyboard
US7035788B1 (en) 2000-04-25 2006-04-25 Microsoft Corporation Language model sharing
CN1276336C (zh) 2000-07-21 2006-09-20 拉发耶尔·巴赫曼 实现快速书写系统的方法和快速书写机
US7117144B2 (en) 2001-03-31 2006-10-03 Microsoft Corporation Spell checking for text input via reduced keypad keys
US7385591B2 (en) 2001-03-31 2008-06-10 Microsoft Corporation Out-of-vocabulary word determination and user interface for text input via reduced keypad keys
US7027988B1 (en) 2001-07-20 2006-04-11 At&T Corp. System and method of ε removal of weighted automata and transducers
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
KR100377432B1 (ko) 2002-03-29 2003-05-09 주식회사 네오패드 문자/단어 생성 방법 및 이를 이용한 정보통신 서비스 방법
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
US7382358B2 (en) * 2003-01-16 2008-06-03 Forword Input, Inc. System and method for continuous stroke word-based text input
US7453439B1 (en) 2003-01-16 2008-11-18 Forward 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
CA2486125C (en) 2003-10-30 2011-02-08 At&T Corp. A system and method of using meta-data in speech-processing
US20050114115A1 (en) * 2003-11-26 2005-05-26 Karidis John P. Typing accuracy relaxation system and method in stylus and other keyboards
DE10357475A1 (de) 2003-12-09 2005-07-07 Siemens Ag Kommunikationsvorrichtung und Verfahren zum Eingeben und Vorhersagen von Text
US7250938B2 (en) 2004-01-06 2007-07-31 Lenovo (Singapore) Pte. Ltd. System and method for improved user input on personal computing devices
US20050192802A1 (en) 2004-02-11 2005-09-01 Alex Robinson Handwriting and voice input with automatic correction
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
US7574356B2 (en) 2004-07-19 2009-08-11 At&T Intellectual Property Ii, L.P. System and method for spelling recognition using speech and non-speech input
US7508324B2 (en) 2004-08-06 2009-03-24 Daniel Suraqui Finger activated reduced keyboard and a method for performing text input
US20060176283A1 (en) 2004-08-06 2006-08-10 Daniel Suraqui Finger activated reduced keyboard and a method for performing text input
JP4027357B2 (ja) 2004-10-08 2007-12-26 キヤノン株式会社 文字列入力装置およびその制御方法
US7634406B2 (en) 2004-12-10 2009-12-15 Microsoft Corporation System and method for identifying semantic intent from acoustic information
CN100530171C (zh) 2005-01-31 2009-08-19 日电(中国)有限公司 字典学习方法和字典学习装置
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
US20090225085A1 (en) * 2005-07-27 2009-09-10 Jukka-Pekka Hyvarinen Method and device for entering text
US20070094024A1 (en) 2005-10-22 2007-04-26 International Business Machines Corporation System and method for improving text input in a shorthand-on-keyboard interface
US20080154576A1 (en) 2006-12-21 2008-06-26 Jianchao Wu Processing of reduced-set user input text with selected one of multiple vocabularies and resolution modalities
US7912700B2 (en) * 2007-02-08 2011-03-22 Microsoft Corporation Context based word prediction
WO2008106729A1 (en) 2007-03-07 2008-09-12 Kannuu Pty Ltd Method system and apparatus for entering text on a computing device
US8059101B2 (en) 2007-06-22 2011-11-15 Apple Inc. Swipe gestures for touch screen keyboards
US8077983B2 (en) 2007-10-04 2011-12-13 Zi Corporation Of Canada, Inc. Systems and methods for character correction in communication devices
GB2453366B (en) 2007-10-04 2011-04-06 Toshiba Res Europ Ltd Automatic speech recognition method and apparatus
US8010465B2 (en) 2008-02-26 2011-08-30 Microsoft Corporation Predicting candidates using input scopes
US20090247112A1 (en) 2008-03-28 2009-10-01 Sprint Communications Company L.P. Event disposition control for mobile communications device
US8390577B2 (en) 2008-07-25 2013-03-05 Intuilab Continuous recognition of multi-touch gestures
US8423916B2 (en) 2008-11-20 2013-04-16 Canon Kabushiki Kaisha Information processing apparatus, processing method thereof, and computer-readable storage medium
GB0905457D0 (en) 2009-03-30 2009-05-13 Touchtype Ltd System and method for inputting text into electronic devices
US20100315266A1 (en) 2009-06-15 2010-12-16 Microsoft Corporation Predictive interfaces with usability constraints
US8812972B2 (en) 2009-09-30 2014-08-19 At&T Intellectual Property I, L.P. Dynamic generation of soft keyboards for mobile devices
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
US8433762B1 (en) 2009-11-20 2013-04-30 Facebook Inc. Generation of nickname dictionary based on analysis of user communications
US20110154193A1 (en) * 2009-12-21 2011-06-23 Nokia Corporation Method and Apparatus for Text Input
WO2011100573A1 (en) 2010-02-12 2011-08-18 Google Inc. Compound splitting
US8782556B2 (en) * 2010-02-12 2014-07-15 Microsoft Corporation User-centric soft keyboard predictive technologies
US8423351B2 (en) 2010-02-19 2013-04-16 Google Inc. Speech correction for typed input
US20110320978A1 (en) 2010-06-29 2011-12-29 Horodezky Samuel J Method and apparatus for touchscreen gesture recognition overlay
US8918734B2 (en) 2010-07-28 2014-12-23 Nuance Communications, Inc. Reduced keyboard with prediction solutions when input is a partial sliding trajectory
US8914275B2 (en) 2011-04-06 2014-12-16 Microsoft Corporation Text prediction
JP5731281B2 (ja) 2011-05-31 2015-06-10 Kddi株式会社 文字入力装置およびプログラム
US20120324391A1 (en) 2011-06-16 2012-12-20 Microsoft Corporation Predictive word completion
US9715489B2 (en) 2011-11-10 2017-07-25 Blackberry Limited Displaying a prediction candidate after a typing mistake
US20140122057A1 (en) 2012-10-26 2014-05-01 Google Inc. Techniques for input method editor language models using spatial input models
US9047268B2 (en) 2013-01-31 2015-06-02 Google Inc. Character and word level language models for out-of-vocabulary text input
US9454240B2 (en) 2013-02-05 2016-09-27 Google Inc. Gesture keyboard input of non-dictionary character strings
US8756499B1 (en) 2013-04-29 2014-06-17 Google Inc. Gesture keyboard input of non-dictionary character strings using substitute scoring

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1761989A (zh) * 2003-01-16 2006-04-19 克利福德·A·库什勒 基于连续笔划字词的文本输入系统和方法
CN1954355A (zh) * 2003-12-22 2007-04-25 美国在线服务公司 自动更正虚拟键盘系统
US20110063231A1 (en) * 2009-09-14 2011-03-17 Invotek, Inc. Method and Device for Data Input
WO2011113057A1 (en) * 2010-03-12 2011-09-15 Nuance Communications, Inc. Multimodal text input system, such as for use with touch screens on mobile phones

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109164921A (zh) * 2018-07-09 2019-01-08 北京康夫子科技有限公司 聊天框动态显示输入建议的控制方法及装置

Also Published As

Publication number Publication date
US10095405B2 (en) 2018-10-09
CN105074643B (zh) 2018-09-28
EP2954398A1 (en) 2015-12-16
US9454240B2 (en) 2016-09-27
US20140218299A1 (en) 2014-08-07
WO2014123633A1 (en) 2014-08-14
US20170010800A1 (en) 2017-01-12
EP3382525A1 (en) 2018-10-03
EP2954398B1 (en) 2018-08-29

Similar Documents

Publication Publication Date Title
CN105074643A (zh) 非词典字符串的手势键盘输入
US10489508B2 (en) Incremental multi-word recognition
US9471220B2 (en) Posture-adaptive selection
CN105009064B (zh) 使用语言和空间模型的触摸键盘
US9552080B2 (en) Incremental feature-based gesture-keyboard decoding
US9122376B1 (en) System for improving autocompletion of text input
CN105431809A (zh) 用于国际语言的虚拟键盘输入
US8701050B1 (en) Gesture completion path display for gesture-based keyboards
US20150160855A1 (en) Multiple character input with a single selection
KR101484583B1 (ko) 대체 점수를 사용하여 사전-내에-없는 문자열들의 제스처 키보드 입력
CN104798016A (zh) 递增多触摸手势识别
CN104020943A (zh) 字符串替换
EP2951727A2 (en) Character and word level language models for out-of-vocabulary text input
US9298276B1 (en) Word prediction for numbers and symbols
EP3241105A1 (en) Suggestion selection during continuous gesture input
US9804777B1 (en) Gesture-based text selection

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