键盘上速记接口中改进的文本输入的制作方法

文档序号:6569293阅读:193来源:国知局
专利名称:键盘上速记接口中改进的文本输入的制作方法
技术领域
本发明 一般涉及基于词典的文本输入和文本预测系统。更特别地,本发明涉及使用鍵盘上速记(shorthand-on-keyboard )的文本输 入,通过在屏上图形键盘上绘制几何图案而输入单词的有效方法。
背景技术
图形键盘上的速记(以下称为"键盘上速记")或作为图形的键盘 上速记(sokgraph: Shorthand on a Keyboard as Graph )表示在没有 物理键盘的情况下高效地输入文本的输入方法和系统,其通常使用指 示笔(stylus)。键盘上速记使得用户能够在图形键盘上描绘字母或功 能键而将单词和命令输入计算机中。富有经验的用户部分地或完全地 记住键盘布局上经常使用的单词和命令的几何图案,并可例如使用数 字笔,基于记忆回想绘制这些图案。基于单词级识别的文本输入系统-诸如键盘上速记和手写/语音 识别-以及文本预测系统都依靠于用于定义这些系统识别的单词集合 的某些形式的词典。将用户的输入与词典中的选项相匹配。没有被包 括在词典中的单词通常不被自动识别。在这样的情形中,必须提供特 殊模式。例如,在键盘上速记中,用户可以最初检查候选项列表(N 最佳列表N-bestlist)。如果候选项列表中没有选项是想要的单词, 则用户判断所绘制的图案是否不正确。如果所绘制的图案是正确的, 则用户认识到想要的单词不在词典中。然后,用户通过敲击各个字母 而向词典中输入新单词。理想地,词典包括特定用户需要写的所有单 词,不多也不少。词典太大或太小都可能对用户产生麻烦。较大的词典可能产生某些挑战,因为这会由于对于每个用户输入 可能存在大量干扰项(distracter)而降低识别精确性。在任何语言中,往往存在核心的一组词汇对于所有个体是公共的。在这个核心集合之
外,单词往往是专用于特定个体的。例如,工程师可能撰写包括高度 技术性的术语和特定领域或商业领域的缩写的电子邮件。对于其他用 户,这些专用术语可能是不相干的,并可能在识别过程中引入干扰,
从而使得识别过程健壮性(robust)较差。
较小的词典通常是健壮性更好的词典,因为如果想要的单词在词 典中,则用户输入更可能被正确识别。较小的词典为用户输入提供更 大的灵活性和容错(tolerance),从而允许输入与期望的输入选项的 理想形式相比是不精确和不准确的。小词典的另一优势在于搜索空间 较小。因此,小词典允许减小搜索的等待时间(latency)。这在处理 能力严重受限的移动设备中尤为重要。
然而,当小词典不包含用户所需的单词时,用户经验可能无效。 用户在输入之前不知道单词是否在词典中,从而对于用户导致不确定 性。在单词被不正确地输入或单词不在词典中时都可能发生传统系统
不能识别该单词。因此,用户可能很难判断单词为何没有被识别。一 般地,用户不可能知道单词是否在词典中,除非反复尝试该单词。当 用户确定该单词不在词典中时,用户经识别系统所提供的接口,通过 前面所述的敲击而将该单词添加到词典。较小的词典要求用户更频繁 地向词典添加单词。
对于词典大小问题有多个传统解决方案。通常使用的方法是使用 大词典,然后利用更高级的语言规则-诸如单词级三元组模型 (word-level trigram-model)-来滤除非常不可能的候选项。语言模 型的不利方面通常是产生和有效使用大语言模型的额外开销。而且, 语言模型可能引入误差,并错误地滤除想要的单词。如果语言模型是 一般性的而非为特定用户定制的,则这个问题尤为突出。实践中,语 言模型的有效定制很难。而且,语言模型很难与已经具有高精度的识 别技术—诸如键盘上速记—结合。
另一传统方法通过挖掘用户所产生的书面文本-例如所写的电 子邮件和其他文献-而为用户创建定制的词典。虽然该方法确实得到对于特定用户更精确设计的词典,但用户所产生的先前书写文集可能 太少而不足以涵盖所有期望的单词。而且,在实践中,很难编写能够 打开并阅读用户可能正在使用的所有各种电子邮件和文件格式的计算 机程序代码。该方法经常要求用户定位并选择先前撰写的文件,这对
用户是不方便的。定制的词典也可能难以在不同设备间转移(carry over)。
虽然这些传统解决方案对于它们想要达到的目的是足够的,但期 望找到一种解决方案,其使得词典能够对于用户期望的输入具有数量 相对少的无关干扰项,但允许很容易访问用户可能需要的几乎所有单 词,包括多数用户很少使用的更专业的单词。总之,期望将用户可能 需要的所有单词包括在非常大的词典中。然而,非常大的词典意味着 对于相同的匹配阈值,更多单词与在键盘上绘制的图案匹配,从而降 低了输入系统中的信噪比。因此,较大的词典对于用户对应于更小的 灵活性和健壮性。因此,需要一种用于键盘上速记系统的词典配置来 平衡使用的容易性与灵活性和健壮性。
对于传统键盘上速记输入方法的另一挑战是要求在单词级准确
地输入文本, 一次一个单词。 一些单词很长。对于相对新的用户而言,
可能在认知方面很难以一个笔划(stroke)通过键盘上速记绘出长单
词。该困难在其中与英语相比长的复合词更常见的某些欧洲语言中特
别突出。而且,如果普通词缀可以被绘制为相对于单词的词干单独的
笔划,则用户可能发现输入更方便。例如,为了以键盘上速记书写单
词"working,,,用户可能希望在图形键盘上绘制w-o-r-k图案,然后绘
制i-n-g并将这二者组合为一个单词。因此,需要高效的系统和方法来
如用户所期望的那样自动地将键盘上的局部单词("skographs")组合 为一个单词。
因此需要一种改进的键盘上速记接口中的文本输入。

