CN101103347B - 对手持电子设备的有歧义输入进行歧义消解的装置和方法 - Google Patents
对手持电子设备的有歧义输入进行歧义消解的装置和方法 Download PDFInfo
- Publication number
- CN101103347B CN101103347B CN2005800469795A CN200580046979A CN101103347B CN 101103347 B CN101103347 B CN 101103347B CN 2005800469795 A CN2005800469795 A CN 2005800469795A CN 200580046979 A CN200580046979 A CN 200580046979A CN 101103347 B CN101103347 B CN 101103347B
- Authority
- CN
- China
- Prior art keywords
- frequency
- language
- prefix
- output
- input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
- G06F3/0233—Character input methods
- G06F3/0237—Character input methods using prediction or retrieval techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/02—Digital computers in general; Data processing equipment in general manually operated with input through keyboard and computation using a built-in program, e.g. pocket calculators
- G06F15/025—Digital computers in general; Data processing equipment in general manually operated with input through keyboard and computation using a built-in program, e.g. pocket calculators adapted to a specific application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/274—Converting codes to words; Guess-ahead of partial word inputs
Abstract
一种手持电子设备包括缩减QWERTY键盘形式的小键盘,并配备有歧义消解软件。该设备输出了缺省输出和多个变量。该输出主要基于用户想要的特定输出的可能性。该设备的多种特征还提供其他变量,这些变量不只是基于频率的,而是由该设备上设置的多种逻辑结构提供的。该设备能够在文本输入期间进行编辑,并提供可以使歧义消解功能适应于为用户提供定制体验的学习功能。可以选择性地禁用歧义消解功能,而提供备选的键击解译系统。另外,该设备能够通过显示小键盘的特殊<NEXT>按键的图形,使用户能够步进地选择变量而通常无需改变用户的手在设备上的位置,从而方便了对变量的选择。
Description
技术领域
本发明通常涉及手持电子设备,更具体地,涉及一种具有缩减的键盘和输入歧义消解(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是在文本输入操作的另一部分期间的另一示例输出;
图10是在文本输入操作的另一部分期间的另一示例输出;
图11是在另一文本输入操作期间手持电子设备上的示例输出;以及
图12是在已禁用手持电子设备的歧义消解功能时的示例中可以提供的示例输出。
在整个说明书中,类似附图标记表示类似部分。
具体实施方式
在图1中大体示出了并在图2中示意性地描绘出了改进的手持电子设备4。示例手持电子设备4包括外壳6,外壳6上放置有处理器单元,该处理器单元包括输入装置8、输出装置12、处理器16、存储器20和至少第一例程。例如而非限制性地,处理器16可以是微处理器(μP),并响应于来自输入装置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之中,有<NEXT>键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。如在此采用的,“多个”及其变体应该广义地表示任何数量,包括数量1,在这里,在特定情况下,还可以表示数量0。在小键盘24的典型描述中,按键28中的许多按键包括两个字符,例如包括分配给该按键的第一字符52和第二字符56。要理解,“字符”应该广义地理解为包括字母、数字、符号等,还可以包括表意字符及其组成部分等。
小键盘24的按键28之一包括作为其字符48的字母“Q”和“W”,相邻按键28包括作为其字符48的字母“E”和“R”。可见,虽然按键28中的许多按键包括两个字符48,但是小键盘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-gram对象112是相关语言中的短字符串,例如,典型的长度是1到3个字符,并典型地代表相关语言中的单词片断,尽管如此,N-gram对象112中的一些本身可以是单词。但是,就N-gram对象112也是相关语言中的单词来说,相同单词可能会分离地存储,作为类属单词列表88内的单词对象108。如这里采用的,表达“串”及其变体应该广义地表示具有一个或多个字符或组成部分的对象,并可以表示完整的单词、单词片断、常规单词或表达等中的任何一个。
在手持电子设备4的本典型实施例中,N-gram对象112包括1-gram对象(即长度为一个字符的串对象)、2-gram对象(即长度为两个字符的串对象)、以及3-gram对象(即长度为三个字符的串对象),所有这些被统称作N-gram 112。实质上,类属单词列表88中的每个N-gram对象112相似地与类属单词列表88内存储的关联频率对象104相关联,但是与给定的N-gram对象112相关联的频率对象104具有频率值,该频率值指示在相关语言的任意单词内的任意位置处存在由特定N-gram对象112代表的字符串的相对概率。N-gram对象112及其关联频率对象104是类属单词列表88的语料库的一部分,并以与单词对象108及其关联频率对象104的获得方式相似的形式获得,尽管如此,在获得N-gram对象112时执行的分析将会略微不同,这是因为该分析将涉及对多个单词内的多个字符串的分析,而不是主要依赖于给定单词的相对出现。
当示例语言是英语时,手持电子设备4的本典型实施例包括26个1-gram的N-gram对象112,即一个1-gram对象用于英语所基于的罗马字母表中26个字母中每一个;还包括676个(即26的平方个)2-gram的N-gram对象112,代表罗马字母表内26个字母的每一个两字母的排列。
N-gram对象112还包括特定数量的3-gram N-gram对象112,主要是在相关语言中具有相对高的频率的那些3-gram对象。考虑到数据存储大小,并且因为2-gram N-gram对象112已能够提供与相关语言有关的大量信息,所以手持电子设备4的典型实施例包括比罗马字母表的26个字母的所有三字母排列少的三字母排列。如下文将详细描述的,N-gram对象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获得了结果,则在228,歧义消解功能确定是否应该产生人为变量(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”与单词集合“Best Regards”相关联,这样,用户能够键入串“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-gram对象112是否是任意孤生前缀对象的最末三个字符的匹配。因为手持电子设备4的本典型实施例包括以最大长度为三个字符为示例的N-gram对象112,所以给定三个字符的示例,但是要理解,如果存储器22包括四个字符或更长的N-gram对象,则歧义消解功能典型地将首先确定存储器22中具有最大长度的N-gram对象是否与孤生前缀对象最末的相同数量的字符匹配。
如果只有一个前缀对象以这种方式与三个字符的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-gram对象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”。用户已输入按键序列“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”来搜索。通过在更加狭窄的范围内识别需要搜索的单词,这种方式方便了处理。
虽然详细描述了本发明的特定实施例,但是本领域的技术人员将理解,根据本公开的总体说明,可以开发针对这些详细内容的多种修改和可选方案。因此,所公开的特定配置只是示例性的,不限制本发明范围,本发明范围是由所附权利要求及其任何等同物的全部范围给出的。
Claims (16)
1.一种对手持电子设备的输入进行歧义消解的方法,所述手持电子设备具有输入装置、输出装置、以及存储有多个对象的存储器,所述存储器包括第一语言源和第二语言源,所述对象的至少一些在第一语言源中,所述对象的至少一些在第二语言源中,所述多个对象包括多个语言对象和多个频率对象,所述语言对象中至少一些与频率对象相关联,所述输入装置包括多个输入构件,所述输入构件中至少一些分配有多个字符,所述方法包括:
检测模糊输入;
产生与所述模糊输入相对应的多个前缀对象;
在第一语言源中识别与所述多个前缀对象中的前缀对象相对应的第一语言对象;
在第二语言源中识别与所述多个前缀对象中的前缀对象相对应的第二语言对象;
获得与第一语言对象相关联且具有第一频率值的第一频率对象;
获得与第二语言对象相关联且具有第二频率值的第二频率对象;
确定第二频率值小于第一频率值;以及
输出包括与第一语言对象相对应的前缀对象和与第二语言对象相对应的前缀对象中的至少一个的输出。
2.根据权利要求1所述的方法,还包括:按照第一频率对象和第二频率对象的频率值的降序,输出与第一语言对象相对应的前缀对象和与第二语言对象相对应的前缀对象作为输出中的至少一些。
3.根据权利要求1所述的方法,还包括:输出与第一语言对象相对应的前缀对象作为输出中的至少一些,所述第一语言对象与具有第一频率值的第一频率对象相关联。
4.根据权利要求1所述的方法,还包括:从所述输出步骤的输出中滤除与第二语言对象相对应的前缀对象,并显示剩余输出。
5.根据权利要求4所述的方法,还包括:在所述输出步骤之前,识别与第一语言对象所对应的前缀对象相对应的语言对象,作为第二语言对象。
6.根据权利要求5所述的方法,还包括:在所述确定步骤之后,识别与多个前缀对象中的另一个前缀对象相对应的第三语言对象,获得与第三语言对象相关联且具有第三频率值的第三频率对象,以及确定所述第三频率值与第一频率值不相等。
7.根据权利要求6所述的方法,还包括:分别地按照所述第三频率对象以及第一频率对象的频率值的降序,输出所述另一个前缀对象和前缀对象作为输出中的至少一些。
8.根据权利要求1所述的方法,还包括:采用类属单词列表、新单词数据库、频率学习数据库、地址数据库和快速文本数据库之一作为第一语言源,以及采用类属单词列表、新单词数据库、频率学习数据库、地址数据库和快速文本数据库中的另一个作为第二语言源。
9.一种手持电子设备,包括:
处理器;
存储有多个对象的存储器;
输入装置;以及
输出装置;
所述存储器包括第一语言源和第二语言源;
所述对象中的至少一些在第一语言源中;
所述对象中的至少一些在第二语言源中;
所述多个对象包括多个语言对象和多个频率对象,语言对象中至少一些与频率对象相关联;
所述输入装置包括多个输入构件,所述输入构件的输入构件中至少一些分配有多个字符;
所述处理器适于检测模糊输入;
所述处理器适于产生与模糊输入相对应的多个前缀对象;
所述处理器适于在第一语言源中识别与所述多个前缀对象中的前缀对象相对应的第一语言对象;
所述处理器适于在第二语言源中识别与所述多个前缀对象中的前缀对象相对应的第二语言对象;
所述处理器适于获得与第一语言对象相关联且具有第一频率值的第一频率对象;
所述处理器适于获得与第二语言对象相关联且具有第二频率值的第二频率对象;
所述处理器适于确定第二频率值小于第一频率值;以及
所述处理器适于向输出装置提供包括与第一语言对象相对应的前缀对象和与第二语言对象相对应的前缀对象中的至少一个的输出。
10.根据权利要求9所述的手持电子设备,其中,所述处理器适于按照第一频率对象和第二频率对象的频率值的降序,提供与第一语言对象相对应的前缀对象和与第二语言对象相对应的前缀对象作为输出中的至少一些。
11.根据权利要求9所述的手持电子设备,其中,所述处理器适于提供与第一语言对象相对应的前缀对象作为输出中的至少一些,所述第一语言对象与具有第一频率值的第一频率对象相关联。
12.根据权利要求9所述的手持电子设备,其中,在所述处理器向输出装置提供输出之前,所述处理器适于从输出中滤除与第二语言对象相对应的前缀对象,并显示剩余输出。
13.根据权利要求12所述的手持电子设备,其中,在向输出装置提供输出之前,所述处理器适于识别与第一语言对象所对应的前缀对象相对应的语言对象,作为第二语言对象。
14.根据权利要求13所述的手持电子设备,其中,在确定了第二频率值小于第一频率值之后,所述处理器适于识别与多个前缀对象中的另一个前缀对象相对应的第三语言对象,所述处理器适于获得与第三语言对象相关联且具有第三频率值的第三频率对象,以及所述处理器适于确定所述第三频率值与第一频率值不相等。
15.根据权利要求14所述的手持电子设备,其中,所述输出装置适于分别地按照所述第三频率对象以及第一频率对象的频率值的降序,输出所述另一个前缀对象和前缀对象作为输出中的至少一些。
16.根据权利要求9所述的手持电子设备,其中,所述处理器适于采用类属单词列表、新单词数据库、频率学习数据库、地址数据库和快速文本数据库之一作为第一语言源,所述处理器适于采用类属单词列表、新单词数据库、频率学习数据库、地址数据库和快速文本数据库中的另一个作为第二语言源。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP04257257A EP1603022A1 (en) | 2004-06-02 | 2004-11-23 | Handheld electronic device with text disambiguation |
EP04257257.8 | 2004-11-23 | ||
PCT/CA2005/001317 WO2006056036A1 (en) | 2004-11-23 | 2005-08-31 | Handheld electronic device with text disambiguation |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101103347A CN101103347A (zh) | 2008-01-09 |
CN101103347B true CN101103347B (zh) | 2010-06-09 |
Family
ID=36497686
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2005800469795A Active CN101103347B (zh) | 2004-11-23 | 2005-08-31 | 对手持电子设备的有歧义输入进行歧义消解的装置和方法 |
Country Status (5)
Country | Link |
---|---|
CN (1) | CN101103347B (zh) |
CA (1) | CA2589126C (zh) |
DE (1) | DE112005002888T5 (zh) |
GB (1) | GB2435779A (zh) |
WO (1) | WO2006056036A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2075674A1 (en) | 2006-11-10 | 2009-07-01 | Research In Motion Limited | Handheld electronic device having selectable input mode indicator and method therefor |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1997005541A1 (en) * | 1995-07-26 | 1997-02-13 | King Martin T | Reduced keyboard disambiguating system |
WO1998033111A1 (en) * | 1997-01-24 | 1998-07-30 | Tegic Communications, Inc. | Reduced keyboard disambiguating system |
WO1999015952A2 (en) * | 1997-09-25 | 1999-04-01 | Tegic Communications, Inc. | Reduced keyboard disambiguating system |
WO2000062150A1 (en) * | 1999-04-14 | 2000-10-19 | Motorola Inc. | Data entry apparatus having a limited number of character keys and method |
-
2005
- 2005-08-31 DE DE112005002888T patent/DE112005002888T5/de not_active Ceased
- 2005-08-31 CN CN2005800469795A patent/CN101103347B/zh active Active
- 2005-08-31 WO PCT/CA2005/001317 patent/WO2006056036A1/en active Application Filing
- 2005-08-31 CA CA2589126A patent/CA2589126C/en active Active
-
2007
- 2007-06-20 GB GB0711949A patent/GB2435779A/en not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1997005541A1 (en) * | 1995-07-26 | 1997-02-13 | King Martin T | Reduced keyboard disambiguating system |
WO1998033111A1 (en) * | 1997-01-24 | 1998-07-30 | Tegic Communications, Inc. | Reduced keyboard disambiguating system |
WO1999015952A2 (en) * | 1997-09-25 | 1999-04-01 | Tegic Communications, Inc. | Reduced keyboard disambiguating system |
WO2000062150A1 (en) * | 1999-04-14 | 2000-10-19 | Motorola Inc. | Data entry apparatus having a limited number of character keys and method |
Also Published As
Publication number | Publication date |
---|---|
CA2589126C (en) | 2013-04-16 |
GB0711949D0 (en) | 2007-08-01 |
DE112005002888T5 (de) | 2008-03-13 |
WO2006056036A1 (en) | 2006-06-01 |
GB2435779A (en) | 2007-09-05 |
CN101103347A (zh) | 2008-01-09 |
CA2589126A1 (en) | 2006-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101002162B (zh) | 具有文本歧义消解功能的手持电子设备 | |
US9588596B2 (en) | Handheld electronic device with text disambiguation | |
US8179289B2 (en) | Handheld electronic device with text disambiguation | |
US7969329B2 (en) | Handheld electronic device with text disambiguation | |
US7477238B2 (en) | Handheld electronic device with text disambiguation | |
US7893850B2 (en) | Handheld electronic device with text disambiguation | |
US8224393B2 (en) | Handheld electronic device with text disambiguation | |
US8542187B2 (en) | Handheld electronic device with text disambiguation | |
US8068092B2 (en) | Handheld electronic device with text disambiguation | |
WO2005119511A1 (en) | Handheld electronic device with text disambiguation | |
US9189080B2 (en) | Handheld electronic device with text disambiguation | |
EP2161649A1 (en) | Handheld electronic device with text disambiguation | |
EP1603017A1 (en) | Handheld electronic device with text disambiguation | |
CN101010673B (zh) | 对进入手持电子设备的输入进行歧义消解的方法和系统 | |
CN101103347B (zh) | 对手持电子设备的有歧义输入进行歧义消解的装置和方法 | |
EP1603016A1 (en) | Handheld electronic device with text disambiguation | |
CA2579051C (en) | Handheld electronic device with text disambiguation | |
CN101014952B (zh) | 具有文本歧义消解功能的手持电子设备 | |
AU2889301A (en) | Apparatus and method for inputting alphabet characters on keypad | |
EP1630651B1 (en) | Handheld electronic device with text disambiguation | |
CA2579048C (en) | Handheld electronic device with text disambiguation | |
JP2003258982A (ja) | データ検索方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |