从缓冲区进行字符串预测.pdf

上传人:n****g 文档编号:2236801 上传时间:2018-08-03 格式:PDF 页数:16 大小:1.24MB
返回 下载 相关 举报
摘要
申请专利号:

CN201380038761.X

申请日:

2013.07.19

公开号:

CN104487918A

公开日:

2015.04.01

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||专利申请权的转移IPC(主分类):G06F 3/023登记生效日:20170905变更事项:申请人变更前权利人:微软公司变更后权利人:微软技术许可有限责任公司变更事项:地址变更前权利人:美国华盛顿州变更后权利人:美国华盛顿州|||实质审查的生效IPC(主分类):G06F 3/023申请日:20130719|||公开

IPC分类号:

G06F3/023

主分类号:

G06F3/023

申请人:

微软公司

发明人:

T·尤斯达; J·特纳; S·候; K·欧伊勾

地址:

美国华盛顿州

优先权:

13/553,815 2012.07.20 US

专利代理机构:

上海专利商标事务所有限公司31100

代理人:

顾嘉运

PDF下载: PDF下载
内容摘要

在移动设备中,构成应用程序中的当前线程的字符串存储在缓冲区中。线程是在移动设备的一个用户和一个或多个其他用户之间发送的一系列通信,诸如文本消息系列或电子邮件系列。当用户输入文本以继续当前线程时,将所输入的文本的字符与存储在缓冲区中的字符串进行比较,具有所输入的文本作为前缀的字符串被选中并被作为字符串预测在软输入面板中向用户显示。可另选地,缓冲区中的字符串可以被用来增大用于选择字符串预测的词典或模型中的匹配的字符串的概率。

权利要求书

权利要求书
1.  一种方法,包括:
由计算设备存储多个字符串,其中,所述多个字符串与第一应用程序中 的线程相关联;
由所述计算设备接收第一字符,其中,所接收到的字符与所述第一应用 程序中的所述线程相关联;
基于所接收到的第一字符和所述由所述计算设备存储的多个字符串,生 成第一多个字符串预测,其中,每一个字符串预测都包括来自所存储的多个字 符串的字符串;
由所述计算设备提供所述第一多个字符串预测中的一个或多个字符串;
接收对由所述计算设备提供的所述第一多个字符串预测中的一个或多 个字符串中的一个的选择的指示;以及
响应于选择的所述指示,由所述第一计算设备,作为所述线程的一部分, 向所述第一应用程序提供所述选定的字符串。

2.  如权利要求1所述的方法,其特征在于,所述第一应用程序包括SMS (短消息服务)应用程序、电子邮件应用程序,或社交网络应用程序。

3.  如权利要求1所述的方法,其特征在于,所述多个字符串存储在缓冲区 中,并进一步包括:
接收所述第一应用程序不再活跃的指示;以及
响应于所述指示,清除所述缓冲区。

4.  如权利要求1所述的方法,其特征在于,进一步包括:
接收第二字符,其中,所述第二字符与第二应用程序相关联;
基于所述接收到的第二字符和所存储的多个字符串,生成第二多个字符串 预测;
提供所述第二多个字符串预测中的一个或多个字符串;
接收对所提供的所述第二多个字符串预测中的一个或多个字符串中的一 个的选择的指示;以及
响应于选择的所述指示,向所述第二应用程序提供所述选定的字符串。

5.  如权利要求1所述的方法,其特征在于,进一步包括:
基于所接收到的第一字符和预测模型,生成第二多个字符串预测,其中, 所述第二多个字符串预测中的每一个都包括字符串和置信度值;
从所述第二多个字符串预测中确定也在所存储的多个字符串中的字符 串;
增大所述第二多个字符串预测的包括所确定的字符串的所述字符串预 测的所述置信度值;以及
根据所述置信度值,提供所述第二多个字符串预测中的一个或多个字符 串。

6.  如权利要求5所述的方法,其特征在于,进一步包括基于所存储的多个 字符串,更新所述预测模型。

7.  一种系统,包括:
至少一个计算设备;
显示器;
缓冲区;以及
候选预测生成器,适用于:
接收活跃应用程序和线程的指示;
将与所述线程和所述应用程序相关联的多个字符串存储在所述缓冲区中;
接收与所述线程和所述应用程序相关联的字符;
基于所接收到的字符和所述缓冲区中的所存储的多个字符串,生成多个字 符串预测,其中,每一个字符串预测都包括来自所存储的多个字符串的字符串; 以及
在所述显示器上显示所述多个字符串预测中的一个或多个字符串。

8.  如权利要求7所述的系统,其特征在于,所述候选预测生成器进一步适 用于基于所存储的多个字符串,更新所述预测模型。

9.  如权利要求7所述的系统,其特征在于,所述应用程序包括SMS(短 消息服务)应用程序、社交网络应用程序、或电子邮件应用程序中的至少一个。

10.  如权利要求7所述的系统,其特征在于,所述候选预测生成器进一 步适用于:
接收所述应用程序不再活跃的指示;以及
响应于所述指示,清除所述缓冲区。

说明书

说明书从缓冲区进行字符串预测
背景
键入是移动设备上的许多场景的一部分,包括,例如,写文本消息、 写电子邮件、搜索联系人,以及键入URL(统一资源定位器)。在移动设 备上键入慢,并且使人烦。当使用屏幕上的软件键盘时,尤其如此。
对此问题的一个解决方案已知是软输入面板。在软输入面板中,屏幕 的一个区域基于到目前为止向文本输入字段输入的字符,显示建议的单词 预测。随着用户持续向该字段中输入字符,建议的单词变化。当用户看见 匹配他正在输入的单词的单词预测时,用户可以选择单词预测,并将选定 的单词置于文本输入字段,作为由用户输入的字符的替换。
通常,向用户示出的单词预测是通过将所输入的字符与词典中的单词 匹配,然后,基于每一个单词是用户打算输入的单词的似然率呈现匹配的 单词的经排序的子集,来生成的。似然率可以基于每一个匹配的单词被普 通大众使用的总体频率。
这样的用于提供单词预测的方法的一个缺点是,当选择单词预测时, 或当排序单词预测时,它未能考虑该用户,或其他用户当前或最近所使用 的单词或短语。例如,用户可能正在与另一用户进行关于最近的去Texas 旅行的短消息服务(SMS)或电子邮件谈话。当用户向文本输入字段输入 字符“t”时,可以向用户提供单词预测,诸如“the”、“their”,以及 “there”,因为它们以“t”开始,并且是英语中的高频单词。单词预测 “Texas”不被提供给用户,因为它既不匹配词典中的条目,也没有被排序 得足够高,尽管到目前为止它很可能被给予谈话的内容。
发明内容
在移动设备中,构成应用程序中的当前线程的字符串存储在缓冲区中。 线程是在移动设备的一个用户和一个或多个其他用户之间发送的一系列通 信,诸如文本消息系列或电子邮件系列。当用户输入文本以继续当前线程 时,将所输入的文本的字符与存储在缓冲区中的字符串进行比较,并且具 有所输入的文本作为前缀的字符串被选中并作为软输入面板中的字符串预 测,向用户显示。可另选地,缓冲区中的字符串可以被用来增大用于选择 字符串预测的词典或模型中的匹配的或从语义上相关的字符串的概率。
在一种实现中,字符串由计算设备存储。字符串与第一应用程序中的 线程相关联。第一字符由计算设备接收。接收到的字符与第一应用程序中 的线程相关联。基于接收到的第一字符和存储的字符串,生成第一多个字 符串预测。每一个字符串预测都包括来自存储的字符串中的一个字符串。 由计算设备提供第一多个字符串预测中的一个或多个字符串。由计算设备 接收对提供的一个或多个字符串中的一个的选择的指示。响应于选择的指 示,由第一计算设备,将选定的字符串作为线程的一部分提供给第一应用 程序。
在一种实现中,检索第一多个字符串。多个字符串与一个线程相关联。 检索词典。词典包括第二多个字符串,并且每一个字符串都具有相关联的 概率。由计算设备确定来自第二多个字符串的也在第一多个字符串中的一 个或多个字符串。对于每一个确定的字符串,增大词典中的与该字符串相 关联的概率。由计算设备接收字符。接收到的字符与线程相关联。基于接 收到的字符和与词典中的每一个字符串相关联的概率,选择来自词典的一 个或多个字符串。来自词典的选定的一个或多个字符串显示在计算设备的 显示器上。
提供本发明内容是为了以精简的形式介绍将在以下详细描述中进一步 描述的一些概念。本发明内容并不旨在标识所要求保护的主题的关键特征 或必要特征,也不旨在用于限制所要求保护的主题的范围。
附图简述
当结合附图阅读时,可以更好地了解前面的摘要,以及下面的对说明 性实施例的详细描述。为了公开各实施例,在图形中示出了各实施例的示 例结构;然而,各实施例不仅限于所公开的特定方法和所公开的手段。在 附图中:
图1是用于选择和呈现字符串预测的示例环境的例图;
图2是示例候选预测生成器的例图;
图3是用于提供字符串预测的方法的实现的操作流程;
图4是用于选择和显示一个或多个字符串的方法的实现的操作流程; 以及
图5示出了其中可以实现各示例实施例和各方面的示例性计算环境。
具体实施方式
图1是用于选择和呈现字符串预测的示例环境100的例图。环境100 可以包括多个计算设备115(例如,计算设备115a-n)。计算设备115可以 是各种计算设备,包括诸如手机、智能电话、便携式媒体播放器、游戏控 制台等等之类的移动设备。计算设备115可以通过网络180彼此进行通信。 网络180可以是各种网络类型,包括公用交换电话网(PSTN)、蜂窝电话 网络,以及分组交换网络(例如,因特网)。合适的计算设备115的示例 包括参考图5所描述的计算系统500。
计算设备115中的每一个都可以包括操作系统125以及用户界面120。 操作系统125可以包括各种已知的操作系统。计算设备的用户可以使用用 户界面120来向操作系统125输入一个或多个字符。用户界面120可以包 括各种界面,例如,包括软件键盘或硬件键盘。
计算设备115中的每一个都还可以进一步执行一个或多个应用程序 135(例如,应用程序135a-n)。应用程序135可以在应用层130中执行。 应用程序135可以包括,例如,电子邮件应用程序、短消息服务(SMS) 或文本应用程序、聊天应用程序、社交网络应用程序,以及字处理应用程 序。计算设备115可以使用应用程序135来交换基于文本的消息。例如, 每一个计算设备都可以执行SMS应用程序,并可以通过应用程序发送和接 收SMS消息。
计算设备115的用户可以通过用户界面120和操作系统125与应用程 序135进行交互。在一种实现中,用户可以通过用户界面120的软输入面 板输入字符。所输入的字符可以由操作系统125接收,并可以被提供给应 用程序135中的一个或多个。
如上文所描述的,一个字符一个字符地向用户界面120输入文本的过 程可能会使计算设备115的用户受挫。相应地,计算设备115还可以包括 候选预测生成器140。候选预测生成器140可以生成一个或多个字符串预 测。字符串预测可以包括候选预测生成器140预测用户打算输入到用户界 面120的字符串。字符串预测还可以包括字符串的置信度值。预测的字符 串可以包括一个或多个字符的任何序列,包括,但不仅限于,单词、短语、 句子、表情符号、标点符号或其他符号,或其组合。
如参考图2进一步描述的,字符串预测可以部分地基于与应用程序135 中的一个或多个的线程相关联的字符串。如此处所使用的线程可以是指两 个或更多用户之间的通过特定应用程序的相关的一系列通信。例如,一组 朋友可能通过电子邮件、SMS,或通过社交网络应用程序,进行谈话。作 为谈话的一部分来回发送的SMS消息、电子邮件,或社交网络消息可以被 视为线程。与线程相关联的字符串可以是,例如,来自构成线程的电子邮 件、SMS,或社交网络应用程序消息的文本。
在某些实现中,当用户加载或开始使用应用程序135中的一个时,候 选预测生成器140可以从与应用程序相关联的当前线程加载或检索字符串。 随着用户通过输入一个或多个字符,继续线程,线程的字符串可以被候选 预测生成器140用来基于所输入的字符,提供一个或多个字符串预测。字 符串预测的字符串可以是当前线程中所使用的字符串,字符串预测的置信 度值可以基于线程中的字符串的频率。
通过基于当前线程中所使用的单词和短语,生成字符串预测,而并非 只基于词典或模型,所生成的字符串预测不仅限于词典或模型中所使用的 单词和短语。此外,通过将所生成的字符串预测的置信度值基于当前线程 中的相关联的字符串的频率而非基于一般使用中的字符串的频率或概率, 置信度值可以更加准确地表示用户打算输入字符串预测的字符串的似然 率。
图2是示例候选预测生成器140的例图。如图所示,候选预测生成器 140可以包括多个组件,包括但不限于,缓冲区260和预测模型205。候选 预测生成器140的某些或全部组件可以通过图5中所示出的计算系统500 来实现。
候选预测生成器140可以从操作系统125接收当前应用程序135的指 示。例如,计算设备115中的一个的用户可以执行,或切换到诸如电子邮 件或SMS应用程序之类的应用程序135。
响应于指示,候选预测生成器140可以检索与应用程序135相关联的 线程220。线程220可以包括应用程序135的当前线程220,并可以被从应 用程序135直接检索,或可以由候选预测生成器140从存储器检索。例如, 候选预测生成器140可以存储各种应用程序135的当前线程220。
候选预测生成器140可以从检索到的线程提取字符串,并将所提取的 字符串放置在缓冲区260中。候选预测生成器140可以使用缓冲区260中 的字符串来生成一个或多个字符串预测215。与字符串预测相关联的置信度 值可以基于缓冲区260中的与字符串预测相关联的字符串的频率。
候选预测生成器140可以接收与当前线程220相关联的输入的文本 230。所输入的文本230可以包括一个或多个字符,并可以从与计算设备115 相关联的用户接收。所输入的文本230可以由用户输入到用户界面120的 用户界面元素中,诸如,例如,文本框。所输入的文本230可以是用户打 算作为线程220的一部分提供给应用程序135的字符串的一部分。
候选预测生成器140可以使用所输入的文本230和缓冲区260的内容 来生成一个或多个字符串预测215。在某些实现中,字符串预测215可以由 候选预测生成器140通过确定来自缓冲区260的具有所输入的文本230作 为前缀的字符串,来生成。可以基于,例如,缓冲区260中的字符串的频 率,确定所确定的字符串的置信度值。一般而言,字符串出现在缓冲区260 中的次数越多,确定的置信度值越大。候选预测生成器140还可以进一步 将每一个字符串的置信度值乘以与缓冲区260相关联的缩放因子。如下面 进一步描述的,缩放因子可以被用来比较从缓冲区260所生成的字符串和 使用一个或多个预测模型205所生成的字符串。
在某些实现中,甚至当用户持续提供输入的文本230时,候选预测生 成器140可以更新缓冲区260的内容,以反映任何新接收到的字符串。例 如,当用户正在在SMS应用程序中输入字符时,可以接收到线程220的新 文本消息。可以向缓冲区260添加来自新接收到的文本消息的任何字符串, 并可以使用它们来响应于所输入的文本230,生成字符串。
候选预测生成器140可以提供所生成的字符串预测215中的一个或多 个。在有许多字符串预测215的情况下,候选预测生成器140可以基于与 每一个字符串预测215相关联的置信度值,选择要提供哪些字符串预测 215。可以,例如,在用户界面120的软输入面板中,或其他用户界面元素 中,向用户显示所提供的字符串预测215的字符串。如果用户选择显示的 字符串,则可以将字符串作为给应用程序135的输入来提供,所述选定的 字符串可以成为线程220的一部分。相应地,候选预测生成器140可以向 缓冲区260中的字符串添加选定的字符串。
在某些实现中,除缓冲区260之外,候选字符串生成器140也可以使 用预测模型205来生成一个或多个字符串预测215。预测模型205可以包括 词典,并可以包括各种字符串(例如,单词或短语),以及每一个字符串 的概率。每一个字符串的概率,例如,可以反映每一个字符串在一般使用 中的流行度。概率可能是通过收集并分析在一个或多个线程220中对于一 个或多个应用程序135在某一时间段内由用户所提供的字符串来确定的, 或可以基于对来自报纸、杂志,或其他语言源的分析。可以使用其他类型 的模型。可以有多个预测模型205。例如,一个模型可以是如上文所描述的 词典,而另一模型可以基于用户输入的字符串以及所输入的字符串的频率。 类似地,如上文对于缓冲区260所描述的,每一个预测模型205都可以具 有表示其总体重要性的缩放因子。
在一种实现中,候选预测生成器140可以使用预测模型205,通过确 定来自模型205的具有所输入的文本230作为前缀的字符串,来基于所输 入的文本230生成字符串预测215。可以基于与特定模型205中的每一个字 符串相关联的概率,确定所确定的字符串的置信度值。候选预测生成器140, 对于每一个预测模型205,还可以进一步将预测模型205的所生成的字符串 的置信度值乘以与预测模型205相关联的缩放因子。
在某些实现中,候选字符串生成器140可以组合使用缓冲区260所生 成的字符串预测与由预测模型205所生成的字符串预测。例如,候选字符 串生成器140可以选择缓冲区260的顶部的字符串预测(即,具有通过缩 放因子调整的最高置信度值)和预测模型205的顶部字符串预测,并可以 组合选定的字符串预测。
在其他实现中,候选字符串生成器140可以使用缓冲区260中的字符 串(即,当前线程220的字符串)来调整或加权由预测模型205所生成的 字符串的概率。候选字符串生成器140可以确定预测模型205的也在缓冲 区260中的字符串。候选字符串生成器140可以增大预测模型205中的所 确定的字符串的概率。在预测模型205中增大字符串的概率的量可以取决 于缓冲区260中的字符串的频率。通过增大预测模型205中的字符串的概 率,由候选字符串生成器140提供包括该字符串的字符串预测的似然率增 大。可以由候选字符串生成器140向预测模型205添加来自缓冲区260的 不在预测模型205里的字符串。
在某些实现中,候选字符串生成器140也可以增大预测模型205中的 在语义上与缓冲区260中的字符串相关的字符串的概率。例如,如果缓冲 区包括字符串“New York”(纽约),则候选字符串生成器140可以增大 预测模型205中的诸如“Broadway”(百老汇)、“Empire State Building” (帝国大厦),以及“Grand Central Station”(中央车站)之类的相关字 符串的概率,甚至是在那些字符串不出现在缓冲区260中的情况下。
取决于实现,对预测模型205中的概率作出的调整,或向预测模型205 添加的任何字符串可以是临时的,或永久性的。对于临时调整,当应用程 序135关闭或继续或启动不同的线程220时,候选预测生成器140可以撤 消对预测模型205作出的调整。
例如,候选预测生成器140可以检测或接收来自操作系统125的用户 切换了应用程序135的指示。在检索与新的应用程序135相关联的线程220 之前,候选预测生成器140可以撤消对预测模型205的概率作出的调整, 或可以加载预测模型205的新的未调整的副本。
在某些实现中,并非调整预测模型205的概率,候选预测生成器140 可以基于缓冲区240中的字符串,调整使用预测模型205所生成的字符串 预测215的置信度值。当候选预测生成器140基于所输入的文本230,使用 预测模型205生成一组字符串预测215时,候选预测生成器140可以确定 所生成的字符串预测215的也在缓冲区260中的字符串。带有也在缓冲区 260中的字符串的字符串预测215可以具有它们的已调整的或增大的相关 联的置信度值,或可以选择它们以向用户显示而不管它们的相关联的置信 度值如何。
候选预测生成器140可以判断当前线程220或当前应用程序135不再 活跃,并响应于该判断,可以清除缓冲区260。例如,用户可能已经关闭与 当前线程相关联的应用程序135,或可能已经启动了新的线程220。通过清 除缓冲区260,前一线程220的字符串可能不再被用来基于输入的文本230 来生成字符串预测215。清除缓冲区260可以帮助防止不相关的字符串被包 括在字符串预测215中,也可以减轻与将字符串保留在缓冲区260中相关 联的隐私顾虑。
另选地或另外地,并非立即清除缓冲区260,候选预测生成器140可 以允许某些或全部字符串仍保留在缓冲区260中,甚至在用户创建新的线 程220,继续现有的线程220,或切换应用程序135的情况下。如可以理解 的,甚至在结束线程220(即,谈话)之后,用户仍可能提供线程220中所 使用的一个或多个字符串。例如,用户可能使用电子邮件应用程序135来 继续关于计划去巴塞罗那旅行的电子邮件谈话。在关闭电子邮件应用程序 135之后,用户可能使用web浏览应用程序135来搜索巴塞罗那的旅游名 胜,或可以使用SMS应用程序135来发送关于巴塞罗那的文本消息。如此, 缓冲区260的来自电子邮件应用程序的线程220的关于巴塞罗那的内容仍 可以为web浏览应用程序和SMS应用程序提供相关字符串预测215。通过 允许前一线程220的字符串仍保留在缓冲区260中,候选预测生成器140 可以继续基于相同或不同的应用程序中的前一线程的字符串,生成字符串 预测215。在这样的实现中,在经过某个时间量(例如,五分钟、十分钟, 一个小时、一天等等)之后,或在缓冲区260已满之后,可以清除缓冲区 260。
图3是用于提供字符串预测的方法300的实现的操作流程。方法300 可以通过,例如,计算设备115的候选预测生成器140来实现。
在301,存储与应用程序和线程相关联的多个字符串。多个字符串可 以通过候选预测生成器140存储在缓冲区260中。应用程序可以是各种应 用程序135中的任何一个,包括SMS、电子邮件,或社交网络应用程序。 线程220可以是在计算设备115的用户和使用应用程序的一个或多个其他 用户之间进行的一系列通信。例如,线程220可以是在计算设备的用户和 其他计算设备115的用户之间作为谈话的一部分进行的一系列电子邮件、 文本消息,或其他通信。多个字符串可以包括由用户在构成线程220的通 信中所生成的单词、短语,以及句子。
在某些实现中,候选预测生成器140可以检测到应用程序在活跃中, 可以将与活跃应用程序135的当前线程220相关联的多个字符串存储在缓 冲区260中。例如,候选预测生成器140可以接收来自操作系统125的应 用程序135在活跃中的指示。
在303接收字符。字符可以由候选预测生成器140从用户那里通过用 户界面120作为所输入的文本230接收。例如,用户可以使用软件键盘, 向文本字段中输入字符。字符可以是线程220的一部分,并可以是用户打 算作为线程220的一部分提供给应用程序135的字符串的前缀。
在305,基于接收到的字符和存储的多个字符串,生成多个字符串预 测。多个字符串预测可以包括字符串预测215,并可以由候选预测生成器 140使用接收到的字符和来自缓冲区260的线程220的多个字符串,来生成。 在某些实现中,字符串预测215中每一个都可以包括来自多个字符串中的 一个字符串,可以通过确定来自多个字符串中的包括接收到的字符作为前 缀的字符串来生成。字符串预测215中的每一个还可以进一步包括基于字 符串在多个字符串中的频率的置信度值。
在某些实现中,多个字符串预测215中的某些也可以通过候选预测生 成器140使用预测模型205来生成。预测模型205可以是词典,并可以包 括比缓冲区260更多数量的字符串。
在307,提供多个字符串预测中的一个或多个字符串。可以由候选预 测生成器140根据字符串预测215的置信度值提供一个或多个字符串。在 某些实现中,可以提供字符串预测215的具有最高置信度值的字符串。可 以通过,例如,在用户界面120的软输入面板中显示字符串来提供字符串。
在309,接收对提供的一个或多个字符串中的一个的选择的指示。可 以由操作系统125从用户界面120接收选择的指示,并可以将其提供给候 选预测生成器140。例如,用户可以选择或触摸用户界面120的软输入面板 中的字符串中的一个。
在311,作为线程的一部分,将选定的字符串作为给应用程序的输入 来提供。可以由候选预测生成器140,例如,作为线程225的一部分,将选 定的字符串提供到应用程序135。
在某些实现中,也可以由候选预测生成器140向缓冲区260中添加选 定的字符串。另外,还可以使用字符串来更新预测模型205。例如,如果在 预测模型205中存在选定的字符串,则可以由候选预测生成器140增大与 字符串相关联的概率或频率。如果选定的字符串不在预测模型205中,则 可以由候选预测生成器140添加它。
图4是用于选择和显示一个或多个字符串的方法400的实现的操作流 程。方法400可以,例如,通过计算设备115的候选预测生成器140来实 现。
在401,接收应用程序和线程的指示。可以由候选预测生成器140从 操作系统125接收应用程序135和线程220的指示。可以响应于用户打开 应用程序135,或以别的方式使应用程序135在计算设备115上活跃,来生 成指示。线程220可以是应用程序135的当前线程220。例如,在应用程序 135是SMS应用程序的情况下,线程220可以包括从应用程序135的用户 向另一用户发送的文本消息系列。
在403,检索与应用程序和线程相关联的多个字符串。可以由候选预 测生成器140检索多个字符串。多个字符串可以包括来自线程220的字符 串。可以从候选预测生成器140的缓冲区260中检索字符串,或可以由候 选预测生成器140从线程220解析。
在405,从存储器中检索词典。可以由候选预测生成器140检索词典。 词典可以包括多个字符串,每一个字符串都可以具有表示该字符串在一般 使用中出现的频率的相关联的概率。在某些实现中,词典可以包括预测模 型205。词典可以包括全局目录,或可以是应用程序135特定的。在某些实 现中,接收到的词典是副本。
在407,确定来自词典的也在多个字符串中的一个或多个字符串。可 以由候选预测生成器140通过将来自多个字符串的一个或多个字符串与词 典的字符串进行匹配,确定来自词典的一个或多个字符串。
对于确定的一个或多个字符串中的每一个,在409,在词典中增大字 符串的概率。可以由候选预测生成器140增大确定的一个或多个字符串的 概率。增大的概率可以是永久性的,或当接收到应用程序135已经关闭的 指示时,可以被丢弃。可另选地,增大的概率可以在应用程序135关闭之 后的某个时间段内保留。
在411,接收字符。字符可以是所输入的文本230,并可以由候选预测 生成器140通过文本框或其他用户界面120元素接收。例如,用户可能使 用软键盘向文本框中输入了字符。
在413,基于接收到的字符和与词典中的每一个字符串相关联的概率, 选择来自词典的一个或多个字符串。可以由候选预测生成器140,通过从词 典中选择具有最高概率的具有接收到的字符作为前缀的字符串,选择一个 或多个字符串。选定的一个或多个字符串以及它们的相关联的概率是字符 串预测215。
在415,显示选定的一个或多个字符串。由操作系统125在用户界面 120的软输入面板中显示选定的一个或多个字符串。
图5示出了其中可以实现各示例实施例和各方面的示例性计算环境。 计算系统环境仅为合适的计算环境的一个示例,并非旨在对使用范围或功 能提出任何限制。
可以使用很多其他通用和专用计算机系统、环境或配置。可以适用的 公知计算系统、环境和/或配置的示例包括但不限于个人计算机、服务器计 算机、手持或膝上型设备、多处理器系统、基于微处理器的系统、网络PC、 小型机、大型计算机、嵌入式系统、包括以上系统或设备的任一个的分布 式计算环境等等。
可以使用由计算机执行的诸如程序模块之类的计算机可执行指令。一 般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程 序、对象、组件、数据结构等。可以使用在其中任务由通过通信网络或其 他数据传输介质链接的远程处理设备执行的分布式计算环境。在分布式计 算环境中,程序模块及其他数据可以位于包括存储器存储设备在内的本地 和远程计算机存储介质中。
参考图5,用于实现此处所描述的各方面的示例性系统包括计算设备, 诸如计算系统500。在其最基本配置中,计算系统500通常包括至少一个处 理单元502和存储器504。取决于计算设备的确切配置和类型,存储器504 可以是易失性的(如随机存取存储器(RAM))、非易失性的(如只读存 储器(ROM)、闪存等等)或两种类型的某种组合。该最基本配置在图5 中由虚线506来示出。
计算系统500可具有附加特征/功能。例如,计算系统500可包括附加 存储(可移动和/或不可移动),包括但不限于磁盘、光盘或磁(光)带。 在图5中通过可移动存储508和不可移动存储510示出了这样的附加存储。
计算系统500通常包括各种计算机可读介质。计算机可读介质可以是 能由计算系统500访问的任何可用介质,而且包括易失性和非易失性介质、 可移动和不可移动介质。
计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程 序模块或其它数据之类的信息的任意方法或技术来实现的易失性和非易失 性、可移动和不可移动介质。存储器504、可移动存储器508和不可移动存 储器510都是计算机存储介质的示例。计算机存储介质包括,但不限于, RAM、ROM、电可擦除可编程只读存储器(EEPROM)、闪存或其他存储 器技术、CD-ROM、数字多功能盘(DVD)或其他光存储、磁带盒、磁带、 磁盘存储或其他磁性存储设备、或可用于存储所希望的信息且可以由计算 系统1200访问的任何其他介质。任何这样的计算机存储介质可以是计算系 统1200的一部分。
计算系统500可包含允许该设备与其它设备和/或接口通信的通信连接 512。计算系统500还可以具有诸如键盘(软件或硬件)、鼠标、笔、声音 输入接口、触摸接口等等之类的输入设备514。也可包括输出设备516,如 显示器、扬声器、打印机等等。所有这些装置在本领域中都是众所周知的, 因此不必在此详细讨论。
应该理解,此处所描述的各种技术可以结合硬件或软件或,在适当的 情况下,结合两者的组合来实现。因此,目前所公开的主题的方法和装置, 或其某些方面或部分,也可以以在有形介质(如软盘、CD-ROM、硬盘驱 动器,或任何其他机器可读存储介质)中实现的程序代码(即,指令)的 形式来实现,其中当程序代码被加载到诸如计算机之类的机器中并由它们 执行时,机器变为用于实施目前所公开的主题的装置。
虽然示例性实现可以在一个或多个独立计算机系统的上下文中引用使 用目前所公开的主题的各方面,但是,主题不受限制,而是可以与诸如网 络或分布式计算环境之类的任何计算环境一起实现。更进一步,目前所公 开的主题的各方面可以跨多个处理芯片或器件实现,并跨多个设备类似地 实行存储。这样的设备可以包括,例如,个人计算机、网络服务器,以及 手持式设备。
尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理 解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反, 上述具体特征和动作是作为实现权利要求的示例形式公开的。

