基于时间的分词
具体实施方式
大体上,本公开涉及一种通过结合文本输入的时间特性向文本输入应用语言模型和/或空间模型,来将文本输入划分成一个或者多个词的技术。例如,计算设备可以提供图形键盘或者手写输入特征作为用户可以通过使用计算设备的存在敏感输入组件——诸如轨迹板或者触摸屏——来提供文本输入(例如,文本字符序列)的图形用户界面的一部分。作为计算设备正在准确解释文本输入的反馈,计算设备可以呈现基于该文本输入所生成的图形输出。不同于呈现设备从文本输入中导出的精确的文本字符序列,计算设备分析该文本字符序列以确定词边界和拼写或者语法错误,计算设备使用所述词边界和拼写或者语法错误来在将图形输出呈现在屏幕处之前自动插入空格并且校正错误。
计算设备利用语言模型和/或空间模型来以确定性程度或者“总分值”(例如,从语言模型分值和/或空间模型分值导出的概率)确定文本输入的部分是否意图表示一个或者多个个体的字母、字母的组合、或者字典(例如,词典)的词。如果语言模型和/或空间模型指示文本输入的一部分很可能拼错了一个或者多个字母、字母的组合、或者字典中的词,则计算设备可以用一个或者多个校正后的字母、字母的组合、或者字典中的词替换接收到的文本输入的拼错的部分。计算设备可以在由语言模型和/或空间模型识别的每个词边界处将空格插入文本输入中,以清楚地将文本输入的图形输出划分成一个或者多个可清楚识别的词。
为了提高语言模型和/或空间模型的准确性以及为了更好地执行分词,计算设备还使用文本输入的时间特性来确定特定文本输入部分是否表示并不一定是字典中的最高排名词的词之间的断词(word break)或者空格。换言之,虽然断词或者空格不太可能出现在特定语言上下文中,但计算设备结合输入的时间特性使用语言模型和/或空间模型来确定用户是否意图在文本输入中录入断词或者“空格”。
例如,计算设备可以推断在接收两个连续字符的文本输入中的短延迟或者停顿是用户不意图在文本输入中指定空格或者词边界的指示,并且推断在接收两个连续字符的文本输入中的长延迟是用户意图在文本输入中输入空格或者词边界的指示。因此,如果计算设备在接收连续字符输入中检测到短延迟,则计算设备可以忽略短延迟并且将该连续字符输入视作单个词的形成部分。然而,如果计算设备在接收连续字符输入中检测到长延迟,则计算设备可以增加包括连续字符之间的断词或者空格的词对的总分值。计算设备可以根据延迟的持续时间来调整总分值,以便增加计算设备将基于文本输入中的意图停顿来更准确地识别断词或者空格的可能性。
图1是图示了根据本公开的一个或多个技术的,作为配置为将文本输入划分成两个或者更多个词的示例计算设备的计算设备100的概念图。在图1的示例中,计算设备100是可穿戴计算设备(例如,计算机化的手表或者所谓的智能手表设备)。然而,在其它示例中,计算设备100可以是移动电话、平板计算机、个人数字助理(PDA)、膝上型计算机、便携式游戏设备、便携式媒体播放器、电子书阅读器、电视平台、汽车计算平台或者系统、健身追踪器、或者接收来自用户的键入或者手写的文本输入的任何其它类型的移动或者非移动计算设备。
计算设备100可以包括存在敏感显示器112。计算设备100的存在敏感显示器112可以充当计算设备100的输入组件并且充当输出组件。通过使用各个技术来实现存在敏感显示器112。例如,存在敏感显示器112可以充当使用存在敏感屏幕的存在敏感输入设备,诸如,电阻式触摸屏、表面声波触摸屏、电容式触摸屏、投射电容触摸屏、压力敏感屏幕、声脉冲识别触摸屏、相机与显示系统、或者另一存在敏感屏幕技术。存在敏感显示器112可以充当输出组件,诸如使用液晶显示器(LCD)、点阵显示器、发光二极管(LED)显示器、有机发光二极管(OLED)显示器、电子墨水、或者能够向计算设备100的用户输出可视信息的类似的单色或者彩色显示器中的任何一个或者多个的显示设备。
计算设备100的存在敏感显示器112可以包括存在敏感屏幕,该存在敏感屏幕从计算设备100的用户接收触觉用户输入并且呈现输出。存在敏感显示器112可以通过检测来自计算设备100的用户的一个或者多个轻敲和/或非轻敲手势来接收触觉用户输入的指示(例如,用户利用手指或者触控笔来触摸或者指向存在敏感显示器112的一个或者多个位置),并且响应于该输入,计算设备100可以使得存在敏感显示器112呈现输出。存在敏感显示器112可以将输出呈现为可以与由计算设备100提供的功能——诸如,接收来自用户的文本输入——有关的图形用户界面的一部分(例如,屏幕截图114A和114B)。例如,存在敏感显示器112可以呈现用户118可以提供基于键盘的文本输入的图形键盘和/或用户118可以提供手写文本输入的手写输入特征。
用户118可以通过在用于录入文本输入的存在敏感显示器112处或者附近提供一个或者多个轻敲或者非轻敲手势来与计算设备100交互。当用户118输入手写文本输入时,与基于键盘的文本输入相反,手写文本输入可以是打印、手写体、或者任何其它形式的书写或者绘图。在图1的示例中,用户118在时间t0与t13之间书写(例如,利用手指或者触控笔)打印和手写体字母h-i-t-h-e-r-e的混合。图1示出了用户118相应在时间t0开始并在时间t1结束书写字母h,相应在时间t2开始并在时间t3结束书写字母i,并且相应在时间t4开始并在时间t5结束书写字母t。在时间t5与t6之间的停顿之后,图1示出了用户118相应在时间t6开始并在时间t7结束再次书写字母h,相应在时间t8开始并在时间t9结束书写字母e,相应在时间t10开始并在时间t11结束书写字母r,并且相应在时间t12开始并在时间t13结束再次书写字母e。
计算设备100可以包括文本录入模块120和字符识别模块122。模块120和122可以使用驻留在计算设备100中并且在计算设备100上执行的软件、硬件、固件、或者硬件、软件、和/或固件的混合来执行操作。计算设备100可以利用多个处理器来执行模块120和122和/或将模块120和122作为在底层硬件上执行的虚拟机器而执行。在一些示例中,可以离计算设备100远程地布置存在敏感显示器112和模块120和122,计算设备100可以远程地访问存在敏感显示器和模块120和122,例如,作为可经由网络云访问的一个或多个网络服务。
文本录入模块120可以管理计算设备100在存在敏感显示器112处提供的用于处置来自用户的文本输入的用户界面。例如,文本录入模块120可以使得计算设备100呈现图形键盘或者手写输入特征作为用户——诸如用户118——可以通过使用存在敏感显示器112来提供文本输入(例如,文本字符序列)的图形用户界面(例如,屏幕截图114A)的一部分。作为计算设备100正在准确地接收在存在敏感显示器112处的手写文本输入的反馈的形式,文本录入模块120可以使得计算设备100显示与存在敏感显示器112的接收到文本输入的位置对应的轨迹或者“墨迹(ink)”(例如,屏幕截图114A)。作为计算设备100正在准确地解释由存在敏感显示器112接收到的文本输入的反馈的附加或者替选形式,文本录入模块120可以使计算设备100呈现计算设备100从文本输入推断出的单独的字符作为图形输出(例如,屏幕截图114B)。
当用户118在存在敏感显示器112处提供轻敲或者非轻敲手势输入时,文本录入模块120可以从存在敏感显示器112接收关于在存在敏感显示器112处检测到的用户输入的指示的信息。文本录入模块120可以基于从存在敏感显示器112接收到的信息来确定触摸事件序列。在序列中的每个触摸事件可以包括关于存在敏感显示器112在何处、何时、以及从存在敏感设备112的什么方向检测到用户输入的数据。文本录入模块120可以通过向字符识别模块122输出触摸事件序列来调用字符识别模块122处理并且解释与文本输入相关联的文本字符。响应于输出触摸事件序列,文本录入模块120可以从字符识别模块122接收字符识别模块122从触摸事件导出的由空格隔开的一个或者多个文本字符或者词的指示。文本录入模块120可以使得存在敏感显示器112呈现从字符识别模块122接收到的文本字符作为图形输出(例如,屏幕截图114B)。
字符识别模块122可以对文本录入模块120从在存在敏感显示器112处提供的文本输入中确定的触摸事件序列执行字符级和/或词级识别操作。通过基于从文本录入模块120接收到的触摸事件来确定文本字符序列,字符识别模块122可以执行文本输入的字符级识别。另外,字符识别模块122可以执行文本输入的词级识别以确定包括从触摸事件确定的个体字符的词序列。例如,通过使用空间模型,字符识别模块122可以将触摸事件序列解释成对在存在敏感显示器112处呈现的图形键盘的键的选择,并且确定与对键的选择相对应的个体的字符序列连同以确定性程度来指示触摸事件序列表示对键的选择的可能性的空间模型分值。替选地,通过使用笔画识别技术和空间模型,字符识别模块122可以将触摸事件序列解释成手写文本输入的笔画序列,并且确定与笔画序列相对应的个体字符序列连同以确定性程度来指示触摸事件序列表示单独的字母的笔画的可能性的空间模型分值。字符识别模块122可以基于空间模型分值来确定以确定性程度来指示触摸事件序列表示文本输入的可能性的总分值。
不同于仅仅向文本录入模块120输出字符识别模块122从触摸事件序列中导出的文本字符的原文序列,字符识别模块112可以对触摸事件序列执行附加分析以识别与文本输入相关联的潜在的词边界以及拼写或语法错误。字符识别模块122可以在将文本字符输出至文本录入模块120以供呈现在存在敏感显示器122处之前自动插入空格并且校正从触摸事件导出的字符序列中的潜在错误。
除了文本输入的时间特性之外,字符识别模块122还可以通过使用空间模型和/或语言模型的多个方面将文本输入划分成一个或者多个词。在操作中,在初始时间接收到至少一个第一文本字符的、在存在敏感显示器112处检测到的第一输入之后,计算设备100可以在随后时间接收至少一个第二文本字符的、在存在敏感显示器112处检测到的第二输入。例如,在初始时间t0与t5之间,存在敏感显示器112可以在用户118在存在敏感显示器112的位置处或者附近用手势输入字母h-i-t时检测初始手写文本输入。在随后时间t6与t13之间,存在敏感显示器112可以在用户118在存在敏感显示器112的位置处或者附近用手势输入字母h-e-r-e时检测随后的手写文本输入。存在敏感显示器112可以向文本录入模块120输出指示存在敏感显示器112检测到初始和随后的手写文本输入的位置(例如,x、y坐标信息)以及时间的信息。
文本录入模块120可以将从存在敏感显示器112接收到的信息的位置和时间组装成触摸事件的时间顺序序列。文本录入模块120可以将触摸事件序列或者指向计算设备100的存储器中的、存储触摸事件序列的位置的指针传递至字符识别模块122以供转化成文本字符序列。
通过使用空间模型和其它笔画识别技术,字符识别模块122可以将从文本录入模块120接收到的触摸事件序列解释成组成个体字符序列的文字笔画序列。字符识别模块122可以至少部分地基于空间模型指派给个体字符序列的空间模型分值来导出总分值。
例如,字符识别模块122可以将触摸事件的一部分表征为定义不同的垂直笔画、水平笔画、弯曲笔画、斜线笔画、弧形笔画等。字符识别模块122可以将分值或者排名指派给与由触摸事件定义的笔画更为相似的潜在字符,并且将每个个体分值(例如,乘积和、平均数等)组合以确定与文本输入相关联的总分值。总分值或者排名可以指示触摸事件中的一个或者多个和与特定文本字符相关联的笔画或者笔画组合相对应的可能性程度或者置信度。字符识别模块122可以至少部分地基于总分值或者排名以及其它因子来产生字符序列。例如,基于与时间t0至t13相关联的触摸事件,字符识别模块122可以将字符序列定义为h-i-t-h-e-r-e。
不同于仅仅输出从触摸事件生成的字符序列,字符识别模块122可以执行附加字符和词识别操作以更准确地确定用户118意图在存在敏感显示器112处输入的文本字符。字符识别模块122可以至少部分地基于至少一个第一文本字符和至少一个第二文本字符来确定不包括在至少一个第一文本字符与至少一个第二文本字符之间的空格字符的第一字符序列以及包括在至少一个第一文本字符与至少一个第二文本字符之间的空格字符的第二字符序列。
例如,字符识别模块122可以将字符序列h-i-t-h-e-r-e输入到语言模型中,其将字符序列与字典(例如,词典)中的各个词和词组进行比较。当用户提供了字符识别模块122辨识为h-i-t-h-e-r-e的手写文本输入时,语言模型可以将相应语言模型分值或者排名指派给字典中的可能潜在地表示用户意图在存在敏感显示器112处输入的文本输入的每个词或者词组。通过使用每个潜在词或者词组的相应语言模型分值以及从触摸事件确定的总分值,字符识别模块122可以确定每个潜在词或者词组的相应的“总”分值。
例如,语言模型可以将“hi there”和“hit here”的词组识别为文本字符序列的可能的表示。由于在英语中,短语“hi there”比短语“hit here”更为常见,所以语言模型可以将比该模型指派给词组“hit here”的语言模型分值更高的语言模型分值指派给词组“hithere”。字符识别模块122然后可以将比字符识别模块122指派给词组“hit here”的总分值(即,第二分值)更高的总分值(即,第一分值)指派给词组“hi there”。换言之,基于存储在词典中的信息以及语言模型,字符识别模块122可以确定与第二字符序列“hit here”(该第二字符序列确实包括在初始时间t0与t5之间接收到的字母h-i-t与在随后时间t6与t13之间接收到的字母h-e-r-e之间的空格字符)相比,第一字符序列“hi there”(该第一字符序列不包括在初始时间t0与t5之间接收到的字母h-i-t与在随后时间t6与t13之间接收到的字母h-e-r-e之间的空格字符)更有可能表示在时间t0与t13之间接收到的手写文本输入。
为了提高由字符识别模块122执行的文本识别技术的准确性并且为了更好地执行分词,字符识别模块122还使用在存在敏感显示器112处检测到的文本输入的时间特性来确定字典中的更有可能表示文本输入的一个或者多个个体词。具体地,字符识别模块122使用文本输入的时间特性来确定用户118是否意图通过确定用户118是否在序列中输入连续字符之间停顿,来录入文本输入中的断词或者“空格”。字符模块122可以确定在接收到文本输入的与结束初始字符相关联的初始部分与文本输入的与随后字符的开始相关联的随后部分之间是否流逝了充足的持续时间,用户很有可能意图将在初始与随后字符之间的文本输入的部分指定为空格或者断词。字符识别模块122可以推断在接收与两个连续字符相关联的文本输入时的较短延迟是用户不意图在文本输入中指定空格或者词边界的指示,并且推断在接收与两个连续字符相关联的文本输入时的较长延迟是用户意图在文本输入中录入空格或者词边界的指示。
字符识别模块122可以基于在初始时间与随后时间之间的持续时间来调整第二分值(例如,与“hit here”相关联的总分值)以确定与第二字符序列相关联的第三分值。例如,即使字符识别模块122的语言模型可以确定在英语中短语“hi there”更为常见,并且因此比短语“hit here”具有更高的语言模型分值,但字符识别模块122可以由于在时间t4与t5之间——即在用户118绘制字母t之后并且在用户118绘制字母h之前——识别的停顿而字符序列“hit here”的总分值。通过响应于该停顿而调整字符序列“hit here”的总分值,字符识别模块122可以将比字符识别模块122指派给词组“hi there”的分值更高的分值指派给词组“hit here”。按照这种方式,字符识别模块122可以使得计算设备100能够通过识别文本输入中的停顿来接收文本输入中的空格或者断词的指示。
响应于确定第三分值(例如,与“hit here”相关联的调整后的分值)超出第一分值(例如,与“hi there”相关联的分值),计算设备100可以输出第二词序列的指示以供进行显示。换言之,在字符识别模块122基于文本输入的时间特性来调整字符序列“hit here”的分值之后,字符识别模块122可以确定字符序列“hit here”的调整后的分值是否超出从语言模型输出的其它潜在字符序列的分值。在图1的示例中,字符识别模块122可以确定“hithere”的调整后的分值超出“hi there”的分值,并且向文本录入模块120输出字符序列“hithere”以供呈现在存在敏感显示器112处。
文本录入模块120可以从字符识别模块122接收指示字符序列“hit here”的数据。文本录入模块120可以使用来自字符识别模块122的数据来产生具有字符h-i-t--h-r-re的更新后的图形用户界面,并且向存在敏感显示器122发送指令以供显示更新后的用户界面(例如,屏幕截图114B)。
按照这种方式,与其它系统相比,根据所描述的技术的计算设备可以更好地识别文本输入中的断词或者空格预测。通过使用文本输入的时间特性来加强语言模型和/或空间模型输出和文本输入系统的其它组件,计算设备可以通过允许用户更容易地观察计算设备是否准确地解释了输入来提高文本录入的直观性。通过更准确地预测断词和空格录入,计算设备可以从用户接收更少的输入以校正错误的断词或者空格预测。通过接收更少的输入,计算设备可以对更少的指令进行处理并且使用更少的电能。因此,计算设备可以更快速地接收文本输入,并且消耗比其它系统更少的电池电量。
图2是图示了根据本公开的一个或者多个方面的,作为配置为将文本输入划分成两个或者更多个词的示例计算设备的计算设备200的框图。下文在图1的计算设备100的场境(context)内描述了图2的计算设备200。在一些示例中,图2的计算设备200表示图1的计算设备100的示例。图2仅图示了计算设备200的一个特定示例,并且计算设备200的许多其它示例可以在其它实例中使用并且可以包括示例计算设备200中包括的组件的子集或者可以包括图2中未示出的附加组件。
如图2的示例中所示,计算设备200包括存在敏感显示器212、一个或者多个处理器240、一个或者多个输入组件242、一个或者多个通信单元244、一个或者多个输入组件246、以及一个或者多个存储组件248。存在敏感显示器212包括显示组件202和存在敏感输入组件204。
计算设备200的一个或者多个存储组件248配置为存储文本录入模块220和字符识别模块222,该字符识别模块222还包括时间模型(TM)模块226、语言模型(LM)模块224、以及空间模型(SM)模块228。另外,存储组件248配置为存储字典数据存储234A和阈值数据存储234B。在本文中可以将数据存储234A和234B统称为“数据存储234”。
通信信道250可以将组件202、204、212、220、222、224、226、228、234、240、242、244、246、和248中的每一个互连以供进行组件间的通信(物理地、通信地、和/或操作地)。在一些示例中,通信信道250可以包括系统总线、网络连接、进程间通信数据结构、或者用于传输数据的任何其它方法。
计算设备200的一个或者多个输入组件242可以接收输入。输入的示例是触觉输入、音频输入、图像输入、和视频输入。在一个示例中,计算设备200的输入组件242包括存在敏感显示器、触摸敏感屏幕、鼠标、键盘、语音响应系统、麦克风、或者用于检测来自人或者机器的输入的任何其它类型的设备。在一些示例中,输入组件242包括一个或者多个传感器组件,诸如,一个或者多个位置传感器(GPS组件、Wi-Fi组件、蜂窝组件)、一个或者多个温度传感器、一个或者多个移动传感器(例如,加速度计、陀螺仪)、一个或者多个压力传感器(例如,气压表)、一个或者多个环境光传感器、以及一个或者多个其它传感器(例如,麦克风、照相机、视频相机、身体相机、眼睛佩戴物、或者操作地耦合至计算设备200的其它相机设备、红外接近传感器、湿度计等)。
计算设备200的一个或者多个输出组件246可以生成输出。输出的示例是触觉输出、音频输出、静态图像输出、和视频输出。在一个示例中,计算设备200的输出组件246包括存在敏感显示器、声卡、视频图形适配器卡、扬声器、阴极射线管(CRT)监视器、液晶显示屏(LCD)、或者用于向人或者机器生成输出的任何其它类型的设备。
计算设备200的一个或者多个通信单元244可以通过在一个或者多个网络上传送和/或接收网络信号来经由一个或者多个有线和/或无线网络与外部设备进行通信。例如,通信单元244可以配置为通过网络与远程计算系统通信,该远程计算系统对文本输入进行处理并且通过使用如本文所述的时间和语言模型特性来执行文本输入的分词。响应于经由通信单元244输出触摸事件序列的指示以便传送至远程计算系统,模块220和/或222可以经由通信单元244从远程计算系统接收字符序列的指示。通信单元244的示例包括网络接口卡(例如,诸如,以太网卡)、光学收发器、射频收发器、GPS接收器、或者可以发送和/或接收信息的任何其它类型的设备。通信单元244的其它示例可以包括短波无线电、蜂窝数据无线电、无线网络无线电、以及通用串行总线(USB)控制器。
计算设备200的存在敏感显示器212包括显示组件202和存在敏感输入组件204。显示组件202可以是存在敏感显示器212显示信息的屏幕,并且存在敏感输入组件204可以检测在显示组件202处和/或附近的对象。作为一个示例范围,存在敏感输入组件204可以检测对象,诸如,与显示组件202相距2英寸或者更小距离的手指或者触控笔。存在敏感输入组件204可以确定显示组件202的检测到对象的位置(例如,[x,y]坐标)。在另一示例范围中,存在敏感输入组件204可以检测与显示组件202相距6英寸或者更小距离的对象,并且其它范围也是可能的。存在敏感输入组件204可以通过使用电容识别技术、电感识别技术、和/或光学识别技术来确定通过用户的手指所选择的显示组件202的位置。在一些示例中,存在敏感输入组件204还如关于显示组件202描述的通过使用触觉刺激、音频刺激、或者视频刺激来向用户提供输出。在图2的示例中,存在敏感显示器212可以呈现用户界面(诸如,如图1中的屏幕截图114A和114B所示,用于接收文本输入并且输出从文本输入中推断出的字符序列的图形用户界面)。
虽然将存在敏感显示器212图示为计算设备200的内部组件,但是存在敏感显示器212还可以表示与计算设备200共享数据路径以供传送和/或接收输入和输出的外部组件。例如,在一个示例中,存在敏感显示器212表示计算设备200的位于计算设备200的外部封装内并且物理地连接至计算设备200的外部封装的内置组件(例如,在移动电话上的屏幕)。在另一示例中,存在敏感显示器212表示计算设备200的位于计算设备200的封装或者外壳外并且与计算设备200的封装或者外壳物理地分开的外部组件(例如,与计算设备200共享有线和/或无线数据路径的监视器、投影仪等)。
计算设备200的存在敏感显示器212可以接收来自计算设备200的用户的触觉输入。存在敏感显示器212可以通过检测来自计算设备200的用户的一个或者多个轻敲或者非轻敲手势(例如,用户利用手指或者触控笔触摸或者指向存在敏感显示器212的一个或者多个位置)来接收触觉输入的指示。存在敏感显示器212可以向用户呈现输出。存在敏感显示器212可以将输出呈现为图形用户界面(例如,作为图1的屏幕截图114A和114B),该图形用户界面可以与由计算设备200的各个功能提供的功能相关联。例如,存在敏感显示器212可以呈现在计算设备200处执行或者可由计算设备200访问的计算平台、操作系统、应用、或者服务(例如,电子消息应用、导航应用、互联网浏览器应用、移动操作系统等)的组件的各个用户界面。用户可以与相应的用户界面交互以使得计算设备200执行与一个或者多个不同功能相关的操作。例如,文本录入模块220可以使得存在敏感显示器212呈现与计算设备200的文本输入功能相关联的图形用户界面。计算设备200的用户可以查看呈现为与文本输入功能相关联的反馈的输出,并且通过使用文本输入功能向存在敏感显示器212提供输入以编撰附加文本。
计算设备200的存在敏感显示器212可以检测二维和/或三维手势作为来自计算设备200的用户的输入。例如,存在敏感显示器212的传感器可以检测用户在存在敏感显示器212的传感器的阈值距离内的移动(例如,移动手、手臂、笔、触控笔等)。存在敏感显示器212可以确定该移动的二维或者三维矢量表示并且将该矢量表示与具有多个维度的手势输入(例如,挥手、捏合、轻拍(clap)、笔画等)相关联。换言之,存在敏感显示器212可以在不需要用户在存在敏感显示器212输出信息以进行显示的屏幕或者表面处或者附近作手势的情况下检测多维手势。相反,存在敏感显示器212可以检测在传感器处或者附近执行的多维手势,该传感器可以或者可以不定位在存在敏感显示器212输出信息以进行显示的屏幕或者表面附近。
一个或者多个处理器240可以实现功能和/或执行与计算设备200相关联的指令。处理器240的示例包括应用处理器、显示控制器、辅助处理器、一个或者多个传感器集线器、以及配置为充当处理器、处理单元、或者处理设备的任何其它硬件。模块220、222、224、226、和228可以由处理器240操作以执行计算设备200的各个动作、操作、或者功能。例如,计算设备200的处理器240可以检索和执行由存储组件248存储的指令,所述指令使得处理器240执行操作模块220、222、224、226、和228。所述指令在由处理器240执行时可以使得计算设备200将信息存储在存储组件248内。
计算设备200内的一个或者多个存储组件248可以存储信息以供在计算设备200的操作期间进行处理(例如,计算设备200可以存储由模块220、222、224、226、和228在计算设备200处执行期间访问的数据)。在一些示例中,存储组件248是暂时性存储器,这意味着存储组件248的主要目的不是长期存储。可以将在计算设备220上的存储组件248配置作为易失性存储器以用于短期存储信息,并且因此,如果该存储组件被断电,则不会保留已存储的内容。易失性存储器的示例包括随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、和本领域已知的其它形式的易失性存储器。
在一些示例中,存储组件248还包括一个或多个计算机可读存储介质。在一些示例中,存储组件248包括一个或多个非暂时性计算机可读存储介质。与通常由易失性存储器存储的信息量相比,存储组件248可以配置为存储更大量的信息。存储组件248可以进一步配置作为非易失性存储器空间以供长期存储信息,并且在上电/掉电周期之后保留信息。非易失性存储器的示例包括磁硬盘、光盘、软盘、闪速存储器、或者电可编程存储器(EPROM)或者电可擦除可编程(EEPROM)存储器的形式。存储组件248可以存储与模块220、222、224 226、和228以及数据存储234相关联的程序指令和/或信息(例如,数据)。存储组件248可以包括配置为存储与模块220、222、224 226、和228以及数据存储234相关联的数据或者其它信息的存储器。
文本录入模块220可以包括图1的计算设备100的文本录入模块120的所有功能并且可以执行与文本录入模块120相似的操作以供管理计算设备200在存在敏感显示器212处提供的用于处置来自用户的文本输入的用户界面。该文本录入模块220可以通过通信信道250来发送信息,该通信信道250使得存在敏感显示器212的显示组件202将图形键盘或者手写输入特征呈现为用户——诸如用户118——可以通过在存在敏感输入组件204处提供轻敲和非轻敲手势来提供文本输入(例如,文本字符序列)的图形用户界面的一部分(例如,屏幕截图114A)。文本录入模块220可以使得显示组件202呈现轨迹或者与存在敏感输入组件204的接收到文本输入的位置对应(例如,屏幕截图114A),并且还可以使得显示组件202显示字符识别模块222从文本输入推断出的个体字符作为图形输出(例如,屏幕截图114B)。
字符识别模块222可以包括图1的计算设备100的模块122的所有功能并且可以执行与字符识别模块122相似的操作以对文本录入模块220从在存在敏感显示器212处提供的文本输入所确定的触摸事件序列执行字符级和/或词级识别操作。字符识别模块22通过使用SM模块228、LM模块224、和TM模块226来对触摸事件执行字符级和/或词级识别操作。
阈值数据存储234A可以包括一个或者多个时间阈值、距离或者基于空间的阈值、概率阈值、或者字符识别模块222用来从文本输入推断字符的其它比较值。存储在阈值数据存储234B处的阈值可以是可变阈值(例如,基于函数或者查找表)或者固定值。例如,阈值数据存储234A可以包括第一时间阈值(例如,400毫秒)和第二时间阈值(例如,1秒)。字符识别模块222可以将在连续字符输入之间的停顿的持续时间与第一和第二阈值中的每一个进行比较。如果停顿的持续时间满足第一阈值(例如,大于400毫秒),则字符识别模块222可以将包括与停顿相对应的断词或者空格的字符序列的概率或者分值增加第一数量。如果停顿的持续时间满足第二阈值(例如,大于1秒),则字符识别模块222可以将包括与停顿相对应的断词或者空格的字符序列的概率或者分值增加超出第一数量的第二数量。如果停顿的持续时间既不满足第一阈值也不满足第二阈值(例如,小于400秒),则字符识别模块222可以减少包括与停顿相对应的断词或者空格的字符序列的概率或者分值。
在一些示例中,存储在阈值数据存储处的阈值234B可以是可变阈值并且可以随着时间动态地发生变化。例如,基于先前的输入,字符识别模块222可以智能地学习(例如,通过使用机器学习系统)来自用户118的典型输入的特性,并且根据用户118的已学习的特性来修改存储在阈值数据存储234B处的阈值。例如,字符识别模块222可以基于用户118通常在输入不同字母、词、和词组之间花费的时间量来确定存储在数据存储处的阈值并且可以基于用户118通常在输入相同词的不同字母之间花费的时间量来确定存储在数据存储处的阈值。
在一些示例中,可以将字符识别模块增加或者减少字符序列的概率或者分值的数量确定为停顿持续时间的一个或者多个函数。例如,字符识别模块222可以从第一数据集确定增加字符串的分值的第一数量(例如,基于持续时间的第一函数或者从值的第一查找表)。字符识别模块222可以从第二数据集确定增加字符串的分值的第二数量(例如,基于持续时间的第二函数或者从值的第二查找表)。如关于图3更详细地解释的,第一数据集和第二数据集可以表示相隔至少一个数量级的两个不相交的数据集。在一些示例中,数量级可以是因子(例如,10)或者偏移(例如,固定量)。例如,与字符识别模块222针对持续小于1秒的停顿应用的增加量相比,如果停顿持续时间大于或者等于1秒,则字符识别模块222可以将分值增加更大数量。
SM模块228可以接收触摸事件序列作为输入,并且输出更有可能表示触摸事件序列的字符或者字符序列,连同指示字符序列定义触摸事件的可能性或者准确性的确定性程度或者空间模型分值。换言之,SM模块228可以执行手写识别技术来将触摸事件推断为笔画,并且将笔画推断为字符和/或将触摸事件推断为在键盘的键处的选择或手势以及将键的选择或者手势推断为词的字符。字符识别模块122可以在确定模块122响应于文本输入而输出的一个或者多个潜在词的总分值时使用从SM模块228输出的空间模型分值。
LM模块可以接收字符序列作为输入,并且输出一个或者多个候选词或者词对作为LM模块从字典数据存储234A识别作为语言上下文(例如,书面语言中的句子)中的字符序列的潜在替换的字符序列。例如,语言模型224可以将语言模型概率指派给位于字典数据存储234A处的一个或者多个候选词或者词对,其包括与输入的字符序列相同的字符中的至少一些字符。指派给一个或者多个候选词或者词对中的每一个的语言模型概率指示:候选词或者词对通常被发现定位在从由存在敏感输入组件204在接收到由LM模块224分析的当前字符序列之前和/或之后所检测到的文本输入生成的词序列(例如,句子)之后、之前、和/或内的确定性程度或者可能性程度。
字典数据存储234A可以包括表示一个或者多个书面语言的词典的一个或者多个有序的数据库(例如,哈希表、链表、有序数组、图表等)。每个词典可以包括书面语言词汇表(例如,包括语法、俚语、和口头词使用)内的词和词组的列表。字符识别模块222的LM模块224可以通过将序列的部分与字典数据存储234A中的每个词进行比较来在字典数据存储234A中执行对字符序列的查找。LM模块224可以基于比较将相似性系数(例如,Jaccard相似性系数)指派给字典数据存储234A中的每个词并且从字典数据存储234A确定具有最大相似性系数的一个或者多个候选词。换言之,具有最大相似性系数的一个或者多个候选词首先可以表示字典数据存储234A中的、具有与字符序列的拼写最紧密关联的拼写的潜在词。LM模块224可以确定包括字符序列中的部分或者所有字符的一个或者多个候选词并且确定具有最高相似性系数的一个或者多个候选词表示字符序列的潜在校正的拼写。在一些示例中,具有最高相似性系数的候选词与从触摸事件序列生成的字符序列相匹配。例如,字符序列h-i-t-h-e-r-e的候选词可以包括“hi”、“hit”、“here”、“hi there”、以及“hit here”。
LM模块224可以是n元语法语言模型。n元语法语言模型可以基于序列(即,P(xi|xi-(n-1),...,xi-1))中的先前项来为连贯项序列中的项xi(字母或者词)提供概率分布或者基于序列(即,P(xi|xi+1,...,xi+(n-1)))中的随后项来为连贯项序列中的项xi提供概率分布。相似地,n元语法语言模型可以基于序列中的先前项和序列(即,P(xi|xi-(n-1),...,xi+(n-1)))中的随后项来为连贯项序列中的项xi提供概率分布。例如,二元语法语言模型(n元语法模型,其中,n=2)可以提供在序列(即,句子)中词“there”紧跟词“hi”的第一概率以及在不同的句子中词“here”紧跟词“hit”的不同概率。三元语法语言模型(n元语法模型,其中,n=3)可以提供在序列中词“here”接替两个词“hey over”的概率。
响应于接收到字符序列,语言模型24可以输出来自字典数据存储234A的、具有针对序列的最高相似性系数和最高语言模型分值的一个或者多个词和词对。字符识别模块222可以执行进一步操作,以确定要将哪个最高排名词或者词对输出至文本录入模块220作为最好地表示从文本录入模块220接收到的触摸事件序列的字符序列。字符识别模块222可以将从LM模块224输出的语言模型分值与从SM模块228输出的空间模型分值组合以导出总分值,该总分值指示由文本输入定义的触摸事件序列表示字典数据存储234A中的每个最高排名词或者词对。
为了提高字符识别模块222的分词能力并且为了检测文本输入中的断词或者空格,TM模块226可以代表字符识别模块222进一步分析从文本录入模块220接收到的触摸事件并且若需要,调整与从LM模块224输出的一个或者多个候选词相关联的总相应分值。TM模块226可以确定与字符识别模块222从接收自文本录入模块222的触摸事件序列推断出的字符序列中的每个字符相关联的开始和结束时间分量。基于与字符序列中的每个字符相关联的开始和结束时间分量,TM模块226可以确定在用户118完成字符之后一直到用户118开始随后字符之前为止所流逝的持续时间。TM模块226可以确定在连续字符之间的较长持续时间指示文本输入中的意图断词或者空格,而较短持续时间指示文本输入中没有意图断词或者空格。
TM模块226可以提升(boost)在与文本输入中的较长停顿相对应的位置处具有空格或者断词的词组的总分值。在一些示例中,TM模块226可以提升在与文本输入中的较短停顿相对应的位置处没有空格或者断词的词组的总分值。
除了空间、时间、和语言模型特征之外,字符识别模块222也可以依赖文本输入的其它特性来推断文本输入的意图字符。例如,字符识别模块222可以依赖文本输入其它空间或者距离特性来确定更有可能表示文本输入的字符序列。字符识别模块222可以推断当存在敏感输入组件204检测与文本输入相关联的两个连续字符所在的存在敏感输入组件204的位置相隔更大的距离量时,推断用户118可能希望在文本输入中的两个连续字符之间插入断词或者空格。
例如,响应于确定在界定空格或者断词的字符之间的距离满足距离阈值,字符识别模块222可以基于文本输入的两个连续部分之间的距离来增加包括空格或者断词的字符序列的分值。相反,响应于确定在界定空格或者断词的字符之间的距离不满足距离阈值,字符识别模块222可以基于文本输入的两个连续部分之间的距离来减少包括空格或者断词的字符序列的分值。
按照这种方式,根据所描述的技术操作的计算设备可以取决于与文本输入相关联的时间信息、语言模型、和空间信息来预测在何处将空格插入文本输入中。还可以使用时间、语言、和空间信息的任何其它组合,包括输入的两个部分(在潜在空格之前或者之后)的度量的机器学习功能。
在一些示例中,计算设备可以使用时间和语言模型及空间距离的加权组合,并且在一些示例中,计算设备可以使用基于时间的提升。换言之,如果计算设备确定用户等待的时间超过了在书写两个连续字符或者字符组之间的一定时间量,则确定词很有可能在停顿之前就已结束。计算设备可以将停顿的持续时间与固定阈值进行比较,并且将相对较大的加成添加至在该点包括空格的字符序列的语言模型分值。
在一些示例中,计算设备可以通过使用最小错误率训练(MERT)来自动调谐时间模型、语言模型、和特殊信号的权重。通过使用MERT,计算设备可以自动调整参数以使调谐样本集合上的错误率最小化。同样,计算设备可以收集在需要进行调谐的特定设备(例如,电话、手表、平板计算机等)上书写多个词的用户的训练样本。在其它示例中,计算设备可以从外部数据集收集训练样本(例如,在对计算设备所依赖并且与其分离的整个系统或者服务进行训练期间)。
在一些示例中,当停顿的与提升有关的时间阈值已经流逝时,计算设备可以移除先前书写的笔画或者先前输出以供显示的墨迹。同样,计算设备可以提供将来自文本输入的字符识别最终确定的进一步指示(例如,在滚动手写窗格的场境中,先前书写的笔画可以移出视图,因此,用户会立即清楚了解书写新的内容将开始新词)。
在一些示例中,计算设备可以利用滑动或者连续的手势键盘来执行相似的字符识别技术。即,在手势键入时,当用户停止手势时,计算设备可以推断词的结束。然而,在一些示例中,例如,如果在两个手势之间的间断非常短,则计算设备可以忽略词的停止或者结束。这种技术的特定优点可以先于通过使用手势键盘为允许长复合词(例如,德语)的某些语言提供连续手势。
换言之,在手势键入时,一些计算系统可以在手势完成了之后插入空格。针对复合词情况下的语言——如德语,在每个手势结束之后插入空格有时可能会导致文本输入中存在太多空格。如果在两个手势之间的时间非常短,则根据所描述的技术的计算设备可以避免在这两个连续手势输入之间插入空格。在一些示例中,针对空格极少的语言,计算设备可以默认避免在手势之后插入空格,并且仅在连续手势之间出现足够长的停顿的情况下插入空格。
图3是根据本公开的一个或多个技术的,作为基于在文本输入部分之间的持续时间而变化的总分值增加的示例分布的曲线图300的概念图。出于说明之目的,下文在图1的计算设备100的场境内描述了图3。
曲线图300由数据集310A和数据集310B组成。数据集310A和310B二者都表示作为时间的函数的总分值增加,其中,时间与在文本输入的连续字符之间的停顿的持续时间相对应。数据集310A和310B是相隔至少一个数量级(用“提升”表示)的两个不相交的数据集。在一些示例中,数量级可以是因子(例如,10)或者偏移(例如,固定量)。在一些示例中,数量级可以使得由数据集310B定义的增加足够高,使得所得到的候选字符串的总分值至少约等于100%。
字符识别模块122可以依赖表示数据集310A和310B的函数来计算具有与文本输入中的停顿相对应的空格或者断词的字符序列的总分值的增加量。例如,字符识别模块122可以识别与由计算设备100在时间t5与t6之间接收到的文本输入相关联的触摸事件序列中的停顿。
响应于确定在时间t5与t6之间的持续时间满足第一级阈值,字符识别模块122可以基于在时间t5与t6之间的持续时间将字符序列“hit here”的总分值增加与曲线图300中的点312A处的数量相对应的第一数量。响应于确定在时间t5与t6之间的持续时间满足第二级阈值,字符识别模块112可以基于在时间t5与t6之间的持续时间将字符串序列“hithere”的总分值增加与曲线图300中的点312B处的数量相对应的第二数量。
如图3所示,在点312A处的第一数量来自与数据集310A相对应的第一数据集,并且在点312B处的第二数量来自与数量级310B相对应的第二数量集。数据集310A和310B是相隔至少一个数量级(用“提升”表示)的两个不相交的数据集。按照这种方式,如果与停顿相关联的持续时间满足第一时间阈值(例如,400毫秒),则字符识别模块122可以使得从文本输入导出的在连续字符之间具有停顿的字符序列更有可能包括在连续字符之间的空格。另外,如果与停顿相关联的持续时间满足第二时间阈值(例如,1秒),则字符识别模块122可以使得从文本输入导出的在连续字符之间具有停顿的字符序列最为确定地包括在连续字符之间的空格。
图4是图示了根据本公开的一个或者多个方面的,由配置为将文本输入划分成两个或者更多个词的示例计算设备执行的示例操作的流程图。图4的过程可以由计算设备——诸如图1的计算设备100和/或图2的计算设备200——的一个或者多个处理器执行。在一些示例中,可以重复、省略、和/或按照任何顺序执行图4的过程的步骤。出于说明之目的,下文在图1的计算设备100的场境内描述了图4。
在图4的示例中,计算设备100可以在初始时间接收(400)至少一个第一文本字符的第一输入并且计算设备100可以在随后时间接收(410)至少一个第二文本字符的第二输入。例如,存在敏感显示器112可以在用户118在时间t0与t5之间在存在敏感显示器112处或者附近作手势来绘制或者书写字母h-i-t时检测到用户118提供了初始文本输入。存在敏感显示器112可以在用户118在时间t6与t13之间在存在敏感显示器112处或者附近作手势来绘制或者书写字母h-e-r-e时检测到用户118提供了随后文本输入。
计算设备100可以确定(420)不包括在至少一个第一字符与至少一个第二字符之间的空格字符的第一字符序列的第一分值。计算设备可以确定(430)包括在至少一个第一字符与至少一个第二字符之间的空格字符的第二字符序列的第二分值。例如,文本录入模块120可以将初始文本输入和随后文本输入处理成触摸事件序列,该触摸事件序列定义存在敏感显示器112检测到用户118绘制了字母h-i-t-h-e-r-e的时间和位置。字符识别模块122的空间模型可以基于触摸事件序列连同与触摸事件相关联的分值一起来生成字符序列,并且将该字符序列输入到语言模型中。字符识别模块122的语言模型可以输出两个候选字符串“hi there”和“hit here”作为用户118意图录入的潜在的候选字符串。字符识别模块112可以将第一分值指派给候选字符串“hi there”并且可以将第二分值指派给候选字符串“hit here”。第一分值可以基于与第一字符序列相关联的第一语言模型分值或者第一空间模型分值中的至少一个,并且第二分值基于与第一字符序列相关联的第二语言模型分值或者第二空间模型分值中的至少一个。
计算设备100基于在初始时间与随后时间之间的持续时间来调整(440)第二分值以确定第二字符串的第三分值。例如,字符识别模块122可以将在时间t5(在用户118完成输入与字母h-i-t相关联的初始文本输入的时刻)与时间t6(在用户118开始输入与字母h-e-r-e相关联的随后文本输入的时刻)之间的时间量与指示文本输入中的意图断词或者空格的一个或者多个时间阈值进行比较。如果在时间t5与t6之间的停顿满足指示文本输入中的意图断词或者空格的一个或者多个时间阈值,则字符识别模块122可以增加第二分值以确定候选字符串“hit here”的第三分值。
计算设备100可以确定(450)第三分值是否超出第一分值。例如,在基于文本输入的时间特性来调整分值之后,字符识别模块122可以向文本录入模块120输出分值最高或者最大的候选字符串。
如果在针对停顿进行调整之后,第三分值超出第一分值,则计算设备100可以输出(460)第二字符序列的指示。例如,字符识别模块122可以向文本录入模块120输出字符串“hit here”,使得文本录入模块120可以使得存在敏感显示器112显示短语“hit here”(例如,作为屏幕截图114B)。
然而,如果针对停顿进行调整之后,第三分值没有超出第一分值,则计算设备100可以避免(470)输出第二字符序列的指示,并且作为替代输出第一字符序列的指示。例如,字符识别模块122可以向文本录入模块120输出字符串“hi there”,使得不管在时间t5与t6之间的停顿如何,文本录入模块120都可以使得存在敏感显示器112显示更常见的短语“hithere”。
条款1.一种方法,包括:在初始时间接收到至少一个第一文本字符的第一输入之后,由计算设备在随后时间接收至少一个第二文本字符的第二输入;由计算设备基于至少一个第一文本字符和至少一个第二文本字符来确定第一字符序列和第二字符序列,其中,第二字符序列包括在至少一个第一文本字符与至少一个第二文本字符之间的空格字符,并且第一字符序列不包括在至少一个第一文本字符与至少一个第二文本字符之间的空格字符;由计算设备确定与第一字符序列相关联的第一分值和与第二字符序列相关联的第二分值,其中,第一分值基于与第一字符序列相关联的第一语言模型分值或者第一空间模型分值中的至少一个,并且第二分值基于与所述第一字符序列相关联的第二语言模型分值或者第二空间模型分值中的至少一个;由计算设备基于在初始时间与随后时间之间的持续时间来调整第二分值以确定与第二字符序列相关联的第三分值;以及由计算设备响应于确定第三分值超出第一分值而输出第二字符序列的指示以供显示。
条款2.根据条款1所述的方法,其中,调整第二分值包括:由计算设备基于持续时间来增加第二分值以确定第三分值。
条款3.根据条款2所述的方法,其中,增加第二分值包括:由计算设备响应于确定持续时间满足第一级阈值,基于持续时间来将第二分值增加第一数量;以及由计算设备响应于确定持续时间满足第二级阈值,基于所述持续时间来将第二分值增加第二数量。
条款4.根据条款3所述的方法,其中,增加第二分值进一步包括:由计算设备根据第一数据集确定第一数量;并且由计算设备根据第二数据集确定第二数量,其中,第一数据集和第二数据集是相隔至少一个数量级的两个不相交的数据集。
条款5.根据条款1至4中任一项所述的方法,其中:接收第一输入包括:由计算设备检测对键盘的一个或者多个键的第一选择;并且接收第二输入包括:由计算设备检测对键盘的一个或者多个键的第二选择。
条款6.根据条款5所述的方法,其中,键盘是图形键盘或者物理键盘。
条款7.根据条款1至7中任一项所述的方法,其中:接收第一输入包括:由计算设备在存在敏感输入设备处检测第一手写输入;并且接收第二输入包括:由计算设备在存在敏感输入设备处检测第二手写输入。
条款8.根据条款7所述的方法,进一步包括:由计算设备基于第一手写输入来确定存在敏感输入设备的接收到至少一个第一文本字符的第一输入的第一位置;由计算设备基于第二手写输入来确定存在敏感输入设备的接收到至少一个第二文本字符的第二输入的第二位置;以及由计算设备基于在第一位置与第二位置之间的距离来调整分值以确定第三分值。
条款9.根据条款8所述的方法,其中,调整第二分值包括:由计算设备响应于确定距离满足距离阈值,基于距离来增加第二分值;以及由计算设备响应于确定距离不满足距离阈值,基于距离来减少第二分值。
条款10.根据条款1至10中任一项所述的方法,进一步包括:响应于确定第一分值超出第三分值:避免输出第二字符序列的指示;并且由计算设备输出第一字符序列的指示以供显示。
条款11.一种计算设备,包括:存在敏感显示器;至少一个处理器;以及至少一个模块,该至少一个模块可由该至少一个处理器操作以:在初始时间接收到由存在敏感显示器检测到的至少一个第一文本字符的第一输入之后,在随后时间接收由存在敏感显示器检测到的至少一个第二文本字符的第二输入;基于至少一个第一文本字符和至少一个第二文本字符来确定第一字符序列和第二字符序列,其中,第二字符序列包括在至少一个第一文本字符与至少一个第二文本字符之间的空格字符,并且第一字符序列不包括在至少一个第一文本字符与至少一个第二文本字符之间的空格字符;确定与第一字符序列相关联的第一分值和与第二字符序列相关联的第二分值,其中,第一分值基于与第一字符序列相关联的第一语言模型分值或者第一空间模型分值中的至少一个,并且第二分值基于与所述第一字符序列相关联的第二语言模型分值或者第二空间模型分值中的至少一个;基于在初始时间与随后时间之间的持续时间来调整第二分值以确定与第二字符序列相关联的第三分值;以及响应于确定第三分值超出第一分值,输出第二字符序列的指示以供在存在敏感显示器处进行显示。
条款12.根据条款11所述的计算设备,其中,至少一个模块可由至少一个处理器进一步操作以至少通过如下操作来调整第二分值:基于持续时间来增加第二分值以确定第三分值。
条款13.根据条款12所述的计算设备,其中,该至少一个模块可由至少一个处理器进一步操作以至少通过如下操作来增加第二分值:响应于确定持续时间满足第一级阈值,基于持续时间来将第二分值增加第一数量;以及响应于确定持续时间满足第二级阈值,基于持续时间来将第二分值增加第二数量。
条款14.根据条款13所述的计算设备,其中,该至少一个模块可由至少一个处理器进一步操作以至少通过如下操作来增加分值:根据第一数据集确定第一数量;并且根据第二数据集确定第二数量,其中,第一数据集和第二数据集是相隔至少一个数量级的两个不相交的数据集。
条款15.根据条款11至14中任一项所述的计算设备,其中,该至少一个模块可由至少一个处理器进一步操作以:至少通过在存在敏感显示器处检测第一手写输入来接收第一输入;并且至少通过在存在敏感显示器处检测第二手写输入来接收第二输入。
条款16.一种计算机可读存储介质,该计算机可读存储介质包括指令,该指令在由计算设备的至少一个处理器执行时使得至少一个处理器:在初始时间接收到至少一个第一文本字符的第一输入之后,在随后时间接收至少一个第二文本字符的第二输入;基于至少一个第一文本字符和至少一个第二文本字符来确定第一字符序列和第二字符序列,其中,第二字符序列包括在至少一个第一文本字符与至少一个第二文本字符之间的空格字符,并且第一字符序列不包括在至少一个第一文本字符与至少一个第二文本字符之间的空格字符;确定与第一字符序列相关联的第一分值和与第二字符序列相关联的第二分值,其中,第一分值基于与第一字符序列相关联的第一语言模型分值或者第一空间模型分值中的至少一个,并且第二分值基于与所述第一字符序列相关联的第二语言模型分值或者第二空间模型分值中的至少一个;基于在初始时间与随后时间之间的持续时间来调整第二分值以确定与第二字符序列相关联的第三分值;以及响应于确定第三分值超出第一语言模型分值,输出第二字符序列的指示以供显示。
条款17.根据条款16所述的计算机可读存储介质,其包括附加指令,该附加指令在由计算设备的至少一个处理器执行时使得该至少一个处理器至少通过如下操作来调整第二分值:基于持续时间来增加第二分值以确定第三分值。
条款18.根据条款17所述的计算机可读存储介质,其包括附加指令,该附加指令在由计算设备的至少一个处理器执行时使得该至少一个处理器至少通过如下操作来增加第二分值:响应于确定持续时间满足第一级阈值,基于持续时间来将第二分值增加第一数量;以及响应于确定持续时间满足第二级阈值,基于持续时间来将第二分值增加第二数量。
条款19.根据条款18所述的计算机可读存储介质,其包括附加指令,该附加指令在由计算设备的至少一个处理器执行时使得该至少一个处理器至少通过如下操作来增加第二分值:根据第一数据集确定第一数量;并且根据第二数据集确定第二数量,其中,第一数据集和第二数据集是相隔至少一个数量级的两个不相交的数据集。
条款20.根据条款16至19中任一项所述的计算机可读存储介质,该计算机可读存储介质包括附加指令,该附加指令在由计算设备的至少一个处理器执行时使得该至少一个处理器:至少通过在存在敏感输入设备处检测第一手写输入来接收第一输入;并且至少通过在存在敏感输入设备处检测第二手写输入来接收第二输入。
条款21.一种系统,包括用于执行根据条款1至10所述的任何方法的装置。
条款22.一种计算设备,包括用于执行根据条款1至10所述的任何方法的装置。
条款23.根据条款11的计算设备,进一步包括用于执行根据条款1至10所述的任何方法的设备。
在一个或者多个示例中,可以将所描述的功能实现在硬件、软件、固件、或者它们的任何组合中。如果在软件中实现,则可以将功能作为一个或者多个指令或者代码存储在计算机可读介质上或者通过计算机可读介质来传送并且通过基于硬件的处理单元执行。计算机可读介质可以包括与诸如数据存储介质的有形介质相对应的计算机可读存储介质或者通信介质,包括促进将计算机程序从一个地方传递至另一地方——例如根据通信协议传递——的任何介质。按照这种方式,计算机可读介质通常可以对应于(1)非暂时性的有形计算机可读存储介质或者(2)诸如信号或者载波的通信介质。数据存储介质可以是可通过一个或者多个计算机或者一个或者多个处理器进行访问以检索用于实现在本公开中描述的技术的指令、代码和/或数据结构的任何可用介质。计算机程序产品可以包括计算机可读介质。
作为示例而非限制,,这样的计算机可读存储介质可以包括RAM、ROM、EEPROM、CD-ROM或者其它光盘存储、磁盘存储、或者其它磁存储设备、闪速存储器、或者可以用于以指令或者数据结构的形式存储期望的程序代码或者可以通过计算机访问的任何其它介质。同样,将任何连接适当地称为计算机可读介质。例如,如果通过使用同轴电缆、光纤电缆、双绞线、数字用户线(DSL)、或者无线技术——诸如红外、无线电、和微波——来从网站、服务器、或者其它远程源传送指令,则同轴电缆、光纤电缆、双绞线、DSL、或者无线技术——诸如红外、无线电、和微波——被包括在介质的定义中。然而,应该理解,计算机可读存储介质和数据存储介质不包括连接、载波、信号、或者其它瞬态介质,而是涉及非瞬态的有形存储介质。如本文使用的磁盘和光盘包括压缩式光盘(CD)、激光光盘、光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中,磁盘通常磁性地复制数据,而光盘利用激光光学地复制数据。上面的组合还应该被包括在计算机可读介质的范围内。
指令可以通过一个或者多个处理器——诸如一个或者多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)、或者其它等效的集成或者分离逻辑电路系统——执行。因此,本文所使用的术语“处理器”可以指代任何前述的结构或者适用于实现本文描述的技术的任何其它结构。另外,在一些方面中,可以将本文描述的功能提供在专用的硬件模块和/或软件模块内。同样,可以在一个或者多个电路或者逻辑元件中充分地实现该技术。
本公开的技术可以实现在各种各样的设备或者装置中,包括无线手持设备、集成电路(IC)、或者IC集(例如,芯片集)。在本公开中,描述各个组件、模块、或者单元以强调配置为执行所公开的技术的设备的功能方面,但并不一定需要通过不同的硬件单元实现。相反,如上所述,结合合适的软件和/或固件,可以将各个单元组合在硬件单元中或者可以通过可互操作的硬件单元的结合——包括上文描述的一个或者多个处理器——来提供。
已经对各个示例进行了描述。这些和其它示例在所附权利要求书的范围内。