用于提供随机输入源生成的文本的替换方式的方法和系统的制作方法

文档序号:2834367阅读:322来源:国知局
专利名称:用于提供随机输入源生成的文本的替换方式的方法和系统的制作方法
技术领域
本发明一般涉及将文本输入到计算机中的方法,本发明特别是涉及提供由多个随机输入源生成的文本选择的替换方式。
按照传统方式,计算机使用者通过键盘和鼠标,将文本输入到字处理程序中。但是,近年来,由于允许使用者通过其它的输入方法,比如语言或手写方式,将文本输入到该字处理程序中,故字处理程序变得更加复杂。虽然计算机不能够始终以全精度解读该输入,但是计算机可生成上述输入的文本替换方式列表。另外,计算机可经常为每个替换方式指定下述概率,该概率指上述替换方式为所需的替换方式的概率。生成上述概率的结果的输入称为“随机输入”,而可准确的确定的输入,比如键入的文本称为“非随机输入”。
作为典型方式,当使用者进行随机输入时,来自随机输入的,在字处理程序中生成的文本必须通过使用者进行较大程度的编辑,以便生成使用者所需的文本。上述编辑方法已通过下述方式简化,该方式为允许使用者选择由上述随机数据生成的文本,并且要求上述文本选择的替换方式。与此相对应,上述计算机可通过图形用户界面,向使用者提供上述文本选择的替换方式。如果该使用者选择该替换方式中的一个,则该计算机以所选择的替换方式,代替上述文本选择。
假定在使用者通过对字处理程序进行随机输入,比如语音的方式,在字处理程序中生成文本之后,使用者对该文本进行编辑。该使用者会,比如,以新的字代替文本中的字,而该新的字通过键盘输入到计算机中。目前的字处理程序未将所键入的文本编辑组合到它们针对所编辑的文本选择而提供的替换方式中。于是,在本领域中,需要一种对随机输入生成的经编辑的文本提供替换方式的方法。
如果使用者试图要求跨越多个随机输入源的文本选择的替换方式,则会产生另一问题。比如,该使用者可要求包含基于手写输入的字,以及基于语言输入的字的文本选择的替换方式。目前的字处理程序不能够提供这样的文本选择的有意义的替换方式。于是,在本领域中,还需要一种提供多个随机输入源生成的文本选择的替换方式的方法。
输入方法编辑器(IME)为生成随机数据的另一种字处理程序输入方法。一般,IME将输入转换为外语文本。送入到IME中的输入可为,比如,键入的文本,该文本通过键盘和鼠标输入到计算机中。IME对于生成亚洲和其它语言中的表意文字来说,是特别有用的。由于这样的语言中的表意文字的数量超过键盘上的键盘的数量,故作为典型方式,将特定的表意文字输入到计算机中要求多次击键,而上述IME将该多次击键解读为组合字符。
在典型的IME中,使用者可键入定义所需中文汉字的拼音的英文字符。由于许多中文汉字具有类似的发音,上述键入的拼音会表示多个不同的中文汉字的任何一个。于是,上述IME向使用者提供与上述键入的拼音相对应的最有可能的侯选项,从而使用者可挑选出正确的一个。
程序员早已意识到将语言输入送入IME的价值。该操作是通过下述方式完成的,该方式为首先将语言转换为文本,之后,将该文本用作送入IME的输入。但是,如前面所描述的那样,语音的解读完全是随机的。于是,上述语音解读器所生成的文本可能不是使用者所需要的文本。如果该错误的文本用作送入IME中的输入,则IME所生产的结果可能是较差的。因此,当语音用作送入IME中的输入时,在将上述文本输入IME中之前,作为典型方式,解读语音数据的程序允许使用者首先对语音解读器解读的文本进行纠错处理。当IME产生上述文本的外语译文时,由于IME的结果也完全是随机的,故上述使用者可再次选择所需的替换方式。要求使用者在上述过程中的两个不同阶段,对该结果进行编辑会是无效率的,并且是不方便的。于是,在本领域中,还需要一种对送入IME中的语音输入的改进的方法。
本发明通过便于对文本进行编辑的随机输入组合程序,来满足上述的需要。本发明通过下述方式,完成该操作,该方式为即使在文本选择由多个随机输入源生成,而其中一个或多个完全是随机的情况下,仍提供由使用者给出的文本选择的替换方式。
上述随机输入组合程序通过图形用户界面,以列表的方式,向使用者提供上述替换方式。之后,该使用者可选择该替换方式中的一个,以便代替下述文本选择,上述使用者已使该文本选择变为高光亮状态,从而进行编辑。上述操作通常可快于下述操作,该下述操作指要求使用者自已考虑替换方式,之后通过键盘和鼠标,相应地进行修改。如果使用者未发现上述文本选择用的,使用者所需的替换方式,则该使用者可通过键盘和鼠标,对上述文本选择进行编辑。与此相对应,上述随机输入组合程序可提供更新的替换方式列表,其包括使用者的修改。在随机输入组合程序生成使用者所需的替换方式之前,使用者经常只需要局部地对文本选择进行编辑,从而上述随机输入组合程序再次改善编辑效率。
上述随机输入组合程序还可利用自然语言模型。该模型可通过自然语言规则,从整体上,对文本选择进行分析,以便提供上述文本选择的更好的替换方式列表。这也会改善使用者的编辑效率。
一般来说,本发明包括对文本进行纠错的方法。该使用者首先或许通过多个随机输入源,将文本输入到计算机中。该使用者还可采用键盘和鼠标,将文本输入到计算机中。
文本的键盘/鼠标输入为非随机的输入源的实例,这意味着可以全精度确定打算通过上述源输入的文本。另一方面,随机输入源用于将输入转换为替换方式列表,每个替换方式的概率比作为正确的替换方式的100%的概率小。由于语音不能够始终以全精度为计算机解读,故语音识别机构为将语音输入转换为文本替换方式列表的随机输入源的实例。随机输入源的其它实例包括手写识别机构,以及输入方法编辑器(IME)。当文本成分的输入源为随机的时,上述文本成分的最有可能的替换方式一般用于表示上述文本选择中的文本成分。
一旦使用者将文本输入到计算机中,该使用者可通过进行使用者所输入的文本的一部分的文本选择开始纠错处理。该文本选择可包括多个文本成分。该文本成分可构成一组使用者通过单个输入源输入的文本选择的子集。该使用者可通过不同的输入源,输入位于文本选择中的不同的文本成分,并且该使用者可通过随机输入源,输入一个或多个文本成分。
一旦使用者做出文本选择,该使用者可输入命令以便从整体上显示该文本选择的替换方式。之后,上述随机输入组合程序将上述文本选择分解为文本成分,进行分析,检索出表示源于随机输入源的文本成分的替换方式的随机模型。该随机模型可包括上述文本成分的替换方式列表,以及与该替换方式相对应的概率。作为替换方式,上述随机模型可包括点阵。
然后,上述随机输入组合程序将所检索到的上述随机模型与其它的文本成分组合,以便从整体上,生成文本选择的替换方式列表。接着,该随机输入组合程序将该文本选择的替换方式列表显示于显示设备,比如监视器上。之后,使用者可选择所显示的替换方式中的一个。在此场合,所选择的替换方式替换文本选择。
上述随机输入组合程序还可采用自然语言模型。在此替换实例中,上述随机输入组合程序可将每个随机文本成分的随机模型组合,以便生成该组合程序提供给自然语言模型的文本选择的临时列表。上述自然语言模型通过下述方式,形成修改的替换方式列表,该方式为作为整体,根据通过上述自然语言模型,应用于上述文本选择的自然语言规则,对上述替换方式的临时列表进行重新评价。该自然语言模型还在上述临时列表中未发现的修改的替换方式列表上,添加新的替换方式。在上述自然语言模型将修改的替换方式列表返回给随机输入组合程序之后,上述随机输入组合程序提供用于显示的,修改的替换方式列表。
在另一替换实例中,一系列随机输入源生成随机文本成分。这意味着至少一个随机输入源生成随机结果用作送入第2随机输入源的输入。作为典型方式,该系列源中的第1个随机输入源要求使用者输入,同时该系列源中的后一个随机输入源接收作为输入的,由前一随机输入源生成的替换方式。该场合的一个实例为语音识别机构,该机构生成用作送入IME中的输入的文本。当一系列随机输入源生成随机文本成分时,上述随机输入组合程序可生成串行随机模型,该模型包含随机文本成分的替换方式,以及这些替换方式的精确概率,该概率用于说明送入多个源中的每个随机输入源中的输入的可能性。该过程无需使用者对由随机输入源生成的单个替换方式,送入后一随机输入源作为输入使用。
为了生成源于一系列随机输入源的文本成分的串行随机模型,上述随机输入组合程序首先向上述系列源中的第1随机输入源提供该随机输入源所需要的使用者输入。通过对该使用者输入进行处理,上述第1随机输入源生成随机结果。该第1随机输入源所生成的随机结果包括多个替换方式,并且上述随机输入组合程序选择上述随机结果。通过将所选择的随机结果中的每个替换方式用作送入第2随机输入源中的输入,以便生成第2随机输入源的随机结果,针对第2随机输入源,上述随机输入组合程序生成多个随机结果,每个随机结果具有多个替换方式。如果上述第2随机输入源的任何的随机结果不包含“n最佳”替换方式列表,则该随机输入组合程序将该随机结果转换为“n最佳“替换方式列表,因为将所有随机结果转换为相同的格式,则使将它们的组合处理简化。之后,上述随机输入组合程序将上述第2随机输入源的随机结果组合,以便生成第2随机输入源的汇总的替换方式列表。如果在上述系列源中,仅仅具有两个随机输入源,则上述汇总的替换方式列表可用作由上述系列输入源产生的文本成分的随机模型。
上述随机输入组合程序还可用于将从使用者处接收到的文本选择的纠错的范围,扩大为较大的文本单元。为此,上述随机输入组合程序将上述文本选择提供给纠错范围模型,以便确定是否应当对纠错的范围进行调整。对应于上述文本选择的提供,上述随机输入组合程序从上述纠错范围模型,接收下述文本单元,该文本单元包括文本选择和至少一个相邻的字。之后,通过该文本单元,上述随机输入组合程序可生成上述文本单元的替换方式列表,并且将这些替换方式显示于显示设备上。
参照附图和权利要求,并根据下面的实施例的具体描述,可更加清楚地理解和了解本发明的各个方面。