发明内容
本发明公开了一种系统、计算机程序产品、和相关方法(在此被总称为"系统"或"本系统"),用于改进键盘上速记接口上的文本输入。 本系统包括核心词典和扩充词典。核心词典包括一种语言中的常用词
汇。根据本系统的应用,核心词典通常包括大约5000到15000个单词。 扩充词典包括没有被包括在核心词典中的单词。扩充词典包括大约 30000到100000个单词。
核心词典允许本系统在识别比划(gesture)中将常用单词作为排 序最高的候选单词,从而提供与较小词典相关的更健壮的识别性能。 只有来自核心词典的单词在本系统中可被直接输出。附加的候选单词 可从扩充词典中获取,从而允许用户在候选项列表中找到较不熟悉的 单词,但仅通过菜单选择。本系统增强了单词识别精确度,而不牺牲 从大词典中选择单词。核心词典为用户输入提供了更大的灵活性和容 错,以相对于想要的输入选项的理想形式是不精确和不准确的。
本系统还包括识别模块、预排序模块和排序模块。识别模块产生 对应于输入图案的候选单词的N最佳列表。预排序模块按照预定标准 对这些N最佳候选单词排序。排序模块调整对候选单词的N最佳列表 的排序,以将从核心词典得到的单词设定为比从扩充词典中得到的单 词更高,从而生成排序后的单词候选项列表。仅核心词典中的单词作 为本系统的输出被呈现。本系统仅在N最佳列表中列出在扩充词典中 找到的候选单词;这些单词需要用户选择以成为输出。 一旦用户从N 最佳列表中选择,来自扩充词典的单词就被收录到核心词典中。
更特别地,在一个优选实施例中,仅核心词典中的单词被识别系 统输出。扩充词典中的单词仅可在N最佳列表中被列出,并需要明确 的用户选择才被输出。 一旦被选择,扩充词典中的单词就也被收录到 核心词典中。
在用户所比划的单词不在核心词典的词汇中的情形下,本系统减 小了对用户的额外负担。与不确定该单词是否被包括在词典中或系统 是否误识别该输入不同,用户可以扫描N最佳列表并选择期望的候选 单词。
本系统还包括拼接模块和复合单词模块。拼接模块使用户可以分别输入长单词的各部分;本系统自动地将作为"sokgraph"的单词和单 词部分组合为用户想要的一个单词。单词部分可以是诸如"work"这样 的词干和诸如"ing"或"pre,,这样的词缀。复合单词模块组合两个或多 个普通的较短单词,其中这些较短单词的拼接形成长单词,诸如英语 中的short和hand。将几个短单词拼接为一个复合词在某些欧洲语言 中更常见,诸如瑞典语或德语。
本系统允许用户交互来调整单词1和单词2的拼接和组合单词的 拆开。当用户点击拼接单词、例如"smokefree,,时,菜单选项"分解为 "somkefree,",或等效选择被提供给用户。可替换地,笔迹运动、诸如 划过单词smokefree的向下运动可被定义为分解命令。对于由于低置 信度而无动作的可拼接单词,菜单选项被嵌入单词1和单词2。当用 户点击单词i时,选项"向右对齐(snap to right)"或等效选项可选择。 可替换地,诸如划过单词1和单词2 二者的圆團这样笔比划(pen gesture )被定义为将这两个单词结合为 一个拼接的长单词的命令。


