使用统计语言模型改进文本输入的制作方法

文档序号:10617873阅读:272来源:国知局
使用统计语言模型改进文本输入的制作方法
【专利摘要】本技术描述了基于上下文的文本输入,该技术使用基于条件概率的语言模型来提供基于先前输入的词的有意义的词完成和修改建议,诸如自动大写。该技术可以使用先前输入的左上下文词来修改匹配当前用户输入的候选词的列表。左上下文可以包括后面跟随空格、连字符或其它词的一个或多个先前输入的词。该技术然后可以基于一个或多个条件概率修改候选词的列表,其中条件概率示出在特定左上下文的情况下候选列表修改的概率。该修改可以包括重新排列该列表或修改列表上的词的属性,诸如大写。该技术然后可以向用户显示修改后的候选词的列表。
【专利说明】使用统计语言模型改进文本输入
【背景技术】
[0001] 使用移动设备的基于文本的通信日益增多。每天数百万人发送文本消息和邮件以 及甚至使用其移动设备进行传统的文档创作。随着对移动设备文本输入的需求提高,移动 设备开发商面临提供可靠的且高效的文本输入的重大挑战。移动设备的受限的处理能力、 尺寸和输入界面加剧了这些挑战。
[0002] 大量应用程序已被开发以解决这些挑战。第一系统之一为多抽头。多抽头将字母 表划分为多组字母,并将每组字母分配给手机的拨号盘上的数字。用户将重复地按下他们 期望循环通过的分配给字母的键,并选择用于该键的字母之一。该系统的用户发现文本输 入是个辛苦的过程,花费几分钟才输入几个简单的词。回应多抽头的限制,开发商创建预测 性文本输入系统。例如由纽昂斯通讯(Nuance Communications)公司创建的T9系统允许用 于每个字母的单个按键,其中每个按键对应于一组字母。T9系统针对一系列按键所对应的 一系列字母组从字典确定匹配的词。然后T9系统基于其使用频率将匹配的词排序。尽管这 种预测性文本系统的用户通常能够提高文本输入速度,但是他们还发现当他们选择非目标 词时该系统倾向于出错。预测性文本系统的用户还经历了主观增加的输入文本的难度,这 是因为用户经常必须不断地转移焦点而远离文本输入栏并且读取和考虑针对每次按键的 建议列表中的几个词。
[0003] 最后,移动设备开始支持具有物理专用按钮或虚拟触屏界面的全键盘。相比于多 抽头,这些系统显著地提高了文本输入速度,这是因为用户准确地按一个按钮来选择一个 字母。相比于T9,全键盘还提高了准确度和减小了认知负荷,这是因为不存在不想要的预 测。然而,这些系统仍倾向于用户错误,这是因为键通常被限制到小区域。此外,这些系统要 求用户输入整个词,即使目标词可能很明显。多个系统已试图将预测性文本输入的方面与 全键盘组合,但成功的很少。然而,这些系统的用户仍面临建议词的列表,其中目标词可被 埋在沿列表向下的几个位置。
[0004] 因此,需要允许快速的、准确的文本输入同时降低施加于用户的筛选不想要的词 建议的认知负荷的系统。
[0005] 需要克服以上问题的系统,以及提供额外益处的系统。总体来说,本文中一些先前 的或相关的系统及其相关联的限制的示例意图是说明性的而非排他性的。在阅读以下详细 描述之后,现有的或先前的系统的其它限制对本领域技术人员来说将变得显而易见。
【附图说明】
[0006] 图1为示出用于所公开的技术的操作环境的框图。
[0007] 图2为示出用于在输入栏中输入文本的方法的流程图。
[0008] 图3为示出用于针对给定的右上下文更新词的方法的流程图。
[0009] 图4为示出用于针对给定的左上下文更新候选词列表的方法的流程图。
[0010] 图5为示出用于创建或更新基于上下文的词典的方法的流程图。
[0011] 图6为示出在上下文的情况下包含条件概率的数据结构的框图。
[0012] 图7为示出用于在输入栏中输入文本的系统的框图。
【具体实施方式】
[0013] 所公开的技术提供基于上下文的文本输入,其使用基于条件概率的语言模型以基 于之前输入的词提供有意义的词的完整建议和自动大写。通过按照将更有可能的候选词放 在首位的方式对建议的词大写和排序,所公开的技术消除了用户在现有技术中所经历的许 多挫折,并且提高了文本输入速度同时减小了现有系统所需的认知负荷。
[0014] 下文详细地描述一种系统,该系统采用之前的输入或"左上下文"输入来修改匹配 当前用户输入的候选词的列表。例如,用于实现所公开的技术的方法可以包括接收用于输 入栏的左上下文。如下文所讨论,针对从左向右所写的语言,左上下文可以包括一个或多个 在前的输入词,紧随其后是空格、标点符号(例如连字符)、或其它词。当然,本发明的多个方 面同样适用于从左向右、从上向下等所写的语言,以及术语"左上下文"同样适用于所有的 这类语言,但"右上下文"或"上上下文"将是用于这些语言的更为贴切的术语。然而,为了清 楚和简洁,将使用从左向右的英文语言连同术语"左上下文"作为示例。
[0015] 该方法还可以接收对应于词的一部分的用户输入。该词可以包括不同于用户输入 所指示的所述一部分的另一部分。无需接收词的另一部分,该方法首先检索匹配用户输入 的一个或多个候选词的集合。然后,该方法可以基于一个或多个条件概率修改候选词的列 表,其中条件概率示出在特定左上下文的情况下候选列表修改的概率。该修改可以包括重 新排列该列表或修改列表上的词的属性,诸如大写。然后,该方法可以向用户显示修改后的 候选词列表。然后该方法从修改后的候选词列表接收对其中一个词的选择,诸如另一用户 输入。然后该方法在输入栏中输入所选的词。
[0016]通过呈现基于条件概率的修改列表,系统可以降低对用户的认知负荷。相比于其 它文本输入系统,用户的目标词可以始终更靠近所建议的词列表的顶部或者可以基于更少 的输入字符来确定。特别地,采用诸如德语的语言,在每个词的字符的平均数量相对较高的 情况下,可使用较少字母准确预测目标词的系统可以显著降低用户的认知负荷。
[0017] 例如,当用户输入字母"ea"时,匹配候选词的列表可以包含词"ear"和" earth"。如 果由用户输入的先前词为"I am on the planet",则建议"earth"可以被移到最接近的匹 配"ear"之上,这是因为上下文概率建议"earth"最可能是下一个词。在另一示例中,用户可 再次已经输入字母"ea",并且"The distance from Mars to the"为由用户输入的先前词。 在本示例中,词"earth"再次比"ear"更有可能。然而,在该上下文中,系统可以确定出,假如 在先前的5个词中使用大写的天体,则"earth"应当被大写。然后该系统会建议,在候选词列 表中,"Earth"在"ear"之前。
[0018] 总的来说,除了如在本申请中进一步限定的,如在本文中所使用的诸如(A)、(B)和 (X)等变量指示无需约束顺序、量、或持续时间所识别的一个或多个的特征,。在不限制该详 细描述的范围的情况下,下文给出了根据本发明的实施方式的系统、装置、方法及其相关的 结果的示例。除非另有定义,否则在本文中所使用的所有的技术和科学术语具有与本发明 所属领域中的普通技术人员通常所理解的含义相同的含义。在冲突的情况下,包括定义的 本文件将控制。在该详细描述中所使用的术语通常在本发明的上下文内以及在使用每个术 语的特定上下文中具有本领域中的普通含义。为了方便,某些术语可以被强调,例如使用斜 体和/或引号。强调的使用对术语的范围和含义不具有影响;在同一上下文中,无论是否被 强调,术语的范围和含义都是相同的。将理解,可以采用多于一种方式来说同一事物。
[0019] 因此,可替选的语言和同义词可以用于本文中所讨论的术语中的任何一者或多 者,也不会基于在本文中是否详述或讨论术语而赋予任何特殊意义。提供用于某些术语的 同义词。一个或多个同义词的记载不排除使用其它同义词。在说明书中任何地方对示例(包 括在本文中所讨论的任何术语的示例)的使用仅是说明性的,且不意图进一步限制本发明 或任何例示术语的范围和含义。同样地,本发明不限于在本说明书中给出的各个实施方式。
[0020] 图1为示出用于所公开的技术的操作环境的框图。该操作环境包括用于实现统计 的语言模型文本输入系统的设备100的硬件部件。该设备100包括一个或多个输入设备120, 该一个或多个输入设备120向CPU(处理器)110提供输入,通知CPU 110由用户执行的动作, 诸如轻击或手势。这些动作通常由硬件控制器调解,该硬件控制器解释从输入设备接收的 信号并使用已知的通信协议将信息传送到CPU 110。输入设备120例如包括电容式触摸屏、 电阻式触摸屏、表面波触摸屏、表面电容触摸屏、投影触摸屏、互电容触摸屏、自电容传感 器、红外触摸屏、红外丙烯酸投影触摸屏、光学成像触摸屏、使用电容感应或电导感应的触 摸板等。可采用本系统的其它输入设备包括具有加速计的可穿戴的输入设备(例如可穿戴 的手套型输入设备)、用于接收手动用户输入手势的图像的基于摄像头或图像的输入设备 等。
[0021] CPU可以是在一个设备中的单个处理单元或分布在多个设备上的多个处理单元。 类似地,CPU 110与用于显示器130的硬件控制器通信,在该显示器130上显示文本和图形, 诸如支撑线和锚点。显示器130的一个示例为触摸屏的显示器,该显示器向用户提供图形和 文本视觉反馈。在一些实现中,显示器包括作为该显示器的一部分的输入设备,诸如当输入 设备为触摸屏时。在一些实现中,显示器与输入设备分离。例如,触摸板(或轨迹板)可以被 用作输入设备120,并且与输入设备120不同的分离的或单独的显示设备可以被用作显示器 130。单独的显示设备的示例为:IXD显示屏、LED显示屏、投影显示器(诸如头戴式显示设备) 等。可选地,扬声器140也联接到处理器,从而任何合适的听觉信号可以被传递到用户。例 如,设备100可以生成对应于所选词的音频。在一些实现中,设备100包括麦克风141,该麦克 风141也联接到处理器,从而可以从用户接收语音输入。
[0022] 处理器110有权访问存储器150,该存储器150可以包括临时性存储器和/或永久性 存储器、以及既只读又可写存储器(随机存取存储器或RAM)、只读存储器(R0M)、可写的非易 失性存储器(诸如闪存、硬盘驱动器、软盘等)的组合。存储器150包括程序存储器160,该程 序存储器160包含所有的程序和软件,诸如操作系统161、输入动作识别软件162、和任何其 它应用程序163。输入动作识别软件162可以包括输入手势识别部件,诸如滑动手势识别部 162a和轻击手势识别部162b,但是其它输入部件当然也是可行的。输入动作识别软件可以 包括与包括字符模板(用于一种或多种语言)的一个或多个启用字符集有关的数据、以及用 于将接收的输入与字符模板匹配且用于执行如本文中所描述的其它功能的软件。程序存储 器160还可以包括菜单管理软件165,该菜单管理软件165用于以图形方式向用户显示两个 或更多个选项以及根据所公开的方法确定用户对以图形方式显示的所述选项之一的选择。 存储器150还包括数据存储器170,该数据存储器170包括任何配置数据、设置、可被程序存 储器160或设备100的任何元件所需的用户选择和偏好。在一些实现中,存储器还包括动态 模板数据库,用户/应用程序运行时间可以将定制模板添加到该动态模板数据库。运行时间 创建的动态数据库可以被存储在永久性存储器中且后续被加载。
[0023] 在一些实现中,设备100还包括通信设备,该通信设备能够使用无线移动电话标准 与基站或接入点进行无线通信,该无线移动电话标准诸如全球移动通信系统(GSM)、长期演 进(LTE)、IEEE 802.11、或其它无线标准。该通信设备还可以通过例如使用TCP/IP协议的网 络与另一设备或服务器通信。例如,设备100可以利用通信设备将一些处理操作卸载到更稳 健的系统或计算机。在其它实现中,一旦必需的数据库条目或词典被存储在设备100上,则 设备100可以执行进行基于上下文的文本输入所需的所有功能,而不依赖任何其它计算设 备。
[0024] 设备100可以包括各种各样的计算机可读介质,例如磁性存储设备、闪盘驱动器、 RAM、R0M、磁带驱动器、磁盘、⑶或DVD。计算机可读介质可以是任何可用的存储介质且包括 易失性介质和非易失性介质以及可移动介质和不可移动介质。
[0025] 所公开的技术可在许多其它的通用或专用计算系统环境或配置下操作。可适合于 与本技术一起使用的熟知的计算系统、环境和/或配置的示例包括但不限于:个人计算机、 服务器计算机、手持式或便携式设备、移动电话、平板设备、多处理器系统、基于微处理器的 系统、机顶盒、可编程的消费性电子产品、网络PC、小型计算机、大型计算机、包括以上系统 或设备中的任一的分布式计算环境等。
[0026] 应当理解,在以下各个框图和流程图中所示的逻辑可以以各种方式改变。例如,可 以重排逻辑的次序、可以并行执行子步骤、可以省略图示逻辑、可以包括其它逻辑等。
[0027]图2为示出用于在输入栏中输入文本的方法200的流程图。该方法开始于框205且 继续到框210和框215。在框210处,该方法接收左上下文。如本文中所使用,"左上下文"指的 是当前用户输入之前的一个或多个词的集合(或表示在基于字符的语言中的词或词部分的 字符)。左上下文可以包括"n-gram"。在一些实施方式中,左上下文将为在当前输入之后输 入的一致数量的词。当然,本发明的多个方面同样适用于从左向右、从上向下等所写的语 言,以及术语"左上下文"同样适用于所有的这类语言,但"右上下文"或"上上下文"将是用 于这些语言的更为贴切的术语。然而,为了清楚和简洁,将使用从左向右的英文语言连同术 语"左上下文"作为示例。
[0028] 在左上下文中的词可以是一个或多个字符的任何圈定的集合。在其它实施方式 中,左上下文可以是由圈定事件所限定的数量可变的词。这样的圈定事件可以包括标点事 件、语法事件、语言事件、或格式事件。例如,左上下文可以包括所有的先前词,直到到达来 自一组标点符号的一个标点符号(例如".,;:?! {([1Γ)为止。在另一示例中,左上下文可以 包括所输入的先前词,直到到达特定类型的词(诸如名词或动词)为止。在另一示例中,左上 下文可以包括所有的先前词,直到到达格式标记(诸如分节符或制表符)为止。
[0029] 在框215处,该方法接收对应于词的一部分的用户输入(A)。可以通过例如按键键 盘、虚拟键盘、与触摸屏交互的手指或手写笔、来自摄像头的图像、远程的真实或虚拟按钮、 或设备上的输入按钮来接收该用户输入,该设备诸如游戏控制器、移动电话、mp3播放器、计 算平板电脑或其它设备。可以通过空格、连字符或一个或多个其它词来将词的该部分与在 框210中接收的左上下文分离。用户输入(A)可以是一系列的按键点击、一个或多个手势或 滑动、在操纵杆上的运动、语音命令、摄像头所捕获的视觉运动、或来自用户的指示一个或 多个字母的任何其它输入。该方法将该用户输入(A)分解成包括一个或多个字母的词的部 分。在一些实施方式中,词的部分可以包括多组字母。例如,用户输入(A)可以包括一系列的 按键按下,其中每次按键按下对应于一组字符。
[0030] 接着,在框220处,该方法检索匹配词的接收部分的候选词的列表。候选词可以选 自本地数据库、检索自服务器、存储在存储器中的数据结构中、或接收自执行该方法的设备 可用的任何其它数据源。根据在框220中接收的词的部分的形式,系统可以对词的部分执行 各种预处理,诸如重排字母、使手势平滑、对音频信号重新采样、以及执行其它修改,以备将 词的部分与存储数据相比较。然后该方法可以将词的部分与数据源相比较以选择匹配。例 如,如果词的部分包括字母"tha",则该方法可以选择所有以"tha"为开端的词。作为另一示 例,如果词的部分为一系列字母组,其以第一组字母"d,e,c"为开端且随后跟着第二组字母 "j,u,m,y,h,n",则该方法可以选择所有以第一组中的字母为开端且以第二组中的字母作 为词的第二字母的词。在一些实施方式中,候选词列表可以还包括对应于用户输入(A)的字 符组,无论其是否精确地匹配数据源中的条目。在一些实施方式中,该系统可以从多个数据 库或词典选择候选词。然后该方法继续到框225。
[0031] 在框225处,该方法基于接收的左上下文修改候选词的列表。如下文参照图4更详 细讨论的,该修改可以包括重排列表或修改列表上的词的属性,诸如大写、拼法或语法。在 一些实施方式中,修改可以包括对词的属性的多个改变,诸如在左上下文为"Is it a Douglas"的情况下,如果用户接着输入"for .",则将"for改为"Fir?",因此句子将读为 "Is it a Douglas Fir?"。
[0032] 在框230处,该方法显示修改后的候选词列表。在各个实施方式中,该列表可以被 显示在与虚拟输入键盘集成的选择菜单中、文本输入栏中或由用户输入(A)的开端或末端 所限定的位置处。候选词列表可以与修改的各种格式指示一起被显示。最可能的词可以具 有不同颜色或风格,或者来自特定词典的词可以具有第一颜色或风格,而来自另一词典的 词可以具有不同颜色或风格。例如,如果用户具有能够用于不同语言的两个词典,则来自用 户的母语的词可以用绿色示出,而来自第二语言的词可以用蓝色示出。另外,包括对用户输 入(A)的改变的候选词可以用不同格式示出。例如,如果对候选列表的修改导致在用户输入 (A)中所指示的字母的大写,则大写的字母可以用不同颜色、下划线、粗体、斜体、或一些其 它方式来显示,以指示用户选择该候选词将改变由用户输入的字母。
[0033]然后该方法继续到框235,在框235处,接收来自显示的修改后的候选词列表的用 户选择。在一些实施方式中,接收用户选择可以包括基于预定的用户输入(诸如空格字符或 完成手势)在候选列表中自动地选择第一词。可替选地或附加地,接收用户选择可以包括在 显示的修改后的候选列表中的词上轻击或使用指向设备、箭头键或操纵杆,或者用户选择 可以包括空格、标点符号、或结束手势,而不完成词条,从而预示选择第一候选词或最可能 的候选词。然后该方法继续到框240,在框240处,在文本输入栏中输入所选词。输入所选词 可以包括替换或扩张对应于用户输入(A)之前所显示的一个或多个字符。
[0034]如上文参照图2所讨论的,一些实施方式使词建议和修改基于先前输入的词,即 "左上下文"。在其它实施方式中,在输入后续词(即"右上下文")之后生成词建议或修改。图 3为示出用于针对给定的右上下文更新词的方法300的流程图。该方法开始于框305。在一些 实施方式中,可以基于一个或多个后续输入的词(本文中称为"右上下文")自动地修改先前 输入的词。类似于左上下文,右上下文可以包括一个或多个词的集合,然而,在左上下文为 先前输入的词的集合的情况下,右上下文为后续输入的词的集合。例如,如果用户输入词 "president",然后下一个词为"Bush",则系统可以基于右上下文"Bush"将词"president" 大写为 "President"。
[0035] 在右上下文中的词可以是一个或多个字符的任何圈定的集合。右上下文可以包括 "n-gram"。在一些实施方式中,右上下文将为在特定词的右侧的一致数量的词。在其它实施 方式中,右上下文可以是由圈定事件所限定的数量可变的词。这样的圈定事件可以包括标 点事件、语法事件、语言事件、或格式事件。例如,右上下文可以包括所有的后续词,直到到 达多组标点符号之一".,;:?! })]1"为止。在另一示例中,右上下文可以包括所输入的后续 词,直到到达特定类型的词(诸如名词或动词)为止。在另一示例中,右上下文可以包括所有 的先前词,直到到达格式标记(诸如分节符或制表符)为止。该方法从框305行进到框310,在 框310处,针对特定选择的词,接收右上下文。
[0036] 该方法继续到框315,在框315处,该方法确定是否应当针对给定的右上下文更新 特定选择的词。在一些实施方式中,该方法可以确定应当修改特定选择的词,这是由于特定 词在右上下文的一定距离内。例如,如果特定选择的词为"national"且下一个词为 "Academy",则该方法可以确定出,在该右上下文的情况下,充分有可能的是目标词为大写 形式"National"且因此应该被修改。该确定可以基于在右上下文的情况下一组用于词的条 件概率,以及可以基于大于预定阈值(诸如50%、75%或85% )的条件概率。在一些实施方式 中,该方法可以确定应当用不同的词来替换输入的词。例如,用户可以输入词"discus"。如 果右上下文(或在一些情况下,左上下文)不包含涉及掷铁饼运动的其它词或词组,则系统 可以用"discuss"替换该词。
[0037]基于右上下文更新标点可以是有益处的,特别是如果用户正在用诸如法语的语言 输入文本,其中词的含义基于标点,诸如重音符号。例如,用户可以输入短语"Aprgs le repas,commande"(在用餐之后,买单),随后是"par mon mari,on rentre"(由我的丈夫,我 们将回家)。在该情况下,右上下文"par mon mari"(由我的丈夫)在其之前要求过去分词, 指示用户意图使用重音形式"commandg"。该方法可以更新句子以记载"Aprgs le repas, commandgpar mon mari,on rentre"(在用餐之后,由我的丈夫买单,我们将回家)。相反,如 果"commande"的右上下文已经为"le dessert!"(甜点!),贝lj不加重音的动词commande更为 可能,因此该方法可以不更新读为"Aprgs le repas,commande le dessert!"(在用餐之 后,下单甜点!)的句子。
[0038] 基于右上下文对词的修改可以包括多个改变,诸如标点和拼法。例如,如果用户首 先输入"My fence",然后输入右上下文"and I are getting married"。该方法可以基于 "fence"的包含词"marry"的变型的五个词的右上下文确定用户想用词fiancg的概率足够 高以致应当替换该词,因此句子会读为"My fianc6and I are getting married"。
[0039] 如果该方法确定不应当更新特定选择的词,则该方法继续到框325,在框325处,该 方法结束。如果系统确定应当修改特定选择的词,则继续到框320。在框320处,该方法执行 对特定选择的词的修改。可能的修改包括对特定选择的词的任何改变,诸如大写、格式化、 拼写修正、语法修正、或词替换。然后该方法继续到框325,在框325处,该方法结束。
[0040] 图4为示出用于针对给定的左上下文更新候选词列表的方法225的流程图。该方法 开始于框405且继续到框410。在框410处,该方法接收候选词列表和左上下文。在上文关于 图2讨论了候选词列表和左上下文。然后该方法继续到框415。
[0041]在框415处,该方法使用用户的实际输入(A)所对应的文本作为第一候选词,如一 组键轻击或滑动。在一些情况下,用户可能想要输入不对应于词典中的词或者在上下文的 情况下可能性非常小的文本。该方法通过将用户的输入(A)所对应的字符作为第一条目放 在候选词列表上而允许用户输入这类文本,不管该文本是否匹配词典条目或左上下文。在 一些实施方式中,该方法可以提供用于允许用户输入不匹配词典条目的文本的不同手段, 或可以将用户约束到词典词,在这些实施方式中,该方法跳过框415。
[0042] 该方法接着移动到框420,在框420处,该方法选择候选词列表中的下一个词。在这 是该方法已第一次处于框420的情况下,该方法将选择候选词列表的第二个词,该词在用户 的实际输入(A)所对应的条目之后。如果这不是该方法第一次处于框420,则该方法选择在 该方法在上次处于框420时所选的词之后的词。然后该方法行进到框425。
[0043]在框425处,该方法确定在所接收的左上下文的情况下是否为所选词分配条件概 率。如在本文中所使用的,在左上下文的情况下用于词的条件概率包括用户在左上下文的 情况下想用该词的估计,表达成比率、百分比、或可与阈值相比的其它值。条件概率可以是 用户在给定先前词的情况下想用该词的估计。条件概率可以是假定一个词或一组词处于先 前的n-gram中时用户想用该词的估计。条件概率可以是假定先前的n-gram中的一个词或一 组词具有某种属性(诸如大写、斜体、复数、单数、或缩写)时用户想用该词的估计。条件概率 可以是假定先前的n-gram使用特定标点时用户想用该词的估计。当多个词典可用时,条件 概率可以基于优选词典,诸如用于用户的母语的词典。条件概率可以基于已知的通用的或 独特的使用规律、语法、语言或词典偏好、文本韵律、或本文中讨论的其它因素。例如,如果 左上下文为"'Yes,let ' s go ! 'he"且匹配用户输入"sprout"的候选词包括"sprouted"和 "shouted",在左上下文中给定"!"的情况下,词"shouted"的可能性更大。这些估计可以为 用户想用词的特定形式的概率。例如,如果用户输入"bush"且左上下文为"President",则 该估计可以针对用户想用词"Bush"的可能性。参照图5和图6进一步讨论条件概率的创建。 [0044]在框425中,该方法可以从数据库或其它数据存储器检索用于所选词的一组条件 概率。该方法可以启发式地计算条件概率。例如,该方法可以确定出,对于所接收的左上下 文,预期特定类型的词,诸如动词。在本示例中,该方法将计算比用于非动词的概率高的用 于动词的概率。然后该方法继续到框430。
[0045] 在框430处,该方法确定是否已经在左上下文的情况下针对所选词分配或计算概 率。如果没有,则该方法继续到框440,在框440处,在一些实施方式中,分配默认概率,该默 认概率可用于后续修改或候选词列表排序。如果该方法在框430处确定已经针对所选词分 配或计算概率,则该方法继续到框435。
[0046] 在框435处,该方法基于在左上下文的情况下针对所选词分配的概率来修改所选 词的属性。在一些实施方式中,这可以包括向该词分配用于排序候选词列表的值。在一些实 施方式中,该修改可以包括改变词属性,诸如大写或格式化。然后该方法继续到框440。
[0047] 在框440处,该方法确定附加词是否在候选词列表中。如果在候选词列表中具有附 加词,则该方法返回到框420,否则该方法继续到框450。
[0048]在框450处,该方法可以基于在当前左上下文的情况下的概率而重排候选词列表 中的词。可以基于候选词的条件概率或默认概率,在候选词列表上将候选词上移或下移。在 一些实施方式中,除了词排序或代替词排序,可以执行其它动作,诸如词格式化。例如,最可 能的词或条件概率大于一定阈值的词可以写成红色。词排序可以基于确定目标词很可能为 特定类型而分组或以其它方式强调或注释该类型的词。例如,如果系统基于左上下文确定 目标词有75%的可能是动词,则用斜体标注所有的动词。候选词列表的重排可以适用于候 选词列表的所有词或可以省略在框415处识别的首先选择的候选词。然后该方法继续到框 455,该方法在此处返回。
[0049] 图5为示出用于创建或更新基于上下文的词典的方法500的流程图。该方法开始于 框505且继续到框510。在框510处,该方法开始于标准的文本条目词典和语言模型。语言模 型包含多个条件概率,如上文所讨论。可以从对电子文本文件的大型样本或语料库的分析 确定条件概率。该分析可以检阅特定词与其它紧贴的先前词、词的类型、或先前的n-gram中 的词的对应关系。条件概率还可以基于或包括语言规则。对于特定词或词型,条件概率可以 示出其之前可能是另一类型的词。例如,给定词典条目"punted",则可以具有一语言规则, 该语言规则陈述了,在小于1 %的情况下,以过去时态动词开始一个句子。对于过去时态动 词"punted"的概率之一可以包括该语言规则;可替选地,条件概率可以低概率地将句子结 尾的标点识别为左上下文。
[0050] 在框510处,该方法检阅条目的开始词典,基于语言模型,所述条目仅跟随特定的 其它条目。例如,在几乎所有上下文中,词"Aviv"仅跟随词"Tel"。该方法将这些识别的条目 组合为单个条目。然后该方法继续到框515。
[0051] 框515包括框520和框525。在框520处,该方法利用来自语言模型的条件概率在词 典中创建或更新n-gram表。n-gram表将词典中的词条目匹配到特定的n-gram,以及用于该 n-gram的对应概率例如参看图6中的项615。在框525处,该方法利用来自语言模型的条件概 率在词典中创建或更新大写表;例如参看图6中的项620。然后该方法继续到框530,该方法 在框530处返回。
[0052]图6为示出在上下文的情况下包含条件概率的数据结构的示例的框图。数据结构 的行630为用于词"vu"的条目的示例。列605标识针对给定行的词典条目。对于行630,条目 为"vu"。在一些实施方式中,该行可以包含词典条目所对应的标识符。列610包含用于对应 的行词的默认概率。在当前左上下文不匹配为该词分配的任何左上下文时,可以使用默认 条目。对于行630,除了在词"d6ja"之后,事实上不存在在英语中使用词"vu"的情况。因此为 行630分配对应的默认概率0%。列615包含n-gram概率对。如上文参照图4和图5所讨论的, 该列包含在特定的n-gram左上下文的情况下想用匹配词的条件概率。对应概率为针对该行 的列605中的条目在左上下文的情况下为目标词的估计概率。对于行630, "vu"具有与估计 概率100%相关联的n-gram "d6ja"。这表示,如果先前输入的词为"d6ja",则系统预测用户 有100 %的可能是打算接着输入"VU"。列620包含n-gram大写概率对。该列提供在特定左上 下文的情况下用户打算将对应行词大写的估计概率。在行630的情况下,不具有用于该列的 条目。这指示不具有这样的左上下文:其中系统会基于该左上下文自动大写或建议大写 "vu"。列625给出用于行词的类型。系统可以使用该值来启发式地确定条件概率,诸如在上 文"punted"示例中,其中语言规则为特定类型的词的存在分配概率。对于行630,列625具有 对应于"vu"的值"动词"(法语为"seen",在一些实施方式中,该值可以为"名词",如其通常 用作名词"dgjavu"的一部分)。列625可以具有用于针对行条目的词的类型的其它标识符, 诸如过去时态/现在时态/将来时态、斜体、用户自定义、加重、或可关于启发式地确定或调 整条件概率的任何其它值。
[0053]现在将作为示例讨论行635和行640的使用。如果用户已经输入字母"fi",则候选 列表中的匹配词中对应于行635的一个匹配词可以是词"fir"。查看列610,系统可能在分析 其它文本时看到"fir"的次数还不足以向其分配默认概率。从列615,系统可以有能力确定 出,针对左上下文词"douglas",目标词有88%的可能性为"fir"。然而,如果左上下文为 "this is",则目标词只有3%的可能性为"Fir"。在左上下文为"this is"的情况下,对应于 "for"的另一行(未示出)可以具有高很多的条件概率。对于列620,系统可以确定出,在左上 下文"douglas"的情况下,用户打算大写该词"Fir"的可能性为30 %。从列625,系统可以确 定该词为名词,因此在期望名词的上下文中,这为目标词而非例如"for"的概率更高。
[0054]数据库条目还可以用于基于右上下文修改词。继续douglas fir示例,数据库中的 行可以对应于主语词"douglas",且右上下文列(未示出)可以包含右上下文n-gram"Fir"。 当系统识别后伴随有匹配的右上下文词("Fir")的主语词(在本示例中为"douglas")的条 目时,系统可以自动地修改主语词,诸如将其大写。在一些实施方式中,替代自动地改变主 语词,建议列表可以被修改成允许用户选择对先前词中的一者或多者的更新。在本示例中, 当用户已经输入后伴随有"f ir"的"douglas"时,建议列表可以包含"Douglas Fir"的建议, 指示该条目的选择将使这两个词大写。作为另一示例,在上文的fence/fiancg示例中,用于 fence的数据库条目(未示出)可以在右上下文列中具有带有词"marry"的条目。这指示出, 如果fence的右上下文包含词marry、或在一些实施方式中包含词marry的任何形式,则应当 用fiancg替换词fence,或者应当示出针对fence提供建议fiancg的上下文菜单。
[0055]作为另一示例,候选词列表可以包含词"bush"。因此系统可以检阅具有由列605标 识的类似于行640的行的数据结构或数据库。系统可以确定词"bush"的默认概率为7%。这 指示了,在系统已经将"bush"识别为匹配词的情况下,系统估计7%的时间这是正确的匹 配。系统可以使该默认概率估计基于当前用户或其他用户的选择、词在给定语言中的频率、 或其它概率度量标准。从列615,系统可以估计出,在左上下文"pres i dent"的情况下,词 "bush"的可能性为75% ;在左上下文"pea-tree"的情况下,词"bush"的可能性为59% ;以及 在左上下文"don't"的情况下,词"bush"的可能性为8%。不同的行(诸如用于"push"(未示 出))可以给出用于左上下文"don't"的更高概率。从列620,系统可以估计:在左上下文 "president"的情况下,具有90%的机率应当将匹配词"bush"大写;在左上下文"Mr的情 况下,具有82%的机率应当将匹配词"bush"大写;以及在左上下文"the"的情况下,具有 26%的机率应当将匹配词"bush"大写。在针对行640的列625中,系统可以具有用于该类型 的词的标识符,诸如名词或名字,或者可以具有更专业的标识符,诸如总统、植物和共和主 义者,所有的这些都可以用于系统来确定在特定左上下文的情况下的条件概率。
[0056]图7为示出用于在输入栏中输入文本的系统700的框图。该系统包括输入接口705、 输入数据存储器710、候选选择器715、词典720、候选列表修改器725、和显示器730。
[0057]输入接口 705可以接收指示词的一个或多个字符的用户输入(S)。用户输入(S)或 对应的字符可以在755被传递到输入数据存储器710,该输入数据存储器710将它们添加到 输入结构。输入字符可以在745被传递到显示器,该显示器可以显示字符。
[0058] 候选选择器715可以在750接收用户输入(S)且还可以在760从输入数据存储器710 接收上下文。然后候选选择器715可以基于用户输入(S)选择一个或多个候选词。候选选择 器715可以生成请求,诸如数据库查询,以选择匹配词。可以在765将该请求发送到词典720。 词典720可以是本地的或远程的,以及可以被实现成数据库或其它数据结构。在一些实施方 式中,对候选词的请求还可以基于在760接收的上下文。在770,词典720将候选词传递回候 选选择器。在775,候选选择器将候选列表传递到候选列表修改器725。
[0059] 候选列表修改器725在775接收候选列表且在780接收左上下文。候选列表修改器 生成对用于候选列表中的词在左上下文的情况下的条件概率的请求,以及在785将该请求 发送到词典720。在790,词典720将用于候选列表中的词在左上下文的情况下的一组条件概 率返回到候选列表修改器725。然后候选列表修改器725可以使用大写模块将候选列表中的 被大写的条件概率大于预定阈值的词大写。候选列表修改器725还可以使用似然模块来根 据分配给条件概率所对应的词的值或默认值对候选列表中的词排序。候选列表修改器725 还可以接收用户输入(S)且将对应字符放置作为修改后的候选词列表中的第一项。在740, 候选列表修改器725将修改后的候选词列表传递到显示器730。用户可以通过用户接口 705 输入另一用户输入(T),从修改后的候选词列表选择词。用户输入(T)可以引起所选词在795 被输入在输入数据存储器中,代替或通过修改在755由输入数据存储器接收的输入。
[0060]
[0061] ?环境清楚地另有要求,否则贯穿说明书和权利要求,词"包括"、"包含"等将被 视为包含性意义,与排外或详尽意义相反;也就是说,被视为"包括但不限于"的意义。词"本 文中"、"上文"、"下文"和类似意思的词,在本申请中使用时指的是作为整体的本申请,而非 本申请的任何特定部分。在上下文许可的情况下,在上文详细描述中使用单数或复数的词 还可以分别包括复数或单数。参考两项或更多项的列表,词"或"覆盖该词的以下全部解释: 列表中的任一项、列表中的所有项、以及列表中的多项的任一组合。
[0062] 本发明的示例的以上详细描述不意图是详尽的或将本发明限制到上文公开的精 确形式。尽管上文出于说明性目的描述了用于本发明的具体示例,但是在本发明的范围内, 各种等效修改是可行的,如本领域技术人员将认识到的。
[0063] 本文中所提供的本发明的教导可以被应用于其它系统,不一定是上文描述的系 统。上文描述的各个示例的元件和行为可以被组合以提供本发明的其它实现。本发明的一 些替选实现不仅可以包括上文记录的那些实现以外附加的元件,而且还可以包括更少的元 件。
[0064] 上文记录的任何专利和申请以及其它参考(包括可在所附递交页中列出的任一 者)通过引用并入本文。如果需要,则可以修改本发明的多个方面以采用上文所描述的各个 参考的系统、功能和概念来提供本发明的其它实现。
[0065] 在上文详细描述的背景下,可以对本发明进行这些改变和其它改变。尽管以上说 明书描述了本发明的某些示例且描述了预期的最佳模式,但是无论上文在文本上展现得如 何详细,本发明都可以采用许多方式来实践。系统的细节可以在其具体实现中显著变化,但 仍被本文中所公开的本发明所涵盖。如上所述,在描述本发明的某些特征或方面时使用的 特定术语不应当被视为暗示,该术语在本文中被重新定义以受限于本发明的与该术语相关 联的任何具体特性、特征或方面。通常,在所附权利要求中使用的术语不应当被视为将本发 明限制到本说明书中所公开的具体示例,除非以上详细描述章节明确限定了这类术语。因 此,本发明的实际范围不仅包含所公开的示例,而且还包含在权利要求背景下实践或实施 本发明的所有等效方式。
[0066]尽管下文以特定权利要求形式呈现了本发明的特定方面,但是
【申请人】以任何数量 的权利要求形式设想本发明的各个方面。例如,尽管在35U.S.C.§112第6段下将本发明的仅 一个方面记载成部件加功能的权利要求,但是其它方面同样可以被体现成部件加功能的权 利要求或采用其它形式,诸如被嵌入计算机可读介质中(意图在35U.S.C. §112第6段下处理 的任何权利要求将以词"用于……的部件"为开始)。因此,
【申请人】保留在递交本申请之后添 加额外权利要求的权利,以追加用于本发明的其它方面的这类额外权利要求形式。
【主权项】
1. 一种在输入栏中输入文本的方法,所述方法包括: 接收所述输入栏的左上下文,其中,所述左上下文包括后面跟随空格或连字符的一个 或多个先前输入的词; 通过虚拟键盘接口接收对应于词的一部分的用户输入(A), 其中,所述词包括所述词的所述一部分和所述词的另一部分; 基于对应于所述词的所述一部分的所述用户输入(A),且在还未接收到所述词的所述 另一部分的情况下,检索匹配所述用户输入(A)的候选词的列表; 在所述左上下文词的情况下,基于一个或多个的所述候选词的的一个或多个条件概率 修改所述候选词的所述列表; 显示所述候选词的修改后的列表; 从显示的修改后的所述候选词的列表接收所述词的选择;以及 在所述输入栏中输入所选择的词。2. 如权利要求1所述的方法,还包括从词典接收所述一个或多个条件概率, 其中,一个或多个的所述条件概率标识所接收的所述左上下文,以及 其中,所述词典被实施作为本地数据库或远程数据库。3. 如权利要求1所述的方法,还包括从词典接收所述一个或多个条件概率,所述条件概 率标识n-gram。4. 如权利要求1所述的方法,其中,从显示的修改后的所述候选词的列表接收所述词的 选择包括接收指示所述候选词的列表中的所述词的用户输入(B)。5. 如权利要求1所述的方法,其中,检索所述候选词的列表基于所述候选词所对应的条 件概率。6. 如权利要求1所述的方法,其中,所述左上下文为包括两个或更多个词的n-gram。7. 如权利要求1所述的方法,还包括: 接收对应于所接收的所述左上下文的一个或多个语言规则;以及 使用一个或多个的所述语言规则,通过如下方式计算一个或多个的所述条件概率: 基于一个或多个的所述语言规则,确定用于所接收的所述左上下文的期望词型;以及 将所述期望词型与针对所述候选词的列表上的词所标识的一个或多个类型相比较。8. 如权利要求1所述的方法,还包括: 接收对应于所接收的所述左上下文的一个或多个语言规则;以及 使用一个或多个的所述语言规则,计算一个或多个的所述条件概率。9. 如权利要求1所述的方法,其中,所接收的所述条件概率为在所述左上下文的情况下 用户想用所述词的概率的估计。10. 如权利要求1所述的方法,其中,修改所述候选词的列表包括重新排列所述列表内 的一个或多个的所述候选词。11. 如权利要求1所述的方法,其中,修改所述候选词的列表包括将对应于条件概率的 一个或多个值分配给所述列表内的一个或多个的所述候选词。12. 如权利要求1所述的方法,其中,修改所述候选词的列表包括将一个或多个的所述 候选词大写。13. 如权利要求1所述的方法,其中,所接收的所述条件概率是基于对写入样本的分析。14. 一种计算机可读存储介质,所述计算机可读存储介质存储指令,所述指令在被计算 设备执行时使所述计算设备执行用于在输入栏中输入文本的操作,所述操作包括: 接收所述输入栏的上下文,其中,所述上下文包括由用户先前输入的数据; 通过触屏键盘接口接收对应于词的一部分(M)的用户输入(X),其中,所述词对应于包 括词的所述一部分(M)和另一部分(N)的输入; 基于对应于词的所述一部分(M)的所述用户输入(X),且在还未接收到所述部分(N)的 情况下,检索匹配所述用户输入(X)的候选词的列表; 基于所接收的所述上下文,为所述候选词的列表中的一个或多个词确定所述候选词具 有大于被大写的预定阈值的概率; 将在所述候选词的列表中确定的所述一个或多个词大写; 显示所述候选词的列表; 从显示的所述候选词的列表接收选择所述词的用户输入(Y);以及 在所述输入栏中输入所选择的所述词。15. 如权利要求14所述的计算机可读存储介质,其中,所述用户输入(Y)为下列项之一: 空格或标点符号、结束手势、和在所述候选词的列表内的选择。16. 如权利要求14所述的计算机可读存储介质,其中,所述上下文包括紧邻的先前输入 的词,且其中,所述操作还包括: 识别先前输入的词或词组的右上下文,所述右上下文包括在所述先前输入的词或词组 之后由所述用户输入的一个或多个词; 基于大于所述用户想用不同输入的预定义阈值的所确定的概率,确定应当修改所述先 前输入的词或词组;以及 基于对想用的所述不同输入的确定,修改所述先前输入的词或词组,其中,所述修改包 括改变以下项中的一者或多者:词拼法、语法、和标点。17. 如权利要求14所述的计算机可读存储介质,其中,通过将期望词型与分配给所述候 选词列表中的一个或多个的所述词的词型相比较,来确定所述概率。18. -种用于在输入栏中输入文本的系统,所述系统包括: 输入数据存储器,所述输入数据存储器配置成存储左上下文,所述上下文基于先前的 用户输入; 输入接口,所述输入接口配置成接收第一用户输入; 候选选择器,所述候选选择器配置成接收所述第一用户输入,且基于所述第一用户输 入选择匹配所述第一用户输入的候选词的列表; 候选列表修改器,所述候选列表修改器配置成: 基于所述左上下文接收所述候选列表和一个或多个条件概率;和 基于所述条件概率修改所述候选词的列表;以及 显示器,所述显示器配置成显示修改后的所述候选词的列表; 其中,所述输入接口还配置成接收第二用户输入,所述第二用户输入指示来自显示的 修改后的所述候选词的列表的词;以及 其中,所述输入数据存储器还配置成接收和存储所选择的所述候选词。19. 如权利要求18所述的系统,其中: 所述输入接口为虚拟键盘接口,以及 所述候选列表修改器还配置成通过将格式化添加到对应于大于预定阈值的条件概率 的一个或多个候选词而修改所述候选词的列表。20.如权利要求18所述的系统,其中,所述左上下文为来自所述输入数据存储器的由一 个或多个预定标点符号所圈定的一列先前有序输入的词。
【文档编号】G06F17/26GK105981005SQ201480075320
【公开日】2016年9月28日
【申请日】2014年12月12日
【发明人】西蒙·克斯顿, 肯·川卡, 伊森·R·巴福德, 大卫·J·凯儿, 唐尼·马凯瑞, 挂拉夫·谭盾, 厄兰·昂鲁, 温迪·班尼斯特
【申请人】纽昂斯通信有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1