图1为表示本发明的举例性实施例的操作环境的方框图;图2为用于对多源数据处理系统的程序模块进行概述的方框图;图3为表示本发明的典型实施例的操作的方框图4A~4B为表示允许使用者对文本选择进行编辑的本发明的实施例的操作的方框图;图5为表示自然语言模型处于操作状态的本发明的另一实施例的方框图;图6为用于对来自多输入源的源数据进行处理的程序中的步骤的流程图;图7为确定多源文本选择的替换方式的程序中的步骤的流程图;图8为用于检索文本选择中的文本成分的随机模型的程序中的步骤的流程图;图9为用于生成串行随机模型的程序中的步骤的流程图;图10为用于对包括改变文本选择的纠错范围的源数据进行处理的另一程序中的步骤的流程图。
作为典型方式,本发明是通过字处理程序来实现的,该字处理程序可接收来自多源的输入,每个源可为非随机的输入源或随机输入源。文本的键盘/鼠标输入是非随机的输入源的实例,这意味着上述计算机可确定使用者打算的全精确度要求的文本。另一方面,随机输入源用于将输入转换为随机结果。随机结果为具有多个替换方式的一个结果,而每个替换方式的概率比作为正确的替换方式的100%的概率小。随机输入源的实例为语音识别机构,该机构将语音输入转化为文本替换方式列表,因为计算机不能够始终以全精度解读语音。随机输入源的其它的实例为手写识别机构和输入方法编辑器(IME)。
上述字处理程序的作用是允许使用者对文本的区段进行选择,要求该选择的替换方式。如果计算机从一个或多个随机输入源生成文本选择,则存在上述文本选择的替换方式。在上述字处理程序确定上述文本选择的替换方式之后,上述字处理程序通过图形用户界面,显示该替换方式。如果使用者选择上述文本选择的替换方式中的一个,则该字处理程序以所选择的侯选项替换该文本选择。
在检查上述字处理程序所提供的替换方式列表之后,使用者可能未发现上述文本选择的可接受的替换方式。因此,上述字处理程序可让使用者通过键盘和鼠标,对该文本选择进行编辑。该使用者可以,比如,修改上述文本选择中的字中的一个。在此场合,上述字处理程序会修改上述替换方式列表,以便包括上述编辑内容,向使用者提供修改的替换方式列表。如果使用者选择上述文本选择的经修改的替换方式中的一个,则上述字处理程序将上述文本选择替换为所选择的替换方式。
作为典型方式,称为“随机输入组合程序”的程序模块负责生成上述文本选择的替换方式。该随机输入组合程序通过下述方式实现该操作,该方式为将文本选择分解成由不超过一个的随机输入源生成的较小的文本成分,进行分析。之后,对于每个随机文本成分,上述随机输入组合程序检索出随机模型,该模型表示上述文本选择的替换方式。然后,上述随机输入组合程序可将所检索出的随机模型与其它的文本成分组合,以便从整体上生成上述文本选择的替换方式列表。
上述随机输入组合程序可构成字处理应用程序的一部分。作为替换方式,该随机输入组合程序可构成作为操作系统的一部分的单独的实用程序。该组合程序还可构成与字处理程序连接的,但是不构成操作系统的一部分的单独的程序。
为了改善字处理程序所提供的,针对文本选择的替换方式列表,上述字处理程序可采用自然语言模型。该自然语言模型可从整体上将自然语言的规则应用于文本选择中,以便对由随机输入组合程序所生成的替换方式列表中的替换方式的可能性进行重新评价,并且将新的替换方式加入到上述替换方式列表中。作为替换方式,上述自然语言模型可将自然语言规则应用于单独的文本成分中,以便改善上述随机输入组合程序为了形成替换列表所采用的随机模型。
有时,文本成分是由一串随机输入源生成的。这意味着至少一个随机输入源生成作为送入到第2随机输入源中的输入的随机结果。作为典型方式,上述串联的输入源中的第1随机输入源接收使用者的输入,同时上述串联的输入源中的最后的随机输入源生成文本成分的替换方式。上述随机输入组合程序可在下述情况下生成串行随机模型,该模型包含上述文本成分的替换方式,该情况指不要求使用者选择串联的输入源中的每个随机输入源的单个替换方式结果,作为后一随机输入源的输入。
为了生成文本成分的串行随机模型,上述随机输入组合程序首先选择最终生成文本成分的使用者的输入。之后,上述随机输入组合程序将所选择的使用者输入,依次提供给第1随机输入源。然后,该随机输入组合程序依次将由第1随机输入源生成的每个替换方式,作为送入后一随机输入源中的输入。由于该后一随机输入源根据提供给它的每个替换方式,生成随机结果,故必须将上述后一随机输入源的随机结果组合成汇总的侯选项列表。如果在该组随机输入源中,还具有另一个随机输入源,则上述随机输入组合程序将汇总的侯选项列表的每个侯选项作为送入下一随机输入源中的输入提供。该组输入源中的最后的随机输入源按照此方式生成的汇总侯选项列表为串行随机模型。
随机输入源经常会产生跨越多个字的错误。在纠错处理中,使用者可能未注意到上述错误的整个范围。比如,如果该使用者口述“recognize”这个字,则语音识别引擎会得出语音输入的最可能的翻译为“wreck anice”。当进行编辑时,该使用者会看到“wreck”这个字,并且只要求该字用的替换方式,因为使用者未发现下面的字也是不正确的(即“anice”)。
如果使用者进行文本选择,该文本选择未包括由于相关的错误造成的,为非正确的相邻的字,并且如果字处理程序仅仅采用使用者的文本选择,以便生成替换方式列表,则针对文本选择提供的替换方式均不会成为在输入时,使用者所需要的文本。同样,以由使用者从替换方式列表中选择出的替换方式代替文本选择,会在文本中留下非正确的相邻字。
为了消除这些缺点,上述随机输入组合程序可将上述文本选择提供给纠错范围模型,该模型确定是否应当将上述纠错范围扩大。在上述“recognize”实例中,纠错用的适合的文本单元为“wreck a nice”。为了做出该决定,上述纠错范围模型可利用包含于自然语言模型,可能的错误的模型,和用于在字处理程序中生成文本的输入方法有关的模型中的信息。与上述输入方法有关的模型可包括语音识别的声音模型,手写输入用的手写模型,用于识别符号语言或其它手势的视觉为基础的模型。
如果上述纠错范围模型确定应对上述纠错范围进行调整,则上述纠错范围模型确认一个或多个较大的文本单元,对于该文本单元,上述随机输入组合程序应当按照上述已描述的方式,生成替换方式。上述纠错范围模型向随机输入组合程序发出这些文本单元列表,以便进行处理。
下面参照附图,对本发明的各方面进行描述,在这些附图中,相同的标号表示相同的部件。
举例性的操作环境图1和下面的说明用于对实现本发明的适合的计算环境100进行简要和总体的描述。作为举例性的操作环境100包括普通的个人计算机系统120,该系统120包括处理机构121,系统存储器122,系统总线123,该系统总线123将系统存储器122与处理机构121连接。上述系统存储器122包括只读存储器(ROM)124,随机存取存储器(RAM)125。存储于ROM124中的基本输入/输出系统126(BIOS),该系统126包含有助于,比如,在启动时,在个人计算机系统120内部的部件之间转移信息的基本程序。
上述个人计算机系统120还包括硬盘驱动器127;磁盘驱动器128等,该驱动器可以,比如,实现对可拆卸的磁盘129的信息的读取或写入;光盘驱动器130,其对,比如,CD-ROM盘131进行读取,或相对其它的光介质,进行读取或写入。上述硬盘驱动器127,磁盘驱动器128和光盘驱动器130分别通过硬盘驱动器界面132,磁盘驱动器界面133和光盘驱动器截面134与系统总线123连接。上述驱动器和它们的相应计算机可读取的介质为个人计算机系统120提供非易失性存储。虽然上述的计算机可读取的介质的描述是参照硬盘,可拆卸的磁盘和CD-ROM盘进行的,但是本领域的普通技术人员应知道,在上述举例性的操作环境中,还可采用计算机系统可读取的其它类型的介质,比如盒式磁带,快擦写存储卡,数字视盘,贝努里(Bernoulli)盒式磁盘,或类似物。
使用者可通过普通的输入装置,将命令和信息输入到个人计算机系统120中,该输入装置包括键盘140,指点器,比如鼠标142。可采用麦克风161将声音输入,比如语音,输入到计算机系统120中。使用者可通过采用指示笔,在书写输入板162上,绘制图形信息的方式,将图形信息,比如绘图,或手写体,输入到计算机系统中。上述计算机系统120可包括其它的输入装置(图中未示出),比如游戏杆,游戏垫,卫星盘(satellite dish),扫描仪,触屏/指示笔或类似装置。上述麦克风161可通过与系统总线连接的音频适配器160,与上述处理机构121连接。该其它的输入装置经常通过与系统总线连接的串口界面146,与上述处理机构121连接,但是该其它输入装置可通过其它界面,比如游戏端口,或通用串行总线(USB)实现连接。
监视器147或其它类型的显示设备也通过界面,比如视频适配器148,与系统总线123连接。除了上述监视器以外,作为典型方式,个人计算机系统还包括其它的外围输出装置(图中未示出),比如扬声器或打印机。
上述计算机系统120可在网络环境中操作,其通过逻辑连接方式与1个或多个远程的计算机系统,比如远程的计算机系统149连接。该远程的计算机系统149可为服务器,路由器,同级设备或其它公共的网络节点,作为典型方式,该计算机系统149包括许多或全部针对上述个人计算机系统120所描述的部件,虽然在图1中仅仅示出了存储装置150。图1所示的逻辑连接方式包括局域网络(LAN)151和广域网络(WAN)152。该网络环境为公共办公室(commonplace in office),企业宽带计算机网络,内部网,互联网。
当用于LAN网络环境中时,上述个人计算机系统120通过网络界面153与上述LAN151连接。当用于WAN网络环境时,作为典型方式,上述个人计算机系统120包括调制解调器154,或用于在WAN152,比如互联网上,建立通信的其它装置。上述调制解调器154可为内置式或外置式,其通过串口界面146,与系统总线123连接。在网络环境中,针对个人计算机系统120所描述的程序模块,或其部分可存储于远程存储装置150中。可知道,图中所示的网络连接方式是举例性的,可采用在个人计算机系统之间建立通信连接(link)的其它装置。还知道,本发明除了个人计算机系统,同样可在主计算机或服务器计算机系统中实现,并且除了CD-ROM的装置,也可同样在通过,比如,网络连接界面153,与主计算机系统实现传递。
可在上述计算机系统120中的驱动器和RAM125中,存储多个程序模块。程序模块对计算机系统120如何作用,以及如何与使用者,输入输出装置或其它的计算机相互作用进行控制。程序模块包括程序,操作系统135,应用程序模块138,数据结构,浏览程序,其它的软件成分或固件成分。本发明可方便地通过一个或多个程序模块实现,该程序模块为,比如,随机输入组合程序模块137,随机输入界面程序模块139,其中的每一种程序模块基于在具体的说明中所描述的方法。
上述应用程序模块138可包括结合本发明的各种应用程序,其中的一些在图2中示出。在描述图2的说明部分,将对这些程序模块的一些之间的相互作用和目的进行更加全面的描述。这些模块包括字处理程序210(比如,由位于美国的华盛顿州雷德蒙德的微软公司生产的“WORD”),手写识别程序模块230,语音识别程序模块240,以及输入方法编辑器(IME)250。
由于人们认为对在附图中所示并描述的操作,步骤和程序进行了充分的公开,从而使本领域的普通技术人员实现本发明的举例性的实施例,故没有为了执行在具体的描述中所说明的各种步骤,对特定的程序设计语言进行描述。另外,存在许多计算机和操作系统,它们可用于实现举例性的实施例,因此,无需提供应用于所有的这些多种不同的系统的具体的计算机程序。特定计算机的每个使用者会想到对于其需要和目的最有用的语言和工具。
本领域的普通技术人员知道,本发明可在其它的计算机系统结构中实现,其包括手持装置,多处理器系统,以微处理器为基础的,或程序控制消费电子设备,微型计算机,主框架计算机和类似装置。本发明还可在下述分布式计算环境中实现,在该环境中,通过借助通信网络而链接的远程处理装置完成任务。在分布式计算环境中,程序模块可同时位于本地和远程存储装置中。
程序模块的概述图2提供对多源数据处理系统200的程序模块的概述。一般,图2所示的程序模块能够使使用者同时采用随机和非随机输入源,将文本输入到应用程序210中,比如,字处理程序。典型的随机输入源包括手写识别程序模块230,语音识别模块240,输入方法编辑器(IME)250,语音识别程序模块260。键盘140为非随机数据的典型源。一旦使用者通过一个或多个这样的输入源,将文本输入到字处理程序210中,则该使用者可对文本的区段进行选择,要求上述的文本选择的替换方式的侯选项列表。该文本选择可包括来自多个随机和非随机输入源的输入。只要从至少一个随机输入源生成文本选择,则便具有该文本选择的替换方式。上述程序模块可生成上述侯选项列表,并且通过图形用户界面,将它们提供给使用者。如果使用者选择上述侯选项中的一个,则以选中的侯选项,代替上述文本选择。现在对随机输入源230,240,250和260的操作进行描述。
上述手写识别程序模块230从使用者接收手写输入280。该使用者可通过借助指示笔,在写字输入板162上进行书写的方式,形成手写输入280。作为替换方式,该使用者可采用其它的装置,形成手写输入280。比如,该使用者可通过鼠标142,在监视器147进行书写,或使用者可通过指示笔,在触屏上进行书写。在输入之后,最好通过操作系统135中的书写输入板驱动模块,将上述手写输入280传送给手写识别程序模块230。
由于对于计算机来说,手写体经常是难于解读的,故手写识别程序模块230不能够始终以全精度对手写输入280进行解读。程序模块230能够做到的最好的方式是生成手写输入280的替换方式,指定每个替换方式为正确的概率。然后,通过定义,上述手写识别程序模块230产生随机结果。上述随机模型270a包括数据结构,该数据结构包括随机数据,该随机数据是通过上述手写识别程序模块230,对手写输入280进行处理而生成的。
虽然能够存储随机数据的任何的数据结构包括随机模型270,但是两个实现这样存储的有用的结构为点阵和“n最佳”替换方式列表。点阵为本领域的普通技术人员公知的结构,由此不对其进行全面的描述。但是,简单地说,点阵将随机输入源生成的字或短语存储在节点中。由于每个字或短语为随机数据,故上述节点也存储指定给相应的字或短语的概率。采用本领域的普通技术人员公知的方法,可穿过上述点阵,以便生成由存储数据所代表的文本的任何区段的可能的替换方式。另外,表示文本的相邻段的点阵可通过称为“并置”的处理,组合成元点阵。之后,可穿过该元点阵,以便生成文本的相邻段的替换方式。
作为替换方式,可通过“n最佳”替换方式和它们的相应概率的列表,表示随机数据。对于任何给定的字或短语,可采用表示字或短语的点阵,生成“n最佳”替换方式列表。
除了下述方面,上述语音识别程序模块240像手写识别程序模块230那样操作,该下述方面指其通过操作系统135中的麦克风驱动模块所操作的麦克风161,从使用者接收语音输入290。该语音经常是难于解读的,因为声音上类似的许多字具有不同的意义和拼法,从而上述语音识别程序模块240还生成随机结果。上述随机模型270b存储包含下述随机数据的数据结构,该随机数据是借助语音识别程序模块240,对语音输入290进行处理而生成的。
输入方法编辑器(IME)250还形成随机数据。一般,IME250将输入转化为外语文本。上述送入IME250中的输入可为键入的文本,该文本是通过键盘140和鼠标142输入到计算机中的。上述随机模型270c包括具有由IME250产生的随机数据的数据结构。
IME250特别是用于亚洲和其它语言中的表意文字。由于该语言中的表意文字的数量比键盘上的键的数量多许多,故在不采用IME250的情况下,将特定的表意文字输入到计算机中会成为问题。在典型的IME250中,使用者通过英文字符,键入所需的中文汉字的拼音。由于许多中文汉字具有类似的发音,故所键入的拼音会表示多个不同的中文汉字的任何一个,上述IME250产生随机结果。之后,上述IME250为使用者与提供所键入的拼音对应的最可能的侯选项,从而使用者可选择正确的一个。
由一个随机输入源生成的随机结果可用作送入第2随机输入源的随机输入。在此场合,这些随机输入源为“串行随机输入源”,在结构上,这些随机输入源可称为“串联”。这由程序模块的结构293表示,其还表示IME250的另一实施例。
在本实施例中,英文语音输入262可输入到计算机中,其用于生成日文文本。首先,将上述语音输入发送给语音识别程序模块260。在操作上,上述语音识别程序模块260的作用与语音识别程序模块240非常类似,但是在图中,将其表示成不同机构,因为其可包括不同的语音翻译引擎,比如,上述语音识别程序模块260可翻译与语音识别程序模块204不同的语言。上述随机模型270d包括包含随机数据的数据结构,该随机数据是通过语音识别程序模块260对语言输入进行处理而产生的。
在英文语音/日文IME实例中,上述语音识别程序模块260可根据口述的英文字,生成英文文本替换方式,并且将它们存储于随机模型270d中。之后,可将存储于随机模型270d中的一个或多个英文语言文本替换方式用作送入IME250的输入,该IME250将英文语言文本输入翻译成日文字符。送入IME250的每个替换方式输入生成单独的随机结果,虽然应知道,形成送入IME250中的两个不同的输入的随机结果的替换方式之间会重叠。
虽然从图2中,语音识别程序模块260到IME250的箭头表明上述语音识别程序模块为IME250的随机输入源,但是应知道,上述两个程序模块可以不直接实现连接。于是,比如,从语音识别程序模块260到IME250的随机输入可穿过界面程序模块,比如,随机输入界面139,而每个随机输入源直接与该界面139连接。
随机输入界面139用作接收随机数据的应用程序210和随机输入源,比如手写识别程序模块230,语音识别程序模块240,或IME250之间的随机数据的通道。具有作为随机数据的通道的随机输入界面139的一个优点在于,其使接收随机数据的应用程序210和随机输入源之间的通信简化。也就是说,上述应用程序仅仅需要知道如何与随机输入界面,而不是与所有可能的随机输入源,进行通信。接收随机输入的应用程序210在本发明的举例性实施例中是字处理程序。但是,该应用程序210还可为电子表格,浏览程序,电子邮件程序,音乐改编程序,CAD程序,演示程序(比如,PowerPoint,该软件由位于美国的华盛顿州雷德蒙德的微软公司生产),操作系统,或其它的软件程序。
在上述字处理程序的实施例中,该字处理程序210通过随机输入界面139,从用于将数据输入字处理程序中的每个随机输入源,接收表示最可能的替换方式的文本。除了通过多个随机输入源,将数据传送到字处理程序210中以外,使用者通过,比如,敲打键盘140,将典型的非随机数据输入字处理程序中。上述字处理程序210将所有这些源数据组合为提供给使用者的多源文本串。虽然该字处理程序210不向使用者指定上述文本中的每个字的源,但是该字处理程序仍然保持上述文本的每个成分的源的记录。
上述字处理程序210还具有下述作用,即使使用者确认文本的区段,要求上述选择的替换方式。如果上述文本选择是由一个或多个随机输入源生成的,则具有上述文本选择的替换方式。上述字处理程序210可通过下述方式,从随机输入界面139,要求替换方式的侯选项列表,该方式为向其提供文本选择,以及上述文本选择的每个成分的源。在对该要求进行处理之后,上述随机输入界面139向字处理程序210提供整个文本选择的侯选项列表。上述字处理程序210通过图形用户界面,将侯选项列表提供给使用者。如果使用者从该侯选项列表中,选择文本选择的替换方式中的一个,则上述字处理程序以所选中的侯选项,代替上述文本选择。
为了对上述文本选择的替换方式的侯选项列表的要求进行处理,上述随机输入界面139将该要求发送给随机输入组合程序137。通过借助随机输入界面139,与随机输入源进行通信,上述随机输入组合程序137可检索与生成文本选择的侯选项列表所需的随机模型270有关的信息。
为了生成侯选项列表,上述随机输入组合程序137可有选择地查看自然语言模型220。为此,上述组合程序137首先采用从随机模型270检索到的信息,生成上述文本选择的临时的替换方式的侯选项列表。在上述组合程序137相对自然语言模型220,生成临时侯选项列表之后,上述自然语言模型采用线索,比如文法,文本的区段的总的含义,各字序列的概率,对临时侯选项列表进行分析。根据该分析,上述自然语言模型220生成侯选项列表的附加的替换方式,对上述临时侯选项列表中的这些替换方式的概率进行重新评价。下面参照图3~9,对用于生成文本选择的替换方式的侯选项列表的方法进行描述。
如图2所示,随机输入源230,240和250可分别通过另一随机输入源,在不首先过滤掉相应的随机数据的情况下,将随机数据提供给字处理程序210。换言之,随机输入源230,240和250可分别(通过随机输入界面139)直接将随机数据,传送给字处理程序210,可将每个源的随机数据组合到同一字处理文件中。由于该原因,它们称为“并行随机输入源”296,在结构上,这些随机输入源可称为“并联”。
虽然已分别对各种程序模块进行了描述,但是本领域的普通技术人员应意识到,上述模块可按照各种方式进行组合,并且可形成新的程序模块以完成类似的结果。特别是,上述随机输入组合程序137和自然语言模型220可位于随机输入界面139,所有这3个程序模块可构成操作系统135或字处理程序210的一部分。另外,上述组合程序137和上述自然语言模型220可为直接与字处理程序210连接的单独的程序。同样,上述随机输入源230,240,250和260可为单独的应用程序模块138,或它们可构成操作系统135的一部分。
典型实施例的图示图3~5表示在本发明的典型的实施例中,使用者所看到和所做的内容。另外,这些附图表示随机输入组合程序137和自然语言模型220的功能。
在图3中,具有多个文本输入方法的计算机120从使用者,接收输入,将该输入传送给应用程序210,比如字处理程序。上述计算机将上述输入转换为文本串300,计算机将该输入显示于监视器147上。在本实施例中,使用者打算生成“THIS IS A MESSAGE WRITTEN BY A THOUSAND MONKEYSTYPING AT RAMDOM”的文本。但是,为了生成文本300,上述计算机将上述随机输入,解读为“THIS IS A MESSAGE WRITTEN BY A TOWN OF MY KEYSTAIPING AT RAMDOM”。
一旦将上述文本300显示,则使用者会通过使文本的一部分变为高光亮状态进行文本选择310。图3中的文本选择310具有3个文本成分312,314和316。该文本成分312,314和316中的每个来自不同的随机输入源。于是,比如,文本成分312可为通过借助手写识别程序模块230对手写输入280进行处理而生成的替换方式中的一个。通过该随机输入源生成的替换方式存储于上述随机模型270a中。该替换方式列表318为存储于随机模型270a中的文本成分312的替换方式列表。另外,上述计算机已选择“TOWN OF”为文本成分312的,因为该计算机确定这是用于生成文本成分的手写输入280用的替换方式列表中的最可能的替换方式。但是,按照替换方式列表318所示,上述计算机还对下述情况进行识别,该情况指“GOWN OF”和“THOUSAND”为文本成分312的可能的替换短语。
同样,语音识别程序模块240通过对语音输入290进行处理,生成存储于随机模型270b中的随机结果。上述替换方式列表320包含针对文本成分314而存储于随机模型270b中的上述替换方式。针对文本成分314,已选择“MY KEYS”,因为其是最可能的替换方式。
同样,文本成分316“TAIPING”来自第3随机输入源。该随机输入源将其替换方式存储于随机模型270c中,并且在上述替换方式列表322中,以表格方式表示该替换方式。
上述随机输入组合程序137生成替换方式列表318,320和322的替换方式的各种组合。之后,上述随机输入组合程序137生成各种组合的排序列表,其是上述随机输入组合程序137根据每种组合,针对上述文本选择310,使用者所需要的组合的概率的计算值生成的。之后,在替换方式列表330中,将排列顶层的上述文本选择310的替换方式显示于监视器147中。
在显示上述文本选择的替换方式列表330之后,使用者可选择对文本选择进行编辑,如图4A所示。在该附图中,上述使用者通过在图3中的字“TOWN OF”上,键入字“THOUSAND”,进行编辑410。其结果是,上述文本选择310的文本成分312由文本成分312’代替。
上述编辑410可通过键盘140和鼠标142完成。由于该输入方法完全是非随机的,故对于文本选择312’来说,没有替换方式。该变化反映到替换方式列表318’中,该列表318’代替了图3的替换方式列表318。上述替换方式列表318’中所示的唯一的替换方式为“THOUSAND”。在完成上述编辑之后,上述随机输入组合程序137再次形成替换方式列表318’,320和322的替换方式的各种组合,以便形成经编辑的文本选择310的替换方式。这些替换方式作为替换方式列表显示于监视器147上。
如果使用者需要以与显示于替换方式列表430中的不同的替换方式,以便代替文本选择310,则该使用者可再次对该文本选择310进行编辑。该情况显示于图4B中,其中使用者通过在图4A中的文本选择310出现的短语“MY KEYS”上,键入字“MONKEYS”,进行编辑412。其结果是,文本成分314’“MONKEYS”代替文本成分314“MY KEYS”。其结果是,还以替换方式列表320’代替上述替换方式列表320,该列表320’仅仅包含1个替换方式,因为编辑完全是非随机的。一旦再次进行上述操作,则上述随机输入组合程序137将各个替换方式列表318’,320’和322的替换方式组合,以便生成文本选择310的替换方式列表430’。
在此方面,使用者可发现其打算替换文本选择310的替换方式414。如果这样,使用者可使该替换方式414变为高光亮状态,选择该替换方式414,在此场合,上述替换方式414代替文本选择310,从而生成新的文本416。
图5与图3类似,只是图5表示自然语言模型220是操作性的本发明的实施例。如图3所示,使用者进行文本选择310,该文本选择310由文本成分312,314和316形成。之后,上述随机输入组合程序137形成上述文本成分的替换方式的各种组合,以便生成上述文本选择310的临时的替换方式列表。然后,上述随机输入组合程序137将上述文本选择310的替换方式的临时列表传送给自然语言模型220,而不是显示所生成的最可能的替换方式。
接着,上述自然语言模型220对上述临时替换方式列表中的各种替换方式的概率进行重新评价,该列表是基于通过自然语言模型,作为整体,应用于文本选择310的自然语言规则得出的。该操作包括对上述文本选择中的文法的和其它语言线索的分析。上述自然语言模型220还可形成上述文本选择310的附加的替换方式,该附加的替换方式不在提供给自然语言模型220的临时替换方式列表中发现。上述自然语言模型220将下述修改的替换方式列表返回给随机输入组合程序137,该修改的替换方式列表是基于上述临时替换方式列表中的经重新评价的替换方式,以及其已生成的附加替换方式而得出的。之后,随机输入组合程序137选择在上述替换方式列表530中的排在顶层的替换方式。
由于上述自然语言模型的操作,与图3的替换方式列表330相比较,上述替换方式列表530的质量有希望更好。在此场合,使用者可在不必对文本选择310进行编辑的情况下,从替换方式列表530中,选择替换方式502。在图5所示的实例中,使用者生成下一文本选择504,以代替带有替换方式502的文本选择310。
典型的实施例的流程6为对源数据进行处理用的典型程序600中的步骤的流程图。该程序表示实现参照图3~5描述的本发明的实施例的步骤。该程序600首先进行步骤602,即字处理程序从多个输入源接收数据。输入源可为随机输入源,比如手写识别程序模块230,语音识别程序模块240,或输入方法编辑器250。输入源还可为非随机的,比如采用键盘140和鼠标142键入的数据。还有,上述源数据中的一些可来自在结构为串联的两个或多个随机输入源。如果数据是由在结构为串联的随机输入源生成的,则每个随机输入源可称为不同的输入源。
在字处理程序从多个输入源接收数据之后,在步骤604中,上述字处理程序将上述数据组合为多源文本串。这意味着上述字处理程序生成与上述源数据相对应的文本,从而上述字处理程序可将上述文本显示于监视器147上。此外,字处理程序生成数据结构,以便保持文本中的每个字的源的路径(track)。
在步骤606中,使用者可进行文本选择,其包括所显示的文本的一部分。该文本选择可包括来自多个输入源的文本。该使用者可通过,比如,下述方式,进行文本选择,该方式为在文本选择开始时,按压鼠标按钮,将鼠标推拽到所需文本选择的端部,接着释放鼠标按钮。最好,字处理程序将文本选择变为高光亮状态,以便显示所选择的内容。
在步骤608中,字处理程序接收文本选择的“显示替换方式”的命令。与此相对应,在步骤610中,该字处理程序确定多源文本选择的替换方式。
在步骤612中,上述字处理程序在监视器147上显示这些替换方式。最好,该字处理程序按照概率的顺序,通过下述图形用户界面,显示该替换方式,该界面使使用者从所显示的替换方式中,进行选择。上述图形用户界面可呈现于副窗口中,而使用者可左右移动该副窗口,以便露出由该副窗口挡住的文本。
在步骤614中,使用者对字处理程序发出命令。可能的命令的实例包括所显示的替换方式的选择,对该文本选择进行编辑的尝试,或通过下述方式,进行下一文本选择的尝试,该方式为按压鼠标按钮,将鼠标固定于文本选择的文本外侧的一点。
在步骤616中,上述字处理程序确定使用者是否选择了显示的替换方式。如果使用者选择了显示的替换方式,则进行步骤618,在该步骤中,字处理程序以所选择的替换方式代替上述文本选择。在步骤618之后,上述字处理程序中断在步骤624中替换方式的显示,然后在步骤626中,上述程序结束。在步骤626之后,可返回到步骤602,重复上述程序。
返回到步骤616,如果使用者未选择所显示的替换方式,则进行步骤620。在步骤620中,上述字处理程序确定使用者是否正在对文本选择中的文本进行编辑。如果使用者正在对上述文本选择中的文本进行编辑,则在步骤622中,上述字处理程序对该编辑进行处理。在该字处理程序完成上述编辑之后,上述程序跳回到步骤610,以便确定所编辑的文本选择的新的替换方式。
返回到步骤620,如果在步骤614接收的使用者命令不是文本选择中的编辑命令,则上述字处理程序进行步骤624。在此场合,上述使用者通过按压位于上述旧的文本选择的外侧的鼠标,产生新的文本选择。因此,在步骤624中,上述字处理程序中断替换方式的显示,之后,在步骤626中,上述程序结束。一旦再次进行,则可通过返回步骤602,反复进行上述程序。
图7具体表示图6的程序610中的步骤。该程序描述确定多源文本选择的替换方式的步骤。作为典型方式,随机输入组合程序进行该程序。该组合程序可为字处理程序中的程序模块,操作系统中的单独实用程序,或与字处理程序连接的单独的程序。
上述程序首先进行步骤702,在该步骤702中,随机输入组合程序将文本选择分解成源于不同的输入源的文本成分,进行分析。为此,上述随机输入组合程序对下述数据结构进行查看,该数据结构存储显示于监视器147中的文本串内的每个字的源。将上述文本选择分解为文本成分而进行分析,以更加可控的方式,进行确定文本选择的替换方式的处理。
本领域的普通技术人员应知道,文本成分的多个定义是可能的。采用不同于图7~9所示的实施例的定义要求不同的分解,分析步骤702,以及上面描述的程序的另一适合的改进形式。文本成分可为,比如,单个字。或文本成分可为下述短语,该短语由源于相同的输入源的字构成。在后一场合,由随机输入源生成的短语可为下述文本成分,其成分与插入上述短语的中间部的编辑不同。
图7~9表示下述实例,在该实例中,文本成分定义为由不同的输入源,或非相邻的一系列的随机输入源,与对上述文本成分进行了编辑处理的任何键入的文本一起生成的文本的最大单元。不为源于随机输入源的文本成分的编辑的键入的文本的单元视为其本身的文本成分。比如,将使用者在源于不同的随机输入源的文本成分之间插入的键入文本视为其本身的文本成分。
在步骤704中,上述随机输入组合程序检索源于随机输入源的每个文本成分的随机模型。在步骤706,上述随机输入组合程序确定随机模型是否为点阵。如果随机模型为点阵,则进行步骤708。
在步骤708中,上述随机输入组合程序将所有检索到的点阵连接成元点阵。为了形成元点阵,随机输入组合程序生成节点,以便包括下述键入的文本的任何键入的文本成分,该键入的文本未包含于随机输入源的文本成分中。在步骤710中,采用本领域的普通技术人员公知的点阵穿过(traversal)方法,上述随机输入组合程序穿过元点阵,从而生成文本选择的替换方式列表。在步骤710之后,转到步骤716,该步骤将是在对相对步骤706的“否”通路进行描述之后来描述。
返回到步骤706,如果在步骤704中的所有的检索到的随机模型不是点阵的,则上述随机输入组合程序进行步骤712。在此场合,至少一个随机模型为“n最佳”侯选项列表。于是,上述随机输入组合程序将每个点阵转化为“n最佳”侯选项列表。这样随机输入组合程序必须进行步骤714。
在步骤714中,上述随机输入组合程序将每个文本选择的“n最佳”侯选项列表,与键入的文本成分组合,以便生成文本选择的替换方式的组合式列表。该随机输入组合程序通过生成替换方式的所有可能的组合方式,完成该操作,而每个组合形式来自文本选择的每个“n最佳”侯选项列表。对于每个组合形式,上述随机输入组合程序按照在文本选择中文本成分呈现的顺序,排列文本选择的替换方式。所生成的所有排列的列表包括文本选择的替换方式列表。在步骤714之后,转换到步骤716。
一旦从步骤710或714转换到步骤716,则上述随机输入组合程序已生成文本选择的替换方式列表。步骤716为选择步骤,在该步骤中,自然语言模型处于操作状态。如果进行该步骤,则上述随机输入组合程序将文本选择的替换方式列表提供给自然语言模型。
如果进行选择步骤716,则还进行选择步骤718。在该步骤中,自然语言模型将排序的经修改的替换方式列表返回给随机输入组合程序。该修改的列表包括提供给自然语言模型的替换方式列表中的替换方式的概率的重新评价。该修改的列表还可包括上述自然语言模型所生成的文本选择的新的替换方式。上述自然语言模型采用自然语言规则,生成该修改的列表,该自然语言规则包括自然语言模型作为整体应用于文本选择的文法和其它语言的线索的分析。
在步骤720中,上述随机输入组合程序挑选用于显示的排在顶层的替换方式。如果进行选择步骤716和718,则上述随机输入组合程序从修改的列表中,选择这些替换方式,该修改的列表是从自然语言模型接收到的。如果不进行上述步骤716和718,则上述随机输入组合程序从由步骤710或步骤714生成的替换方式列表中,选择这些替换方式。在步骤720之后,上述程序在步骤722中,结束。
图8表示图7中的程序704的步骤。上述程序表示随机输入组合程序执行的下述步骤,以便对源于随机输入源的文本选择的每个文本成分的随机模型进行检索。上述程序首先进行步骤802,该步骤有效地形成处理每个文本成分的环路处理。在步骤802中,上述随机输入组合程序确定上述文本成分是否为随机文本成分。如果上述检索到的成分不是随机文本成分,则进行步骤806。在此场合,作为典型方式,上述文本成分包括采用键盘和鼠标键入的文本。由于上述文本成分不是随机的,故上述随机输入组合程序给文本成分指定100%的概率。之后,上述随机输入组合程序进行步骤818,该步骤不久将进行描述。
返回步骤804,如果上述随机输入组合程序确定在上述步骤802中检索到的文本成分是随机的,则上述随机输入组合程序进行步骤808。在步骤808中,上述随机输入组合程序确定上述文本成分是否由在结构上串联的随机模型生成。如果上述文本成分由一串随机输入源生成,则上述随机输入组合程序进行程序810,以便生成下述串行随机模型,该模型准确地表示由上述串联的多个输入源中的最后一个随机输入源产生的结果。在程序810之后,上述随机输入组合程序进行步骤812,同样,如果在步骤808中,上述随机输入组合程序确定在步骤802中检索到的文本成分不是由一系列随机模型生成,则进行步骤812。
在步骤812中,上述随机输入组合程序确定使用者是否采用键盘和鼠标对文本成分进行了编辑。如果对文本成分进行了编辑,则在步骤814中,上述随机输入组合程序更新相应的随机模型。如果上述随机模型为点阵,则对上述模型进行更新包括删除与从文本成分中删除的字相对应的任何节点。另外,上述随机输入组合程序必须添加文本成分内部的新字的节点。同样,如果上述随机模型为“n最佳”侯选项列表,则上述随机输入组合程序必须对列表中的每个替换方式进行更新,以便删除从文本成分中删除的字,并且添加插入到文本成分中的字。
在步骤814之后,上述随机输入组合程序进行步骤816。如果其在步骤812中,确定使用者未对文本成分进行编辑,则上述随机输入组合程序还进行步骤816。在步骤816中,上述随机输入组合程序对在步骤802中选择的文本成分的随机模型结果进行检索。如果该文本成分是由一系列随机模型生成的,则所检索到随机模型为在步骤810中生成的串行随机模型,或如果已对文本成分进行了编辑,则为在步骤814中更新的串行随机模型。上述检索到的随机模型可为点阵或“n最佳”侯选项列表。上述检索到的随机模型仅仅需要包含与所选择的文本成分有关的信息,从而上述随机输入组合程序可从包括文本成分的文本选择的较大的随机模型中,检索随机模型。
步骤802中所选择的文本成分可由随机输入生成,但是表示上述文本成分的替换方式的随机模型可能无法获得。在此场合,可按照与非随机文本成分相同的方式,对上述文本成分进行处理。换言之,上述随机输入组合程序为文本成分的已知替换方式,指定100%的概率。在步骤816之后,上述随机输入组合程序进行步骤818。
上述步骤818可在步骤816或步骤806之后进行。在该步骤中,上述随机输入组合程序确定是否在待处理的文本选择中,具有任何更多的文本成分。如果具有任何更多的文本成分,则上述程序跳到步骤802,从而上述随机输入组合程序可获得下一文本成分,并对其进行处理。
当在步骤818中没有更多的待处理的文本成分时,则上述随机输入组合程序有选择地进行涉及自然语言模型的步骤820。在此步骤,上述随机输入组合程序将针对文本成分检索到的每个随机模型传送给自然语言模型。上述自然语言模型将自然语言规则应用于文本成分,并且将它们返回给随机输入组合程序。由于在步骤820中,自然语言模型在相应的文本成分上进行操作,而不在整个文本选择上进行操作,故可进行步骤820,而不进行步骤716和718,或者同时进行该步骤716和718。在步骤820之后,上述程序在步骤822中结束。
图9表示图8中的程序810的步骤。该程序表示下述步骤,该步骤由上述随机输入组合程序执行,以便生成由串联的随机输入源生成的文本成分的串行随机模型。
上述程序810首先进行步骤902,该步骤有效地开始依次地对除了串联的多个随机输入组合程序中的最后一个以外的,每个随机输入组合程序进行处理的环路处理。第1次,随机输入组合程序进行步骤902,该随机输入组合程序选择第1随机输入源。其为接收最终生成文本成分的使用者的输入的随机输入源。
由于随机输入源生成多个替换方式结果,故第1随机输入源生成送入到上述串联的多个随机输入源中的第2随机输入源中的输入的多个侯选项。如果上述随机输入组合程序第1次不进行步骤902,则上述随机输入组合程序针对在步骤902中选择的上述随机输入源,在步骤914中生成汇总的侯选项列表(不久将进行描述)。在后一场合,上述汇总的侯选项列表包括与上述所选择的随机输入源相对应的替换方式,该替换方式将作为送入串联的多个随机输入源中的后一随机输入源中的输入。步骤904有选择地开始下述环路处理,该环路处理用于对与上述所选择的随机输入源相对应的所有侯选项进行处理。在步骤904,上述随机输入组合程序对所选择的输入源的侯选项的一个进行检索。
在步骤906中,上述随机输入组合程序将在步骤904中所检索到的侯选项作为下述输入提供,该输入指送入到上述串联的输入源中的后一随机输入源中的输入。将该侯选项输入到后一随机输入源中会产生随机结果,因为该后一源也是随机的。该随机输入组合程序对该随机结果进行检索。
在步骤908中,上述随机输入组合程序确定在步骤906中所检索到的随机结果是否为点阵。如果在步骤906中使检索到的随机结果不是点阵,则其为排序的侯选项列表,进行步骤912(不久将进行描述)。如果在步骤906中所检索到的随机结果为点阵,则上述随机输入组合程序必须将该点阵转化为替换方式的侯选项列表,其中每个替换方式具有相应的概率。在步骤910中,进行上述操作,之后转到步骤912。
在步骤912中,上述随机输入组合程序确定是否具有所选择的源的另一侯选项。如果具有所选择的源的另一侯选项,则上述程序跳回到步骤904,从而上述随机输入组合程序可获得下一侯选项。如果没有所选择的源的另一侯选项,则进行步骤914。
在步骤914中,上述随机输入组合程序将来自在步骤902中所选择的输入源的侯选项,作为送入上述串联的多个输入源中的后一随机输入源中的输入而生成的所有侯选项列表进行组合。该组合构成后一随机输入源的汇总侯选项列表。上述随机输入组合程序通过下述方式,形成汇总的侯选项列表,该方式为对正在组合的侯选项列表中的每个独特的侯选项,进行一次输入。之后,上述随机输入组合程序通过下述方式,对上述汇总的替换方式列表中的每个替换方式的概率进行计算,该方式为将指定给正在组合的侯选项列表的每个中的替换方式所有概率相加。上述随机输入组合程序将每个计算的概率分配给相应的替换方式。
在步骤916中,上述随机输入组合程序确定在目前什么是后一源之后,是否在上述串联的多个输入源中,具有另一源。如果在该串联的输入源中具有另一源,则在步骤902中,上述随机输入组合程序选择目前什么是后一源,在什么是后一源之后的下一源构成该后一源。在此方面,随机输入组合程序从所选择的输入源的汇总侯选项列表中,选择侯选项作为送入该后一随机输入源的输入。
返回到步骤916,如果在后一源之后,在串联的多个输入源中没有另一源,则在步骤918中,上述程序结束。选择在步骤914中最新生成的上述汇总列表的侯选项列表作为串行随机模型。
图10为表示源数据处理程序中的另一实施例1000的典型步骤的逻辑流程图。一般,上述程序用于自动地对对应于使用者的文本选择而纠错的文本的单元进行调节。
程序1000首先进行步骤1005。在该步骤中,上述字处理程序210从使用者接收使用者打算纠错的文本选择。该使用者可通过下述方式,指定文本选择,该方式为通过鼠标142,选择包括文本选择的字组或字。作为替换方式,上述使用者可通过鼠标142,指定由单个字构成的文本选择,以便使插入点位于上述字中,或与其相邻。之后,上述字处理程序210可将该文本选择,提供给随机输入组合程序137,以便确定纠错替换方式。
在步骤1010中,上述随机输入组合程序137将文本选择提供给纠错范围模型,以便确定是否应当对纠错的范围进行调整。作为调整方式,调节纠错的范围涉及确认下述文本单元,与仅仅文本选择的场合相比较,该文本单元将更好的文本纠错替换方式提供给使用者。比如,该文本选择可不包括还具有可与文本选择一起纠错的邻近的词。与使用者的文本选择相邻的字中的上述错误经常是可确认的,因为它们涉及该文本选择中的错误。
于是,通过纠错范围模型确认的文本单元可包括文本选择加上一个或多个相邻的字。纠错范围模型可确认多个文本单元,而不仅仅确认可纠错的单个文本单元,而上述多个文本单元中的每个可能产生文本选择的良好的替换方式。
在步骤1015中,上述随机输入组合程序137从纠错范围模型接收下述文本单元的列表,而该列表中的纠错替换方式应当提供给使用者。如果上述纠错范围模型确认纠错的范围不需要调整,则文本单元列表仅仅包括文本选择。如果上述纠错范围模型确认仅仅一个纠错的文本单元,则文本单元表只需包括一个文本单元。
上述步骤1020有效的开始进行环路处理,该处理用于对在文本单元列表中确认的每个文本单元进行处理,而在步骤1015,上述纠错范围模型将该列表返回给随机输入组合程序137。在步骤1020中,上述组合程序137选择用于处理的文本单元。在步骤1025中,上述组合程序137进行图7中的程序的步骤,以便确定所选择的文本单元的替换方式。应知道,当上述组合程序137通过进行图7中所描述的步骤,进行程序1025时,图7中所采用的“文本选择”称为所选择的文本单元。
在步骤1030中,上述随机输入组合程序137确定是否具有待处理的任何的较多的文本单元。如果具有较多的文本单元,则上述程序沿“是”分支,跳回到步骤1020,以便对下一文本单元进行处理。如果没有较多的文本单元,使上述“否”分支转到步骤1035。
在步骤1035中,上述随机输入组合程序137将每个纠错替换方式和其相应的文本单元,提供给字处理程序210以便进行显示。该字处理程序210可以任何的适合方式,显示这些替换方式。如果不调节纠错范围,则可按照参照图6进行的描述那样,显示该替换方式。如果上述组合程序137将纠错的范围扩大到单个的文本单元,则上述字处理程序137可使下述文本中的附加字变为高光亮状态,而上述纠错的范围以不同于用于使文本选择变为高光亮状态的颜色,扩大到该文本,并且象针对图7所描述的那样,上述字处理程序可在典型的图形用户界面中,显示文本单元的替换方式。
假定上述纠错范围模型确认纠错用的多个文本单元。在此场合,上述字处理程序210可向使用者提供替换方式的菜单,并且确认每个替换方式的相应的文本单元。
在上述字处理程序210通过图形用户界面,向使用者提供纠错替换方式之后,在步骤1040中,上述程序结束。之后,上述字处理程序210可象针对图6所描述的那样,处理使用者对替换方式做出的响应。
结论对于本领域的普通技术人员来说,在不脱离本发明的实质和请求保护范围的情况下,举例性的实施例所涉及的其它的替换实施例是显然的。因此,本发明的请求范围由后面的权利要求书,而非前面的描述确定。
权利要求
1.一种用于对文本进行纠错的通过计算机实现的方法,该方法包括下述步骤接收文本选择,该文本选择包括多个从不同的输入源生成的文本成分;上述文本成分中的至少一个包括随机文本成分,该随机文本成分由一个随机输入源,或一系列随机输入源生成;接收显示上述文本选择的替换方式的命令;将该文本选择分解为文本成分,进行分析;从相应的随机输入源或一系列输入源中检索出随机文本成分用的随机模型;将上述随机模型,与另一文本成分组合,以便生成上述文本选择的替换方式列表;在显示设备上显示上述文本选择的替换方式列表。
2.根据权利要求1所述的方法,其特征在于该方法还包括下述步骤接收对所显示的替换方式中的一个进行选择的使用者命令;以所选择的替换方式,代替上述文本选择。
3.根据权利要求1所述的方法,其特征在于该方法还包括下述步骤接收对上述文本进行的编辑;生成经编辑的文本选择的修改的替换方式列表;显示上述经编辑的文本选择的修改的替换方式列表。
4.根据权利要求1所述的方法,其特征在于该方法还包括下述步骤接收对上述随机文本成分中的一个进行的编辑;从相应的随机输入源或一系列输入源中检索出经编辑随机文本成分用的修改的随机模型;将上述修改的随机模型与和上述文本选择相对应的另一随机模型进行组合,以便生成经编辑的文本选择的修改的替换方式列表;显示上述经编辑的文本选择的修改的替换方式列表。
5.根据权利要求1所述的方法,其特征在于上述文本选择包括选自下述一组程序中的应用程序内部的文件中的文本的一部分,该组程序包括字处理程序,电子表格,浏览程序,电子邮件程序,音乐改编程序,CAD程序,演示程序,以及操作系统。
6.根据权利要求1所述的方法,其特征在于显示文本选择的替换方式的步骤包括下述步骤按照概率的顺序,对文本选择的替换方式进行排序;在显示设备上,按照相应的排序,显示替换方式。
7.根据权利要求6所述的方法,其特征在于按照相应的排序,显示替换方式的步骤包括下述步骤选择预定数量的排序最高位置的替换方式;在显示设备上,按照相应的排序,显示所选择的替换方式。
8.根据权利要求1所述的方法,其特征在于上述文本选择包括多个随机文本成分,将随机模型组合的步骤包括下述步骤将每个随机文本成分的随机模型组合,以便生成上述文本选择的临时的替换方式列表;将替换方式的临时列表提供给自然语言模型;从上述自然语言模型,接收上述文本选择的修改的替换方式列表,上述修改的替换方式列表包括根据通过自然语言模型作为整体,应用于文本选择的自然语言规则,对临时的替换方式列表的重新评价;将修改的替换方式列表作为上述文本选择的替换方式的列表显示。
9.根据权利要求8所述的方法,其特征在于上述修改的替换方式列表还包括附加的替换方式,附加的替换方式由自然语言模型生成,该附加的替换方式在提供给自然语言模型的临时的替换方式列表中未发现。
10.根据权利要求8所述的方法,其特征在于其包括下述步骤即为一个或多个随机文本成分,向自然语言模型提供检索到的随机模型,用于在基于自然语言规则上的重新评价。
11.根据权利要求8所述的方法,其特征在于还包括下述步骤即为每一个随机文本成分,向自然语言模型提供随机模型,用于生成修改的替换方式列表。
12.根据权利要求1所述的方法,其特征在于上述文本选择包括多个随机文本成分,上述文本成分的随机模型包括点阵,并且其中将上述随机模型组合以便生成文本选择的替换方式列表的步骤还包括下述步骤将上述点阵连接成元点阵,该元点阵包括与由非随机源生成的任何文本成分有关的信息;根据上述元点阵,生成上述文本选择的替换方式列表。
13.根据权利要求1所述的方法,其特征在于上述文本选择包括多个随机文本成分,上述随机模型中的一个包括“n最佳”侯选项列表,另一随机模型包括点阵,并且其中将随机模型组合以便生成上述文本选择的替换方式列表的步骤还包括下述步骤生成对应于上述点阵的“n最佳”侯选项列表;通过将上述文本成分的“n最佳”侯选项列表组合,生成文本选择的替换方式列表。
14.根据权利要求1所述的方法,其特征在于对源于随机输入源的文本成分的随机模型进行检索的步骤还包括下述步骤确定上述文本成分是否由串联的随机输入源生成;如果上述文本成分由串联的随机输入源生成,通过将上述一系列随机输入源中的每个随机模型组合的方式,生成串行随机模型;检索出将串行随机模型作为文本选择的随机模型。
15.根据权利要求1所述的方法,其特征在于对来自相应的随机输入源或一系列输入源的随机文本成分的随机模型进行检索的步骤包括下述步骤接收送入一系列随机输入源中的第1随机输入源中的使用者输入;选择随机结果,该随机结果包括由多个第1随机输入源生成的替换方式;通过下述方式,生成一系列随机输入源中的第2随机输入源的多个随机结果,该方式为将由第1随机输入源生成的随机结果中的每个替换方式作为下述输入,该输入送入第2随机输入源中,以便生成第2随机输入源的随机结果;如果第2随机输入源的任何随机结果未包括“n最佳”替换方式列表,则将上述随机结果转化为“n最佳”替换方式列表;将第2随机输入源的随机结果组合,以便生成第2随机输入源的汇总的替换方式列表。
16.根据权利要求15所述的方法,其特征在于将第2随机输入源的多个随机结果组合,以便生成第2随机输入源的汇总的替换方式列表的步骤还包括下述步骤在每个独特的替换方式的汇总的替换方式列表中,进行一次输入,上述每个独特的替换方式出现于第2随机输入源的多个随机结果中;通过下述方式,对上述汇总的替换方式列表中的每个替换方式的概率进行计算,该方式为将指定给第2随机输入源的多个随机结果中的替换方式的所有概率进行累加;将每个计算的概率指定给相应的替换方式。
17.一种计算机可读取的介质,其包括实现权利要求1所述的方法的计算机可执行的指令。
18.一种计算机,其用于执行权利要求1所述的方法。
19.一种计算机可读取的介质,其包括实现权利要求16所述的方法的计算机可执行的指令。
20.一种计算机,其用于实现权利要求16所述的方法。
21.一种用于对文本进行纠错的通过计算机实现的方法,该方法包括下述步骤从使用者处接收文本选择;接收显示上述文本选择的替换方式的命令;将该文本选择提供给纠错范围模型,以便确定是否应当对纠错范围进行调整;从纠错范围模型,接收包括文本选择和至少一个相邻的字的文本单元;生成文本单元的替换方式列表;在显示设备上,显示文本单元的替换方式列表。
22.根据权利要求21所述的方法,其特征在于该方法还包括下述步骤接收用来选择所显示的替换方式中的一个的使用者命令;以所选择的替换方式代替上述文本单元。
23.根据权利要求21所述的方法,其特征在于由于有关的错误,上述相邻的字是错误的,该有关的错误使文本选择内部的字不正确。
24.根据权利要求21所述的方法,其特征在于上述纠错范围模型包括选自下述一组模型的准则,该组模型包括自然语言模型,可能的错误模型,声音模型,手写模型,以视觉为基础的模型。
25.根据权利要求21所述的方法,其特征在于生成文本单元的替换方式列表的步骤还包括下述步骤将文本单元分解为由不同的输入源生成的文本成分,进行分析;确定文本成分中的一个是否包括随机文本成分;如果这一个文本成分包括随机文本成分,则为该随机文本成分检索出随机模型;将该随机模型与另一文本成分组合,以便生成文本单元的替换方式列表。
26.一种计算机可读取的介质,其包括实现权利要求21所述的方法的计算机可执行的指令。
27.一种计算机,其用于实现权利要求25所述的方法。
全文摘要
一种用于提供随机输入源生成的文本的替换方式的方法和系统,提供文本选择的文本成分构成的数据结果,用作送入输入方法编辑器的输入。为了确定上述文本选择的替换方式,随机输入组合程序将上述文本选择分解为来自不同的输入源的文本成分,进行分析。如果该随机文本成分为一系列随机输入源的结果,则组合程序生成反应一系列输入源的结果的概率随机模型。组合程序通过将所检索到的随机模型进行组合,生成文本选择的替换方式列表提供给使用者,则字处理程序以所选择的候选项,代替上述文本选择。
文档编号G10L15/22GK1290901SQ0013056
公开日2001年4月11日 申请日期2000年10月5日 优先权日1999年10月5日
发明者杰弗里·C·雷纳, 埃里克·拉克, 保罗·基扬·万·金 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1