CN100594470C - 用于对用户输入的多义性输入序列进行多义性消除的系统和方法 - Google Patents

用于对用户输入的多义性输入序列进行多义性消除的系统和方法 Download PDF

Info

Publication number
CN100594470C
CN100594470C CN200710137398A CN200710137398A CN100594470C CN 100594470 C CN100594470 C CN 100594470C CN 200710137398 A CN200710137398 A CN 200710137398A CN 200710137398 A CN200710137398 A CN 200710137398A CN 100594470 C CN100594470 C CN 100594470C
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.)
Expired - Fee Related
Application number
CN200710137398A
Other languages
English (en)
Other versions
CN101149645A (zh
Inventor
爱德华·P·弗林切姆
戴尔·L·格罗夫
切里尔·格朗伯克
马丁·T·金
克里福德·A·库什勒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tegic Communications Inc
Original Assignee
Tegic Communications Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tegic Communications Inc filed Critical Tegic Communications Inc
Publication of CN101149645A publication Critical patent/CN101149645A/zh
Application granted granted Critical
Publication of CN100594470C publication Critical patent/CN100594470C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements 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/0233Character input methods
    • G06F3/0237Character input methods using prediction or retrieval techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements 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/0233Character input methods
    • G06F3/0236Character input methods using selection techniques to select from displayed items
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction 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/0488Interaction 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/04886Interaction 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

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个附加的特殊功能键。某些键被赋予多个字母和符号,结果这些键(下面称之为“数据键”)的键击是有多义性的。用户可输入一个其中每一个键击对应于单词中的一个字母的键序列。因为单个键击有多义性,所以键击序列潜在地具有以同样数目的字母与一个以上的单词相匹配的能力。键击序列由将此序列与相应的存储单词或其他解释进行匹配的词汇模块实施处理。在接收到每一键击时在显示器上以选择列表的形式将与键击序列匹配的单词及单词词干提供给用户。
根据本发明的一个方面,键中有一个被赋予多个标点字符。在一个优选实施例中,句点“.”,短划“-”,和撇号“’”赋予一个键。用户可在需要加入标点的地方通过一次激活一个键打入该键上的字符。因为多个标点字符赋予了一个键,所以该键击有多义性。本发明的系统可从前后的键击判断要打入的是哪一个标点并自动生成该标点。此键击序列的替代解释也可以选择列表的形式提供给用户。
最好是单词的解释以使用频率递减的顺序列出,最常用的单词列在第一个。在选择列表中的项目可通过按下一次或多次“选择”键而选定。可通过按下“退格”键“取消”键击。
用户可通过按下“选择”键来限定输入的键击序列。在接收到“选择”键之后,多义性消除系统选择最常用的单词并将此单词添加到正在构造的句子中。“选择”键是用来限制输入的键击序列。单独的显示“空格”键是用来生成空格字符,也用来限制输入的键击序列。在一个优选实施例中,“选择”键还“额外负担”第二种功能,该功能为该“选择”键还在所选择的单词的后面生成一个空格,即简化键盘多义性消除系统自动在单词中间插入一个合适的空格。
“选择”键还用来从提供给用户的选择列表中选择不大常用的单词。如在提供给用户的选择列表的顶端的单词不是所要求的单词,用户可再一次按下“选择”键从第一最常用单词移到第二个最常用的单词,以及再一次移到到第三个最常用的单词,依此类推。简化键盘多义性消除系统的此实施例没有在条目被选择时可作用于条目的专用“执行”键或“接受”键。一旦用户选定一个单词,则在接收到下一个符号或字符键击时,该单词就自动地被“接受”输入并添加到正在组合的句子。
用来进行键击多义性消除的语言学数据库包含容许系统将下面的单词或单词词干对象作为第一对象提出的信息,该单词或单词词干对象,虽然不是与对应于此当前键击序列的节点相关的最常用的单词,却形成一个更长单词或总频率大于与当前节点相关的最常用的单词的频率的多个单词的词干。此“词干提升(stempromotion)”特点特别适用于显示器面积有限的系统,因为选择列表实际上不能显示于屏幕上,用户在屏幕上只能看到在插入点处显示的作为选择列表上第一个对象的单词。结果该对象作为一个整体而言在从一个键击到另一个键击时其变化不太频繁,界面不大“跳动”并因而不大令人分心和迷惑。
对象,如单词和单词词干,是存储于使用树形数据结构的词汇模块中。在此安排中,与具体键击序列相对应的单词是利用与紧前方的键击序列(即缺少最后键击的具体键击序列)相关联的一组单词或单词词干构造而成的。以这种方式构造单词可减少词汇模块的存储空间,因为单词词干只存储一次,在树形结构的顶端,并且为利用它们构造的所有的单词共享。树形结构也可大大减少处理要求,因为无须通过检索来定位所存储的对象。存储于树形数据结构中的单词或单词词干可包含频率或其他指示将哪一个项目第一个提供给用户的排顺信息,从而可进一步减少处理要求。在本发明的实践中,此树形数据结构要利用专门的算法进行改造以便进一步压缩数据库所需的总容量而又不会在利用其进行检索与键击序列相关联的对象时造成额外的处理负担。经过改造的树形结构的另外一个方面是可自动认定用于将对象与键击序列相联系的通用化规则。利用此种规则,词汇模块可以以很高的成功几率将键击序列与起初生成该模块时未曾使用的单词与单词词干相关联。
在优选实施例中的键的内部、逻辑表示不需要与由实际键上的键标所表示的物理配置完全相同。比如,在构造用来表示法文词汇模块的数据库中,三个重音符
Figure C20071013739800161
也可与不带重音符的字符ABC相关联。这就使用户可以想起并打入包含特定的带重音符的字符的单词,为此只需要对每个字符执行一次键激活,简单地只要针对相关的带重音符的字符(accented character)激活逻辑上与其相关联的物理键即可。
将多个字母赋予一个键的组合效应,利用“选择”键限制单词,在选择列表中将最常出现的单词或单词词干列为第一个单词,在选择列表中插入多个解释,自动通过后面单词的第一个键击将选定的单词添加到句子,自动添加空格,可将用于多义性消除的大型数据库压缩而不会招致任何严重的处理损失的能力,可通过键入与不带重音符的字母相关联的键生成带重音符的特殊字符的能力,以及可根据键击的上下文自动在赋予一个键的多个标点字符之间进行多义性消除的能力产生令人惊奇的结果:对于多种语言,在具有代表性的文本材料语料库中的远远超过99%的单词可以以极高的效率在此系统上键入。采用简化键盘多义性消除系统输入这些单词中的大致95%所要求的输入键击数与利用通常的键盘输入的键击数相同。当单词包含重音符时,单词输入所需的键击数比采用通常键盘时的键击数为少。当单词是以使用频率排序时,所要求的单词通常都是排列在第一个,并且经常是列出的唯一一个。于是用户无须利用多于通常的键击数的键击而进行下一个单词的输入。因而就可以利用具有数量少的全尺寸键的键盘进行文本的高速输入。
此处所公开的简化键盘多义性消除系统可使采用本系统的计算机或其他装置的尺寸减小。键的数目减少就使得可以将装置构造成为可由用户以一只手拿持,而用另外一只手操作。所公开的系统特别适用于PDA,双向寻呼机,手机或其他小型电子装置,它们将受益于准确的高速文本输入。本系统可高效压缩用于键击序列多义性消除的大型数据库,并且在利用此经过压缩的数据库时不要求附加的处理带宽。本系统在应用于基于触摸屏的装置或具有有限数目的机械键并且也可能具有有限显示屏面积的装置时既高效又简便。
附图说明
本发明的上述各点及其他附加的优点在结合本说明书的附图参考下面的详细描述对其有所了解之后将很容易理解,附图中:
图1为采用本发明的简化键盘多义性消除系统便携式计算机的优选实施例的示意图;
图2为图1的简化键盘多义性消除系统的硬件方框图;
图3A-3C为用于简化键盘多义性消除系统的优选实施例多义性消除软件的流程图;
图4为本优选实施例用于判断哪一个文本对象应该用作供简化键盘多义性消除系统使用的树形数据结构的每个节点中的默认对象的软件流程图;
图5A-5B为示出随着每个键击执行的软件过程的优选实施例的流程图,该过程系用来对与简化键盘多义性消除系统的键击相关联的多个标点字符中间的所要求的标点字符进行多义性消除;示出在刚接收到键击时执行的处理及在键击的所有其他处理结束时执行的处理;
图6比较了键与符号的物理相关性及包含出现在物理键上的字符的重音符变化的逻辑相关性的情况;
图7为联系逻辑符号与键索引的索引表示例;
图8A示出词汇模块的树节点中的数据的内部优选配置法;
图8B示出指令的优选实施例的语义成分;
图9示出一个优选实施例中的节点结构中的可能内部数据项目的4个示例;
图10示出一个未压缩词汇模块的优选树形结构;
图11示出在从词汇模块内检索出来的过程中用于对象的中间存储的优选实施例的对象列表的状态示例;
图12示出的是用于在按键列表给定时从词汇模块检索文本对象的软件过程的优选实施例的流程图;
图13示出的是在单个按键给定时用于遍历词汇模块的树形结构及改变对象列表状态的软件过程的优选实施例的流程图;
图14为用于建立折叠压缩词汇模块的软件过程的优选实施例的流程图;
图15为折叠词汇模块的树形数据结构软件过程的优选实施例的流程图;
图16为用于定位词汇模块的树中与给定节点相比较具有最大冗余度的第二节点的软件过程的优选实施例的流程图;
图17A-17B为用于计算词汇模块的树中两个节点之间的冗余度的软件过程的优选实施例的流程图;
图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
Figure C20071013739800251
另外,这些符号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中的位模式指明。
每个包408中的每个指令406描述与每个节点代表的键击序列相对应的对象中的一个。描述一个对象要求维护两个对象列表。图11示出由多义性消除软件过程由词汇模块树中的父与子动态生成的代表性对象列表。对象列表430是一个包含与代表2个键击的节点相关联的对象1-N1的对象列表。对象列表440是一个包含与代表3个键击的节点相关联的对象1-N2的对象列表。每个对象列表包含与每个节点相关联的所有对象的列表。对象列表430与代表图1的键盘的键击序列ABC ABC的父节点相关联。对象列表440与代表键击序列ABC ABC TUV的子节点相关联。可以理解,对象列表的大小是根据与每个节点相关联的大小的实际数目而变化。
与子节点相关联的每个对象是通过在为父节点构造的对象上添加一个字符序列而构造的。因此,图8A中的指令包408就包含一个带有示于图8B的OBJECT-LIST-INDEX字段556的指令558,可用来从父节点对象列表中认定用于构造子节点对象的对象。比如,参考图11,在老对象列表430中的第一对象“ba”用来构造新对象列表440中的第二对象“bat”。原来的对象标志符字段OBJECT-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”而无需用户输入标点字符。此多义性消除系统利用同一个表可恰当地显示具有独特字符的外来词(如
Figure C20071013739800281
可以作为TUV键上的单个键击输入)。大写可以以类似方式处理。字母永远大写的单词,首字母大写的单词,单词中间字母大写的单词可与去掉表示大写的键击序列相关联,用户就无需输入此类大写。在每个指令558中还可包含对象类型字段原来指定关于正在构造的对象的附加信息。此对象类型字段可包含一个指定所生成的对象是单词,单词词干或其他对象的代码。所以词对象类型字段容许将不同类型对象在给定的词汇模块中混合。此外,对象类型字段也可包含有关词类的信息,有关对象如何大写的信息或构造各种词形变化和词尾所需的信息。利用具有词类信息的词汇模块的简化键盘多义性消除系统可利用附加信息进行句法分析来改进多义性消除过程。对象类型字段也可包含独特代码以容许传输压缩形式的文本。此独特代码可传输到远方终端代替传输输入的键击序列或相关联的多义性消除字符。
此优选词汇模块树形数据结构的关键特点之一是与每个节点相关联的对象是存储于节点数据结构400中按其使用频率排列。即由包406中的第一指令构造的对象具有比由包406中的第二指令(如存在)构造的对象高的使用频率,而后者又具有比由包406中的第三指令(如存在)构造的对象高的使用频率。这样,对象在对象列表中自动按使用频率降序排列。此描述中所谓单词对象使用频率指的是在具有代表性的应用语料库内使用给定单词的概率,该值与每个单词在语料库中出现的次数成正比。在单词词干对象的场合,使用频率由共享该相同词干的所有单词的频率的总和确定。
将使用频率或其他等级信息存储于每个节点可避免在使用系统时需要判断和按每个对象的等级排序。这一点在单词对象词汇中有重要意义,因为存储的对象可包含大量更长的单词共有的共享词干。动态地判断这些词干的相对等级(rank)将要求子节点的整个树并累积关于每个词干的信息,为便携式计算装置添加明显的处理开销。此外,当使用频率或等级由节点400中的对象的排序隐含表示时,这一信息不需要另外的存储空间。
虽然对象在节点数据结构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标志设定为“真”是对像法文这样的语言,在法文中通常将各种一撇号结尾的单词(例如1’,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键相关联的单个字符对象,包含带重音符的à,
Figure C20071013739800481
Figure C20071013739800482
不会发生特别的标点键处理,因为所有相关的标志在前面都已经清除。于是系统就单纯地处理当前键序列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”作为所述新生成的输入序列的文本解释,并且其中处理器在检测到选择另外一个下一个输入,其中所述下一个输入是与一个或多个字母相关联的多义性输入时,在选择多义性标点输入之前以短划替代前面输出的撇号,并开始新生成的其构成包括与一个或多个包含字母“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)在选择与一个或多个字母相关联但不与字母“s”相关联的多义性标点输入之前肯定当前生成的输入序列的前面输出的文本解释;
(iii)开始新生成的输入序列,其构成包括与一个或多个字母相关联但不与字母“s”相关联的所述下一个多义性输入;以及
(c)在检测到选择下一个输入,其中所述下一个输入是与一个或多个包含字母“s”的字母相关联的多义性输入时,
(i)在选择多义性标点输入之前肯定前面输出的当前生成的输入序列的文本解释;
(ii)开始新生成的输入序列,其构成包括与一个或多个包含字母“s”的字母相关联的所述下一个多义性输入
(iii)以撇号替代前面输出的标点字符和临时添加字母“s”作为所述新生成的输入序列的文本解释;以及
(iv)在检测到选择另外一个下一个输入,其中所述下一个输入是与一个或多个字母相关联的多义性输入时,以短划替代前面输出的撇号,并开始新生成的在所述短划之后的其构成包括与一个或多个包含字母“s”的字母相关联的后面跟着与一个或多个字母相关联的另外一个下一个多义性输入的输入序列,并输出存储器中的与所述新生成的在所述短划之后的输入序列相关联的对象,并且
(d)在检测到选择下一个输入时,其中所述下一个输入不与一个或多个字母相关联,肯定前面输出的标点字符。
16.如权利要求14的方法,还包括:
在检测到选择多义性标点输入并将所述多义性标点输入添加到当前生成的输入序列以形成不与存储器中的任何对象相关联的序列时,
(a)在检测到选择多义性标点输入之前接受临时显示的与生成的输入序列相关联的具有最高使用频率的对象;
(b)临时输出一个与多义性标点输入相关联的默认标点字符;以及
(c)建立一个长度为一个输入的新生成的输入序列,该一个输入包括多义性标点输入。
17.如权利要求11的方法,还包括:
在检测到在生成的输入序列中出现选择多义性标点输入时,
(a)生成一个可由用户通过在用户输入装置上一次或多次操作无多义性选择输入而选择的替代的文本解释的序列,其中所述的替代的文本解释的序列的第一个的生成是通过将一个与多义性标点输入相关联的标点字符添加到包括了与在多义性标点输入之前输入的生成的输入序列中的输入序列相关联的具有最高使用频率的对象的第一对象上,其后是添加第二对象,所述第二对象包括了与在多义性标点输入之后输入的生成的输入序列中的输入序列相关联的具有最高使用频率的对象,其后是与生成的输入序列中的先于多义性标点输入输入的输入序列相关联的包含具有越来越低的使用频率的对象的其他对象组合,以及与生成的输入序列中的后于多义性标点输入输入的输入序列相关联的具有越来越低的使用频率的对象,并且使生成的这些对象以所述第一和第二对象的混合频率次序的降序生成。
(b)在检测到用户输入装置的一次或多次的无多义性选择输入操作时选择所述的替代的文本解释的序列中的一个文本解释。
18.如权利要求11的方法,还包括:
(a)在检测到选择一个或多个后面为无多义性选择的第一选择时,选择具有最高使用频率的对象并输出所述选择的具有最高使用频率的文本对象及单个后面空格;以及
(b)在检测到每个后面重复的连续的无多义性选择输入时,
(i)从认定的对象中选择具有下一个较低使用频率的对象;并且
(ii)在先于前面输出的单个空格的其显示位置以每个具有下一个较低使用频率的认定的对象中的文本选择对象替代前面输出的文本对象。
19.如权利要求12的方法,还包括:
在检测到选择多义性标点输入并将所述多义性标点输入添加到当前生成的输入序列以形成与存储器中的具有最高使用频率的结尾为与所述多义性标点输入相关联的完整的单词对象相关联的序列时,并且在检测到下一个输入的选择,其中所述的下一个输入是与一个或多个字母相关联的多义性输入时,
(a)肯定所述完整的单词对象的输出是当前生成的包含多义性标点输入的输入序列的文本解释;以及
(b)开始一个新生成的构成与一个或多个字母相关联的所述下一个多义性输入的输入序列。
CN200710137398A 1997-09-25 1998-09-24 用于对用户输入的多义性输入序列进行多义性消除的系统和方法 Expired - Fee Related CN100594470C (zh)

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 CN101149645A (zh) 2008-03-26
CN100594470C true CN100594470C (zh) 2010-03-17

Family

ID=22028137

Family Applications (2)

Application Number Title Priority Date Filing Date
CN200710137398A Expired - Fee Related CN100594470C (zh) 1997-09-25 1998-09-24 用于对用户输入的多义性输入序列进行多义性消除的系统和方法
CNB98809472XA Expired - Lifetime CN100334530C (zh) 1997-09-25 1998-09-24 简化键盘多义性消除系统

Family Applications After (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) CN100594470C (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)

Families Citing this family (405)

* Cited by examiner, † Cited by third party
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
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
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
USRE43082E1 (en) * 1998-12-10 2012-01-10 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
GB2347240A (en) * 1999-02-22 2000-08-30 Nokia Mobile Phones Ltd Communication terminal having a predictive editor application
GB2388938B (en) * 1999-02-22 2004-03-17 Nokia Corp A 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
US7286115B2 (en) 2000-05-26 2007-10-23 Tegic Communications, Inc. Directional input system with automatic correction
US7821503B2 (en) 2003-04-09 2010-10-26 Tegic Communications, Inc. Touch screen and graphical user interface
JP4519381B2 (ja) * 1999-05-27 2010-08-04 テジック コミュニケーションズ インク 自動訂正機能を備えたキーボード・システム
US7030863B2 (en) * 2000-05-26 2006-04-18 America Online, Incorporated Virtual keyboard system with automatic correction
US7610194B2 (en) * 2002-07-18 2009-10-27 Tegic Communications, Inc. Dynamic database reordering system
US7750891B2 (en) 2003-04-09 2010-07-06 Tegic Communications, Inc. Selective input system based on tracking of motion parameters of an input device
WO2001031509A2 (en) * 1999-10-26 2001-05-03 Qualcomm Incorporated System and method for rapidly accessing and storing contact information in a communications device
KR20020048987A (ko) * 1999-10-27 2002-06-24 피루쯔 가사비안 일체화된 키패드 시스템
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 再生装置および再生方法
WO2004095414A1 (en) * 2003-04-18 2004-11-04 Keyless Systems Ltd Systems to enhance data entry in mobile and fixed environment
GB0103053D0 (en) * 2001-02-07 2001-03-21 Nokia Mobile Phones Ltd A communication terminal having a predictive text editor application
WO2002080143A1 (en) 2001-03-29 2002-10-10 Koninklijke Philips Electronics N.V. Synchronise an audio cursor and a text cursor during editing
US7117144B2 (en) * 2001-03-31 2006-10-03 Microsoft Corporation Spell checking for text input via reduced keypad keys
US6975304B1 (en) 2001-06-11 2005-12-13 Handspring, Inc. Interface for processing of an alternate symbol in a computer device
US6957397B1 (en) 2001-06-11 2005-10-18 Palm, Inc. Navigating through a menu of a handheld computer using a keyboard
US7395089B1 (en) 2001-06-11 2008-07-01 Palm, Inc Integrated personal digital assistant device
US6950988B1 (en) 2001-06-11 2005-09-27 Handspring, Inc. Multi-context iterative directory filter
US7356361B1 (en) 2001-06-11 2008-04-08 Palm, Inc. Hand-held device
DE50105960D1 (de) * 2001-07-26 2005-05-25 Siemens Ag 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
WO2003024064A1 (fr) * 2001-09-05 2003-03-20 Tetsu Ota Telephone
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
US7083342B2 (en) 2001-12-21 2006-08-01 Griffin Jason T Keyboard arrangement
CN1316339C (zh) 2001-12-21 2007-05-16 捷讯研究有限公司 带键盘的手持式电子设备
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
AU2003214096A1 (en) * 2002-03-22 2003-10-08 Sony Ericsson Mobile Communications Ab Entering text into an electronic communications device
EP1347361A1 (en) * 2002-03-22 2003-09-24 Sony Ericsson Mobile Communications AB Entering text into an electronic communications device
CN1643485A (zh) * 2002-03-22 2005-07-20 索尼爱立信移动通讯股份有限公司 将文本输入到电子通信设备
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
CA2410057C (en) * 2002-07-03 2008-04-29 2012244 Ontario Inc. Apparatus and method for input of ideographic korean syllables from reduced keyboard
AU2003250669A1 (en) * 2002-07-23 2004-02-09 Research In Motion Limted Systems and methods of building and using custom word lists
US20040163032A1 (en) * 2002-12-17 2004-08-19 Jin Guo Ambiguity resolution for predictive text entry
US20060142997A1 (en) * 2002-12-27 2006-06-29 Per Jakobsen 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
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
US7386856B2 (en) * 2003-11-18 2008-06-10 Microsoft Corporation Extension of commanding to control level
US7562305B2 (en) * 2003-11-18 2009-07-14 Microsoft Corporation Dynamically-generated commanding interface
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
GB2402650B (en) 2003-12-31 2006-05-10 Research In Motion Ltd Keyboard arrangement
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
US7555732B2 (en) * 2004-03-12 2009-06-30 Steven Van der Hoeven Apparatus method and system for a data entry interface
US7376938B1 (en) 2004-03-12 2008-05-20 Steven Van der Hoeven Method and system for disambiguation and predictive resolution
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
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
EP1603019A1 (en) * 2004-06-02 2005-12-07 2012244 Ontario Inc. Handheld electronic device with text disambiguation
US7289044B2 (en) * 2004-06-02 2007-10-30 Research In Motion Limited 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
US7283065B2 (en) * 2004-06-02 2007-10-16 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
EP1603020A1 (en) * 2004-06-02 2005-12-07 2012244 Ontario Inc. Handheld electronic device with text disambiguation
US7324083B2 (en) * 2004-06-02 2008-01-29 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
US7312726B2 (en) 2004-06-02 2007-12-25 Research In Motion Limited Handheld electronic device with text disambiguation
US7091885B2 (en) 2004-06-02 2006-08-15 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
US8504369B1 (en) 2004-06-02 2013-08-06 Nuance Communications, Inc. Multi-cursor transcription editing
US7333085B2 (en) 2004-06-02 2008-02-19 Research In Motion Limited Handheld electronic device with text disambiguation
US8219158B2 (en) 2004-06-21 2012-07-10 Research In Motion Limited Handheld wireless communication device
US8463315B2 (en) 2004-06-21 2013-06-11 Research In Motion Limited Handheld wireless communication device
US8064946B2 (en) 2004-06-21 2011-11-22 Research In Motion Limited Handheld wireless communication device
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
US7986301B2 (en) * 2004-06-21 2011-07-26 Research In Motion Limited Handheld wireless communication device
US8271036B2 (en) 2004-06-21 2012-09-18 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
EP1615111B1 (en) * 2004-07-08 2008-01-02 Research In Motion Limited Adding interrogative punctuation to an electronic message
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
WO2006020992A2 (en) * 2004-08-13 2006-02-23 5 Examples, Inc. The one-row keyboard and approximate typing
US7646375B2 (en) 2004-08-31 2010-01-12 Research In Motion Limited Handheld electronic device with text disambiguation
EP1630645A1 (en) * 2004-08-31 2006-03-01 2012244 Ontario Inc. 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
US7475004B2 (en) * 2004-08-31 2009-01-06 Research In Motion Limited Handheld electronic device with text disambiguation
US8237663B2 (en) 2004-08-31 2012-08-07 Research In Motion 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
EP1630648A1 (en) * 2004-08-31 2006-03-01 2012244 Ontario Inc. Handheld electronic device with text disambigation
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
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
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
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
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
US20060206815A1 (en) * 2005-03-08 2006-09-14 Pathiyal Krishna K Handheld electronic device having improved word correction, 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
KR20080007261A (ko) * 2005-04-25 2008-01-17 테직 커뮤니케이션 인코포레이티드 표의문자 언어 구의 사용자 입력을 처리하기 위한 회로,방법 및 시스템
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
US8036878B2 (en) 2005-05-18 2011-10-11 Never Wall Treuhand GmbH Device incorporating improved text input mechanism
US8374846B2 (en) * 2005-05-18 2013-02-12 Neuer Wall Treuhand Gmbh Text input device and method
US8117540B2 (en) * 2005-05-18 2012-02-14 Neuer Wall Treuhand Gmbh Method and device incorporating improved text input mechanism
US20090193334A1 (en) * 2005-05-18 2009-07-30 Exb Asset Management Gmbh Predictive text input system and method involving two concurrent ranking means
US9606634B2 (en) * 2005-05-18 2017-03-28 Nokia Technologies Oy Device incorporating improved text input mechanism
RU2338238C2 (ru) 2005-05-30 2008-11-10 Самсунг Электроникс Ко., Лтд. Способ и система ввода информации
NZ589382A (en) 2005-06-16 2012-03-30 Keyless Systems Ltd Data Entry System
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
EP1748351B1 (en) * 2005-07-25 2016-07-06 BlackBerry Limited A reduced QWERTY keyboard system that provides better accuracy and associated method
US7312410B2 (en) 2005-07-25 2007-12-25 Research In Motion Limited 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 キヤノン株式会社 文字入力補助方法及び情報処理装置
US7788266B2 (en) 2005-08-26 2010-08-31 Veveo, Inc. Method and system for processing ambiguous, multi-term search queries
WO2007025119A2 (en) * 2005-08-26 2007-03-01 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
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
WO2007069175A2 (en) 2005-12-14 2007-06-21 Koninklijke Philips Electronics N.V. Method and apparatus for manipulating data files
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
DE602006009474D1 (de) 2006-01-13 2009-11-12 Ontario Inc 2012244 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
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
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 富士通株式会社 単語検索装置、単語検索方法、及びコンピュータプログラム
US7657526B2 (en) 2006-03-06 2010-02-02 Veveo, Inc. Methods and systems for selecting and presenting content based on activity level spikes associated with the content
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
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
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
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
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
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
WO2008022433A1 (en) * 2006-08-21 2008-02-28 Lafleur Philippe Johnathan Gab 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
CA3163292A1 (en) 2006-09-14 2008-03-20 Veveo, Inc. Methods and systems for dynamically rearranging search results into hierarchically organized concept clusters
US7658561B2 (en) * 2006-09-27 2010-02-09 Research In Motion Limited Modified keyboard arrangement with distinct vowel keys
EP1906297A1 (en) 2006-09-27 2008-04-02 Research In Motion Limited Keyboard arrangement with distinct vowel keys
WO2008045690A2 (en) 2006-10-06 2008-04-17 Veveo, Inc. 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
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
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
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
US8115658B2 (en) 2006-12-29 2012-02-14 Research In Motion Limited Handheld electronic device providing confirmation of input, and associated method
EP1939715B1 (en) * 2006-12-29 2011-01-26 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 삼성전자주식회사 복수의 버튼을 갖는 휴대용 디바이스에서의 패스워드 설정방법 및 패스 워드 인증 방법
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
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
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
CA2686601C (en) * 2007-05-07 2016-10-04 Fourthwall Media 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
WO2008148012A1 (en) 2007-05-25 2008-12-04 Veveo, Inc. System and method for text disambiguation and context designation in incremental search
US8296294B2 (en) 2007-05-25 2012-10-23 Veveo, Inc. Method and system for unified searching across and within multiple documents
US8504349B2 (en) * 2007-06-18 2013-08-06 Microsoft Corporation Text prediction with partial selection in a variety of domains
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
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
US8593404B2 (en) * 2007-08-27 2013-11-26 Blackberry Limited Reduced key arrangement for a mobile communication device
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 广东国笔科技股份有限公司 一种派生词生成方法及系统
US9959870B2 (en) 2008-12-11 2018-05-01 Apple Inc. Speech recognition involving a mobile device
US8786551B2 (en) * 2008-12-11 2014-07-22 Verizon Patent And Licensing Inc. Predictive keypad/keyboard lighting to guide input
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
US9424246B2 (en) 2009-03-30 2016-08-23 Touchtype Ltd. System and method for inputting text into electronic devices
GB201108200D0 (en) 2011-05-16 2011-06-29 Touchtype Ltd User input prediction
US10191654B2 (en) 2009-03-30 2019-01-29 Touchtype Limited System and method for inputting text into electronic devices
GB0917753D0 (en) 2009-10-09 2009-11-25 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
US9189472B2 (en) 2009-03-30 2015-11-17 Touchtype Limited System and method for inputting text into small screen devices
GB0905457D0 (en) 2009-03-30 2009-05-13 Touchtype Ltd 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
US10255566B2 (en) 2011-06-03 2019-04-09 Apple Inc. Generating and processing 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
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US10241644B2 (en) 2011-06-03 2019-03-26 Apple Inc. Actionable reminder entries
EP2443538A4 (en) * 2009-06-19 2013-05-22 Research In Motion Ltd SELECTION ON A TOUCH SENSITIVE DISPLAY
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
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
CN102713796B (zh) * 2010-01-18 2015-04-01 三菱电机株式会社 输入装置
US10553209B2 (en) 2010-01-18 2020-02-04 Apple Inc. Systems and methods for hands-free notification summaries
US10679605B2 (en) 2010-01-18 2020-06-09 Apple Inc. Hands-free list-reading by intelligent automated assistant
US10705794B2 (en) 2010-01-18 2020-07-07 Apple Inc. Automatically adapting user interfaces for hands-free interaction
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
US8577915B2 (en) 2010-09-10 2013-11-05 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
US9244545B2 (en) 2010-12-17 2016-01-26 Microsoft Technology Licensing, Llc Touch and stylus discrimination and rejection for contact sensitive computing devices
US8988398B2 (en) 2011-02-11 2015-03-24 Microsoft Corporation Multi-touch input device with orientation sensing
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
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
US10381001B2 (en) 2012-10-30 2019-08-13 Google Technology Holdings LLC Voice control user interface during low-power mode
EP2954514B1 (en) 2013-02-07 2021-03-31 Apple Inc. Voice trigger for a digital assistant
US9368114B2 (en) 2013-03-14 2016-06-14 Apple Inc. Context-sensitive handling of interruptions
AU2014233517B2 (en) 2013-03-15 2017-05-25 Apple Inc. Training an at least partial voice command system
WO2014144579A1 (en) 2013-03-15 2014-09-18 Apple Inc. System and method for updating an adaptive speech recognition model
WO2014197336A1 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
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
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
AU2014278595B2 (en) 2013-06-13 2017-04-06 Apple Inc. System and method for emergency calls initiated by voice command
KR101749009B1 (ko) 2013-08-06 2017-06-19 애플 인크. 원격 디바이스로부터의 활동에 기초한 스마트 응답의 자동 활성화
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
CA2877031A1 (en) 2014-01-08 2015-07-08 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
US10255267B2 (en) 2014-05-30 2019-04-09 Apple Inc. Device, method, and graphical user interface for a predictive keyboard
US9734193B2 (en) 2014-05-30 2017-08-15 Apple Inc. Determining domain salience ranking from ambiguous words in natural speech
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US10289433B2 (en) 2014-05-30 2019-05-14 Apple Inc. Domain specific language for encoding assistant dialog
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
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US9966065B2 (en) 2014-05-30 2018-05-08 Apple Inc. Multi-command single utterance input method
US10078631B2 (en) 2014-05-30 2018-09-18 Apple Inc. Entropy-guided text prediction using combined word and character n-gram language models
US9785630B2 (en) 2014-05-30 2017-10-10 Apple Inc. Text prediction using combined word N-gram and unigram language models
US9842101B2 (en) 2014-05-30 2017-12-12 Apple Inc. Predictive conversion of language input
US9870083B2 (en) 2014-06-12 2018-01-16 Microsoft Technology Licensing, Llc Multi-device multi-user sensor correlation for pen and computing device interaction
US9727161B2 (en) 2014-06-12 2017-08-08 Microsoft Technology Licensing, Llc Sensor correlation for pen and touch-sensitive computing device interaction
US10659851B2 (en) 2014-06-30 2020-05-19 Apple Inc. Real-time digital assistant knowledge updates
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
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
US9646609B2 (en) 2014-09-30 2017-05-09 Apple Inc. Caching apparatus for serving phonetic pronunciations
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US9886432B2 (en) 2014-09-30 2018-02-06 Apple Inc. Parsimonious handling of word inflection via categorical stem + suffix N-gram language models
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
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
US10366158B2 (en) 2015-09-29 2019-07-30 Apple Inc. Efficient word encoding for recurrent neural network language models
US11010550B2 (en) 2015-09-29 2021-05-18 Apple Inc. Unified language modeling framework for word prediction, auto-completion and auto-correction
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
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
DK179343B1 (en) 2016-06-11 2018-05-14 Apple Inc Intelligent task discovery
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
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
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

Citations (3)

* Cited by examiner, † Cited by third party
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 刘辉宣 双键袖珍电脑键盘
EP0660216A1 (en) * 1993-12-22 1995-06-28 Microsoft Corporation Method and system for presenting alternatives for selection using adaptive learning

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5828991A (en) * 1995-06-30 1998-10-27 The Research Foundation Of The State University Of New York Sentence reconstruction using word ambiguity resolution
DE69607472T2 (de) * 1995-07-26 2000-08-24 Tegic Communications Inc System zur unterdrückung der vieldeutigkeit in einer verringerten tastatur
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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 刘辉宣 双键袖珍电脑键盘
EP0660216A1 (en) * 1993-12-22 1995-06-28 Microsoft Corporation Method and system for presenting alternatives for selection using adaptive learning

Also Published As

Publication number Publication date
CN1271433A (zh) 2000-10-25
BR9814032A (pt) 2001-11-20
EP1018069B1 (en) 2002-07-24
DE69806780T2 (de) 2003-03-13
JP4037608B2 (ja) 2008-01-23
AU746674B2 (en) 2002-05-02
CA2302595A1 (en) 1999-04-01
HK1032458A1 (en) 2001-07-20
PT1018069E (pt) 2002-12-31
WO1999015952A2 (en) 1999-04-01
EP1018069A2 (en) 2000-07-12
US6307548B1 (en) 2001-10-23
CA2302595C (en) 2002-09-17
CN101149645A (zh) 2008-03-26
WO1999015952A3 (en) 1999-07-22
KR20010024309A (ko) 2001-03-26
KR100552085B1 (ko) 2006-02-20
DE69806780D1 (de) 2002-08-29
ATE221222T1 (de) 2002-08-15
AU9669098A (en) 1999-04-12
JP2001517823A (ja) 2001-10-09
CN100334530C (zh) 2007-08-29
ES2182363T3 (es) 2003-03-01
DK1018069T3 (da) 2002-11-18
RU2214620C2 (ru) 2003-10-20

Similar Documents

Publication Publication Date Title
CN100594470C (zh) 用于对用户输入的多义性输入序列进行多义性消除的系统和方法
EP1514357B1 (en) Explicit character filtering of ambiguous text entry
US6636162B1 (en) Reduced keyboard text input system for the Japanese language
US6011554A (en) Reduced keyboard disambiguating system
US6646573B1 (en) Reduced keyboard text input system for the Japanese language
CA2278549C (en) Reduced keyboard disambiguating system
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
MXPA99006904A (en) Reduced keyboard disambiguating system

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