从缓冲区进行字符串预测.pdf_第1页
第1页 / 共16页
从缓冲区进行字符串预测.pdf_第2页
第2页 / 共16页
从缓冲区进行字符串预测.pdf_第3页
第3页 / 共16页
点击查看更多>>
资源描述

《从缓冲区进行字符串预测.pdf》由会员分享,可在线阅读,更多相关《从缓冲区进行字符串预测.pdf(16页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 (43)申请公布日 (21)申请号 201380038761.X(22)申请日 2013.07.1913/553,815 2012.07.20 USG06F 3/023(2006.01)(71)申请人 微软公司地址 美国华盛顿州(72)发明人 T尤斯达 J特纳 S候K欧伊勾(74)专利代理机构 上海专利商标事务所有限公司 31100代理人 顾嘉运(54) 发明名称从缓冲区进行字符串预测(57) 摘要在移动设备中,构成应用程序中的当前线程的字符串存储在缓冲区中。线程是在移动设备的一个用户和一个或多个其他用户之间发送的一系列通信,诸如文本消息系列或电子邮件系列。当用户输入文本以。

2、继续当前线程时,将所输入的文本的字符与存储在缓冲区中的字符串进行比较,具有所输入的文本作为前缀的字符串被选中并被作为字符串预测在软输入面板中向用户显示。可另选地,缓冲区中的字符串可以被用来增大用于选择字符串预测的词典或模型中的匹配的字符串的概率。(30)优先权数据(85)PCT国际申请进入国家阶段日2015.01.20(86)PCT国际申请的申请数据PCT/US2013/051178 2013.07.19(87)PCT国际申请的公布数据WO2014/015205 EN 2014.01.23(51)Int.Cl.(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书2页 说明书8页 。

3、附图5页(10)申请公布号 CN 104487918 A(43)申请公布日 2015.04.01CN 104487918 A1/2 页21.一种方法,包括 :由计算设备存储多个字符串,其中,所述多个字符串与第一应用程序中的线程相关联;由所述计算设备接收第一字符,其中,所接收到的字符与所述第一应用程序中的所述线程相关联 ;基于所接收到的第一字符和所述由所述计算设备存储的多个字符串,生成第一多个字符串预测,其中,每一个字符串预测都包括来自所存储的多个字符串的字符串 ;由所述计算设备提供所述第一多个字符串预测中的一个或多个字符串 ;接收对由所述计算设备提供的所述第一多个字符串预测中的一个或多个字符串。

4、中的一个的选择的指示 ;以及响应于选择的所述指示,由所述第一计算设备,作为所述线程的一部分,向所述第一应用程序提供所述选定的字符串。2.如权利要求 1 所述的方法,其特征在于,所述第一应用程序包括 SMS( 短消息服务 )应用程序、电子邮件应用程序,或社交网络应用程序。3.如权利要求 1 所述的方法,其特征在于,所述多个字符串存储在缓冲区中,并进一步包括 :接收所述第一应用程序不再活跃的指示 ;以及响应于所述指示,清除所述缓冲区。4.如权利要求 1 所述的方法,其特征在于,进一步包括 :接收第二字符,其中,所述第二字符与第二应用程序相关联 ;基于所述接收到的第二字符和所存储的多个字符串,生成第。

5、二多个字符串预测 ;提供所述第二多个字符串预测中的一个或多个字符串 ;接收对所提供的所述第二多个字符串预测中的一个或多个字符串中的一个的选择的指示 ;以及响应于选择的所述指示,向所述第二应用程序提供所述选定的字符串。5.如权利要求 1 所述的方法,其特征在于,进一步包括 :基于所接收到的第一字符和预测模型,生成第二多个字符串预测,其中,所述第二多个字符串预测中的每一个都包括字符串和置信度值 ;从所述第二多个字符串预测中确定也在所存储的多个字符串中的字符串 ;增大所述第二多个字符串预测的包括所确定的字符串的所述字符串预测的所述置信度值 ;以及根据所述置信度值,提供所述第二多个字符串预测中的一个或。

6、多个字符串。6.如权利要求 5 所述的方法,其特征在于,进一步包括基于所存储的多个字符串,更新所述预测模型。7.一种系统,包括 :至少一个计算设备 ;显示器 ;缓冲区 ;以及候选预测生成器,适用于 :权 利 要 求 书CN 104487918 A2/2 页3接收活跃应用程序和线程的指示 ;将与所述线程和所述应用程序相关联的多个字符串存储在所述缓冲区中 ;接收与所述线程和所述应用程序相关联的字符 ;基于所接收到的字符和所述缓冲区中的所存储的多个字符串,生成多个串预测,其中,每一个字符串预测都包括来自所存储的多个字符串的字符串 ;以及在所述显示器上显示所述多个字符串预测中的一个或多个字符串。8.如。

7、权利要求 7 所述的系统,其特征在于,所述候选预测生成器进一步适用于基于所存储的多个字符串,更新所述预测模型。9.如权利要求 7 所述的系统,其特征在于,所述应用程序包括 SMS( 短消息服务 ) 应用程序、社交网络应用程序、或电子邮件应用程序中的至少一个。10.如权利要求 7 所述的系统,其特征在于,所述候选预测生成器进一步适用于 :接收所述应用程序不再活跃的指示 ;以及响应于所述指示,清除所述缓冲区。权 利 要 求 书CN 104487918 A1/8 页4从缓冲区进行字符串预测0001 背景0002 键入是移动设备上的许多场景的一部分,包括,例如,写文本消息、写电子邮件、搜索联系人,以及。

8、键入 URL( 统一资源定位器 )。在移动设备上键入慢,并且使人烦。当使用屏幕上的软件键盘时,尤其如此。0003 对此问题的一个解决方案已知是软输入面板。在软输入面板中,屏幕的一个区域基于到目前为止向文本输入字段输入的字符,显示建议的单词预测。随着用户持续向该字段中输入字符,建议的单词变化。当用户看见匹配他正在输入的单词的单词预测时,用户可以选择单词预测,并将选定的单词置于文本输入字段,作为由用户输入的字符的替换。0004 通常,向用户示出的单词预测是通过将所输入的字符与词典中的单词匹配,然后,基于每一个单词是用户打算输入的单词的似然率呈现匹配的单词的经排序的子集,来生成的。似然率可以基于每一。

9、个匹配的单词被普通大众使用的总体频率。0005 这样的用于提供单词预测的方法的一个缺点是,当选择单词预测时,或当排序单词预测时,它未能考虑该用户,或其他用户当前或最近所使用的单词或短语。例如,用户可能正在与另一用户进行关于最近的去 Texas 旅行的短消息服务 (SMS) 或电子邮件谈话。当用户向文本输入字段输入字符“t”时,可以向用户提供单词预测,诸如“the”、“ ir”,以及“there”,因为它们以“t”开始,并且是英语中的高频单词。单词预测“Texas”不被提供给用户,因为它既不匹配词典中的条目,也没有被排序得足够高,尽管到目前为止它很可能被给予谈话的内容。发明内容0006 在移动设。

10、备中,构成应用程序中的当前线程的字符串存储在缓冲区中。线程是在移动设备的一个用户和一个或多个其他用户之间发送的一系列通信,诸如文本消息系列或电子邮件系列。当用户输入文本以继续当前线程时,将所输入的文本的字符与存储在缓冲区中的字符串进行比较,并且具有所输入的文本作为前缀的字符串被选中并作为软输入面板中的字符串预测,向用户显示。可另选地,缓冲区中的字符串可以被用来增大用于选择字符串预测的词典或模型中的匹配的或从语义上相关的字符串的概率。0007 在一种实现中,字符串由计算设备存储。字符串与第一应用程序中的线程相关联。第一字符由计算设备接收。接收到的字符与第一应用程序中的线程相关联。基于接收到的第一。

11、字符和存储的字符串,生成第一多个字符串预测。每一个字符串预测都包括来自存储的字符串中的一个字符串。由计算设备提供第一多个字符串预测中的一个或多个字符串。由计算设备接收对提供的一个或多个字符串中的一个的选择的指示。响应于选择的指示,由第一计算设备,将选定的字符串作为线程的一部分提供给第一应用程序。0008 在一种实现中,检索第一多个字符串。多个字符串与一个线程相关联。检索词典。词典包括第二多个字符串,并且每一个字符串都具有相关联的概率。由计算设备确定来自第二多个字符串的也在第一多个字符串中的一个或多个字符串。对于每一个确定的字符串,增大词典中的与该字符串相关联的概率。由计算设备接收字符。接收到的。

12、字符与线程说 明 书CN 104487918 A2/8 页5相关联。基于接收到的字符和与词典中的每一个字符串相关联的概率,选择来自词典的一个或多个字符串。来自词典的选定的一个或多个字符串显示在计算设备的显示器上。0009 提供本发明内容是为了以精简的形式介绍将在以下详细描述中进一步描述的一些概念。本发明内容并不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。0010 附图简述0011 当结合附图阅读时,可以更好地了解前面的摘要,以及下面的对说明性实施例的详细描述。为了公开各实施例,在图形中示出了各实施例的示例结构 ;然而,各实施例不仅限于所公开的特定方法和。

13、所公开的手段。在附图中 :0012 图 1 是用于选择和呈现字符串预测的示例环境的例图 ;0013 图 2 是示例候选预测生成器的例图 ;0014 图 3 是用于提供字符串预测的方法的实现的操作流程 ;0015 图 4 是用于选择和显示一个或多个字符串的方法的实现的操作流程 ;以及0016 图 5 示出了其中可以实现各示例实施例和各方面的示例性计算环境。具体实施方式0017 图 1 是用于选择和呈现字符串预测的示例环境 100 的例图。环境 100 可以包括多个计算设备115(例如,计算设备115a-n)。计算设备115可以是各种计算设备,包括诸如手机、智能电话、便携式媒体播放器、游戏控制台等。

14、等之类的移动设备。计算设备 115 可以通过网络180彼此进行通信。网络180可以是各种网络类型,包括公用交换电话网(PSTN)、蜂窝电话网络,以及分组交换网络 ( 例如,因特网 )。合适的计算设备 115 的示例包括参考图5 所描述的计算系统 500。0018 计算设备 115 中的每一个都可以包括操作系统 125 以及用户界面 120。操作系统125 可以包括各种已知的操作系统。计算设备的用户可以使用用户界面 120 来向操作系统125 输入一个或多个字符。用户界面 120 可以包括各种界面,例如,包括软件键盘或硬件键盘。0019 计算设备115中的每一个都还可以进一步执行一个或多个应用程。

15、序135(例如,应用程序135a-n)。应用程序135可以在应用层130中执行。应用程序135可以包括,例如,电子邮件应用程序、短消息服务 (SMS) 或文本应用程序、聊天应用程序、社交网络应用程序,以及字处理应用程序。计算设备115可以使用应用程序135来交换基于文本的消息。例如,每一个计算设备都可以执行 SMS 应用程序,并可以通过应用程序发送和接收 SMS 消息。0020 计算设备 115 的用户可以通过用户界面 120 和操作系统 125 与应用程序 135 进行交互。在一种实现中,用户可以通过用户界面 120 的软输入面板输入字符。所输入的字符可以由操作系统 125 接收,并可以被提。

16、供给应用程序 135 中的一个或多个。0021 如上文所描述的,一个字符一个字符地向用户界面 120 输入文本的过程可能会使计算设备 115 的用户受挫。相应地,计算设备 115 还可以包括候选预测生成器 140。候选预测生成器 140 可以生成一个或多个字符串预测。字符串预测可以包括候选预测生成器 140预测用户打算输入到用户界面 120 的字符串。字符串预测还可以包括字符串的置信度值。预测的字符串可以包括一个或多个字符的任何序列,包括,但不仅限于,单词、短语、句子、说 明 书CN 104487918 A3/8 页6表情符号、标点符号或其他符号,或其组合。0022 如参考图 2 进一步描述的。

17、,字符串预测可以部分地基于与应用程序 135 中的一个或多个的线程相关联的字符串。如此处所使用的线程可以是指两个或更多用户之间的通过特定应用程序的相关的一系列通信。例如,一组朋友可能通过电子邮件、SMS,或通过社交网络应用程序,进行谈话。作为谈话的一部分来回发送的 SMS 消息、电子邮件,或社交网络消息可以被视为线程。与线程相关联的字符串可以是,例如,来自构成线程的电子邮件、SMS,或社交网络应用程序消息的文本。0023 在某些实现中,当用户加载或开始使用应用程序 135 中的一个时,候选预测生成器 140 可以从与应用程序相关联的当前线程加载或检索字符串。随着用户通过输入一个或多个字符,继续。

18、线程,线程的字符串可以被候选预测生成器 140 用来基于所输入的字符,提供一个或多个字符串预测。字符串预测的字符串可以是当前线程中所使用的字符串,字符串预测的置信度值可以基于线程中的字符串的频率。0024 通过基于当前线程中所使用的单词和短语,生成字符串预测,而并非只基于词典或模型,所生成的字符串预测不仅限于词典或模型中所使用的单词和短语。此外,通过将所生成的字符串预测的置信度值基于当前线程中的相关联的字符串的频率而非基于一般使用中的字符串的频率或概率,置信度值可以更加准确地表示用户打算输入字符串预测的字符串的似然率。0025 图 2 是示例候选预测生成器 140 的例图。如图所示,候选预测生。

19、成器 140 可以包括多个组件,包括但不限于,缓冲区 260 和预测模型 205。候选预测生成器 140 的某些或全部组件可以通过图 5 中所示出的计算系统 500 来实现。0026 候选预测生成器 140 可以从操作系统 125 接收当前应用程序 135 的指示。例如,计算设备 115 中的一个的用户可以执行,或切换到诸如电子邮件或 SMS 应用程序之类的应用程序 135。0027 响应于指示,候选预测生成器140可以检索与应用程序135相关联的线程220。线程 220 可以包括应用程序 135 的当前线程 220,并可以被从应用程序 135 直接检索,或可以由候选预测生成器 140 从存储。

20、器检索。例如,候选预测生成器 140 可以存储各种应用程序135 的当前线程 220。0028 候选预测生成器 140 可以从检索到的线程提取字符串,并将所提取的字符串放置在缓冲区 260 中。候选预测生成器 140 可以使用缓冲区 260 中的字符串来生成一个或多个字符串预测 215。与字符串预测相关联的置信度值可以基于缓冲区 260 中的与字符串预测相关联的字符串的频率。0029 候选预测生成器 140 可以接收与当前线程 220 相关联的输入的文本 230。所输入的文本 230 可以包括一个或多个字符,并可以从与计算设备 115 相关联的用户接收。所输入的文本 230 可以由用户输入到用。

21、户界面 120 的用户界面元素中,诸如,例如,文本框。所输入的文本 230 可以是用户打算作为线程 220 的一部分提供给应用程序 135 的字符串的一部分。0030 候选预测生成器 140 可以使用所输入的文本 230 和缓冲区 260 的内容来生成一个或多个字符串预测215。在某些实现中,字符串预测215可以由候选预测生成器140通过确定来自缓冲区 260 的具有所输入的文本 230 作为前缀的字符串,来生成。可以基于,例如,说 明 书CN 104487918 A4/8 页7缓冲区 260 中的字符串的频率,确定所确定的字符串的置信度值。一般而言,字符串出现在缓冲区 260 中的次数越多,。

22、确定的置信度值越大。候选预测生成器 140 还可以进一步将每一个字符串的置信度值乘以与缓冲区 260 相关联的缩放因子。如下面进一步描述的,缩放因子可以被用来比较从缓冲区260所生成的字符串和使用一个或多个预测模型205所生成的字符串。0031 在某些实现中,甚至当用户持续提供输入的文本230时,候选预测生成器140可以更新缓冲区 260 的内容,以反映任何新接收到的字符串。例如,当用户正在在 SMS 应用程序中输入字符时,可以接收到线程 220 的新文本消息。可以向缓冲区 260 添加来自新接收到的文本消息的任何字符串,并可以使用它们来响应于所输入的文本 230,生成字符串。0032 候选预。

23、测生成器 140 可以提供所生成的字符串预测 215 中的一个或多个。在有许多字符串预测 215 的情况下,候选预测生成器 140 可以基于与每一个字符串预测 215 相关联的置信度值,选择要提供哪些字符串预测215。可以,例如,在用户界面120的软输入面板中,或其他用户界面元素中,向用户显示所提供的字符串预测 215 的字符串。如果用户选择显示的字符串,则可以将字符串作为给应用程序 135 的输入来提供,所述选定的字符串可以成为线程 220 的一部分。相应地,候选预测生成器 140 可以向缓冲区 260 中的字符串添加选定的字符串。0033 在某些实现中,除缓冲区 260 之外,候选字符串生。

24、成器 140 也可以使用预测模型205 来生成一个或多个字符串预测 215。预测模型 205 可以包括词典,并可以包括各种字符串 ( 例如,单词或短语 ),以及每一个字符串的概率。每一个字符串的概率,例如,可以反映每一个字符串在一般使用中的流行度。概率可能是通过收集并分析在一个或多个线程 220中对于一个或多个应用程序 135 在某一时间段内由用户所提供的字符串来确定的,或可以基于对来自报纸、杂志,或其他语言源的分析。可以使用其他类型的模型。可以有多个预测模型 205。例如,一个模型可以是如上文所描述的词典,而另一模型可以基于用户输入的字符串以及所输入的字符串的频率。类似地,如上文对于缓冲区 。

25、260 所描述的,每一个预测模型 205 都可以具有表示其总体重要性的缩放因子。0034 在一种实现中,候选预测生成器 140 可以使用预测模型 205,通过确定来自模型205的具有所输入的文本230作为前缀的字符串,来基于所输入的文本230生成字符串预测215。可以基于与特定模型 205 中的每一个字符串相关联的概率,确定所确定的字符串的置信度值。候选预测生成器 140,对于每一个预测模型 205,还可以进一步将预测模型 205 的所生成的字符串的置信度值乘以与预测模型 205 相关联的缩放因子。0035 在某些实现中,候选字符串生成器 140 可以组合使用缓冲区 260 所生成的字符串预测。

26、与由预测模型 205 所生成的字符串预测。例如,候选字符串生成器 140 可以选择缓冲区260的顶部的字符串预测(即,具有通过缩放因子调整的最高置信度值)和预测模型205的顶部字符串预测,并可以组合选定的字符串预测。0036 在其他实现中,候选字符串生成器 140 可以使用缓冲区 260 中的字符串 ( 即,当前线程 220 的字符串 ) 来调整或加权由预测模型 205 所生成的字符串的概率。候选字符串生成器 140 可以确定预测模型 205 的也在缓冲区 260 中的字符串。候选字符串生成器 140 可以增大预测模型 205 中的所确定的字符串的概率。在预测模型 205 中增大字符串的概率的。

27、量可以取决于缓冲区 260 中的字符串的频率。通过增大预测模型 205 中的字符串的概率,说 明 书CN 104487918 A5/8 页8由候选字符串生成器 140 提供包括该字符串的字符串预测的似然率增大。可以由候选字符串生成器 140 向预测模型 205 添加来自缓冲区 260 的不在预测模型 205 里的字符串。0037 在某些实现中,候选字符串生成器 140 也可以增大预测模型 205 中的在语义上与缓冲区260中的字符串相关的字符串的概率。例如,如果缓冲区包括字符串“New York”(纽约 ),则候选字符串生成器 140 可以增大预测模型 205 中的诸如“Broadway”( 。

28、百老汇 )、“Empire State Building”( 帝国大厦 ),以及“Grand Central Station”( 中央车站 ) 之类的相关字符串的概率,甚至是在那些字符串不出现在缓冲区 260 中的情况下。0038 取决于实现,对预测模型205中的概率作出的调整,或向预测模型205添加的任何字符串可以是临时的,或永久性的。对于临时调整,当应用程序 135 关闭或继续或启动不同的线程 220 时,候选预测生成器 140 可以撤消对预测模型 205 作出的调整。0039 例如,候选预测生成器 140 可以检测或接收来自操作系统 125 的用户切换了应用程序 135 的指示。在检索与。

29、新的应用程序 135 相关联的线程 220 之前,候选预测生成器 140可以撤消对预测模型 205 的概率作出的调整,或可以加载预测模型 205 的新的未调整的副本。0040 在某些实现中,并非调整预测模型205的概率,候选预测生成器140可以基于缓冲区 240 中的字符串,调整使用预测模型 205 所生成的字符串预测 215 的置信度值。当候选预测生成器 140 基于所输入的文本 230,使用预测模型 205 生成一组字符串预测 215 时,候选预测生成器 140 可以确定所生成的字符串预测 215 的也在缓冲区 260 中的字符串。带有也在缓冲区260中的字符串的字符串预测215可以具有它。

30、们的已调整的或增大的相关联的置信度值,或可以选择它们以向用户显示而不管它们的相关联的置信度值如何。0041 候选预测生成器 140 可以判断当前线程 220 或当前应用程序 135 不再活跃,并响应于该判断,可以清除缓冲区 260。例如,用户可能已经关闭与当前线程相关联的应用程序135,或可能已经启动了新的线程 220。通过清除缓冲区 260,前一线程 220 的字符串可能不再被用来基于输入的文本 230 来生成字符串预测 215。清除缓冲区 260 可以帮助防止不相关的字符串被包括在字符串预测 215 中,也可以减轻与将字符串保留在缓冲区 260 中相关联的隐私顾虑。0042 另选地或另外地。

31、,并非立即清除缓冲区 260,候选预测生成器 140 可以允许某些或全部字符串仍保留在缓冲区260中,甚至在用户创建新的线程220,继续现有的线程220,或切换应用程序 135 的情况下。如可以理解的,甚至在结束线程 220( 即,谈话 ) 之后,用户仍可能提供线程 220 中所使用的一个或多个字符串。例如,用户可能使用电子邮件应用程序135来继续关于计划去巴塞罗那旅行的电子邮件谈话。在关闭电子邮件应用程序135之后,用户可能使用 web 浏览应用程序 135 来搜索巴塞罗那的旅游名胜,或可以使用 SMS 应用程序 135 来发送关于巴塞罗那的文本消息。如此,缓冲区 260 的来自电子邮件应用。

32、程序的线程 220 的关于巴塞罗那的内容仍可以为 web 浏览应用程序和 SMS 应用程序提供相关字符串预测 215。通过允许前一线程 220 的字符串仍保留在缓冲区 260 中,候选预测生成器 140 可以继续基于相同或不同的应用程序中的前一线程的字符串,生成字符串预测215。在这样的实现中,在经过某个时间量(例如,五分钟、十分钟,一个小时、一天等等)之后,或在缓冲区260 已满之后,可以清除缓冲区 260。0043 图 3 是用于提供字符串预测的方法 300 的实现的操作流程。方法 300 可以通过,说 明 书CN 104487918 A6/8 页9例如,计算设备 115 的候选预测生成器。

33、 140 来实现。0044 在 301,存储与应用程序和线程相关联的多个字符串。多个字符串可以通过候选预测生成器 140 存储在缓冲区 260 中。应用程序可以是各种应用程序 135 中的任何一个,包括 SMS、电子邮件,或社交网络应用程序。线程 220 可以是在计算设备 115 的用户和使用应用程序的一个或多个其他用户之间进行的一系列通信。例如,线程 220 可以是在计算设备的用户和其他计算设备 115 的用户之间作为谈话的一部分进行的一系列电子邮件、文本消息,或其他通信。多个字符串可以包括由用户在构成线程 220 的通信中所生成的单词、短语,以及句子。0045 在某些实现中,候选预测生成器。

34、 140 可以检测到应用程序在活跃中,可以将与活跃应用程序 135 的当前线程 220 相关联的多个字符串存储在缓冲区 260 中。例如,候选预测生成器 140 可以接收来自操作系统 125 的应用程序 135 在活跃中的指示。0046 在 303 接收字符。字符可以由候选预测生成器 140 从用户那里通过用户界面 120作为所输入的文本 230 接收。例如,用户可以使用软件键盘,向文本字段中输入字符。字符可以是线程 220 的一部分,并可以是用户打算作为线程 220 的一部分提供给应用程序 135的字符串的前缀。0047 在 305,基于接收到的字符和存储的多个字符串,生成多个字符串预测。多。

35、个字符串预测可以包括字符串预测 215,并可以由候选预测生成器 140 使用接收到的字符和来自缓冲区 260 的线程 220 的多个字符串,来生成。在某些实现中,字符串预测 215 中每一个都可以包括来自多个字符串中的一个字符串,可以通过确定来自多个字符串中的包括接收到的字符作为前缀的字符串来生成。字符串预测 215 中的每一个还可以进一步包括基于字符串在多个字符串中的频率的置信度值。0048 在某些实现中,多个字符串预测 215 中的某些也可以通过候选预测生成器 140 使用预测模型 205 来生成。预测模型 205 可以是词典,并可以包括比缓冲区 260 更多数量的字符串。0049 在 3。

36、07,提供多个字符串预测中的一个或多个字符串。可以由候选预测生成器 140根据字符串预测 215 的置信度值提供一个或多个字符串。在某些实现中,可以提供字符串预测 215 的具有最高置信度值的字符串。可以通过,例如,在用户界面 120 的软输入面板中显示字符串来提供字符串。0050 在309,接收对提供的一个或多个字符串中的一个的选择的指示。可以由操作系统125 从用户界面 120 接收选择的指示,并可以将其提供给候选预测生成器 140。例如,用户可以选择或触摸用户界面 120 的软输入面板中的字符串中的一个。0051 在 311,作为线程的一部分,将选定的字符串作为给应用程序的输入来提供。可。

37、以由候选预测生成器 140,例如,作为线程 225 的一部分,将选定的字符串提供到应用程序135。0052 在某些实现中,也可以由候选预测生成器140向缓冲区260中添加选定的字符串。另外,还可以使用字符串来更新预测模型 205。例如,如果在预测模型 205 中存在选定的字符串,则可以由候选预测生成器 140 增大与字符串相关联的概率或频率。如果选定的字符串不在预测模型 205 中,则可以由候选预测生成器 140 添加它。0053 图 4 是用于选择和显示一个或多个字符串的方法 400 的实现的操作流程。方法说 明 书CN 104487918 A7/8 页10400 可以,例如,通过计算设备 。

38、115 的候选预测生成器 140 来实现。0054 在 401,接收应用程序和线程的指示。可以由候选预测生成器 140 从操作系统 125接收应用程序135和线程220的指示。可以响应于用户打开应用程序135,或以别的方式使应用程序 135 在计算设备 115 上活跃,来生成指示。线程 220 可以是应用程序 135 的当前线程 220。例如,在应用程序 135 是 SMS 应用程序的情况下,线程 220 可以包括从应用程序135 的用户向另一用户发送的文本消息系列。0055 在 403,检索与应用程序和线程相关联的多个字符串。可以由候选预测生成器 140检索多个字符串。多个字符串可以包括来自。

39、线程 220 的字符串。可以从候选预测生成器140 的缓冲区 260 中检索字符串,或可以由候选预测生成器 140 从线程 220 解析。0056 在 405,从存储器中检索词典。可以由候选预测生成器 140 检索词典。词典可以包括多个字符串,每一个字符串都可以具有表示该字符串在一般使用中出现的频率的相关联的概率。在某些实现中,词典可以包括预测模型 205。词典可以包括全局目录,或可以是应用程序 135 特定的。在某些实现中,接收到的词典是副本。0057 在407,确定来自词典的也在多个字符串中的一个或多个字符串。可以由候选预测生成器 140 通过将来自多个字符串的一个或多个字符串与词典的字符。

40、串进行匹配,确定来自词典的一个或多个字符串。0058 对于确定的一个或多个字符串中的每一个,在 409,在词典中增大字符串的概率。可以由候选预测生成器 140 增大确定的一个或多个字符串的概率。增大的概率可以是永久性的,或当接收到应用程序 135 已经关闭的指示时,可以被丢弃。可另选地,增大的概率可以在应用程序 135 关闭之后的某个时间段内保留。0059 在 411,接收字符。字符可以是所输入的文本 230,并可以由候选预测生成器 140通过文本框或其他用户界面 120 元素接收。例如,用户可能使用软键盘向文本框中输入了字符。0060 在 413,基于接收到的字符和与词典中的每一个字符串相关。

41、联的概率,选择来自词典的一个或多个字符串。可以由候选预测生成器140,通过从词典中选择具有最高概率的具有接收到的字符作为前缀的字符串,选择一个或多个字符串。选定的一个或多个字符串以及它们的相关联的概率是字符串预测 215。0061 在415,显示选定的一个或多个字符串。由操作系统125在用户界面120的软输入面板中显示选定的一个或多个字符串。0062 图 5 示出了其中可以实现各示例实施例和各方面的示例性计算环境。计算系统环境仅为合适的计算环境的一个示例,并非旨在对使用范围或功能提出任何限制。0063 可以使用很多其他通用和专用计算机系统、环境或配置。可以适用的公知计算系统、环境和 / 或配置的示例包括但不限于个人计算机、服务器计算机、手持或膝上型设备、多处理器系统、基于微处理器的系统、网络 PC、小型机、大型计算机、嵌入式系统、包括以上系统或设备的任一个的分布式计算环境等等。0064 可以使用由计算机执行的诸如程序模块之类的计算机可执行指令。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。可以使用在其中任务由通过通信网络或其他数据传输介质链接的远程处理设备执行的分布式计算环境。在分布式计算环境中,程序模块及其他数据可以位于包括存储器存储设备说 明 书CN 104487918 A。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1