《从缓冲区进行字符串预测.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。