使用替代评分的非字典字符串的姿态键盘输入的制作方法

xiaoxiao2020-7-22  16

使用替代评分的非字典字符串的姿态键盘输入的制作方法
【专利摘要】本发明涉及使用替代评分的非字典字符串的姿态键盘输入。在一个示例中,计算设备可以包括输出图形键盘的至少一个处理器。至少一个处理器可以确定对一个或多个按键的选择以及基于所选择的该一个或多个按键来确定字符串,其中,该字符串未包括在计算设备用来识别字符串的词典中。至少一个处理器可以响应于确定该字符串未包括在计算设备用来识别字符串的词典中,将该字符串与词典外语言模型分值相关联,以及至少部分地基于与该姿态相关联的空间模型分值和词典外语言模型分值,来确定指示该字符串对应于该姿态的概率的组合分值,并且输出该字符串以显示。
【专利说明】使用替代评分的非字典字符串的姿态键盘输入

【背景技术】
[0001] 一些计算设备(例如移动电话、平板电脑等等)可以将图形键盘提供为用于使用 存在敏感输入设备(例如存在敏感显示器,诸如存在感知和/或触摸屏)撰写文本的图形 用户界面的一部分。图形键盘可以使计算设备的用户能够输入文本(例如电子邮件、文本 消息或文档等等)。例如,计算设备的存在敏感显示器可以输出使用户能够通过指示(例如 通过点击)在存在敏感显示器上显示的按键来输入数据的图形(或"软")键盘。
[0002] 在一些情况下,计算设备可以呈现连续姿态(continuous-gesture)图形键盘(有 时称为"组合姿态键盘"或"姿态键盘"),通过该姿态键盘,用户能通过输入指示要输入到 计算设备的字符串的连续姿态(例如,通过在与键盘的所需按键相关联的存在敏感显示器 的不同区域上滑动他或她的手指)来交互。用这种方式,连续姿态图形键盘允许用户能够 用单一姿态输入字符串或字符串组。这样,连续姿态图形键盘可以允许用户实现一定程度 的输入效率。
[0003] 在一些示例中,提供姿态键盘的计算设备可能依赖于用于从姿态输入确定词的词 预测、自动校正和/或建议技术。这些技术可以加速文本输入和最小化包括在预定词典(例 如字典)中的字符串的拼写错误。然而,这些技术中的一个或多个可能具有某些缺陷。例 如,在一些示例中,提供姿态键盘并且依赖于这些技术的一个或多个的计算设备可能从在 存在敏感屏输入的姿态输入,未正确地确定词典外字符串(例如,未包括在字典中的词)。 这样,用户可能需要执行另外的努力来使用姿态输入来输入非字典字符串(例如姓名、俚 语、缩写词、首字母缩写词等等)。


【发明内容】

[0004] 在一个示例中,一种方法包括由计算设备输出包括多个按键的图形键盘以显示。 该方法还可以包括响应于接收到在存在敏感输入设备处检测到的姿态的指示,由计算设备 确定对多个按键中的一个或多个的选择。该方法还可以包括由计算设备基于所选择的所述 多个按键中的所述一个或多个来确定字符串,其中,该字符串未包括在由计算设备用来识 别字符串的词典中。该方法还可以包括响应于确定该字符串未包括在计算设备用来识别字 符串的词典中,由计算设备将该字符串与词典外语言模型分值相关联。该方法还可以包括 由计算设备至少部分地基于与姿态相关联的空间模型分值和词典外语言模型分值,确定指 示该字符串对应于姿态的概率的组合分值。该方法还可以包括由计算设备输出该字符串以 显不。
[0005] 在一个示例中,一种计算机可读存储介质编码有指令,当指令被执行时,使至少一 个处理器输出包括多个按键的图形键盘以显示。计算机可读存储介质可以编码有指令,当 指令被执行时,使至少一个处理器响应于接收到在存在敏感输入设备处检测到的姿态的指 示,确定对多个按键中的一个或多个的选择。计算机可读存储介质可以编码有指令,当指令 被执行时,使至少一个处理器基于所选择的所述多个按键中的所述一个或多个来确定字符 串,其中,该字符串未包括在计算设备用来识别字符串的词典中。计算机可读存储介质可以 编码有指令,当指令被执行时,使至少一个处理器响应于确定该字符串未包括在计算设备 用来识别字符串的词典中,将该字符串与词典外语言模型分值相关联。计算机可读存储介 质可以编码有指令,当指令被执行时,使至少一个处理器至少部分地基于与姿态相关联的 空间模型分值和词典外语言模型分值来确定指示该字符串对应于姿态的概率的组合分值。 计算机可读存储介质可以编码有指令,当指令被执行时,使至少一个处理器输出该字符串 以显示。
[0006] 在一个示例中,一种计算设备可以包括至少一个处理器,其中,至少一个处理器被 配置成:输出包括多个按键的图形键盘以显示。至少一个处理器可以被配置成响应于接收 到在存在敏感输入设备处检测到的姿态的指示,确定对多个按键中的一个或多个的选择。 至少一个处理器可以被配置成基于所选择的所述多个按键中的所述一个或多个来确定字 符串,其中,该字符串未包括在计算设备用来识别字符串的词典中。至少一个处理器可以被 配置成响应于确定该字符串未包括在计算设备用来识别字符串的词典中,将该字符串与词 典外语言模型分值相关联。至少一个处理器可以被配置成至少部分地基于与姿态相关联的 空间模型分值和词典外语言模型分值,确定指示该字符串对应于姿态的概率的组合分值。 至少一个处理器可以被配置成输出该字符串以显示。
[0007] 在附图和下述描述中阐述了一个或多个示例的细节。从说明书和附图以及权利要 求,本公开的其他特征、目标和优点将是显而易见的。

【专利附图】

【附图说明】
[0008] 图1是图示根据本公开的一个或多个方面的被配置为通过姿态键盘来确定词典 外字符串的示例性计算设备的概念图。
[0009] 图2是图示根据本公开的一个或多个方面的示例性计算设备的框图。
[0010] 图3是图示根据本公开的一个或多个技术的输出用于在远程设备显示的图形内 容的示例性计算设备的框图。
[0011] 图4是图示根据本公开的一个或多个方面的确定词典外字符串的示例性数据的 概念图。
[0012] 图5是图示根据本公开的一个或多个方面的被配置为通过姿态键盘来确定词典 外字符串的计算设备的示例性操作的流程图。