将参考以下说明书、权利要求书、和附图更详细地说明本发明的 各特征和及其实现方式,其中附图标记在适当的地方被重复使用以指 示所标记对象之间的对应关系,且其中
图1是其中可使用本发明的单词图案识别系统的示例性操作环境 的示意图2是图1的单词图案识别系统的高级架构的方框图3的流程图示出了图l和2的单词图案识别系统在按照核心词
典或扩充词典中的位置对候选单词排序中的操作方法;
图4的示意图示出了由图l和图2的单词图案识别系统所生成的
N最佳列表,其中来自核心词典的单词和来自扩充词典的单词被不同
地显示;
图5的示意图示出了由图l和图2的单词图案识别系统所生成的 N最佳列表,其中来自核心词典的单词被分组且被排序为比来自扩充词典的单词的排序高;
图6的流程图示出了图l和图2的单词图案识别系统在以语言适 当方式将单词候选项识别为后缀或前缀并将所识别的前缀或后缀拼接
到所识别单词的操作方法;
图7的流程图示出了图l和图2的单词图案识别系统在将单词组
合为复合词中的操作方法;
图8包括图8A、 8B和8C,并表现了示出图1和图2的单词图 案识别系统的菜单的视图,其中菜单使用户能够将复合词分解为词干 和后缀;
图9的视图示出了用户在图l和图2的单词图案识别系统所提供
的复合词上形成的笔比划,其中笔比划将复合词分解为词干和后缀;
图10包括图IOA、 10B和10C,并表现了示出图1和图2的单 词图案识别系统的菜单的视图,其中菜单被应用于词干以使用户能够 将词干和后缀组合为复合词;
图11的视图示出了图1和图2的单词图案识别系统的菜单,其 中菜单被应用于后缀,从而使用户能够将词干和后缀组合为复合词; 以及
图12的视图示出了用户在图1和图2的单词图案识别系统所呈 现的词千和后缀上形成的笔比划,其中笔比划将词千和后缀组合为复 合单词。
具体实施例方式
下面的定义和解释提供了关于本发明技术领域的背景信息,并且 是为了有利于对本发明的理解,而不限制本发明的范畴
词典定义可与识别系统中的用户输入匹配的可识别元素的集合。
PDA:个人数字助理口袋大小的个人计算机。PDA通常存储 电话号码、约会、和要做事情列表。某些PDA具有小键盘;其他PDA 只具有用于在虚拟键盘上输入和输出的特殊笔。Sokgraph:作为图形的键盘上速记。虚拟键盘上单词的图案表示。 虚拟键盘具有触摸屏交互能力的计算机模拟键盘,其能够被用 来替代或补充使用按键输入(keyed entry)的键盘。虚拟按键通常用 指示笔连续敲击。虚拟键盘也被称为图形键盘、屏上键盘、或指示笔 键盘。
图1示出了示例性的整体环境,其中可使用按照本发明的用于改 进键盘上速记接口中的文本输入的系统、计算机程序产品、和相关方 法(单词图案识别系统IO或"系统10")。系统10包括通常被嵌入计 算机内或安装在计算机上的软件程序代码或计算机程序产品。安装有 系统10的计算机可以是移动设备、诸如PDA 15或蜂窝电话20。系统 10也可被安装在诸如平板计算机26、触摸屏监视器30、电子白板35、 和数字笔40这样的设备中。
系统10可被安装在辅助设备45所表示的任何使用用于输入的虚 拟键盘或类似接口的设备上。系统10可被保存在合适的存储介质、诸 如磁盘、CD、硬驱等设备上。
系统10根据用户在图形键盘上所构成的笔划的形状和位置确定 单词。系统10发送所确定的单词到软件接收器,诸如应用程序、操作 系统等。
图2示出系统10的高级分层结构。系统10包括词典205。词典 205包括核心词典210和扩充词典215。核心词典210包括一种语言中 的常用单词。根据系统10的应用,核心词典210通常包括大约5000 到15000个单词。扩充词典215包括没有被包括在核心词典210中的 单词。扩充词典215包括大约30000到100000个单词。
系统10还包括识别模块220、预排序模块225、和选择器/排序 模块230。识别模板220生成与输入图案235对应的候选单词的N最 佳列表。预排序模块225按照预定标准对这N最佳候选单词排序。排 序模块230调整对N最佳列表的候选单词的排序,以将从核心词典210 得到的单词设置为放置得比从扩充词典215得到的单词高,从而生成 排序后的单词候选项列表。如前面所解释的那样,从扩充词典得到的单词不被输出;仅来自核心词典的词被输出。
系统10还包括拼接模块245和复合词模块250。拼接模块245 拼接从排序后的单词候选项列表240中所选择的单词;例如拼接"ing" 与"code"形成"coding"。复合词模块250将从排序后的单词候选项列 表240中所选择的单词组合为更大的单词。输出单词255是从排序后 的单词候选项列表240中选择、并在需要时被拼接模块245和复合词 模块250处理的单词。仅核心词典210中的单词被系统IO作为输出单 词255呈现。系统10只在N最佳列表中列出在扩充词典215中找到 的候选单词;这些单词需要用户选择才成为输出单词255。 一旦被用 户选择,系统10就将来自扩充词典215的单词录入核心词典210。
系统10调节识别模块220对输入图案235的识别以适应用户的 词汇,同时保持识别系统中的最大信噪比。系统10允许核心词典210 和扩充词典215参与识别模块220的识别过程。然而,仅核心词典210 中的单词直接进入识别模块220的输出;这些单词是缺省输出。与输 入图案235匹配的扩充词典215中的单词仅被列在"N最佳"列表中, 供用户选择。当用户从N最佳列表中选择这些候选单词中的一个来取 代缺省输出时,所选单词被录入到核心词典210中。在单词被录入到 核心词典210后,当被录入的单词与输入图案235匹配时,该词可直 接进入识别模块的输出。
图3示出了系统10生成与输入图案235匹配的候选项的N最佳 列表的方法300。用户在键盘上速记接口上比划一个单词(步骤305 )。 识别模块220生成单词候选项的N最佳列表(步骤310 );预排序模 块225根据诸如置信值或相似性度量这样的标准,对来自核心词典210 和扩充词典215的单词候选项的N最佳列表排序(步骤315)。
排序模块230判断候选单词的N最佳列表中排序最高的单词是否 是从核心词典210得到的(判断步骤320)。如果是,则排序模块230 输出单词候选项的排序后的N最佳列表作为排序后的单词候选项列表 (步骤325)。如果候选单词的N最佳列表中排序最高的候选项没有 出现在核心词典210中,则排序模块230搜索候选单词的N最佳列表以定位从核心词典210中所得到的排序最高的单词候选项(步骤330 )。 如果在候选单词的N最佳列表中找到从核心词典210中得到的单 词候选项(判断步骤335),则排序模块230输出单词候选项的排序 后的N最佳列表作为排序后的单词候选项列表240。否则,排序模块 230将所找到的单词候选项移动至单词候选项的N最佳列表中的最高 排序位置(步骤335)。排序模块输出单词候选项的排序后的N最佳 列表作为排序后的单词候选项列表240 (步骤340)。
为了允许用户选择没有被最高排序的候选单词,用户接口部件显 示用户从中可以看到与输入图案235密切匹配的可选候选单词的次最 佳候选项列表(N最佳列表)。在一个实施例中,候选单词在列表上 的位置是由与候选单词相关的排序决定的,与候选单词是在核心词典 210中还是在扩充词典215中发现的无关,例外情形是,除了在核心 词典中没有任何单词与用户输入匹配时最高排序的单词必须总在核心 词典中找到。在另一实施例中,候选单词按词典起源分组;即,来自 核心词典210的候选单词被分组在一起,而来自扩充词典215的候选 单词被分组在一起。
候选单词的起源可选地可以通过强调与候选单词相关联的不同 感知特征来指示,以有利于识别候选单词的来源,例如来自核心词典 或来自扩充词典。示例性的感知特征例如包括颜色、背景底紋、黑 体、斜体等。如果用户没有选择单词,则系统IO输出来自核心词典的 候选单词的N最佳列表中排序最高的单词。如果用户没有选择单词, 则系统IO输出来自核心词典的候选单词的N最佳列表中排序最高的 单词。
从扩充词典215中得到的单词从候选单词的N最佳列表访问。因 此,显著地增强了系统10在生成排序最高的候选项时的容错度,因为 系统所显示的排序最高的候选项是从较小的核心词典210得到的。对 于在核心词典210中没有找到所期望的单词这样的罕见情形,用户激 活N最佳列表并选择所期望的候选项。
图4示出了由排序模块230所生成的示例性的候选单词的N最佳列表400。来自核心词典210的候选单词包括候选单词1 405、候选单 词2 410、和候选单词3 415,被总称为核心候选单词420。来自扩充 词典215的候选单词包括候选单词4 425、候选单词5 430、候选词6 435、候选单词7 440、和候选单词8 445,被总称为扩充候选单词450。 核心候选单词420和扩充候选单词450以不同的强调方式被显示。
在该例中,核心候选单词420以粗体文本示出,而扩充候选单词 450以斜体文本示出。任何形式的加重都可被用于区分核心候选单词 420和扩充候选单词450,诸如文本颜色、颜色背景、底紋等。示例性 的候选单词的N最佳列表400中的候选单词按照识别模块220所给出 的排序被定位,例外情形是除非核心词典中没有单词与用户输入匹 配,否则为从核心词典210得到的单词保留最高单词候选项位置455, 在该情形中,最高单词候选项位置455可由来自扩充词典的单词占据。
图5示出一个实施例,其中示例性的N最佳列表500包括按照来 源和按照识别模块220所提供的排序标准排序的候选单词。对于图4, 核心候选单词420和扩充候选单词450以不同的强调方式被显示。在 该例子中,核心候选单词420以粗体文本示出,而扩充候选单词450 以斜体文本示出。
在用户所比划的单词不在核心词典210的词汇中的情形下,系统 10显著地减小了对用户的额外负担。不是不能确定该单词是否被包括 在核心词典210中或系统是否误识别该输入,相反,用户可扫描N最
佳列表并选择所期望的候选单词。
对于本领域技术人员而言,显然,将单词划分到多个单独的词典 是一个简单概念性模型的实现。可替换地,词典205可被概念化为由 频率或先验概率排序的多个层,核心词典层和扩充词典层。当从N最 佳候选项接口选择来自扩充词典层的单词时,所选单词的频率或先验 概率被调整到阈值或其他标准,效果是所选单词被调整为属于核心层。
系统10还使用户能够分开输入长单词的各部分;系统IO自动地 将局部"sokgraphs,,组合为用户想要的一个单词。单词部分可以是诸如 "wor k"这样的词干和诸如"ing"这样的后缀、或两个或多个普通的较短单词,这些较短单词的拼接形成一个长单词,诸如英语中的short和 hand。将几个短单词拼接为一个复合单词在某些欧洲语言、诸如瑞典 语或德语中更常见。
拼接是基于单独识别拼接单词中所涉及的部分。对于词干加后缀 的情形,用户最初比划表示词干的单词输入图案235,然后比划后缀 的输入图案235。例如,对于单词"coding",用户最初写"code"的比划, 然后写"ing"的比划。对于键盘上的输入轨迹,识别模块220找出最优 匹配,并将这些匹配输出到具有字符串S(i)的N最佳列表,其中ie[l, Nl,其中字符串的排序i表示识别模块220对所选字符串与输入图案 235匹配的置信度。排序i-l的字符串是识别模块220的首选项。识 别模块220在临时緩存器中存储最后的N最佳列表。被緩存的常规单 词(词干)的N最佳列表被表示为S0。
在一个实施例中,后缀被存储在被称作可拼接后缀的列表中,其 sokgraph 、即图形键盘上的几何图案以与普通单词sokgraph相同的方 式被表示。例如,对于后缀"ing",其sokgraph是从i键开始到n键 并在g键上结束的连续迹线。除了后缀"ing"被存储在可拼接后缀的列 表中之外,系统以与任何其他sokgraph相同的方式识别 sokgraph"ing"的输入图案235。可替换地,后缀和普通单词二者可被 存储在同一词典中,但具有用于区分后缀和普通单词的标识符。在一 个实施例中,可拼接后缀被存储在查询表中,其中每个后缀条目、诸 如"ing,,与一系列指针相关联,这些指针指向词典中以该后缀结束的条 目。
图6示出了系统10将可拼接后缀与词干单词组合的方法600。用 户在键盘上速记接口上比划单词(步骤605)。拼接模块245获得对 于单词候选项的输出N最佳列表240排序最高的单词(步骤610)。 拼接模块245判断所获得的单词是否是可拼接的后缀,例如通过比较 所获得的单词与可拼接后缀列表(判断步骤615)。如果所获得的单 词不是可拼接后缀,则拼接模块245不采取任何动作(步骤620)。
如果所获得的单词是可拼接后缀,则拼接模块245找到以所确定的可拼接后缀结束的拼接候选项(步骤625)。拼接模块245从每个 拼接候选项剥离可拼接后缀(步骤630 )。以当前后缀结束的单词(例 如"ing,,)并表示为S1(0 (例如coding或working )以及它们的被剥离 后缀的剩余部分,皮表示为S2(i)(如cod或work)。
拼接模块245计算剥离后的拼接候选项与可拼接后缀之间的字符 串编辑距离(string edit distance )(特别地使用Wagner-Fisher算 法的Morgan编辑误差)(步骤635 )。然后将剩余部分S柳与被緩存 的N最佳列表中的首选项So(i)匹配。因为S。包含整个单词,而不是单 词片段(例如S。d,code),所以匹配不准确。系统10使用编辑距离 (edit-distance )(从插入、删除、或替换单个字符中所选择的最小数 目的编辑操作)来匹配两个字符串,从而在S2(i) (i=l, N)中找到最 接近S。d)的字符串并将其表示为S2min。拼接模块245以相关联的编辑 距离对拼接候选项进行分类(步骤640)。拼接模块245返回具有最 小编辑距离的拼接候选项(步骤645)。
在一个可替换实施例中,单词频率或先验概率、或更高级语言规 则被用于对具有相同编辑距离的拼接候选项进行排序。
对应于S柳中S2min的单词作为选择的拼接候选项被返回。例如 "code"对"cod" ( "coding"的剥离后部分)的编辑距离比"code"对 "work" ("working"的剥离后部分)的编辑距离小。在一个实施例中, 阈值可被设定为最低的可接受编辑距离失配。
在另一实施例中,后缀不被链接到所有以该后缀结束的单词。相 反,在后缀被识别时,系统10扫描词典205,找到以所识别的后缀结 束的单词,从所找到的单词剥离结尾,匹配剥离后的剩余部分与前面 的单词,并如前所述选择最密切的匹配用于拼接。这两个实施例的区 别在于计算时间和存储空间权衡。扫描词典意味着不需要单独的指针 列表,因此减小了软件代码访问的介质中词典的存储要求。另一方面, 与包括以单独的指针列表索引的词典的系统相比,扫描词典需要更多 的时间来定位单词。
系统10以与"词干+后缀"相似的方式处理"前缀+词干"。拼接模块245最初根据单独的前缀列表或具有前缀标识符的普通词典从单词 候选项的排序后的列表240的输出中识别基于前缀的单词。拼接模块 245然后识别前缀后面的单词。拼接模块245匹配包含该前缀的所有 单词,从匹配的单词剥离该前缀,并返回最密切的匹配供拼接。
将两个较短单词拼接为一个长的单词是不确定的。例如,在瑞典 语中,"smoke free"和"smokefree"二者都是允许的,但它们的含义却 相反(允许吸烟与不允许吸烟)。复合词模块250使用统计交互方法 处理两个单词的拼接。为了支持该方法,系统10在词典205中存储统 计信息,包括所有单词的频率(基于每个单词在文集或文本中出现的 总次数)和所有双元组(bigrams)的频率(基于两个有序单词出现的 总次数)。
图7示出系统10将两个单词组合为复合词的方法700。方法700 检查连续单词对(单词l,单词2)(步骤705)。复合词模块245判 断在词典245中是否找到组合的连续单词(单词1 +单词2 =单词3)
(判断步骤710)。如果没有找到组合单词-单词3,则复合词模块 250不采取动作(步骤715)。如果发现匹配(单词3 =单词1 +单词 2),则复合词模块250比较单词3与双元组(bigram)(单词l,单 词2 )的频率(步骤720 )。如果单词3的频率与预定阈值相比大于双 元组(单词l,单词2)的频率,或单词3的频率相对于双元组(单词 1,单词2)的频率的比率大于预定阈值(判断步骤725),则复合词 模块用单词3代替单词1和单词2 (步骤730 )。否则,不采取任何动 作(步骤715)。可替换地,单词3的频率与双元组(单词1,单词2) 的频率的比较是加权比较。
系统10提供支持用户交互以调整拼接和拆开的用户接口。图8
(图8A,图8B,图8C)示出了将组合单词拆开为两个独立单词或单 词部分。示例性的屏幕805向用户显示了示例性的拼接单词 "coding,,810。用户例如通过点击单词"coding"810而选择所显示的拼 接单词"coding,,(图8A)。选择单词"coding"810就显示例如包括可 选择指令"分解为"code"和"ing""或等价选项的菜单选项815(图8B)。如果用户选择菜单选项815中所示的指令,则系统IO将所显示的拼接 单词"coding,,810分解为词干"code"820和后缀"ing"825 (图8C )。
图9示出用于分解拼接单词"coding"810的一个示例性的可替换 的笔迹运动卯5。屏幕850向用户显示拼接单词"coding"810。用户在 拼接单词"coding"810上形成笔迹运动905。系统10将所显示的拼接 单词"coding,,810分解为词干"code,,820和后缀"ing"825,如图8C所 示。
对于由于低置信度而没有动作的可拼接单词,菜单选项被嵌入单 词1和单词2中,如图10所示。例如,屏幕805向用户显示单词 l"code"1005和单词2"ing,,1010,如图10A所示。选择单词l"code"1005 就显示包括可选择指令"向右对齐"或等价选项的选项菜单1015 (图 IOB)。如果用户选择选项菜单1015中所示出的指令"向右对齐,,,则 系统10拼接单词l"code"1005和单词2"ing,,1010,从而形成拼接单词 "coding,,1020 (图10C )。
图11示出在用户选择单词2"ing,,1010时所显示的一个示例性选 项菜单1105。如果用户选择在选项菜单1105中所示出的指令"向左对 齐",则系统IO拼接单词l"code,,1005和单词2"ing,,1010,从而形成 拼接单词"coding,,1020,如图10C所示。
图12示出用来拼接单词l"code"1005和单词2"ing"1010的一个 示例性可替换的笔迹运动1205。笔迹运动1205例如包括划过单词 l"code,,1005和单词2"ing,,1010的圆圏。系统10识别笔迹运动1205 所表示的命令,并拼接单词l"code,,1005和单词2"ing,,1010,从而形 成拼接单词"coding,,1020,如图10C所示。
权利要求
1.一种用于识别经键盘上速记接口所输入的输入信号的单词识别系统,所述系统包括包括常用单词的核心词典;扩充词典,包括没有被包含在核心词典中的单词;识别模块,用于识别与输入信号相关的单词;选择器模块,用于输出来自核心词典的与输入信号相关的输出单词;以及录入模块,用于在用户选择与输入信号相关的候选单词后,将该候选单词录入核心词典。
2. 如权利要求l所述的系统,还包括用户选择接口,用于呈现 来自核心词典和扩充词典中至少 一个的与输入信号相关的候选单词, 以供用户选择。
3. 如权利要求2所述的系统,其中用户选择接口以不同的感知 特征列出来自核心词典的候选单词和来自扩充词典的候选单词,以便 于区分。
4. 如权利要求l所述的系统,其中识别模块生成来自核心词典 和扩充词典的候选单词的N最佳列表。
5. 如权利要求4所述的系统,还包括预排序模块,用于根据至 少一个标准对候选单词的N最佳列表排序。
6. 如权利要求5所述的系统,其中排序模块输出来自核心词典 的最高排序的单词作为候选单词的N最佳列表中最高排序的单词。
7. —种识别经键盘上速记接口输入的输入文本的单词识别方法,包括在核心词典中存储常用单词;在扩充词典中存储没有被包含在核心词典中的单词; 识别与输入信号相关的单词;输出来自核心词典的与输入文本相关的输出单词;以及在用户选择与输入文本相关的候选单词后,将该候选单词录入到 核心词典中。
8. 如权利要求7所述的方法,还包括呈现来自核心词典和扩充 词典中至少一个的与输入信号相关的候选单词,以供用户选择。
9. 如权利要求8所述的方法,还包括以不同的感知特征列出来 自核心词典的候选单词和来自扩充词典的候选单词,以便于区分。
10. —种具有存储在计算机可用介质上的程序代码的计算机程序 产品,用于识别经用户输入接口输入的输入信号,包括包括常用单词的核心词典;扩充词典,包括没有被包含在核心词典中的单词; 用于识别与输入信号相关的单词的程序代码; 用于输出来自核心词典的与输入信号相关的输出单词的程序代 码;以及用于在用户选择与输入信号相关的候选单词后将该候选单词录 入核心词典的程序代码。
11. 如权利要求l所述的系统,用于允许组合输入文本的词干和 词缀,所述系统还包括拼接模块,用于将输入信号识别为输入词缀; 拼接模块还识别候选单词作为相邻候选单词; 复合输出模块,用于在词典中检索包含所述输入词缀的单词集合;排序模块,用于根据相似性函数对包含所述输入词缀的单词集合 进行排序,所述排序模块比较包含所述输入词缀的单词集合中每个词典单词与包含所述候选单词和输入词缀的字符串;以及复合单词模块,用于输出包含所述输入词缀的单词集合中排序最 高的词典单词。
12. 如权利要求11所述的系统,其中所述输入词缀是后缀。
13. 如权利要求12所述的系统,其中所述复合词模块复合所述 后缀与排序最高的词典单词。
14. 如权利要求11所述的系统,其中所述输入词缀是前缀。
15. 如权利要求14所述的系统,其中所述复合词模块复合所述 前缀和排序最高的词典单词。
16. 如权利要求14所述的系统,其中所述相似性函数包括距离函数。
17. 如权利要求14所述的系统,其中所述相邻候选单词包括在 所述输入词缀前面的候选单词或在所述输入词缀后面的候选单词中的 任意一个。
18. 如权利要求17所述的系统,其中如果所述输入文本没有被 识别为输入词缀,则复合词模块创建由输入文本和相邻候选单词的拼 接而产生的字符串;判断所述字符串在词典中出现的频率;将所述字 符串的出现频率分别与输入文本和相邻候选单词的出现频率相比较;率,则复合;模块将输入文本和相邻候选单词拼接为拼接单词,并以 所述拼接单词代替所述字符串。
19. 如权利要求18所述的系统,其中字符串的出现频率相对于 输入文本和相邻候选单词的出现频率的比较是加权比较。
20. 如权利要求7所述的方法,用于允许组合输入文本的词干和 词缀,所述方法进一步包括将输入文本识别为输入词缀;如果输入文本被识别为输入词缀,则将候选单词识别为相邻候选单词;在词典中检索包含所述输入词缀的单词的集合;根据相似性函数,通过比较包含所述输入词缀的单词的集合中每个词典单词与包含候选单词及输入词缀的字符串,对包含所述输入词缀的单词的集合进行排序;以及输出包含所述输入词缀的单词的集合中排序最高的词典单词。
21. 如权利要求19所述的方法,进一步包括复合所述后缀与排 序最高的词典单词。
22.如权利要求10所述的计算机程序产品,用于允许组合输入 文本的词干和词缀,所述计算机程序产品进一步包括用于将输入信号识别为输入词缀,并进一步将候选单词识别为相 邻候选单词的程序代码;用于在词典中检索包含所述输入词缀的单词的集合的程序代码;用于按照相似性函数对包含所述输入词缀的单词的集合进行排 序的程序代码,其比较包含所述输入词缀的单词的集合中每个词典单 词与包含所述候选单词及输入词缀的字符串;以及用于输出包含所述输入词缀的单词集合中排序最高的词典单词 的程序代码。
全文摘要
一种单词图案识别系统改进了经键盘上速记接口输入的文本输入。核心词典包括一种语言中的常用单词;扩充词典包括没有包括在核心词典中的单词。系统仅直接输出来自核心词典的单词。来自扩充词典的候选单词可在用户选择后被输出并同时被录入核心词典中。拼接模块使得用户能够分开地输入长单词的各部分。复合词模块组合两个普通的短单词,这两个短单词的组合形式一个长单词。
文档编号G06F3/048GK101292214SQ200680039249
公开日2008年10月22日 申请日期2006年10月12日 优先权日2005年10月22日
发明者P-O·克里斯藤森, 翟树民 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1