CN105431809A - 用于国际语言的虚拟键盘输入 - Google Patents

用于国际语言的虚拟键盘输入 Download PDF

Info

Publication number
CN105431809A
CN105431809A CN201380076553.9A CN201380076553A CN105431809A CN 105431809 A CN105431809 A CN 105431809A CN 201380076553 A CN201380076553 A CN 201380076553A CN 105431809 A CN105431809 A CN 105431809A
Authority
CN
China
Prior art keywords
character strings
candidate character
grid
probability
calculation element
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
CN201380076553.9A
Other languages
English (en)
Other versions
CN105431809B (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 CN105431809A publication Critical patent/CN105431809A/zh
Application granted granted Critical
Publication of CN105431809B publication Critical patent/CN105431809B/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/018Input/output arrangements for oriental characters
    • 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/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/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/274Converting codes to words; Guess-ahead of partial word inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/041Indexing scheme relating to G06F3/041 - G06F3/045
    • G06F2203/041012.5D-digitiser, i.e. digitiser detecting the X/Y position of the input means, finger or stylus, also when it does not touch, but is proximate to the digitiser's interaction surface and also measures the distance of the input means within a short range in the Z direction, possibly with a separate measurement setup
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04803Split screen, i.e. subdividing the display area or the window area into separate subareas
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04808Several contacts: gestures triggering a specific function, e.g. scrolling, zooming, right-click, when the user establishes several contacts with the surface simultaneously; e.g. using several fingers or a combination of fingers and pen
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/044Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by capacitive means

Abstract

在一个示例中,计算装置包括至少一个处理器,其被配置为输出图形键盘以显示。所述至少一个处理器还可被配置为在第一栅格中对包括第一字母表的符号的多个候选字符串建模。所述第一栅格可指示所述多个候选字符串的空间概率。所述至少一个处理器可被配置为至少部分地基于所述多个候选字符串的空间概率使用指示第二语言的一个或多个词的概率的第二栅格来确定所述多个候选字符串中的所述至少一个对应于第二语言中所包括的至少一个词的概率。所述至少一个处理器可被配置为输出表示所述至少一个词的所述一个或多个符号以显示。

Description

用于国际语言的虚拟键盘输入
背景技术
一些计算装置(例如,移动电话、平板计算机等)可提供图形键盘作为图形用户界面的一部分,以使用存在敏感显示器(例如屏幕)来撰写文本。图形键盘可使得计算装置的用户能够输入文本(例如,电子邮件、文本消息或文档等)。例如,计算装置的存在敏感显示器可输出使得用户能够通过指示(例如,通过轻敲)存在敏感显示器处显示的键来输入数据的图形(或“软”)键盘。
在一些情况下,计算装置可呈现图形键盘,用户通过轻敲键盘的各个键或者通过在与键相关联的区域上滑动他或她的手指以基本上比划出词来与该图形键盘交互。这样,图形键盘提供允许用户通过一个或多个手势来输入字符、词或一组词的输入方法。因此,图形键盘可允许用户通过快速且准确地输入文本来实现一定程度的效率。
提供图形键盘的计算装置可利用词预测、自动校正和/或建议技术来从用户输入确定词。在一些国际语境下,图形键盘的键可与第一语言(例如英语)的字母表中的字符相关联。用户可选择图形键盘的一个或多个键以输入表示第二语言(例如,汉语、韩语、日语等)中包括的词和/或字符的字符串。使用词预测、自动校正和/或建议技术可加速文本输入并且减小拼写错误。然而,这些技术中的一个或多个可具有某些缺点。例如,在一些示例中,提供图形键盘并且依赖于上述技术中的一个或多个的计算装置可能无法从用户输入正确地确定用户所预期的第二语言的词和/或字符。因此,用户可能需要进行另外的努力以输入第二语言的字符和或词。
发明内容
在一个示例中,一种方法包括由计算装置输出包括多个键的图形键盘以显示。所述多个键中的至少一个可与包括在第一语言的第一字母表中的一个或多个符号相关联。所述方法还可包括响应于接收到在存在敏感输入装置处检测到的至少一个手势的指示,在第一栅格中对每个包括第一字母表的符号的多个候选字符串建模。所述第一栅格可指示所述多个候选字符串中的每一个的空间概率,其中所述空间概率至少部分地基于所述至少一个手势的指示。所述方法可包括对于所述多个候选字符串中的至少一个至少部分地基于所述多个候选字符串的空间概率使用指示第二语言的一个或多个词的概率的第二栅格来确定所述多个候选字符串中的所述至少一个对应于包括在第二语言中的至少一个词的概率。所述至少一个词可通过与第二语言相对应的第二字母表的一个或多个符号来表示。所述方法可包括响应于确定所述概率满足阈值,由计算装置输出表示所述至少一个词的所述一个或多个符号以显示。
在一个示例中,一种计算机可读存储介质编码有指令,所述指令在被执行时使得至少一个处理器输出包括多个键的图形键盘以显示。所述多个键中的至少一个可与包括在第一语言的第一字母表中的一个或多个符号相关联。所述计算机可读存储介质可编码有指令,所述指令使得所述至少一个处理器响应于接收到在存在敏感输入装置处检测到的至少一个手势的指示而在第一栅格中对每个包括第一字母表的符号的多个候选字符串建模。所述第一栅格可指示所述多个候选字符串中的每一个的空间概率,其中所述空间概率至少部分地基于所述至少一个手势的指示。所述计算机可读存储介质可编码有指令,所述指令使得所述至少一个处理器对于所述多个候选字符串中的至少一个至少部分地基于所述多个候选字符串的空间概率使用指示第二语言的一个或多个词的概率的第二栅格来确定所述多个候选字符串中的所述至少一个对应于包括在第二语言中的至少一个词的概率。所述至少一个词可通过与第二语言相对应的第二字母表的一个或多个符号来表示。所述计算机可读存储介质可编码有指令,所述指令使得所述至少一个处理器响应于确定所述概率满足阈值,输出表示所述至少一个词的所述一个或多个符号以显示。
在一个示例中,一种计算装置可包括至少一个处理器,其中,所述至少一个处理器被配置为输出包括多个键的图形键盘以显示。所述多个键中的至少一个可与包括在第一语言的第一字母表中的一个或多个符号相关联。所述计算装置的所述至少一个处理器可被配置为响应于接收到在存在敏感输入装置处检测到的至少一个手势的指示,在第一栅格中对每个包括第一字母表的符号的多个候选字符串建模。所述第一栅格可指示所述多个候选字符串中的每一个的空间概率,其中所述空间概率至少部分地基于所述至少一个手势的指示。所述计算装置的所述至少一个处理器可被配置为对于所述多个候选字符串中的至少一个,至少部分地基于所述多个候选字符串的空间概率使用指示第二语言的一个或多个词的概率的第二栅格来确定所述多个候选字符串中的所述至少一个对应于包括在第二语言中的至少一个词的概率。所述至少一个词可通过与第二语言相对应的第二字母表的一个或多个符号来表示。所述计算装置的所述至少一个处理器可被配置为响应于确定所述概率满足阈值,输出表示所述至少一个词的所述一个或多个符号以显示。
一个或多个示例的细节在附图和以下描述中阐述。本公开的其它特征、目的和优点将从所述描述和附图以及权利要求书显而易见。
附图说明
图1是示出依据本公开的一个或多个方面的被配置为至少部分地基于选择包括在第一语言的字母表中的字符的用户输入来确定第二语言的一个或多个字符和/或词的示例计算装置的概念图。
图2是示出依据本公开的一个或多个技术的如图1所示的计算装置的一个示例的进一步细节的框图。
图3是示出依据本公开的一个或多个技术的输出图形内容以在远程装置处显示的示例计算装置的框图。
图4是示出依据本公开的技术的栅格(lattice)的概念图,计算装置可基于选择第一语言中的字母表的字符的用户输入的指示来生成所述栅格并且使用其来确定第二语言的词。
图5是示出依据本公开的一个或多个技术的至少部分地基于选择包括在第一语言的字母表中的字符的连续手势来确定第二语言的一个或多个字符和/或词的图1所示的计算装置的一个示例的进一步细节的框图。
图6A-6B是示出依据本公开的一个或多个技术的从手势确定词和/或短语的计算装置的示例操作的流程图。
图7是示出依据本公开的一个或多个方面的至少部分地基于选择包括在第一语言的字母表中的字符的用户输入来确定第二语言的一个或多个字符和/或词的计算装置的示例操作的流程图。
图8是示出依据本公开的一个或多个方面的至少部分地基于选择包括在第一语言的字母表中的字符的用户输入来确定第二语言的一个或多个字符和/或词的计算装置的示例操作的流程图。
图9是示出依据本公开的技术的栅格的概念图,计算装置可基于选择第一语言中的字母表的字符的用户输入的指示来生成所述栅格并且使用其来确定第二语言的词。
具体实施方式
通常,本公开涉及以下的技术:在包括与第一语言的字母表的字符相对应的键的图形键盘处接收用户输入,并且至少部分地基于所述用户输入来确定第二语言的一个或多个字符和/或词。例如,在国际语境下,图形键盘的键可对应于第一语言(例如英语)的字母表的字符。为了输入第二语言(例如汉语、韩语、日语等)的字符和/或词,用户可提供选择第一语言的一组字符的用户输入,这一组字符共同地是第二语言的一个或多个字符和/或词的发音表示。例如,拼音串可以是一组拉丁字符,这一组拉丁字符共同地是汉语字符或词的发音表示。
本公开的技术可改进在国际语境下使用图形键盘对字符和/或词的自动预测和/或自动校正。例如,依据本公开的技术,计算装置可确定与图形键盘的不同区域相对应的用户输入的指示。随着计算装置递增地确定每个指示,计算装置可构造包括接近所选择的图形键盘的不同区域的键的字符的一个或多个候选字符串。计算装置可递增地构造指示基于接近所选择的图形键盘的不同区域的键的字符的候选字符串的概率的第一栅格。在一些示例中,候选字符串可包括第二语言中的词的发音表示的正确地和/或不正确地拼写的前缀。
随着计算装置接收用户输入的指示,计算装置还可基于候选字符串构造第二栅格,该第二栅格基于词汇和空间信息来指示第二语言的一个或多个词的概率。计算装置可使用第二栅格来确定第二语言的词对应于候选字符串的概率。在一些示例中,计算装置可输出与满足阈值的概率相关联的一个或多个词以显示。
这样,不同于使用静态键映射,计算装置可基于选择第二语言中的字符和/或词的发音表示的用户输入的指示以概率方式来确定用户可能意图输入的第二语言的词。因此,本公开的音译技术可改进计算装置输出第二语言的词的准确度和/或速度。所述技术可减少或防止计算装置错误地自动校正或者从手势输入错误地预测字符串。这样,所述技术可减少和/消除用户在输入词时校正自动校正或预测的词的需要。因此,计算装置可从用户接收较少输入来输入词和/或手动地校正错误,由此减少用户输入字符串的努力。在一些示例中,接收较少输入的计算装置可执行较少操作并且因此消耗较少电力。
图1是示出依据本公开的一个或多个方面的被配置为至少部分地基于选择包括在第一语言的字母表中的字符的用户输入来确定第二语言的一个或多个字符和/或词的示例计算装置的概念图。在图1的示例中,计算装置2可以是移动电话。然而,在其它示例中,计算装置2可以是平板计算机、个人数字助理(PDA)、膝上型计算机、便携式游戏装置、便携式媒体播放器、电子书阅读器、手表、电视平台或者另一类型的计算装置。
如图1所示,计算装置2包括存在敏感显示器4。计算装置2的存在敏感显示器4可用作计算装置2的输入装置并且用作输出装置。在一些示例中,存在敏感显示器4可包括集成的存在敏感输入装置和显示装置。例如,存在敏感显示器4可用作使用存在敏感屏幕的存在敏感输入装置,诸如电阻式触摸屏、表面声波触摸屏、电容式触摸屏、投射式电容触摸屏、压敏屏幕、声脉冲识别触摸屏或者另一存在敏感屏幕技术。存在敏感显示器4可使用能够将可见信息输出给计算装置2的用户的液晶显示器(LCD)、点矩阵显示器、发光二极管(LED)显示器、有机发光二极管(OLED)显示器、电子墨水或者类似单色或彩色显示器中的任一个或多个来用作输出装置。
计算装置2的存在敏感显示器4可包括可从计算装置2的用户检测用户输入的存在敏感屏幕。存在敏感显示器4可通过检测来自计算装置2的用户(例如,利用手指或者触控笔触摸或者指向存在敏感显示器4的一个或多个位置的用户)的一个或多个轻敲和/或非轻敲手势和/或连续手势来接收用户输入的指示。存在敏感显示器4的存在敏感屏幕可向用户呈现输出。存在敏感显示器4可呈现在计算装置2处执行的应用(例如电子消息应用、互联网浏览器应用等)的各种用户界面。计算装置2的用户可通过每个应用的相应用户界面来与这些应用中的一个或多个交互,以利用计算装置2来执行功能。
计算装置2可包括用户界面(“UI”)模块6和键盘模块8。模块6和8可执行使用驻留于计算装置2中并且在计算装置2上执行的软件、硬件、固件或者硬件、软件和固件的混合描述的操作。计算装置2可利用多个处理器来执行模块6和8。计算装置2可将模块6和8作为在基础硬件上执行的虚拟机来执行。模块6和8可按照各种方式来实现。例如,UI模块6和/或键盘模块8可被实现为可下载或预安装的应用或“app”。在另一示例中,UI模块6和/或键盘模块8可被实现为计算装置2的操作系统的一部分。
计算装置2的UI模块6可从存在敏感显示器4接收在存在敏感显示器4处检测的用户输入的一个或多个指示。通常,每次存在敏感显示器4接收到在存在敏感屏幕的位置处检测的用户输入的指示时,UI模块6可从存在敏感显示器4接收关于用户输入的信息。UI模块6可将从存在敏感显示器4接收的信息组装成指示手势的事件的时序集合,例如触摸事件序列。序列中的各个触摸事件可包括表示参数(例如,何时、何地、发起方向)的数据或分量,所述参数表征存在敏感屏幕处的输入的存在和/或移动。序列中的每个触摸事件可包括与存在敏感显示器4的位置相对应的位置分量、与存在敏感显示器4何时检测到该位置处的用户输入有关的时间分量以及与触摸事件对应于该位置处的上提还是下推有关的动作分量。此外,一个或多个事件可具有并发时间分量,这样的事件仅出于示例目的而被描述为触摸事件,可指示任何形式的存在敏感输入装置处的手势。
UI模块6可基于触摸事件序列确定用户输入的一个或多个特性,并且包括关于触摸事件序列中的每个触摸事件内的这些一个或多个特性的信息。例如,UI模块6可确定用户输入的起始位置、用户输入的结束位置、用户输入的一部分的密度、用户输入的一部分的速度、用户输入的一部分的方向、以及用户输入的一部分的曲率。触摸事件序列中的一个或多个触摸事件可包括(除了如上所述的时间、位置和动作分量以外)特性分量,其包括关于用户输入的一个或多个特性(例如密度、速度等)的信息。UI模块6可发送包括与每个触摸事件相关联的分量或参数化数据的触摸事件序列作为对键盘模块8的输出。
在图1的示例中,UI模块6可使得存在敏感显示器4输出示例用户界面14。在此示例中,用户界面14包括显示在存在敏感显示器4的各位置处的图形元素。图1示出用户界面14的编辑区域16A、用户界面14的图形键盘16B以及建议词区域18A-18C。编辑区域16A可包括诸如图像、对象、超链接、文本字符等的图形元素。图形键盘16B包括显示为键的图形元素。建议词区域18A和18B包括建议词,其表示替换包括在编辑区域16A中的字符串的可选择的拼写校正或词建议。在图1的示例中,编辑区域16A包括显示为文本字符22A-22B的图形元素(例如词)。计算装置2的用户可通过在显示图形键盘16B的键的存在敏感显示器4的位置处提供用户输入来在编辑区域16A中输入文本。
UI模块6可充当计算装置2的各组件之间的中介以基于存在敏感显示器4所检测的输入进行确定并且生成由存在敏感显示器4呈现的输出。例如,UI模块6可从键盘模块8接收包括图形键盘16B中所包括的键的键盘布局的表示的信息。UI模块6可基于关于存在敏感显示器4所检测的用户输入的信息来生成触摸事件。UI模块6可基于触摸事件序列中的位置分量来确定一个或多个位置分量接近于一个或多个键的选择(例如,UI模块6可确定一个或多个触摸事件的位置对应于呈现图形键盘16B的存在敏感显示器4的区域)。作为对键盘模块8的输出,UI模块6可将触摸事件序列连同存在敏感显示器4呈现每个键的位置一起发送。作为响应,UI模块6可接收字符串和一个或多个建议词作为来自键盘模块8的输入。UI模块6可更新用户界面14以将字符串包括在编辑区域16A内,将与字符串相关联的一个或多个建议词包括在建议词区域16C中。UI模块6可使得存在敏感显示器4呈现更新的用户界面14。
作为对UI模块6的输出(以用于作为用户界面14的图形键盘16B而包括),计算装置2的键盘模块8可发送包括与一个或多个书面语言(例如英语、西班牙语等)有关的多个键的键盘布局。键盘模块8可将一个或多个字符或操作指派给键盘布局中的多个键中的每个键。例如,键盘模块8可生成QWERTY键盘布局,其包括表示键入英语时所使用的字符的键。QWERTY键盘布局还可包括表示键入英语时所使用的操作的键(例如退格键、删除键、空格键、回车键等)。
键盘模块8可从UI模块6接收表示触摸事件序列的数据。触摸事件可包括表示在存在敏感显示器4呈现图形键盘16B的每个键处存在敏感显示器4的存在敏感屏幕的位置的数据。键盘模块8可使用例如空间模型10和语言模型12基于键的位置确定触摸事件序列表示对一个或多个键的选择。
为了确定与触摸事件序列相对应的一个或多个键,键盘模块8可使用一个或多个空间模型,例如空间模型10。通常,键盘模块8可使用空间模型10来生成基于与用户输入相关联的位置数据选择了图形键盘的一个或多个特定键的一个或多个概率。在一些示例中,空间模型10包括用于每个键的双变量高斯模型。键的双变量高斯模型可包括与呈现给定键的存在敏感显示器4的位置相对应的坐标(例如(x,y)坐标对)的分布。更具体地讲,在一些示例中,键的双变量高斯模型可包括与当用户意图选择给定键时用户最频繁地选择的存在敏感显示器4的位置相对应的坐标的分布。用户输入的位置数据与空间模型10的高密度区域之间的距离越短,与空间模型10相关联的键被选择的概率越高。用户输入的位置数据与空间模型10的高密度区域之间的距离越大,与空间模型10相关联的键被选择的概率越低。
键盘模块8可使用空间模型10来将触摸事件序列中的一个或多个触摸事件的位置分量(例如坐标)与图形键盘16B的一个或多个键的相应位置进行比较,并且基于这些比较生成发生键选择的概率。在一些示例中,键盘模块8可使用空间模型10生成空间模型分值。空间模型分值可至少部分地基于通过轻敲或连续手势跨越的存在敏感显示器4的位置来指示所选择的键的概率。在一些示例中,空间模型分值可至少部分地基于通过手势跨越的UI装置12的位置来指示一组选择的键的组合概率。
键盘模块8可使用空间模型10来将触摸事件序列中的每个触摸事件的位置分量与图形键盘16B的特定键的键位置进行比较。序列中的每个触摸事件的位置分量可包括存在敏感显示器4的一个位置。图形键盘16B中的键的键位置(例如键的质心)可包括存在敏感显示器4的不同位置。键盘模块8可使用空间模型10来确定两个位置之间的欧几里得距离,并且基于欧几里得距离生成键被选择的概率。相比于与一个或多个触摸事件共享较大欧几里得距离的键,空间模型10可对于与一个或多个触摸事件共享较小欧几里得距离的键指示较高概率。基于与每个键相关联的空间模型概率,键盘模块8可将具有最高空间模型概率的每个键选择组装成键的时序序列,键盘模块8然后可确定对应字符表示字符串。与字符串中的字符相关联的每个键的组合概率可表示字符串的空间模型分值。如下面进一步描述的,键盘模块8可对于触摸事件确定与接近触摸事件的位置的多个键相对应的概率。即,如果触摸事件指示接近图形键盘16B的“Z”键的位置,则键盘模块8可确定“Z”键被选择的空间模型概率,并且还可确定“X”键和“S”键被选择的空间模型概率。
键盘模块8可使用语言模型12来基于与触摸事件所指示的键序列相对应的候选字符串确定语言的一个或多个字符和/和或词。候选字符串可表示触摸事件所指示的不同的可能键序列的字符。随着键盘模块8接收用户输入的指示,键盘模块8可并发地基于候选串确定语言的一个或多个字符和/或词。键盘模块8可访问语言模型12以预测和/或自动校正被输出以用于显示在存在敏感显示器4处的词。
通常,计算装置2的语言模型12可包括语言词汇内的一组词。在一些示例中,语言模型12可基于和/或包括存储在计算装置2或者计算装置2可访问的远程计算装置处的字典中的词集合。语言模型12可基于词在给定语境中出现的频率来指示每个相应词的概率。语言模型12可实现一个或多个n元语言模型。n元语言模型可基于序列中的前面的项提供在连续项序列中项xi(字母、词、标点符号或者其它分隔符)的概率分布(即,P(xi|xi-(n-1),...,xi-1))。语言模型12在本文中进一步描述。
本公开的技术可基于与作为第一语言(例如英语)的字母表的相关联字符的图形键盘的键相对应的用户输入的指示以概率方式来确定用户可能意图输入的第二语言(例如汉语)的字符和/或词。例如,计算装置2可基于输入发音表示(例如拼音串)的用户输入的指示来确定第二语言的此类字符和/或词。用户可使用包括与第一语言的字母表的字符相对应的键的图形键盘来输入发音表示。通过依据本公开的技术以概率方式确定第二语言的字符和/或词,此类技术可减少在用户疏忽地和/或不准确地轻敲或比划了一个或多个键时用户输入此类字符和/或词的能力。
出于示例目的,进一步参照图1详细地描述所述技术。在图1的示例中,计算装置2输出包括多个键的图形键盘16B以显示。例如,键盘模块8可生成包括图形键盘16B的表示的数据。UI模块6可生成包括用户界面14的表示并且基于表示图形键盘16B的数据将图形键盘16B包括在用户界面14中的数据。UI模块8可向存在敏感显示器4发送信息,所述信息包括用于在存在敏感显示器4处显示用户界面14的指令。存在敏感显示器4可接收所述数据并且使得存在敏感显示器4呈现包括编辑区域16A、图形键盘16B和建议词区域16C的用户界面14。图形键盘16B可包括多个键。如图1所示,所述多个键可与包括在第一语言的第一字母表中的一个或多个符号(例如字符、词或者任何其它合适的表示)相关联。例如,图形键盘16B的键可与英语字母表的“Z”字符相关联。在其它示例中,多个字符可与图形键盘16B的键相关联。例如,字符“A”、“Β”和“C”可全部与单个键相关联,不同的用户输入可导致选择三个不同字符中的每一个。
在图1的示例中,用户可在输入位置20A-20I处执行一系列轻敲输入。出于示例目的,在图1中通过圆来指示每个轻敲位置20A-20I,但是在一些示例中,存在敏感显示器4可不输出此类虚线圆,并且在各种不同的示例中,这样的部分可更大和/或更小。例如,用户可能希望输入包括“zhong”和“guo”的发音表示的拼音串,其共同形成汉语词“zhongguo”。词“zhongguo”指代中国这个国家并且意思为“中国”。如图1所示,用户可能尝试输入键序列z-h-o-n-g-g-u-o;然而,用户可能疏忽地轻敲z-h-o-n-g-h-u-o。例如,用户可提供按照以下顺序选择输入位置20A-20I的输入:20A→20B→20C→20D→20E→20F→20G→20F→20G→20H→201。在输入位置20F处,与用户意图开始拼音串“guo”的“g”键的质心相比,用户可能疏忽地更靠近“h”键的质心轻敲。如本文进一步描述的,尽管用户疏忽地轻敲z-h-o-n-g-h-u-o,实现本公开的技术的计算装置2可输出预期的汉语词“中国”。
UI模块6可从存在敏感显示器4递增地接收指示轻敲位置20A-20I的信息,并且将所述信息组装成触摸事件的时序序列(例如,每个触摸事件包括位置分量、时间分量和动作分量)。UI模块6可将触摸事件发送给键盘模块8。键盘模块8可从UI模块6接收触摸事件以及与每个触摸事件相关联的信息(例如,位置、时间、动作等)。
响应于接收到在存在敏感显示器4处检测的至少一个手势的指示,键盘模块8可确定与触摸事件序列相对应的一组一个或多个不同的候选串。例如,键盘模块8可使用空间模型10确定轻敲位置20A对应于图形键盘16B的“z”键,轻敲位置20B对应于“h”键,轻敲位置20C对应于“O”键,轻敲位置20D对应于“n”键,轻敲位置20E对应于“g”键。与相应键相对应的字符序列共同地表示第一候选串“zhong”。键盘模块8还可使用空间模型10确定轻敲位置20A对应于图形键盘16B的“z”键,轻敲位置20B对应于“h”键,轻敲位置20C对应于“O”键,轻敲位置20D对应于“m”键,轻敲位置20E对应于“v”键。与相应键相对应的字符序列共同地表示第二候选串“zhomv”。因此,随着键盘模块8从UI模块6接收触摸事件,键盘模块8可递增地生成多个候选串,其每个表示与接近轻敲位置20A-20H的键相对应的字符的不同组合。
在一些示例中,候选字符串中的每个字符可具有对应的空间模型分值,其指示轻敲位置对应于与相应字符相关联的键的概率。即,字符“z”可与0.64的空间模型分值相关联,以指示轻敲输入20A对应于图形键盘16B的“z”键的概率。在一些示例中,键盘模块8为每个候选串生成表示包括在候选字符串中的字符的总空间模型分值的空间模型分值。例如,键盘模块8可为第一候选串“zhong”生成空间模型分值为第一候选串中的每个字符的单独空间模型分值的乘积。
依据本公开的技术,随着键盘模块8接收存在敏感显示器4处的轻敲手势的指示,键盘模块8可递增地确定候选字符串以及与相应候选字符串相对应的空间模型概率。如前所述,候选字符串可包括英语字母表的字符。在一些示例中,键盘模块8将包括第一字母表(例如英语)的字符的多个候选字符串中的一个或多个建模于第一栅格中。在一些示例中,每个发音表示(例如拼音串)和/或候选串可被称作“记号”,第一栅格可被称作“记号栅格”。记号栅格可指示如上所述可至少部分地基于轻敲手势的指示的多个候选字符串中的一个或多个的空间概率。
如图4中进一步示出的,记号栅格可以是包括通过边连接的顶点的图。每个顶点可由索引来标识。在一些示例中,具有n个字符的候选字符串可通过从索引为0的顶点开始到索引为n的顶点的边来建模。例如,键盘模块8可将候选字符串“zhong”与从顶点0到顶点5的边相关联。如图4中进一步描述的,键盘模块8可使用任何数量的合适的数据结构来实现记号栅格,所述数据结构存储关于边、顶点的状态信息以及记号栅格的其它对应信息。
作为对候选字符串进行建模的一部分,键盘模块8还可将权重与各条对应边相关联。在一些示例中,所述权重指示与边相关联的候选字符串的空间模型概率。例如,可将指示候选串“zhong”的空间模型概率的权重指派给与候选字符串“zhong”相关联的从顶点0至顶点5的边。在各种示例中,随着通过键盘模块8确定用户输入(例如,与轻敲位置20A-20H对应的轻敲)或者连续手势(在图5-6B中进一步示出)的部分的指示,键盘模块8可递增地使用记号栅格对多个候选字符串中的每一个进行建模。
键盘模块8可至少部分地基于多个候选字符串的空间概率使用指示第二语言的一个或多个词的概率的第二栅格以在记号栅格中建模的候选字符串为基础确定第二语言(例如汉语)的一个或多个候选词。第二语言的一个或多个候选词可由第二语言的第二字母表(例如汉语)的一个或多个符号(例如,字符、词或者其它合适的图形标记)来表示。这样的候选词可表示从第二语言预测的可与用户所输入的候选串对应的词。
在一些示例中,第二语言中的每个字符和/或词通常可被称作“词”,第二栅格可被称作“词栅格”。如记号栅格一样,词栅格可以是包括通过边连接的顶点的图。每个顶点也可由索引来标识。在一些示例中,包括第二语言的字母表的n个字符的候选词可通过从索引为0的顶点开始到索引为n的顶点的边来建模。例如,键盘模块8可沿着从顶点0至顶点2的边对包括两个汉语字符“中”和“国”的候选词“中国”进行建模。在一些示例中,构建器模块50对词栅格120进行建模,使得词栅格120的顶点共享与记号栅格110的顶点索引相同的顶点索引。即,在一些示例中,词栅格120可包括具有与记号栅格110相同的顶点索引的顶点。进一步的示例示出于图9中。如图4中进一步描述的,键盘模块8可使用任何数量的合适的数据结构来实现词栅格,所述数据结构存储关于边、顶点的状态信息以及记号栅格的其它对应的信息。
作为对候选串进行建模的一部分,键盘模块8还可将权重与每个对应边相关联。边的权重可表示在包括在第二语言中的一个或多个词的条件下一组一个或多个候选串的概率。键盘模块8可基于空间和语言模型概率来确定权重。例如,边的权重可至少部分地基于在汉语词“中国”的条件下“zhonghuo”的语言模型概率,汉语词“中国”可以是包括在语言模型12中的汉语词。换言之,键盘模块8可确定假定汉语词“中国”(“zuhongguo”)是用户意图输入的词,用户输入候选串“zhonghuo”(包括两个候选串“zhong”和“huo”)的概率。如图4中进一步描述的,在“中国”的条件下“zhonghuo”的语言模型概率可基于例如“中国”出现在汉语中的频率、接收用户输入的指示的语境(例如,使用n元语言模型)等。如先前在上面指示的,用户在意图输入与汉语词“中国”相对应的“zhongguo”时可能疏忽地键入“huo”而不是字符串“guo”。键盘模块8因此可在词栅格中创建多条边,这些边指示在汉语词“中国”的条件下不同候选字符串组合的概率。这样,如果用户疏忽地轻敲非预期或者不正确的字符(例如,在输入“guo”时“h”键而非“g”),则键盘模块8提供通过测试多个不同的候选字符串来确定第二语言的词的技术。这样,所述技术提供更能适应用户输入错误的词预测技术,从而改进用户体验并且减少用户输入文本的努力。
键盘模块8可至少部分地基于“zhong”和“huo”(其共同地可包括与词“中国”的词栅格中的边对应的字符串“zhonghuo”)的组合的空间模型概率来确定“zhonghuo”的边的权重。即,在一些示例中,键盘模块8可确定包括候选串“zhong”的空间模型概率和候选串“huo”的空间模型概率的乘积的组合的空间模型概率。
在一些示例中,键盘模块8对于语言模型12中所包括的给定词(例如,“中国”)以及一组一个或多个候选串(例如,“zhonghuo”)至少部分地基于组合的空间模型概率和语言模型概率来确定词栅格中的边的权重。在一些示例中,键盘模块8可将组合的空间模型概率和语言模型概率相加或相乘,以生成指示在语言模型中所包括的词的条件下一个或多个候选串的总概率的组合权重。给定边的权重越大可指示与该边相对应的第二语言的词为用户所预期的概率越高。给定边的权重越小可指示与该边相对应的词为用户所预期的概率越低。在各种示例中,随着键盘模块8确定用户输入的指示,键盘模块8可递增地基于候选串使用词栅格来确定包括在语言模型12中的一个或多个词。
键盘模块8可将一个或多个候选词或短语以及相关联的权重输出给UI模块6以用于包括在用户界面14的编辑区域16A中或者作为用户界面14的建议词区域18A和18B中的单独建议词。例如,键盘模块8可确定与具有满足阈值的权重的边相关联的一个或多个候选词。作为一个示例,键盘模块8可从词栅格确定具有两个最高权重的两个候选词。键盘模块8可将表示这两个词候选的数据发送给UI模块6。UI模块6可从键盘模块8接收表示一个或多个候选词或短语(包括原字符串)的数据以及所述一个或多个候选词或短语的权重或者与权重相对应的排序。
UI模块6可通过将最高排序候选词作为建议词“中国”包括来更新建议词区域18A。UI模块6可通过将第二高的候选词作为建议词“重活”包括来更新建议词区域18B。从用户界面14,用户可通过接近存在敏感显示器4输出建议词18A的存在敏感显示器4的位置轻敲或者提供输入来在轻敲位置201处提供对建议词18A的用户输入。例如,用户在存在敏感显示器4呈现建议词18A(例如,“中国”)的存在敏感显示器4的位置上轻敲。在建议词38A上轻敲可使得UI模块6更新用户界面14和编辑区域16A中的“中国”。
这样,本公开的技术可使得计算装置能够输出用户所预期的第二语言的字符和/或词,尽管用户输入的指示可包括疏忽的和/或不正确的用户输入。例如,在上述示例中,尽管用户可能疏忽地轻敲“huo”而不是所预期的“guo”,但是键盘模块8基于词栅格的权重输出预期的词“中国”。因此,所述技术可使得用户能够在计算装置处使用包括第一语言的字母表的键盘更快速地输入第二语言的文本。由于用户可提供较少输入以校正计算装置和/或输入文本,实现本公开的技术的计算装置可执行较少的操作,结果消耗较少电力。
图2是示出依据本公开的一个或多个方面的示例计算装置的框图。下面在图1的背景下描述图2的计算装置2。图2仅示出计算装置2的一个特定示例,计算装置2的许多其它示例可在其它实例中使用并且可包括示例计算装置2中所包括的组件的子集或者可包括图2未示出的附加组件。
如图2的示例中所示,计算装置2包括存在敏感显示器4、一个或多个处理器40、一个或多个输入装置42、一个或多个通信单元44、一个或多个输出装置46以及一个或多个存储装置48。计算装置2的存储装置48还包括UI模块6、键盘模块8、输入查找模块48、构建器模块50、解码模块52、一个或多个栅格54、空间模型10以及语言模块12。通信信道50可将每个组件4、40、42、44、46、48、8、48、50、52、6、54、10和12互连以用于组件间通信(物理地、通信地和/或操作地)。在一些示例中,通信信道50可包括系统总线、网络连接、进程间通信数据结构、或者用于数据通信的任何其它方法。
计算装置2的一个或多个输入装置42可接收输入。输入的示例是触觉、听觉和视频输入。在一个示例中,计算装置2的输入装置42包括鼠标、键盘、语音响应系统、视频相机、麦克风或者用于检测来自人或机器的输入的任何其它类型的装置。在一些示例中,输入装置42可以是存在敏感输入装置,其可包括存在敏感屏幕、触敏屏幕等。
计算装置2的一个或多个输出装置46可生成输出。输出的示例是触觉、听觉和视频输出。在一个示例中,计算装置2的输出装置46包括存在敏感显示器、声卡、视频图形适配器、扬声器、阴极射线管(CRT)监视器、液晶显示器(LCD)或者用于生成对人或机器的输出的任何其它类型的装置。输出装置46可包括诸如阴极射线管(CRT)监视器、液晶显示器(LCD)的显示装置或者用于生成视觉输出的任何其它类型的装置。
计算装置2的一个或多个通信单元44可经由一个或多个网络通过在所述一个或多个网络上发送和/或接收网络信号来与外部装置通信。例如,计算装置2可使用通信单元44在诸如蜂窝无线电网络的无线电网络上发送和/或接收无线电信号。同样,通信单元44可在诸如GPS网络的卫星网络上发送和/或接收卫星信号。通信单元44的示例包括网络接口卡(例如,以太网卡)、光学收发器、射频收发器、GPS接收机或者可发送和/或接收信息的任何其它类型的装置。通信单元44的其它示例可包括存在于移动装置中的GPS、3G、4G和无线电以及通用串行总线(USB)控制器。
在一些示例中,计算装置2的存在敏感显示器4可包括输入装置42和/或输出装置46的功能。在图2的示例中,存在敏感显示器4可以是或者可以包括存在敏感输入装置,例如存在敏感屏幕、触敏屏幕等。在一些示例中,存在敏感屏幕可检测存在敏感屏幕处和/或附近的对象。作为一个示例范围,存在敏感屏幕可检测在存在敏感屏幕2英寸或更短的距离内的对象(例如,手指或触控笔)。存在敏感屏幕可确定检测到对象的存在敏感屏幕的位置(例如,(x,y)坐标)。在另一示例范围中,存在敏感屏幕可检测距存在敏感屏幕6英寸或更短的距离的对象,其它范围也是可能的。存在敏感屏幕可使用电容、电感和/或光学识别技术来确定通过用户的手指选择的屏幕的位置。在一些示例中,如关于输出装置46所述的,存在敏感显示器4使用触觉、音频或视频刺激来向用户提供输出。在图2的示例中,存在敏感显示器4呈现用户界面,例如图1的用户界面14。
尽管被示出为计算装置2的内部组件,存在敏感显示器4也可表示与计算装置2的其它组件共享数据路径以用于发送和/或接收输入和输出的外部组件。例如,在一个示例中,存在敏感显示器4表示位于计算装置2的外部封装内并且与其物理地连接的计算装置2的内置组件(例如,移动电话上的屏幕)。在另一示例中,存在敏感显示器4可以是位于计算装置2的封装外并且与其物理地分离的计算装置2的外部组件(例如,与平板计算机共享有线和/或无线数据路径的监视器、投影仪等)。
计算装置2内的一个或多个存储装置48可在计算装置2的操作期间存储用于处理的信息。在一些示例中,存储装置48是临时存储器,意指存储装置48的主要目的不是长期存储。计算装置2上的存储装置48可被配置成易失性存储器以用于信息的短期存储,因此如果电源关闭则不保留存储的内容。易失性存储器的示例包括随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)以及本领域已知的其它形式的易失性存储器。
在一些示例中,存储装置48还包括一个或多个计算机可读存储介质。存储装置48可被配置为存储比易失性存储器更大量的信息。存储装置48还可被配置成非易失性存储空间以用于信息的长期存储,并且在电源打开/关闭循环之后保留信息。非易失性存储器的示例包括磁硬盘、光盘、软盘、闪存或者电可编程存储器(EPROM)或电可擦除可编程(EEPROM)存储器的形式。存储装置48可存储与UI模块6、键盘模块8、输入查找模块48、构建器模块50、解码模块52、一个或多个栅格54、空间模型10以及语言模块12相关联的程序指令和/或数据。
一个或多个处理器40可在计算装置2内实现功能和/或执行指令。例如,计算装置2上的处理器40可接收并执行由存储装置48存储的指令,其执行UI模块6、键盘模块8、输入查找模块48、构建器模块50、解码模块52、一个或多个栅格54、空间模型10和语言模块12的功能。由处理器40执行的这些指令可使得计算装置2在程序执行期间在存储装置48内存储信息。处理器40可执行UI模块6、键盘模块8、输入查找模块48、构建器模块50、解码模块52、一个或多个栅格54、空间模型10和语言模块12的指令以使得存在敏感显示器4在存在敏感显示器4处显示具有编辑区域16A、图形键盘16B和建议词区域18A-18B的用户界面14。即,模块UI模块6、键盘模块8、输入查找模块48、构建器模块50、解码模块52、一个或多个栅格54、空间模型10和语言模块12可由处理器40操作以执行各种动作,包括在存在敏感显示器4的存在敏感屏幕的位置处接收手势的指示以及使得存在敏感显示器4在存在敏感显示器4处呈现用户界面14。
依据本公开的方面,键盘模块8可初始地向UI模块6发送数据以使得存在敏感显示器4输出图形键盘以显示。该图形键盘可包括多个键。所述多个键中的至少一个可与包括在第一语言的第一字母表中的一个或多个符号相关联。例如,在一些示例中,一个或多个键可与包括在英语字母表中的单个字符相关联。在另一示例中,一个或多个键可各自与包括在英语字母表中的多个字符相关联。尽管出于示例目的,本公开的示例可涉及第一语言为英语,但是第一语言可以是任何语言,并且第一语言的第一字母表可以是任何字母表。符号通常可指字符、词或者字母表和/或语言中的成分的其它图形表示。
在一些示例中,用户可在存在敏感显示器4的输出图形键盘以显示的区域处执行轻敲和/或连续手势。响应于接收到在存在敏感输入装置4处检测到的至少一个手势的指示,构建器模块50可在第一栅格中对每个包括第一字母表的符号的多个字符串建模。第一栅格可指示多个字符串中的每一个的空间概率。在一些示例中,空间概率至少部分地基于至少一个手势的指示。
在一些示例中,构建器模块50可至少部分地基于多个字符串的空间概率对于所述多个字符串中的至少一个使用指示第二语言的一个或多个词的概率的第二栅格来确定所述多个字符串中的至少一个对应于第二语言中所包括的至少一个词的概率。如图4中进一步描述的,词栅格120的边可指示所述多个字符串中的至少一个对应于第二语言中所包括的至少一个词的概率。所述至少一个词可由与第二语言相对应的第二字母表的一个或多个符号来表示。
在一些示例中,响应于确定一个概率满足阈值,解码模块52可向UI模块6发送数据以使得存在敏感显示器4输出表示至少一个词的一个或多个符号以显示。例如,如图4中进一步描述的,解码模块52可如图4中所示地确定词栅格120的一条或多条边的权重。解码模块52可确定一条或多条边的权重满足阈值。例如,解码模块52可确定一个或多个权重大于阈值。在这样的示例中,解码模块52可向UI模块6发送数据以使得存在敏感显示器4输出与边相关联的词以显示。尽管关于输出第二语言的词描述了本公开的技术,所述技术也可用于预测、自动校正和/或输出单个字符、多词短语、句子等。
图3是示出依据本公开的一个或多个技术的输出图形内容以在远程装置处显示的示例计算装置的框图。通常,图形内容可包括可被输出以显示的任何视觉信息,例如文本、图像、运动图像组等。图3所示的示例包括计算装置60、存在敏感显示器64、通信单元70、投影仪80、投影仪屏幕82、移动装置86和视觉显示装置90。尽管在图1和图2中为了示例的目的被示出为独立式计算装置10,诸如计算装置60的计算装置通常可以是包括处理器或者用于执行软件指令的其它合适的计算计算环境的任何组件或系统,并且例如,不需要包括存在敏感显示器。
如图3的示例中所示,计算装置60可以是包括如关于图2中的处理器40描述的功能的处理器。在这样的示例中,计算装置60可通过通信信道62A(可以是系统总线或者其它合适的连接)在操作上耦合至存在敏感显示器64。计算装置60还可通过通信信道62B(也可以是系统总线或者其它合适的连接)在操作上耦合至通信单元70(下面进一步描述)。尽管如图3中的示例单独地示出的,计算装置60可通过一个或多个通信信道中的任何数量的通信信道在操作上耦合至存在敏感显示器64和通信单元70。
在其它示例中,例如先前通过图1-2中的计算装置10示出的,计算装置可指代便携式或移动装置,例如移动电话(包括智能电话)、膝上型计算机等。在一些示例中,计算装置可以是台式计算机、平板计算机、智能电视平台、相机、个人数字助理(PDA)、服务器、主机等。
存在敏感显示器64(类似如图1所示的存在敏感显示器4)可包括显示装置66和存在敏感输入装置68。显示装置66可例如从计算装置60接收数据并且显示图形内容。在一些示例中,存在敏感输入装置68可使用电容、电感和/或光学识别技术来确定存在敏感显示器64处的一个或多个用户输入(例如,连续手势、多触摸手势、单触摸手势等),并且使用通信信道62A将这样的用户输入的指示发送给计算装置60。在一些示例中,存在敏感输入装置68可物理上位于显示装置66顶部,使得当用户将输入单元定位在由显示装置66显示的图形元素上方时,存在敏感输入装置68的位置对应于显示图形元素的显示装置66的位置。
如图3所示,计算装置60还可包括和/或在操作上耦合至通信单元70。通信单元70可包括如图2中描述的通信单元44的功能。通信单元70的示例可包括网络接口卡、以太网卡、光学收发器、射频收发器或者可发送和接收信息的任何其它类型的装置。这样的通信单元的其它示例可包括蓝牙、3G和Wi-Fi无线电、通用串行总线(USB)接口等。计算装置60还可包括和/或在操作上耦合至图3中出于简明和例示目的而未示出的一个或多个其它装置,例如输入装置、输出装置、存储器、存储装置等。
图3还示出投影仪80和投影仪屏幕82。投影装置的其它此类示例可包括电子白板、全息显示装置以及用于显示图形内容的任何其它合适的装置。投影仪80和投影仪屏幕82可包括使得相应装置能够与计算装置60通信的一个或多个通信单元。在一些示例中,一个或多个通信单元可允许投影仪80与投影仪屏幕82之间的通信。投影仪80可从计算装置60接收包括图形内容的数据。响应于接收到所述数据,投影仪80可将图形内容投影到投影仪屏幕82上。在一些示例中,投影仪80可使用光学识别或者其它合适的技术来确定投影仪屏幕处的一个或多个用户输入(例如,连续手势、多触摸手势、单触摸手势等),并且利用一个或多个通信单元将这样的用户输入的指示发送给计算装置60。在这样的示例中,投影仪屏幕82可能是不必要的,投影仪80可将图形内容投影在任何合适的介质上,并且使用光学识别或者其它这样的合适的技术来检测一个或多个用户输入。
在一些示例中,投影仪屏幕82可包括存在敏感显示器84。存在敏感显示器84可包括如本公开中所述的UI装置4的功能的子集或者所有功能。在一些示例中,存在敏感显示器84可包括附加功能。投影仪屏幕82(例如,电子白板)可从计算装置60接收数据并且显示图形内容。在一些示例中,存在敏感显示器84可使用电容、电感和/或光学识别技术来确定投影仪屏幕82处的一个或多个用户输入(例如,连续手势、多触摸手势、单触摸手势等),并且使用一个或多个通信单将这样的用户输入的指示发送给计算装置60。
图3还示出移动装置86和视觉显示装置90。移动装置86和视觉显示装置90可各自包括计算和连接能力。移动装置86的示例可包括电子阅读器装置、可转换笔记本装置、混合板状装置等。视觉显示装置90的示例可包括诸如电视、计算机监视器等的其它半固定装置。如图3所示,移动装置86可包括存在敏感显示器88。视觉显示装置90可包括存在敏感显示器92。存在敏感显示器88、92可包括如本公开中所述的存在敏感显示器4的功能的子集或者所有功能。在一些示例中,存在敏感显示器88、92可包括附加功能。在任何情况下,例如,存在敏感显示器92可从计算装置60接收数据并且显示图形内容。在一些示例中,存在敏感显示器92可使用电容、电感和/或光学识别技术来确定投影仪屏幕处的一个或多个用户输入(例如,连续手势、多触摸手势、单触摸手势等),并且使用一个或多个通信单将这样的用户输入的指示发送给计算装置60。
如上所述,在一些示例中,计算装置60可输出图形内容以显示在存在敏感显示器64处,其通过系统总线或者其它合适的通信信道耦合至计算装置60。计算装置60还可输出图形内容以显示在诸如投影仪80、投影仪屏幕82、移动装置86和视觉显示装置90的一个或多个远程装置处。例如,计算装置60可依据本公开的技术执行一个或多个指令以生成和/或修改图形内容。计算装置60可将包括图形内容的数据输出给计算装置60的通信单元,例如通信单元70。通信单元70可将所述数据发送给诸如投影仪80、投影仪屏幕82、移动装置86和/或视觉显示装置90的远程装置中的一个或多个。这样,计算装置60可输出图形内容以显示在一个或多个远程装置处。在一些示例中,一个或多个远程装置可将图形内容输出在包括在相应远程装置中和/或在操作上耦合至相应远程装置的存在敏感显示器处。
在一些示例中,计算装置60可不将图形内容输出在操作上耦合至计算装置60的存在敏感显示器64处。在其它示例中,计算装置60可输出图形内容以显示在通过通信信道62A耦合至计算装置60的存在敏感显示器64以及一个或多个远程装置处。在这样的示例中,图形内容可在每个相应装置处基本上同时地显示。例如,可由于将包括图形内容的数据发送给远程装置的通信时延而引入一些延迟。在一些示例中,由计算装置60生成并且输出以显示在存在敏感显示器64处的图形内容可不同于输出以显示在一个或多个远程装置处的图形内容显示。
计算装置60可使用任何合适的通信技术来发送和接收数据。例如,计算装置60可使用网络链路72A在操作上耦合至外部网络74。图3所示的每个远程装置可通过相应网络链路72B、72C和72D中的一个在操作上耦合至网络外部网络74。外部网络74可包括在操作上相互耦合的网络集线器、网络交换机、网络路由器等,从而提供用于计算装置60与图3所示的远程装置之间的信息交换。在一些示例中,网络链路72A–72D可以是以太网、ATM或者其它网络连接。这样的连接可以是无线和/或有线连接。
在一些示例中,计算装置60可使用直接装置通信78在操作上耦合至图3中所包括的一个或多个远程装置。直接装置通信78可包括这样的通信,计算装置60通过其来使用有线或无线通信直接与远程装置发送和接收数据。即,在直接装置通信78的一些示例中,由计算装置60发送的数据可在远程装置处被接收之前不被一个或多个附加装置转发,反之亦然。直接装置通信78的示例可包括蓝牙、近场通信、通用串行总线、Wi-Fi、红外等。图3所示的一个或多个远程装置可通过通信链路76A–76D在操作上与计算装置60耦合。在一些示例中,通信链路76A–76D可以是使用蓝牙、近场通信、通用串行总线、红外等的连接。这样的连接可以是无线和/或有线连接。
依据本公开的技术,计算装置60可使用外部网络74在操作上耦合至视觉显示装置90。计算装置60可输出图形键盘以用于显示在存在敏感显示器92处。例如,计算装置60可将包括图形键盘的表示的数据发送给通信单元70。通信单元70可使用外部网络74将包括图形键盘的表示的数据发送给视觉显示装置90。响应于使用外部网络74接收到所述数据,视觉显示装置90可使得存在敏感显示器92输出图形键盘。响应于用户在存在敏感显示器92处(例如,在输出图形键盘的存在敏感显示器92的一个区域处)执行手势,视觉显示装置90可使用外部网络74将手势的指示发送给计算装置60。通信单元70可接收手势的指示并且将该指示发送给计算装置60。
响应于接收到在存在敏感输入装置处检测到的至少一个手势的指示,计算装置60可在第一栅格中对各自包括第一字母表的符号的多个字符串建模。第一栅格可指示多个字符串中的每一个的空间概率。在一些示例中,所述空间概率至少部分地基于至少一个手势的指示。计算装置60可至少部分地基于多个字符串的空间概率对于所述多个字符串中的至少一个使用指示第二语言的一个或多个词的概率的第二栅格来确定所述多个字符串中的至少一个对应于包括在第二语言中的至少一个词的概率。所述至少一个词可由与第二语言相对应的第二字母表的一个或多个符号来表示。响应于确定一个概率满足阈值,计算装置60可输出表示至少一个词的一个或多个符号以显示。例如,计算装置60可将表示所述至少一个词的数据发送给通信单元70。通信单元70可经由外部网络74向视觉显示装置90发送数据。视觉显示装置90可使得存在敏感显示器92输出由所述数据表示的至少一个词。
图4是示出依据本公开的技术的栅格的概念图,计算装置可基于选择第一语言中的字母表的字符的用户输入的指示来生成所述栅格并且使用其来确定第二语言的词。出于示例目的关于如图1-2的示例中所示的计算装置2描述本公开的技术。在一些示例中,随着UI模块6确定用户输入(例如,轻敲手势)的指示,UI模块6可如先前图1-2中所述地生成触摸事件。触摸事件可包括与存在敏感显示器4的位置相对应的位置分量、与存在敏感显示器4何时在该位置处检测到用户输入有关的时间分量和/或与触摸事件是对应于该位置处的上提还是下推有关的动作分量。UI模块6可将触摸事件发送给输入查找模块48,如图2中所示。
输入查找模块48可基于触摸事件中所指示的存在敏感屏幕4的一个或多个位置来确定邻居键列表。邻居键列表可包括接近触摸事件中所指示的一个或多个位置的一组图形键。例如,输入查找模块48可确定在触摸事件中所指示的一个或多个位置的阈值距离内的一组键。在其它示例中,输入模块48可确定与键和触摸事件中所指示的位置之间的最小距离相对应的一组键。例如,输入查找模块48可在邻居键列表中包括与触摸事件中所指示的一个或多个位置的距离最短的两个键。在一些示例中,输入查找模块48可确定键的质心与一个或多个触摸位置之间的距离。在其它示例中,输入模块48可确定从键的任何合适的位置到一个或多个触摸位置的距离。
在一些示例中,输入查找模块48确定邻居键列表中的每个键的空间模型概率。例如,响应于确定对图1的轻敲位置20A的触摸事件,邻居键列表可包括与“z”键和“x”键相对应的键信息。使用该键信息和空间模型10,输入查找模块48可确定“z”键的空间模型概率。类似地,查找模块48可确定“x”键的空间模型概率。在当前示例中,查找模块48可确定“z”键的空间模型概率为0.64,“x”键的空间模型概率为0.36。在一些示例中,输入查找模块48可将邻居键列表以及邻居键列表中所包括的每个键的对应空间模型概率发送给构建器模块50。
构建器模块50可接收邻居键列表以及邻居键列表中的各个键的对应空间模型概率。通常,构建器模块50可依据本公开的技术构建一个或多个栅格。例如,如图4所示,构建器模块50可生成字符栅格100。字符栅格100可对与每个输入手势(例如,一个或多个轻敲和/或连续手势)相对应的字符建模。构建器模块50可生成字符栅格100作为具有顶点(例如,顶点102A-102C)和边(例如,边104A-104D)的有向非环形图。
随着用户提供轻敲输入,构建器模块50可递增地从输入模块48接收指示接近轻敲输入的键的邻居键列表。各个顶点可被生成并对应于轻敲输入。每条边可对应于与轻敲输入相对应的可能字符。对于首先确定的轻敲输入,构建器模块50可生成从具有索引0的顶点102A到具有索引1的顶点102B的一条或多条边。每个顶点可与不同的索引相关联,其中,根顶点可被指派索引值0。构建器模块50可对于邻居键列表中的每个键生成从顶点102A至顶点102B的相应边。例如,构建器模块50可对于键“z”生成边104A,对于键“x”生成边104B。构建器模块50还可将“z”键的空间模型概率(例如,0.64)与“z”键所对应的边104A相关联,使得空间模型概率是边104A的权重。类似地,构建器模块50可将“x”键的空间模型概率(例如,0.36)与“x”键所对应的边104B相关联。因此,构建器模块50可确定接近轻敲输入的位置的图形键盘的键的空间模型概率。在一些示例中,当键的位置与轻敲输入之间的距离满足阈值时,图形键盘的键可接近轻敲输入的位置。例如,如果键的位置与轻敲输入之间的距离小于阈值,则可满足该阈值。在一个示例中,所述距离可以是确定的在0-100毫米的范围内的距离。在一些示例中,键的位置可以是键的质心。在其它示例中,键的位置可以是与键相对应的任何位置。在一些示例中,当键的位置与轻敲输入之间的像素数满足阈值时,图形键盘的键可接近轻敲输入的位置。在一个示例中,所述像素数可以是确定的在0-1000的范围内的像素数。
随着构建器模块50递增地接收轻敲输入,构建器模块50生成附加顶点102B、102C等,并且生成到字符栅格100的相应顶点的边104A-104D等。各个后续轻敲输入可利用顶点的下一递增索引值来建模。即,构建器模块50对于基于第一轻敲输入建模的字符生成从具有索引0的顶点到具有索引1的顶点的边。构建器模块50对于基于第二轻敲输入建模的字符生成从具有索引1的顶点到具有索引1的顶点的边,依此类推。这样,随着用户在图形键盘16B处轻敲“zhonghuo”,构建器模块50可对于与轻敲输入相对应的可能键生成边。因此,构建器模块50可在第三栅格中生成各自与接近轻敲输入的位置的图形键盘的键相对应的边。因此,字符栅格可指示用户可能在提供轻敲输入时可能轻敲的不同键的相应概率。键的空间模型分值越高可指示用户意图选择该键的概率越高,而键的空间模型分值越低可指示用户意图选择该键的概率越低。
随着UI模块6响应于用户输入而生成触摸事件,构建器模块50还可递增地构造记号栅格110,如图4所示。记号栅格110也可被实现为具有如图4所示的顶点和边的有向非环形图。在一些示例中,记号栅格110可包括顶点索引与字符栅格100相同的顶点。例如,顶点112A可包括与顶点102A相同的索引,顶点112B可包括与102B相同的索引,顶点112C可包括与顶点103C相同的索引,等等。
构建器模块50还可生成与候选字符串相对应的边。如先前图1中所描述的,候选字符串可表示与用户所轻敲的可能键相对应的字符的组合。每个候选字符串可与发音表示(例如,表示汉语字符的拼音串)相对应。在一些示例中,候选字符串可以是包括诸如音节、词等的语义和/或语音单元的一组字符。在一些示例中,候选字符串可以是发音表示的准确拼写,例如“zhong”和“guo”。
构建器模块50可选择与字符栅格100的边相对应的一组一个或多个字符以形成候选字符串,并且将候选字符串与记号栅格110的边相关联。例如,构建器模块50可将候选字符串“zhong”与边114C相关联。边114C的首顶点112A的索引可对应于0,尾顶点112D的索引可对应于5。即,构建器模块50可将尾顶点的索引确定为等于n,其中n是候选串中的字符数。例如,在图4中,候选字符串“zhong”包括5个字符,因此构建器模块50可确定边114C的尾顶点是顶点112D并且具有索引5。
如图4中所示,构建器模块50还可生成从顶点112D到顶点112E的边114A。边114A可对应于候选字符串“guo”。构建器模块50还可生成从顶点112D到顶点112E的边114B。边114A可对应于候选字符串“huo”。如下面进一步描述的,构建器模块50可从字符栅格100确定任何数量的候选字符串并且将相应候选字符串与记号栅格110的边相关联。
记号栅格110的每条边还可包括权重。记号栅格110中的边的权重可指示与该边相关联的候选字符串的总空间模型概率。总空间模型概率可表示与候选字符串中的字符所对应的字符栅格100中的每条边相关联的组合权重。例如,“zhong”的总空间模型概率(即,边114C的权重)可基于与字符“z”、“h”、“o”、“n”、“g”相对应的字符栅格100中的边的权重。在一个示例中,构建器模块50可确定边114C的权重等于以下乘积:0.64×0.78×0.65×0.55×0.58=0.104。即,构建器模块50可确定包括在多个候选字符串中的候选字符串中的一组字符,并且确定与包括在候选字符串中的字符相对应的键的空间模型概率。基于所述确定,构建器模块50至少部分地基于与包括在候选字符串中的字符对应的键的空间模型概率来确定候选字符串的总空间模型概率。构建器模块50可类似地确定边114A和114B的权重。
构建器模块50可使用各种技术来确定包括在记号栅格110中的边的数量、记号栅格110的每个候选字符串中的字符的数量以及从字符栅格100确定的字符串的起始和结束字符。在一些示例中,构建器模块50可基于阈值来确定包括在记号栅格110中的边的数量(因此,候选串的数量)。例如,构建器模块50可在记号栅格110中包括数量少于阈值的边。在一些示例中,包括在记号栅格110中的边的数量可基于时间窗口和/或键击量窗口。这样,随着接收到附加字符和/或从初始输入过去了附加时间,边的寿命可衰减,并且最终构建器模块50可将边从记号栅格110移除。在其它示例中,响应于确定分隔符或者确定用户选择了一个或多个字符和/或词,构建器模块50可将边从记号栅格110移除。
在一些示例中,构建器模块50可基于一个或多个规则来确定与记号栅格110的边相关联的每个候选字符串中的字符数量。在一些示例中,所述一个或多个规则可在包括不同的可能候选字符串的词典中实现。所述规则可基于例如字符跟随其它给定字符的频率、字符被输入的语境等来指示候选字符串组的概率,如本文下面进一步描述的。
词典可由诸如阵列、列表和/或树的一系列数据结构表示。例如,在一些示例中,计算装置2可包括在词典树(trie)数据结构中实现的词典。词典可包括词的列表,并且可包括关于所列词的附加信息。词典树数据结构可包含多个节点,各个节点可表示字母。词典树中的第一节点可被称作入口节点,其可不对应于字母。在其它示例中,入口节点可对应于字母。每个节点可包括到一个或多个子节点的一个或多个分支。例如,入口节点可具有二十六个子节点,每个子节点对应于字母表(例如英语字母表)的字母。这二十六个子节点可每个具有与附加节点相对应的一个或多个分支。每个附加节点可与字符相关联。子节点可包括概率,其指示子节点的字母跟随在父节点的字母之后的概率。所述概率可基于一个或多个词和/或字符n元语言模型、子节点的字符出现的频率等。这样,词典树中的路径可包括与候选字符串相对应的子节点链。例如,从入口节点开始的子节点链可包括字符“z”、“h”、“o”、“n”、“g”,其中每个子节点包括字符中的一个。
词典树中的节点的子集可各自包括指示节点是终端节点的标志。词典树的每个终端节点可指示完整候选串。因此,从入口节点沿着节点的路径到终端节点的节点所指示的字母可拼出终端节点所指示的候选字符串。在一些示例中,词典树基于安装在计算装置2上的字典。在其它示例中,词典树可基于多个源,其可被存储在计算装置2处或者存储在一个或多个远程计算装置处并且可由计算装置2经由一个或多个通信信道来访问。
字典可指示可能的候选字符串的语料库。例如,字典可包括第二语言(例如汉语)的字符和/或词的发音表示。即,在字典包括汉语拼音串的示例中,字典可包括诸如“zhong”、“huo”、“guo”等的拼音串。
如果节点是从入口节点的节点路径中的子节点,并且包括在沿着该路径的先辈节点中的字符包括字典中所包括的词的字符串,则词典树中的节点可包括指示终端记号的标志。例如,包括[<入口>、“z”、“h”、“o”、“n”、“g”]作为相应值的六个节点的路径可包括指示包括字母“g”的第六节点中的终端节点的标志。这样,当从入口节点至终端节点遍历词典树时,计算装置2可确定候选字符串的开始和结束。
在一些示例中,在一些示例中,词典树的节点可包括基于诸如n元语言模型的语言模型频率信息包括在节点中的字符的概率。n元语言模型可提供在连续项序列中项xi(字母或词)基于序列中的前面的项的概率分布(即,P(xi|xi-(n-1),...,xi-1))。例如,二元语言模型(其中n=2的n元模型)可提供字母“o”跟随在序列“zh”之后的概率。在一些示例中,词典树可包括整合的语言模型频率信息。例如,词典树的每个节点可包括字母和概率值的表示。
在一些示例中,构建器模块50可基于包括在词典树的终端节点中的终端标志来确定候选字符串的开始和结束字符(例如,包括在字符栅格100中的一组字符)。例如,随着构建器模块50递增地构建字符栅格100,构建器模块50可存储关于可能的候选字符串(例如,包括在每个候选字符串中的字符)的状态信息。构建器模块50可将字符串递增地与词典树的节点进行比较。如果构建器模块50确定字符对应于词典树的路径中所包括的终端节点,则构建器模块50可确定与该路径中的节点相对应的字符是构造词典的字典中所包括的候选字符串。例如,构建器模块50可接收指示接近与字符“g”相对应的键的位置的触摸事件。构建器模块50目前可包括关于候选串“zhon”的状态信息,因此确定具有与“zhong”相对应的节点的词典树中的路径。与“g”相对应的节点可包括指示它是终端节点的标志。响应于确定指示终端节点的标志,构建器模块50可在记号栅格110中生成与“zhong”相对应的边114C。
在一些示例中,响应于确定终端节点,构建器模块50可确定后续轻敲输入可对应于不同候选字符串的字符。例如,构建器模块50可基于终端节点“g”确定“zhong”是包括在字典中的候选串。因此,下一轻敲输入可对应于不同的候选字符串的开始。例如,与可能的键相对应的接下来的两个字符可以是“h”和“g”,如字符栅格100中从具有索引5的顶点到具有索引6的顶点的边所指示的。这样,构建器模块50可维持分别以字符“h”和“g”开始的不同候选串的状态。随着与后续轻敲输入相对应的字符被确定,构建器模块50可例如将候选串“huo”和“guo”与词典树进行比较。在词典树中为“huo”和“guo”中的每一个确定终端节点时,构建器模块50可向记号栅格110添加用于“guo”的边114A和用于“huo”的边114B。这样,构建器模块50可确定字符栅格100中的字符组之间的字符和词边界,并且将对应候选字符串添加到记号栅格110。
在一些示例中,构建器模块50可基于词典树选择一个或多个候选字符串,即使与字符串的最后字母相对应的节点不是终端节点。例如,构建器模块50可确定与词典树的路径中的多个节点相对应的字符串的总概率。所述总概率可基于沿着给定路径与各个单独的节点相关联的概率。如上所示,与单独的节点相关联的概率可基于一个或多个词和/或字符n元语言模型、子节点的字符出现的频率等。构建器模块50可基于一个或多个候选字符串的总概率来确定所述一个或多个候选字符串。例如,如果候选字符串的总概率满足阈值(例如,总概率大于阈值),则构建器模块50可将与候选字符串相对应的边添加到记号栅格110。
尽管如先前示例中所示,构建器模块50可使用词典树基于包括在字符栅格100中的字符来标识候选字符串的开始和结束字符,构建器模块50还可使用其它技术来确定开始和结束字符。例如,构建器模块50在确定开始和结束字符时可使用长度阈值。长度阈值可基于指示候选字符串的可能长度的统计信息。在其它示例中,长度阈值可以是用户限定的值。在汉语中,拼音值最常见地可以介于下界阈值与上界阈值之间的字符长度。作为一个非限制性示例,下界阈值可为2字符,上界阈值可为4字符。响应于确定可与接近轻敲输入的键相对应的字符序列,构建器模块50可向词栅格110添加与长度为2、3、4和5的候选字符串相对应的边。例如,构建器模块50可对于候选字符串“zh”、“zho”、“zhon”和“zhong”添加边,即使这些候选字符串中的一个或多个可能未包括在字典中和/或未建模在词典树中。
在一个替选示例中,构建器模块110可构建中间记号栅格,其对包括字典中所包括的候选字符串的错误拼写的候选字符串进行建模。即,构建器模块110可确定词汇表外候选字符串并且将与词汇表外候选字符串类似的字典中的对应候选字符串建模于记号栅格110中。例如,构建器模块110可确定候选字符串“zhomv”,它也可能是发音表示“zhong”的错误拼写。在一些示例中,构建器模块50可在中间记号栅格中对于包括发音表示的错误拼写二者的候选字符串生成边。在一些示例中,构建器模块110可从概率上确定中间栅格中的边所对应的候选字符串(例如,错误拼写或者词汇表外候选字符串)与字典中的一个或多个候选字符串之间的相似程度。在一些示例中,构建器模块110可使用词典树或者一个或多个Jaccard系数来确定相似程度。如果错误拼写与字典中的候选字符串之间的相似程度满足阈值(例如,相似程度大于阈值),则构建器模块110可将与字典中所包括的候选字符串相对应的边包括在记号栅格110中。
随着计算装置2接收用户输入的指示,构建器模块50可递增地构建词栅格120。构建器模块50可生成与单个和/或多个候选字符串相关联的边。即,在记号栅格110的边上建模的候选字符串可对应于汉语拼音串,词栅格120上的边可对应于单个汉语拼音串或汉语拼音串的组合。在一些示例中,一个或多个候选字符串的组合可对应于第二语言的一个或多个字符和/或词。例如,一个或多个汉语拼音串的组合可包括汉语词或者包括多个词的汉语短语。作为一个示例,拼音串“zhongguo”可以是汉语词“中国”(即“china”)的表示。如贯穿说明书所指示的,尽管汉语被示出为第二语言的一个非限制性示例,本公开的技术通常可适用于任何语言。
在一些示例中,构建器模块50可在词栅格120中创建与第二语言的一个或多个字符、词或者多词短语相对应的边。为了选择第二语言的一个或多个字符、词或者多词短语以在词栅格120中建模,构建器模块50可使用词典树数据结构。词典树数据结构可被实现为具有多个节点的树。每个节点可对应于候选字符串(例如,在汉语的情况下,拼音串)。例如,词典树数据结构可包括空的根节点。根节点可包括与候选字符串“zhong”相对应的子节点。另外,用于“zhong”的节点可与候选字符串所对应的第二语言(例如汉语)的字符、词或者多词短语相关联。例如,与候选字符串“zhong”相对应的子节点可与汉语字符“中”相关联。与“zhong”相对应的子节点还可包括分别与“huo”和“guo”相对应的子节点。相应子节点中的每一个可与“国”和“活”相关联。
为了在词栅格120中生成边,构建器模块50可在词栅格120中创建与词栅格110的一个或多个候选字符串相对应的边。例如,构建器模块50可遍历词栅格110并且选择与边114C相对应的候选字符串“zhong”。构建器模块50可在词栅格120中创建与候选字符串“zhong”相对应的边124A。构建器模块50还可将字符“中”与边124A相关联,因为字符“中”与词典树中对应于候选字符串“zhong”的节点相关联。如下面进一步描述的,边(例如,124B)的权重中所包括的语言模型概率基于字符“中”和候选字符串“zhong”。词栅格120中的边124A的顶点的索引值可对应于记号栅格110中的边114C的相同的开始和结束顶点。构建器模块50可按照相似的方式生成边124D和124E。
在一些示例中,构建器模块50可基于在词栅格110中建模的候选字符串生成与组合字符、词或者多词短语相对应的边124B。例如,构建器模块50可遍历词典树,并且确定穿过分别与词栅格110中建模的不同候选字符串相对应的多个节点的路径。例如,构建器模块50可从词栅格110选择与边114C相对应的“zhong”以及与边114A相对应的“guo”。在词典树中,构建器模块110可从根节点遍历至与“zhong”相对应的第一子节点,并且进一步遍历至与“guo”相对应的第二子节点。在一些示例中,与“guo”相对应的第二子节点可以是终端节点。终端节点可指示“guo”是诸如“zhong”“guo”(对应于“zhongguo”)的一组候选字符串中的最后候选字符串。如图4所示,构建器模块120通过将“中国”与边相关联来生成与候选字符串的组合“zhongguo”相对应的边124B。构建器模块120可类似地生成边124C。
可从图4看出,构建器模块120可对于词栅格120确定基于与词栅格110的边相对应的候选字符串的任何数量的边。例如,如果“zhongguo”对应于汉语中的多个不同的字符、词或者多词短语,则构建器模块50可对于一个或多个可能组合生成边。例如,“zhong”可对应于汉语中的“重”和“中”,其可各自不同地发音。在词典树中,可存在与{zhong,重}和{zhong,中}相对应的单独的节点。每个单独的节点可各自具有与{guo,国}和{huo,活}相对应的两个子节点。因此,当构建器模块50遍历词典树时,构建器模块50可在词栅格120中生成与例如{zhongguo,重国}、{zhonghuo,重活}、{zhongguo,中国}和{zhonghuo,中活}相对应的单独的边。这样,构建器模块50可在词栅格120中的边上对与第二语言的不同字符/词/多词短语相对应的候选字符串的多个不同组合建模。另外,构建器模块120可从记号栅格110确定与词栅格120中的单条边(例如,“zhongguo”)相对应的候选字符串(例如,“zhong”和“guo”)的任何数量的组合。
在一些示例中,构建器模块50可对于词栅格120的每条边确定权重,其中词栅格120的每条边对应于一个或多个候选字符串的组合。如图4所示,边124A对应于候选字符串“zhong”,边124B对应于候选字符串“zhongguo”,边124C对应于候选字符串“zhonghuo”,边124D对应于“guo”,边124E对应于“huo”。在一个示例中,构建器模块50可基于与在边124A上建模的候选字符串对应的记号栅格110中的边(例如,114C)的起始和结束顶点(例如,112A和112D)来确定边124A的起始和结束顶点(122A和122B)。如果在词栅格120中的单条边上对多个候选字符串建模,则构建器模块50可将词栅格120中的起始顶点122A的索引确定为与所述多个候选字符串中所包括的第一候选字符串相对应的记号栅格110中的边的起始顶点112A的索引。词栅格120中的结尾顶点122C的索引可等于与所述多个候选字符串中的最后候选字符串相对应的记号栅格110中的边的结尾索引112E。例如,如图4所示,边124B的起始顶点的索引等于边114C的起始顶点的索引,边124B的结尾顶点的索引等于边114A的结尾顶点的索引。
词栅格120中的边的权重可基于与边相对应的一组一个或多个候选字符串的词栅格110的总权重。词栅格120中的边的权重可基于语言模型分值。在一些示例中,边的权重可基于记号栅格110的总权重和语言模型分值。
如图4所示,边124C可基于“zhonghuo”的总权重(例如空间模型分值)和语言模型分值。总权重可等于0.104×0.308,其可指示与“zhonghuo”中的字符相对应的键的总空间概率。构建器模块50还可确定边124C的语言模型概率(或者“语言模型分值”)。在一些示例中,语言模型概率可指示在第二语言的词的条件下包括第一语言的字母表的字符的一组一个或多个候选字符串的概率。例如,边124C的语言模型概率可指示在汉语词“中活”的条件下“zhonghuo”的概率。换言之,构建器模块50可确定假定汉语词“中活”(“zhonghuo”)是用户意图输入的词,用户输入包括两个候选字符串“zhong”和“huo”的候选串“zhonghuo”的概率。即,边124C的语言模型概率可指示汉语词“中活”124C可对应于“中活”以“zhonghuo”发音的概率的概率。更一般地讲,边124C的语言模型概率可指示第二语言的字符、词或短语根据一组一个或多个候选字符串来发音的概率。在一些示例中,语言模型概率可由下式表示:
P ( t | s ) = P ( s | t ) P ( t ) P ( s )
在式1中,s可以是一组一个或多个候选字符串,t可以是基于第二语言的词和/或短语的字典的语言模型中所包括的一个或多个词。这样,边124C的语言模型分值可由下式表示:
在一些示例中,构建器模块50可使用语言模型12来确定语言模型概率。语言模型12可包括语言词汇表内的一组词,例如汉语词汇表内的汉语词的组。在一些示例中,语言模型12可以基于和/或包括存储在计算装置2处或者计算装置2能够访问的远程计算装置处的字典中的词的集合。语言模型12可基于词出现在给定语境中的频率来指示每个相应词的概率。语言模型12可实现一个或多个n元语言模型。n元语言模型可提供在连续项序列中项xi(字母、词、标点符号或者其它分隔符)基于序列中的前面的项的概率分布(即,P(xi|xi-(n-1),...,xi-1))。
构建器模块50可确定边124A-124C中的每一个的权重。如上面先前所述,随着计算装置2接收用户输入的指示,构建器模块50可递增地构造栅格100、110和120。随着栅格被构造,解码模块52可周期性地和/或连续地确定与最高权重相关联的词栅格120的边。在其它示例中,解码模块52可基于用户输入的递增确定来确定与最高权重相关联的词栅格120的边。即,解码模块52可确定具有最高权重的边的阈值数量。
例如,解码模块52可使用维特比算法、其它类似的动态编程技术或者(通常)任何合适的搜索技术来搜索词栅格120的边权重,以搜索词栅格。例如,解码模块52可搜索包括具有n个最高总权重的边的穿过词栅格120的边路径。例如,解码模块52可初始地确定从顶点122A至122B的哪条边具有最高权重。构建器模块50还可确定从顶点122B至122C的哪条边具有最高权重。
解码模块52可沿着词栅格120的可能边继续搜索最高权重。在一些示例中,解码模块52可确定阈值数量的路径的总权重。例如,构建器模块50可确定3条路径的总权重,其中路径的阈值数量为例如3条。在一些示例中,解码模块52可基于阈值数量的边每路径地确定最大数量的边。即,解码模块52可确定具有最大数量的边(等于例如2条)的路径的总权重。在这样的示例中,解码模块52可确定包括两条边的路径的总权重。为了确定边124A和124D的总权重,解码模块52可确定边124A和124D的权重的乘积。
在确定词栅格120中所指示的第二语言的一组一个或多个字符、词活短语时,计算装置2可输出字符、词或短语以用于显示。作为一个示例,用户界面14可包括两个词建议区域18A和18B。因此,解码模块52可确定边的阈值数量可等于二。因此,解码模块52可确定与具有两个最高权重的边相关联的相应的一个或多个词。例如,在图4中,解码模块52可确定边124B和124C的权重具有最高的两个权重。响应于确定边124B和124C,解码模块52可将表示词“中国”和“重活”的数据发送给UI模块6。UI模块6可将词“中国”和“重活”显示在词建议区域18A和18B中。在其它示例中,UI模块6可将与具有最高权重的边相关联的词显示在编辑区域16A中。在其它示例中,计算装置2可接收在轻敲位置201处执行轻敲手势的用户的指示,其可继而使得存在敏感显示器4在具有字符22A和22B的用户界面14中输出词“中国”。这样,尽管轻敲位置20A-20H可看起来是选择接近“zhonghuo”的键,本公开的使用栅格100、110和120的技术可使得存在敏感显示器4输出“中国”(例如,“zhongguo”)。因此,显示技术可在输入包括第一语言的字母表的字符的发音表示以便输出第二语言的字符和/或词时提供对用户输入的更大的错误恢复。
图5是示出依据本公开的一个或多个技术的至少部分地基于选择第一语言的字母表中所包括的字符的连续手势来确定第二语言的一个或多个字符和/或词的图1所示的计算装置的一个示例的进一步细节的框图。如图5的概念示例中所示,计算装置2可包括存在敏感显示器4、UI模块6、键盘模块8、空间模型10、语言模块12、活动束56和下一束58。GUI140可包括图形键盘142B,其可包括QWERTY键盘。
如图1的示例中所示,用户可能期望通过在图形键盘142B处执行连续手势来向计算装置2中输入一个或多个候选字符串(例如,诸如汉语拼音串的发音表示)。在用户执行连续手势的同时,计算装置2可检测与连续手势相对应的手势路径146。在一些示例中,连续手势可指用户利用输入单元(例如,手指、触控笔等)执行在存在敏感显示器4处检测的手势,其中所述输入单元遍历穿过不同位置的手势路径。可在存在敏感显示器4处仍检测到输入单元的同时,在存在敏感显示器4处检测手势。当在存在敏感显示器4处不再检测到输入单元时,计算装置2可确定手势已终止。这样,用户可执行遍历图形键盘的多个键的连续手势以输入文本。在图5的示例中,计算装置2被示出为已检测手势路径146。尽管图5中示出,但是在本文所述的技术的执行期间,手势路径146和/或对准点148A-148H可以不可见。对准点可以是沿着手势路径的可指示图形键盘中所包括的多个键中的键的点。对准点可包括与所确定的对准点的位置相对应的一个或多个坐标。例如,对准点可包括与图形用户界面中的点相对应的笛卡尔坐标。为了确定图形键盘的键与手势路径相关联,计算装置2可确定一组对准点的特征,例如手势段的长度,其中,所述段包括在存在敏感显示器处通过手势遍历的路径;手势段的方向;手势段的曲率;表示手势段被检测的速率的局部速度;表示手势被检测的速率的全局速度等。例如,随着输入单元在键附近减慢并且改变方向,手势路径的曲率可较高。基于与手势相对应的对准点确定的手势路径的特征可指示用户意图选择该键。
键盘模块8可依据如图5中所述的公开的技术至少部分地基于一组键来确定候选字符串。不同于生成字符栅格(例如,字符栅格100),键盘模块8可递增地基于一个或多个连续手势来确定候选字符串并且将这样的串与记号栅格110中的边相关联。例如,用户可在图形键盘148A处执行连续手势,并且响应于确定候选字符串“zhong”对应于连续手势,键盘模块8可将“zhong”与记号栅格110的边相关联。如先前图4中所述,键盘模块8可递增地基于词栅格120确定字符和或词。现在参照图5进一步描述技术。
为了基于连续手势输入确定一个或多个候选串,键盘模块8可使用语言模型150。语言模型150可包括词典。在一些示例中,词典可包括词的列表并且可包括关于所列词的附加信息。词典可由一个或多个数据结构(例如,由阵列、列表、树或者其它数据结构中的一个或多个)来表示。例如,语言模型150可包括存储在词典树数据结构中的词典。词典树数据结构可包括多个节点。词典树的每个节点可表示字母。词典树中的第一节点可被视为入口节点,其可以不对应于字母。在其它示例中,入口节点可对应于字母。每个节点可具有一个或多个子节点。例如,入口节点可具有二十六个子节点,每个子节点对应于英语字母表的字母。
词典树中的节点的子集可各自包括指示节点是终端节点的标志。词典树的每个终端节点可指示包括在词典中的候选字符串。例如,词典可以基于有效候选字符串(例如,汉语拼音串)的字典。沿着节点路径从入口节点到终端节点的节点所指示的字母可拼出终端节点所指示的候选字符串。在一些示例中,语言模型150可以是计算装置2上安装的默认字典。在某些示例中,语言模型150可包括一组预定义的短语。在其它示例中,语言模型150可包括多个词典源,其可被存储在计算装置2处或者存储在计算装置2能够经由一个或多个通信信道访问的一个或多个远程计算装置处。
响应于初始检测到手势路径146的一部分,键盘模块8可沿着由用户所执行的手势遍历的手势路径146确定对准点148A。响应于检测到与对准点148A相对应的手势路径146的一部分,键盘模块8可创建词级记号并且将该词级记号推入活动束56中。此时活动束56上的内容可由下表1表示。
表1
索引 父索引 当前节点的字母键 字母链 成本值
0 - - - 0
如图5所示,计算装置2可包括活动束56。在一些示例中,活动束56被配置为存储由键盘模块8生成的一个或多个记号(例如,一个或多个词级记号)。活动束56可被包括在存储装置48内。计算装置2还可包括下一束58。在一些示例中,下一束58被配置为存储由手势模块8生成的一个或多个记号(例如,一个或多个词级记号)。下一束56也可被包括在存储装置48内。
在表1中,每行表示单独的词级记号,索引列表示每个词级记号的唯一标识符,父索引列表示所列的词级记号为其子节点的词级记号的索引值,当前节点的字母键列表示词级记号的当前节点所表示的字母键,字母链列表示从词级记号的入口节点到当前节点的节点所表示的所有字母键,成本值列表示词级记号的成本值。如表1中所示,所创建的词级记号具有索引0(即,词级记号0),没有父索引,没有当前节点的字母键,没有字母链,成本值为零。
为了确定手势所指示的文本,键盘模块8可在其子节点上创建每个词级记号的副本。即,每个词级记号可被推进至语言模型150的词典树中的下一级的子节点。在一些示例中,入口节点可具有26个子节点(英语字母表的每一字母一个子节点)。为了简明,在图5的示例中,入口节点可仅具有字母“Z”和“X”上的两个子节点。因此,键盘模块8可在子节点“Z”(即,词级记号1)和子节点“X”(即,词级记号2)上创建具有索引0的词级记号的副本。对于创建的每个词级记号副本,键盘模块8可确定成本值。即,计算装置2可确定多个键中的至少两个键中的每一个的相应成本值。相应成本值可各自表示一组对准点中的对准点指示多个键中的键的概率。成本值可基于语言模型概率,其指示在当前节点的字母键的条件下字母链的概率。语言模型概率可基于指示在一个或多个字符、词和/或短语的条件下字符、词和/或短语的概率的一个或多个字符、词和/或短语级n元。成本值可至少部分地基于手势与当前节点的字母键相对应的空间模型概率。在一些示例中,成本值至少部分地基于语言模型概率和空间模型概率。
键盘模块8可将每个词级记号副本推送到下一束58,其内容可由下表2表示。
表2
索引 父索引 当前节点的字母键 字母链 成本值
1 0 Z Z CV1
2 0 X X CV2
表2中所示的条目在格式上类似于表1所示的条目。在表2中,词级记号1具有成本值CV1,词级记号2具有成本值CV2。在创建词级记号副本之后,键盘模块8可确定词级记号0不是终端节点并且可丢弃词级记号0。随后,键盘模块8可确定活动束56是否为空(即,不包含记号)。响应于确定活动束56为空,计算装置2可将下一束58的内容复制到活动束56,并且丢弃下一束56A的内容。
键盘模块8还可沿着手势路径146确定对准点148B-148E。随着键盘模块8确定可与图形键盘142B的一个或多个键相对应的对准点148B-148E中的每一个,对于活动束56中的每个词级记号,键盘模块8可递增地在每个子节点上创建副本。在图5的示例中,在确定对准点148B时,词级记号1和词级记号2每个具有带字母键“G”和“H”的子节点。对于创建的每个词级记号副本,计算装置2可如上所述地确定成本值。计算装置2可将每个词级记号副本推送到下一束58中,其内容可由下表3表示。
表3
索引 父索引 当前节点的字母键 字母链 成本值
3 1 G ZHONG CV3
4 1 H ZHONH CV4
5 2 G XHONG CV5
6 2 H XHONG CV6
表3中所示的条目在格式上类似于表1和表2所示的条目。在表3中,每个词级记号的成本值包括前面的字母的成本值以及当前字母的成本值。计算装置2可确定哪些(如果有的话)词级记号在终端节点上。例如,计算装置2可确定词级记号3在终端节点上,因为其预测的字符串(即,其字母链)“ZHONG”表示词典中(例如,拼音串字典)中所包括的候选词。
响应于确定词级记号在终端节点上,键盘模块8可在与字母链(例如,候选字符串)相对应的记号栅格110中创建边。在一些示例中,键盘模块8可确定字符串的空间模型并且将空间模型作为与候选字符串相对应的记号栅格110中的边的权重相关联。这样,随着键盘模块8确定与候选字符串(例如,汉语拼音串)相对应的字母改变,键盘模块8可将边包括在记号栅格22中,其由键盘模块8随词栅格120进一步使用以确定第二语言的字符和/或词,如图4中所述。
另外,响应于确定词级记号在终端节点上,计算装置2可生成指示多个键中接下来选择的键是第二词级记号的前缀的下一词记号。下一词记号可被视为第二词级记号的入口节点。计算装置2可将下一词记号(即,第二词级记号的入口节点)推送到活动束56中,其内容可由下表4表示。
表4
索引 父索引 当前节点的字母键 字母链 成本值
3 1 G ZHONG CV3
4 1 H ZHONH CV4
5 2 G XHONG CV5
6 2 H XHONH CV6
7 3 - - 0
表4中所示的条目在格式上类似于表1、表2和表3所示的条目。如表4所示,所创建的与下一词记号相对应的词级记号具有索引7(即,词级记号7),父索引为3(即,对应于词级记号3),没有当前节点的字母键,没有字母链,并且成本值为零。如表4中所示,具有索引7的词级记号可存储先前候选字符串(例如“zhong”)的父索引作为状态信息,使得键盘模块8可确定与父索引的字母链相关联的候选字符串。这样,键盘模块8可确定一个或多个相关联的字母链组,其可与词典中的词和/或词组相对应。
键盘模块8可在接收到与多个候选字符串相对应的连续手势时随确定终端节点一起来维持状态信息以标识词边界。即,键盘模块8可确定“zhong”与随后的与索引7相对应的候选字符串之间的转变概率。键盘模块8可存储该转变概率作为与索引7相对应的下一词记号的状态信息的一部分。转变概率可以基于一个或多个n元字符和/或词语言模型,其指示候选字符串之间的边界概率并且可基于候选字符串的字典。在一个示例中,响应于接收到在存在敏感输入装置处检测到的至少一个手势的指示,键盘模块8可确定多个字符“zhonghuo”。键盘模块8可基于语言模型确定表示不同候选字符串的多个字符之间(例如,“zhong”和“huo”之间)的至少一个边界。所述至少一个边界可指示多个字符中与第一候选字符串“zhong”相对应的第一组字符以及多个字符中与第二候选字符串“huo”相对应的第二组字符。如下面在图5的示例中进一步描述的,键盘模块8可在记号栅格中生成与第一候选字符串“zhong”相关联的第一边,其中,第一边从第一顶点112A开始并且在第二顶点112D处结束。键盘模块8可在记号栅格中生成与第二候选字符串“huo”相关联的第二边114B,其中,第二边从第二顶点112D开始并且在第三顶点112D处结束。在一些示例中,键盘模块8可使用转变概率来确定是否在词栅格120的边上将字符串“zhong”和“huo”串接成“zhonghuo”。
在图5的示例中,键盘模块8还可沿着手势路径146确定对准点148F-148H。对于活动束56中的各个词级记号,键盘模块8可在每个子节点上创建副本。在图5的示例中,记号3至记号6各自具有分别带字母键“G”和“H”的子节点。另外,记号7可被视为具有索引7的词级记号的入口节点。因此,键盘模块8还可在词级记号7的子节点处创建副本。对于所创建的每个词级记号副本,键盘模块8可如上所述确定成本值。键盘模块8可将每个词级记号副本推送到下一束58中,其内容可由下表5表示。
表5
索引 父索引 当前节点的字母键 字母链 成本值
8 3 O ZHONGGUO CV8
9 3 O ZHONHHUO CV9
10 4 O XHONGGUO CV10
11 4 O XHONGHUO CV11
12 7 O GUO CV12
13 7 O HUO CV13
n m x <字母链> CNn
表5中所示的条目在格式上类似于表1-4中所示的条目。在表5中,每个词级记号的成本值包括前面的字母的成本值以及当前字母的成本值。因此,计算装置2可至少部分地基于表示词典中所包括的候选词的词级记号以及字符键的预测选择来确定一个或多个词级记号。这样,响应于接收到选择图形键盘中所包括的一组键的连续手势的指示,键盘模块8可确定词级记号。随着键盘模块8接收手势的进一步指示,键盘模块8可继续递增地确定一个或多个词级记号,从而使得用户能够提供单个手势来选择词或短语的一组键。
如上所述,在确定了终端节点时,键盘模块8可在词栅格112上生成包括终端节点的对应字母链(例如,候选字符串)的边。在其它示例中,键盘模块8可基于成本值确定字母链以作为候选字符串包括在记号栅格110中。即,键盘模块8可确定满足阈值的成本值。例如,键盘模块8可确定大于阈值的成本值并且对于分别与成本值相关联的字母链在记号栅格110中生成边。因此,在一些示例中,响应于确定键的组合的成本值(例如,与表示候选字符串的字母链相关联的成本值)满足阈值,通过计算装置将候选字符串与词栅格的边相关联,其中,字符串包括与键的组合相关联的字符。在一些示例中,起始顶点的索引与结尾顶点的索引之间的差可等于候选字符串中的字符的数量。例如,如果所确定的候选字符串为“zhong”,则起始顶点的索引可为零,结尾顶点的索引可为5。如果基于边界从单个串确定多个候选字符串,例如“zhong”、“huo”,则第二候选字符串的开始顶点可开始于具有索引5的顶点并且结束于具有索引8的顶点。
图6A-6B是示出依据本公开的一个或多个技术的从手势确定词和/或短语的计算装置的示例操作的流程图。仅出于例示目的,下面在如例如图1、图2和图5所示的计算装置2的背景下描述示例操作。
在图6A-6B的示例中,计算装置2可初始输出包括多个键的图形键盘(例如,图形键盘16B)以显示(150)。计算装置2可检测存在敏感显示器处的手势(152)。例如,存在敏感显示器4可检测具有手势路径140的手势。在一个或多个处理器上执行的UI模块6可接收在存在敏感显示器4处检测到的手势的指示。响应于接收到在存在敏感显示器处检测到的手势的指示,计算装置2可在作为词典树存储在计算装置2上的词典的入口节点处生成成本值为零的词级记号(154)。计算装置2可将词级记号推送到活动束中(156)。例如,计算装置2可将词级记号推送到活动束56中。
计算装置2可从活动束选择词级记号(158)。计算装置2可在词级记号的每个子节点上创建词级记号的副本(160)。计算装置2可选择词级记号副本(162)并且沿着手势确定对准点(164)。计算装置2可确定表示对准点指示词级记号副本所在的节点的字母键的概率的成本值,并且将该成本值添加到词级记号副本(166)。计算装置2可将词级记号副本推送到下一束中(168)。计算装置2可确定活动束中是否剩余有任何词级记号副本(170)。如果剩余有词级记号副本(172),则计算装置2可选择新的词级记号副本(162)。
如果没有剩余有任何词级记号副本(174),则计算装置2可确定词级记号是否在词典树的终端节点处(176)。例如,计算装置2可使用语言模型12来确定词级记号是否表示词典(例如,英语)中所包括的候选词。如果词级记号在终端节点处(178),则计算装置2可如图5中所述在记号栅格110中创建边,其中该边对应于终端节点所指示的字母链(例如,候选字符串)(182)。计算装置2可如图5中所述生成指示图形键盘的多个键中接下来选择的键是第二词级记号的前缀的下一词记号(184)。在将候选字符串复制到记号栅格110并且生成下一词记号之后,或者如果词级记号不在终端节点处(180),计算装置2可丢弃词级记号(186)。
计算装置2可确定活动束中是否剩余有任何词级记号(188)。如果活动束中剩余有词级记号(190),则计算装置2可从活动束选择新的词级记号(158)。如果活动束中未剩余有词级记号(192),则计算装置2可确定下一束中是否剩余有任何词级记号(194)。如果下一束中剩余有词级记号(196),则计算装置2可将下一束复制到活动束(198)并且从活动束选择新的词级记号(158)。如果下一束中未剩余有词级记号(200),则在一些示例中,计算装置2确定用户输入的下一指示,例如触摸事件(202)。
图7是示出依据本公开的一个或多个方面的至少部分地基于选择第一语言的字母表中所包括的字符的用户输入来确定第二语言的一个或多个字符和/或词的计算装置的示例操作的流程图。仅出于例示目的,下面在如例如图1和图2所示的计算装置2的背景下描述示例操作。
计算装置2可初始输出包括多个键的图形键盘以显示(220)。例如,计算装置2可输出QWERT键盘以显示在存在敏感显示器4处。计算装置2可接收在存在敏感显示器处检测到的手势的指示(222)。例如,计算装置2可接收轻敲输入、连续手势和/或其组合。这样,用户可将轻扫和轻敲二者混合,使得用户可执行连续手势以轻扫候选字符串(例如,拼音串)的一部分并且轻敲候选字符串的剩余部分。
响应于接收到手势的指示,计算装置2可基于手势的指示确定一组一个或多个候选字符串(224)。例如,计算装置2可在诸如字符栅格100的栅格上对一个或多个轻敲输入建模。计算装置2可如图4中所述从字符栅格确定一个或多个候选字符串并且在记号栅格110中创建边。在一些示例中,计算装置2可如图5-6B中所述基于词典树来确定一个或多个候选字符串。例如,如图5-6B中所述,计算装置2可确定一个或多个候选字符串并且在记号栅格110中对字符串建模。
在一些示例中,计算装置2可确定一组一个或多个候选字符串的概率(226)。例如,计算装置2可确定一个或多个候选字符串的空间模型概率。如图4-6B中所述,计算装置2可基于候选字符串中与图形键盘的一个或多个键相对应的一个或多个字符的相应空间模型概率来确定候选字符串的空间模型概率。
在一些示例中,计算装置2可在记号栅格110中对一个或多个候选字符串建模(228)。例如,计算装置2可将候选字符串及其对应的空间模型概率与记号栅格110中的边相关联。计算装置2还可在词栅格120中对记号栅格110的一个或多个候选字符串建模(230)。在一个示例中,计算装置2可遍历记号栅格110以确定具有最高概率的路径。计算装置2可从记号栅格110将多个候选字符串串接并且将字符串的串接与词栅格120的边相关联。
计算装置2可确定可与边相关联的串接所相关联的概率作为边权重。然后,计算装置2可用来确定候选字符串的这样的串接是否对应于语言中的一个或多个词。例如,与词栅格120中的边相关联的概率越高可指示用户意图输入与该边相关联的词的可能性越大。因此,在一些示例中,计算装置2可确定与词栅格中的词相关联的概率是否满足阈值(232)。例如,如果所述概率满足阈值(236)(例如,所述概率大于阈值),则计算装置2可输出至少一个词以显示(238)。如果所述概率不满足阈值,则计算装置2可不输出至少一个词以显示(234)。在一些示例中,计算装置2可执行图7的技术,计算装置2递增地确定用户输入的指示。即,对于每个轻敲输入和/或手势输入的每个部分,计算装置2可递增地使用字符栅格确定词以输出以用于显示。
图8是示出依据本公开的一个或多个方面的至少部分地基于选择第一语言的字母表中所包括的字符的用户输入来确定第二语言的一个或多个字符和/或词的计算装置的示例操作的流程图。仅出于例示目的,下面在如例如图1和图2所示的计算装置2的背景下描述示例操作。
计算装置2可初始输出包括多个键的图形键盘以显示(260)。在一些示例中,所述多个键中的至少一个与第一语言的第一字母表中所包括的一个或多个符号相关联。响应于接收到在存在敏感显示器4(可包括存在敏感输入装置)处检测到的至少一个手势的指示,计算装置2可在第一栅格中对每个包括第一字母表的符号的多个字符串建模(262)。在一些示例中,第一栅格指示多个字符串中的每一个的空间概率,其中所述空间概率至少部分地基于至少一个手势的指示。
在一些示例中,计算装置2可对于多个字符串中的至少一个使用指示第二语言的一个或多个词的概率的第二栅格至少部分地基于所述多个字符串的空间概率来确定多个字符串中的至少一个对应于第二语言中所包括的至少一个词的概率(264)。在一些示例中,所述至少一个词通过与第二语言相对应的第二字母表的一个或多个符号来表示。在一些示例中,响应于确定至少一个概率满足阈值,计算装置2可输出表示至少一个词的一个或多个符号以显示(266)。
在一个示例中,所述方法可包括:由计算装置确定多个候选字符串中的候选字符串中所包括的一组字符;由计算装置确定与候选字符串中所包括的字符相对应的键的空间模型概率;由计算装置至少部分地基于与候选字符串中所包括的字符相对应的键的空间模型概率来确定候选字符串的总空间模型概率;以及由计算装置生成第一栅格中的边,其中所述候选字符串和字符串的总空间模型概率与该边相关联。
在一个示例中,所述方法可包括:由计算装置确定接近轻敲输入的位置的图形键盘的键的空间模型概率;由计算装置生成第三栅格中的边,所述边各自对应于接近轻敲输入的位置的图形键盘的键;由计算装置将接近轻敲输入的位置的图形键盘的字符以及接近轻敲输入的位置的图形键盘的键的相应空间模型概率与边相关联;由计算装置确定第三栅格中的多条边;以及由计算装置在第一栅格中生成与候选字符串相关联的边,其中候选字符串至少部分地基于第三栅格中的多条边来生成。
在一个示例中,所述方法可包括:由计算装置确定第一候选字符串的第一空间模型概率满足阈值,其中所述第一候选字符串对应于第一栅格的第一边,其中所述第一边从第一顶点开始并且在第二顶点处结束;由计算装置确定第二候选字符串的第二空间模型概率满足阈值,其中所述第二候选字符串对应于第一栅格的第二边,其中所述第二边从第二顶点开始并且在第三顶点处结束;以及由计算装置至少部分地基于第一空间模型概率和第二空间模型概率在第二栅格中生成指示第二语言中所包括的所述至少一个词的概率的第三边。
在一个示例中,所述方法可包括:由计算装置将第一候选字符串和第二候选字符串串接以生成第三候选字符串;由计算装置将第三候选字符串与第二栅格中的第三边相关联;以及由计算装置确定在第二语言的词的条件下第三候选字符串的概率。
在一个示例中,所述方法可包括:由计算装置响应于接收到至少一个手势的指示至少部分地基于一组键来确定候选字符串,其中所述确定包括:由计算装置确定通过手势遍历的一组对准点;由计算装置确定所述多个键中的至少两个键中的每一个的相应成本值,其中所述相应成本值中的每一个表示所述一组对准点中的对准点指示所述多个键中的键的概率;响应于确定键的组合的成本值满足阈值,由计算装置将候选字符串与第一栅格的边相关联,其中所述字符串包括与所述键的组合相关联的字符。
在一个示例中,所述方法可包括:由计算装置响应于接收到在存在敏感输入装置处检测到的至少一个手势的指示,确定多个字符;由计算装置确定所述多个字符之间的至少一个边界,其中所述至少一个边界指示所述多个字符中与第一候选字符串相对应的第一组字符以及所述多个字符中与第二候选字符串相对应的第二组字符;由计算装置在第一栅格中生成与第一候选字符串相关联的第一边,其中所述第一边从第一顶点开始并且在第二顶点处结束;由计算装置在第一栅格中生成与第二候选字符串相关联的第二边,其中所述第二边从第二顶点开始并且在第三顶点处结束;以及由计算装置确定在第二语言的词的条件下第一候选字符串和第二候选字符串的概率。
图9是示出依据本公开的技术的栅格的概念图,计算装置可基于选择第一语言中的字母表的字符的用户输入的指示来生成所述栅格并且使用其来确定第二语言的词。图9示出如先前图4中所述的字符栅格100、记号栅格110和词栅格120。另外,图9示出与“重”相对应的汉语字符Z1、与“中”相对应的Z2、与“活”相对应的H。图9还示出与“中国”相对应的汉语词ZG。如图9中所示,仅出于示例目的,词栅格120包括与图4所示不同的边组合(由从对应节点281延伸的垂直虚线所指示的节点边界285之间的双箭头边指示)。构建器模块50可依据图4中所描述的技术对图9中的边建模。
图9还示出可由解码模块52确定的维特比路径280和282。例如,解码模块52可搜索词栅格120的边以寻找具有最高权重的路径(共同由一条或多条边组成)。作为一个示例,解码模块52可在搜索词栅格120时确定维特比路径280。维特比路径280可对应于与汉语词ZG(即中国)相关联的词栅格120的边302。解码模块52可确定概率P(ZG),其可与汉语词ZG(即中国)出现在汉语中的频率或概率相对应。解码模块52还可确定维特比路径280中的概率P(“zhong”,“guo”|ZG)。P(“zhong”,“guo”|ZG)可指示在汉语词ZG的条件下候选字符串“zhong”、“guo”的概率。最后,维特比路径280可包括Pspatial(“zhong”)Pspatial(“guo”),其可对应于记号栅格110中与“zhong”和“guo”相对应的边的相应空间模型概率。解码模块52可基于概率的乘积来确定边302的总权重:
P(ZG)P(‘zhong’,‘guo’|ZG)Pspatial(‘zhong’)Pspatial(‘guo’)
解码模块52可对于词栅格120中的任何数量的边确定维特比路径。例如,如图9所示,解码模块52还可对于词栅格120中的边304和306确定维特比路径282。解码模块52可确定概率P(Z1),其可对应于汉语字符Zl(即,重)出现在汉语中的频率或概率。概率P(Z1)可被称作一元概率。解码模块52还可确定维特比路径282中的概率P(H|Z1)。概率P(H|Z1)可对应于在字符Zl的出现的条件下字符H的概率。这里,概率P(H|Z1)可对应于二元概率。解码模块52还可确定与边304相对应的概率P(“zhong”|Z1)。P(“zhong”|Z1)可表示在汉语字符Z1的条件下候选字符串“zhong”的概率。类似地,解码模块52可确定与边306相对应的概率P(“huo”|H)。P(“huo”|H)可表示在汉语字符H的条件下候选字符串“huo”的概率。解码模块52可确定与从记号栅格110中的对应边确定的边304和306的空间模型分值相对应的Pspatial(“zhong”)Pspatial(“huo”)。解码模块52可基于概率的乘积确定包括边304和306的路径的总权重:
P(Z1)P(H|Z1)P(‘zhong’|Z1)P(‘huo’|H)Pspatial(‘zhong’)Pspatial(‘huo’)
最后,在一些示例中,式283指示解码模块52可基于空间和语言模型分值来搜索词栅格120中具有最高概率的边。例如,P(t)可对应于第二语言的字符、词或者多词短语的概率;P(s'|1)可对应于给出一个或多个候选字符串第二语言的字符、词或多词短语的概率;以及P(s|s')可对应于一个或多个候选字符串的空间模型概率。
图9还示出了用户界面(UI)元素284。在一些示例中,解码模块52可向UI模块6发送数据以使得存在敏感显示器4输出UI元素284。UI元素284可呈现基于本公开的技术确定的第二语言的一个或多个字符、词和/或多词短语。例如,最初,用户可提供输入“zhong”的用户输入的一个或多个指示。基于本公开的技术,解码模块52可确定与“zhong”相对应的词栅格120的边304。解码模块52可确定与边304相关联的分值是满足阈值的一组最高分值中的一个,因此向UI模块6发送数据以使得存在敏感显示器4输出与边304相对应的字符“中”288。解码模块52还可确定与边302相关联的分值包括在满足阈值的所述一组最高分值中,因此如284所示输出“中国”。
在一些示例中,用户可提供选择字符“中”288的用户输入的指示(例如,通过在输出字符“中”288的存在敏感显示器4的位置处坐手势)。响应于确定手势的指示,UI模块6可使得存在敏感显示器4代替存在敏感显示器4先前显示的“zhong”输出字符“中”209。在确定选择字符“中”288的手势的指示时,解码模块52还可确定在词栅格120中包括与“zhong”相关联的边的一个或多个路径,例如词栅格120中包括边304和边306的路径。解码模块52还可确定边308和310。由于用户输入的指示选择“zhong”,所以解码模块52可确定与路径中的边相关联的候选字符串并且包括“zhong”。例如,解码模块52可输出分别与边306和310相对应的候选字符串“guo”和“huo”,其进一步与“zhong”所相关联的边304和308对应。计算装置294可接收选择候选字符串300的后续用户输入的指示。如图9所示,解码模块52先前可使得存在敏感显示器4输出“guo”,因为与“zhongguo”相关联的边在词栅格120中可具有最高权重,因此可输出作为最可能的词。然而,由于用户选择了与“huo”相对应的候选字符串300,所以UI模块6可使得存在敏感显示器4输出与诸如“huo”相对应的字符“活”,使得在UI元素284中替换“中guo”以显示。这样,随着用户递增地提供用户输入的指示,用户可选择基于词栅格120和解码模块52确定的显示在UI元素284中的期望的字符、词或者多词短语。
在一个或多个示例中,所描述的功能可被实现于硬件、软件、固件或其任何组合中。如果实现于软件中,则所述功能可作为一个或多个指令或代码被存储在计算机可读介质上或者经计算机可读介质发送,并且由基于硬件的处理单元执行。计算机可读介质可包括:计算机可读存储介质,其对应于诸如数据存储介质的有形介质;或者通信介质,其包括例如根据通信协议方便计算机程序从一个地点传送至另一地点的任何介质。这样,计算机可读介质通常可对应于:(1)非瞬时性的有形计算机可读存储介质;或者(2)诸如信号或载波的通信介质。数据存储介质可以是任何可用介质,其可被一个或多个计算机或者一个或多个处理器访问以检索指令、代码和/或数据结构以用于实现本公开中所描述的技术。计算机程序成品可包括计算机可读介质。
作为示例而非限制,这样的计算机可读存储介质可包括RAM、ROM、EEPROM、CD-ROM或者其它光盘存储、磁盘存储或其它磁存储装置、闪存、或者可用于以指令或数据结构的形式存储期望的程序代码并且可被计算机访问的任何其它介质。另外,任何连接被适当地称为计算机可读介质。例如,如果使用同轴线缆、光纤线缆、双绞线、数字订户线(DSL)或者诸如红外、无线电和微波的无线技术从网站、服务器或者其它远程源发送指令,则同轴线缆、光纤线缆、双绞线、DSL或者诸如红外、无线电和微波的无线技术包括在介质的定义中。然而,应该理解,计算机可读存储介质和数据存储介质不包括连接、载波、信号或者其它瞬时介质,而是涉及非瞬时有形存储介质。所使用的磁盘和光盘包括压缩盘(CD)、激光盘、光学盘、数字多功能盘(DVD)、软盘和蓝光盘,其中磁盘通常以磁方式再现数据,而光盘利用激光以光学方式再现数据。上述的组合也应该包括在计算机可读介质的范围内。
指令可由一个或多个处理器来执行,所述处理器例如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或者其它等同的集成或分立的逻辑电路。因此,所使用的术语“处理器”可指上述任何结构或者适合于实现所描述的技术的任何其它结构。另外,在一些方面,所描述的功能可在专用硬件和/或软件模块内提供。另外,所述技术可完全实现在一个或多个电路或逻辑元件中。
本公开的技术可被实现于各种各样的装置或设备中,包括无线耳机、集成电路(IC)或者IC集(例如芯片集)。在本公开中描述了各种组件、模块或者单元以着重于被配置为执行所公开的技术的装置的功能方面,而不必然要求通过不同的硬件单元实现。相反,如上所述,各种单元可被组合在硬件单元中或者通过协作硬件单元的集合来提供,包括如上所述的一个或多个处理器,结合合适的软件和/或固件。
将认识到,取决于实施例,本文所述的任何方法的某些行为或事件可按照不同的顺序来执行,可被添加、合并或者一起删去(例如,对于方法的实践并非所描述的所有行为或事件均为必要的)。此外,在某些实施例中,行为或事件可例如通过多线程处理、终端处理或者多处理器来并发执行,而非顺序地执行。
已描述了各种示例。这些和其它示例在所附权利要求书的范围内。

