CN101149645A - 简化键盘多义性消除系统 - Google Patents
简化键盘多义性消除系统 Download PDFInfo
- Publication number
- CN101149645A CN101149645A CNA2007101373983A CN200710137398A CN101149645A CN 101149645 A CN101149645 A CN 101149645A CN A2007101373983 A CNA2007101373983 A CN A2007101373983A CN 200710137398 A CN200710137398 A CN 200710137398A CN 101149645 A CN101149645 A CN 101149645A
- Authority
- CN
- China
- Prior art keywords
- input
- polysemy
- list entries
- punctuate
- word
- 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.)
- Granted
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
- 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/0236—Character input methods using selection techniques to select from displayed items
-
- 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/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F3/04886—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Input From Keyboards Or The Like (AREA)
- Calculators And Similar Devices (AREA)
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Machine Translation (AREA)
- Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)
- Optical Communication System (AREA)
- Ticket-Dispensing Machines (AREA)
Abstract
一种简化键盘多义性消除系统。键盘有12-16个键,9个键带数字字母和其他符号,并且该9个键合另外1个用作10个数字键。文本输入键是有多义性的。用户利用选择键或其他无多义性键限定每个单词输入的结束而可将输入的键击序列与多个具有同样的键击序列的单词匹配。输入的每键击序列经过全部词汇对比处理而选择出匹配的并一使用频率的降序显示给用户。以特殊格式存储的词汇支持压缩而不会增加处理时间。起始字母匹配的长单词的词干也显示以减小使用频率。如与词干相关联的单词使用频率高就作为默认单词对象显示。激活与多个标点相关联的多义性键可根据上下文减小多义性消除处理。
Description
本申请是中国利申请号为98809472.X、申请日为1998年9月24日、发明名称为“简化键盘多义性消除系统”一案的分案申请。
技术领域
本发明一般涉及简化键盘系统,并且更具体涉及利用单词级多义性消除来解决多义性键击的简化键盘系统。
背景技术
多年来,便携式计算机变得越来越小。在生产更小的便携式计算机的尝试中限制尺寸的主要部件一直是键盘。如采用标准打字机尺寸的操作键,则便携式计算机一定得至少与键盘一般大。在便携式计算机上一直使用小型键盘,不过小型键盘的操作键太小,用户操作不便,速度也慢。
在便携式计算机中采用全尺寸键盘也会阻碍计算机真正用作便携式计算机。多数便携式计算机不放置于平整的工作表面上使用户能够双手打字就无法使用。用户站立或移动时也不易使用便携式计算机。在称为个人数字助理(PDA)的最新一代的小型便携式计算机中各公司企图通过在PDA中采用手写识别软件解决这个问题。用户可直接在触敏板或触敏屏上书写来输入文本。之后利用识别软件将这种手写文本转换为数字数据。很不幸,除了一般用笔书写比打字慢以外,手写识别软件的精确性和速度至今远不能令人满意。更坏的是如今的要求输入文本的手持计算装置还在越变越小。在双向寻呼,手机及其他便携无线技术中的最新进步要求小型便携式双向信息系统,并且特别是要求可收发电子函件(“e-mail”)的系统。
因此,如果开发一种键盘使用户能够在用一只手拿着小型计算机的同时使用另一只手操作向其中输入文本将是很有益处的。现有的开发工作一直考虑采用减少键数的键盘。正如按键式电话机的键座布局所建议的,很多简化键盘采用3×4阵列的排键方式。按键阵列中的每一个键包含多个字符。于是在用户输入一个按键序列时就会出现多义性,因为每一个按键科代表数个字母。曾经提出过数种方案欲解决键击序列的多义性问题。
提出的一种无多义性指定简化键盘输入字符的方案要求用户以两次以上键击来指定每个字母。键击可以同时输入(联合键击)或顺序输入(多次键击指定)。无论是联合键击还是多次键击指定都产生了一种足够简单并且使用有效的键盘。多次键击指定效率低,而联合键击复杂,不便记忆和使用。
提出的另外一种判断对应于多义性键击序列的正确字符序列的方案总结于下面的文章中:篇名为“Probabilistic CharacterDisambiguation for Reduced keyboard Using Small Text Samples”,著者为John L.Arnott及Muhammad Y.Javad,发表在Journal ofthe International Society for Augmentative and AlternativeCommunication中(以下称之为“Arnott一文”)。Arnott一文指出大多数多义性消除方案应用相关语言中字符序列的公知统计数据来解决给定文境中的字符多义性。即现存的多义性消除系统是从统计上分析用户输入的多义性键击组合以求判断键击的恰当解释。Arnott一文还指出,有几种多义性消除系统企图使用单词级多义性消除来解码由简化键盘输入的文本。单词级多义性消除是通过在接收到一个表示单词结束的无多义性字符之后将所接收到的键击序列与字典中的可能匹配进行比较而进行多义性消除。Arnott的文章讨论了单词级多义性消除的很多缺点。例如,经常不能正确地解码单词,因为在辨识非常见单词受到限制,并且无能力解码字典中未包含的单词。由于解码的限制,单词级多义性消除不能以一键一字符的效率对无限制英文文本产生无错误解码。因此,Arnott一文的重点放在字符级多义性消除,而不是单词级多义性消除,并指出字符级多义性消除似乎是最有希望的多义性消除技术。
一种建议的基于单词级的多义性消除的方案公开在标题为“Principles of Computer Speech”的一本教科书中,著者是I.H.Witten,出版者为Academic Press(1982)(以下称之为“Witten方案”)。Witten讨论的是一种减小利用电话按键键座输入的文本多义性的系统。Witten承认对于一本24500个单词的字典中的大约92%的单词在将键击序列与字典进行比较时不会出现多义性。然而,Witten指出,当多义性的确出现时,多义性必须由系统将多义性提交给用户并要求用户在多个多义性条目中进行选择以交互方式来解决。因此,用户必须对系统在每一个单词末尾的预测做出反应。这种反应降低系统的效率并增加为输入给定的文本段所需键击数。
已经投入很大的努力来减少输入文本段所需要的键击的数目以求达到为了使多义性消除键盘可被接受用于便携式计算机的必需效率。单词级多义性消除的任何应用面对的最大挑战是能否成功地将其应用于对其应用最为有利的各种硬件平台上。如上所述,此类装置包括双向寻呼,手机及其他手持无线通讯装置。这些系统使用电池作为电源,因此其硬件设计和资源利用都尽可能节约。设计为在此种系统上运行的应用程序必须将处理器带宽的使用及存储器要求减小到最低。这两个因素的关系一般是相反的。因为单词级多义性消除系统要求有很大的单词数据库运行,并且必须能迅速对输入的键击发出反应并提供令人满意的用户界面。另外一个挑战是压缩所需数据库而不致严重影响利用数据库所需的处理时间。
单词级多义性消除应用面对的另一个挑战是要向用户提供有关输入的键击的足够的反馈。在使用普通的打字机或字处理器时每个键击都代表一个可以在输入后尽快向用户显示的唯一字符。可是在单词级多义性消除中这一点经常是不可能做到的,因为每个键击代表多个字符,并且任何键击序列都可能与多个单词或单词词干匹配。特别是在用户拼写或键击出错时这就更加成为问题,因为用户没有把握判断是否出错,必须一直等到整个键击序列输入完毕而所要求的单词未出现才知道。
针对上述挑战的单词级多义性消除系统公开在PCT申请PCT/US96/12291中,标题为“Reduced Disambiguating System”,发表日期为2月13日,是作为International Publication(国际出版物)No.WO 97/05541(以下称之为WO 97/05541出版物)。
公开在WO 97/05541中的系统包含:一个键盘,其中多个字母和符号被赋予至少几个键;一个存储器,存储一个或多个词汇模块;一个显示器,其中呈现系统文本输出;及一个处理器,有效连接到键盘、存储器和显示器。单词和单词词干(对应于一个单词的开始的字母序列)被使用含有多个互联节点的树形结构存储在词汇模块中。
在公开于此WO 97/05541中的单词级多义性消除系统工作期间,当用户输入一个键击序列时,系统处理器访问系统存储器以构造于输入的键击序列相对应的单词和单词词干。特别是每个输入的键击序列对应词汇模块树形结构的一个节点,该节点反过来又对应一个单词或单词词干。当输入附加键时,系统处理器通过将一组与先行的键击序列(即不包含最后键击的键击序列)相关联的单词和/或单词词干结合而形成新的一组一个或多个单词和/或单词词干。在存储器树形结构的环境下,一组一个或多个单词词干和/或候补单词是通过访问与树结构的节点相关联的单词和/或单词词干而派生的,这些节点与代表先行键击序列,并且,另外,还代表对应于整个键击序列的可能的单词词干和单词的节点互相连接。
根据公开在WO 97/05541中的装置,单词和单词词干是根据与被显示的单词和单词词干相关联的频率显示于系统显示装置上。当候补单词列表显示时,系统用户操作指定的键盘键来选择所要求的候补单词。
发明内容
本发明提供一个利用单词级多义性消除来解决键击中的多义性的简化键盘。在一个实施例中,系统包含一个触敏显示板,其中与显示器表面接触可对系统生成对应于接触地点的输入信号。另一种代替方式是键盘可采用全尺寸的机械键。
在一个优选实施例中,9个符号和字母键被分组成3×3阵列,另带3至6个附加的特殊功能键。某些键被赋予多个字母和符号,结果这些键(下面称之为“数据键”)的键击是有多义性的。用户可输入一个其中每一个键击对应于单词中的一个字母的键序列。因为单个键击有多义性,所以键击序列潜在地具有以同样数目的字母与一个以上的单词相匹配的能力。键击序列由将此序列与相应的存储单词或其他解释进行匹配的词汇模块实施处理。在接收到每一键击时在显示器上以选择列表的形式将与键击序列匹配的单词及单词词干提供给用户。
根据本发明的一个方面,键中有一个被赋予多个标点字符。在一个优选实施例中,句点“.”,短划“-,和撇号“’”赋予一个键。用户可在需要加入标点的地方通过一次激活一个键打入该键上的字符。因为多个标点字符赋予了一个键,所以该键击有多义性。本发明的系统可从前后的键击判断要打入的是哪一个标点并自动生成该标点。此键击序列的替代解释也可以选择列表的形式提供给用户。
最好是单词的解释以使用频率递减的顺序列出,最常用的单词列在第一个。在选择列表中的项目可通过按下一次或多次“选择”键而选定。可通过按下“退格”键“取消”键击。
用户可通过按下“选择”键来限定输入的键击序列。在接收到“选择”键之后,多义性消除系统选择最常用的单词并将此单词添加到正在构造的句子中。“选择”键是用来限制输入的键击序列。单独的显示“空格”键是用来生成空格字符,也用来限制输入的键击序列。在一个优选实施例中,“选择”键还“额外负担”第二种功能,该功能为该“选择”键还在所选择的单词的后面生成一个空格,即简化键盘多义性消除系统自动在单词中间插入一个合适的空格。
“选择”键还用来从提供给用户的选择列表中选择不大常用的单词。如在提供给用户的选择列表的顶端的单词不是所要求的单词,用户可再一次按下“选择”键从第一最常用单词移到第二个最常用的单词,以及再一次移到到第三个最常用的单词,依此类推。简化键盘多义性消除系统的此实施例没有在条目被选择时可作用于条目的专用“执行”键或“接受”键。一旦用户选定一个单词,则在接收到下一个符号或字符键击时,该单词就自动地被“接受”输入并添加到正在组合的句子。
用来进行键击多义性消除的语言学数据库包含容许系统将下面的单词或单词词干对象作为第一对象提出的信息,该单词或单词词干对象,虽然不是与对应于此当前键击序列的节点相关的最常用的单词,却形成一个更长单词或总频率大于与当前节点相关的最常用的单词的频率的多个单词的词干。此“词干提升(stem promotion)”特点特别适用于显示器面积有限的系统,因为选择列表实际上不能显示于屏幕上,用户在屏幕上只能看到在插入点处显示的作为选择列表上第一个对象的单词。结果该对象作为一个整体而言在从一个键击到另一个键击时其变化不太频繁,界面不大“跳动”并因而不大令人分心和迷惑。
对象,如单词和单词词干,是存储于使用树形数据结构的词汇模块中。在此安排中,与具体键击序列相对应的单词是利用与紧前方的键击序列(即缺少最后键击的具体键击序列)相关联的一组单词或单词词干构造而成的。以这种方式构造单词可减少词汇模块的存储空间,因为单词词干只存储一次,在树形结构的顶端,并且为利用它们构造的所有的单词共享。树形结构也可大大减少处理要求,因为无须通过检索来定位所存储的对象。存储于树形数据结构中的单词或单词词干可包含频率或其他指示将哪一个项目第一个提供给用户的排顺信息,从而可进一步减少处理要求。在本发明的实践中,此树形数据结构要利用专门的算法进行改造以便进一步压缩数据库所需的总容量而又不会在利用其进行检索与键击序列相关联的对象时造成额外的处理负担。经过改造的树形结构的另外一个方面是可自动认定用于将对象与键击序列相联系的通用化规则。利用此种规则,词汇模块可以以很高的成功几率将键击序列与起初生成该模块时未曾使用的单词与单词词干相关联。
在优选实施例中的键的内部、逻辑表示不需要与由实际键上的键标所表示的物理配置完全相同。比如,在构造用来表示法文词汇模块的数据库中,三个重音符也可与不带重音符的字符ABC相关联。这就使用户可以想起并打入包含特定的带重音符的字符的单词,为此只需要对每个字符执行一次键激活,简单地只要针对相关的带重音符的字符(accented character)激活逻辑上与其相关联的物理键即可。
将多个字母赋予一个键的组合效应,利用“选择”键限制单词,在选择列表中将最常出现的单词或单词词干列为第一个单词,在选择列表中插入多个解释,自动通过后面单词的第一个键击将选定的单词添加到句子,自动添加空格,可将用于多义性消除的大型数据库压缩而不会招致任何严重的处理损失的能力,可通过键入与不带重音符的字母相关联的键生成带重音符的特殊字符的能力,以及可根据键击的上下文自动在赋予一个键的多个标点字符之间进行多义性消除的能力产生令人惊奇的结果:对于多种语言,在具有代表性的文本材料语料库中的远远超过99%的单词可以以极高的效率在此系统上键入。采用简化键盘多义性消除系统输入这些单词中的大致95%所要求的输入键击数与利用通常的键盘输入的键击数相同。当单词包含重音符时,单词输入所需的键击数比采用通常键盘时的键击数为少。当单词是以使用频率排序时,所要求的单词通常都是排列在第一个,并且经常是列出的唯一一个。于是用户无须利用多于通常的键击数的键击而进行下一个单词的输入。因而就可以利用具有数量少的全尺寸键的键盘进行文本的高速输入。
此处所公开的简化键盘多义性消除系统可使采用本系统的计算机或其他装置的尺寸减小。键的数目减少就使得可以将装置构造成为可由用户以一只手拿持,而用另外一只手操作。所公开的系统特别适用于PDA,双向寻呼机,手机或其他小型电子装置,它们将受益于准确的高速文本输入。本系统可高效压缩用于键击序列多义性消除的大型数据库,并且在利用此经过压缩的数据库时不要求附加的处理带宽。本系统在应用于基于触摸屏的装置或具有有限数目的机械键并且也可能具有有限显示屏面积的装置时既高效又简便。
附图说明
本发明的上述各点及其他附加的优点在结合本说明书的附图参考下面的详细描述对其有所了解之后将很容易理解,附图中:
图1为采用本发明的简化键盘多义性消除系统便携式计算机的优选实施例的示意图;
图2为图1的简化键盘多义性消除系统的硬件方框图;
图3为用于简化键盘多义性消除系统的优选实施例多义性消除软件的流程图;
图4为本优选实施例用于判断哪一个文本对象应该用作供简化键盘多义性消除系统使用的树形数据结构的每个节点中的默认对象的软件流程图;
图5A和5B为示出随着每个键击执行的软件过程的优选实施例的流程图,该过程系用来对与简化键盘多义性消除系统的键击相关联的多个标点字符中间的所要求的标点字符进行多义性消除;图5A至5C示出在刚接收到键击时执行的处理,而图5D示出在键击的所有其他处理结束时执行的处理;
图6比较了键与符号的物理相关性及包含出现在物理键上的字符的重音符变化的逻辑相关性的情况;
图7为联系逻辑符号与键索引的索引表示例;
图8A示出词汇模块的树节点中的数据的内部优选配置法;
图8B示出指令的优选实施例的语义成分;
图9示出一个优选实施例中的节点结构中的可能内部数据项目的4个示例;
图10示出一个未压缩词汇模块的优选树形结构;
图11示出在从词汇模块内检索出来的过程中用于对象的中间存储的优选实施例的对象列表的状态示例;
图12示出的是用于在按键列表给定时从词汇模块检索文本对象的软件过程的优选实施例的流程图;
图13示出的是在单个按键给定时用于遍历词汇模块的树形结构及改变对象列表状态的软件过程的优选实施例的流程图;
图14为用于建立折叠压缩词汇模块的软件过程的优选实施例的流程图;
图15为折叠词汇模块的树形数据结构软件过程的优选实施例的流程图;
图16为用于定位词汇模块的树中与给定节点相比较具有最大冗余度的第二节点的软件过程的优选实施例的流程图;
图17为用于计算词汇模块的树中两个节点之间的冗余度的软件过程的优选实施例的流程图;
图18A-18K为在代表性应用中简化键盘多义性消除系统的优选实施例的示意图。
具体实施方式
I.系统构造及基本操作
图1示出的是应用于掌上型便携式计算机52中的根据本发明而形成的简化键盘多义性消除系统50。掌上型便携式计算机52包含一个在触摸屏53上实现的简化键盘54。对于这个应用,名词“键盘”的定义扩大为可包含具有键定义区的触摸屏,分立机械键及薄膜键等等的确定区域的任何输入装置。键盘54的数据输入键的数目比标准QWERTY键盘的少。在一个实施例中,键盘包含16个标准的全尺寸键,排列为4行4列。更具体而言,优选键盘包含9个数据键56,排列成为3×3阵列,另外包含一个标点键63,其中左手列是3个系统键58,包括选择键60,换档键62及空格键64,以及位于最上一行59用来取消前一个键击的退格键65。系统键的最上一行59还包括3个标明Accent(重音符),Numbers(数字)及Symbols(符号)的模式键用来进入分别打入重音符、数字及符号的模式。
在图1中示出在键盘54中的每一个键上字母的优选排列法。图1也示出与英文键盘54中的多义性数据键63相关联的标点字符的优选排列法。
数据通过简化键盘54上的键击输入到多义性消除系统。当用户利用键盘输入键击序列时,文本显示于计算机屏幕53。在显示器上定义两个区域显示给用户的信息。上边文本区66显示用户输入的文本并用作文本输入及编辑缓冲区。位于文本区下方的选择列表区70提供与用户输入的键击序列相对应的单词及解释的列表。正如下面将另外详细描述的,选择列表区70帮助用户解决输入键击的多义性。在另外一个优选实施例中,此系统可应用于具有有限显示空间的装置,并且在正在生成的文本中的插入点88只显示当前所选择的或最可能的单词对象。
图2示出简化键盘多义性消除系统的硬件方框图。简化键盘54及显示器53通过适当的接口电路与处理器100连接。在处理器上还可连接一个任选的扬声器102。处理器100接受键盘输入并管理所有的到显示器及扬声器的输出。处理器100与存储器104连接。存储器是临时存储介质,如RAM,软盘,硬盘或CD-ROM的组合。存储器104中包含管理此系统运行的所有软件。最好是存储器包含操作系统106,多义性消除软件108及下面将要讨论的相关的词汇模块110。还可以包括一个或多个任选应用软件112,114。应用软件的例子包含字处理软件,软件字典,以及外语翻译软件。语音合成软件也可作为软件提供,以便使简化键盘多义性消除系统可用作通讯工具。
返回到图1。简化键盘多义性消除系统50容许用户只利用一只手就可快速输入文本或其他数据。数据利用数据键56输入。每个数据键具有多个意义,由键上的多个字母,数字和其他的符号代表。(对于本公开申请,每一个数据键由数据键的中央行的文本标志,比如DEF标志右上数据键)。因为单个键具有多个意义,键击序列的意义是有多义性的。当用户输入时,各种键击解释就显示于显示器上的多个区域中以便帮助用户解决任何多义性问题。在具有足够的显示面积的系统中,输入键击的可能解释的选择列表76在选择列表区70提供给用户。选择列表的第一条目78被选定为默认解释并显示于文本区66的插入点88处。在此优选实施例中,此条目在选择列表76及插入点88处均在周围加实线框显示。这种格式表示确定插入点对象和选择列表之间的视觉关系并且表示此对象是隐含选择的当前选择列表中最常出现的对象。另外一种替代方式是不提供选择列表,并且在插入点88处只显示默认对象(在激活“选择”键之前会第一个显示的对象),或当前选择的对象(如果显式地选定了一个的话)。
输入键击的可能解释的选择列表76可以以多种方式排序。在正常运行模式下,在初始时将键击解释为字母条目来拼写单词(以下称之为“单词解释”〕。因此,选择列表中的条目78,79,80是与输入的键击序列相对应的单词,其排序为与键击序列相对应的最常用的单词列在第一个。例如,如图1所示,由用户输入键击序列ABC,GHI,及DEF。在键输入时,同时执行词汇模块查找以定位具有匹配键击序列的单词。从词汇模块认定的单词在选择列表76中显示给用户。单词按使用频率排序,最常用的单词首先列出。利用上述的示例键击序列,从词汇模块中认定单词“age”,“aid”及“bid”作为与键击序列对应的最可能的单词。在认定的3个单词中,“age”比“aid”或“bid”更为常用,所以列在首位。第一个单词也作为默认解释而暂时安置在插入点88处。在按下选择键60之前,取作默认解释的此第一单词采用同样的格式安置于插入点88及选择列表76中。比如,如图1所示,此单词在文本中以带有实线框的形式出现,实线框的大小为可以容纳该单词。在显示区不够大而难以在屏幕上列出实际的选择列表的系统中,潜在匹配词列表保存在存储器中,其排序系按照匹配文本对象的相对频率。
在此优选实施例中,在输入与所要求的单词相对应的键击序列之后,用户只要按下空格键64即可。默认单词(选择列表上的第一个单词)立刻输出到插入点,而选择列表清空,并且一个空格也立即输出到文本区的插入点处。另外一种方式是任何其他可显式生成无多义性字符的(如进入符号模式并按下一个无多义性地与符号模式中的单个具体字符相关联的键)手段都可用来达到同一目的,例外是具体无多义性字符(不是空格键)是挂在插入点88处的输出单词之后。另外一种方式是可按下标点键63生成句点,短划或撇号,解释见下。
如选择列表中的第一条目不是键击序列的所要求的解释,用户可重复按下选择键60通过选择列表中的所有条目。按下选择键将重复显示选择列表76中的第一条目,其周围带有一个点线框,并且也在插入点88处重复显示第一条目,其周围的格式框完全相同。从意图上来讲,从实线框变为点线框表示通过用户按下选择键显式地进行的选择文本已经接近接受为正在生成的文本。如选择列表中的第一条目是键击序列所要求的解释,用户就继续利用数据键56继续输入下一个单词。如选择键还额外负担有空格生成功能,则在插入下一个单词之前生成一个空格。否则下一个单词的开始将与当前的单词末尾连接不插入空格。每按下一次选择键,选择列表中的下一个条目就加上点线框,并且该条目的复制条目将临时安置于插入点(代替原来临时安置的单词)并添加点线框。将下一个条目临时安置于文本区使得用户可以将注意力保持文本区而无须去参考选择列表。用户也可以选择使系统配置成为在接收到第一次按下选择键的信息时临时安置于插入点的单词可扩展(垂直或水平)为显示当前选择列表的复制列表。用户也可以选择在此复制的选择列表中显示最多的单词数。另外一种方式是用户可选择使选择列表一直在插入点处显示,甚至在第一次激活选择键之前。多义性消除系统将下一个单词的开始(由激活数据键56或生成显式无多义性字符发出信号)解释为肯定当前选择的条目为所要求的条目。于是所选定的单词就作为用户的选择保持于插入点,而其周围的框子彻底消失,并且该单词以正常字体显示不带特别格式。
如选择列表上的第二条目是所要求的单词,用户就可按下两次选择键输入下一个单词,并且多义性消除系统自动将第二条目作为正常文本安置于文本区。如第二条目不是所要求的单词,用户可以检查选择列表并按照所要求的次数按下选择键来选择所要求的条目而输入下一个单词。当到达选择列表的末尾时,如继续按下选择键就会使选择列表滚动并在选择列表的尾部添加新的条目。在选择列表顶部的那些条目将从显示给用户的列表中消失。在用户按下任何一个数据键56来继续输入文本时经过多次按下选择键而选择的条目将自动地安置于文本区。另外一种方式是在输入与所要求的单词相对应的键击序列之后,用户可通过触摸选择列表从其中选择所要求的单词。所选定的单词立即输出到插入点不添加空格,并且选择列表清除。之后用户可按下空格键生成一个空格,该空格立即输出到文本区的插入点88处。
在大多数文本输入时用户的键击序列是要输入组成单词的字母。但是,应该了解,与每个键相关联的多个字符和符号可容许单个键击和键击序列具有数种解释。在优选简化键盘多义性消除系统中,在键击序列得到解释和作为单词列表显示给用户的同时,各种不同的解释将自动确定并显示给用户。
例如,键击序列可解释为与用户可能输入的可能的有效单词序列相对应的单词词干(以下称之为“词干解释”)。与单词解释不同,单词词干是不完整的单词。通过指明最后键击的可能解释,单词词干使用户可以很容易肯定输入的键击序列正确,否则,如果在单词输入过程中用户一时走神,可重新打入。如图1所示,键击序列ABCGHI DEF被解释为可组成有效词干“che”(可组成单词“check”,“cheer”等等)及“ahe”(可组成单词“ahead”,“ahem”等等)。于是在选择列表中提供词干解释作为条目81及82。最好是词干解释按照通过添加数据键的附加键击每个词干可生成的单词集合的复合频率排序。待显示的此种条目的最大数目及最小复合频率可由用户选定或由系统配置,所以有些词干解释可能不显示。在当前的示例中,词干“bif”(可组成单词“bifocals”),“cid”(可组成单词“cider”)未显示。当在选择列表中列出词干解释时,如词干解释与选择列表中的单词重复,则将该词干略去。但是,当词干被略去时,与略去的词干相对应的单词可以符号标志以便表示还存在以此单词作为词干的更长的单词。词干解释可通过肯定输入了可导致所要求的单词条目的正确键击而为用户提供反馈。
简化键盘多义性消除系统的运行由多义性消除软件108管理。在本系统的一个优选实施例中,选择键承担的“额外负担”是它既可以执行从选择列表中选择所要求的单词的功能,又可以在合适处生成显式空格字符。在此系统中,标志“OverloadSelect(额外负担选择)”(在步骤164及174A中援引)设定为“真”。在将单个的空格键定义为生成显式空格字符的系统中,标志“OverloadSelect(额外负担选择)”设定为“伪”。
图3为用来生成选择列表帮助用户对多义性键击序列进行多义性消除的多义性消除软件的主例程的流程图。在步骤150,此系统等待接受键盘54的键击。在接受到键击时,在步骤150A系统执行在图5A中所示的标点键63所要求的预处理,这一点在下面详细讨论。在判定步骤151中,进行检验以判断所接受的键击是否是模式选择键。如是,则在步骤172中系统将标志设定为表示当前系统模式。在判定步骤173中,进行检验以判断系统模式是否改变。如是,则在步骤171中在需要时重绘键顶以反映当前系统模式。如系统模式未改变,或已改变并其后键顶经过重绘,则主例程返回步骤150并等待下一个键击。
另一方面,如步骤151判断键击不是模式选择键,则在判定步骤152中,进行检验以判断所接受的键击是否是选择键。如不是选择键,则在判定步骤153中,进行检验以判断系统是否是处于特殊显式字符模式,如显式数字模式。如是,则在步骤167中,接受该项目并作为正常文本输出。如临时接受的项目不在选择列表中,或如是并且已经接受,则在步骤168中,与键击相对应的显示字符输出到文本区。其次,在判定步骤169,进行检验以判断系统模式是否自动改变,就像在符号模式的场合那样。如是,执行转到步骤170和171,其中系统模式返回到先前是活动的模式并且键顶进行相应的重绘。之后执行返回步骤150。
如在步骤153中无显式字符模式是活动的,则在步骤154中,此键击添加到存储的键击序列中。在步骤156中,与键击序列相对应的对象从本系统中的词汇模块中认定。词汇模块是与键击序列相关联的对象的库。一个对象是根据检索的键击序列要检索的任何一片存储数据。例如,在词汇模块内的对象可包含数字,字母,词干,词组,或系统功能和宏。这些对象的每一个简要地描述在下表中:
对象 | 相应的数据 |
数字 | 每一位相应于单个键击的数字,比如两位序列“42”。 |
字母 | 与成对键击相对应的字母与字母序列,比如3字母序列“str”。各对键击用于利用输入单个字母的两键击指定方法来进行多义性消除。 |
单词 | 与单个或多个键击相对应的单词,比如4字母单词“done” |
词干 | 代表组成一个单词的更长的字母序列的有效部分的字母序列,比如“able”作为单词“albeit”。 |
词组 | 用户定义的或系统定义的与单个或多个键击相对应的词组,比如“To Whom it MayConcern:”。 |
系统宏 | 描述系统或用户定义的功能的单词和相关的代码,比如用来清除当前文本区的“<clear>”。除了描述词,在词汇模块中系统宏对象与执行指定功能所必需的执行代码相关。 |
上面讨论了优选词汇对象,可以理解,还可以考虑其他的对象。例如,图像对象可与所存储的图形图像相关联,或语音对象可与所存储的语音段相关联。还可以预见拼写对象为可以将通常误拼的单词的键击序列及打字错误与单词的正确拼写联系起来。例如,包含字母序列“ie”或“ei”的单词将出现在单词列表中,即或这些字母的键击意外地会与其正确序列相反。为了简化处理,每个词汇模块最好是包含类似的对象。但可以理解,各种对象可在词汇模块内混合。
在图6中示出单个键540的代表性示意图。在优选实施例中的键的内部逻辑表示不需要与物理配置完全相同。比如541是与法文词汇模块相关联的键的优选逻辑描述。法文字母表需要三个重音符542()。另外,这些符号按照其在法文词汇中的使用频率降序排列最好是索引为543。扩展时,图7是联系逻辑符号与用于对输入法文单词的按键进行多义性消除时所使用的键索引的优选表。
在图10中示出单词对象词汇模块110的代表性示意图。根据相应的键击序列使用树形数据结构来组织词汇模块中的对象。如图10所示,词汇模块中的每个节点N1,N2,...N9代表一个具体键击序列。树中的节点通过路径P1,P2,...P9连接。由于在此多义性消除系统实施例中有9个多义性数据键,词汇模块树中的每个父节点可与9个子节点相连接。通过路径连接的节点代表有效键击序列,而节点缺乏路径代表无效键击序列,即不与任何存储单词相对应。
词汇模块树根据接收到的键击序列进行遍历。比如,按下自根节点111的第一数据键使与第一数据键相关联的数据从根节点111内部取出并进行评估,之后遍历通到节点N1的路径P1。在按下第一数据键之后按下的九数据键使与第九数据键相关联的数据从根节点N1内部取出并进行评估,之后遍历通到节点N19的路径P19。正如下面将详细描述的,每个节点与多个与键击序列相对应的对象相关联。当接收到每个键击并处理相应的节点时,由与键击序列相关联的对象生成一个对象列表。多义性消除系统的主例程利用每个词汇模块的对象列表生成选择列表76。
图8A是与每个节点相关联的优选数据结构400的框图。数据结构包含连接词汇模块树中的每个父节点到子节点的信息。此数据结构还包含用于认定与节点所代表的具体键击序列相关联的对象的信息(指令)。
在节点数据结构400中的第一字段是有效键位字段402,它表明子节点的数目与标志,子节点与父节点连接以及9个可能键中的哪些与认定与节点所代表的具体键击序列相关联的对象的信息(指令)相关联。因为在此优选实施例中有9个数据键,所以最多可以有9个子节点与任何一个父节点连接,从而在有效键位字段中提供9个有效键位来表示存在或不存在子节点。每个有效键位与包含词汇模块中的相应各子节点数据结构的指针的指针字段404a,404b,...404n相关联。因为子节点只在与子节点相关联的键击是与父节点相关联的键击序列的有效继续才存在,所以指针字段的数目对每个节点是不同的。比如,有效键位字段402可表示9个可能键击只有6个导致有效子节点。因为只有6个有效路径,在父节点的数据结构中只包含6个指针字段。有效键位字段402是用来查明包含在节点数据结构内的指针字段的标志。如键击不导致有效子节点,则相关联的指针字段从节点数据结构中去掉以便节省用来存储词汇模块所需要的存储空间。
与每个节点相关联的有多个与节点所代表的键击序列相对应的对象。每个对象由附属于具体有效键的包(分组)408中的406字段中的指令描述,该有效键由包含在节点数据结构中的有效键位字段402中的位模式指明。
每个包406中的每个指令描述与每个节点代表的键击序列相对应的对象中的一个。描述一个对象要求维护两个对象列表。图11示出由多义性消除软件过程由词汇模块树中的父与子动态生成的代表性对象列表。对象列表430是一个包含与代表2个键击的节点相关联的对象1-N1的对象列表。对象列表440是一个包含与代表3个键击的节点相关联的对象1-N2的对象列表。每个对象列表包含与每个节点相关联的所有对象的列表。对象列表430与代表图1的键盘的键击序列ABC ABC的父节点相关联。对象列表440与代表键击序列ABC ABC TUV的子节点相关联。可以理解,对象列表的大小是根据与每个节点相关联的大小的实际数目而变化。
与子节点相关联的每个对象是通过在为父节点构造的对象上添加一个字符序列而构造的。因此,图8A中的指令包406就包含一个带有示于图8B的OBJECT-LIST-INDEX字段556的指令558,可用来从父节点对象列表中认定用于构造子节点对象的对象。比如,参考图11,在老对象列表430中的第一对象“ba”用来构造新对象列表440中的第二对象“bat”。原来的对象标志符字段OBJBCT-LIST-INDEX556就可提供到老对象列表中的条目的链接以认定用来构造新对象的老对象。
指令558也包含LOGICAL-SYMBOL-INDEX字段555以指示要添加到认定对象的符号以便构造新对象。因此LOGICAL-SYMBOL-INDEX字段就从节点键击序列中的最后键指定将要添加以构造新对象的字母。此字母是由图7所示的表指定,其中的LOGICAL-SYMBOL-INDEX字段对应于表550的第一行中的逻辑符号索引552,并且指定键出现的行是由此表的第一列中的给定的键索引认定。比如,参考图11,在新对象列表440中的第一对象“CAT”是利用老对象列表430中的第二对象“CA”和添加一个指定T的附加键击而构造。在图7的逻辑符号索引表中“T”是在TUV键上的第一逻辑字母,因此生成对象“CAT”的指令的LOGICAL-SYMBOL-INDEX字段设定为1以指示此表中的第一字母。以这种方式对对象进行编码是利用与每个节点相关联的已知键击序列及字母到键的已知关联以便大大减少每个词汇模块所需的存储空间。
这一词汇编码技术也容许不经检索而访问词汇模块条目。在接收到每个新有效键击时系统执行与当前节点上的键相关联的指令以便从老对象构造新对象,之后按照单个指针到达适当的子节点。另外,不需要将每个对象存储于词汇模块中,新对象是利用LOGICAL-SYMBOL-INDEX字段定义而添加到老的解释上。这样,由词汇模块中多个对象共享的单词词干就只存储一次而能够原来生成所有由它派生的对象。公开的这种存储方法要求维护词汇模块树中的父节点对象列表以便构造子节点的对象列表。
如图7所示的逻辑符号索引表中的条目不一定必须是单个字符-任意序列可占据一个单个条目。比如,ASCII字符串“tlike”可添加到老对象列表的第二对象“ca”而形成“catlike”。采用这种方式,输入键击序列的长度不一定必须与相关联的对象的长度直接对应。存储于符号索引表内的条目中的ASCII序列将容许词汇对象由任意的键序列认定,即存储于词汇模块树内的任意位置。
可以将具有任意键击序列的对象存储的能力用来加速系统对缩写和缩略字的处理。缩写和缩略字可由与其忽略标点的纯字母内容相对应的键击序列认定。结果用户可以不必输入标点而很容易访问缩写和缩略字,这可显著地节约键。比如,用户输入“did’t”的键击序列时可不必输入“n”和“t”中间的撇号。词汇模块中与键击序列“didnt”相对应的指令援引在“n”和“t”中间有撇号的ASCII序列作为表中的唯一一个符号。所以此多义性消除系统将自动向用户显正确的单词“did’t”而无需用户输入标点字符。此多义性消除系统利用同一个表可恰当地显示具有独特字符的外来词(如“”可以作为TUV键上的单个键击输入)。大写可以以类似方式处理。字母永远大写的单词,首字母大写的单词,单词中间字母大写的单词可与去掉表示大写的键击序列相关联,用户就无需输入此类大写。在每个指令558中还可包含对象类型字段原来指定关于正在构造的对象的附加信息。此对象类型字段可包含一个指定所生成的对象是单词,单词词干或其他对象的代码。所以词对象类型字段容许将不同类型对象在给定的词汇模块中混合。此外,对象类型字段也可包含有关词类的信息,有关对象如何大写的信息或构造各种词形变化和词尾所需的信息。利用具有词类信息的词汇模块的简化键盘多义性消除系统可利用附加信息进行句法分析来改进多义性消除过程。对象类型字段也可包含独特代码以容许传输压缩形式的文本。此独特代码可传输到远方终端代替传输输入的键击序列或相关联的多义性消除字符。
此优选词汇模块树形数据结构的关键特点之一是与每个节点相关联的对象是存储于节点数据结构400中按其使用频率排列。即由包406中的第一指令构造的对象具有比由包406中的第二指令(如存在)构造的对象高的使用频率,而后者又具有比由包406中的第三指令(如存在)构造的对象高的使用频率。这样,对象在对象列表中自动按使用频率降序排列。此描述中所谓单词对象使用频率指的是在具有代表性的应用语料库内使用给定单词的概率,该值与每个单词在语料库中出现的次数成正比。在单词词干对象的场合,使用频率由共享该相同词干的所有单词的频率的总和确定。
将使用频率或其他等级信息存储于每个节点可避免在使用系统时需要判断和按每个对象的等级排序。这一点在单词对象词汇中有重要意义,因为存储的对象可包含大量更长的单词共有的共享词干。动态地判断这些词干的相对等级(rank)将要求子节点的整个树并累积关于每个词干的信息,为便携式计算装置添加明显的处理开销。此外,当使用频率或等级由节点中的对象406的排序隐含表示时,这一信息不需要另外的存储空间。
虽然对象在节点数据结构400内的存储是按照使用频率排序,但可以理解使用频率字段也可以与每个指令相关联。使用频率字段将包含与此相关对象的使用频率相对应的代表数。不同对象之间的使用频率将通过比较每个对象的使用频率而确定。使用将使用频率字段与每个对象包相关联的这后一种构造方法的优点是使用频率字段可由多义性消除系统改变。比如,此系统可改变使用频率字段以反映用户在代表性文本输入期间用户使用词汇模块内的某些对象的频率。
返回到图3,在标志156中,与接收到的键击序列相对应的那些对象在每个词汇模块中认定。图12示出的是用于分析所接收的键击序列以便认定在具体词汇模块中的相应对象的子例程600的流程图。子例程600构造具体键击序列的对象列表。步骤602清除新的对象列表。步骤604在其根节点111启动遍历树110。步骤606取得第一键的按下。步骤608到612形成处理所有的可获得的键的按下的循环。步骤608调用图13的子例程620。判定步骤610判断是否所有的可获得的键的按下都已经处理。如果有任何键的按下尚未处理,步骤612转到下一个键的按下。如所有的键的按下都已经处理,步骤614返回到完成的对象列表。可以理解,如主例程在处理每个新键击序列时都重复调用子例程600,每个新键击序列比最后一个多一个键并且除最后一个以外的所有的键都与上一次启用相同,则如果子例程620直接被调用来只处理最新一次键按下,初始化步骤602,604可以绕过。
图13示出的是从子例程600调用的子例程620的流程图。在图3所示的主例程中键击由系统在步骤150中检测。如果存在通到与键击相对应的子节点的有效路径,则接收到新键击就会引起在词汇模块树中的下行遍历。在图13中的步骤621,就检查节点数据结构400的有效键位字段以判断是否有效指令和指针与所接收的键击对应。在判定步骤622,检查有效键位字段以判断是否存在由指令406和指针字段,如404a,组成的有效包408与输入的键击相对应。如果没有有效包与键击对应,在步骤624老对象列表将返回到主例程以生成选择列表,因为接收到的键击是不与词汇模块内的任何对象对应的无效键击序列的一部分。由步骤622及624构成的主例程620的分支就忽略任何无效键击序列并返回在父节点生成的对象列表以便在多义性消除系统生成的选择列表中进行可能的插入。
如在步骤622存在与所接收到的键击相对应的有效包,子例程转到步骤626,在该步骤新对象列表复制到老对象列表。如上所述,为了构造新对象列表,多义性消除系统从复制老对象列表开始。因此在步骤626,将来自前一个节点的对象列表存储以便可原来构造新对象列表。
步骤628取出与给定键相关联的第一有效指令。步骤630将迭代器NEW-INDEX初始化为1以使第一指令将在新对象列表中生成第一条目。之后子例程进入包括步骤632至642的循环以构造与有效指令相关联的对象列表。在步骤632中,检查OBJECT-LIST-INDEX字段556并从老对象列表装入相应的对象。在步骤634中,检查LOGICAL-SYMBOL-INDEX字段555并将合适的符号(通过像550这样的图7所示的逻辑符号索引与接收的键相关联)添加在认定对象的末端。可以理解,在步骤634,如果在给定键551向符号表550和逻辑符号索引552的输入保持一个字符序列,则长度大于1的ASCII序列可添加到认定的对象上。在步骤636,组合对象和符号作为新对象存储于新对象列表。在步骤638中进行检查以判断子例程是否已经处理在给定节点与给定键相关联的最后有效指令。如最后有效指令尚未处理,则在步骤640中取出下一个指令。在步骤642中,NEW-INDEX加1。
如在判定步骤638中的检查表明对此节点所有的对象都已经构造,则子例程转向步骤644并按照相关联的指针到子节点。在步骤646新对象列表返回到主例程以生成选择列表。可以理解,用来生成与每个节点相关联的对象列表的主例程600对于从用户接收到的每个键击都执行一次。在用户输入新键击序列时,不进行词汇模块的“检索”,因为每个键击只是使子例程在词汇模块树内前进一个层次。因为不对每个键击序列进行检索,词汇模块以最少的处理开销将与每个节点相关联的对象的列表返回。
可以理解,在词汇模块对象及键击序列之间的这种关系是词汇模块的使用细节。当处理与当前输入键序列相关联的节点时,可能要遍历附加的子节点以便认定具有以输入键击序列开始的键击序列并且其出现相对频率大于某一阈值的候补对象。此阈值可根据当前节点的特性动态地进行调整,比如根据其是否生成足够的对象来填充显示器上的选择列表区70。对象的认定是通过在词汇模块树中沿有效路径遍历一直到对象认定为止。此种候补对象可在由输入单词列表构造数据库时认定,并且与候补单词完成相对应的节点和指令可进行标记使系统能够识别何时对该节点的遍历对应于候补单词的生成。此专门标记是需要的,因为同一节点和指令可能在下述的压缩过程中在树形结构转换后在处理对应于不同单词的不同的输入键击序列时受到遍历。为区分候补单词序列与其他序列只需要增加足够的信息,如序列长度或在此键序列中的已知位置的特殊键值。另外一种替代办法是候补单词的端节点可进行特别标记使其不会与用于其他单词的节点合并,见下述。于是多义性消除软件可在当前节点的后代的限定的附近内向前搜索这些候补单词,如发现,就可在所有的相应于对象的键击输入之前将其置于选择列表中。这些对象是在与输入的键击序列直接相关联的对象之外包括进来的。在选择列表中显示与较长键击序列相关联的对象(称之为“前视”特征)使得用户可以有选择地立即选定对象而无需结束剩余的键击来指定该对象。
返回到图3。在步骤158-165中,通过检查词汇模块中的键击序列而发现的对象被授予优先级并在选择列表76中显示给用户。为了判断在选择列表中显示的对象的次序,在每个词汇模块之间以及在从每个词汇模块返回的列表之间建立优先级。
为了给从各种词汇模块认定的对象列表确定优先级,在步骤158中检查简化键盘多义性消除系统的运行模式。如上所述,在正常运行模式中,单词解释首先显示于选择列表中。来自单词词汇模块的对象列表将被赋予比来自其他词汇模块的对象列表更高的优先级。反之,如多义性消除系统是在数字运行模式下,数字解释将被赋予比其他词汇模块更高的优先级。因此,多义性消除系统的模式确定词汇模块对象列表之间的优先级。可以理解,在某些模式中,词汇模块对象列表可整个从选择列表中去掉。
由词汇模块生成的对象列表可能只包含单个一个条目,或是包含多个条目。在步骤160中,如对象列表包含多个条目,就决定来自同一词汇模块的对象之间的优先级。对于与在给定的词汇模块中查寻的具体键击序列匹配的对象也赋予优先级,该优先级确定其互相间的相对显示。如上所述,最好默认显示顺序是由具有使用代表性的语料库中的使用频率的降序。与每个对象相关联的优先级数据可用于将对象在选择列表中排序。因为选择列表区70可显示的条目数目有限,在低于预定最小使用频率的对象可能不在选择列表的初始显示中。这些未显示的条目以后会在用户滚动到显示列表尾部之外时添加到此选择列表中。选择列表自动滚动以使当前选择的对象一直可见。用户也可以利用专用滚动按钮进行手工滚动而使另外的对象进入视图,在此场合当前选择的对象可能从视图中滚出。另外一种替代的方式是选择列表上的所有的对象可按照用户的要求同时显示在“下拉式”列表中。
与在词汇模块中查寻的对象的显示相关联的很多属性是可以通过访问适当的系统菜单而由用户设定的。比如,用户可指定在选择列表区中各个对象的顺序或对象的类别。用户也可以设定判定词汇模块之间和从每个词汇模块中认定的对象之间的优先级。这样,在选择列表区中显示给用户的条目的数目可保持最少。在选择列表区中的附加条目永远可通重复按下选择键滚动进入视图。
在决定了对象之间的优先级之后,在步骤165中由认定的对象构造选择列表并显示给用户。作为由用户输入的多义性键击序列的默认解释,选择列表中的第一个条目临时突显置于文本区66的插入点88处。之后多义性消除软件例程返回到步骤150中等待下一个键击。
返回到步骤152。如检测到的键击是选择键60,则从判定步骤150选取“yes(是)”分支转向判定步骤163检查判断当前的选择列表是否为空。如是,则在步骤164,如OverloadSelect标志设定为“真”时,就生成一个显式空格并立即示出到文本区。OverloadSelect标志是一个系统标志,在不包含显式空格键64的系统中此标志设定为“真”,并且在此系统中对任何激活选择键连续序列的第一个激活生成一个空格字符,或是如果在选择键激活时选择列表为空时也生成一个空格字符。在对接收到的键击进行这种初始处理之后,在步骤164B系统执行图5B所示的对标点键63所要求的后处理,详情见后。之后执行返回步骤150。如在判定步骤163中,选择不为空,则选取“no(否)”分支而转向步骤174A。在步骤174A中,如OverloadSelect标志设定为“真”,在选择列表的每个文本项目的尾部和在插入点添加一个空格。在步骤174中,围绕选择列表中的第一条目(以及在临时安置该条目的插入点)的实线框改变为点线框。在图3所示的步骤175中,系统等待检测用户输入的下一个键击。在接收到键击时,在步骤175A系统执行在图5A中所示的标点键63所要求的预处理,详细讨论见后。在判定步骤176中进行检查以判断下一个键击是否是选择键。如下一个键击是选择键,则在步骤178中系统前进到选择列表中的下一个条目并将其标记为当前选定项目。在对接收到的键击进行这一初始处理之后,在步骤178B中系统执行图5B所示的对标点键63所要求的后处理,详情见后。在步骤179中,当前选择的条目临时显示于选择列表中和在插入点处,其周围带有一个点线框。之后例程返回到步骤175检测用户输入的下一个键击。可以理解,由步骤175-179形成的循环容许用户通过多次按下选择键选择所输入的具有较低的使用频率的多义性键击序列的各种解释。
如下一个键击标志选择键,则例程从判定步骤176继续转向步骤180,在该步骤中将临时显式的条目选择为键击序列的解释并在文本区中转换为正常文本格式。在步骤184中,从存储器中清除老的键击序列,因为在选择键之后接收到多义性键击向系统表示一个新的键击序列的开始。之后在步骤154中利用新接收到的键击开始新的键击序列。因为具有较高使用频率的单词解释是作为默认选择显示,多义性消除软件的主例程使用户可继续输入文本,而只有在很少的场合需要另外激活选择键。
如上所述,在正常运行模式下选择列表76中对应于单词的条目首先列出。在其他情况下,有可能希望其他的键击序列解释在列表中首先列出。比如,在显示区不足以支持在显示屏上显示文本选择“列表”的系统中,取自数据库的可能匹配对象的集合由软件存储于内部并且在插入点只显示默认对象或显示选定对象(在一次或多次激活选择键之后)。
在此种系统中,在插入点显示的对象可能随着在输入序列添加的每一个键击发生显著的改变,因为与新的键击序列相对应的使用频率最高的单词可能与前一次输入的序列所对应的最常用的单词外形很少或毫不相象。结果可能是在插入点处显示的对象对用户可能表现为“跳动”,并且其不断改变的外表可能令人分心,尤其是对于新用户或不熟悉的用户。为了减轻在插入点的这种“跳动”,系统可配置成为不是永远显示与当前键序列相对应的频率最高的单词对象,而可以显示一个单词或单词词干,如果它对应于一个较长的单词或总频率超过阈值的多个单词。这种“词干提升”的结果是在插入点的显示的单词的改变经常仅仅是在原来显示的文本对象上添加一个字母。比如,在打入“this”一词时用户使用4次键击TUV,GHI,GHI,PQRS。不执行“词干提升”时,系统将会在插入点显示如下的对象序列(每次一个):“t”,“vi”,“ugh”,“this”。执行“词干提升”时,系统将会在插入点显示如下的对象序列(每次一个):“t”,“th”,“thi”,“this”。结果是新用户或不熟悉的用户将会更相信多义性消除系统将会正确地解释他或她的键击。图4的流程图示出系统如何判断对给定的键击序列在给定节点显示哪一个对象。
图4为示出在每个节点对应于一个多义性键击序列的树形结构的节点中生成单词数据库的的软件程序例程的流程图。在每个节点,生成多个可与由键击序列生成的可能的单词或单词词干相对应的单词对象。在步骤190中,设定阈值“MinFactor”。此阈值对应于一个最小因子,此因子规定文本对象要想提升超过单词对象(即成为在该节点的选择列表中首先显示的默认对象)其总频率必须超过在节点处频率最高的单词对象的总频率的倍数。单词对象的总频率是单词本身的频率加上以该单词为词干(即对应于较长单词的几个起始字母)的所有更长的单词的频率的总和。在步骤191中,设定第二阈值“MaxWordFreq”,该阈值对应于一个单词的最大相对频率,另外一个词干的值超过此值就可以提升到该单词之上。在步骤192中,树中的所有节点受到遍历并且标记为未处理。在步骤193中,例程判断是否树的所有节点都已经处理过。如是,则例程停止,否则在步骤194中,系统取出下一个未处理节点并判断频率最高的单词对象的频率(MostFreqWord),该单词及以该单词为词干的所有单词的频率的总和(MostFreqWordTot),以及以某一对象为词干的所有的单词的总频率在与节点相关联的所有对象中最高的该对象(MostFreqStemTot)。在步骤195中,系统检查是否MostFreqStemTot至少超过MostFreqWordTot值MinFactor倍。如否,与节点相关联的默认对象就不改变,而系统返回步骤198,在该步骤节点标记为已经处理之后返回步骤193。如在步骤195中MostFreqWordTot被超过至少MinFactor倍,系统就检查是否与节点相关联的当前默认对象的频率(MostFreqWord)超过另外一个对象可以提升到一个单词之上的最大值(MaxWordFreq)。如是,与节点相关联的当前默认对象就不改变,并且系统返回步骤198。如否,在步骤197中节点改变,指定与MostFreqStemTot相关联的对象为与节点相关联的默认对象,之后返回步骤198。
需要步骤196中的检查来防止很常用的词干提升到常用单词之上。比如,单词“for”的词干“fo”具有很高的频率,因此对于合理的MinFactor值(比如1.5),在步骤195中的检查定会满足,即使常用词“do”也在同一节点中出现。单词“do”明显具有相对高的频率,并且如果“do”不作为该节点的默认对象出现,则对多义性消除系统的效率将是巨大的伤害。
II.先进的系统特征
1.标点的多义性消除
图1示出本发明的一个优选实施例,其中数据键56的左上键(“标点键”)与标点字符句点,短划和撇号相关联。所有这些字符在多种语言中很常用,比如在英文和法文中。其他字符集合(比如字符逗号,短划即破折号)可赋予此键并利用与本发明的多义性消除系统方法同样的原理消除多义性。此系统利用围绕标点键63键击的键击的上下文来判断应该是使用哪一个标点。标点键63默认行为是可以修改以适应处理某些语言的某些特例。
图5A和图5B的流程图示出系统在激活标点键时如何判断生成哪一个字符。利用与标点键63相关联的不同的标点字符生成的不同文本对象添加到选择列表中。激活标点键63的默认解释由哪一个对象作为第一对象添加到选择列表来确定。也可以通过激活选择键或通过在显示的选择列表中选择所要求的解释来选择另外的替代解释。图5A示出在示于图3的正常系统处理(其中系统对当前输入的每个键击序列添加应该键击)之前处理系统接收到的每个键击的例程判断哪些单词对应于新的输入序列并根据此新序列生成更新的选择列表。在图5A中示出的处理出现在图3的步骤150A和步骤175A中。图5B示出对新生成的选择列表进行后处理的例程。在图5B中示出的处理出现在图3的步骤164B和步骤178B中。假设所有的标志在系统初始化时都已清除。
在开始对每个键击进行预处理时,在图5A的步骤200中,检查标志ClearPunctMode。设定标志ClearPunctMode(在步骤262)以表示在处理下一个键击之前所有的标点检相关标志击缓冲区应清除。如在步骤200发现此标志设定,则在步骤202将专门用于标点键63处理的所有的标志及缓冲区清除。同样的标志击缓冲区在系统初始化时也清除。curPunctWorld缓冲区是用来存储标点键软件将添加标点字符以生成添加到选择列表的文本对象。pState标志存储标点键软件的当前状态并区分标点键63激活的上下文的不同的可能场合。如在步骤204中正在处理的当前键是标点键63,则在步骤206当前默认(或显示选择对象)存储在curPunctWorld缓冲区,并且在步骤208中将标志pState设定为PUNCT_KEY,表示标点键63是最后接收到的键。步骤212代表如图3所示的从步骤151或176开始的键击的正常处理。之后从图5B所示的连接器D开始继续执行后处理。
如在步骤204中当前键不是标点键,则在步骤220中,如pState未设定,则在步骤222中将专门用于标点键处理的所有的标志及缓冲区清除,并在步骤212中继续键击的正常处理。如在步骤220中pState标志设定为非零值,则在步骤230中如当前键是多义性数据键56中的一个,则系统进到步骤232检查系统Apostrophe_S是否设定。只有对像英文这样的语言Apostrophe_S标志设定为“真”,在英文中通常在词尾在撇号后跟有字母“s”(形成所有格或单词“is”的短缩形式)。如Apostrophe_S标志设定为“真”,则如在步骤234中发现pState标志设定为PUNCT_KEY(表示前一个键的激活所标点键)并且如在步骤236中当前键是与字母“s”相关联的数据键(图1中的PQRS键),则在步骤238中将pState设定为APOS_S,表示接收到标点键63并识别到在撇号后面跟有“s”的特别情况。如任何一个检查(步骤234和步或步骤236)都失败,则在步骤237中将pState标志设定为PUNCT_RCVD,表示接收到标点键63并且将执行标点键处理,但是当前无特别情况(如识别到在撇号后面跟有“s”)。在任何一种场合,在pState设定之后,都将在步骤212中继续进行键击的正常处理。
如在步骤230中,判断当前键不是多义性数据键,则在步骤250中系统判断当前键是否是退格(BackSpace)键。如是,则在步骤252中将标点键相关标志及缓冲区恢复到其在被删除的键击之前的状态,之后在步骤212中继续(经过连接器C)进行键击(退格键)的正常处理。如在步骤250中当前键不是退格键,则在步骤260中,执行一次检查判断当前键是否是MODE(模式)键,选择键或换档键(即不会导致当前单词被“接受”和输出到文本缓冲区)。如是,在步骤212继续(经过连接器C)进行键击处理。否则,在步骤260中判断此键是一个将导致此当前单词被接受的键,并且在步骤262中,清除pState标志和将ClearPunctMode设定以使所有的标点键相关标志及缓冲区在接收到下一个键击将在标志202中清除。
如在步骤232中判断Apostrophe_S标志未设定,则在步骤270中系统判断Apostrophe_Term是否设定,并在步骤272中判断pState是否设定为PUNCT_APOS,表示标点键63接收到且识别到以撇号结尾的单词已经添加到选择列表的特别情况。Apostrophe_Term标志设定为“真”是对像法文这样的语言,在法文中通常将各种一撇号结尾的单词(例如l’,d’等等)与后面的单词连接而不在两个单词中间添加空格。在这种语言中,使系统自动生成隐式“Select”以使用户能够立即开始打入后面一个单词而无需显式激活选择键是很方便的。如则在步骤270和272中的检查满足,则接受当前默认或选择的单词并输出到文本缓冲区就像激活了选择键一样。之后在步骤276中,清除当前键击列表,执行转向步骤262,在其中清除pState标志并设定ClearPunctMode标志。另一方面,如在步骤270中系统判断Apostrophe_Term未设定,则在步骤272中pState设定为PUNCT_RCVD,并且在步骤212中继续进行键击的正常处理(经过连接器C)。
在图5A(详细情况示于图3)中的步骤212表示的键击正常处理之后,从连接器D开始执行如图5B所示的后处理。在步骤300中,如pState标志未设定,则不要求后处理,于是子例程就返回步骤320。步骤302,304和306检查Apostrophe_Term是否设定,pState标志是否设定为PUNCT_KEY和当前默认单词是否是以撇号结尾。如3个条件都满足,则在步骤308将pState标志设定为PUNCT_APOS,否则系统转到步骤310而不设定新的pState值。如在步骤310中,pState标志设定为PUNCT_APOS或PUNCT_KEY,则在步骤312,314和316中将存储于curPunctWorld缓冲区中的文本对象在分别后接句点,短划和撇号之后添加到选择列表。如在步骤310的检查失败,并且如在步骤330发现pState设定为APOS_S,则在步骤332中将存储于curPunctWorld缓冲区中的文本对象在后接撇号及‘s’之后添加到选择列表。之后在步骤334,336,338和340中将存储于curPunctWorld缓冲区中的文本对象在每个与PQES键相关联的字母的后面后接撇号之后添加到选择列表。之后在步骤342中将pState标志设定为PUNCT_RCVD。
如在步骤330中pState标志未设定为APOS_S,则在步骤352中系统检查当前选择列表是否为空。如否,则是在数据库中发现一个或多个对象与键击缓冲区中的当前键序列(至少包含一次标点键激活)显式匹配。在此场合,子例程就返回到步骤364中而不改变键击缓冲区中的内容以使数据库对象可拼写为好象那就是用户的意。否则,只要在数据库中不再存在匹配对象,就在步骤356中将存储于curPunctWorld缓冲区中的文本对象在后接短划之后输出到选择列表。在步骤358中,将从键击缓冲区的开始直到并包含标点键的键击为止的键击删除。之后在步骤360中根据修改过的键击缓冲区查询数据库并生成更新的选择列表。最后在步骤362中在返回到子例程之前将标点键的所有的缓冲区和标志清除。
2.在词汇模块存储器最小化的同时使性能最大化
示于图13的以示于图10的树形数据结构运行的子例程620的对象认定软件过程的键击组合中固有的几种新手段可用来检索更多的对象词汇而同时又可利用较少的词汇模块存储器,并且不会增加子例程620的处理时间。
根据输入词典中符号的使用频率将给定词汇模块的逻辑符号索引表550的每一行中的符号进行排序,可以使树形数据结构110中的所有节点400的指令558的大多数具有等于1的LOGICAL-SYMBOL-INDEX字段555。与此类似,通过将所有节点400中的像406这样的所有的包的指令558进行排序而使词干及单词对象在对象列表440中以其在该语言中的使用频率的降序生成,可以使树形数据结构110中的所有节点400的指令558的大多数具有等于1的OBJECT-LIST-INDEX字段556。这样,在树110中的很多数据是冗余的。系统地认定冗余度和通过将链接父节点与子节点的路径重新指向并删除不再被引用的子节点消除冗余度可导致比原始树包含少得多的节点,少得多的指令和少得多的链接而仍然可从原始树检索到可检索的每个对象的折叠或卷绕数据结构。另外,经过其指令在对象列表440中生成类似对象的原始树的清楚的路径实例归并成为折叠树的公共路径,此后它们将作为通用(与专用的相对)的对象构造规则,使简化结构可以比原来用于定义给定词汇模块的树110的结构生成多得多的对象。比如,在一个优选实施例中由具有30000英文单词的列表生成的非折叠词汇树可能包含78000条指令。经过折叠过程的优选实施例的折叠之后,如多义性键击序列和检索过程是以图12的流程图中的优选方式实现的话,则经过修改的树可能包含少于29000条指令,比数字此结构可检索的单词对象的数目要少。此结果值得注意并且很新颖,因为对于一个键击每个指令的反应仅仅是通过后接单个符号只改变对象列表430中的一个对象。这是折叠树和重复使用公共指令序列作为通用对象构造规则的检索软件产生的结果。
在图9中示出的节点是实例。节点560具有两个有效键,在其有效键字段562“010100000”中以“1”表示。在优选实施例中“1”的位置表示第二个和第四个键是有效路径并且具有通到与其相关联的子节点的指令包和指针566和568。包566包含3个指令“(1,1,0)”,“(1,2,0)”和“(2,2,2)”,前后的指针“P”链接560到子节点。如子例程600已经处理过通往子节点560的键击列表,则子例程620被调用来处理“2”键(该键在本实施例中是ABC键),之后发生下面的过程。指令561将把键ABC的第一逻辑符号(“a”)后接于索引1中的老对象以便建立索引1中的新对象。561的第三字段,“0”,是STOP-FLAG 557的伪值,表示这不是当前包的最后指令,所以对下一个指令563进行解释。指令563将把键ABC的第一逻辑符号(“a”)后接于索引2中的老对象以便建立索引2中的新对象。新对象的索引将是2,因为新对象的索引是隐含地以指令本身的顺序建立的,比如第二指令永远建立第二对象。563的第三字段,“0”,是STOP-FLAG557的伪值,所以对下一个指令567进行解释。指令567将把键ABC的第二逻辑符号(“c”)后接于索引1中的老对象以便建立索引3中的新对象。567的第三字段,“1”,是STOP-FLAG 557的真值,表示这是当前包的最后指令,所以子例程620的执行将从步骤638转到步骤644。
可以将两个或更多的包含不同指令包408的节点组合成为单个节点,该节点可用于与多个节点独立时一样的的目的,这就意味着词汇树110中的某些节点在新的意义上是冗余的。对于本发明单词“冗余”用于两个节点的含义是通过示于图14-17中的优选实施例中的软件过程的操作可以将一个节点去掉。
比如,比较图9中的节点560和574。键2的指令包566和571完全相同,但节点560的键4上的指令570与节点574的键4上的指令572矛盾,两者不能互相代替,两个节点也不能组合成为一个来完成两者的工作。下面比较节点560和576。与每个节点上的键2相关联的指令包566和577完全相周。指令包569和578的STOP-FLAG字段557的设定不同,但该差异不会使它们发生矛盾。图14中的子例程620的对象检索过程的根本结果是通过对给定键在一个节点执行一组指令生成的新对象列表。附加的对象可后接到对象列表的尾部而不会对正确处理该节点的任何子节点造成损害。这样,在578之后执行附加的指令不会在节点576的子节点的处理中造成错误。此过程的本质只有在执行错误的指令或执行的指令过少才会遭到破坏。与此类似,在节点576的键9上存在有效键不会与在节点560中缺少键9矛盾。因此,节点560和576是冗余的,并且可以合并成为一个新节点582,该节点可达到两者的净效应,并且其作用与两者的子节点的父节点相同。可以理解,在确定冗余度上指针也有作用。在一个优选实施例中,在树中的与不继续形成更长单词的词干的单词相关联的键击序列的最后键击中在有效键包408中的指针具有特殊值“NULL(零)”,这表示再没有子节点了。此类节点称为“端节点”。对于具有对两个节点是共通的有效键的子节点上的两个节点,相应的子节点必定是冗余的,因为其父节点是冗余的,并且对从子节点下行的节点也同样,一直到到达端节点或对所比较的节点共通的有效键序列上不再有后代为止。
图14至17示出为用于压缩和折叠压缩类似于图10示出的树110的词汇模块树的软件过程的优选实施例的流程图。图14为用于建立压缩词汇模块的软件过程的优选实施例的流程图。在步骤652中,扫描词典以认定在如图6中针对法文词汇模块所示的物理键上出现的符号以外的任何必需的附加多义性符号。在步骤654-656中,对各符号在其相应的各键上依照其在输入的词典中的使用频率的降序赋予其逻辑索引,与图7示例中的相同。如给定具有频率的对象词典,本行专业人士很清楚步骤658如何建立110形式的词汇树。在步骤660中,认定冗余节点并将其合并以减少数据的重复并从而将与单个对象相关联的孤立的指令序列转变为用于检索多个对象的通用规则。此过程示于图15。步骤662从端节点中认定所有保持为NULL(零)的指针并将其改变为指向具有最大父节点数的节点,从而增加模块中的规则数。可以理解,也可以使用其他规则来赋予子节点NULL指针,并且此种规则可根据正在处理的键击的相关因子在对象检索时动态地应用。在步骤664中,计算剩余的各独特指令558及指针404a,以使其可以编码为独特的位图而将较短的位图赋予较高频率的指令和地址以节省空间。在本发明的一个优选实施例中使用Huffman编码来将最小长度的位图赋予指令和地址。可以理解,Huffman编码技术是业内公知的,所以毋庸赘言。另外,是多个父节点的子节点的节点可以以特殊的顺序存储以便可快速检索和减少其定址所需的位(比特)数。最后,将如上示出的数据存储于步骤666中的文件内。
在步骤658中建立树的同时选择用来描述待存储的对象的指令558中间,可以理解,当对象是单词或单词词干时,其字符序列包含适宜用来增加树110中的节点的冗余的的附加数据。比如,英文中并非所有的字母对同样常见,比如“s”通常与“t”配对。字母对,或称双字母组,统计学可用于从前一个字母预见对象中的最可能的下一个字母。采用这种预见时,在逻辑符号索引表550中的多义性符号的逻辑顺序可动态地改变以进一步优化第一位置的使用。这种预见可扩展到三个字母,三字母组,并且广而言之可扩展到n字母组。
图15为折叠词汇模块的树110的软件过程的优选实施例的流程图。从图14的流程图的步骤660进入步骤670。步骤672从图10的树110根节点111下的第一个节点开始启动过程。步骤674调用示于图16中优选实施例的流程图的子例程690来定位与当前节点冗余度最大的节点,如该节点存在。如目标节点找到,则判定步骤676将过程指向步骤678,在该步骤中合并冗余节点,取消树中的重复数据,将多个独立的指令归类为共享序列,成为可用于将键击序列与对象关联通用规则。如判定步骤676失败,则判定步骤680检查过程是否完结。如尚有更多的节点要处理,流程就转到步骤682去认定另一节点。
图16为用于在树110中找寻与给定节点相比较具有最大冗余度的节点的软件过程的优选实施例的流程图。从图15的流程图的步骤674进入步骤690。步骤692启动一个位置标志符MAX-SAVING用于测得的冗余度。步骤694从图10的树110根节点111开始启动过程。步骤696调用示于图17中优选实施例的流程图的子例程710来计算给定节点与当前节点的冗余度。判定步骤698检查冗余度是否大于报告的MAX-SAVING。如是,步骤700记录临时发现的节点的身份BEST-NODE为相对给定节点冗余度最大的节点并且报告的冗余度定为MAX-SAVING。判定步骤702检查是否所有的节点都已经评估完毕。如否,则流程继续转到步骤704,在该步骤中从当前节点转向下一个节点。从步骤704流程返回到步骤696。如在判定步骤702中检查结果是最后一个节点已经评估,则步骤706将节点的身份作为冗余度最大者,如有,则返回给给定节点转到图15的子例程670的步骤674。
图17为用于计算两个特定节点之间的数字冗余度的软件过程的优选实施例的流程图。从图16的流程图的步骤696进入步骤710。步骤712初始化重复指令的计算。步骤714将KEY-INDEX初始化为1。步骤716从指定作为参数的两个节点400之中的第一个将与键KEY-INDEX相关联的指令包406读出到子例程并将其置于临时列表LIST-A中。如键KEY-INDEX不是有效键,不读指令。步骤718从指定作为参数的两个节点400之中的第二个将与键KEY-INDEX相关联的指令包406读出到子例程并将其置于临时列表LIST-B中。如键KEY-INDEX不是有效键,不读指令。判定步骤720判断LIST-A和LIST-B是否有的为空。如否,步骤722从LIST-A和LIST-B各取出一条指令并将各自的剩余指令数减1。判定步骤724检查在其LOGICAL-SYMBOL-INDEX和OBJECT-LIST-INDEX字段中指令是否相同。如否,在步骤726中向子例程690的步骤696返回一个失败代码表示无冗余。如判定步骤724的判断为“是”,则步骤728将计数SAVED-INSTRUCTIONS增加1。控制又转到步骤720。如步骤720的检查是“真”,则控制转到判定步骤730,该步骤检查是否两个节点的所有可能的键都已经比较过。如否,步骤732使KEY-INDEX加1,并且控制转到步骤716。如步骤730的判断是正,则控制转到步骤734重置KEY-INDEX为1。判定步骤738检查是否两个指针有的为空(NULL),端节点或任何无效键的指针为空。如都不空,控制转到步骤740,该步骤利用子例程710分别检查由两个不空指针指向的子节点是否为冗余。步骤740的结果在判定步骤742中检查。如两个子节点不是冗余的,在步骤744中返回一个失败代码。否则认为两个子节点为具有某一数字分数的冗余节点,该数字由步骤746累积。判定步骤748检查是否与最后键(在优选实施例中的键9)相关联的指针已经检查过。如否,步骤752将KEY-INDEX增加1并将控制转到步骤736。如在判定步骤748中的检查判断所有的指针都已经检验过,则在子例程进入步骤710时将原来认定的两个节点的累积冗余度值返回。
可以理解,冗余度的数值计算可加权以便考虑附加的因素,如在每个节点的分支数及作为子节点指向节点的父节点数。可以理解,如两个节点因为与某一个键相关联的指令的排序而不是冗余的,则可以将与输入词典中的低频单词相关联的指令重新排序而不会影响与较高频率对象相关联的指令的优先级,从而可增加树的冗余度。
III.代表性系统的操作
图18A-图18B示出在代表性应用简化键盘多义性消除系统中的便携式计算机52的显示器53。在打开便携式计算机的电源之后,文本区66和选择列表区70是空的。在图18A中,用户打入短语“Thisis a test”。词汇模块认定最后4个键击TUV,DEF,PQRS,TUV的最可能的解释是单词“test”并且将此解释临时放在插入点900,而且还将此单词放在选择列表中作为默认解释901。选择列表中的此第一条目周围有一个实线框(表示其为隐含选择对象),并且也临时放在文本区的插入点900处,周围也带有实线框。词汇模块也认定此单词的解释”vest”及词干解释“vert”,并将这些解释放在选择列表中。图5A和图5B中示出的标点键处理软件将文本对象“test”存储于curPunctWorld缓冲区中。
在图18B中,用户随后按下.-’标点键63。在数据库中没有对象与此后面带有标点键63的4个键TUV,DEF,PQRS,TUV的键击序列相匹配。这样,出现在选择列表中的只有的几个文本对象是由标点键处理软件添加的,包括curPunctWorld缓冲区中的“test”后接句点911,短划913和撇号914。结果形成的默认选择列表对象是“test.”911,该对象也临时放在文本区的插入点910处。
在图18C中,用户其后按下空格键922。这生成一个显式空格字符,它结束当前的键击序列并使系统接受临时放置的文本“test.”。也输出一个后面的空格,之后系统光标920出现。键击缓冲区现在是空的,并且当前选择列表921也是空的。这显示了标点键63的一种默认行动-当在激活空格键(或选择键)之前激活时,如在包含标点字符的数据库中没有相匹配的对象,则原来的默认文本对象带一个句点输出。
在为英文(标志Apostrophe_S设定为“真”)设计的系统场合下,图18D示出在图18B的情况下随后用户按下PQRS键932的结果。这将引起图5B中的步骤322至342的处理过程,并导致标点键处理软件按以下顺序在选择列表中添加“test’s”,“test-s”,“test-r”,“test-p”和“test-q”。这样,得到的默认选择列表对象是“test’s”931,该对象也临时放在文本区的插入点930处。
图18E示出在图18D的情况下随后用户按下TUV键932(意图是打入带短划的单词“test-run”)的结果。这将引起图5B中的步骤332至340的处理过程,并导致标点键处理软件“test-”输出作为所接受的文本,并且键击缓冲区修改为只包含最后两个键击PQRS及TUV。根据这两个键击对数据库进行查询(在图5B的步骤360中)得到如图18E所示的结果。文本对象“st”是频率最高的,所以也就作为默认选择文本对象“st”941出现,并且也临时放置文本区的插入点940处。
图18F示出在图18E的情况下随后用户按下MNO键952以结束打入带短划的单词“test-run”)的结果。不会发生特别的标点键处理,因为在图5B的步骤362中在处理前面的键击时所有的标志都已经清除。于是系统就单纯地处理当前键序列PQRS,TUV,MNO。根据这些键击对数据库进行查询得到如图18F所示的结果。文本对象“run”是频率最高的,所以也就作为默认选择文本对象“run”951出现,并且也临时放置文本区的插入点950处。
图18G-图18K示出在为法文(标志Apostrophe_Term设定为“真”)设计的系统场合下的示例。在词示例中,用户打入文本对象“c’est”该对象实际上是“c”与单词“est”的连接。图18G示出用户按下ABC键962的结果。选择列表示出与法文ABC键相关联的单个字符对象,包含带重音符的à,和,不会发生特别的标点键处理,因为所有相关的标志在前面都已经清除。于是系统就单纯地处理当前键序列ABC。根据这些键击对数据库进行查询得到如图18G所示的结果。文本对象“à”是频率最高的,所以也就作为默认选择文本对象“à”961出现,并且也临时放置文本区的插入点960处。
在图18H中,用户随后按下.-’标点键63。在数据库中存储有对象“c’”和“a-”,并在图3的步骤156至160中在查询数据库之后添加到选择列表中,结果得到的默认选择文本对象是“c’”971。结果,进行图5B中的检查300至306,并且在步骤308将pState标志设定为PUNCT_APOS。在选择列表中的“c’”971和“a-”973之后,标点键处理软件(在图5B中的步骤312,314和316中)添加由curPunctWorld的“à”与后接句点974,短划975和撇号976构成的对象“à.”,“à-”和“à’”。得到的为默认选择文本对象是“c’”971,并且也临时放置文本区的插入点970处。
在图18I中,随后用户按下DEF键982。因为由于处理前面图18H的键击的结果使pState标志设定为PUNCT_APOS,所以标点键处理软件执行图5A中的步骤274,276和262。输出当前默认选择列表对象“c’”作为被接受的文本983,并且系统简单地处理得到的单键序列DEF作为添加当前键到清除的键击缓冲区的结果。根据这些查询数据库,此键击得到的结果是图18I中示出的选择列表。文本对象“d”是频率最高的,所以也就作为默认选择文本对象“d”981出现,并且也临时放置文本区的插入点980处。
图18J至图18K示出随后用户按下PQRS键992(在18J中)和TUV键997(在18K中)以结束打入单词“est”的结果。不会发生特别的标点键处理,因为在图5A的步骤262中在处理前面的键击时ClearPunctMode标志已经设定,所有标点键的缓冲区和标志都已经在图5A的步骤202中清除。于是系统就单纯地处理当前键序列DEF,PQRS,TUV。根据这些键击对数据库进行查询得到如图18K所示的结果。文本对象“est”是频率最高的,所以也就作为默认选择文本对象“est”996出现,并且也临时放置文本区的插入点995处。
法文包含很多很常用的冠词,前置词和代词,如le,ne,ce,se,je,que,tu和te,这些词在置于以元音开始的单词的前面时,将其元音改变为撇号并且打字时与后面的单词之间不留空格。如果没有在上边的示例中示出的标点键63支持的动作,这种经常发生的单词对象的结合就会要求用户另外激活选择键以便在打入第二对象(est)之前结束第一个单词对象(在示例中的c’)。这样,标点键63支持结尾为撇号的单词自动连接的功能可显著提高像法文这样的语言的系统效率及自然性。
虽然本发明的优选实施例已经示出和描述,但应该理解,在不脱离本发明的精神和范围的条件下可进行各种改变。比如,本行的专业人士将会理解简化键盘多义性消除系统的键盘54的数据键数目可少到3个多到20个。此处公开的多义性消除技术同样可应用于不同尺寸的键盘。与标点键63相关联的特殊字符可改变。比如,本行的专业人士将会理解在某些应用中句点可代之以逗点。另外,在不同的上下文中生成什么标点字符的选择也是可以改变的。比如,连续两次激活标点键63后再按下a可生成长破折号“—”,而连续3次激活标点键可生成“...”。
本行的专业人士也将会认识到在计算机中可常用附加的词汇模块,比如包含法律名词,医学名词,以及外语名词的词汇模块。通过系统菜单,用户可配置系统使附加的词汇单词在可能的单词列表中首先出现或最后出现,采用特殊的彩色或加亮。结果,在后附的权利要求书中,可以理解本发明可以通过与此处所专门描述的方式不同的方式实现。
Claims (19)
1.一种用于对用户输入的多义性输入序列进行多义性消除的多义性消除系统,此多义性消除系统的构成包括:(a)具有多个输入的用户输入装置,多个输入的每个都与多个字符相关联,输入序列是在每次通过操作用户输入装置进行选择时生成的,其中生成的输入序列对应于被选定的输入序列,并且其中生成的输入序列具有文本解释,该文本解释由于与每个输入相关联的多个字符而具有多义性;(b)包含多个对象的存储器,多个对象的每个都与输入序列相关联,其中存储器中的多个对象中的每个还都与使用频率相关联;(c)为用户显示系统输出的显示器;(d)与用户输入装置,存储器和显示器连接的处理器,所述处理器的构成包括:(i)用于从存储器内的多个对象中认定至少一个与生成的每个输入序列相关联并具有最高使用频率的对象的认定部件;(ii)用于显示至少一个认定的与每个生成的输入序列相关联的对象作为生成的输入序列的文本解释的输出部件,其中与每个生成的输入序列相关联的对象以使用频率的降序排序;以及(iii)用于在检测到用户输入装置的一个或多个无多义性选择输入操作时选择认定对象中的一个输入到文本输入显示位置的选择部件;其中所述多义性消除系统的特征在于:
至少多个输入中的一个是与多个标点字符相关联的多义性标点输入,并且其中处理器,在检测到选择多义性标点输入并将其添加到输入序列,临时输出一个终止于相关联的标点字符的输入序列的相关联的文本解释,并且在检测到选择下一个输入时,其中当所述下一个输入是指定输入的第一集合的元素,其中所述指定输入第一集合的每个都是与下一个同所述临时输出的标点字符不同的字符相关联的,肯定前面输出的标点字符,其中当所述下一个输入是指定输入的一个或多个替代集合元素,其中所述指定输入的一个或多个替代集合的每个都是与下一个同所述临时输出的标点字符不同的字符相关联的,利用与多义性标点输入相关联的多个标点字符的另一个代替前面输出的标点字符,其中的代替标点字符是由指定输入的代替集合确定的,其中所述下一个输入是其一个元素。
2.如权利要求1的系统,其中所述第一集合和所述指定输入的一个或多个替代集合的组成是根据在所述存储器中是否存在一个或多个与包含添加的多义性标点输入的所述输入序列相关联的对象而确定的。
3.如权利要求1的系统,其中所述第一集合和所述指定输入的一个或多个替代集合的组成是根据在所述存储器中是否存在一个或多个与包含添加的多义性标点输入并且还在所述输入是多义性输入时添加所述下一个输入的所述输入序列相关联的对象而确定的。
4.如权利要求1的系统,其中所述第一集合和所述指定输入的一个或多个替代集合的组成是根据在所述存储器中是否存在一个或多个与以选择多义性标点输入开始并在所述下一个输入是多义性输入时添加所述下一个输入而确定的。
5.如权利要求1的系统,其中多义性标点输入与句点,短划及撇号相关联。
6.如权利要求2的系统,其中处理器,在检测到选择多义性标点输入并将所述多义性标点输入添加到当前生成的输入序列以形成不与存储器中的任何对应于完整单词的对象相关联的序列时,临时输出一个相关联的标点字符,并且
其中处理器在检测到选择下一个输入时,其中所述下一个输入是与一个或多个字母相关联但不与字母“s”相关联的多义性输入,将前面输出的标点字符改变为短划,在选择多义性标点输入之前肯定前面临时输出的当前输出的输入序列的文本解释,并开始新生成的其构成包括所述下一个多义性输入的输入序列,并且
其中处理器在检测到选择下一个输入,其中所述下一个输入是与一个或多个包含字母“s”的字母相关联的多义性输入时,在选择多义性标点输入之前肯定前面输出的当前生成的输入序列的文本解释,开始新生成的其构成包括所述下一个多义性输入的输入序列并以撇号替代前面输出的标点字符和临时添加字母“s”作为所述新生成的输入序列的文本解释,并且其中处理器在检测到选择另外一个下一个输入,其中所述下一个输入是与一个或多个字母相关联的多义性输入时,在选择多义性标点输入之前以短划替代前面输出的撇号,并开始新生成的其构成包括与一个或多个包含字母“s”的字母相关联的后面跟着所述另外一个下一个多义性输入的输入序列,并输出存储器中的与所述新生成的在所述短划之后的输入序列相关联的对象,并且
其中处理器在检测到选择下一个输入时,其中所述下一个输入不与一个或多个字母相关联,肯定前面输出的标点字符。
7.如权利要求4的系统,其中处理器,在检测到选择多义性标点输入并将所述多义性标点输入添加到当前生成的输入序列以形成不与存储器中的任何对象相关联的序列时,接受在检测到选择多义性标点输入之前临时显示的具有最高使用频率的与生成的输入效率相关联的对象,临时输出一个默认的与多义性标点输入相关联的标点字符,并且建立一个长度为多义性标点输入的新生成的输入序列。
8.如权利要求1的系统,其中处理器,在检测到在生成的输入序列中出现选择多义性标点输入时生成一个可由用户输入装置一次或多次选择到无多义性选择输入的替代的文本解释的序列,其中所述的替代的文本解释序列的第一个的生成是通过将一个与多义性标点输入相关联的标点字符添加到在其输入是生成的输入序列中与输入序列相关联的具有最高使用频率的对象上,其后是添加在多义性标点输入之后输入的与生成的输入序列中的在多义性标点输入之前输入的输入序列相关联的具有最高使用频率的对象,其后是与生成的输入序列中的先于多义性标点输入输入的输入序列相关联的包含具有越来越低的使用频率的对象的其他对象组合,以及与生成的输入序列中的后于多义性标点输入输入的输入序列相关联的具有越来越低的使用频率的对象,并且使生成的这些对象以所述两个对象的混合频率次序的降序生成。
9.如权利要求1的系统,其中处理器,在检测到选择一个或多个后面为第一选择的无多义性选择时,选择具有最高使用频率的对象并向显示器输出所述选择的文本对象及单个后面空格,并且其中在检测到每个后面重复的连续的无多义性选择输入时从认定的对象中选择具有下一个较低使用频率的对象,并且在先于前面输出的单个空格的其显示位置以每个所述的连续选择的文本对象替代前面输出的文本对象。
10.如权利要求2的系统,其中处理器,在检测到选择多义性标点输入并将所述多义性标点输入添加到当前生成的输入序列以形成与存储器中的具有最高使用频率的结尾为与所述多义性标点输入相关联的完整的单词对象相关联的序列时,并且在检测到下一个输入的选择,其中所述的下一个输入是与一个或多个字母相关联的多义性输入时,肯定所述完整的单词对象的输出是当前生成的包含多义性标点输入的选择,并开始一个新生成的构成所述下一个多义性输入的输入序列。
11.一种用于对用户输入的多义性输入序列进行多义性消除的方法,此方法的构成包括:(a)由多个输入生成输入序列,多个输入中的每个与多个字符相关联,生成的输入序列具有的文本解释由于与每个输入相关联的多个字符而具有多义性;(b)存储多个对象,多个对象的每个都包括与输入序列和使用频率相关联的字符序列;(c)从多个对象中认定至少一个与生成的每个输入序列相关联并具有最高使用频率的对象;(d)显示至少一个认定的与每个生成的输入序列相关联的对象作为生成的输入序列的文本解释,其中与每个生成的输入序列相关联的对象以使用频率的降序排序;以及(e)在检测到一个或多个无多义性输入选择时选择认定对象中的一个作为生成的输入序列的文本解释;其中多个输入中的至少一个是与多个标点字符相关联的多义性标点输入,本方法的特征在于包括如下步骤:
(a)检测包含多义性标点输入的输入序列的生成;
(b)在检测到选择所述多义性标点输入时,临时输出一个相关联的标点字符;
(c)在检测到选择下一个输入时,其中所述下一个输入是指定输入的第一集合的元素,并且指定输入的第一集合中的每一个与不同于所述临时输出的标点字符的下一个字符的输出相关联,肯定前面输出的标点字符;
(d)在检测到选择所述下一个输入时,其中当所述下一个输入是指定输入的一个或多个替代集合元素,其中所述指定输入的一个或多个替代集合的每个都是与下一个同所述临时输出的标点字符不同的字符相关联的,利用与多义性标点输入相关联的多个标点字符的另一个代替前面输出的标点字符,其中的代替标点字符是由指定输入的代替集合确定的,其中所述下一个输入是其一个元素。
12.如权利要求11的系统,其中所述第一集合和所述指定输入的一个或多个替代集合的组成是根据在所述存储器中是否存在一个或多个与包含添加的多义性标点输入的所述输入序列相关联的对象而确定的。
13.如权利要求11的系统,其中所述第一集合和所述指定输入的一个或多个替代集合的组成是根据在所述存储器中是否存在一个或多个与包含添加的多义性标点输入并且还在所述输入是多义性输入时添加所述下一个输入的所述输入序列相关联的对象而确定的。
14.如权利要求11的系统,其中所述第一集合和所述指定输入的一个或多个替代集合的组成是根据在所述存储器中是否存在一个或多个与以选择多义性标点输入开始并在所述下一个输入是多义性输入时添加所述下一个输入而确定的。
15.如权利要求12的方法,还包括:
(a)在检测到选择多义性标点输入并将所述多义性标点输入添加到当前生成的输入序列以形成不与存储器中的任何对象相关联的序列时,临时输出一个相关联的标点字符;以及
(b)在检测到选择下一个输入时,其中所述下一个输入是与一个或多个字母相关联但不与字母“s”相关联的多义性输入,
(i)将前面输出的标点字符改变文短划;
(ii)在选择多义性标点输入之前肯定当前生成的输入序列的前面输出的文本解释;
(iii)开始新生成的其构成包括所述下一个多义性输入的输入序列;以及
(c)在检测到选择下一个输入,其中所述下一个输入是与一个或多个包含字母“s”的字母相关联的多义性输入时,
(i)在选择多义性标点输入之前肯定前面输出的当前生成的输入序列的文本解释;
(ii)开始新生成的其构成包括所述下一个多义性输入的输入序列;
(iii)以撇号替代前面输出的标点字符和临时添加字母“s”作为所述新生成的输入序列的文本解释;以及
(iv)在检测到选择另外一个下一个输入,其中所述下一个输入是与一个或多个字母相关联的多义性输入时,以短划替代前面输出的撇号,并开始新生成的其构成包括与一个或多个包含字母“s”的字母相关联的后面跟着所述另外一个下一个多义性输入的输入序列,并输出存储器中的与所述新生成的在所述短划之后的输入序列相关联的对象,并且
(d)在检测到选择下一个输入时,其中所述下一个输入不与一个或多个字母相关联,肯定前面输出的标点字符。
16.如权利要求14的方法,还包括:
在检测到选择多义性标点输入并将所述多义性标点输入添加到当前生成的输入序列以形成不与存储器中的任何对象相关联的序列时,
(a)在检测到选择多义性标点输入之前接受临时显示的与生成的输入序列相关联的具有最高使用频率的对象;
(b)临时输出一个与多义性标点输入相关联的默认标点字符;以及
(c)建立一个长度为多义性标点输入的新生成的输入序列。
17.如权利要求11的方法,还包括:
在检测到在生成的输入序列中出现选择多义性标点输入时,
(a)生成一个可由用户输入装置一次或多次选择到无多义性选择输入的替代的文本解释的序列,其中所述的替代的文本解释序列的第一个的生成是通过将一个与多义性标点输入相关联的标点字符添加到在其输入是生成的输入序列中与输入序列相关联的具有最高使用频率的对象上,其后是添加在多义性标点输入之后输入的与生成的输入序列中的在多义性标点输入之前输入的输入序列相关联的具有最高使用频率的对象,其后是与生成的输入序列中的先于多义性标点输入输入的输入序列相关联的包含具有越来越低的使用频率的对象的其他对象组合,以及与生成的输入序列中的后于多义性标点输入输入的输入序列相关联的具有越来越低的使用频率的对象,并且使生成的这些对象以所述两个对象的混合频率次序的降序生成。
(b)在检测到用户输入装置的一次或多次的无多义性选择输入操作时选择这些替代文本解释中的一个。
18.如权利要求11的方法,还包括:
(a)在检测到选择一个或多个后面为无多义性选择的第一选择时,选择具有最高使用频率的对象并输出所述选择的文本对象及单个后面空格;以及
(b)在检测到每个后面重复的连续的无多义性选择输入时,
(i)从认定的对象中选择具有下一个较低使用频率的对象;并且
(ii)在先于前面输出的单个空格的其显示位置以每个所述的连续选择的文本对象替代前面输出的文本对象。
19.如权利要求12的方法,还包括:
在检测到选择多义性标点输入并将所述多义性标点输入添加到当前生成的输入序列以形成与存储器中的具有最高使用频率的结尾为与所述多义性标点输入相关联的完整的单词对象相关联的序列时,并且在检测到下一个输入的选择,其中所述的下一个输入是与一个或多个字母相关联的多义性输入时,
(a)肯定所述完整的单词对象的输出是当前生成的包含多义性标点输入的输入序列的文本解释;以及
(b)开始一个新生成的构成所述下一个多义性输入的输入序列。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US6022397P | 1997-09-25 | 1997-09-25 | |
US60/060,223 | 1997-09-25 | ||
US09/160,433 US6307548B1 (en) | 1997-09-25 | 1998-09-24 | Reduced keyboard disambiguating system |
US09/160,433 | 1998-09-24 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB98809472XA Division CN100334530C (zh) | 1997-09-25 | 1998-09-24 | 简化键盘多义性消除系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101149645A true CN101149645A (zh) | 2008-03-26 |
CN100594470C CN100594470C (zh) | 2010-03-17 |
Family
ID=22028137
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB98809472XA Expired - Lifetime CN100334530C (zh) | 1997-09-25 | 1998-09-24 | 简化键盘多义性消除系统 |
CN200710137398A Expired - Fee Related CN100594470C (zh) | 1997-09-25 | 1998-09-24 | 用于对用户输入的多义性输入序列进行多义性消除的系统和方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB98809472XA Expired - Lifetime CN100334530C (zh) | 1997-09-25 | 1998-09-24 | 简化键盘多义性消除系统 |
Country Status (16)
Country | Link |
---|---|
US (1) | US6307548B1 (zh) |
EP (1) | EP1018069B1 (zh) |
JP (1) | JP4037608B2 (zh) |
KR (1) | KR100552085B1 (zh) |
CN (2) | CN100334530C (zh) |
AT (1) | ATE221222T1 (zh) |
AU (1) | AU746674B2 (zh) |
BR (1) | BR9814032A (zh) |
CA (1) | CA2302595C (zh) |
DE (1) | DE69806780T2 (zh) |
DK (1) | DK1018069T3 (zh) |
ES (1) | ES2182363T3 (zh) |
HK (1) | HK1032458A1 (zh) |
PT (1) | PT1018069E (zh) |
RU (1) | RU2214620C2 (zh) |
WO (1) | WO1999015952A2 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102804118A (zh) * | 2009-06-19 | 2012-11-28 | 捷讯研究有限公司 | 触敏显示器上的选择 |
Families Citing this family (405)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6005495A (en) * | 1997-02-27 | 1999-12-21 | Ameritech Corporation | Method and system for intelligent text entry on a numeric keypad |
US7257528B1 (en) | 1998-02-13 | 2007-08-14 | Zi Corporation Of Canada, Inc. | Method and apparatus for Chinese character text input |
US6407679B1 (en) * | 1998-07-31 | 2002-06-18 | The Research Foundation Of The State University Of New York | System and method for entering text in a virtual environment |
US7720682B2 (en) | 1998-12-04 | 2010-05-18 | Tegic Communications, Inc. | Method and apparatus utilizing voice input to resolve ambiguous manually entered text input |
US8938688B2 (en) | 1998-12-04 | 2015-01-20 | Nuance Communications, Inc. | Contextual prediction of user words and user actions |
US7881936B2 (en) | 1998-12-04 | 2011-02-01 | Tegic Communications, Inc. | Multimodal disambiguation of speech recognition |
US7712053B2 (en) | 1998-12-04 | 2010-05-04 | Tegic Communications, Inc. | Explicit character filtering of ambiguous text entry |
US7679534B2 (en) * | 1998-12-04 | 2010-03-16 | Tegic Communications, Inc. | Contextual prediction of user words and user actions |
US6885317B1 (en) * | 1998-12-10 | 2005-04-26 | Eatoni Ergonomics, Inc. | Touch-typable devices based on ambiguous codes and methods to design such devices |
GB2345614B (en) * | 1999-01-09 | 2003-08-27 | Nec Technologies | Mobile phone with adaptive user interface |
US6770572B1 (en) * | 1999-01-26 | 2004-08-03 | Alliedsignal Inc. | Use of multifunctional si-based oligomer/polymer for the surface modification of nanoporous silica films |
GB2347239B (en) | 1999-02-22 | 2003-09-24 | Nokia Mobile Phones Ltd | A communication terminal having a predictive editor application |
GB2347240A (en) * | 1999-02-22 | 2000-08-30 | Nokia Mobile Phones Ltd | Communication terminal having a predictive editor application |
EP1047256A3 (en) * | 1999-04-23 | 2002-08-14 | Cirte Manifatturiera S.p.A. | Automatic access method in subscriber information lists |
US6556841B2 (en) * | 1999-05-03 | 2003-04-29 | Openwave Systems Inc. | Spelling correction for two-way mobile communication devices |
US7610194B2 (en) * | 2002-07-18 | 2009-10-27 | Tegic Communications, Inc. | Dynamic database reordering system |
ATE443946T1 (de) * | 1999-05-27 | 2009-10-15 | Tegic Communications Inc | Tastatursystem mit automatischer korrektur |
US7030863B2 (en) * | 2000-05-26 | 2006-04-18 | America Online, Incorporated | Virtual keyboard system with automatic correction |
US7750891B2 (en) | 2003-04-09 | 2010-07-06 | Tegic Communications, Inc. | Selective input system based on tracking of motion parameters of an input device |
US7821503B2 (en) | 2003-04-09 | 2010-10-26 | Tegic Communications, Inc. | Touch screen and graphical user interface |
US7286115B2 (en) | 2000-05-26 | 2007-10-23 | Tegic Communications, Inc. | Directional input system with automatic correction |
WO2001031509A2 (en) * | 1999-10-26 | 2001-05-03 | Qualcomm Incorporated | System and method for rapidly accessing and storing contact information in a communications device |
KR20100012047A (ko) * | 1999-10-27 | 2010-02-04 | 피루쯔 가사비안 | 일체화된 키패드 시스템 |
US6340937B1 (en) * | 1999-12-09 | 2002-01-22 | Matej Stepita-Klauco | System and method for mapping multiple identical consecutive keystrokes to replacement characters |
US20030067445A1 (en) * | 2000-03-03 | 2003-04-10 | Jetway Technologies Ltd | Remote keypad |
US8645137B2 (en) | 2000-03-16 | 2014-02-04 | Apple Inc. | Fast, language-independent method for user authentication by voice |
FR2809203B1 (fr) * | 2000-05-18 | 2003-10-03 | Cit Alcatel | Procede de gestion d'une interface homme-machine graphique |
US8706747B2 (en) * | 2000-07-06 | 2014-04-22 | Google Inc. | Systems and methods for searching using queries written in a different character-set and/or language from the target pages |
JP2002149391A (ja) * | 2000-09-01 | 2002-05-24 | Sony Corp | 再生装置および再生方法 |
GB0103053D0 (en) * | 2001-02-07 | 2001-03-21 | Nokia Mobile Phones Ltd | A communication terminal having a predictive text editor application |
DE60202453T2 (de) | 2001-03-29 | 2006-01-19 | Koninklijke Philips Electronics N.V. | Synchronisierung eines audio- und eines text-cursors während der editierung |
US7117144B2 (en) * | 2001-03-31 | 2006-10-03 | Microsoft Corporation | Spell checking for text input via reduced keypad keys |
US7356361B1 (en) | 2001-06-11 | 2008-04-08 | Palm, Inc. | Hand-held device |
US7395089B1 (en) | 2001-06-11 | 2008-07-01 | Palm, Inc | Integrated personal digital assistant device |
US6957397B1 (en) | 2001-06-11 | 2005-10-18 | Palm, Inc. | Navigating through a menu of a handheld computer using a keyboard |
US6975304B1 (en) | 2001-06-11 | 2005-12-13 | Handspring, Inc. | Interface for processing of an alternate symbol in a computer device |
US6950988B1 (en) * | 2001-06-11 | 2005-09-27 | Handspring, Inc. | Multi-context iterative directory filter |
EP1280320B1 (de) * | 2001-07-26 | 2005-04-20 | Siemens Aktiengesellschaft | Mobilfunkgerät mit Texteingabehilfe und Wörterbuchfunktion |
EP1283460A3 (en) * | 2001-08-03 | 2009-04-22 | Sony Corporation | Information processing apparatus |
AU2002332712A1 (en) * | 2001-08-30 | 2003-03-18 | America Online Incorporated | Component-based, adaptive stroke-order system |
JP4383864B2 (ja) * | 2001-09-05 | 2009-12-16 | 徹 大田 | 文字入力機能を有する装置 |
US7761175B2 (en) * | 2001-09-27 | 2010-07-20 | Eatoni Ergonomics, Inc. | Method and apparatus for discoverable input of symbols on a reduced keypad |
US7152213B2 (en) * | 2001-10-04 | 2006-12-19 | Infogation Corporation | System and method for dynamic key assignment in enhanced user interface |
US20030112277A1 (en) * | 2001-12-14 | 2003-06-19 | Koninklijke Philips Electronics N.V. | Input of data using a combination of data input systems |
MXPA04006128A (es) | 2001-12-21 | 2004-11-01 | Research In Motion Ltd | Dispositivo electronico portatil con teclado. |
US7083342B2 (en) | 2001-12-21 | 2006-08-01 | Griffin Jason T | Keyboard arrangement |
US7665043B2 (en) | 2001-12-28 | 2010-02-16 | Palm, Inc. | Menu navigation and operation feature for a handheld computer |
US7111248B2 (en) * | 2002-01-15 | 2006-09-19 | Openwave Systems Inc. | Alphanumeric information input method |
US6864809B2 (en) * | 2002-02-28 | 2005-03-08 | Zi Technology Corporation Ltd | Korean language predictive mechanism for text entry by a user |
JP4369245B2 (ja) * | 2002-03-22 | 2009-11-18 | ソニー エリクソン モバイル コミュニケーションズ, エービー | 携帯電話装置及びテキストを入力する方法 |
CN1643485A (zh) * | 2002-03-22 | 2005-07-20 | 索尼爱立信移动通讯股份有限公司 | 将文本输入到电子通信设备 |
EP1347361A1 (en) * | 2002-03-22 | 2003-09-24 | Sony Ericsson Mobile Communications AB | Entering text into an electronic communications device |
SG125895A1 (en) * | 2002-04-04 | 2006-10-30 | Xrgomics Pte Ltd | Reduced keyboard system that emulates qwerty-type mapping and typing |
US8583440B2 (en) | 2002-06-20 | 2013-11-12 | Tegic Communications, Inc. | Apparatus and method for providing visual indication of character ambiguity during text entry |
US7061403B2 (en) * | 2002-07-03 | 2006-06-13 | Research In Motion Limited | Apparatus and method for input of ideographic Korean syllables from reduced keyboard |
DE60330149D1 (de) * | 2002-07-23 | 2009-12-31 | Research In Motion Ltd | Systeme und verfahren zur erstellung und verwendung von angepassten wörterlisten |
US20040163032A1 (en) * | 2002-12-17 | 2004-08-19 | Jin Guo | Ambiguity resolution for predictive text entry |
CA2511952A1 (en) * | 2002-12-27 | 2004-07-15 | Nokia Corporation | Predictive text entry and data compression method for a mobile communication terminal |
US6927763B2 (en) * | 2002-12-30 | 2005-08-09 | Motorola, Inc. | Method and system for providing a disambiguated keypad |
US20040153963A1 (en) * | 2003-02-05 | 2004-08-05 | Simpson Todd G. | Information entry mechanism for small keypads |
US20040153975A1 (en) * | 2003-02-05 | 2004-08-05 | Williams Roland E. | Text entry mechanism for small keypads |
JP4956181B2 (ja) * | 2003-02-17 | 2012-06-20 | キムミンギョム | キーパッドでの字母入力装置及びその方法 |
US20070256094A1 (en) * | 2003-03-11 | 2007-11-01 | Thomson Licensing | Apparatus and Method for Distributing Signals by Down-Converting to Vacant Channels |
US20070188472A1 (en) * | 2003-04-18 | 2007-08-16 | Ghassabian Benjamin F | Systems to enhance data entry in mobile and fixed environment |
US7081837B2 (en) * | 2003-04-24 | 2006-07-25 | Taylor Bollman | Compressed standardized keyboard |
US7310053B2 (en) * | 2003-04-24 | 2007-12-18 | Taylor Bollman | Compressed standardized keyboard |
US7266780B2 (en) * | 2003-06-30 | 2007-09-04 | Motorola, Inc. | Method for combining deterministic and non-deterministic user interaction data input models |
US7165147B2 (en) * | 2003-07-22 | 2007-01-16 | International Business Machines Corporation | Isolated ordered regions (IOR) prefetching and page replacement |
US20050048450A1 (en) * | 2003-09-02 | 2005-03-03 | Winkler Andrew Max | Method and system for facilitating reading and writing without literacy |
US8200865B2 (en) | 2003-09-11 | 2012-06-12 | Eatoni Ergonomics, Inc. | Efficient method and apparatus for text entry based on trigger sequences |
US7874917B2 (en) | 2003-09-15 | 2011-01-25 | Sony Computer Entertainment Inc. | Methods and systems for enabling depth and direction detection when interfacing with a computer program |
US20050065931A1 (en) * | 2003-09-19 | 2005-03-24 | Airtx, Inc. | Disambiguation method and apparatus |
US7284205B2 (en) | 2003-11-18 | 2007-10-16 | Microsoft Corporation | Providing multiple input bindings across device categories |
US7562305B2 (en) * | 2003-11-18 | 2009-07-14 | Microsoft Corporation | Dynamically-generated commanding interface |
US7386856B2 (en) * | 2003-11-18 | 2008-06-10 | Microsoft Corporation | Extension of commanding to control level |
US20050131677A1 (en) * | 2003-12-12 | 2005-06-16 | Assadollahi Ramin O. | Dialog driven personal information manager |
US7363224B2 (en) * | 2003-12-30 | 2008-04-22 | Microsoft Corporation | Method for entering text |
KR100846410B1 (ko) | 2003-12-31 | 2008-07-16 | 리서치 인 모션 리미티드 | 키보드 배열 |
US20050188330A1 (en) * | 2004-02-20 | 2005-08-25 | Griffin Jason T. | Predictive text input system for a mobile communication device |
US7706616B2 (en) * | 2004-02-27 | 2010-04-27 | International Business Machines Corporation | System and method for recognizing word patterns in a very large vocabulary based on a virtual keyboard layout |
US7376938B1 (en) | 2004-03-12 | 2008-05-20 | Steven Van der Hoeven | Method and system for disambiguation and predictive resolution |
US7555732B2 (en) * | 2004-03-12 | 2009-06-30 | Steven Van der Hoeven | Apparatus method and system for a data entry interface |
US20050264584A1 (en) * | 2004-05-27 | 2005-12-01 | Zhu-Min Di | [method for fast input of chinese character] |
EP1603018B1 (en) * | 2004-06-02 | 2018-05-16 | BlackBerry Limited | Handheld electronic device with text disambiguation |
US7312726B2 (en) * | 2004-06-02 | 2007-12-25 | Research In Motion Limited | Handheld electronic device with text disambiguation |
US9075449B2 (en) | 2004-06-02 | 2015-07-07 | Blackberry Limited | Handheld electronic device and associated method employing a multiple-axis input device and selectively disabling disambiguation |
US8504369B1 (en) | 2004-06-02 | 2013-08-06 | Nuance Communications, Inc. | Multi-cursor transcription editing |
US7091885B2 (en) * | 2004-06-02 | 2006-08-15 | 2012244 Ontario Inc. | Handheld electronic device with text disambiguation |
US8542132B2 (en) * | 2004-06-02 | 2013-09-24 | Blackberry Limited | Handheld electronic device and associated method employing a multiple-axis input device and using non-edited characters as context in text disambiguation |
US7289044B2 (en) * | 2004-06-02 | 2007-10-30 | Research In Motion Limited | Handheld electronic device with text disambiguation |
EP1603019A1 (en) * | 2004-06-02 | 2005-12-07 | 2012244 Ontario Inc. | Handheld electronic device with text disambiguation |
US7283065B2 (en) * | 2004-06-02 | 2007-10-16 | Research In Motion Limited | Handheld electronic device with text disambiguation |
US7324083B2 (en) | 2004-06-02 | 2008-01-29 | Research In Motion Limited | Handheld electronic device with text disambiguation |
US7389124B2 (en) * | 2004-06-02 | 2008-06-17 | Research In Motion Limited | Handheld electronic device with text disambiguation |
EP1603015A1 (en) * | 2004-06-02 | 2005-12-07 | 2012244 Ontario Inc. | Handheld electronic device with text disambiguation |
US8095364B2 (en) | 2004-06-02 | 2012-01-10 | Tegic Communications, Inc. | Multimodal disambiguation of speech recognition |
US7333085B2 (en) | 2004-06-02 | 2008-02-19 | Research In Motion Limited | Handheld electronic device with text disambiguation |
EP1603020A1 (en) * | 2004-06-02 | 2005-12-07 | 2012244 Ontario Inc. | Handheld electronic device with text disambiguation |
US20070192711A1 (en) | 2006-02-13 | 2007-08-16 | Research In Motion Limited | Method and arrangement for providing a primary actions menu on a handheld communication device |
US8271036B2 (en) | 2004-06-21 | 2012-09-18 | Research In Motion Limited | Handheld wireless communication device |
US8219158B2 (en) | 2004-06-21 | 2012-07-10 | Research In Motion Limited | Handheld wireless communication device |
US8064946B2 (en) | 2004-06-21 | 2011-11-22 | Research In Motion Limited | Handheld wireless communication device |
US7986301B2 (en) * | 2004-06-21 | 2011-07-26 | Research In Motion Limited | Handheld wireless communication device |
US8463315B2 (en) | 2004-06-21 | 2013-06-11 | Research In Motion Limited | Handheld wireless communication device |
US8972444B2 (en) | 2004-06-25 | 2015-03-03 | Google Inc. | Nonstandard locality-based text entry |
US8392453B2 (en) * | 2004-06-25 | 2013-03-05 | Google Inc. | Nonstandard text entry |
US7921374B2 (en) | 2004-07-08 | 2011-04-05 | Research In Motion Limited | Adding interrogative punctuation to an electronic message |
ATE426198T1 (de) * | 2004-07-08 | 2009-04-15 | Research In Motion Ltd | Hinzufugen von fragezeichen zu elektronischen nachrichten |
KR100585769B1 (ko) * | 2004-07-16 | 2006-06-07 | 엘지전자 주식회사 | 이동 통신 단말기의 중문 입력 방법 |
US7439959B2 (en) | 2004-07-30 | 2008-10-21 | Research In Motion Limited | Key arrangement for a keyboard |
US20060176283A1 (en) * | 2004-08-06 | 2006-08-10 | Daniel Suraqui | Finger activated reduced keyboard and a method for performing text input |
CA2577075C (en) * | 2004-08-13 | 2014-10-07 | 5 Examples, Inc. | The one-row keyboard and approximate typing |
US20080010053A1 (en) * | 2004-08-31 | 2008-01-10 | Vadim Fux | Handheld Electronic Device and Associated Method Employing a Multiple-Axis Input Device and Outputting as Variants Textual Variants of Text Disambiguation |
US7475004B2 (en) * | 2004-08-31 | 2009-01-06 | Research In Motion Limited | Handheld electronic device with text disambiguation |
US7698123B2 (en) | 2004-08-31 | 2010-04-13 | Research In Motion Limited | Handheld electronic device with text disambiguation |
EP1630650A1 (en) * | 2004-08-31 | 2006-03-01 | 2012244 Ontario Inc. | Handheld electronic device with text disambiguation |
US8237663B2 (en) | 2004-08-31 | 2012-08-07 | Research In Motion Limited | Handheld electronic device with text disambiguation |
US7646375B2 (en) | 2004-08-31 | 2010-01-12 | Research In Motion Limited | Handheld electronic device with text disambiguation |
US7711542B2 (en) * | 2004-08-31 | 2010-05-04 | Research In Motion Limited | System and method for multilanguage text input in a handheld electronic device |
EP2148263B1 (en) * | 2004-08-31 | 2016-07-06 | BlackBerry Limited | Handheld electronic device with text disambiguation |
EP1630649A1 (en) * | 2004-08-31 | 2006-03-01 | 2012244 Ontario Inc. | System and method for multilanguage text input in a handheld electronic device |
EP1630647A1 (en) * | 2004-08-31 | 2006-03-01 | 2012244 Ontario Inc. | Handheld electronic device with text disambiguation |
US7952496B2 (en) | 2004-08-31 | 2011-05-31 | Research In Motion Limited | Handheld electronic device and associated method employing a multiple-axis input device and reinitiating a text disambiguation session upon returning to a delimited word |
EP1630645A1 (en) * | 2004-08-31 | 2006-03-01 | 2012244 Ontario Inc. | Handheld electronic device with text disambiguation |
US20060073818A1 (en) * | 2004-09-21 | 2006-04-06 | Research In Motion Limited | Mobile wireless communications device providing enhanced text navigation indicators and related methods |
EP1637977A1 (en) * | 2004-09-21 | 2006-03-22 | Research In Motion Limited | Mobile wireless communiations device providing enhanced predictive word entry and related methods |
US20060063558A1 (en) * | 2004-09-21 | 2006-03-23 | Research In Motion Limited | Mobile wireless communications device providing enhanced predictive word entry and related methods |
US7895218B2 (en) | 2004-11-09 | 2011-02-22 | Veveo, Inc. | Method and system for performing searches for television content using reduced text input |
KR100595694B1 (ko) * | 2004-11-12 | 2006-07-03 | 엘지전자 주식회사 | 휴대용 단말기의 상용구 등록방법 |
DE112005002888T5 (de) * | 2004-11-23 | 2008-03-13 | Research In Motion Ltd. | Tragbare elektronische Vorrichtung mit Textdisambiguierung |
US7778821B2 (en) * | 2004-11-24 | 2010-08-17 | Microsoft Corporation | Controlled manipulation of characters |
US7836412B1 (en) | 2004-12-03 | 2010-11-16 | Escription, Inc. | Transcription editing |
US20060206815A1 (en) * | 2005-03-08 | 2006-09-14 | Pathiyal Krishna K | Handheld electronic device having improved word correction, and associated method |
US20060202866A1 (en) * | 2005-03-08 | 2006-09-14 | Pathiyal Krishna K | Handheld electronic device having improved display and selection of disambiguation choices, and associated method |
EP1703361A1 (en) * | 2005-03-16 | 2006-09-20 | Research In Motion Limited | Handheld electronic device with reduced keyboard and associated method of providing improved disambiguation |
US7599830B2 (en) | 2005-03-16 | 2009-10-06 | Research In Motion Limited | Handheld electronic device with reduced keyboard and associated method of providing quick text entry in a message |
CN1834865B (zh) * | 2005-03-18 | 2010-04-28 | 马贤亮 | 一种小键盘上数字编码的汉语拼音和注音多字连续输入法 |
US8904282B2 (en) * | 2005-04-21 | 2014-12-02 | Motorola Mobility Llc | Electronic device having capability for interpreting user inputs and method therefor |
WO2006115825A2 (en) * | 2005-04-25 | 2006-11-02 | Tegic Communications, Inc. | Abbreviated handwritten ideographic entry phrase by partial entry |
US7548849B2 (en) * | 2005-04-29 | 2009-06-16 | Research In Motion Limited | Method for generating text that meets specified characteristics in a handheld electronic device and a handheld electronic device incorporating the same |
US7620540B2 (en) * | 2005-04-29 | 2009-11-17 | Research In Motion Limited | Method for generating text in a handheld electronic device and a handheld electronic device incorporating the same |
US20090193334A1 (en) * | 2005-05-18 | 2009-07-30 | Exb Asset Management Gmbh | Predictive text input system and method involving two concurrent ranking means |
US8036878B2 (en) * | 2005-05-18 | 2011-10-11 | Never Wall Treuhand GmbH | Device incorporating improved text input mechanism |
US8117540B2 (en) * | 2005-05-18 | 2012-02-14 | Neuer Wall Treuhand Gmbh | Method and device incorporating improved text input mechanism |
US9606634B2 (en) * | 2005-05-18 | 2017-03-28 | Nokia Technologies Oy | Device incorporating improved text input mechanism |
US8374846B2 (en) * | 2005-05-18 | 2013-02-12 | Neuer Wall Treuhand Gmbh | Text input device and method |
RU2338238C2 (ru) | 2005-05-30 | 2008-11-10 | Самсунг Электроникс Ко., Лтд. | Способ и система ввода информации |
PL1900103T3 (pl) | 2005-06-16 | 2011-10-31 | Firooz Ghassabian | System wprowadzania danych |
US8122034B2 (en) | 2005-06-30 | 2012-02-21 | Veveo, Inc. | Method and system for incremental search with reduced text entry where the relevance of results is a dynamically computed function of user input search string character count |
US20070016862A1 (en) * | 2005-07-15 | 2007-01-18 | Microth, Inc. | Input guessing systems, methods, and computer program products |
US7312410B2 (en) | 2005-07-25 | 2007-12-25 | Research In Motion Limited | Reduced qwerty keyboard system that provides better accuracy and associated method |
EP1748351B1 (en) * | 2005-07-25 | 2016-07-06 | BlackBerry Limited | A reduced QWERTY keyboard system that provides better accuracy and associated method |
US7573404B2 (en) * | 2005-07-28 | 2009-08-11 | Research In Motion Limited | Handheld electronic device with disambiguation of compound word text input employing separating input |
US7831913B2 (en) * | 2005-07-29 | 2010-11-09 | Microsoft Corporation | Selection-based item tagging |
US7719520B2 (en) | 2005-08-18 | 2010-05-18 | Scenera Technologies, Llc | Systems and methods for processing data entered using an eye-tracking system |
JP4639124B2 (ja) * | 2005-08-23 | 2011-02-23 | キヤノン株式会社 | 文字入力補助方法及び情報処理装置 |
US7737999B2 (en) * | 2005-08-26 | 2010-06-15 | Veveo, Inc. | User interface for visual cooperation between text input and display device |
US7779011B2 (en) | 2005-08-26 | 2010-08-17 | Veveo, Inc. | Method and system for dynamically processing ambiguous, reduced text search queries and highlighting results thereof |
US7788266B2 (en) | 2005-08-26 | 2010-08-31 | Veveo, Inc. | Method and system for processing ambiguous, multi-term search queries |
US8677377B2 (en) | 2005-09-08 | 2014-03-18 | Apple Inc. | Method and apparatus for building an intelligent automated assistant |
US7752569B2 (en) * | 2005-09-09 | 2010-07-06 | Microsoft Corporation | Software key labeling on software keyboards |
US7694231B2 (en) * | 2006-01-05 | 2010-04-06 | Apple Inc. | Keyboards for portable electronic devices |
US20080098331A1 (en) * | 2005-09-16 | 2008-04-24 | Gregory Novick | Portable Multifunction Device with Soft Keyboards |
US7685114B2 (en) * | 2005-09-26 | 2010-03-23 | Sap Ag | Systems and methods for mapping text |
US20070106498A1 (en) * | 2005-11-10 | 2007-05-10 | Nokia Corporation | Mobile communication terminal and method therefor |
US20070106732A1 (en) * | 2005-11-10 | 2007-05-10 | Nokia Corporation | Mobile communication terminal and method therefor |
US7644054B2 (en) | 2005-11-23 | 2010-01-05 | Veveo, Inc. | System and method for finding desired results by incremental search using an ambiguous keypad with the input containing orthographic and typographic errors |
US20070136688A1 (en) * | 2005-12-08 | 2007-06-14 | Mirkin Eugene A | Method for predictive text input in devices with reduced keypads |
JP2009519535A (ja) * | 2005-12-14 | 2009-05-14 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | データファイルを操作する方法及び装置 |
US7538692B2 (en) * | 2006-01-13 | 2009-05-26 | Research In Motion Limited | Handheld electronic device and method for disambiguation of compound text input and for prioritizing compound language solutions according to quantity of text components |
US8370125B2 (en) * | 2006-01-13 | 2013-02-05 | Research In Motion Limited | Handheld electronic device and method for disambiguation of text input providing artificial variants comprised of characters in a core alphabet |
US7786979B2 (en) * | 2006-01-13 | 2010-08-31 | Research In Motion Limited | Handheld electronic device and method for disambiguation of text input and providing spelling substitution |
ATE444516T1 (de) | 2006-01-13 | 2009-10-15 | Research In Motion Ltd | Tragbares elektronisches gerät mit verfahren zur textdisambiguierung und zur substitution der schreibweise |
US7525452B2 (en) * | 2006-01-13 | 2009-04-28 | Research In Motion Limited | Handheld electronic device and method for disambiguation of text input providing suppression of low probability artificial variants |
US7711744B1 (en) | 2006-01-18 | 2010-05-04 | 3Com Corporation | Simple and fast directory search with reduced keystrokes and reduced server calls |
US20080126079A1 (en) * | 2006-01-20 | 2008-05-29 | Research In Motion Limited | Handheld electronic device with automatic text generation |
US8108796B2 (en) * | 2006-02-10 | 2012-01-31 | Motorola Mobility, Inc. | Method and system for operating a device |
US8537117B2 (en) | 2006-02-13 | 2013-09-17 | Blackberry Limited | Handheld wireless communication device that selectively generates a menu in response to received commands |
US7770118B2 (en) * | 2006-02-13 | 2010-08-03 | Research In Motion Limited | Navigation tool with audible feedback on a handheld communication device having a full alphabetic keyboard |
JP4744317B2 (ja) * | 2006-02-16 | 2011-08-10 | 富士通株式会社 | 単語検索装置、単語検索方法、及びコンピュータプログラム |
WO2007103938A2 (en) | 2006-03-06 | 2007-09-13 | Veveo, Inc. | Methods and systems for selecting and presenting content based on learned user preferences |
US7679606B2 (en) * | 2006-03-24 | 2010-03-16 | Research In Motion Limited | Handheld electronic device including automatic preferred selection of a punctuation, and associated method |
US8296484B2 (en) * | 2006-03-30 | 2012-10-23 | Harris Corporation | Alphanumeric data entry apparatus and method using multicharacter keys of a keypad |
US8073860B2 (en) | 2006-03-30 | 2011-12-06 | Veveo, Inc. | Method and system for incrementally selecting and providing relevant search engines in response to a user query |
US8469712B2 (en) * | 2006-03-31 | 2013-06-25 | Research In Motion | Handheld electronic device including indication of a selected data source, and associated method |
US7777717B2 (en) | 2006-04-05 | 2010-08-17 | Research In Motion Limited | Handheld electronic device and method for performing spell checking during text entry and for integrating the output from such spell checking into the output from disambiguation |
US7477165B2 (en) * | 2006-04-06 | 2009-01-13 | Research In Motion Limited | Handheld electronic device and method for learning contextual data during disambiguation of text input |
US8065135B2 (en) * | 2006-04-06 | 2011-11-22 | Research In Motion Limited | Handheld electronic device and method for employing contextual data for disambiguation of text input |
EP2911071A1 (en) | 2006-04-20 | 2015-08-26 | Veveo, Inc. | User interface methods and systems for selecting and presenting content based on user navigation and selection actions associated with the content |
US7505798B2 (en) * | 2006-06-08 | 2009-03-17 | Research In Motion Limited | Angular keyboard for a handheld mobile communication device |
US7565624B2 (en) | 2006-06-30 | 2009-07-21 | Research In Motion Limited | Method of learning character segments during text input, and associated handheld electronic device |
US8395586B2 (en) * | 2006-06-30 | 2013-03-12 | Research In Motion Limited | Method of learning a context of a segment of text, and associated handheld electronic device |
US7586423B2 (en) * | 2006-06-30 | 2009-09-08 | Research In Motion Limited | Handheld electronic device and method for dual-mode disambiguation of text input |
GB2455659A (en) * | 2006-08-21 | 2009-06-24 | Philippe Jonathan Gabriel Lafleur | Text messaging system and method employing predictive text entry and text compression and apparatus for use therein |
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
CA2663222C (en) | 2006-09-14 | 2018-01-16 | Veveo, Inc. | Methods and systems for dynamically rearranging search results into hierarchically organized concept clusters |
EP1906297A1 (en) | 2006-09-27 | 2008-04-02 | Research In Motion Limited | Keyboard arrangement with distinct vowel keys |
US7658561B2 (en) * | 2006-09-27 | 2010-02-09 | Research In Motion Limited | Modified keyboard arrangement with distinct vowel keys |
US7925986B2 (en) | 2006-10-06 | 2011-04-12 | Veveo, Inc. | Methods and systems for a linear character selection display interface for ambiguous text input |
US7793228B2 (en) * | 2006-10-13 | 2010-09-07 | Apple Inc. | Method, system, and graphical user interface for text entry with partial word display |
US7979425B2 (en) * | 2006-10-25 | 2011-07-12 | Google Inc. | Server-side match |
EP1921532B1 (en) | 2006-11-10 | 2022-07-06 | BlackBerry Limited | Method for automatically preferring a diacritical version of a linguistic element on a handheld electronic device based on linguistic source and associated apparatus |
US8035534B2 (en) | 2006-11-10 | 2011-10-11 | Research In Motion Limited | Method for automatically preferring a diacritical version of a linguistic element on a handheld electronic device based on linguistic source and associated apparatus |
US8078884B2 (en) | 2006-11-13 | 2011-12-13 | Veveo, Inc. | Method of and system for selecting and presenting content based on user identification |
US20080133222A1 (en) * | 2006-11-30 | 2008-06-05 | Yehuda Kogan | Spell checker for input of reduced keypad devices |
US20080131031A1 (en) * | 2006-12-05 | 2008-06-05 | Sherryl Lee Lorraine Scott | Handheld electronic device with diacritical selection and text disambiguation |
US7865824B1 (en) * | 2006-12-27 | 2011-01-04 | Tellme Networks, Inc. | Spelling correction based on input device geometry |
US8195448B2 (en) * | 2006-12-28 | 2012-06-05 | John Paisley Dargan | Method and apparatus for predicting text |
DE602006019893D1 (de) * | 2006-12-29 | 2011-03-10 | Research In Motion Ltd | Tragbare elektronische Vorrichtung mit Eingabebestätigung und entsprechendes Verfahren |
US8115658B2 (en) | 2006-12-29 | 2012-02-14 | Research In Motion Limited | Handheld electronic device providing confirmation of input, and associated method |
US7957955B2 (en) * | 2007-01-05 | 2011-06-07 | Apple Inc. | Method and system for providing word recommendations for text input |
US8074172B2 (en) * | 2007-01-05 | 2011-12-06 | Apple Inc. | Method, system, and graphical user interface for providing word recommendations |
US8225203B2 (en) | 2007-02-01 | 2012-07-17 | Nuance Communications, Inc. | Spell-check for a keyboard system with automatic correction |
US8201087B2 (en) * | 2007-02-01 | 2012-06-12 | Tegic Communications, Inc. | Spell-check for a keyboard system with automatic correction |
KR101452704B1 (ko) * | 2007-02-14 | 2014-10-23 | 삼성전자주식회사 | 복수의 버튼을 갖는 휴대용 디바이스에서의 패스워드 설정방법 및 패스 워드 인증 방법 |
US9092418B2 (en) | 2007-03-30 | 2015-07-28 | Blackberry Limted | Use of a suffix-changing spell check algorithm for a spell check function, and associated handheld electronic device |
US20080244387A1 (en) * | 2007-03-30 | 2008-10-02 | Vadim Fux | Use of a Suffix-Removing Spell Check Algorithm for a Spell Check Function, and Associated Handheld Electronic Device |
US8977255B2 (en) | 2007-04-03 | 2015-03-10 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
US20080255846A1 (en) * | 2007-04-13 | 2008-10-16 | Vadim Fux | Method of providing language objects by indentifying an occupation of a user of a handheld electronic device and a handheld electronic device incorporating the same |
US8639826B2 (en) * | 2007-05-07 | 2014-01-28 | Fourthwall Media, Inc. | Providing personalized resources on-demand over a broadband network to consumer device applications |
US8299943B2 (en) * | 2007-05-22 | 2012-10-30 | Tegic Communications, Inc. | Multiple predictions in a reduced keyboard disambiguating system |
WO2008148009A1 (en) | 2007-05-25 | 2008-12-04 | Veveo, Inc. | Method and system for unified searching across and within multiple documents |
US8549424B2 (en) | 2007-05-25 | 2013-10-01 | Veveo, Inc. | System and method for text disambiguation and context designation in incremental search |
US8504349B2 (en) * | 2007-06-18 | 2013-08-06 | Microsoft Corporation | Text prediction with partial selection in a variety of domains |
EP2019355A1 (en) * | 2007-07-24 | 2009-01-28 | Research In Motion Limited | Handheld electronic device and associated method enabling the output of non-alphabetic characters in a disambiguation environment |
US7936337B2 (en) | 2007-07-24 | 2011-05-03 | Research In Motion Limited | Handheld electronic device and associated method enabling the output of non-alphabetic characters in a disambiguation environment |
US8593404B2 (en) * | 2007-08-27 | 2013-11-26 | Blackberry Limited | Reduced key arrangement for a mobile communication device |
US8943539B2 (en) | 2007-11-21 | 2015-01-27 | Rovi Guides, Inc. | Enabling a friend to remotely modify user data |
US9330720B2 (en) | 2008-01-03 | 2016-05-03 | Apple Inc. | Methods and apparatus for altering audio output signals |
US8232973B2 (en) | 2008-01-09 | 2012-07-31 | Apple Inc. | Method, device, and graphical user interface providing word recommendations for text input |
US20090179863A1 (en) * | 2008-01-15 | 2009-07-16 | Tariq Tahir | Method and apparatus for preventing operation of keystroke learning during entry of selected input strings |
WO2009113698A1 (ja) * | 2008-03-08 | 2009-09-17 | Satake Yasuhiko | 携帯入力端末 |
US8996376B2 (en) | 2008-04-05 | 2015-03-31 | Apple Inc. | Intelligent text-to-speech conversion |
US10496753B2 (en) | 2010-01-18 | 2019-12-03 | Apple Inc. | Automatically adapting user interfaces for hands-free interaction |
DE602008005428D1 (de) * | 2008-06-11 | 2011-04-21 | Exb Asset Man Gmbh | Vorrichtung und Verfahren mit verbessertem Texteingabemechanismus |
US20100030549A1 (en) | 2008-07-31 | 2010-02-04 | Lee Michael M | Mobile device having human language translation capability with positional feedback |
US8533129B2 (en) * | 2008-09-16 | 2013-09-10 | Yahoo! Inc. | Efficient data layout techniques for fast machine learning-based document ranking |
US8447120B2 (en) * | 2008-10-04 | 2013-05-21 | Microsoft Corporation | Incremental feature indexing for scalable location recognition |
CN101533403B (zh) * | 2008-11-07 | 2010-12-01 | 广东国笔科技股份有限公司 | 一种派生词生成方法及系统 |
US8786551B2 (en) * | 2008-12-11 | 2014-07-22 | Verizon Patent And Licensing Inc. | Predictive keypad/keyboard lighting to guide input |
WO2010067118A1 (en) | 2008-12-11 | 2010-06-17 | Novauris Technologies Limited | Speech recognition involving a mobile device |
US8669941B2 (en) * | 2009-01-05 | 2014-03-11 | Nuance Communications, Inc. | Method and apparatus for text entry |
US10175848B2 (en) * | 2009-02-09 | 2019-01-08 | Nokia Technologies Oy | Displaying a display portion including an icon enabling an item to be added to a list |
WO2010093274A1 (ru) * | 2009-02-10 | 2010-08-19 | Borisov Dmitriy Sergeevich | Клавиатура |
US20100235780A1 (en) * | 2009-03-16 | 2010-09-16 | Westerman Wayne C | System and Method for Identifying Words Based on a Sequence of Keyboard Events |
US9189472B2 (en) | 2009-03-30 | 2015-11-17 | Touchtype Limited | System and method for inputting text into small screen devices |
GB0917753D0 (en) | 2009-10-09 | 2009-11-25 | Touchtype Ltd | System and method for inputting text into electronic devices |
GB0905457D0 (en) | 2009-03-30 | 2009-05-13 | Touchtype Ltd | System and method for inputting text into electronic devices |
GB201108200D0 (en) | 2011-05-16 | 2011-06-29 | Touchtype Ltd | User input prediction |
US9424246B2 (en) | 2009-03-30 | 2016-08-23 | Touchtype Ltd. | System and method for inputting text into electronic devices |
GB201016385D0 (en) | 2010-09-29 | 2010-11-10 | Touchtype Ltd | System and method for inputting text into electronic devices |
US10191654B2 (en) | 2009-03-30 | 2019-01-29 | Touchtype Limited | System and method for inputting text into electronic devices |
US8850472B2 (en) * | 2009-04-01 | 2014-09-30 | Nuance Communications, Inc. | Method and apparatus for customizing user experience |
US10241644B2 (en) | 2011-06-03 | 2019-03-26 | Apple Inc. | Actionable reminder entries |
US10241752B2 (en) | 2011-09-30 | 2019-03-26 | Apple Inc. | Interface for a virtual digital assistant |
US20120311585A1 (en) | 2011-06-03 | 2012-12-06 | Apple Inc. | Organizing task items that represent tasks to perform |
US9858925B2 (en) | 2009-06-05 | 2018-01-02 | Apple Inc. | Using context information to facilitate processing of commands in a virtual assistant |
US9431006B2 (en) | 2009-07-02 | 2016-08-30 | Apple Inc. | Methods and apparatuses for automatic speech recognition |
US20110042102A1 (en) * | 2009-08-18 | 2011-02-24 | Frank's International, Inc. | Method of and kit for installing a centralizer on a pipe segment |
US9110515B2 (en) | 2009-08-19 | 2015-08-18 | Nuance Communications, Inc. | Method and apparatus for text input |
US9166714B2 (en) | 2009-09-11 | 2015-10-20 | Veveo, Inc. | Method of and system for presenting enriched video viewing analytics |
US10705794B2 (en) | 2010-01-18 | 2020-07-07 | Apple Inc. | Automatically adapting user interfaces for hands-free interaction |
CN102713796B (zh) * | 2010-01-18 | 2015-04-01 | 三菱电机株式会社 | 输入装置 |
US10679605B2 (en) | 2010-01-18 | 2020-06-09 | Apple Inc. | Hands-free list-reading by intelligent automated assistant |
US10553209B2 (en) | 2010-01-18 | 2020-02-04 | Apple Inc. | Systems and methods for hands-free notification summaries |
US10276170B2 (en) | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
US8977584B2 (en) | 2010-01-25 | 2015-03-10 | Newvaluexchange Global Ai Llp | Apparatuses, methods and systems for a digital conversation management platform |
US20110191332A1 (en) | 2010-02-04 | 2011-08-04 | Veveo, Inc. | Method of and System for Updating Locally Cached Content Descriptor Information |
US8682667B2 (en) | 2010-02-25 | 2014-03-25 | Apple Inc. | User profiling for selecting user specific voice input processing information |
GB201003628D0 (en) | 2010-03-04 | 2010-04-21 | Touchtype Ltd | System and method for inputting text into electronic devices |
US8384566B2 (en) * | 2010-05-19 | 2013-02-26 | Mckesson Financial Holdings | Pressure-sensitive keyboard and associated method of operation |
KR101675374B1 (ko) | 2010-06-10 | 2016-11-11 | 삼성전자 주식회사 | 휴대 단말기의 문자 입력 방법 및 장치 |
US8838453B2 (en) * | 2010-08-31 | 2014-09-16 | Red Hat, Inc. | Interactive input method |
WO2012034069A1 (en) | 2010-09-10 | 2012-03-15 | Veveo, Inc. | Method of and system for conducting personalized federated search and presentation of results therefrom |
GB201200643D0 (en) | 2012-01-16 | 2012-02-29 | Touchtype Ltd | System and method for inputting text |
CN101957724A (zh) * | 2010-10-05 | 2011-01-26 | 孙强国 | 一种拼音文字联想输入的改进方法 |
US8793120B1 (en) * | 2010-10-28 | 2014-07-29 | A9.Com, Inc. | Behavior-driven multilingual stemming |
US8982045B2 (en) | 2010-12-17 | 2015-03-17 | Microsoft Corporation | Using movement of a computing device to enhance interpretation of input events produced when interacting with the computing device |
US8988398B2 (en) | 2011-02-11 | 2015-03-24 | Microsoft Corporation | Multi-touch input device with orientation sensing |
US9244545B2 (en) | 2010-12-17 | 2016-01-26 | Microsoft Technology Licensing, Llc | Touch and stylus discrimination and rejection for contact sensitive computing devices |
US20120154295A1 (en) * | 2010-12-17 | 2012-06-21 | Microsoft Corporation | Cooperative use of plural input mechanisms to convey gestures |
US8994646B2 (en) | 2010-12-17 | 2015-03-31 | Microsoft Corporation | Detecting gestures involving intentional movement of a computing device |
US10762293B2 (en) | 2010-12-22 | 2020-09-01 | Apple Inc. | Using parts-of-speech tagging and named entity recognition for spelling correction |
US8911165B2 (en) | 2011-01-24 | 2014-12-16 | 5 Examples, Inc. | Overloaded typing apparatuses, and related devices, systems, and methods |
US9201520B2 (en) | 2011-02-11 | 2015-12-01 | Microsoft Technology Licensing, Llc | Motion and context sharing for pen-based computing inputs |
US9262612B2 (en) | 2011-03-21 | 2016-02-16 | Apple Inc. | Device access using voice authentication |
US10057736B2 (en) | 2011-06-03 | 2018-08-21 | Apple Inc. | Active transport based notifications |
US8825620B1 (en) | 2011-06-13 | 2014-09-02 | A9.Com, Inc. | Behavioral word segmentation for use in processing search queries |
US8762356B1 (en) * | 2011-07-15 | 2014-06-24 | Google Inc. | Detecting change in rate of input reception |
US8994660B2 (en) | 2011-08-29 | 2015-03-31 | Apple Inc. | Text correction processing |
US8902181B2 (en) | 2012-02-07 | 2014-12-02 | Microsoft Corporation | Multi-touch-movement gestures for tablet computing devices |
US10134385B2 (en) | 2012-03-02 | 2018-11-20 | Apple Inc. | Systems and methods for name pronunciation |
US9483461B2 (en) | 2012-03-06 | 2016-11-01 | Apple Inc. | Handling speech synthesis of content for multiple languages |
US9223497B2 (en) * | 2012-03-16 | 2015-12-29 | Blackberry Limited | In-context word prediction and word correction |
CN103365834B (zh) * | 2012-03-29 | 2017-08-18 | 富泰华工业(深圳)有限公司 | 语言歧义消除系统及方法 |
US9280610B2 (en) | 2012-05-14 | 2016-03-08 | Apple Inc. | Crowd sourcing information to fulfill user requests |
US9721563B2 (en) | 2012-06-08 | 2017-08-01 | Apple Inc. | Name recognition system |
US9495129B2 (en) | 2012-06-29 | 2016-11-15 | Apple Inc. | Device, method, and user interface for voice-activated navigation and browsing of a document |
US9576574B2 (en) | 2012-09-10 | 2017-02-21 | Apple Inc. | Context-sensitive handling of interruptions by intelligent digital assistant |
US9547647B2 (en) | 2012-09-19 | 2017-01-17 | Apple Inc. | Voice-based media searching |
US9557818B2 (en) * | 2012-10-16 | 2017-01-31 | Google Inc. | Contextually-specific automatic separators |
KR101370834B1 (ko) | 2012-10-18 | 2014-03-07 | 삼성전자주식회사 | 디스플레이 장치 및 이의 문자 입력 방법 |
DE102012020610A1 (de) * | 2012-10-19 | 2014-04-24 | Audi Ag | Kraftwagen mit einem Handschrifterkennungssystem |
US10304465B2 (en) | 2012-10-30 | 2019-05-28 | Google Technology Holdings LLC | Voice control user interface for low power mode |
US10381001B2 (en) | 2012-10-30 | 2019-08-13 | Google Technology Holdings LLC | Voice control user interface during low-power mode |
US9584642B2 (en) | 2013-03-12 | 2017-02-28 | Google Technology Holdings LLC | Apparatus with adaptive acoustic echo control for speakerphone mode |
US10373615B2 (en) | 2012-10-30 | 2019-08-06 | Google Technology Holdings LLC | Voice control user interface during low power mode |
KR102103057B1 (ko) | 2013-02-07 | 2020-04-21 | 애플 인크. | 디지털 어시스턴트를 위한 음성 트리거 |
US9368114B2 (en) | 2013-03-14 | 2016-06-14 | Apple Inc. | Context-sensitive handling of interruptions |
CN105027197B (zh) | 2013-03-15 | 2018-12-14 | 苹果公司 | 训练至少部分语音命令系统 |
WO2014144579A1 (en) | 2013-03-15 | 2014-09-18 | Apple Inc. | System and method for updating an adaptive speech recognition model |
WO2014197334A2 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for user-specified pronunciation of words for speech synthesis and recognition |
US9582608B2 (en) | 2013-06-07 | 2017-02-28 | Apple Inc. | Unified ranking with entropy-weighted information for phrase-based semantic auto-completion |
WO2014197336A1 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for detecting errors in interactions with a voice-based digital assistant |
WO2014197335A1 (en) | 2013-06-08 | 2014-12-11 | Apple Inc. | Interpreting and acting upon commands that involve sharing information with remote devices |
US10176167B2 (en) | 2013-06-09 | 2019-01-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
WO2014200728A1 (en) | 2013-06-09 | 2014-12-18 | Apple Inc. | Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant |
EP3008964B1 (en) | 2013-06-13 | 2019-09-25 | Apple Inc. | System and method for emergency calls initiated by voice command |
JP6163266B2 (ja) | 2013-08-06 | 2017-07-12 | アップル インコーポレイテッド | リモート機器からの作動に基づくスマート応答の自動作動 |
US20150089435A1 (en) * | 2013-09-25 | 2015-03-26 | Microth, Inc. | System and method for prediction and recognition of input sequences |
KR102157264B1 (ko) | 2013-10-30 | 2020-09-17 | 삼성전자주식회사 | 디스플레이 장치 및 그 ui 제공 방법 |
US8768712B1 (en) | 2013-12-04 | 2014-07-01 | Google Inc. | Initiating actions based on partial hotwords |
US9792271B2 (en) | 2014-01-08 | 2017-10-17 | Arthur Nicholas Keenan | System and method of manipulating an inputted character string to a diacritic-modified character string using a single layout for a character entry device |
KR102182672B1 (ko) * | 2014-01-11 | 2020-11-24 | (주)네온베리 | 다국어 통합 자음 패턴 검색 방법 및 그 장치 |
US9620105B2 (en) | 2014-05-15 | 2017-04-11 | Apple Inc. | Analyzing audio input for efficient speech and music recognition |
US10592095B2 (en) | 2014-05-23 | 2020-03-17 | Apple Inc. | Instantaneous speaking of content on touch devices |
US9502031B2 (en) | 2014-05-27 | 2016-11-22 | Apple Inc. | Method for supporting dynamic grammars in WFST-based ASR |
US10204096B2 (en) | 2014-05-30 | 2019-02-12 | Apple Inc. | Device, method, and graphical user interface for a predictive keyboard |
US9430463B2 (en) | 2014-05-30 | 2016-08-30 | Apple Inc. | Exemplar-based natural language processing |
US10289433B2 (en) | 2014-05-30 | 2019-05-14 | Apple Inc. | Domain specific language for encoding assistant dialog |
US9785630B2 (en) | 2014-05-30 | 2017-10-10 | Apple Inc. | Text prediction using combined word N-gram and unigram language models |
US9734193B2 (en) | 2014-05-30 | 2017-08-15 | Apple Inc. | Determining domain salience ranking from ambiguous words in natural speech |
US9633004B2 (en) | 2014-05-30 | 2017-04-25 | Apple Inc. | Better resolution when referencing to concepts |
US9715875B2 (en) | 2014-05-30 | 2017-07-25 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
US9760559B2 (en) * | 2014-05-30 | 2017-09-12 | Apple Inc. | Predictive text input |
US10078631B2 (en) | 2014-05-30 | 2018-09-18 | Apple Inc. | Entropy-guided text prediction using combined word and character n-gram language models |
US9966065B2 (en) | 2014-05-30 | 2018-05-08 | Apple Inc. | Multi-command single utterance input method |
US9842101B2 (en) | 2014-05-30 | 2017-12-12 | Apple Inc. | Predictive conversion of language input |
US10170123B2 (en) | 2014-05-30 | 2019-01-01 | Apple Inc. | Intelligent assistant for home automation |
US9727161B2 (en) | 2014-06-12 | 2017-08-08 | Microsoft Technology Licensing, Llc | Sensor correlation for pen and touch-sensitive computing device interaction |
US9870083B2 (en) | 2014-06-12 | 2018-01-16 | Microsoft Technology Licensing, Llc | Multi-device multi-user sensor correlation for pen and computing device interaction |
US9338493B2 (en) | 2014-06-30 | 2016-05-10 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US10659851B2 (en) | 2014-06-30 | 2020-05-19 | Apple Inc. | Real-time digital assistant knowledge updates |
US9219496B1 (en) * | 2014-08-18 | 2015-12-22 | Advanced Micro Devices, Inc. | Efficient lossless data compression system, data compressor, and method therefor |
US10446141B2 (en) | 2014-08-28 | 2019-10-15 | Apple Inc. | Automatic speech recognition based on user feedback |
US9818400B2 (en) | 2014-09-11 | 2017-11-14 | Apple Inc. | Method and apparatus for discovering trending terms in speech requests |
US10789041B2 (en) | 2014-09-12 | 2020-09-29 | Apple Inc. | Dynamic thresholds for always listening speech trigger |
US9668121B2 (en) | 2014-09-30 | 2017-05-30 | Apple Inc. | Social reminders |
US10127911B2 (en) | 2014-09-30 | 2018-11-13 | Apple Inc. | Speaker identification and unsupervised speaker adaptation techniques |
US10074360B2 (en) | 2014-09-30 | 2018-09-11 | Apple Inc. | Providing an indication of the suitability of speech recognition |
US9646609B2 (en) | 2014-09-30 | 2017-05-09 | Apple Inc. | Caching apparatus for serving phonetic pronunciations |
US9886432B2 (en) | 2014-09-30 | 2018-02-06 | Apple Inc. | Parsimonious handling of word inflection via categorical stem + suffix N-gram language models |
US11435887B1 (en) | 2014-10-05 | 2022-09-06 | Turbopatent Inc. | Machine display operation systems and methods |
US10552013B2 (en) | 2014-12-02 | 2020-02-04 | Apple Inc. | Data detection |
US9711141B2 (en) | 2014-12-09 | 2017-07-18 | Apple Inc. | Disambiguating heteronyms in speech synthesis |
CN105988704B (zh) * | 2015-03-03 | 2020-10-02 | 上海触乐信息科技有限公司 | 高效的触摸屏文本输入系统及方法 |
US9865280B2 (en) | 2015-03-06 | 2018-01-09 | Apple Inc. | Structured dictation using intelligent automated assistants |
US9721566B2 (en) | 2015-03-08 | 2017-08-01 | Apple Inc. | Competing devices responding to voice triggers |
US10567477B2 (en) | 2015-03-08 | 2020-02-18 | Apple Inc. | Virtual assistant continuity |
US9886953B2 (en) | 2015-03-08 | 2018-02-06 | Apple Inc. | Virtual assistant activation |
US9899019B2 (en) | 2015-03-18 | 2018-02-20 | Apple Inc. | Systems and methods for structured stem and suffix language models |
US9842105B2 (en) | 2015-04-16 | 2017-12-12 | Apple Inc. | Parsimonious continuous-space phrase representations for natural language processing |
US10083688B2 (en) | 2015-05-27 | 2018-09-25 | Apple Inc. | Device voice control for selecting a displayed affordance |
US10127220B2 (en) | 2015-06-04 | 2018-11-13 | Apple Inc. | Language identification from short strings |
US9578173B2 (en) | 2015-06-05 | 2017-02-21 | Apple Inc. | Virtual assistant aided communication with 3rd party service in a communication session |
US10101822B2 (en) | 2015-06-05 | 2018-10-16 | Apple Inc. | Language input correction |
US11025565B2 (en) | 2015-06-07 | 2021-06-01 | Apple Inc. | Personalized prediction of responses for instant messaging |
US10186254B2 (en) | 2015-06-07 | 2019-01-22 | Apple Inc. | Context-based endpoint detection |
US10255907B2 (en) | 2015-06-07 | 2019-04-09 | Apple Inc. | Automatic accent detection using acoustic models |
US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital assistant |
US10671428B2 (en) | 2015-09-08 | 2020-06-02 | Apple Inc. | Distributed personal assistant |
US9697820B2 (en) | 2015-09-24 | 2017-07-04 | Apple Inc. | Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks |
US11010550B2 (en) | 2015-09-29 | 2021-05-18 | Apple Inc. | Unified language modeling framework for word prediction, auto-completion and auto-correction |
US10366158B2 (en) | 2015-09-29 | 2019-07-30 | Apple Inc. | Efficient word encoding for recurrent neural network language models |
US11587559B2 (en) | 2015-09-30 | 2023-02-21 | Apple Inc. | Intelligent device identification |
US10691473B2 (en) | 2015-11-06 | 2020-06-23 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US10049668B2 (en) | 2015-12-02 | 2018-08-14 | Apple Inc. | Applying neural network language models to weighted finite state transducers for automatic speech recognition |
US10223066B2 (en) | 2015-12-23 | 2019-03-05 | Apple Inc. | Proactive assistance based on dialog communication between devices |
US10446143B2 (en) | 2016-03-14 | 2019-10-15 | Apple Inc. | Identification of voice inputs providing credentials |
US9934775B2 (en) | 2016-05-26 | 2018-04-03 | Apple Inc. | Unit-selection text-to-speech synthesis based on predicted concatenation parameters |
US9972304B2 (en) | 2016-06-03 | 2018-05-15 | Apple Inc. | Privacy preserving distributed evaluation framework for embedded personalized systems |
US10249300B2 (en) | 2016-06-06 | 2019-04-02 | Apple Inc. | Intelligent list reading |
US10049663B2 (en) | 2016-06-08 | 2018-08-14 | Apple, Inc. | Intelligent automated assistant for media exploration |
DK179309B1 (en) | 2016-06-09 | 2018-04-23 | Apple Inc | Intelligent automated assistant in a home environment |
US10509862B2 (en) | 2016-06-10 | 2019-12-17 | Apple Inc. | Dynamic phrase expansion of language input |
US10067938B2 (en) | 2016-06-10 | 2018-09-04 | Apple Inc. | Multilingual word prediction |
US10490187B2 (en) | 2016-06-10 | 2019-11-26 | Apple Inc. | Digital assistant providing automated status report |
US10586535B2 (en) | 2016-06-10 | 2020-03-10 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
US10192552B2 (en) | 2016-06-10 | 2019-01-29 | Apple Inc. | Digital assistant providing whispered speech |
DK179343B1 (en) | 2016-06-11 | 2018-05-14 | Apple Inc | Intelligent task discovery |
DK201670540A1 (en) | 2016-06-11 | 2018-01-08 | Apple Inc | Application integration with a digital assistant |
DK179415B1 (en) | 2016-06-11 | 2018-06-14 | Apple Inc | Intelligent device arbitration and control |
DK179049B1 (en) | 2016-06-11 | 2017-09-18 | Apple Inc | Data driven natural language event detection and classification |
GB201610984D0 (en) | 2016-06-23 | 2016-08-10 | Microsoft Technology Licensing Llc | Suppression of input images |
KR20180031291A (ko) * | 2016-09-19 | 2018-03-28 | 삼성전자주식회사 | 다중 언어 번역 및 예측 장치 및 방법 |
US10043516B2 (en) | 2016-09-23 | 2018-08-07 | Apple Inc. | Intelligent automated assistant |
US10593346B2 (en) | 2016-12-22 | 2020-03-17 | Apple Inc. | Rank-reduced token representation for automatic speech recognition |
DK201770439A1 (en) | 2017-05-11 | 2018-12-13 | Apple Inc. | Offline personal assistant |
DK179496B1 (en) | 2017-05-12 | 2019-01-15 | Apple Inc. | USER-SPECIFIC Acoustic Models |
DK179745B1 (en) | 2017-05-12 | 2019-05-01 | Apple Inc. | SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT |
DK201770432A1 (en) | 2017-05-15 | 2018-12-21 | Apple Inc. | Hierarchical belief states for digital assistants |
DK201770431A1 (en) | 2017-05-15 | 2018-12-20 | Apple Inc. | Optimizing dialogue policy decisions for digital assistants using implicit feedback |
DK179560B1 (en) | 2017-05-16 | 2019-02-18 | Apple Inc. | FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES |
US11194467B2 (en) | 2019-06-01 | 2021-12-07 | Apple Inc. | Keyboard management user interfaces |
US11594213B2 (en) * | 2020-03-03 | 2023-02-28 | Rovi Guides, Inc. | Systems and methods for interpreting natural language search queries |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4891786A (en) * | 1983-02-22 | 1990-01-02 | Goldwasser Eric P | Stroke typing system |
CN2147580Y (zh) * | 1993-01-16 | 1993-11-24 | 刘辉宣 | 双键袖珍电脑键盘 |
CA2137981C (en) * | 1993-12-22 | 2001-04-17 | Steven A. Shaiman | Method and system for presenting alternatives for selection using adaptive learning |
US5828991A (en) * | 1995-06-30 | 1998-10-27 | The Research Foundation Of The State University Of New York | Sentence reconstruction using word ambiguity resolution |
EP0842463B1 (en) * | 1995-07-26 | 2000-03-29 | Tegic Communications, Inc. | Reduced keyboard disambiguating system |
US5911485A (en) * | 1995-12-11 | 1999-06-15 | Unwired Planet, Inc. | Predictive data entry method for a keypad |
US5664896A (en) * | 1996-08-29 | 1997-09-09 | Blumberg; Marvin R. | Speed typing apparatus and method |
US5952942A (en) * | 1996-11-21 | 1999-09-14 | Motorola, Inc. | Method and device for input of text messages from a keypad |
US5953541A (en) * | 1997-01-24 | 1999-09-14 | Tegic Communications, Inc. | Disambiguating system for disambiguating ambiguous input sequences by displaying objects associated with the generated input sequences in the order of decreasing frequency of use |
US6005495A (en) * | 1997-02-27 | 1999-12-21 | Ameritech Corporation | Method and system for intelligent text entry on a numeric keypad |
-
1998
- 1998-09-24 CN CNB98809472XA patent/CN100334530C/zh not_active Expired - Lifetime
- 1998-09-24 EP EP98950708A patent/EP1018069B1/en not_active Expired - Lifetime
- 1998-09-24 WO PCT/US1998/020200 patent/WO1999015952A2/en active IP Right Grant
- 1998-09-24 JP JP2000513188A patent/JP4037608B2/ja not_active Expired - Lifetime
- 1998-09-24 RU RU2000110290/09A patent/RU2214620C2/ru active
- 1998-09-24 AU AU96690/98A patent/AU746674B2/en not_active Ceased
- 1998-09-24 KR KR1020007003211A patent/KR100552085B1/ko not_active IP Right Cessation
- 1998-09-24 BR BR9814032-9A patent/BR9814032A/pt not_active Application Discontinuation
- 1998-09-24 US US09/160,433 patent/US6307548B1/en not_active Expired - Lifetime
- 1998-09-24 DK DK98950708T patent/DK1018069T3/da active
- 1998-09-24 PT PT98950708T patent/PT1018069E/pt unknown
- 1998-09-24 AT AT98950708T patent/ATE221222T1/de not_active IP Right Cessation
- 1998-09-24 DE DE69806780T patent/DE69806780T2/de not_active Expired - Lifetime
- 1998-09-24 ES ES98950708T patent/ES2182363T3/es not_active Expired - Lifetime
- 1998-09-24 CA CA002302595A patent/CA2302595C/en not_active Expired - Lifetime
- 1998-09-24 CN CN200710137398A patent/CN100594470C/zh not_active Expired - Fee Related
-
2001
- 2001-04-25 HK HK01102929A patent/HK1032458A1/xx not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102804118A (zh) * | 2009-06-19 | 2012-11-28 | 捷讯研究有限公司 | 触敏显示器上的选择 |
Also Published As
Publication number | Publication date |
---|---|
JP2001517823A (ja) | 2001-10-09 |
CN1271433A (zh) | 2000-10-25 |
ES2182363T3 (es) | 2003-03-01 |
CN100334530C (zh) | 2007-08-29 |
EP1018069B1 (en) | 2002-07-24 |
DE69806780T2 (de) | 2003-03-13 |
DE69806780D1 (de) | 2002-08-29 |
EP1018069A2 (en) | 2000-07-12 |
CN100594470C (zh) | 2010-03-17 |
BR9814032A (pt) | 2001-11-20 |
WO1999015952A2 (en) | 1999-04-01 |
AU9669098A (en) | 1999-04-12 |
KR20010024309A (ko) | 2001-03-26 |
AU746674B2 (en) | 2002-05-02 |
DK1018069T3 (da) | 2002-11-18 |
CA2302595C (en) | 2002-09-17 |
HK1032458A1 (en) | 2001-07-20 |
CA2302595A1 (en) | 1999-04-01 |
RU2214620C2 (ru) | 2003-10-20 |
ATE221222T1 (de) | 2002-08-15 |
KR100552085B1 (ko) | 2006-02-20 |
JP4037608B2 (ja) | 2008-01-23 |
WO1999015952A3 (en) | 1999-07-22 |
US6307548B1 (en) | 2001-10-23 |
PT1018069E (pt) | 2002-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100594470C (zh) | 用于对用户输入的多义性输入序列进行多义性消除的系统和方法 | |
US6636162B1 (en) | Reduced keyboard text input system for the Japanese language | |
EP1514357B1 (en) | Explicit character filtering of ambiguous text entry | |
US6011554A (en) | Reduced keyboard disambiguating system | |
US6646573B1 (en) | Reduced keyboard text input system for the Japanese language | |
CA2278549C (en) | Reduced keyboard disambiguating system | |
US20020126097A1 (en) | Alphanumeric data entry method and apparatus using reduced keyboard and context related dictionaries | |
WO1997005541A9 (en) | Reduced keyboard disambiguating system | |
CA2399961C (en) | Reduced keyboard disambiguating system | |
JP3532780B2 (ja) | 音声仮名文字の入力順序を生成するための入力システム | |
EP1248183B1 (en) | Reduced keyboard disambiguating system | |
JP3492981B2 (ja) | 音声仮名文字の入力順序を生成するための入力システム | |
AU747901B2 (en) | Reduced keyboard disambiguating system | |
MXPA00002641A (es) | Sistema de teclado reducido con eliminacion de ambiguedades |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100317 Termination date: 20170924 |
|
CF01 | Termination of patent right due to non-payment of annual fee |