具有文本歧义消解功能的手持电子设备的制作方法

文档序号:6553587阅读:104来源:国知局
专利名称:具有文本歧义消解功能的手持电子设备的制作方法
技术领域
本发明通常涉及手持电子设备,更具体地,涉及一种具有缩减的
键盘和输入歧义消解(disambiguation)功能的手持电子设备,还涉及 一种相关方法。
背景技术
已知多种手持电子设备。例如,这些手持电子设备的示例包括个 人数据助理(PDA)、手持计算机、双向寻呼机、蜂窝电话等。虽然许 多手持电子设备是不与其他设备进行通信的独立设备,但是许多手持 电子设备也具有无线通信能力的特征。
这些手持电子设备通常是便携式的,因而具有相对紧凑的配置, 其中按键和其他输入结构经常在特定情况下执行多种功能,或可以具 有所分配的多种样式或特征。随着技术发展,手持电子设备做得具有 越来越小的形状因数,却具有越来越多的内置应用和特征。实际上, 小键盘的按键只能縮减到一定小的尺寸,否则按键将变得不可用。但 是,为了能够输入文本,小键盘必须能够输入诸如罗马字母表的所有 26个字母、以及适当的标点和其他符号。
一种在小空间中设置多个字母的方法是提供"缩减键盘",其中向 任何给定的按键分配多个字母、符号和/或数字等。例如,按键式电话 包括缩减小键盘,其中设置了12个按键,其中10个按键上有数字, 并向10个按键中的8个分配有罗马字母。例如,按键之一包括数字"2" 以及字母"A"、 "B"和"C"。其他已知的縮减键盘包括按键、字母、符 号、数字等的其他设置。由于用户对这种按键的单次激励可能旨在表 示字母"A"、 "B"和"C"之一,也可能旨在表示数字"2",所以输入通常是模糊的输入,因此需要特定类型的歧义消解功能,以有助于文本输 入目的。
为了使用户能够使用任意给定按键上的多个字母、数字等,提供 了多种键击解译系统。例如,"多次敲击"系统允许用户通过以与所需 字符在按键上的位置等同的次数按下同一按键,基本上无歧义地指定 按键上的特定字符。例如,在前述包括字母"ABC"的电话按键上,用 户希望指定字母"C",则用户按下按键三次。虽然这些多次敲击系统 对于其使用目的通常是有效的,但是与最终输出的字符数目相比,这 些系统需要相对大量的按键输入。
另一种典型的键击解译系统可以包括按键和弦(key chording), 存在有多种类型的按键和弦。例如,通过连续按下两个按键,或通过 在按下且保持第一个按键的同时按下第二个按键,可以输入特定字符。 另一种典型的键击解译系统可以是"按下-保持/按下-释放"解译功能, 其中如果按下给定按键并立即释放,则该按键给出第一结果,如果按 下该按键并保持短时间,则该按键给出第二结果。虽然这些系统同样 对于其使用目的通常是有效的,但是这些系统还是具有其自身独有的 缺点。
已被采用的另一种典型的键击解译系统是基于软件的文本歧义消 解功能。在这种系统中,用户典型地按下分配有一个或多个字符的按 键,通常是针对每个所需字母,按下每个按键一次,而歧义消解软件 尝试预测想要的输入。已提出了多个此类系统,虽然这些系统对于其 使用目的通常是有效的,但是仍存在不足。
需要提供一种改进的具有縮减键盘的手持电子设备,其中縮减键 盘致力于模仿QWERTY键盘体验或其他特定键盘体验。还希望这种 改进的手持电子设备配置有足够的特征,以能够相对容易地执行文本 输入和其他任务。

发明内容
考虑到前述内容, 一种改进手持电子设备包括縮减QWERTY键 盘形式的小键盘,并配备有歧义消解软件。当用户输入键击时,该设 备提供缺省输出且用户可以从中选择的多个变量的形式的输出。该输 出主要基于频率,即用户想要的特定输出的可能性,但是该设备的多 种特征还提供附加的变量,这些变量不只是基于频率的,而是由该设 备上设置的多种逻辑结构提供的。该设备能够在文本输入期间进行编 辑,并提供使歧义消解功能适于给用户提供定制体验的学习功能。在 某些预定情况下,可以选择性地禁用歧义消解功能,而提供备选的键 击解译系统。另外,该设备能够通过显示小键盘的特殊〈NEXT〉按键 的图形,使用户能够步进地选择变量而通常无需改变用户的手在设备 上的位置,从而方便了变量的选择。
因此,本发明的一方面提供了改进手持电子设备及其相关方法,
该手持电子设备包括试图模拟QWERTY键盘体验或另一特定键盘体 验的縮减键盘。
本发明另一方面提供了提供文本输入歧义消解功能的改进手持电 子设备及其相关方法。
本发明另一方面提供了采用歧义消解功能的改进手持电子设备及 其相关方法,其中所述歧义消解功能响应于模糊的输入,根据相对频 率来提供多个建议输出。
本发明另一方面提供了提供多个建议输出的改进手持电子设备及 其相关方法,所述建议输出可以是基于相对频率的和/或可以产生于位 于设备上的多种逻辑结构。
本发明另一方面提供了根据多种学习特征和其他特征实现了用户 的定制体验的改进手持电子设备及其相关方法。
本发明另一方面提供了采用歧义消解功能的改进手持电子设备及 其相关方法,在某些预定情况下,可以选择性地禁用所述歧义消解功 能。
本发明另一方面提供了改进手持电子设备及其相关方法,其中所 述手持电子设备包括使变量的选择相对容易的输入装置。
本发明另一方面提供了改进的手持电子设备及其相关方法,它们 采用歧义消解功能,以对来自缩减QWERTY键盘或其他键盘的文本 输入进行歧义消解,并允许对文本输入进行编辑。


结合附图阅读以下对优选实施例的描述,可以全面理解本发明, 其中
图1是根据本发明的改进的手持电子设备的俯视图2是图1的改进的手持电子设备的示意性描绘;
图2a是图2的改进的手持电子设备的部分示意性描绘;
图3a和3b是描绘可以在图1的手持电子设备上执行的歧义消解
功能的特定方案的示例流程图4是描绘可以在手持电子设备上执行的歧义消解功能的特定方
案的另一示例流程图,通过该方案可以向用户提供特定输出变量;
图5a和5b是描绘可以在手持电子设备上执行的学习方法的特定
方案的另一示例流程图6是描绘可以在手持电子设备上提供多种显示格式的方法的特
定方案的另一示例流程图7是文本输入操作期间的示例输出;
图8是在文本输入操作的另一部分期间的另一示例输出;
图9是在文本输入操作的另一部分期间的另一示例输出;
图IO是在文本输入操作的另一部分期间的另一示例输出;
图11是在另一文本输入操作期间手持电子设备上的示例输出;以