Claims (21)

1.一种包括至少一个处理器的计算装置,其中所述至少一个处理器被配置为:
输出包括多个键的图形键盘以显示,其中所述多个键中的至少一个与包括在第一语言的第一字母表中的一个或多个符号相关联;
响应于接收到在存在敏感输入装置处检测到的至少一个手势的指示,在第一栅格中对每个包括所述第一字母表的符号的多个候选字符串建模,其中所述第一栅格指示所述多个候选字符串中的每一个的空间概率,其中所述空间概率至少部分地基于所述至少一个手势的所述指示;
对于所述多个候选字符串中的至少一个,至少部分地基于所述多个候选字符串的所述空间概率使用指示第二语言的一个或多个词的概率的第二栅格来确定所述多个候选字符串中的所述至少一个对应于所述第二语言中所包括的至少一个词的概率,其中所述至少一个词通过与所述第二语言相对应的第二字母表的一个或多个符号来表示;以及
响应于确定所述概率满足阈值,输出表示所述至少一个词的所述一个或多个符号以显示。
2.根据权利要求1所述的计算装置,其中,所述至少一个处理器被配置为:
确定所述多个候选字符串中的一个候选字符串中所包括的一组字符;
确定与所述候选字符串中所包括的字符相对应的键的空间模型概率;
至少部分地基于所述键的空间模型概率与所述候选字符串中所包括的字符相对应来确定所述候选字符串的总空间模型概率;以及
确定所述第一栅格中的边,其中所述候选字符串和所述字符串的所述总空间模型概率与所述边相关联。
3.根据权利要求1所述的计算装置,其中,在所述存在敏感输入装置处检测到的至少一个手势的所述指示进一步包括轻敲输入,其中所述至少一个处理器被配置为:
确定接近所述轻敲输入的位置的所述图形键盘的键的空间模型概率;
在第三栅格中生成每个与接近所述轻敲输入的位置的所述图形键盘的键相对应的边;
将接近所述轻敲输入的位置的所述图形键盘的字符以及接近所述轻敲输入的位置的所述图形键盘的键的相应空间模型概率与所述边相关联;
确定所述第三栅格中的多条边;以及
在所述第一栅格中生成与候选字符串相关联的边,其中所述候选字符串至少部分地基于所述第三栅格中的所述多条边来生成。
4.根据权利要求1所述的计算装置,其中,所述至少一个处理器被配置为:
确定第一候选字符串的第一空间模型概率满足阈值,其中所述第一候选字符串对应于所述第一栅格的第一边,其中所述第一边从第一顶点开始并且在第二顶点处结束;
确定第二候选字符串的第二空间模型概率满足所述阈值,其中所述第二候选字符串对应于所述第一栅格的第二边,其中所述第二边从所述第二顶点开始并且在第三顶点处结束;以及
至少部分地基于所述第一空间模型概率和所述第二空间模型概率在所述第二栅格中生成指示包括在所述第二语言中的所述至少一个词的概率的第三边。
5.根据权利要求4所述的计算装置,其中,所述至少一个处理器被配置为:
将所述第一候选字符串和所述第二候选字符串串接以生成第三候选字符串;
将所述第三候选字符串与所述第二栅格中的所述第三边相关联;以及
确定在所述第二语言的所述词的条件下所述第三候选字符串的概率。
6.根据权利要求1所述的计算装置,其中,在所述存在敏感输入装置处检测到的至少一个手势的所述指示进一步包括连续手势输入,其中所述至少一个处理器被配置为:
响应于接收到至少一个手势的指示,至少部分地基于一组键来确定候选字符串,其中所述确定包括:
确定所述手势遍历的一组对准点;
确定所述多个键中的至少两个键中的每一个的相应成本值,其中所述相应成本值中的每一个表示所述一组对准点中的一个对准点指示所述多个键中的一个键的概率;
响应于确定键组合的成本值满足阈值,由所述计算装置将候选字符串与所述第一栅格的边相关联,其中所述字符串包括与所述键组合相关联的字符。
7.根据权利要求1所述的计算装置,其中,所述至少一个处理器被配置为:
响应于接收到在存在敏感输入装置处检测到的至少一个手势的指示,确定多个字符;
确定所述多个字符之间的至少一个边界,其中所述至少一个边界指示所述多个字符中与第一候选字符串相对应的第一组字符以及所述多个字符中与第二候选字符串相对应的第二组字符;
在所述第一栅格中生成与所述第一候选字符串相关联的第一边,其中所述第一边从第一顶点开始并且在第二顶点处结束;
在所述第一栅格中生成与所述第二候选字符串相关联的第二边,其中所述第二边从所述第二顶点开始并且在第三顶点处结束;以及
确定在所述第二语言的所述词的条件下所述第一候选字符串和所述第二候选字符串的概率。
8.一种编码有指令的计算机可读存储介质,所述指令在被执行时使得至少一个处理器:
输出包括多个键的图形键盘以显示,其中所述多个键中的至少一个与包括在第一语言的第一字母表中的一个或多个符号相关联;
响应于接收到在存在敏感输入装置处检测到的至少一个手势的指示,在第一栅格中对每个包括所述第一字母表的符号的多个候选字符串建模,其中所述第一栅格指示所述多个候选字符串中的每一个的空间概率,其中所述空间概率至少部分地基于所述至少一个手势的所述指示;
对于所述多个候选字符串中的至少一个,至少部分地基于所述多个候选字符串的所述空间概率使用指示第二语言的一个或多个词的概率的第二栅格来确定所述多个候选字符串中的所述至少一个对应于所述第二语言中所包括的至少一个词的概率,其中所述至少一个词通过与所述第二语言相对应的第二字母表的一个或多个符号来表示;以及
响应于确定所述概率满足阈值,输出表示所述至少一个词的所述一个或多个符号以显示。
9.根据权利要求8所述的编码有指令的计算机可读存储介质,所述指令在被执行时使得至少一个处理器:
确定所述多个候选字符串中的一个候选字符串中所包括的一组字符;
确定与所述候选字符串中所包括的字符相对应的键的空间模型概率;
至少部分地基于所述键的空间模型概率与所述候选字符串中所包括的字符相对应来确定所述候选字符串的总空间模型概率;以及
确定所述第一栅格中的边,其中所述候选字符串和所述字符串的所述总空间模型概率与所述边相关联。
10.根据权利要求8所述的计算机可读存储介质,其中,在所述存在敏感输入装置处检测到的至少一个手势的所述指示进一步包括轻敲输入,其中所述计算机可读存储介质编码有指令,所述指令在被执行时:
确定接近所述轻敲输入的位置的所述图形键盘的键的空间模型概率;
在第三栅格中生成每个与接近所述轻敲输入的位置的所述图形键盘的键相对应的边;
将接近所述轻敲输入的位置的所述图形键盘的字符以及接近所述轻敲输入的位置的所述图形键盘的键的相应空间模型概率与所述边相关联;
确定所述第三栅格中的多条边;以及
在所述第一栅格中生成与候选字符串相关联的边,其中所述候选字符串至少部分地基于所述第三栅格中的所述多条边来生成。
11.根据权利要求8所述的编码有指令的计算机可读存储介质,所述指令在被执行时使得至少一个处理器:
确定第一候选字符串的第一空间模型概率满足阈值,其中所述第一候选字符串对应于所述第一栅格的第一边,其中所述第一边从第一顶点开始并且在第二顶点处结束;
确定第二候选字符串的第二空间模型概率满足所述阈值,其中所述第二候选字符串对应于所述第一栅格的第二边,其中所述第二边从所述第二顶点开始并且在第三顶点处结束;以及
至少部分地基于所述第一空间模型概率和所述第二空间模型概率在所述第二栅格中生成指示所述第二语言中所包括的所述至少一个词的概率的第三边。
12.根据权利要求11所述的编码有指令的计算机可读存储介质,所述指令在被执行时使得至少一个处理器:
将所述第一候选字符串和所述第二候选字符串串接以生成第三候选字符串;
将所述第三候选字符串与所述第二栅格中的所述第三边相关联;以及
确定在所述第二语言的所述词的条件下所述第三候选字符串的概率。
13.根据权利要求8所述的计算机可读存储介质,其中,在所述存在敏感输入装置处检测到的至少一个手势的所述指示进一步包括连续手势输入,其中所述计算机可读存储介质编码有指令,所述指令在被执行时:
响应于接收到至少一个手势的指示,至少部分地基于一组键来确定候选字符串,其中,所述确定包括:
确所述手势遍历的一组对准点;
确定所述多个键中的至少两个键中的每一个的相应成本值,其中所述相应成本值中的每一个表示所述一组对准点中的一个对准点指示所述多个键中的一个键的概率;
响应于确定键组合的成本值满足阈值,由所述计算装置将候选字符串与所述第一栅格的边相关联,其中所述字符串包括与所述键组合相关联的字符。
14.根据权利要求8所述的编码有指令的计算机可读存储介质,所述指令在被执行时使得至少一个处理器:
响应于接收到在存在敏感输入装置处检测到的至少一个手势的指示,确定多个字符;
确定所述多个字符之间的至少一个边界,其中所述至少一个边界指示所述多个字符中与第一候选字符串相对应的第一组字符以及所述多个字符中与第二候选字符串相对应的第二组字符;
在所述第一栅格中生成与所述第一候选字符串相关联的第一边,其中所述第一边从第一顶点开始并且在第二顶点处结束;
在所述第一栅格中生成与所述第二候选字符串相关联的第二边,其中所述第二边从所述第二顶点开始并且在第三顶点处结束;以及
确定在所述第二语言的所述词的条件下所述第一候选字符串和所述第二候选字符串的概率。
15.一种方法,包括:
由计算装置输出包括多个键的图形键盘以显示,其中所述多个键中的至少一个与包括在第一语言的第一字母表中的一个或多个符号相关联;
响应于接收到在存在敏感输入装置处检测到的至少一个手势的指示,在第一栅格中对每个包括所述第一字母表的符号的多个候选字符串建模,其中所述第一栅格指示所述多个候选字符串中的每一个的空间概率,其中所述空间概率至少部分地基于所述至少一个手势的所述指示;
对于所述多个候选字符串中的至少一个,至少部分地基于所述多个候选字符串的所述空间概率使用指示第二语言的一个或多个词的概率的第二栅格来确定所述多个候选字符串中的所述至少一个对应于包括在所述第二语言中的至少一个词的概率,其中,所述至少一个词通过与所述第二语言相对应的第二字母表的一个或多个符号来表示;以及
响应于确定所述概率满足阈值,由所述计算装置输出表示所述至少一个词的所述一个或多个符号以显示。
16.根据权利要求15所述的方法,其中,在第一栅格中对每个包括所述第一字母表的符号的多个候选字符串建模进一步包括:
由所述计算装置确定所述多个候选字符串中的候选字符串中所包括的一组字符;
由所述计算装置确定与所述候选字符串中所包括的字符相对应的键的空间模型概率;
由所述计算装置至少部分地基于所述键的空间模型概率与所述候选字符串中所包括的字符相对应来确定所述候选字符串的总空间模型概率;以及
由所述计算装置生成所述第一栅格中的边,其中,所述候选字符串和所述字符串的所述总空间模型概率与所述边相关联。
17.根据权利要求15所述的方法,其中,在所述存在敏感输入装置处检测到的至少一个手势的所述指示进一步包括轻敲输入,所述方法进一步包括:
由所述计算装置确定接近所述轻敲输入的位置的所述图形键盘的键的空间模型概率;
由所述计算装置在第三栅格中生成每个与接近所述轻敲输入的位置的所述图形键盘的键相对应的边;
由所述计算装置将接近所述轻敲输入的位置的所述图形键盘的字符以及接近所述轻敲输入的位置的所述图形键盘的键的相应空间模型概率与所述边相关联;
由所述计算装置确定所述第三栅格中的多条边;以及
由所述计算装置在所述第一栅格中生成与候选字符串相关联的边,其中所述候选字符串至少部分地基于所述第三栅格中的所述多条边来生成。
18.根据权利要求15所述的方法,进一步包括:
由所述计算装置确定第一候选字符串的第一空间模型概率满足阈值,其中所述第一候选字符串对应于所述第一栅格的第一边,其中所述第一边从第一顶点开始并且在第二顶点处结束;
由所述计算装置确定第二候选字符串的第二空间模型概率满足所述阈值,其中所述第二候选字符串对应于所述第一栅格的第二边,其中所述第二边从所述第二顶点开始并且在第三顶点处结束;以及
由所述计算装置至少部分地基于所述第一空间模型概率和所述第二空间模型概率在所述第二栅格中生成指示包括在所述第二语言中的所述至少一个词的概率的第三边。
19.根据权利要求18所述的方法,进一步包括:
由所述计算装置将所述第一候选字符串和所述第二候选字符串串接以生成第三候选字符串;
由所述计算装置将所述第三候选字符串与所述第二栅格中的所述第三边相关联;以及
由所述计算装置确定在所述第二语言的所述词的条件下所述第三候选字符串的概率。
20.根据权利要求15所述的方法,其中,在所述存在敏感输入装置处检测到的至少一个手势的所述指示进一步包括连续手势输入,所述方法进一步包括:
由所述计算装置响应于接收到至少一个手势的指示,至少部分地基于一组键来确定候选字符串,其中所述确定包括:
由所述计算装置确定所述手势遍历的一组对准点;
由所述计算装置确定所述多个键中的至少两个键中的每一个的相应成本值,其中所述相应成本值中的每一个表示所述一组对准点中的一个对准点指示所述多个键中的一个键的概率;
响应于确定键组合的成本值满足阈值,由所述计算装置将候选字符串与所述第一栅格的边相关联,其中所述字符串包括与所述键组合相关联的字符。
21.根据权利要求15所述的方法,进一步包括:
由所述计算装置响应于接收到在存在敏感输入装置处检测到的至少一个手势的指示而确定多个字符;
由所述计算装置确定所述多个字符之间的至少一个边界,其中所述至少一个边界指示所述多个字符中与第一候选字符串相对应的第一组字符以及所述多个字符中与第二候选字符串相对应的第二组字符;
由所述计算装置在所述第一栅格中生成与所述第一候选字符串相关联的第一边,其中所述第一边从第一顶点开始并且在第二顶点处结束;
由所述计算装置在所述第一栅格中生成与所述第二候选字符串相关联的第二边,其中所述第二边从第二顶点开始并且在第三顶点处结束;以及
由所述计算装置确定在所述第二语言的所述词的条件下所述第一候选字符串和所述第二候选字符串的概率。
CN201380076553.9A 2013-03-15 2013-03-15 用于国际语言的虚拟键盘输入 Active CN105431809B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/072755 WO2014139173A1 (en) 2013-03-15 2013-03-15 Virtual keyboard input for international languages

Publications (2)

Publication Number Publication Date
CN105431809A true CN105431809A (zh) 2016-03-23
CN105431809B CN105431809B (zh) 2018-12-18

Family

ID=51535850

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380076553.9A Active CN105431809B (zh) 2013-03-15 2013-03-15 用于国际语言的虚拟键盘输入

Country Status (5)

Country Link
US (1) US10073536B2 (zh)
JP (1) JP6151381B2 (zh)
KR (1) KR102078785B1 (zh)
CN (1) CN105431809B (zh)
WO (1) WO2014139173A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107817942A (zh) * 2016-09-14 2018-03-20 北京搜狗科技发展有限公司 一种滑行输入方法、系统和一种用于滑行输入的装置
CN108475157A (zh) * 2016-03-25 2018-08-31 华为技术有限公司 字符输入方法、装置及终端
CN108701124A (zh) * 2016-05-17 2018-10-23 谷歌有限责任公司 预测接下来的字母并在图形键盘的键中显示它们
CN108701123A (zh) * 2016-04-04 2018-10-23 谷歌有限责任公司 图形键盘的动态键映射
CN110888577A (zh) * 2018-09-10 2020-03-17 百度在线网络技术(北京)有限公司 字符纠正方法、装置、设备以及存储介质
CN113227946A (zh) * 2018-11-03 2021-08-06 宗刚 一种拼音文字输入法