【具体实施方式】
[0013] 通常,本公开涉及用于基于选择图形键盘的一个或多个按键的检测姿态来确定一 个或多个词典外(00V)(字典外)字符串的技术。在一些示例中,在例如存在敏感屏输出图 形键盘的计算设备也可以接收在存在敏感屏处检测到的姿态的指示,存在敏感屏也可以接 收在存储敏感屏处检测到的姿态的指示。例如,经过与由存在敏感屏呈现的多个按键相关 联的位置的连续(非敲击)姿态可以指示对多个按键的选择。作为另一示例,非连续(例 如敲击)可以指示对单个按键的选择。在某些示例中,计算设备可以接收指示文本串的例 如在字典中的字符串或00V字符串的、与存在敏感屏上或附近的一个或多个姿态相关联的 输入。
[0014] 所述的技术可以提高计算设备检测用来生成和输出00V字符串的对按键的选择 的准确性,所述oov字符串例如当前未在一个或多个字典或基于一个或多个字典的语言模 型内的字符串。例如,当用户提供输入00V字符串的姿态时,实现基于姿态的键盘的一些计 算设备可能不识别00V字符串并且抑制输出00V字符串。在其他示例中,这样的计算设备 可以将用户真正期望的oov字符串自动地校正成用户不期望输入的字典中的不同字符串, 由此要求用户进一步修正该自动校正的字符串。因为这样的计算设备可能仅依赖于字典中 的预定字符串集来预测和/或自动校正所输入的字符串,因此,如果由用户输入的oov字符 串在字典中不存在,该计算设备不可能输出或自动校正oov字符串。根据本公开内容的技 术,不是放弃和/或自动校正构成oov字符串(例如不在字典中)、由用户输入的字符串,可 以由计算设备应用本公开的技术来输出这样的oov字符串。
[0015] 在一个示例中,使用本公开的技术,计算设备初始地基于在存在敏感显示器处检 测到的姿态的指示来确定图形键盘的多个按键。计算设备可以基于空间模型分值和语言模 型分值来确定是否输出对应于该姿态的指示的字符串。例如,计算设备可以至少部分地基 于姿态经过的存在敏感屏的位置来确定一个或多个按键的空间模型分值。空间模型分值可 以至少部分地基于姿态经过的存在敏感屏的位置来指示每一按键的相应概率。语言模型分 值可以至少部分地基于可以包括字典中的字符串和/或时间上接近当前姿态的先前输入 的字符串的语言上下文来指示字符串的概率。不是如果计算设备确定字典未包括字符串则 自动校正或抑制输出该字符串,该计算设备可以进一步确定可能与未包括在字典中的字符 串相关联的字典外语言模型分值。因此,计算设备可以基于字典外语言模型分值和空间模 型分值来确定组合分值。如果计算设备确定组合分值满足阈值,计算设备可以输出例如oov 字符串的字符串以显示。用这种方式,计算设备对于未包括在字典中的字符串使用字典外 语言模型分值,可以与用户意图一致地输出oov字符串以显示。
[0016] 因此,本公开的技术可以使计算设备能够确定oov字符串,同时提高和/或保持单 一连续姿态输入和基于姿态的图形键盘向用户提供的速度和便利。这样,在本公开中所述 的技术可以提高用户能在图形键盘按键入oov字符串的速度。这些技术可以降低或防止计 算设备从姿态输入错误地自动校正或错误地预测字符串。用这种方式,这些技术可以降低 和/或消除当用户输入oov字符串时校正自动校正的或预测的字符串的需要。因此,计算设 备可以从用户接收较少输入来手动地校正这些错误,由此减少输入字符串的用户努力。在 一些示例中,接收较少输入的计算设备执行较少操作,因此消耗较少电力。
[0017] 图1是图示根据本公开的一个或多个方面的被配置为通过姿态键盘来确定词典 外字符串的示例性计算设备的概念图。在图1的示例中,计算设备10可以是移动电话。然 而,在其他示例中,计算设备10可以是平板电脑、个人数字助理(PDA)、膝上型计算机、便携 式游戏设备、便携式媒体播放器、电子书阅读器、手表、电视平台或另一类型的计算设备。
[0018] 如图1所示,计算设备10包括用户接口设备(UID) 12。计算设备10的UID12可以 充当计算设备10的输入设备和输出设备。可以使用各种技术实现UID12。例如,UID12可 以充当使用存在敏感屏的输入设备,存在敏感屏诸如电阻式触摸屏、表面声波触摸屏、电容 式触摸屏、投影式电容触摸屏、压力敏感屏、声觉脉冲识别触摸屏或另一存在敏感屏技术。 UID12可以充当使用液晶显示器(LCD)、点矩阵显示器、发光二极管(LED)显示器、有机发光 二极管(0LED)显示器、电子墨水或能将可见信息输出给计算设备10的用户的类似单色或 彩色显示器中的任何一个或多个的输出设备。
[0019] 计算设备10的nD12可以包括可以从计算设备10的用户接收触觉用户输入的存 在敏感屏。UID12可以通过从计算设备10的用户检测一个或多个敲击和/或非敲击姿态 (例如,用户用手指或触控笔触摸或指向UID12的一个或多个位置)来接收触觉用户输入的 指示。UID12的存在敏感屏可以将输出呈现给用户。UID12可以将输出呈现为可以与由计 算设备10提供的功能有关的用户界面(例如用户界面14)。例如,UID12可以呈现在计算 设备10执行的应用(例如电子消息应用、互联网浏览应用等等)的各种用户界面。计算设 备10的用户可以与这些应用中的一个或多个交互来通过每一应用的相应用户界面利用计 算设备10执行功能。
[0020] 计算设备10可以包括用户界面("Π ")模块20、键盘模块22和姿态模块24。模 块20、22和24可以使用驻留在计算设备10中并在其上执行的软件、硬件、固件或硬件、软 件和固件的混合来执行所述的操作。计算设备10可以通过多个处理器执行模块20、22和 24。计算设备10可以将模块20、22和24执行为在底层硬件上执行的虚拟机。模块20、22 和24可以以各种方式实现。例如,Π 模块20可以实现为可下载或可预装的应用或"app"。 在另一示例中,Π 模块20可以实现为计算设备10的操作系统的一部分。
[0021] 计算设备10的姿态模块24可以从HD12接收在HD12的存在敏感屏处检测到的 用户输入的一个或多个指示。通常,每次UID12接收在存在敏感屏的位置处检测到的用户 输入的指示时,姿态模块24可以从WD12接收有关用户输入的信息。姿态模块24可以将 从UID12接收的信息汇编成指示姿态的时间顺序的事件集合,诸如一系列触摸事件。序列 中的每一触摸事件可以包括表示表征在存在敏感屏处的输入的存在和/或移动的参数(例 如何时、何地、发起方向)的数据或分量。序列中的每一触摸事件可以包括对应于WD12的 位置的位置分量、与UID12何时检测到该位置的用户输入有关的时间分量、以及与触摸事 件是否对应于该位置处的提离或按下有关的动作分量。此外,事件中的一个或多个可以具 有并发时间分量,以及这样的事件被描述为仅用于示例的触摸事件,以及可以指示以存在 敏感输入设备的任何形式的姿态。
[0022] 姿态模块24可以基于触摸事件序列来确定用户输入的一个或多个特征,以及将 有关这些一个或多个特征的信息包括在触摸事件序列中的每一触摸事件中。例如,姿态模 块24可以确定用户输入的起始位置、用户输入的结束位置、用户输入的一部分的密度、用 户输入的一部分的速度、用户输入的一部分的方向以及用户输入的一部分的曲率。(除上述 时间、位置和动作分量外)触摸事件序列中的一个或多个触摸事件可以包括包含有关用户 输入的一个或多个特征(例如密度、速度等等)的信息的特征分量。姿态模块24可以将包 括与每一触摸事件相关联的分量或参数化数据的触摸事件序列作为输出传输给键盘模块 22。
[0023] 在图1的示例中,Π 模块20可以使HD12呈现示例性用户界面14。在该示例中,用 户界面14包括在HD12的各个位置显示的图形元素。图1图示用户界面14的编辑区16A、 以及用户界面14的图形键盘16B。编辑区16A可以包括诸如图像、对象、超链接、文本字符 等等的图形元素。图形键盘16B包括显示为按键的图形元素。用户界面14包括建议字符 串区38A-38C,包括可选择的拼写校正或字符串建议来替代包括在编辑区16A中的字符串。 在图1的示例中,编辑区16A包括显示为文本的字符(例如字符串)的图形元素。计算设 备10的用户可以通过在显示图形键盘16B的按键的WD12的位置提供用户输入来在编辑 区16A中输入文本。响应于诸如此的用户输入,计算设备10可以在建议字符串区38A-38C 中输出一个或多个建议字符串。
[0024] Π 模块20可以充当计算设备10的各个部件之间的媒介来基于由UID12检测到 的输入进行确定以及生成由UID12呈现的输出。例如,Π 模块20可以作为输入从键盘模 块22接收包括在图形键盘16B中的按键的键盘布局的表示。Π 模块20可以作为输入从 姿态模块24接收从与由UID12检测到的用户输入有关的信息生成的触摸事件序列。Π 模 块20可以基于触摸事件序列中的位置分量来确定一个或多个位置分量接近对一个或多个 按键的选择(例如,Π 模块20可以确定触摸事件中的一个或多个的位置对应于呈现图形 键盘16B的WD12的区域)。姿态模块24可以将触摸事件序列连同UID12呈现按键中的 每一个的位置一起作为输出传输给键盘模块22。作为响应,Π 模块20可以从键盘模块22 接收一个或多个建议字符串。Π 模块20可以更新用户界面14来在编辑区16A和/或字符 串区38A-38C内包括一个或多个字符串。Π 模块20可以使UID12呈现所更新的用户界面 14。
[0025] 计算设备10的键盘模块22可以将包括与一个或多个书写语言(例如英语、西班 牙语等等)有关的多个按键的键盘布局作为输出传输给UI模块20 (用于包括为用户界面 14的图形键盘16B)。键盘模块22可以将一个或多个字符或操作指定到键盘布局中的多个 按键中的每一按键。例如,键盘模块22可以生成包括表示用在键入英语语言中的字符的按 键的QWERTY键盘布局。QWERTY键盘布局也可以包括表示用在键入英语语言中的操作的按 键(例如退格、删除、空格键、回车键等等)。
[0026] 键盘模块22可以从姿态模块24接收表示由姿态模块24生成的触摸事件序列的 数据。键盘模块22还可以从姿态模块24接收表示WD12呈现图形键盘16B的按键中的每 一个的WD12的存在敏感屏的位置的数据。键盘模块22可以基于按键的位置来确定触摸 事件序列表示对一个或多个按键的选择。根据本公开的技术,键盘模块22可以基于字符串 中的每一字符对应图形键盘的按键的位置来确定一个或多个字符串。键盘模块22可以将 指示一个或多个字符串的数据发送到Π 模块20,用于包括在用户界面14的编辑区16A中。
[0027] 为了确定触摸事件序列表示对一个或多个按键的选择,键盘模块22可以包括空 间模型26。通常,空间模型26可以生成基于与用户输入相关联的位置数据已选择图形键盘 的特定按键的一个或多个概率。在一些示例中,空间模型26包括用于每一按键的双变量高 斯模型。用于按键的双变量高斯模型可以包括对应于呈现给定按键的WD12的位置的坐标 (例如(x,y)坐标对)的分布。更具体地说,在一些示例中,用于按键的双变量高斯模型可 以包括对应于当用户期望选择给定按键时用户最频繁选择的WD12的位置的坐标的分布。 用户输入的位置数据与空间模型26的较高密度区之间的距离越短,则选择与该空间模型 26相关联的按键的概率越高。用户输入的位置数据与空间模型26的较高密度区之间的距 离越大,则选择与空间模型26相关联的按键的概率越低。
[0028] 键盘模块22可以使用空间模型26来将触摸事件序列中的一个或多个触摸事件的 位置分量(例如坐标)与图形键盘16B的一个或多个按键的相应位置进行比较,并且基于 这些比较来生成发生按键选择的概率。在一些示例中,键盘模块22可以使用空间模型26 来生成空间模型分值。空间模型分值可以指示至少部分地基于姿态经过的WD12的位置的 被选按键的概率。在一些示例中,空间模型分值可以指示至少部分地基于姿态经过的WD12 的位置的一组被选按键的组合概率。
[0029] 例如,键盘模块22可以使用空间模型26来将触摸事件序列中的一个或多个触摸 事件的位置分量与图形键盘16B的特定按键的按键位置进行比较。序列中的每个触摸事件 的位置分量可以包括WD12的一个位置。图形键盘16B中的按键的按键位置(例如,按键 的质心)可以包括WD12的不同位置。键盘模块12可以使用空间模型26来确定两个位置 之间的欧几里德距离,以及基于欧几里德距离来生成该按键被选择的概率。空间模块26可 以对与一个或多个触摸事件共用较小欧几里德距离的按键比与一个或多个触摸事件共用 较大欧几里德距离的按键指示更高的概率。基于与每一按键相关联的空间模型概率,键盘 模块22可以将具有最高空间模型概率的各个按键选择汇编成按键的时间顺序序列,然后, 键盘模块22可以确定表示字符串。每一按键的组合概率可以表示用于字符串的空间模型 分值。
[0030] 键盘模块22可以使用语言模型28来基于对应于触摸事件的按键顺序来确定用于 一个或多个字符串的语言模型分值。例如,键盘的每一按键可以表示字符或键盘操作。键 盘模块22可以基于按键序列来确定由一个或多个按键选择表示的特定字符。诸如数字或 小写字母的字符可能需要单一字符按键选择(例如〈字母键〉、〈数字键〉等等),以及诸 如大写字母的字符可能需要两个按键选择(例如〈切换键>+〈字母键〉等等)。
[0031] 键盘模块22可以访问计算设备10的语言模型28,以基于对应于姿态的按键序列 来确定用于一组一个或多个字符串的语言模型分值。即,键盘模块22可以响应于接收到一 个或多个姿态的指示而使用语言模型28来增量地生成一组一个或多个字符串。字符串可 以是包括在语言模型28中包括的字符串或00V字符串的前缀或一部分的一组字符。在一 些示例中,字符串可以是包括在语言模型28中包括的完整字符或完整00V字符串的一组字 符。当键盘模块22接收一个或多个姿态的指示时,键盘模块22可以增量地确定对应于字符 串的空间和语言模型分值。使用空间和语言模型分值,键盘模块22可以基于用于每一相应 字符串的空间和语言模型分值来确定用于每一字符串的组合分值。当键盘模块22确定姿 态的后续指示时,键盘模块22可以增量地更新空间、语言和/或组合分值。例如,键盘模块 22可以在接收在存在敏感屏处检测到的一个或多个姿态的多个指示的同时,基于语言上下 文来更新词典外语言模型分值,其中,语言上下文响应于一个或多个姿态的多个指示中的 至少一个而改变。例如,与语言模型28中的字符串相关联的语言模型分值可以响应于所输 入的字符串而改变。由于词典外语言模型分值可以基于包括在语言模型28中的语言模型 分值,键盘模块22可以基于改变的语言上下文来更新词典外语言模型分值。因为组合分值 可以指示字符串对应于姿态的概率,因此,键盘模块22可以按它们相应的组合分值对字符 串排名,如在本公开中进一步所述。然后,键盘模块22可以输出字符串和/或基于字符串 来确定其他字符串以输出。
[0032] 通常,计算设备10的语言模型28可以包括书写语言词典内的字符串列表,例如 词。在一些示例中,语言模型28可以基于和/或包括基于在计算设备10或可由计算设备 10访问的远程计算设备处存储的字典(例如包括词的词典)的字符串集合。在一些示例 中,字典可以包括词的词汇表。字的词汇表可以是用在书写和/或口语中的词的主体。字 典可以实现为以结构化方式存储词汇的一个或多个词的数据结构。语言模型28可以指示 基于在给定语言上下文中该字符串出现的频率的每一个相应字符串的概率。例如,在英文 中字符串"door"可以被更频繁地在字符串"the"后使用,因此,比例如字符串"the"后的 字符串"run"与更大概率相关联。
[0033] 键盘模块22可以在语言模型28中执行查找来识别一个或多个字符串,例如语 言模型28中的词,其包括与姿态相对应的按键相关联的字符组中的一部分或全部。语言 模型28可以实现一个或多个η元(n-gram)语言模型。n-gram语言模型可以基于序列中 的先前项为邻近项序列中的项 Xi (字母、词、标点符号或其他分隔符)提供概率分布(即, 例如,字符级双元语言模型(n-gram模型,其中n = 2)可以提供字 母"w"在字母序列"no"之后的概率。在另一示例中,词级三元语言模型可以提供"fox"在 词序列"the quick brown"后的概率。
[0034] 键盘模块22可以使用语言模型28来基于可以包括但不限于例如对应于由用户执 行的姿态的指示的字符、字典中的字符串和/或先前输入的字符串等等的语言上下文确定 用于字符串的语言模型分值。例如,键盘模块22可以确定与对应于姿态的按键相关联的字 符组。字符组可以是字符串的前缀或一部分。字符串可以包括在语言模型28中或可以是 词典外字符串。键盘模块22可以搜索或预先估计来确定语言模型28中的分别对应于该前 缀的一个或多个字符串。例如,假定字符串s-a-t,键盘模块22可以使用语言模型28确定 字符串satin的概率。键盘模块22可以基于该概率来确定语言模型分值。用这种方式,语 言模型28中的在给定语言上下文中具有较高概率的字符串可以具有较高语言模型分值。
[0035] 在一些示例中,键盘模块22可以执行对与对应于姿态的按键相关联的多个不同 字符组的查找,例如,其中每一字符组可以是字符串的前缀或一部分。键盘模块22可以使 用语言模型28来识别语言模型28中的包括可以是字符串的前缀或一部分的字符组中的 一部分或全部字符的一个或多个字符串。如图1所示,用户可以在WD12处执行经过按键 s-a-r-t的姿态30。因此,键盘模块22可以执行前缀s-a-r的查找来确定以s-a-r开头的 字符组。类似地,键盘模块22可以执行对前缀s-a-t的查找来确定以s-a-t开头的一组字 符串。
[0036] 在一些示例中,键盘模块22至少部分地基于用于每一个相应字符串的相应空间 和语言模型分值来确定每一字符串的组合分值。因此,字符串的组合概率可以表示基于语 言上下文的字符串的概率和姿态对于给定按键集合的准确性。键盘模块22可以以从最可 能的字符串到最不可能的字符串的降序按组合分值对一组字符串中的每一字符串排序。在 一些示例中,键盘模块22可以基于具有最高概率的一个或多个字符串来确定一个或多个 字符串。UID12可以在建议字符串区38A-38C中输出诸如建议字符串的字符串。在其他示 例中,可以在编辑区16A中输出具有最高概率的一个或多个候选字符串。
[0037] 不是如果计算设备10确定语言模型28未包括该字符串的话则自动校正或抑制输 出字符串,计算设备10可以确定可以与未包括在语言模型28中的字符串(例如00V字符 串)相关联的词典外语言模型分值。即,尽管词典外字符串可能未包括在语言模型28中 (因此,不能从语言模型28获得该词典外字符串的语言模型分值),但键盘模块22可以确 定词典外语言模型分值来与该词典外字符串相关联。因此,计算设备10可以基于词典外语 言模型分值和空间模型分值来确定组合分值。用这种方式,计算设备10使用未包括在字典 中的字符串的词典外语言模型分值,仍然可以输出00V字符串以显示,尽管这样的词典外 字符串可能未包括在语言模型28中。
[0038] 为示例目的,参考图1进一步详细地描述这些技术。在图1的示例中,计算设备10 输出包括多个按键的图形键盘16B以显示。例如,键盘模块22可以生成包括图形键盘16B 的表示的数据。Π 模块20可以生成用户界面14,并且基于表示图形键盘16B的数据在用 户界面14中包括图形键盘16B。Π 模块20可以将包括用于在WD12的存在敏感屏显示用 户界面14的指令的信息发送到WD12。UID12可以接收该信息以及使UID12的存在敏感屏 呈现包括编辑区16A、图形键盘16B和建议字符串区38A-38C的用户界面14。图形键盘16B 可以包括多个按键。
[0039] 计算设备10可以响应于接收到在WD12的存在敏感显示器处检测到的姿态30的 指示,确定对多个按键中的一个或多个的选择。例如,当UID12在存在敏感屏呈现用户界 面14时,用户可以在UID12呈现图形键盘16B的存在敏感屏的位置处提供姿态用户输入 30 (或简称"姿态"30)。图1图示包括分别表示姿态30的路径的一部分或子部分的姿态30 的路径的部分34A-34J (统称"部分"34)的姿态30的路径。例如,部分34A表示姿态30的 开始部分,部分34J表示姿态30的结束部分,以及部分34B-34I分别表示姿态30的中间部 分。为示例目的,由图1中的虚线圆定界部分34中的每一个,尽管在一些示例中UID12可 以不输出这样的虚线圆,以及在各个不同示例中这些部分可以更大和/或更小。
[0040] 姿态模块24可以从nD接收指示姿态30的信息以及将信息汇编成时序排序的触 摸事件序列(例如,每一触摸事件包括位置分量、时间分量和动作分量)。姿态模块24可以 将触摸事件发送到键盘模块22。键盘模块22可以从Π 模块20接收触摸事件序列以及与 每一触摸事件相关联的信息(例如位置、时间、动作等等)。键盘模块22可以将触摸事件序 列中的每一触摸事件的位置分量与每一按键位置进行比较来确定共用与触摸事件序列中 的触摸事件的位置相同的WD12的近似位置的一个或多个按键。例如,键盘模块22可以使 用空间模型26来确定指示一个或多个触摸事件对应于对按键的选择的概率的空间模型分 值。
[0041] 键盘模块22可以从多个按键确定基于一个或多个字符的字符串。例如,键盘模块 22可以基于对图形键盘16B的〈S键〉、〈A键〉、〈T键〉、〈0键〉和〈K键〉的顺序选择来确 定键序列表示字符串satok。在一些示例中,键盘模块22可以确定其他可能的字符串,诸 如sartik、satyok等等。将satokas作为示例,键盘模块22可以使用语言模型28来基于 对应于对由姿态指示的按键的选择的字符组s-a-t-o-k,确定字符串。类似地,键盘模块22 还可以使用语言模型28来基于分别对应于由姿态指示的不同可能按键组的选择的字符组 s-a-t-i-n-g和s-a-r-i-n,确定一个或多个字符串。
[0042] 在一些示例中,键盘模块22可以确定一个或多个字符串未包括在由计算设备10 用来识别字符串的字典中。即,在一些示例中,语言模型28可以建模和/或包括一个或多 个字典的字符串,以及键盘模块22可以确定包括对应于由姿态指示的按键的选择的字符 组的字符串是否包括在语言模型28中,因此是否包括在字典中(例如,包括词的词典)。例 如,键盘模块22可以确定satok未包括在语言模型28中。因此,可以确定该字符串satok 是词典外(00V)字符串。然而,键盘模块22可以确定"satin"和"sarin"是包括在语言模 型28中的字符串。字符串"satin"和"sarin"共用与satok相同的前缀并且与类似的姿 态路径相关联。因此,键盘模块22可以确定"satin"和"sarin"的语言模型分值,其指示 给定包括所输入的字符串satok的语言上下文的字符串的相应概率。如上所述,键盘模块 22也可以确定"satin"和"sarin"的空间模型分值,指示给定由姿态30经过的按键的这些 字符串的相应概率。
[0043] 根据本公开的技术,不是因为语言模型28未包括satok而放弃satok,键盘模块 22可以将该字符串satok与词典外语言模型分值相关联。词典外语言模型分值可以表示未 包括在语言模型28中的字符串(其可以包括来自一个或多个字典的字符串)的替代语言 模型分值。在一些示例中,词典外语言模型分值可以是预先确定的值。在其他示例中,键盘 模块22可以至少部分地基于语言模型28中的最不可能字符串的概率来确定词典外语言模 型分值。例如,如在图4中进一步所示,语言模型28中的每一字符串可以与指示给定上下文 中的字符串的概率的值相关联。键盘模块22可以将词典外语言模型分值确定为语言模型 28中的最不可能字符串的语言模型分值。在任一情况下,键盘模块22可以将字符串satok 与词典外语言模型分值相关联。此外,如上所述,键盘模块22可以基于按键s-a-t-o-k和 姿态30来确定satok的空间模型分值。
[0044] 键盘模块22可以确定可以包括字符串satok的一个或多个字符串(例如00V字 符串)的组合分值。键盘模块22可以基于字符串的相应空间和语言模型分值来确定每一 字符串的组合分值。组合分值可以指示字符串对应于姿态的概率。在一些示例中,键盘模 块22可以在字符串建议区38A-38C中输出一个或多个字符串建议(例如,候选和/或00V 字符串)。例如,如图1所示,可以在建议字符串区38A-38C中输出具有最高组合分值的三 个字符串以显示。在图1的示例中,与字符串satok相关联的组合分值可以是最高组合分 值。词典外语言模型分值对于satok可能低,但与satok相关联的空间模型分值相对于其 他候选字符串的空间模型分值可能高,因为由于用户意图输入00V字符串satok,姿态路径 30更精确地经过s-a-t-o-k按键。因此,satok的组合分值可以仍然是候选字符串中具有 最高组合分值中的一个。因此,键盘模块22可以在字符串建议区38A中输出00V字符串 satok以显示,作为在由键盘模块22确定的候选字符串中具有最高组合分值的三个字符串 中的一个。
[0045] 键盘模块22可以将一个或多个候选字符串或短语以及相关联的排名输出到Π 模 块20,以包括在用户界面14的编辑区16A中,或作为用户界面14的建议字符串区38A-38C 中的个体建议字符串38。Π 模块20可以从键盘模块22接收一个或多个候选字符串或短 语(包括原始字符串)以及一个或多个候选字符串或短语的排名。Π 模块20可以通过将 三个最高排名字符串包括为建议字符串来更新建议字符串区38A-38C。如图1中所示,在用 户意图通过姿态30输入00V字符串或短语的情况下,Π 模块20可以包括原始字符串,例如 00V字符串,如字符串建议区38A所示。从用户界面14,用户能通过在WD12输出建议字符 串区38A-38C的WD12的位置敲击或提供输入来选择建议字符串38中的一个。例如,用户 在HD12呈现建议字符串(例如satok)的HD12的位置上敲击。在建议字符串区38A上 敲击可以使Π 模块20更新用户界面14以及将00V字符串satok包括在编辑区16A中。
[0046] 用这种方式,本公开的技术可以使计算设备能够基于在图形键盘输入的姿态输入 来接收00V字符串或短语。本公开的技术可以使计算设备能够更准确地确定字符串和输出 00V字符串。这些技术可以进一步使用户能够更快速地在计算设备输入字符串,因为用户可 以提供较少输入来校正计算设备或单独地敲击按键来输入00V字符串。诸如此的计算设备 可以处理较少用户输入,执行较少操作,因此消耗较少电力。
[0047] 图2是图示根据本公开的一个或多个方面的示例性计算设备的框图。在下面在图 1的上下文内描述了图2的计算设备10。图2仅图示了计算设备10的一个具体示例,以及 在其他实例中可以使用计算设备10的许多其他示例,以及计算设备10可以包括在示例性 计算设备10中包括的部件的子集或可以包括图2中未示出的另外的部件。
[0048] 如图2的示例中所示,计算设备10包括用户接口设备12 (例如存在敏感显示器)、 一个或多个处理器40、一个或多个输入设备42、一个或多个通信单兀44、一个或多个输出 设备46以及一个或多个存储设备48。计算设备10的存储设备48还包括Π 模块20、键盘 模块22、姿态模块24、空间模型26和语言模型28。通信信道50可以互连部件12、40、42、 44、46、48、20、22、24、26和28的每一个,用于部件间通信(物理地、可通信地和/或可操作 地)。在一些示例中,通信信道50可以包括系统总线、网络连接、进程间通信数据结构、或用 于传送数据的任何其他方法。
[0049] 计算设备10的一个或多个输入设备42可以接收输入。输入的示例是触觉、音频 和视频输入。计算设备10的输入设备42在一个示例中包括鼠标、键盘、语音应答系统、视 频相机、麦克风或用于检测来自人或机器的输入的任何其他类型的设备。在一些示例中,输 入设备42可以是存在敏感输入设备,其可以包括存在敏感屏、触敏屏等等。
[0050] 计算设备10的一个或多个输出设备46可以生成输出。输出的示例是触觉、音频和 视频输出。计算设备10的输出设备46在一个示例中包括存在敏感屏、声卡、视频图形适配 器卡、扬声器、阴极射线管(CRT)监视器、液晶显示器(LCD)、或用于生成到人或机器的输出 的任何其他类型的设备。输出设备46可以包括显示设备,诸如阴极射线管(CRT)监视器、 液晶显示器(LCD)、或用于生成视觉输出的任何其他类型的设备。
[0051] 计算设备10的一个或多个通信单元44可以通过在一个或多个网络上传送和/或 接收网络信号而经由一个或多个网络与外部设备通信。例如,计算设备10可以使用通信单 元44来在诸如蜂窝无线网络的无线网络上传送和/或接收无线电信号。同样地,通信单元 44可以在诸如GPS网络的卫星网络上传送和/或接收卫星信号。通信单元44的示例包括 网络接口卡(例如以太网卡)、光学收发器、射频收发器、GPS接收机、或能发送和/或接收 信息的任何其他类型的设备。通信单元44的其他示例可以包括在移动设备中发现的蓝牙 ?、GPS、3G、4G和Wi-Fi ?无线电以及串行通用总线(USB)控制器。
[0052] 在一些示例中,计算设备10的UID12可以包括输入设备42和/或输出设备46的 功能。在图2的示例中,UID12可以是或可以包括存在敏感输入设备,诸如存在敏感屏、触 敏屏等等。在一些示例中,存在敏感屏可以检测存在敏感屏处和/或附近的对象。作为一 个示例范围,UID12可以检测存在敏感屏的2英寸或更小内的对象,诸如手指或触控笔。存 在敏感屏可以确定检测到对象的存在敏感屏的位置(例如(x,y)坐标)。在另一示例性范 围中,存在敏感屏可以检测离存在敏感屏6英寸或更小的对象,以及其他范围也是可能的。 存在敏感屏可以使用电容、电感和/或光学识别技术来确定由用户的手指选择的屏幕的位 置。在一些示例中,UID12使用触觉、音频或视频刺激来向用户提供输出,如关于输出设备 46所述。在图2的示例中,UID12表示用户界面,诸如图1的用户界面14。
[0053] 尽管图示为计算设备10的内部部件,但WD12也可以表示与计算设备10的其他 部件共用数据路径的外部部件,用于传送和/或接收输入和输出。例如,在一个示例中, UID12表示位于计算设备10内并且物理连接到计算设备10的外部封装的计算设备10的内 置部件(例如移动设备上的屏幕)。在另一示例中,UID12可以是位于计算设备10外并且 与计算设备10的封装物理分离的计算设备10的外部部件(例如,与平板电脑共用有线和 /或无线数据路径的监视器、投影仪等等)。
[0054] 计算设备10内的一个或多个存储设备48可以存储在计算设备10的操作期间用 于处理的信息。在一些示例中,存储设备48是临时存储器,意指存储设备48的主要目的不 是长期存储。计算设备10上的存储设备48可以被配置为用于信息的短期存储作为易失性 存储器,因此,如果断电,则不保留所存储的内容。易失性存储器的示例包括随机存取存储 器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)和本领域已知的其他 形式的易失存储器。
[0055] 在一些示例中,存储设备48还包括一个或多个计算机可读存储介质。存储设备48 可以被配置成存储比易失性存储器多的信息。存储设备48可以进一步被配置成用于信息 的长期存储作为非易失性存储器,以及在上电/断电周期后,保留信息。非易失性存储器的 示例包括磁硬盘、光盘、软盘、闪存、或电可编程存储器(EPROM)或电可擦可编辑(EEPR0M) 存储器的形式。存储设备48可以存储与Π 模块20、键盘模块22、姿态模块24、空间模型 26和语言模型28相关联的程序指令和/或数据。
[0056] -个或多个处理器40可以实现计算设备10内的功能和/或执行指令。例如,计 算设备10上的处理器40可以接收和执行由存储设备48存储的指令,其执行Π 模块20、键 盘模块22、姿态模块24、空间模型26和语言模型28的功能。由处理器执行的这些指令可 以使计算设备10在程序执行期间将信息存储在存储设备48内。处理器40可以执行UI模 块20、键盘模块22、姿态模块24、空间模型26和语言模型28的指令来使WD12显示用户界 面14。即,模块Π 模块20、键盘模块22、姿态模块24、空间模型26和语言模型28可以由 处理器40操作来执行各种动作,包括接收在HD12的存在敏感屏的位置处的姿态的指示, 以及使存在敏感显示器4在UID12呈现用户界面14。
[0057] 根据本公开的方面,键盘模块22可以初始地将使存在敏感显示器4输出图形键盘 以显示的数据发送到Π 模块20。图形键盘可以包括多个按键。多个按键中的至少一个可 以与一个或多个字符和/或符号相关联。在一些示例中,Π 模块20可以响应于接收到在 存在敏感显示器处检测到的姿态的指示而确定对多个按键中的一个或多个的选择。例如, Π 模块20可以从UID12和/或输入设备42接收姿态的指示。在另一示例中,Π 模块20 可以从通信单元44接收姿态的指示,例如,如果存在敏感输入设备与计算设备10分离,如 图3进一步所示。
[0058] 键盘模块22可以确定对应于所选择的多个按键中的一个或多个的字符串。字符 串未包括在计算设备用来识别字符串的字典中。例如,键盘模块22可以使用空间模型26 和/或语言模型28来确定对应于所选择的多个按键中的一个或多个的字符串,如在图1和 4中所述。根据本公开的技术,键盘模块22可以将字符串与词典外语言模型分值相关联。
[0059] 在一些示例中,键盘模块22可以至少部分地基于与姿态相关联的空间模型分值 和词典外语言模型分值来确定指示该字符串对应于该姿态的概率的组合分值。在一些示例 中,键盘模块22可以基于词典外语言模型分值和/或空间模型分值的乘积和/或总和来生 成组合分值。键盘模块22可以输出字符串以在WD12、输入设备42和/或通信单元44显 示。例如,如果与字符串相关联的组合分值满足阈值(例如大于阈值),则键盘模块22可以 将使WD12、输入设备42和/或通信单元44输出字符串的数据发送到Π 模块20。
[0060] 如图1中所述,键盘模块22可以基于一个或多个姿态来确定多个字符串。键盘 模块22可以选择多个字符串中的一个或多个以显示。在一些示例中,被选择的字符串中 的一个可以是与包括在语言模型28中的其他字符串一起显示的词典外字符串,例如未包 括在语言模型28中的字符串。例如,键盘模块22可以通过计算设备来确定对应于所选择 的多个按键中的一个或多个的多个不同字符串。在一些示例中,多个不同字符串中的每 一个包括在字典(例如,可以包括词的词典)中,诸如包括在语言模型28中的字符串的 字典。例如,键盘模块22可以基于包括字符串中的每一个的语言模型28来确定字符串 " satin"、" sarin"、" satire"。键盘模块22也可以确定可以未包括在语言模型28中的字符 串"satok"。在一些示例中,键盘模块22可以基于对应于与"S"键、"A"键、"T"键、"0"键 和"K"键相关联的图形键盘16B的按键的WD12的一个或多个位置来确定字符串"satok"。 例如,与每一按键的每一相应字符相关联的空间模型概率可以大于阈值。
[0061] 键盘模块22可以对多个不同字符串中的每一不同字符串确定相应语言模型分 值。例如,如在图4中进一步所述,键盘模块22可以对包括在语言模型28中的每一字符串 确定语言模型分值。根据本公开的技术,键盘模块22可以确定"satok"未包括在语言模型 28中。键盘模块22可以将词典外语言模型分值与字符串"satok"相关联。例如,词典外语 言模型分值可以等于语言模型28中的最低语言模型分值。
[0062] 键盘模块22可以对多个字符串中的每一不同字符串确定相应的组合分值。相应 的组合分值可以至少部分地基于空间模型分值和用于多个字符串中的相应不同字符串的 相应的语言模型分值。例如,键盘模块22可以确定用于多个字符串的每一个的组合分值。 多个字符串中的字符串的组合分值可以基于与字符串中的一个相关联的空间模型分值和 与该字符串相关联的语言模型分值(例如,基于语言模型28的语言模型或词典外语言模型 分值)。
[0063] 响应于确定所述多个字符串中的所述不同字符串中的至少一个的相应组合分值 满足阈值,键盘模块22可以将使UI设备16输出具有词典外字符串的所述不同字符串中的 所述至少一个的数据发送到Π 模块20。例如,如图1中所示,字符串"satin"可以与满足 该阈值的组合分值相关联。可以输出字符串"satin"以与未包括在语言模型28中的词典 外字符串"satok"一起显示。用这种方式,如果用户想输入字符串"satok",键盘模块22可 以输出"satok",使得用户能向用户提供用于选择"satok"的输入。
[0064] 在一些示例中,图形用户界面可以包括显示字符串建议的有限量的区域。然而,在 一些示例中,用户可能希望看见词典外字符串建议。在一些示例中,即使字典中的一个或多 个其他字符串与比与词典外字符串相关联的组合分值高的组合分值相关联,用户也可能希 望看见词典外字符串。根据本公开的技术,计算设备10可以在字符串建议区中输出词典外 字符串。
[0065] 在一个示例中,Π 模块20可以确定在被输出以显示的图形用户界面中确定多个 字符串建议区。例如,Π 模块可以确定用户界面14的字符串建议区38A-38C。响应于接收 到一个或多个姿态的一个或多个指示,键盘模块22可以确定对应于所选择的多个按键中 的一个或多个的多个不同字符串。在一些示例中,多个不同字符串中的每一不同字符串包 括在字典中。键盘模块22可以对多个不同字符串中的每一不同字符串确定相应的语言模 型分值。例如,键盘模块22可以使用语言模型28来确定该字符串的语言模型分值。
[0066] 键盘模块22可以对多个字符串中的每一不同字符串确定相应的组合分值。在一 些示例中,相应的组合分值可以至少部分地基于空间模型分值和多个字符串中的相应不同 字符串的相应语言模型分值。如在本公开的其他示例中所述,在一些示例中,组合分值可以 是空间和语言模型分值的总和或乘积。
[0067] 在一些示例中,键盘模块22可以确定多个字符串中的可能字符串的数量。可能字 符串可以与指示比词典外字符串的组合分值高的概率(例如大于词典外字符串的组合分 值的概率)的组合分值相关联。例如,可能字符串可以是包括在字典中并且与比词典外字 符串的组合分值低的组合分值相关联的字符串。
[0068] 键盘模块22响应于确定可能字符串的数量大于多个字符串建议区中的字符串建 议区的数量而可以将使UID12在多个字符串建议区中的至少一个输出词典外字符串以显 示的数据发送到Π 模块20。例如,键盘模块22可以使"satok"(例如词典外字符串)显示 在字符串建议区38A中。在一些示例中,键盘模块22可以使" satok"输出,以在字符串建 议区38中的一个中显示,尽管与"satok"相关联的组合分值小于具有比"satok"的组合分 值大的一些字符串的组合分值,以及其中,字符串的数量大于或等于字符串建议区的数量。 用这种方式,键盘模块22可以使"satok"输出以显示,尽管否则具有大于"satok"的组合 分值的其他字符串将显示在字符串建议区38中。
[0069] 图3是图示根据本公开的一个或多个技术的输出图形内容以在远程设备显示的 示例性计算设备的框图。通常,图形内容可以包括可以被输出以显示的任何视觉信息,诸如 文本、图像、一组运动图像等等。图3中所示的示例包括计算设备60、存在敏感显示器64、 通信单元70、投影仪80、投影仪屏82、移动设备86和视觉显示设备90。尽管在图1和图2 中为示例目的被示为独立的计算设备10,但诸如计算设备60的计算设备通常可以是包括 用于执行软件指令的处理器或其他适当的计算环境的任何部件或系统,以及例如不需要包 括存在敏感显不器。
[0070] 如图3的示例中所示,计算设备60可以是包括关于图2的处理器40所述的功能 的处理器。在这样的示例中,计算设备60可以通过通信信道62A,其可以是系统总线或其他 适当的连接,可操作地耦接到存在敏感显示器64。计算设备60还可以通过通信信道62B, 其也可以系统总线或其他适当的连接,可操作地耦接到下面进一步所述的通信单元70。尽 管在图3中分别作为示例示出,但计算设备60可以通过一个或多个通信信道中的任意数目 来可操作地耦接到存在敏感显示器64和通信单元70。
[0071] 在其他示例中,诸如先前在图1-2中通过计算设备10所示,计算设备可以是指便 携式或移动设备,诸如移动电话(包括智能电话)、平板电脑等等。在一些示例中,计算设备 可以是台式计算机、平板电脑、智能电视平台、相机、个人数字助理(PDAs)、服务器、主机等 等。
[0072] 可以是用户界面设备(诸如图1所示的WD12)的存在敏感显示器64可以包括显 示设备66和存在敏感输入设备68。例如,显示设备66可以从计算设备60接收数据以及显 示图形内容。在一些示例中,存在敏感输入设备68可以使用电容、电感和/或光学识别技 术来确定存在敏感显示器64处的一个或多个用户输入(例如连续姿态、多触摸姿态、单触 摸姿态等等),以及使用通信信道62A将这样的用户输入的指示发送到计算设备60。在一 些示例中,存在敏感输入设备68可以物理地位于显示设备66的上方,使得当用户将输入单 元定位在由显示设备66显示的图形元素上时,存在敏感输入设备68处的位置对应于显示 图形元素的显示设备66的位置。
[0073] 如图3中所示,计算设备60也可以包括和/或可操作地耦接通信单元70。通信 单元70可以包括如图2中所述的通信单元44的功能。通信单元70的示例可以包括网络 接口卡、以太网卡、光学收发器、射频收发器、或能发送和接收信息的任意其他类型的设备。 这样的通信单元的其他示例可以包括蓝牙、3G和WiFi无线电、通用串行总线(USB)接口等 等。计算设备60也可以包括和/或可操作地耦接一个或多个其他设备,例如输入设备、输 出设备、存储器、存储设备等等,为简化和图示起见在图3中未示出。
[0074] 图3还图示了投影仪80和投影仪屏82。投影设备的其他这样的示例可以包括电 子白板、全息显示设备和用于显示图形内容的任何其他适当的设备。投影仪80和投影仪屏 82可以包括使相应设备与计算设备60通信的一个或多个通信单元。在一些示例中,一个或 多个通信单元可以使能投影仪80和投影仪屏82之间的通信。投影仪80可以从计算设备 60接收包括图形内容的数据。投影仪80响应于接收到该数据而将图形内容投影在投影仪 屏82上。在一些示例中,投影仪80可以使用光学识别或其他适当的技术来确定在投影仪 屏处的一个或多个用户输入(例如连续姿态、多触摸姿态、单触摸姿态等等),以及使用一 个或多个通信单元来将这些用户输入的指示发送到计算设备60。在这样的示例中,投影仪 屏82可以是不必要的,以及投影仪80可以将图形内容投影在任何适当的介质上,以及使用 光学识别或其他这些适当的技术来检测一个或多个用户输入。
[0075] 投影仪屏82在一些示例中可以包括存在敏感显示器84。存在敏感显示器84可以 包括如在本公开中所述的WD12的功能的子集或全部功能。在一些示例中,存在敏感显示 器84可以包括另外的功能。投影仪屏82(例如电子白板)可以从计算设备60接收数据以 及显示图形内容。在一些示例中,存在敏感显示器84可以使用电容、电感和/或光学识别 技术来确定投影仪屏82处的一个或多个用户输入(例如连续姿态、多触摸姿态、单触摸姿 态等等),以及使用一个或多个通信单元来将这些用户输入的指示发送到计算设备60。
[0076] 图3还图示了移动设备86和视觉显示设备90。移动设备86和视觉显示设备90 可以分别包括计算和连接能力。移动设备86的示例可以包括电子阅读设备、可转换笔记本 设备、混合板(slate)设备等等。视觉显示设备90的示例可以包括其他半固定设备,诸如 电视、计算机监视器等等。如图3中所示,移动设备86可以包括存在敏感显示器88。视觉 显不设备90可以包括存在敏感显不器92。存在敏感显不器88、92可以包括如在本公开中 所述的WD的功能的子集或全部功能。在一些示例中,存在敏感显示器88、92可以包括另 外的功能。在任一情况下,存在敏感显示器92例如可以从计算设备60接收数据,以及显示 图形内容。在一些示例中,存在敏感显示器92可以使用电容、电感和/或光学识别技术来 确定投影仪屏处的一个或多个用户输入(例如连续姿态、多触摸姿态、单触摸姿态等等), 以及使用一个或多个通信单元来将这样的用户输入的指示发送到计算设备60。
[0077] 如上所述,在一些示例中,计算设备60可以输出图形内容以在通过系统总线或其 他适当的通信信道耦接到计算设备60的存在敏感显示器64处显示。计算设备60还可以 输出图形内容,以在诸如投影仪80、投影仪屏82、移动设备86和视觉显示设备90的一个或 多个远程设备处显示。例如,根据本公开的技术,计算设备60可以执行一个或多个指令来 生成和/或修改图形内容。计算设备60可以将包括图形内容的数据输出到计算设备60的 通信单元,诸如通信单元70。通信单元70可以将数据发送到远程设备中的一个或多个,诸 如投影仪80、投影仪屏82、移动设备86和/或视觉显示设备90。用这种方式,计算设备60 可以输出图形内容,以在远程设备中的一个或多个处显示。在一些示例中,远程设备中的一 个或多个可以在存在敏感显示器处输出图形内容,该存在敏感显示器包括在相应远程设备 中和/或可操作地耦接到相应远程设备。
[0078] 在一些示例中,计算设备60在可操作地把耦接到计算设备60的存在敏感显示器 64处可以不输出图形内容。在其他示例中,计算设备60可以输出图形内容,以在通过通信 信道62A耦接到计算设备60的存在敏感显示器64处以及在一个或多个远程设备处显示。 在这样的示例中,图形内容可以在每个相应设备处基本同时显示。例如,由于将包括图形内 容的数据发送到远程设备的通信等待时间,会引入一些延迟。在一些示例中,由计算设备60 生成并输出以在存在敏感显示器64处显示的图形内容可以不同于用于在一个或多个远程 设备处显示的图形内容显示输出。
[0079] 计算设备60可以使用任何适当的通信技术来发送和接收数据。例如,计算设备60 可以使用网络链路72A来可操作地耦接到外部网络74。图3中所示的远程设备中的每一个 可以通过相应网络链路72B、72C和72D中的一个来可操作地耦接到外部网络74。外部网络 74可以包括可操作地相互耦接的网络集线器、网络交换机、网络路由器等等,由此在计算设 备60和图3所示的远程设备之间提供信息交换。在一些示例中,网络链路72A-72D可以是 以太网、ATM或其他网络连接。这样的连接可以是无线和/或有线连接。
[0080] 在一些示例中,计算设备60可以使用直接设备通信78来可操作地耦接到图3中 包括的远程设备中的一个或多个。直接设备通信78可以包括计算设备60使用有线或无线 通信来与远程设备直接发送和接收数据的通信。即,在直接设备通信78的一些示例中,由 计算设备60发送的数据在由远程设备接收前可以不被一个或多个另外的设备转发,或反 之亦然。直接设备通信78的示例可以包括蓝牙、近场通信、通用串行总线、WiFi、红外等等。 图3中所示的远程设备中的一个或多个可以通过通信链路76A-76D可操作地耦接计算设备 60。在一些示例中。通信链路76A-76D可以是使用蓝牙、近场通信、通用串行总线、红外等 等的连接。这样的连接可以是无线和/或有线连接。
[0081] 根据本公开的技术,计算设备60可以使用外部网络74可操作地耦接到视觉显示 设备90。计算设备60可以输出图形键盘,以在存在敏感显示器92处显示。例如,计算设备 60可以将包括图形键盘的表示的数据发送到通信单元70。通信单元70可以使用外部网络 74将包括图形键盘的表示的数据发送到视觉显示设备90。视觉显示设备90响应于使用外 部网络71接收数据而可以使存在敏感显示器92输出图形键盘。响应于用户在存在敏感显 示器92 (例如在输出图形键盘的存在敏感显示器92的区域)执行姿态,视觉显示设备90可 以使用外部网络74将姿态的指示发送到计算设备60。通信单元70可以接收姿态的指示, 以及将该指示发送到计算设备60。
[0082] 响应于接收到在存在敏感输入设备处检测到的至少一个姿态的指示,计算设备60 可以确定对多个按键中的一个或多个的选择。计算设备60可以确定对应于所选择的多个 按键中的一个或多个的字符串。该字符串可能未包括在由计算设备用来识别字符串的字典 中。在一些示例中,计算设备60可以将该字符串与词典外语言模型分值相关联。词典外语 言模型分值可以与未包括在字典(例如,可以包括字的词典)中的字符串相关联。
[0083] 计算设备60可以至少部分地基于与姿态相关联的空间模型分值和词典外语言模 型分值来确定指示该字符串对应于该姿态的概率的组合分值。在一些示例中,如果组合分 值满足阈值,计算设备60可以输出字符串以显示。在一个示例中,计算设备60可以输出字 符串(例如词典外字符串)以显示。例如,计算设备60可以将表示该字符串的数据发送到 通信单元70。通信单元70可以经由外部网络74来将该数据发送到视觉显示设备90。视 觉显示设备90可以使存在敏感显示器92输出由该数据表示的字符串。
[0084] 图4是图示根据本公开的一个或多个方面的用于确定词典外字符串的示例性数 据的概念图。图4包括如前在例如图1-2中所述的计算设备10。计算设备10包括WD12、 键盘模块22、空间模块26和语言模型28,如前所述。尽管在图4的行中为了图示值之间的 关联在表中示出了字符串、空间分值、语言分值和组合分值,但可以以任何适当的数据结构 和任意数目的适当数据结构存储值中的一个或多个。替选地,可以计算值中的一个或多个, 而不将其进一步存储在数据结构中。尽管在图4中使用对数值图示了一些值,但可以使用 表示概率和/或分值的任何适当值。
[0085] 如图4中所示,键盘模块22可以确定字符串,诸如"sat〇k"、"Satin"、"sarinlP "satire"。键盘模块22可以响应于接收到在输入设备处增量执行的一个或多个姿态的指 示而连续地确定字符串。例如,响应于用户在UID12执行经过显示图形按键的HD12的位 置的连续姿态,键盘模块22可以接收在HD12的不同位置的姿态的指示。
[0086] 在一些示例中,计算设备10可以响应于接收到姿态的指示而确定用于一个或多 个按键的空间模型分值。例如,响应于接收到对应于部分34B(如图1所示)的姿态30的 一个或多个指示,键盘模块22可以对于对应于"A"键、"S"键、"W"键和"Z"键的图形键盘 16B的按键确定空间模型分值。键盘模块22可以对这些相应按键确定空间模型分值,因为 它们分别在部分34B的位置的阈值距离内。例如,用于部分34B的姿态的指示可以包括对 应于姿态30的姿态路径的WD12的指示位置的触摸事件。键盘模块22可以确定从对应于 34B的位置到"A"键、"S"键、"W"键和"Z"键的位置的距离分别小于阈值距离。
[0087] 如先前在图1中所述,键盘模块30可以使用对应于一个或多个按键的一个或多个 空间模型,例如空间模型26,来确定用于由键盘模块30确定的每一按键的空间模型分值。 在一些示例中,字符串可以包括对应于图形键盘16B的不同按键的多个字符。例如,字符串 100 ( " satok")可以包括分别对应于包括" S"键、"A"键、"T"键、"0"键和"K"键的图形键 盘16B的按键的字符"8"、"&"、1"、" 〇"和1"。因此,字符串100的空间模型分值102可 以基于图形键盘16B的相应按键中的每一个的各空间模型分值。例如,字符串100的空间 模型分值102可以是对应于当用户在图形键盘16B的"S"键、"A"键、"T"键、"0"键和"K" 键附近执行连续姿态时键盘模块22所确定的这些按键中的每一个的各空间模型分值的乘 积。
[0088] 如图4中所示,计算设备10包括语言模型28。如先前在图1中所述,语言模型28 可以指示基于在给定语言上下文中字符串出现的频率的每一相应字符串的概率。例如,字 符串"the"可能比字符串"satin"更频繁地用在可以包括一个或多个字符、字符串和/或 短语的当前语言上下文中。因此,在语言上下文中,与例如字符串"satin"相比,"the"可 以与更大概率相关联。
[0089] 在一些示例中,语言模型28可以包括等于语言的书写词典中的词的数量的字符 串的数量。在其他示例中,语言模型28可以包括小于语言的书写词典中的所有可能词的 字符串的数量。例如,语言模型28可以包括来自包括少于书写词典的所有可能字符串的 字典的字符串。例如,语言可以包括150, 000个可能词,但字典可以仅包括50, 000个最常 用的词。在这样的示例中,语言模型28可以包括50, 000个最常用的词。图4中的示例 字符串包括字符串108A-108N。字符串108A( "the")可以是最可能字符串以及字符串 108N( "stingN")可以包括最不可能字符串。
[0090] 当用户增量地执行姿态(例如,一个或多个连续和/或敲击姿态),键盘模块22可 以在包括包含与对应于姿态的按键相关联的字符的字符串的一部分或全部字符的语言模 型28中增量地执行对字符串的查找。例如,当键盘模块22接收从图形键盘16B的"S"和 "A"键到图形键盘的"T"键的姿态的指示,键盘模块22可以确定姿态30的姿态路径在图形 键盘16B的"R"键和"T"键附近经过WD12。因此,键盘模块22可以确定包括姿态30的姿 态路径附近的按键的字符的其他可能字符串中的字符串"SAT"和"SAR"。
[0091] 为在语言模型28中增量地执行对字符串的查找,键盘模块22可以在指示字符 串对于前缀的概率的数据结构中对语言模型28的字符串建模,所述前缀例如与姿态的姿 态路径附近的按键相对应的一个或多个可能字符的组。例如,语言模型28可以包括以树 (trie)数据结构存储的词典。词典树数据结构可以包含多个节点,每一节点可以表示包括 在字典中的字符串的字母。词典树中的第一节点可以称为可以不对应于字母的入口节点。 在其他示例中,入口节点可以对应于字母。每一节点可以具有一个或多个子节点。例如,入 口节点可以具有26个子节点,分别对应于英文字母表的字母。
[0092] 词典树中的节点的子集可以分别包括指示该节点是终止节点的标志。词典树的每 一终止节点可以指示整个字符串(例如书写词典中的词)。沿从入口节点到终止节点的节 点路径由节点表示的字母可以拼写出由终止节点指示的字符串。例如,词典树的节点路径 中的节点可以分别对应于、"、" &"、1"、"1"、"11",其中,对应于"11"的节点是终止节点。
[0093] 如图4中所示,语言模型28可以包括语言模型频率信息,诸如n-gram语言模型。 n-gram语言模型可以基于序列中的先前项提供用于邻近项序列中的项Xi (字母或词)的概 率分布(即,PUilxi-fcO,. . .,Xh))。例如,双元语言模型(n-gram模型,其中,η = 2)可以 提供字母"t"在序列"sa"后的概率。在一些示例中,语言模型28包括词典树中的语言模 型频率信息。例如,词典树中的每一节点可以包括字母的表示和指示字母是在对应于词典 树的路径中的先辈节点的字符的前缀后的下一字母的可能性的概率值。如图4中所示,对 应于"俨、"11"、" 6"的词典树中的相应概率节点可以基于频率11(^。例如,频率10(^可以 指示在给定语言上下文中字符串"the"的概率。作为一个示例,如果语言上下文包括两个 先前输入的字符串,频率110可以表示"the"相对于两个先前输入的字符串的概率。包括 在对应于"t"、"h"、"e"的节点中的每一个中的概率可以共同地等于频率110A。例如,分别 对应于用于和"e"的节点的概率的乘积和/或总和可以等于频率110A。
[0094] 为了响应于敲击的一个或多个指示和/或连续姿态而增量地执行语言模型28中 的对字符串的查找,键盘模块22可以通过确定词典树的一个或多个节点路径,来基于示例 前缀"SAR"和"SAT"确定一个或多个字符串。在以终止节点结束的路径中的节点序列可以 对应于语言模型26中的字符串。键盘模块22可以确定包括对应于前缀的相应字符的节 点的一个或多个路径。在一个示例中,为了在用户仅部分地完成姿态(例如,前缀仅包括 " sat ")的情况下输出一个或多个建议字符串,键盘模块22可以确定对应于节点路径" s"、 中的"t"的节点不是终止节点,键盘模块22可以搜索从对应于"t"的节点到终止 节点的一个或多个路径。每一相应路径可以对应于语言模型中的包括与相应路径中的节点 相关联的字符的不同字符串。因此,键盘模块22可以通过选择具有最高语言模型分值的路 径,例如基于包括在包含一个或多个节点并且对应于所选择的字符串的路径的每一相应节 点中的概率,来使用语言模型28选择字符串。
[0095] 如先前在图1中所述,键盘模块22可以将基于语言模型分值和空间模型分值的组 合分值与字符串(例如,来自语言模型28的词)相关联。键盘模块22可以选择具有最高组 合分值的一个或多个字符串。键盘模块22可以输出这样的字符串以显示或者否则选择这 样的字符串。在一些示例中,然而,用户可能希望输入未包括在语言模型28中的字符串。例 如,词典外字符串"satok"可能未包括在语言模型28中。换句话说,语言模型28的词典树 可能未包括对应于、"、" &"、1"、"〇"、1"的节点的路径。不是因为预期的字符串"5^ 〇1^" 未包括在语言模型28中而不输出它,键盘模块22可以将字符串"satok"与词典外语言模 型分值相关联。词典外语言模型分值可以与未包括在字典中的字符串相关联以及在缺少基 于语言模型28的语言模型分值的情况下,可以用作替代分值。用这种方式,键盘模块22可 以确定基于词典外语言模型分值和空间模型分值的组合分值,使得组合分值与"satok"相 关联。然后,键盘模块22可以比较"satok"的组合分值,如果其包括在具有最高组合分值 的字符串的组中,则键盘模块22可以选择"satok"(例如输出以显示)。
[0096] 在一些示例中,词典外语言模型分值可以是与语言模型28中的字符串相关联的 最低语言模型分值。例如,键盘模块22可以确定包含在语言模型28 (例如,包括字典的字 符串)中的多个字符串。如图4中所示,语言模型28中的多个字符串中的每一字符串可以 与相应概率(诸如频率110AU10N等等)相关联。键盘模块22可以确定在语言模型28中 包括在多个概率中的最低概率。例如,键盘模块22可以确定在语言模型28中频率110N是 最低概率,例如相对于与字符串相关联的其他概率的最小概率。键盘模块22可以至少部分 地基于最低概率来确定词典外语言模型分值。例如,键盘模块22可以将与语言模型28中 的字符串相关联的最低概率用作词典外语言模型分值。在其他示例中,键盘模块22可以将 权重应用于最低概率,以及将加权的最低概率用作词典外语言模型分值。在任一情况下,在 确定词典外语言模型分值时,键盘模块22可以基于与该字符串相关联的空间模型分值和 词典外语言模型分值来确定组合分值。
[0097] 在一些示例中,键盘模块22可以将预定值用作词典外语言模型分值。例如,键盘 模块22可以存储和/或确定由用户和/或工程师配置的预定值。预定值可以是恒定值。例 如,预定值可以是非零值。在一些示例中,预定值可以不基于与语言模型28中的字符串相 关联的概率。在又其他示例中,键盘模块28可以将权重应用于预定值,使得将加权的预定 值用作词典外语言模型分值。在一些示例中,权重可以至少部分地基于键盘模块22将词典 外语言模型分值与之相关联的字符串的空间模型分值。
[0098] 在一些示例中,键盘模块28可以将惩罚值应用于字符串的组合分值、空间模型分 值和词典外语言模型分值中的至少一个。例如,键盘模块28可以响应于确定组合分值至少 部分地基于词典外语言模型分值而应用惩罚值。键盘模块28可以应用该惩罚值,因为由于 与对应于包括在字符串中的字符的按键相关联的高空间模型分值,词典外字符串可以具有 非常高的组合分值。在一些示例中,惩罚值可以是恒定值。可以由用户和/或工程师来配 置惩罚值。在一些示例中,将权重应用于值(例如惩罚值、预定值、分值等等)可以包括将 该值和权重相加或相乘。
[0099] 在一些示例中,键盘模块28可以响应于确定与字符串相关联的空间模型分值满 足阈值而将词典外语言模型分值与字符串相关联。在一些示例中,当分值大于该阈值时,空 间模型分值可以满足该阈值。在其他示例中,当分值小于该阈值时,空间模型分值可以满足 该阈值。因此,在一些示例中,键盘模块28可以不将词典外语言模型分值与具有不满足阈 值的空间模型分值的字符串相关联。因此,在一些示例中,只有与该字符串相关联的空间模 型分值满足阈值,键盘模块28可以将词典外语言模型分值与字符串相关联。
[0100] 图5是图示根据本公开的一个或多个方面的被配置为通过姿态键盘来确定词典 外字符串的计算设备的示例性操作的流程图。为了图示,在下文在如图1和2中所示的计 算设备10的上下文内描述了示例性操作。
[0101] 计算设备10可以初始地输出包括多个按键的图形键盘以显示(120)。例如,如图1 中所示,计算设备10可以在用户界面14中输出图形键盘16B。响应于接收到在诸如UID12 的存在敏感显示器处检测到的姿态的指示,计算设备10可以确定对多个按键中的一个或 多个的选择(122)。例如,计算设备10可以使用诸如空间模型26的一个或多个空间模型来 确定对多个按键中的一个或多个的选择。
[0102] 计算设备10可以确定对应于所选择的多个按键中的一个或多个的字符串(124)。 在一些示例中,字符串可以未包括在由计算设备用来识别字符串的字典中(例如,其可以 包括词的词典)(127)。例如,字符串可以是包括不对应于字典中的字符串的前缀的一个或 多个字符的序列的前缀。在其他示例中,字符串可以包括在字典中(129)。在一些示例中, 响应于确定该字符串未包括在由计算设备用来识别字符串的字典中,计算设备10可以将 该字符串与词典外语言模型分值相关联(126)。在一些不例中,词典外语言模型分值可以与 未包括在词典中的字符串相关联。
[0103] 在一些示例中,计算设备10可以至少部分地基于与姿态相关联的空间模型分值 和词典外语言模型分值来确定指示字符串对应于该姿态的概率的组合分值(128)。计算设 备10可以输出字符串以显示(128)。例如,在一些示例中,计算设备10可以确定该组合分 值满足阈值。计算设备10可以在用户界面14中输出该显示。例如,计算设备10可以输出 字符串,以在用户界面14的区域16中的一个显示。
[0104] 在一些示例中,操作可以包括由计算设备对来自包括在词典中的多个字符串中的 每一相应字符串从多个概率确定与该相应字符串相关联的相应概率;由计算设备确定包括 在多个概率中的最低概率;以及由计算设备将最低概率用作词典外语言模型分值;由计算 设备确定包括在多个概率中的最低概率;以及由计算设备将最低概率用作词典外语言模型 分值。在一些示例中,操作可以包括响应于确定该字符串未包括在由计算设备用来识别字 符串的词典中,由计算设备将预定值选择为词典外语言模型分值。
[0105] 在一些示例中,操作可以包括由计算设备确定对应于所选择的多个按键中的一个 或多个的多个不同字符串,其中,所述多个不同字符串中的每一个包括在所述词典中;由计 算设备确定所述多个不同字符串中的每一不同字符串的相应语言模型分值;由计算设备确 定所述多个字符串中的每一不同字符串的相应组合分值,该相应组合分值至少部分地基于 空间模型分值和所述多个字符串中的相应不同字符串的相应语言模型分值;以及响应于确 定所述多个字符串中的所述不同字符串中的至少一个的相应组合分值满足阈值,由计算设 备输出具有词典外字符串的所述不同字符串中的所述至少一个以显示。
[0106] 在一些示例中,操作可以包括由计算设备确定由计算设备输出以显示的图形用户 界面中的多个字符串建议区;由计算设备确定对应于所选择的多个按键中的一个或多个的 多个不同字符串,其中,所述多个不同字符串中的每一不同字符串包括在词典中;由计算设 备确定所述多个不同字符串中的每一不同字符串的相应语言模型分值;由计算设备确定所 述多个字符串中的每一不同字符串的相应组合分值,该相应组合分值至少部分地基于空间 模型分值和所述多个字符串中的相应不同字符串的相应语言模型分值;由计算设备确定所 述多个字符串中的可能字符串的数量,其中,该可能字符串与指示比所述词典外字符串的 组合分值高的概率的组合分值相关联;响应于确定所述可能字符串的数量大于所述多个字 符串建议区中的字符串建议区的数量,由计算设备在所述多个字符串建议区中的至少一个 中输出词典外字符串以显示。
[0107] 在一些示例中,该操作可以包括由计算设备确定惩罚值;以及由计算设备将惩罚 值应用于字符串的组合分值、空间模型分值和词典外语言模型分值中的至少一个。在一些 示例中,操作可以包括在接收到在存在敏感屏处检测到的一个或多个姿态的多个指示时, 由计算设备基于语言上下文来更新词典外语言模型分值,其中,语言上下文响应于一个或 多个姿态的多个指示中的至少一个而改变。在一些示例中,姿态可以是经过存在敏感屏的 分别对应于图形键盘的多个按键的多个位置的连续姿态。
[0108] 在一个或多个示例中,所述的功能可以用硬件、软件、固件或其任意组合来实现。 如果用软件实现,功能可以作为一个或多个指令或代码存储在计算机可读介质或在其上传 输,并且由基于硬件的处理单元执行。计算机可读介质可以包括对应于诸如数据存储介质 的有形介质的计算机可读存储介质,或包括便于例如根据通信协议将计算机程序从一个地 方传送到另一地方的任意介质的通信介质。用这种方式,计算机可读介质通常可以对应于 (1)有形计算机可读存储介质,其是非瞬时的,或(2)通信介质,诸如信号或载波。数据存储 介质可以是能由一个或多个计算机或一个或多个处理器访问来检索指令、代码和/或数据 结构以实现本公开中所述的技术的任何可用介质。计算机程序产品可以包括计算机可读介 质。
[0109] 示例1 : 一种方法,包括:由计算设备输出包括多个按键的图形键盘以显示;响应 于接收到在存在敏感输入设备处检测到的姿态的指示,由所述计算设备确定对所述多个按 键中的一个或多个的选择;由所述计算设备基于所选择的所述多个按键中的所述一个或多 个来确定字符串,其中,所述字符串未包括在所述计算设备用来识别字符串的词典中;响应 于确定所述字符串未包括在所述计算设备用来识别字符串的所述词典中,由所述计算设备 将所述字符串与词典外语言模型分值相关联,所述词典外语言模型分值是不将语言模型应 用于所述字符串而确定的替代分值;由所述计算设备至少部分地基于与所述姿态相关联的 空间模型分值和所述词典外语言模型分值来确定指示所述字符串对应于所述姿态的概率 的组合分值;以及由所述计算设备输出所述字符串以显示。
[0110] 示例2 :示例1的方法,其中,将所述字符串与所述词典外语言模型分值相关联进 一步包括:由所述计算设备对于来自包括在所述词典中的多个字符串中的每个相应字符串 从多个概率确定与该相应字符串相关联的相应概率;由所述计算设备确定包括在所述多个 概率中的最低概率;以及由所述计算设备将所述最低概率用作所述词典外语言模型分值。
[0111] 示例3 :示例1-2中的任何一个的方法,其中,将所述字符串与所述词典外语言模 型分值相关联进一步包括:响应于确定所述字符串未包括在所述计算设备用来识别字符串 的所述词典中,由所述计算设备将预定值选择为所述词典外语言模型分值。
[0112] 示例4 :示例1-3中的任何一个的方法,其中,所述字符串是词典外字符串,所述方 法进一步包括:由所述计算设备确定与所选择的所述多个按键中的所述一个或多个相对应 的多个不同字符串,其中,所述多个不同字符串中的每个包括在词典中;由所述计算设备确 定所述多个不同字符串中的每个不同字符串的相应语言模型分值;由所述计算设备确定所 述多个字符串中的每个不同字符串的相应组合分值,所述相应组合分值至少部分地基于所 述空间模型分值和所述多个字符串中的相应不同字符串的相应语言模型分值;以及响应于 确定所述多个字符串中的所述不同字符串中的至少一个的相应组合分值满足阈值,由所述 计算设备输出具有所述词典外字符串的所述不同字符串中的所述至少一个以显示。
[0113] 示例5 :示例1-4中的任何一个的方法,其中,字符串是词典外字符串,进一步包 括:由所述计算设备确定由所述计算设备输出以显示的图形用户界面中的多个字符串建议 区;由所述计算设备确定与所选择的所述多个按键中的所述一个或多个相对应的多个不同 字符串,其中,所述多个不同字符串中的每个不同字符串包括在所述词典中;由所述计算设 备确定所述多个不同字符串中的每个不同字符串的相应语言模型分值;由所述计算设备确 定所述多个字符串中的每个不同字符串的相应组合分值,所述相应组合分值至少部分地基 于所述空间模型分值和所述多个字符串中的相应不同字符串的相应语言模型分值;由所述 计算设备确定所述多个字符串中的可能字符串的数量,其中,所述可能字符串与指示比所 述词典外字符串的组合分值高的概率的组合分值相关联;响应于确定所述可能字符串的数 量大于所述多个字符串建议区中的字符串建议区的数量,由所述计算设备在所述多个字符 串建议区中的至少一个中输出所述词典外字符串以显示。
[0114] 示例6 :示例1-5中的任何一个的方法,进一步包括:由所述计算设备确定惩罚值; 以及由所述计算设备将所述惩罚值应用于所述字符串的组合分值、所述空间模型分值和所 述词典外语言模型分值中的至少一个。
[0115] 示例7 :示例1-6中的任何一个的方法,进一步包括:当接收在存在敏感屏处检测 到的一个或多个姿态的多个指示时,由所述计算设备基于语言上下文来更新所述词典外语 言模型分值,其中,所述语言上下文响应于一个或多个姿态的所述多个指示中的至少一个 而改变。
[0116] 示例8 :示例1-7中的任何一个的方法,其中,所述姿态进一步包括经过所述存在 敏感屏的分别与所述图形键盘的多个按键相对应的多个位置的连续姿态。
[0117] 示例9 :一种编码有指令的计算机可读存储介质,所述指令在被执行时使至少一 个处理器:输出包括多个按键的图形键盘以显示;响应于接收到在存在敏感输入设备处检 测到的姿态的指示,确定对所述多个按键中的一个或多个的选择;基于所选择的所述多个 按键中的一个或多个来确定字符串,其中,所述字符串未包括在计算设备用来识别字符串 的词典中;响应于确定所述字符串未包括在所述计算设备用来识别字符串的所述词典中, 将所述字符串与词典外语言模型分值相关联,所述词典外语言模型分值是不将语言模型应 用于所述字符串而确定的替代分值;至少部分地基于与所述姿态相关联的空间模型分值和 所述词典外语言模型分值来确定指示所述字符串对应于所述姿态的概率的组合分值;以及 输出所述字符串以显示。
[0118] 示例10 :示例9的计算机可读存储介质,编码有指令,所述指令在被执行时使至少 一个处理器执行由示例2-8中的任何一个所述的方法。
[0119] 示例11 :一种包括至少一个处理器的计算设备,其中,至少一个处理器被配置为: 输出包括多个按键的图形键盘以显示;响应于接收到在存在敏感输入设备处检测到的姿态 的指示,确定对所述多个按键中的一个或多个的选择;基于所选择的所述多个按键中的所 述一个或多个来确定字符串,其中,所述字符串未包括在计算设备用来识别字符串的词典 中;响应于确定所述字符串未包括在所述计算设备用来识别字符串的所述词典中,将所述 字符串与词典外语言模型分值相关联,所述词典外语言模型分值是不将语言模型应用于所 述字符串而确定的替代分值;至少部分地基于与所述姿态相关联的空间模型分值和所述词 典外语言模型分值来确定指示所述字符串对应于所述姿态的概率的组合分值;以及输出所 述字符串以显示。
[0120] 示例12 :示例11的计算设备,其中,所述至少一个处理器被配置为执行由示例2-8 中的任何一个所述的方法。
[0121] 示例13 : -种设备,包括:用于输出包括多个按键的图形键盘以显示的装置;用于 响应于接收到在存在敏感输入设备处检测到的姿态的指示,确定对所述多个按键中的一个 或多个的选择的装置;用于基于所选择的所述多个按键中的所述一个或多个来确定字符串 的装置,其中,所述字符串未包括在计算设备用来识别字符串的词典中;用于响应于确定所 述字符串未包括在所述计算设备用来识别字符串的所述词典中,将所述字符串与词典外语 言模型分值相关联的装置,所述词典外语言模型分值是不将语言模型应用于所述字符串而 确定的替代分值;用于至少部分地基于与所述姿态相关联的空间模型分值和所述词典外语 言模型分值来确定指示所述字符串对应于所述姿态的概率的组合分值的装置;以及用于输 出所述字符串以显示的装置。
[0122] 示例14 :示例13的设备,进一步包括用于执行如示例2-8中的任何一个所述的方 法的装置。
[0123] 通过示例但不是限制,这样的计算机可读存储介质可以包括RAM、ROM、EEPR0M、 CD-ROM或其他光盘存储、磁盘存储或其他磁性存储设备、闪存或能用来以指令或数据结构 的形式存储并可以由计算机访问的期望程序代码的任何其他介质。而且,任何连接被适当 地称为计算机可读介质。例如,如果使用同轴光缆、光纤电缆、双绞线、数字用户线路(DSL) 或诸如红外、无线电和微波的无线技术从网站、服务器或其他远程源传送指令,则在介质的 定义中包括同轴光缆、光纤电缆、双绞线、DSL或诸如红外、无线电和微波的无线技术。然而, 应理解计算机可读存储介质和数据存储介质不包括连接、载波、信号或其他瞬时介质,相反 针对非瞬时、有形的存储介质。如所使用的磁盘和光盘包括压缩盘(CD)、激光盘、光盘、数字 通用盘(DVD)、软盘和蓝光盘,其中,磁盘通常磁性地再现数据,而光盘通过激光光学地再现 数据。上述组合应当也包括在计算机可读介质的范围内。
[0124] 可以由诸如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路 (ASIC)、现场可编程逻辑阵列(FPGA)或其他等效的集成或离散逻辑电路的一个或多个处 理器来执行指令。因此,术语"处理器"在使用时可以指上述结构中的任何一个或适合于实 现所述技术的任何其他结构。此外,在一些方面中,所述的功能可以提供在专用硬件和/或 软件模块内。而且,完全能在一个或多个电路或逻辑元件中实现上述技术。
[0125] 可以在包括无线耳机、集成电路(1C)或1C集(例如芯片集)的各种设备或装置 中实现本公开的技术。在本公开中描述了各种部件、模块或单元来强调被配置为执行所公 开的技术的设备的功能方面,但不一定要求由不同的硬件单元实现。相反,如上所述,各个 单元可以组合在硬件单元中或由包括如上所述的处理器的互操作硬件单元的集合结合适 当的软件和/或固件来提供。
[0126] 应意识到取决于实施例,在此所述的方法中的任何一个的某些动作或事件能按不 同的顺序执行、可以增加、合并或同时省去(例如,对于实施本方法,并非所有所述的动作 或事件是必要的)。此外,在一些实施例中,可以并发地执行动作或事件,例如,通过多线程 处理、中断处理或多处理器,而不是顺序地。
[0127] 已经描述了各种示例。这些和其他示例在下述权利要求的范围内。
【权利要求】
1. 一种方法,包括: 由计算设备输出包括多个按键的图形键盘以显示; 响应于接收到在存在敏感输入设备处检测到的姿态的指示,由所述计算设备确定对所 述多个按键中的一个或多个的选择; 由所述计算设备基于所选择的所述多个按键中的所述一个或多个来确定字符串,其 中,所述字符串未包括在所述计算设备用来识别字符串的词典中; 响应于确定所述字符串未包括在所述计算设备用来识别字符串的所述词典中,由所述 计算设备将所述字符串与词典外语言模型分值相关联,所述词典外语言模型分值是不将语 言模型应用于所述字符串而确定的替代分值; 由所述计算设备至少部分地基于与所述姿态相关联的空间模型分值和所述词典外语 言模型分值来确定指示所述字符串对应于所述姿态的概率的组合分值;以及 由所述计算设备输出所述字符串以显示。
2. 如权利要求1所述的方法,其中,将所述字符串与所述词典外语言模型分值相关联 进一步包括: 由所述计算设备对于来自包括在所述词典中的多个字符串中的每个相应字符串从多 个概率确定与该相应字符串相关联的相应概率; 由所述计算设备确定包括在所述多个概率中的最低概率;以及 由所述计算设备将所述最低概率用作所述词典外语言模型分值。
3. 如权利要求1所述的方法,其中,将所述字符串与所述词典外语言模型分值相关联 进一步包括: 响应于确定所述字符串未包括在所述计算设备用来识别字符串的所述词典中,由所述 计算设备将预定值选择为所述词典外语言模型分值。
4. 如权利要求1所述的方法,其中,所述字符串是词典外字符串,所述方法进一步包 括: 由所述计算设备确定与所选择的所述多个按键中的所述一个或多个相对应的多个不 同字符串,其中,所述多个不同字符串中的每个包括在所述词典中; 由所述计算设备确定所述多个不同字符串中的每个不同字符串的相应语言模型分 值; 由所述计算设备确定所述多个字符串中的每个不同字符串的相应组合分值,所述相应 组合分值至少部分地基于所述空间模型分值和所述多个字符串中的相应不同字符串的相 应语言模型分值;以及 响应于确定所述多个字符串中的所述不同字符串中的至少一个的相应组合分值满足 阈值,由所述计算设备输出具有所述词典外字符串的所述不同字符串中的所述至少一个以 显不。
5. 如权利要求1所述的方法,其中,所述字符串是词典外字符串,进一步包括: 由所述计算设备确定由所述计算设备输出以显示的图形用户界面中的多个字符串建 议区; 由所述计算设备确定与所选择的所述多个按键中的所述一个或多个相对应的多个不 同字符串,其中,所述多个不同字符串中的每个不同字符串包括在所述词典中; 由所述计算设备确定所述多个不同字符串中的每个不同字符串的相应语言模型分 值; 由所述计算设备确定所述多个字符串中的每个不同字符串的相应组合分值,所述相应 组合分值至少部分地基于所述空间模型分值和所述多个字符串中的相应不同字符串的相 应语言模型分值; 由所述计算设备确定所述多个字符串中的可能字符串的数量,其中,所述可能字符串 与指示比所述词典外字符串的组合分值高的概率的组合分值相关联; 响应于确定所述可能字符串的数量大于所述多个字符串建议区中的字符串建议区的 数量,由所述计算设备在所述多个字符串建议区中的至少一个中输出所述词典外字符串以 显不。
6. 如权利要求1所述的方法,进一步包括: 由所述计算设备确定惩罚值;以及 由所述计算设备将所述惩罚值应用于所述字符串的组合分值、所述空间模型分值和所 述词典外语言模型分值中的至少一个。
7. 如权利要求1所述的方法,进一步包括: 当接收在存在敏感屏处检测到的一个或多个姿态的多个指示时,由所述计算设备基于 语言上下文来更新所述词典外语言模型分值,其中,所述语言上下文响应于一个或多个姿 态的所述多个指示中的至少一个而改变。
8. 如权利要求1所述的方法,其中,所述姿态进一步包括经过所述存在敏感屏的分别 与所述图形键盘的多个按键相对应的多个位置的连续姿态。
9. 一种包括至少一个处理器的计算设备,其中所述至少一个处理器被配置为: 输出包括多个按键的图形键盘以显示; 响应于接收到在存在敏感输入设备处检测到的姿态的指示,确定对所述多个按键中的 一个或多个的选择; 基于所选择的所述多个按键中的所述一个或多个来确定字符串,其中,所述字符串未 包括在计算设备用来识别字符串的词典中; 响应于确定所述字符串未包括在所述计算设备用来识别字符串的所述词典中,将所述 字符串与词典外语言模型分值相关联,所述词典外语言模型分值是不将语言模型应用于所 述字符串而确定的替代分值; 至少部分地基于与所述姿态相关联的空间模型分值和所述词典外语言模型分值来确 定指示所述字符串对应于所述姿态的概率的组合分值;以及 输出所述字符串以显示。
10. 如权利要求9所述的计算设备,其中所述至少一个处理器被配置为执行权利要求 2-8中的任何一个中所述的方法。
11. 一种设备,包括: 用于输出包括多个按键的图形键盘以显示的装置; 用于响应于接收到在存在敏感输入设备处检测到的姿态的指示,确定对所述多个按键 中的一个或多个的选择的装置; 用于基于所选择的所述多个按键中的所述一个或多个来确定字符串的装置,其中,所 述字符串未包括在计算设备用来识别字符串的词典中; 用于响应于确定所述字符串未包括在所述计算设备用来识别字符串的所述词典中,将 所述字符串与词典外语言模型分值相关联的装置,所述词典外语言模型分值是不将语言模 型应用于所述字符串而确定的替代分值; 用于至少部分地基于与所述姿态相关联的空间模型分值和所述词典外语言模型分值 来确定指示所述字符串对应于所述姿态的概率的组合分值的装置;以及 用于输出所述字符串以显示的装置。
12.如权利要求11所述的设备,进一步包括用于执行权利要求2-8中的任何一个所述 的方法的装置。
【文档编号】G06F3/023GK104123012SQ201410177939
【公开日】2014年10月29日 申请日期:2014年4月29日 优先权日:2013年4月29日
【发明者】片冈慧, 畔柳圭佑 申请人:谷歌公司

最新回复(0)