图12是在已禁用手持电子设备的歧义消解功能时的示例中可以 提供的示例输出。
在整个说明书中,类似附图标记表示类似部分。
具体实施例方式
在图1中大体示出了并在图2中示意性地描绘出了改进的手持电 子设备4。示例手持电子设备4包括外壳6,外壳6上放置有处理器单 元,该处理器单元包括输入装置8、输出装置12、处理器16、存储器 20和至少第一例程。例如而非限制性地,处理器16可以是微处理器
(pP),并响应于来自输入装置8的输入,向输出装置12提供输出信 号。处理器16还与存储器20接口。在美国专利No.6,452,588和 No.6,489,950中包括有手持电子设备的示例,将其一并引入作为参考。
如从图1可理解的,输入装置8包括小键盘24和拇指轮32。如 下文将详细描述的,小键盘24呈縮减QWERTY键盘的典型形式,包 括用作输入组件的多个按键28。但是要注意,小键盘24可以具有其 他配置,例如AZERTY键盘、QWERTZ键盘或其他键盘设置,不论 是当前己知或未知的,或是縮减或未縮减的。在这点上,在键盘、小 键盘或其他输入组件设置的上下文中,"縮减"及其变体应该广义地表 示如下设置输入组件的至少一个分配有给定集合内的多个字符(例 如,罗马字母集合中的多个字母),因而输入组件的所述至少一个的激 励预期结果产生模糊不清。
在这点上,如下文将更加详细地论述的,有利地,手持电子设备 4的系统结构组织成可独立于小键盘24的特定布局来操作。因此,可 以与近乎任何小键盘布局结合来采用手持电子设备4的系统结构,而 基本上不需要对系统结构进行任何有意义的改变。还要注意,在此提 出的一些特征可用在縮减键盘或未縮减键盘上、或两者上。
按键28放置在外壳6的正面上,拇指轮32放置在外壳6的侧面。 拇指轮32可以用作另一输入组件,并且可以如箭头34所示地双向旋 转,以向处理器16提供选择输入,并可以沿通常如箭头38所示的朝 向外壳6的方向被按下,以向处理器16提供另一选择输入。
在小键盘24的按键28之中,有〈NEXP键40和〈ENTER〉键44。 可以按下〈NEXT〉键40,以向处理器16提供选择输入,并提供与拇 指轮32的旋转输入所提供的输入基本相同的选择输入。因为〈NEXT〉 键40设置在小键盘24的多个其他按键28的邻近,所以用户在文本输 入操作期间,可以向处理器16提供选择输入,而基本上无需将手从小 键盘24移开。如下文将详细描述的,〈NEXT〉键40附加并有利地包 括放置在其上的图形42,在特定情况下,输出装置12还在其上显示 所显示的图形46,以将〈NEXT〉键40识别为能够向处理器16提供选 择输入的。在这点上,输出装置12所显示的图形46与〈NEXT〉键上
的图形42基本相似,由此将〈NEXT〉键40识别为能够向处理器16提
供需要的选择输入。
如图1中进一步可见的,按键28中的许多按键包括布置在其上的 多个字符48。如在此采用的,"多个"及其变体应该广义地表示任何数 量,包括数量l,在这里,在特定情况下,还可以表示数量0。在小键 盘24的典型描述中,按键28中的许多按键包括两个字符,例如包括 分配给该按键的第一字符52和第二字符56。要理解,"字符"应该广 义地理解为包括字母、数字、符号等,还可以包括表意字符及其组成 部分等。
小键盘24的按键28之一包括作为其字符48的字母"Q"和"W", 相邻按键28包括作为其字符48的字母"E"和"R"。可见,虽然按键28 中的许多按键包括两个字符28,但是小键盘24的按键28上的字符48 排列大体上是QWERTY设置。
输出装置12包括其上可以提供输出64的显示器60。图1的显示 器60上描绘了示例输出64。输出64包括文本组成部分68和变量组 成部分72。变量组成部分72包括缺省部分76和变量部分80。显示器 还包括插入记号(caret) 84,通常用于示出将在哪里接收来自输入装 置8的下一输入。
输出64的文本组成部分68在显示器60上正输入文本的位置处, 提供对输出64的缺省部分76的描述。变量组成部分72通常放置在文 本组成部分68的附近,并且除缺省建议输出76之外,还提供对多种 备选文本选择的描述,即对缺省建议输出76的备选项的描述,这些备 选项是响应于按键28的按键激励的输入序列,由输入歧义消解功能建 议的。
如下文将详细描述的,缺省部分76是由歧义消解功能建议的,作 为对用户提供的模糊输入的最有可能的歧义消解解译。变量部分80 包括预定数量的对同一模糊输入的备选建议解译,如果需要,用户可 以从中选择。典型地,在变量组成部分72中邻近变量部分80处设置 所显示的图形46,尽管如此,要理解,在不背离本发明构思的前提下, 所显示的图形46可以按照其他方式,设置在其他位置。还要注意,示
例变量部分80在此示出为在缺省部分76下面垂直延伸,但是要理解, 在不背离本发明构思的前提下,可以提供其他多种排列方式。
另外,在小键盘24的按键28中,还有可以设置用于删除文本输 入的〈DELETE〉键86。如下文将详细描述的,〈DELETE〉键86还可 以用于向处理器16提供替换输入,以供歧义消解功能使用。
图2A中示意性地描绘了存储器20。存储器20可以是多种类型的 内部和/或外部存储介质之一,例如而非限制性地,RAM、 ROM、 EPROM、 EEPROM等,这些存储介质以如计算机的内部存储区的形 式来提供用于数据存储的存储寄存器,它们可以是易失性存储器或非 易失性存储器。存储器20还包括通常由数字22示出的用于数据处理 的多个例程。例程22可以是多种形式之一,例如而非限制性地,软件、 固件等。如下文将详细描述的,例程22包括作为应用程序的前述歧义 消解功能,以及其他例程。
从图2A可理解,存储器20还包括在多个表、集合、列表和/或其 他形式中存储和/或组织的数据。具体地,存储器20包括类属单词列 表88、新单词数据库92和频率学习数据库96。存储器20的多个区内 存储有多个语言对象100和频率对象104。通常,语言对象100中每 一个都与关联频率对象104相关联。语言对象100包括多个单词对象 108和多个N-gram对象112。单词对象108通常代表语言中的完整单 词或存储在存储器22中的常规单词。例如,如果存储器中存储的语言 是英语,则每个单元对象108通常代表英语语言中的单词,或代表常 规单词。
与基本上每个单词对象108相关联的是具有频率值的频率对象 104,所述频率值指示由单词对象108代表的给定单词在相关语言中的 相对频率。在这点上,类属单词列表88包括单词对象108及其关联频 率对象104的语料库(corpus),单词对象108及其关联频率对象104 共同代表在例如给定语言的给定本国语中的多种单词及其相对频率。 可以按照多种方式来推导出类属单词列表88,例如,通过分析多个文 本和其他语言资源来确定语言资源内的多个单词、以及多个单词在语 言资源内出现的相对概率,即相对频率。
类属单词列表88内存储的N-gmm对象112是相关语言中的短字 符串,例如,典型的长度是l到3个字符,并典型地代表相关语言中 的单词片断,尽管如此,N-gram对象112中的一些本身可以是单词。 但是,就N-gram对象112也是相关语言中的单词来说,相同单词可 能会分离地存储,作为类属单词列表88内的单词对象108。如这里采 用的,表达"串"及其变体应该广义地表示具有一个或多个字符或组成 部分的对象,并可以表示完整的单词、单词片断、常规单词或表达等 中的任何一个。
在手持电子设备4的本典型实施例中,N-gram对象112包括
1- gram对象(即长度为一个字符的串对象)、2-gram对象(即长度为 两个字符的串对象)、以及3-gram对象(即长度为三个字符的串对象), 所有这些被统称作N-gram 112。实质上,类属单词列表88中的每个 N-gmm对象112相似地与类属单词列表88内存储的关联频率对象104 相关联,但是与给定的N-gram对象112相关联的频率对象104具有 频率值,该频率值指示在相关语言的任意单词内的任意位置处存在由 特定N-gmm对象112代表的字符串的相对概率。N-gram对象112及 其关联频率对象104是类属单词列表88的语料库的一部分,并以与单 词对象108及其关联频率对象104的获得方式相似的形式获得,尽管 如此,在获得N-gram对象112时执行的分析将会略微不同,这是因 为该分析将涉及对多个单词内的多个字符串的分析,而不是主要依赖 于给定单词的相对出现。
当示例语言是英语时,手持电子设备4的本典型实施例包括26 个l-gram的N-gram对象112,即一个l-gram对象用于英语所基于的 罗马字母表中26个字母中每一个;还包括676个(即26的平方个)
2- gram的N-gmm对象112,代表罗马字母表内26个字母的每一个两 字母的排列。
N-gram对象112还包括特定数量的3-gram N-gram对象112,主
要是在相关语言中具有相对高的频率的那些3-gmm对象。考虑到数据 存储大小,并且因为2-gmm N-gram对象112已能够提供与相关语言 有关的大量信息,所以手持电子设备4的典型实施例包括比罗马字母
表的26个字母的所有三字母排列少的三字母排列。如下文将详细描述
的,N-gmm对象112及其关联频率对象104提供可以归因于字符串的 频率数据,对于该字符串,无法识别或还未识别相应的单词对象108; 该频率数据典型地用作后退数据源,虽然情况不必定如此。
在本典型实施例中,语言对象100和频率对象104实质上完好地 保持在类属单词列表88中,意味着在类属单词列表88内,基本语言 语料库实质上保持不变,下文所描述的学习功能由手持电子设备4提 供,并结合通常存储在存储器20中其他位置处的其他对象进行操作, 例如,其他位置包括新单词数据库92和频率学习数据库96。
新单词数据库92和频率学习数据库96存储附加单词对象108及 关联频率对象104,以向用户提供定制体验,其中用户相对更频繁使 用的单词等将与比类属单词列表88中可能反映的频率更高的频率值 相关联。更具体地,新单词数据库92包括用户定义的、通常无法在类 属单词列表88的单词对象108中找到的单词对象108。新单词数据库 92中的每个单词对象108具有与之关联的、也存储在新单词数据库92 中的关联频率对象104。频率学习数据库96存储单词对象108及其关 联频率对象104,该关联频率对象104指示用户以比类属单词列表88 中可能反映的频率更高的频率使用这些单词。这样,新单词数据库92 和频率学习数据库96提供两种学习功能,即,它们共同提供学习新单 词的能力、以及学习已知单词的变化频率值的能力。
图3a和3b以示例形式描绘了手持电子设备4的歧义消解功能的 特定方案的一般操作。其他特征、功能等在别处示出并描述。
在204检测输入,该输入可以是对于输入装置8的任何部分的任 何类型的激励或其他操作。例如,典型的输入可以包括对其上具有多 个字符48的按键28的激励,或对输入装置8的任何其他类型的激励 或操作。
当在204检测到输入时,在208复位定时器。下文中将更加详细 地描述定时器的使用。
然后,在212,歧义消解功能确定当前输入是否是操作性输入, 例如选择输入、定界符输入、移动输入、替换输入或不构成对其上具
有多个字符48的按键28的激励的任何其他输入。如果在212确定输 入不是操作性输入,则在216,通过将该输入添加到可以包括或尚未 包括输入的当前输入序列中,来继续处理。
在204检测到的多个输入用于产生输入序列,针对这些输入序列 将执行歧义消解功能。在每个"会话"中,使用对其上具有多个字符48 的按键28的每个激励,创建输入序列。因为输入序列典型地由对其上 具有多个字符48的按键28的至少一个激励组成,所以输入序列将是 模糊不清的。例如,当完成单词时,当前会话结束,发起新的会话。
在任何给定会话期间,随着按键28的每个相继激励,在手持电子 设备4上逐渐创建输入序列。具体地, 一旦在任何给定会话期间检测 到定界符输入,则终止该会话,并发起新的会话。将由对具有多个关 联字符48的按键28之一的激励所产生的每个输入依次添加到当前输 入序列中。在给定会话期间,随着输入序列变长,通常使用按键28 的每个激励,即输入,针对整个输入序列执行歧义消解功能。换言之, 在给定会话内,歧义消解功能尝试用多个按键28的每个相继激励,将 变长的输入序列歧义消解为单元。
如图3a中的216所示, 一旦将代表对分配有多个相关字符48的 按键28之一的最近激励的当前输入添加到当前会话的当前输入序列 中,则在220,歧义消解功能实质上产生分配给在产生该输入序列的 过程中所激励的多个按键28的字符48的所有排列。在这点上,"排列" 表示受按键28的激励顺序限制的、可以由每个所激励的按键28的字 符48产生的多个串。将输入序列中的字符的多种排列用作前缀对象。
例如,如果当前会话的当前输入序列是按键"AS"和"OP"的模糊输 入,当考虑激励按键28的顺序时,这两个按键28的每一个的第一字 符52和第二字符56的多种排列将是"SO"、 "SP"、 "AP"和"AO",其 中每一个是在220处相对于当前输入序列而产生的前缀对象。如下文 将详细解释的,歧义消解功能试图针对每个前缀对象,识别该前缀对 象可能是其前缀的单词对象108之一。
对于每个产生的前缀对象,在224,参考存储器20,如果可能, 针对每个前缀对象,识别与该前缀对象相对应的存储器20中的单词对
象108之一,这意味着由该前缀对象代表的字母序列可能是所识别的 单词对象108的前缀,或者实质上与整个单词对象108相同。在这点
上,要识别的单词对象108是最高频率单词对象108。即,歧义消解 功能试图识别与该前缀对象相对应的、并与频率对象104相关联的单 词对象108,其中该频率对象104具有比与对应于该前缀对象的其他 单词对象108相关联的其他频率对象104的任何一个更高的频率值。
要注意,在这点上,类属单词列表88中的单词对象108通常组织 在与多个单词的头两个字母相对应的数据表中。例如,与前缀"CO" 相关联的数据表包括诸如"CODE"、 "COIN"、 "COMMUNICATION" 等的所有单词。根据任意给定数据表内的单词对象108的数量,数据 表还可以包括子数据表,其中用三个字符或更长的前缀来组织单词对 象108。继续前述示例,例如,如果"CO"数据表包括多于256个单词 对象108,则"CO"数据表还包括与最频繁出现的三字符前缀相对应的 单词对象108的一个或多个子数据表。例如,因而"CO"数据表还可以 包括"COM"子数据表和"CON"子数据表。如果子数据表包括多于预定 数目的单词对象108,例如,数量256,则子数据表可以进一步包括子 数据表,例如可以根据四字母前缀组织的子数据表。要注意,前述单 词对象108的数量256与存储器20的一个字节内可以存储的最大数值 相对应。
由此,在224,当每个前缀对象要用于识别对应的单词对象108 时,例如此时的前缀对象是"AP",则参考"AP"数据表。因为"AP"数据 表中的所有单词对象108将与前缀对象"AP"相对应,所以识别出"AP" 数据表中的单词对象108,该单词对象108与具有比"AP"数据表中的 其他频率对象104的任何一个相对更高的频率值的频率对象104相关 联。接着,将所识别的单词对象108及其关联频率对象104存储在结 果寄存器中,该结果寄存器用作所产生的前缀对象与存储器20的内容 的多种比较的结果。
要注意,前缀对象中的一个或多个、或者可能是全部,将是存储 器20中未识别的对应单词对象108的前缀对象。这些前缀对象被认为 是孤生(orphan)前缀对象,将它们独立存储或保留,以便将来可能
的使用。在这点上,要注意,例如如果用户试图输入新单词,或者例 如如果用户执行了错误键入,没有单词与该错误键入的输入相对应, 则前缀对象中的许多或全部可能变为孤生对象。
一旦在224获得了结果,则在22S,歧义消解功能确定是否应该 产生人为变量(artificial variant)。为了确定是否需要人为变量,在228 的过程分路到230,即图4中大体示出并以数字304开始的人为变量 过程。然后,在308,歧义消解功能确定结果中的前缀对象中的任何 一个是否与当前按键输入的检测之前的缺省输出76相对应。如果结果 中的前缀对象与先前的缺省输出相对应,则表示当前输入序列与单词 对象108相对应,并且必然地,在当前会话的先前歧义消解周期内, 先前的缺省输出也与单词对象108相对应。
下一步分析是在310确定是否由于选择输入而使先前缺省输出成 为缺省输出,例如下文将详细论述的图3b的254处的可能引起标志设 置的选择输入。在先前缺省输出不是选择输入的结果的情况下,不需 要人为变量,过程在312返回到232处的主过程。但是,如果在310 确定先前缺省输出是选择输入的结果,则在316产生人为变量。
更具体地,在316产生的人为变量的每一个包括先前缺省输出, 外加分配给当前输入的按键28的字符48之一。这样,如果当前输入 的按键28具有两个字符,即第一字符52和第二字符56,则在316产 生两个人为变量。人为变量之一将包括先前缺省输出外加第一字符 52。另一人为变量将包括先前缺省输出外加第二字符56。
但是,如果在308确定结果中的前缀对象都不与先前缺省输出相 对应,则下一步在314必须确定先前缺省输出是否在当前会话的先前 歧义消解周期中与单词对象108相对应。如果对于314处的询问的答 案是否定的,则在318仍然必须确定是否由于可能引起标志设置的选 择输入而使先前缺省输出成为缺省输出。在先前缺省输出不是选择输 入的结果的情况下,不需要人为变量,过程在312返回到232处的主 过程。但是,如果在318确定先前缺省输出是选择输入的结果,则在 316产生人为变量。
另一方面,如果对于314处的询问的答案是肯定的,则表示先前
缺省输出已与单词对象相对应,但是对于当前输入,与当前输入相结 合的先前缺省输出不再与任何单词对象108相对应,从而在316再次 产生人为变量。
在316处产生人为变量之后,该方法在320确定该结果是否包括 任何前缀对象。如果不包括,则在312,处理返回232处的主过程。 但是,如果在320确定该结果包括至少第一前缀对象,则表示当前输 入序列与单词对象108相对应,处理转移到324,在此创建附加人为 变量。具体地,识别该结果的前缀对象,该前缀对象是与在该结果中 具有其他频率对象104之中的相对最高频率值的频率对象104相关联 的,以及通过从所识别的前缀对象中删除最末字符,并用产生所识别 前缀对象最末字符48的当前输入的同一按键28上的对等字符48来替 代所删除的最末字符,以创建人为变量。在特定按键28分配有多于两 个字符48的情况下,每个对等字符48将用于产生附加的人为变量。
一旦在228识别出需要人为变量,并如图4所示和如上所述,已 产生这些人为变量,则处理在232继续,在232,从该结果中删除与 相对较低的频率值相关联的复制单词对象108。例如,如下文将具体 论述的,这种复制单词对象108可以由频率学习数据库96产生。如果 该结果中的单词对象108与人为变量之一相匹配,则因为该人为变量 将被分配有输出64中的优选地位,可能处于比已识别的任何单词对象 108更加优选的位置,所以通常将从结果中去除单词对象108及其关 联频率对象104。
一旦已在232去除了复制单词对象108及关联频率对象104,则 在236,按照频率值的降序,在输出集合中排列剩余的前缀对象。也 可以将上述孤生前缀对象添加到输出集合中,但是在比找到的相应单 词对象108的任何前缀对象的频率值相对更低的频率值的位置处。如 果已创建了人为变量,则还有必要确保将人为变量放置在输出集合中 的优选位置上。要理解,可以但不是必须的,给人为变量赋予优选位 置,即向其分配比该结果的前缀对象相对更高的优先级或频率。
如果在240确定已设置了标志,表示用户已通过表达选择输入或 通过移动输入的替换输入,执行了选择输入,则认为缺省输出76是"锁
定"的,表示直到该会话结束,所选变量都将是缺省前缀。如果在240
确定已设置了标志,则处理将前进到244,在此,如果需要,将改变 输出集合的内容,以将包括所选前缀对象的输出设置为缺省输出76, 无论它是与单词对象108相对应,还是人为变量。在这点上,要理解, 在会话期间,可以设置标志附加次数,在这种情况下,与之后的标志 复位相关联的所选前缀变成"锁定"的缺省输出76,直到该会话结束, 或直到检测到另一选择输入。
然后,处理在248继续,到达输出步骤,此后,如上所述地产生 输出64。更具体地,在250,处理前进到通常在图6中示出并在下文 中描述的子系统。之后,处理在检测到附加输入的204处继续。另一 方面,如果在240确定还未设置标志,则处理直接到达248,而不在 244对输出集合的内容进行改变。
可以配置手持电子设备4,从而暂时停用包括在输出64中但未利 用下一输入选择的任意孤生前缀对象。这可以仅限于出现在变量部分 80中的孤生前缀对象,或可以应用于输出64中任何位置的孤生前缀 对象。手持电子设备4还可以配置用于在类似的情况下类似地暂时停 用人为变量。这种暂时停用的原因在于,如果适合,每个这种孤生前 缀对象和/或人为变量可能衍生与下一输入的按键28上的字符48的数 量相等的多个子代(offspring)孤生前缀对象。即,每个子代将包括 父辈孤生前缀对象或人为变量加下一输入的按键28的字符48之一。 因为孤生前缀对象和人为变量实质上不与单词对象108相对应,所以 从父辈孤生前缀对象和人为变量等衍生的子代对象将同样不与单词对 象108相对应。如下文将解译的,因为暂时停用的孤生前缀对象和/ 或人为变量稍后可以作为衍生的孤生前缀对象和/或人为变量的父辈 再次出现,所以相比于完全删除的孤生前缀对象和/或人为变量,可以 认为将这些孤生前缀对象和/或人为变量暂时停用。
如果在212确定检测到的输入是操作性输入,则继续处理以确定 该操作性输入的特定性质。例如,如果在252确定当前输入是选择输 入,则处理在254继续。在254,将输出64缺省部分76的单词对象 108及其关联频率对象104、以及由选择输入所选择的变量输出80的 部分的单词对象108及其关联频率对象104存储在临时学习数据寄存
器中。另外,设置标志。接着,处理返回到204处的对附加输入的检
如果在260确定输入是定界符输入,则处理在264继续,在264, 终止当前会话,并在266,将处理转移到如图5a的404处所示的学习 功能子系统。例如,定界符输入可以包括〈SPACE〉键116的激励, 这可以输入定界符符号并在单词结尾处添加空格;〈ENTER〉键44的 激励,这可以相似地输入定界符符号并输入空格;以及如箭头38所指 示的拇指轮32的平移,这可以输入定界符输入,而不会额外输入空格。
在408,首先确定在260检测到定界符符号时的缺省输出是否与 存储器20中的单词对象108匹配。如果不匹配,则表示缺省输出是用 户创建的输出,应该将其添加到新单词数据库92,以便将来使用。在 这种情况下,处理前进到412,在412,将缺省输出存储在新单词数据 库92中,作为新单词对象108。另外,在新单词数据库92中存储频 率对象104,并将其与前述新单词对象108相关联。给予该新频率对 象104相对高的频率值,典型地在可能频率值的预定范围的前四分之 一或三分之一内。
在这点上,给予频率对象104的绝对频率值通常在0到65,535的 范围中。最大值代表可以在存储器20的两个字节内存储的最大数。尤 其因为新单词是用户使用的,并且可能被再次使用,所以向存储在新 单词数据库92中的新频率对象104分配这个范围的前四分之一或三分 之一内的绝对频率值。
对于频率对象104,还要注意,在诸如前述"CO"数据表之类的给 定数据表中,只针对数据表内具有最高频率值的频率对象104来存储 绝对频率值。同一数据表中的其他所有频率对象104具有存储为相对 前述最大绝对频率值归一化的百分比值的频率值。即,在识别出给定 数据表内具有最高频率值的频率对象104之后,给同一数据表中的其 他所有频率对象104分配绝对最大值的百分比,该百分比代表特定频 率对象104的相对较小的绝对频率值与前述最高值频率对象104的绝 对频率值之比。有利地,这种百分比值可以存储在存储器的单个字节
内,从而节省了手持电子设备4内的存储空间。
当创建了新单词对象108和新频率对象104,并将其存储在新单
词数据库92内时,处理转移到420,在420,学习过程终止。接着, 处理返回在204的主过程。
如果在408确定缺省输出76中的单词对象108与存储器20内的 单词对象108匹配,则处理在416继续,在416,确定是否已设置了 前述标志,诸如在检测到选择输入、替换输入或移动输入时发生的标 志设置操作。如果结果是还未设置标志,则表示用户还未表达变量前 缀对象优先于缺省前缀对象,从而不需要进行频率学习。在这种情况 下,处理在420继续,在420,学习过程终止。接着,处理在254返 回主过程。
但是,如果在416确定已设置了标志,则处理器20从临时学习数 据寄存器中检索最近保存的缺省和变量单词对象108,以及它们的关 联频率对象104。接着在428,确定缺省和变量单词对象108先前是否 成为频率学习操作的主题。例如,可以通过确定变量单词对象108及 其关联频率对象104是否是从频率学习数据库96中获得的,来进行上 述确定。如果缺省和变量单词对象108先前未成为频率学习操作的主 题,则处理在432继续,在432,将变量单词对象108存储在频率学 习数据库96中,并产生修改的频率对象104,该频率对象104具有比 先前与变量单词对象108相关联的频率对象104的频率值更大的频率 值。在该示例情况下,即缺省单词对象108和变量单词对象108经历 第一频率学习操作,例如,可以给予修改的频率对象104如下频率值 该频率值等于先前与变量单词对象108相关联的频率对象104的频率 值以及两个频率值之差的一半的和,这两个频率值分别是与缺省单词 对象108相关联的频率对象104的频率值、以及先前与变量单词对象 108相关联的频率对象104的频率值。当在频率学习数据库96中存储 了变量单词对象108和修改的频率对象104时,处理在420继续,在 420,学习过程终止,处理在254返回主过程。
如果在428确定缺省单词对象108和变量单词对象108先前成为 过频率学习操作的主题,则处理继续到436,在436,将比与缺省单词
对象108相关联的频率对象104的频率值更高的频率值给予所修改的
频率对象104。在频率学习数据库96中存储了变量单词对象108和修 改的频率对象104之后,处理继续到420,在420,学习过程终止,处 理在254返回主过程。
对于学习功能,还要注意,学习功能还检测缺省单词对象108和 变量单词对象104是否都是从频率学习数据库96中获得的。在这点上, 当在224识别出单词对象108与产生的前缀对象相对应时,则针对这 种对应的单词对象108及对应的频率对象104,轮询存储器中的所有 数据源。因为频率学习数据库96中存储有也存储在类属单词列表88 或新单词数据库92中的单词对象108,所以从频率学习数据库96中 获得的单词对象108及其关联频率对象104典型地是已从类属单词列 表88或新单词数据库92中获得的单词对象108的复制。但是,从频 率学习数据库96中获得的关联频率对象104典型地具有比从类属单词 列表88中获得的关联频率对象104的频率值更大的频率值。这反映了 频率学习数据库96的本质是向频繁使用的单词对象108赋予比其在类 属单词列表88中可能具有的频率值更大的频率值。
因此可见,通常直到检测到定界符输入,才启动图5a和5b所示 的上述学习功能,这表示对于每个会话,学习只发生一次。另外,如 果最终缺省输出不是用户定义的新单词,则作为频率学习功能的主题 的单词对象108是与在选择发生时的缺省输出76和所选变量输出80 相关联的单词对象108,而不必要与最终成为会话结束时的缺省输出 的对象相关。此外,如果在单个会话中发生多个可学习事件,则频率 学习功能只对与当前会话终止之前的最终可学习事件(即选择事件、 替换事件或移动事件)相关联的单词对象108进行操作。
对于识别多个单词对象108与产生的前缀对象相对应,还要注意, 除了类属单词列表88、新单词数据库92和频率学习数据库96之外, 存储器22可以包括多个附加数据源99,所有这些都可以看作语言来 源。图2a中示出了示例性的两个其他数据源99,要理解,存储器22 可以包括任何数目的其他数据源99。例如,其他数据源99可以非限 制性地包括地址数据库、快速文本数据库或其他数据源。例如,示例
的快速文本数据库可以包括单词、表达式或其他数据的集合,例如,
其中每一个与縮写的字符串相关联。例如,快速文本数据库可将串"br" 与单词集合"BestRegards"相关联,这样,用户能够键入串"br",而接 收到输出"Best Regards"。
为了识别与给定前缀对象相对应的单词对象108,手持电子设备4 可以轮询存储器22中的所有数据源。例如,手持电子设备4可以轮询 类属单词列表88、新单词数据库92、频率学习数据库96和其他数据 源99,以识别与前缀对象相关联的单词对象108。其他数据源99的内 容可以看作是单词对象108,处理器20可以产生频率对象104,该频 率对象104将与这种单词对象108相关联,并向该频率对象104分配 诸如前述频率范围的前三分之一或四分之一中的频率值。例如,假设 所分配的频率值足够高,则串"br"可以典型地被输出到显示器60。如 果对于具有与快速文本数据库中的单词对象108相关联的输出部分, 例如"br",检测到定界符输入,则用户可以接收到输出"Best Regards", 要理解,对于示例串"br",用户还可以输入选择输入。
可以将任何一个其他数据源99的内容看作是单词对象108,并可 以与产生的具有在前述频率范围的前一部分中的所分配频率值的频率 对象104相关联。在识别这种单词对象108之后,如果适合,则新单 词学习功能可以按照前述方式,对这种单词对象108进行操作。
再次参考图3a,当处理前进到在232的过滤步骤,以及滤除了具 有相对较低频率值的复制单词对象108及其关联频率对象104时,剩 余结果可以包括变量单词对象108和缺省单词对象108,两者都是从 频率学习数据库96中获得的。在这种情况下,可以预见,如果用户重 复且交替地使用一个单词而后另一单词,则随着时间的过去,与这种 单词相关联的频率对象104将增大,远远超过前述针对频率对象104 的最大绝对频率值。由此,如果确定学习功能中的缺省单词对象108 和变量单词对象108都是从频率学习数据库96中获得的,而不是将变 量单词对象108存储在频率学习数据库96中、并将它与具有相对较高 的频率值的频率对象104相关联,则作为替代,由学习功能存储缺省 单词对象108,并将它与所修改的频率对象104相关联,所修改的频
率对象104具有比与变量单词对象108相关联的频率对象104的频率
值相对更低的频率值。这种方案有利地避免了频率值的过度和不必要 的增加。
如果如在268确定当前输入是移动输入,例如当用户试图在当前 会话内对如完整单词或前缀对象的对象进行编辑时所釆用的输入,则 在272将插入记号84移动到所需位置,并在276设置标志。接着,处 理返回到204,在204可以检测到附加输入。
在这点上,要理解,可以检测来自输入装置8的多种类型的移动 输入。例如,如图1的箭头34所示的拇指轮32的旋转可以提供移动 输入,如可以是〈NEXT〉键40的激励或潜在与输入装置8中的其他设 备组合的其他这种输入。在检测到这种移动输入的情况下,例如在编 辑输入的情况下,还额外地将移动输入作为选择输入来检测。由此, 如在252所检测的选择输入的情况一样,相对于输出64的缺省部分 76,有效地锁定所选变量。在同一会话内的任何缺省输出76将必须包 括先前所选的变量。
但是,在编辑的情况下,除了正被编辑的字符外,有效地锁定正 被编辑的特定显示对象。因此,在这点上,保持正被编辑的对象的其 他字符,即未被编辑的字符,并将其用作用于识别正被编辑的对象相 对应的其他单词对象108等的上下文。如果不是这种情况,试图对单 词中间的字母进行编辑的用户可能将与正被编辑的对象的字符略微不 同或完全不同的多个对象看作新输出64,这是因为在没有保持上下文 的情况下,可能产生了包括正被编辑的对象的多个键击字符的所有排 列的完全新的前缀对象集合。新单词对象108可能被识别为与新的前 缀对象相对应,仅在对单个字符进行编辑时,所有的新的前缀对象可 能显著地改变输出64。通过保持当前在正被编辑的对象中的其他字 符,并采用这些其他字符作为上下文信息,用户可以更加容易地编辑 显示在显示器60上的单词。
在手持电子设备4的本典型实施例中,如果在252确定输入不是 选择输入,在260确定输入不是定界符输入,并在268确定输入不是 移动输入,则在手持电子设备4当前的典型实施例中,仅剩余的操作
性输入通常是对小键盘24的按键28的〈DELETE〉键86的检测。当检 测到〈DELETE〉键86时,在280删除缺省输出的最末字符。此时,在 284,处理通常等待,直到检测到另一输入。接着,在288,确定在284 检测到的新输入是否同于与在280刚删除的最末字符相关的最近输 入。如果是,则除了最末字符是产生最末字符的按键激励的对等字符 之外,缺省输出76与先前缺省输出相同。然后处理继续到292,在292, 将在临时学习数据寄存器中存储学习数据,即与先前缺省输出76相关 联的单词对象108及其关联频率对象104、以及与新的缺省输出76相 关联的单词对象108及其频率对象104,并设置标志。这种按键序列 (即输入、〈DELETE〉键86和与先前相同的输入)是替换输入。这种 替换输入用产生缺省输出76的最末字符48的按键28的对等最末字符 取代缺省最末字符。替换输入被看作用于锁定当前会话的缺省输出76 的选择输入,并在260检测到定界符输入时,触发标志,该标志将启 动学习功能。
但是,如果结果是该系统在288检测到在284检测到的新输入不 同于紧接在〈DELETE〉键86的检测之前的输入,则处理在212继续, 在212,确定输入是操作性输入或具有一个或多个字符48的按键输入, 之后,处理继续。
还要注意,当主过程到达248的输出阶段时,启动附加过程,该 过程确定是否应该启动输出64的变量组成部分72。在图6的单元504 处,从248开始附加功能的处理。最初,该方法在508向显示器60 输出输出64的文本组成部分68。处理还确定是否应该显示变量组成 部分72。
具体地,在512确定是否已在当前会话期间显示了变量组成部分 72。如果已显示了变量组成部分72,则处理在516继续,在516,显 示从当前会话内的当前歧义消解周期中产生的新变量组成部分72。接 着,处理返回520处的终止点,之后,处理返回204处的主过程。但 是,如果在512确定在当前会话期间还未显示变量组成部分72,则在 524,处理继续确定在当前输入与紧接的先前输入之间经过的时间是否 比预定持续时间长。如果是更长,则处理在516继续,在516,显示
变量组成部分72,并且处理通过520返回204处的主过程。但是,如 果在524确定在当前输入与紧接的先前输入之间经过的时间比预定持 续时间短,则不显示变量组成部分72,处理返回520处的终止点,之 后,处理返回204处的主过程。
因此,有利的是,如果用户相对快速地输入键击,则不向显示器 60输出变量组成部分72,否则可能会对试图快速输入键击的用户造成 视觉分散的影响。如果在给定会话中的任何时间向显示器60输出变量 组成部分72,例如如果相继输入之间的时间超过预定持续时间,则变 量组成部分72将在整个会话中继续显示。但是,当启动新的会话时, 如果用户继续相对快速地输入键击,则将变量组成部分72从显示器上 撤除。
图1和图7-11中示出了示例输入序列。在本示例中,用户试图输 入单词"APPLOADER",该单词目前未存储在存储器20中。在图1中, 用户已敲击"AS"按键28。因为存储器20中的数据表是根据两字母前 缀而组织的,所以从存储器内的N-gram对象112中获得第一键击时 的输出64的内容。第一键击"AS"与第一N-gram对象112"S"及其关联 频率对象104、以及另一 N-gram对象112"A"及其关联频率对象104 相对应。虽然与"S"相关联的频率对象104具有比与"A"相关联的频率 对象104的频率值更大的频率值,但是要注意"A"本身是完整的单词。 不论相关的频率值如何,完整单词总是优先于不与完整单词匹配的其 他前缀对象,被设置为缺省输出76。这样,在图1中,输出64的缺 省部分76是"A"。
在图7中,用户附加地输入了"OP"按键28。图7中示出了变量。 因为前缀对象"SO"也是单词,所以将其设置为缺省输出76。在图8 中,用户再次输入"OP"按键28,还输入"L"按键28。要注意,这里示 出的示例"L"按键28只包括单个字符48"L"。
假设在当前示例中,至此还未检测到操作性输入。缺省输出76 是可能与单词"APPLE"相对应的"APPL"。前缀"APPL"示出在文本组 成部分68、以及变量组成部分72的缺省部分76中。变量部分80中 的变量前缀对象包括可能与单词"APOLOGIZE"相对应的"APOL"、以
及可能与单词"SPOLIATION"相对应的前缀"SPOL"。
特别要注意,附加变量"AOOL"、 "AOPL"、 "SOPL"和"SOOL"也 示为变量组成部分72中的变量80。因为没有单词对象108与这些前 缀对象相对应,所以将这些前缀对象看作未识别出对应的单词对象 108的孤生前缀对象。在这点上,优选地可以是变量组成部分72包括 特定数量的条目,在本典型实施例中,该数量是7个条目。当在224 获得结果时,如果结果中的前缀对象数量少于预定数量,则歧义消解 功能将尝试提供附加的输出,直到提供了预定数目的输出。在未创建 人为变量的情况下,由孤生前缀对象提供附加的变量条目。但是,要 注意,如果已产生了人为变量,则它们可能优先于孤生前缀对象,也 可能优先于结果的前缀对象。
还要注意,这种孤生前缀对象实际上可以是来自暂时停用的父辈 孤生前缀对象和/或人为变量的子代孤生前缀对象。根据下文解释的频 率排序或其他排序,可以再次输出这种子代孤生前缀对象。
按照N-gram对象112及关联频率对象104的使用频率的降序, 对孤生前缀对象进行排序。因为孤生前缀对象没有具有关联频率对象 104的对应单词对象108,所以与多个N-gram对象112相关联的频率 对象104必须用作后退(fallback)对象。
使用N-gram对象112,例如,歧义消解功能首先确定任意具有三 个字符的N-gmm对象112是否是任意孤生前缀对象的最末三个字符 的匹配。因为手持电子设备4的本典型实施例包括以最大长度为三个 字符为示例的N-gmm对象112,所以给定三个字符的示例,但是要理 解,如果存储器22包括四个字符或更长的N-gram对象,则歧义消解 功能典型地将首先确定存储器22中具有最大长度的N-gmm对象是否 与孤生前缀对象最末的相同数量的字符匹配。
如果只有一个前缀对象以这种方式与三个字符的N-gram对象112 相对应,则在变量输出80中的多个孤生前缀对象中,首先列出这个孤 生前缀对象。如果其他孤生前缀对象与具有三个字符的N-gram对象 112匹配,则分析与这些识别的N-gram对象112相关联的频率对象 104,并按照频率降序,对所匹配的孤生前缀对象排序。
如果确定无法获得与三个字符的N-gram对象112的匹配,则采 用两字符N-gram对象112。因为存储器20包括两字符N-gram对象 112的所有排列,所以每个孤生前缀对象的最末两个字符可以与对应 的两字符N-gram对象112相匹配。在实现这种匹配之后,分析与这 些识别的N-gmm对象112相关的频率对象104,并按照与所识别的 N-gram对象112相关联的频率对象104的频率值的降序,对孤生前缀 对象排序。还要注意,可以使用N-gram对象112及其关联频率对象 104,相似地对人为变量进行排序。
在图9中,用户已附加输入了"OP"按键28。在这种情况下,如图 9中可见,输出64的缺省部分76已变为可能与单词"APOLOGIZE"相 对应的前缀对象"APOLO",而图8中紧接在当前输入之前的输出64 的缺省部分76是可能与单词"APPLE"相对应的"APPL"。再次假设还 未检测到操作性输入,图9中的缺省前缀对象不与图8的先前缺省前 缀对象相对应。这样,产生第一人为变量"APOLP",在本示例中将其 放在优先位置。通过删除缺省前缀对象"APOLO"的最末字符,并用产 生输出64缺省部分76的最末字符的按键28上的对等字符48(在图9 的本示例中是"P")替代该最末字符,产生上述人为变量"APOLP",所 以前述人为变量是"APOLP"。
此外,因为先前缺省输出"APPL"与诸如与单词"APPLE"相对应的 单词对象108相对应,并且因为添加的当前输入使先前缺省输出 "APPL"不再与单词对象108相对应,所以产生两个附加的人为变量。 一个人为变量是"APPLP",另一人为变量是"APPLO",它们与先前缺 省输出"APPL"外加受激励以产生当前输入的按键28的字符48相对 应。相似地输出这些人为变量,作为输出64的变量部分80的一部分。
如图9中可见,输出64的缺省部分76"APOLO"看起来不再与可 能需要作为"APPLOADER"的前缀的部分相匹配,用户可能预料到所 需单词"APPLOADER"还没有存储在存储器20中。这样,用户通过滚 动拇指轮32,或通过激励〈NEXT〉键40,来提供选择输入,直到变量 串"APPLO"被加亮。接着,用户继续敲击并输入"AS"按键。
图10示出了这一动作的输出64。这里,串"APPLOA"是输出64
的缺省部分76。因为作为对变量串"APPLO"的选择输入的结果,变量
串"APPLOA"成为输出64的缺省部分76 (这里未明显示出),并且因 为变量串"APPLO"不与单词对象108相对应,所以创建字符串 "APPLOA"和"APPLOS",作为人为变量。另外,因为图9的先前缺省 "APOLO"先前与单词对象108相对应,但是现在不再与图10的输出 64的缺省部分76相对应,所以也产生附加的人为变量"APOLOA"和 "APOLOS"。给这种人为变量赋予优先于三个所显示的孤生前缀对象 的位置。
因为本示例中的当前输入序列不再与任何单词对象108相对应, 所以对于当前会话中的进一步输入,不再执行与尝试寻找对应单词对 象108有关的方法部分。即,因为没有单词对象108与当前输入序列 相对应,所以进一步的输入将类似地不与任何单词对象108相对应。 避免在存储器20中搜索这种不存在的单词对象108,节省了时间,避 免浪费处理操作。
随着用户继续敲击,用户最终将成功地输入单词"APPLOADER", 并将输入定界符输入。当在输入"APPLOADER"之后检测到定界符输 入时,启动学习功能。因为单词"APPLOADER"不与存储器20中的单 词对象相对应,所以产生与"APPLOADER"相对应的新单词对象108, 并在新单词数据库92中存储该新单词对象108、以及对应的新频率对 象104,其中向新频率对象104赋予在可能频率范围的上述前三分之 一或四分之一中的绝对频率。在这点上,要注意,新单词数据库92 和频率学习数据库96通常是以与在类属单词列表88中找到的两字符 前缀数据表相似的两字符前缀数据表来组织的。这样,最初给新频率 对象104分配绝对频率值,但是在存储该绝对频率值时,如果它不是 数据表内的最大值,则将其改变为包括相对于数据表内的最大频率值 而归一化的归一化频率值百分比。
作为后一示例,在图11中,用户正在敲击输入单词"APLOGIZE"。 用户已输入按键序歹iJ"AS,,"OP,,"OP""L""OP"。因为"APPLOADER"现 在己作为单词对象108添加到新单词数据库92,并已与具有相对高的 频率值的频率对象104相关联,所以与"APPLOADER"相对应的前缀
对象"APPLO"优先于与所需单词"APOLOGIZE"相对应的变量前缀对 象"APOLO",已被显示作为输出64的缺省部分76。因为单词 "APOLOGIZE"与至少存储在类属单词列表88中的单词对象108相对 应,所以用户可以简单地继续输入与将会是单词"APOLOGIZE"中前缀 对象"APOLO"之后的字母的附加字母"GIZE"相对应的键击,以获得单 词"APOLOGIZE"。可选地,在看到图11中示出的输出64时,用户可 以输入选择输入,以肯定地选择变量前缀对象"APOLO"。在这种情况 下,在检测到定界符符号时,将触发学习功能,在进行选择输入时与 字符串"APOLO"相对应的单词对象将存储在频率学习数据库92中, 并将与所修改的频率对象104相关联,所修改的频率对象104具有相 似地存储在频率学习数据库92中的相对较高的频率值。
图12中通常示出了手持电子设备4的附加特征。在一些情况下, 需要禁用歧义消解功能。例如,当需要输入口令时,歧义消解典型地 比普通文本输入更加费事。这样,当系统焦点集中在与口令字段相对 应的组成部分上时,该组成部分向API指示需要特殊处理,API禁用 歧义消解功能,取而代之地,启用多次敲击输入解译系统之类的系统。 可选地,其他输入解译系统可以包括和弦系统、或按下-保持/按下-释 放解译系统。这样,虽然在歧义消解功能有效时输入的输入是模糊输 入,但是通过启用诸如示例的多次敲击系统之类的可选解译系统,每 个输入可以是大体上无歧义的。
如可从图12中理解的,在口令字段120内,将每个无歧义的输入 显示非常短的时间,接着用诸如星号之类的另一输入将其替代。示出 了字符"R"是显示出来的,要理解这种显示只延续非常短的时间。
如在图1和7-11中可见,输出64包括在变量组成部分72的下端 附近显示的图形46,所显示的图形46与〈NEXT〉键40的图形42非 常相似。这种描绘向用户指示可以激励小键盘24的按键28来选择变 量输出。对所显示的图形46的描绘在用户头脑中提供了输出64与 〈NEXT〉键40之间的关联。另外,如果用户采用〈NEXT〉键40来提 供选择输入,则用户能够激励〈NEXT〉键40,而无需在文本输入期间 将他的手移动到相对于外壳6的远离手的原来位置的地方,这减少了
不必要的手的动作,例如如果用户需要移动手来激励拇指轮32时所需 的动作。这节省了时间和精力。
还要注意,如果没有单词对象108与包括特定的预定符号的文本 输入相对应,则该系统可以将该符号的存在检测作为定界符信号。例
如,如果用户希望输入"one-off',用户可以在开始时输入按键序列 "OP""BN""ER,,"ZX""OP",其中"ZX"激励旨在表示设置在该按键上的 连字符符号。可选地,用户可以不敲击"ZX"按键,而激励〈ALT〉输入 来无歧义地指示连字符。
假设存储器20还未包括"one-off,的单词对象108,则歧义消解功 能将检测连字符是定界符输入。这样,在定界符输入之前的按键输入 与在定界符输入之后的按键输入之间划定界限。这样,将所需输入作 为之间带有连字符的两个分离单词,即"ONE"和"OFF"来搜索。通过 在更加狭窄的范围内识别需要搜索的单词,这种方式方便了处理。
虽然详细描述了本发明的特定实施例,但是本领域的技术人员将 理解,根据本公开的总体说明,可以开发针对这些详细内容的多种修 改和可选方案。因此,所公开的特定配置只是示例性的,不限制本发 明范围,本发明范围是由所附权利要求及其任何等同物的全部范围给 出的。
权利要求
1.一种对手持电子设备的输入进行歧义消解的方法,所述手持电子设备具有输入装置、输出装置、以及存储有多个对象的存储器,所述存储器包括第一语言源和第二语言源,所述对象的至少一部分在第一语言源中,所述对象的至少一部分在第二语言源中,所述多个对象包括多个语言对象和多个频率对象,语言对象中至少一部分的每一个与关联频率对象相关联,所述输入装置包括多个输入构件,多个输入构件的输入构件中至少一部分的每一个分配有多个字符,所述方法包括检测模糊输入;产生与所述模糊输入相对应的多个前缀对象;针对所述多个前缀对象的至少一部分中的每一个前缀对象,搜寻与该前缀对象相对应的相应语言对象;在第一语言源中识别与所述多个前缀对象的至少一部分中的前缀对象相对应的第一语言对象;在第二语言源中识别与所述多个前缀对象的至少一部分中的前缀对象相对应的第二语言对象;以及输出包括与第一语言对象相对应的前缀对象和与第二语言对象相对应的前缀对象中的至少一个的输出。
2. 根据权利要求1所述的方法,还包括获得与第一语言对象相 关联且具有第一频率值的第一关联频率对象,获得与第二语言对象相 关联且具有第二频率值的第二关联频率对象,以及确定第一频率值和 第二频率值中的一个小于第一频率值和第二频率值中的另一个。
3. 根据权利要求2所述的方法,还包括按照第一关联频率对象和第二关联频率对象的频率值的降序,输出与第一语言对象相对应的 前缀对象和与第二语言对象相对应的前缀对象作为输出的至少一部 分。
4. 根据权利要求2所述的方法,还包括输出与第一语言对象和 第二语言对象中的一个相对应的前缀对象作为输出的至少一部分,所述第一语言对象和第二语言对象中的一个与具有第一频率值和第二频 率值中的所述另一个频率值的第一频率对象和第二频率对象中的所述 一个频率对象相关联。
5. 根据权利要求2所述的方法,还包括从输出中滤除与第一语 言对象和第二语言对象中的任一个相对应的前缀对象,所述第一语言 对象和第二语言对象中的任一个与具有第一频率值和第二频率值中的 所述一个频率值的第一频率对象和第二频率对象中的任一个相关联。
6. 根据权利要求1所述的方法,还包括识别与第一语言对象所 对应的前缀对象相对应的语言对象,作为第二语言对象。
7. 根据权利要求6所述的方法,还包括获得与第一语言对象相 关联且具有第一频率值的第一关联频率对象,获得与第二语言对象相 关联且具有第二频率值的第二关联频率对象,以及确定第一频率值和 第二频率值中的一个小于第一频率值和第二频率值中的另一个。
8. 根据权利要求7所述的方法,还包括识别与多个前缀对象的 至少一部分中的另一个前缀对象相对应的另一个语言对象,获得与另 一个语言对象相关联且具有另一个频率值的另一个关联频率对象,以 及确定所述另一个频率值与第一频率值和第二频率值中的所述另一个 不相等。
9. 根据权利要求8所述的方法,还包括按照所述另一个关联频 率对象以及第一关联频率对象和第二关联频率对象中的所述另一个的 频率值的降序,输出所述另一个前缀对象和前缀对象作为输出的至少 一部分。
10. 根据权利要求1所述的方法,还包括采用类属单词列表、 新单词数据库、频率学习数据库、地址数据库和快速文本数据库之一 作为第一语言源,以及采用类属单词列表、新单词数据库、频率学习 数据库、地址数据库和快速文本数据库中的另一个作为第二语言源。
11. 一种手持电子设备,包括 处理器;存储有多个对象的存储器; 输入装置;以及 输出装置;所述存储器包括第一语言源和第二语言源; 所述对象的至少一部分在第一语言源中; 所述对象的至少一部分在第二语言源中;所述多个对象包括多个语言对象和多个频率对象,语言对象中至少一部分的每一个与关联频率对象相关联;所述输入装置包括多个输入构件,所述输入构件的至少一部分中 的每一个分配有多个字符;所述处理器适于检测模糊输入;所述处理器适于产生与模糊输入相对应的多个前缀对象;所述处理器适于针对所述多个前缀对象的至少一部分中的每一个 前缀对象,搜寻与该前缀对象相对应的相应语言对象;所述处理器适于在第一语言源中识别与所述多个前缀对象的至少 一部分中的前缀对象相对应的第一语言对象;所述处理器适于在第二语言源中识别与所述多个前缀对象的至少 一部分中的前缀对象相对应的第二语言对象;以及所述处理器适于向输出装置提供包括与第一语言对象相对应的前 缀对象和与第二语言对象相对应的前缀对象中的至少一个的输出。
12. 根据权利要求ll所述的手持电子设备,其中,所述处理器适 于获得与第一语言对象相关联且具有第一频率值的第一关联频率对 象,所述处理器适于获得与第二语言对象相关联且具有第二频率值的 第二关联频率对象,以及所述处理器适于确定第一频率值和第二频率 值中的一个小于第一频率值和第二频率值中的另一个。
13. 根据权利要求12所述的手持电子设备,其中,所述处理器适于按照第一关联频率对象和第二关联频率对象的频率值的降序,提供 与第一语言对象相对应的前缀对象和与第二语言对象相对应的前缀对象作为输出的至少一部分。
14. 根据权利要求12所述的手持电子设备,其中,所述处理器适 于提供与第一语言对象和第二语言对象中的一个相对应的前缀对象作 为输出的至少一部分,所述第一语言对象和第二语言对象中的一个与 具有第一频率值和第二频率值中的所述另一个频率值的第一频率对象 和第二频率对象中的所述一个频率对象相关联。
15. 根据权利要求12所述的手持电子设备,其中,所述处理器适于从输出中滤除与第一语言对象和第二语言对象中的任一个相对应的 前缀对象,所述第一语言对象和第二语言对象中的任一个与具有第一 频率值和第二频率值中的所述一个频率值的第一频率对象和第二频率 对象中的任一个相关联。
16. 根据权利要求ll所述的手持电子设备,其中,所述处理器适于识别与第一语言对象所对应的前缀对象相对应的语言对象,作为第—语曰对象o
17. 根据权利要求16所述的手持电子设备,其中,所述处理器适 于获得与第一语言对象相关联且具有第一频率值的第一关联频率对 象,所述处理器适于获得与第二语言对象相关联且具有第二频率值的 第二关联频率对象,以及所述处理器适于确定第一频率值和第二频率 值中的一个小于第一频率值和第二频率值中的另一个。
18. 根据权利要求17所述的手持电子设备,其中,所述处理器适 于识别与多个前缀对象的至少一部分中的另一个前缀对象相对应的另 一个语言对象,所述处理器适于获得与另一个语言对象相关联且具有 另一个频率值的另一个关联频率对象,以及所述处理器适于确定所述 另一个频率值与第一频率值和第二频率值中的所述另一个不相等。
19. 根据权利要求18所述的手持电子设备,其中,所述输出装置 适于按照所述另一个关联频率对象以及第一关联频率对象和第二关联 频率对象中的所述另一个的频率值的降序,输出所述另一个前缀对象 和前缀对象作为输出的至少一部分。
20. 根据权利要求ll所述的手持电子设备,其中,所述处理器适 于采用类属单词列表、新单词数据库、频率学习数据库、地址数据库 和快速文本数据库之一作为第一语言源,所述处理器适于采用类属单 词列表、新单词数据库、频率学习数据库、地址数据库和快速文本数 据库中的另一个作为第二语言源。
全文摘要
一种手持电子设备包括缩减QWERTY键盘形式的小键盘,并配备有歧义消解软件。该设备输出了缺省输出和多个变量。该输出主要基于用户想要的特定输出的可能性。该设备的多种特征还提供其他变量,这些变量不只是基于频率的,而是由该设备上设置的多种逻辑结构提供的。该设备能够在文本输入期间进行编辑,并提供可以使歧义消解功能适应于为用户提供定制体验的学习功能。可以选择性地禁用歧义消解功能,而提供备选的键击解译系统。另外,该设备能够通过
文档编号G06F17/27GK101103347SQ200580046979
公开日2008年1月9日 申请日期2005年8月31日 优先权日2004年11月23日
发明者塞尔杰·V·科洛梅茨, 瓦迪姆·富克斯, 麦克尔·G·叶利扎罗夫 申请人:捷讯研究有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1