Families Citing this family (142)

* Cited by examiner, † Cited by third party
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
US8996376B2 (en) 2008-04-05 2015-03-31 Apple Inc. Intelligent text-to-speech conversion
US20100030549A1 (en) 2008-07-31 2010-02-04 Lee Michael M Mobile device having human language translation capability with positional feedback
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US10255566B2 (en) 2011-06-03 2019-04-09 Apple Inc. Generating and processing task items that represent tasks to perform
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
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
US9721563B2 (en) 2012-06-08 2017-08-01 Apple Inc. Name recognition system
CN103677299A (zh) * 2012-09-12 2014-03-26 深圳市世纪光速信息技术有限公司 一种在输入法中实现智能联想的方法、装置及终端设备
US9547647B2 (en) 2012-09-19 2017-01-17 Apple Inc. Voice-based media searching
EP3809407A1 (en) 2013-02-07 2021-04-21 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
WO2014197334A2 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
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
US9898187B2 (en) 2013-06-09 2018-02-20 Apple Inc. Managing real-time handwriting recognition
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
US10928924B2 (en) * 2013-11-26 2021-02-23 Lenovo (Singapore) Pte. Ltd. Typing feedback derived from sensor information
US10296160B2 (en) 2013-12-06 2019-05-21 Apple Inc. Method for extracting salient dialog usage from live data
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9785630B2 (en) * 2014-05-30 2017-10-10 Apple Inc. Text prediction using combined word N-gram and unigram language models
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
EP3149728B1 (en) 2014-05-30 2019-01-16 Apple Inc. Multi-command single utterance input method
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
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
US10152299B2 (en) 2015-03-06 2018-12-11 Apple Inc. Reducing response latency of intelligent automated assistants
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
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
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US10009341B1 (en) * 2015-05-27 2018-06-26 Assa Abloy Ab External keyboard with OTP capability
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US11025565B2 (en) 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
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
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
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
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
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
US10067938B2 (en) 2016-06-10 2018-09-04 Apple Inc. Multilingual word prediction
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US10509862B2 (en) * 2016-06-10 2019-12-17 Apple Inc. Dynamic phrase expansion of language input
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
DK179374B1 (en) * 2016-06-12 2018-05-28 Apple Inc Handwriting keyboard for monitors
US20180039608A1 (en) * 2016-08-03 2018-02-08 Google Inc. Correction of previously received textual messages based on one or more later received textual messages
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
KR101791929B1 (ko) * 2016-09-23 2017-10-31 (주)신성이노테크 다개국어 문자 입력장치
US10884610B2 (en) 2016-11-04 2021-01-05 Myscript System and method for recognizing handwritten stroke input
US11281993B2 (en) 2016-12-05 2022-03-22 Apple Inc. Model and ensemble compression for metric learning
US10546063B2 (en) * 2016-12-13 2020-01-28 International Business Machines Corporation Processing of string inputs utilizing machine learning
US10061435B2 (en) * 2016-12-16 2018-08-28 Nanning Fugui Precision Industrial Co., Ltd. Handheld device with one-handed input and input method
US10593346B2 (en) 2016-12-22 2020-03-17 Apple Inc. Rank-reduced token representation for automatic speech recognition
US11204787B2 (en) 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
US10318632B2 (en) 2017-03-14 2019-06-11 Microsoft Technology Licensing, Llc Multi-lingual data input system
CN107145242B (zh) * 2017-03-24 2020-09-29 北京百度网讯科技有限公司 纠错词展示方法、装置、设备及存储介质
US10417266B2 (en) 2017-05-09 2019-09-17 Apple Inc. Context-aware ranking of intelligent response suggestions
DK201770383A1 (en) 2017-05-09 2018-12-14 Apple Inc. USER INTERFACE FOR CORRECTING RECOGNITION ERRORS
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
DK201770439A1 (en) 2017-05-11 2018-12-13 Apple Inc. Offline personal assistant
US10395654B2 (en) 2017-05-11 2019-08-27 Apple Inc. Text normalization based on a data-driven learning network
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
US11301477B2 (en) 2017-05-12 2022-04-12 Apple Inc. Feedback analysis of a digital assistant
DK201770427A1 (en) 2017-05-12 2018-12-20 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK201770432A1 (en) 2017-05-15 2018-12-21 Apple Inc. Hierarchical belief states for digital assistants
DK201770431A1 (en) 2017-05-15 2018-12-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
US10303715B2 (en) 2017-05-16 2019-05-28 Apple Inc. Intelligent automated assistant for media exploration
DK179560B1 (en) 2017-05-16 2019-02-18 Apple Inc. FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES
US10403278B2 (en) 2017-05-16 2019-09-03 Apple Inc. Methods and systems for phonetic matching in digital assistant services
US10311144B2 (en) 2017-05-16 2019-06-04 Apple Inc. Emoji word sense disambiguation
US20180336892A1 (en) 2017-05-16 2018-11-22 Apple Inc. Detecting a trigger of a digital assistant
US10324537B2 (en) * 2017-05-31 2019-06-18 John Park Multi-language keyboard system
US10657328B2 (en) 2017-06-02 2020-05-19 Apple Inc. Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling
US10445429B2 (en) 2017-09-21 2019-10-15 Apple Inc. Natural language understanding using vocabularies with compressed serialized tries
US10755051B2 (en) 2017-09-29 2020-08-25 Apple Inc. Rule-based natural language processing
US10636424B2 (en) 2017-11-30 2020-04-28 Apple Inc. Multi-turn canned dialog
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
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
DK201870355A1 (en) 2018-06-01 2019-12-16 Apple Inc. VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS
US11386266B2 (en) 2018-06-01 2022-07-12 Apple Inc. Text correction
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
US10944859B2 (en) 2018-06-03 2021-03-09 Apple Inc. Accelerated task performance
US11010561B2 (en) 2018-09-27 2021-05-18 Apple Inc. Sentiment prediction from textual data
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
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
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
US11423908B2 (en) 2019-05-06 2022-08-23 Apple Inc. Interpreting spoken requests
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
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
US11289073B2 (en) 2019-05-31 2022-03-29 Apple Inc. Device text to speech
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
US11194467B2 (en) 2019-06-01 2021-12-07 Apple Inc. Keyboard management user interfaces
US11468890B2 (en) 2019-06-01 2022-10-11 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
WO2021056255A1 (en) 2019-09-25 2021-04-01 Apple Inc. Text detection using global geometry estimators
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US11183193B1 (en) 2020-05-11 2021-11-23 Apple Inc. Digital assistant hardware abstraction
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
US11347323B2 (en) * 2021-06-10 2022-05-31 Baidu International Technology (Shenzhen) Co., Ltd. Method for determining target key in virtual keyboard
US20230206669A1 (en) * 2021-12-28 2023-06-29 Snap Inc. On-device two step approximate string matching

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101641661A (zh) * 2007-01-05 2010-02-03 苹果公司 用于提供文本输入的字建议的方法和系统
CN101667099A (zh) * 2009-10-16 2010-03-10 神形互联有限公司 一种连笔键盘文字输入的方法和设备
CN101719022A (zh) * 2010-01-05 2010-06-02 汉王科技股份有限公司 用于全功能键盘的字符输入方法及其处理装置
US20120310626A1 (en) * 2011-06-03 2012-12-06 Yasuo Kida Autocorrecting language input for virtual keyboards
JP2012248153A (ja) * 2011-05-31 2012-12-13 Kddi Corp 文字入力装置およびプログラム
CN102937871A (zh) * 2011-09-12 2013-02-20 微软公司 软键盘接口

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10275046A (ja) * 1997-03-31 1998-10-13 Toshiba Corp 単語入力装置及び方法
US7098896B2 (en) 2003-01-16 2006-08-29 Forword Input Inc. System and method for continuous stroke word-based text input
US20110063231A1 (en) * 2009-09-14 2011-03-17 Invotek, Inc. Method and Device for Data Input
GB201200643D0 (en) * 2012-01-16 2012-02-29 Touchtype Ltd System and method for inputting text

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101641661A (zh) * 2007-01-05 2010-02-03 苹果公司 用于提供文本输入的字建议的方法和系统
CN101667099A (zh) * 2009-10-16 2010-03-10 神形互联有限公司 一种连笔键盘文字输入的方法和设备
CN101719022A (zh) * 2010-01-05 2010-06-02 汉王科技股份有限公司 用于全功能键盘的字符输入方法及其处理装置
JP2012248153A (ja) * 2011-05-31 2012-12-13 Kddi Corp 文字入力装置およびプログラム
US20120310626A1 (en) * 2011-06-03 2012-12-06 Yasuo Kida Autocorrecting language input for virtual keyboards
CN102937871A (zh) * 2011-09-12 2013-02-20 微软公司 软键盘接口

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108475157A (zh) * 2016-03-25 2018-08-31 华为技术有限公司 字符输入方法、装置及终端
CN108701123A (zh) * 2016-04-04 2018-10-23 谷歌有限责任公司 图形键盘的动态键映射
CN108701124A (zh) * 2016-05-17 2018-10-23 谷歌有限责任公司 预测接下来的字母并在图形键盘的键中显示它们
CN107817942A (zh) * 2016-09-14 2018-03-20 北京搜狗科技发展有限公司 一种滑行输入方法、系统和一种用于滑行输入的装置
CN110888577A (zh) * 2018-09-10 2020-03-17 百度在线网络技术(北京)有限公司 字符纠正方法、装置、设备以及存储介质
US10929014B2 (en) 2018-09-10 2021-02-23 Baidu Online Network Technology (Beijing) Co., Ltd. Character correction method and apparatus, device, and storage medium
CN113227946A (zh) * 2018-11-03 2021-08-06 宗刚 一种拼音文字输入法

Also Published As

Publication number Publication date
CN105431809B (zh) 2018-12-18
KR102078785B1 (ko) 2020-02-19
US20160026258A1 (en) 2016-01-28
US10073536B2 (en) 2018-09-11
JP2016509456A (ja) 2016-03-24
JP6151381B2 (ja) 2017-06-21
WO2014139173A1 (en) 2014-09-18
KR20150131299A (ko) 2015-11-24

Similar Documents

Publication Publication Date Title
CN105431809A (zh) 用于国际语言的虚拟键盘输入
US10489508B2 (en) Incremental multi-word recognition
US20210132792A1 (en) System and method for inputting text into electronic devices
US9798393B2 (en) Text correction processing
US9026428B2 (en) Text/character input system, such as for use with touch screens on mobile phones
US9841895B2 (en) Alternative hypothesis error correction for gesture typing
US9471220B2 (en) Posture-adaptive selection
US9552080B2 (en) Incremental feature-based gesture-keyboard decoding
US10445424B2 (en) System and method for inputting text into electronic devices
KR101484583B1 (ko) 대체 점수를 사용하여 사전-내에-없는 문자열들의 제스처 키보드 입력
JP2014147063A (ja) テキスト入力方法および装置
CN105074643A (zh) 非词典字符串的手势键盘输入
US9298276B1 (en) Word prediction for numbers and symbols

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
CB02 Change of applicant information

Address after: American California

Applicant after: Google limited liability company

Address before: American California

Applicant before: Google Inc.

GR01 Patent grant
GR01 Patent grant