专利名称:在输入法中提供候选整句的方法及文字输入系统的制作方法
技术领域:
本发明涉及输入技术领域,具体的特别涉及一种在输入法中提供候选整句的方法及文字输入系统。
背景技术:
电脑使用者要将汉字输入到电脑,就需要使用中文输入软件。中文输入软件是运行在操作系统上的一个工具软件,该软件是把键盘输入的编码或其它非键盘输入的媒体数据转换成汉字的输入软件。当前比较成熟且使用最广的是基于键盘的中文输入软件。
1)键盘中文输入软件键盘中文输入软件就是利用键盘,根据一定的编码规则来输入汉字的一种方法。
英文字母只有26个,它们对应着键盘上的26个字母,所以,对于输入的英文而言不存在什么输入软件,直接输入英文字母就可以。而汉字的字数有几万个,它们和键盘上的字母是没有任何对应关系的,但为了向电脑中输入汉字,我们必须对汉字进行编码,并将这些编码与键盘上的键联系起来,这样我们才能通过键盘输入某个汉字的编码,然后根据编码转换成汉字。
目前,汉字编码方案已经有数百种,其中在电脑上已经运行的就有几十种,作为一种图形文字,汉字是由字的音、形、义来共同表达的,汉字输入的编码方法,基本上都是采用将音、形、义与特定的键相联系,再根据不同汉字进行组合来完成汉字的输入的。
2)非键盘中文输入软件非键盘中文输入软件包括手写输入软件、语音输入软件等。
手写输入软件是一种笔式环境下的手写中文识别输入软件,符合中国人用笔写字的习惯,只要在手写板上按平常的习惯写字,电脑就能将其识别显示出来。手写输入软件需要配套的硬件手写板,在配套的手写板上用笔(可以是任何类型的硬笔)来书写录入汉字,不仅方便、快捷,而且错字率也比较低。用鼠标在指定区域内也可以写出字来,然后使用手写软件转换成汉字,只是鼠标操作要求非常熟练。
语音输入软件是通过话筒输入声音,然后将声音转换成文字的一种输入软件。虽然使用起来很方便,但错字率仍然比较高,特别是一些未经训练的专业名词以及生僻字。语音输入法在硬件方面要求电脑必须配备能进行正常录音的声卡,然后调试好麦克风,使用者可以对着麦克风用普通话语音进行文字录入。如果使用者的普通话不标准,则使用者只要用该语音输入软件提供的语音训练程序,进行一段时间的训练,让它熟悉使用者的口音,也同样可以通过讲话来实现文字输入。
无论采用上述哪种输入软件,在进行中文输入的时候都有输入并显示整句的需求。为了实现整句的输入,现有比较常用的整句生成算法是最大概率法,应用该方法在输出时只能提供一个候选整句,这里候选整句是指对于用户输入的长度较长的拼音串,通过智能组词算法组合出来的整句候选结果,一般位于候选输出窗口的第一位,但是通常这个根据最大概率法计算出来的候选整句未必是用户所需要的,下面以拼音输入法为例对现有的整句输入进行详细说明。
在拼音输入法中,一个汉语拼音串可以对应多个候选词,如键入“dajia”这个拼音串时对应的候选词如下所示1、大家;2、打架;3、大甲;4、打假;5、大加由此可见,拼音输入法带有一定的不确定性,即输出的第一个候选结果不一定是用户想要的结果。因此为了提高用户的输入体验,在设计输入法软件时需要为待输入的候选词进行一个合理的排序,通常的做法是按照词频进行排序,这里“词频”是指相同音节的词在输入过程中出现的频率大小,如上面所示的候选词示例中从“大家”到“大加”,词频逐渐减小。
现有整句生成中应用的最大概率法的基本原理是在用户输入的一串拼音串中,存在着多种候选词语的组合方式,我们首先找到这个拼音串中出现的所有候选词,然后在这些候选词的组合中找到一个概率最大的组合方式作为最后的整句输出结果。例如,当我们输入“womendoushipingfanren”这个拼音串后,首先经过音节划分(输入法软件处理的第一个步骤)后的音节序列为“wo’men’dou’shi’ping’fan’ren”;根据这个音节序列,我们可以构造如图1所示候选词示意图,图中每一条弧线代表一个字或由字组成的词,程序内部本身有一个拼音串到候选词序列的映射表,即拼音词典。从图1中可以看出每一条弧线都对应着一个或多个候选字或候选词,这些候选字或候选词按照词频的高低从上到下排列,并且每一条弧线都带有词频信息,这里词频信息是指拼音串对应的所有候选字或候选词中词频最大的字或词的词频,如图1中每一列字或词的第一行。由于目前的拼音输入法中,只给用户提供一个候选整句信息,因此只有词频最高的词才有效,即词频排在第二位以后的字或词,如窝、门、斗士等不会在最后的输出候选整句结果中出现。由此可以将图1简化为如图2所示的候选词示意图的简化图,在图2中根据带有的词频信息,利用两点间最短路径算法,如Dijkstra算法、Viterbi算法等,求出概率最大的一条路径(即词组合成句的方案)作为最后的整句预测结果,在图2中以虚线标出,并且在输出窗口的第一位输出,如下所示1、我们都是平凡人;2、我们;3、我;4、握;5、窝应用现有技术中的拼音输入法输入整句时,由于每次输入仅返回输出一个候选整句,而该候选整句未必是用户想要得到的最终结果,例如,当用户想要输出“卧室很大”这个短句时,输出的结果显示为“1、我是很大;2、我是;3、我市;4、卧室;5、卧式”,用户想要得到“卧室很大”这个短句时,必须通过操作键盘上的其它键选择相应的词语,再通过词语的组合最终得到需要的短句,因此操作起来十分复杂,不利于用户得到想要的输出结果,在输入过程中浪费了大量时间,影响了用户的输入输出体验。
发明内容
本发明的目的在于提供一种在输入法中提供候选整句的方法,以克服现有技术中在输入整句时仅能返回一个候选整句,导致了用户要选择需要的整句就必须进行复杂操作,从而影响了用户的输入输出体验的问题。
本发明的另一目的在于提供一种文字输入系统,以克服现有技术中的输入系统在用户输入整句时仅能提供一个候选整句,导致用户输入输出体验降低的问题。
为解决上述技术问题,本发明提供如下技术方案一种在输入法中提供候选整句的方法,该方法包括接收输入整句的拼音串,并在对该拼音串进行音节划分后得到候选词;利用所述候选词组合得到多个候选整句后输出所述候选整句。
所述组合得到多个候选整句为组合得到所有候选整句;所述输出候选整句具体为从所述所有候选整句中选择与需要输出的数目相等的候选整句进行输出。
所述组合得到多个候选整句为组合得到与需要输出的数目相等的候选整句;所述输出候选整句具体为将所述组合得到的候选整句进行输出。
所述利用候选词组合得到多个候选整句具体为利用两点间最短路径算法生成由所述候选词组合成的按使用概率由大到小排列的多个候选整句,所述两点间最短路径算法为Dijkstra算法,或Viterbi算法。
所述方法进一步包括设置需要同时输出的候选整句的数目;所述输出候选整句具体为输出与所述设置的数目相等的候选整句。
所述方法进一步包括触发候选整句显示功能对所述输出的候选整句进行显示。
所述触发显示功能为触发下拉显示功能;所述显示为在显示窗口的下拉菜单中显示;和/或所述触发显示功能为触发滚动显示功能;所述显示为在显示窗口的滚动菜单中显示;和/或所述触发显示功能为触发平行排列显示功能;所述显示为在显示窗口中平行排列显示。
一种文字输入系统,包括接收单元,用于接收输入整句的拼音串,并对该拼音串进行音节划分后得到候选词;生成单元,用于利用所述接收单元的候选词组合得到多个候选整句;输出单元,用于输出所述候选整句。
所述生成单元为随机生成单元,用于利用所述接收单元的候选词组合得到所有候选整句;所述输出单元从所述所有候选整句中选择与需要输出的数目相等的候选整句进行输出。
所述生成单元为预设生成单元,用于利用所述接收单元的候选词组合得到与需要输出的数目相等的候选整句;所述输出单元将所述组合得到的候选整句进行输出。
所述系统进一步包括设置单元,用于设置需要同时输出的候选整句的数目;所述输出单元输出与所述设置的数目相等的候选整句。
所述系统进一步包括显示单元,用于触发候选整句显示功能对所述输出的候选整句进行显示。
由以上本发明提供的技术方案可见,本发明通过接收输入的拼音串,并在对该拼音串进行音节划分后得到候选词,最后利用候选词组合得到多个候选整句后输出得到的候选整句。进一步的,本发明还可以设置需要同时输出的候选整句的数目,根据该设置输出与设置数目相等的候选整句。本发明为用户输入时提供了多个整句候选结果,极大地增加了整句预测正确的概率,使用户无需通过更多的键盘操作,就可以在候选窗口输出的多个结果中选择正确的一个,极大降低了用户操作键盘选词组句的时间,为用户提供更加完美的输入输出体验,提高了文字输入的效率。
图1为现有候选词示意图;图2为现有基于图1的候选词简化图;图3为本发明方法的第一实施例流程图;图4为本发明方法的第二实施例流程图;图5为本发明方法的第三实施例流程图;图6为本发明方法第三实施例的候选词示意图;图7为本发明方法第三实施例的结果输出示意图;图8为本发明方法的第四实施例流程图;图9为本发明系统的第一实施例框图;图10为本发明系统的第二实施例框图;图11为本发明系统的第三实施例框图。
具体实施例方式
本发明的核心是提供一种在输入法中提供候选整句的方法,该方法通过接收输入的拼音串,并在对该拼音串进行音节划分后得到候选词,利用候选词组合得到多个候选整句后输出这些候选整句,使用户可以从中选择待输出的整句,极大的提高了用户的输入输出体验。
为了使本技术领域的人员更好地理解本发明方案,并使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式
对本发明作进一步详细的说明。
本发明方法的第一实施例流程如图3所示
步骤301接收输入整句的拼音串,并对该拼音串进行音节划分后得到候选词。
对拼音串进行音节划分后的结果,存在着多种由单字组合成候选词的组合方式,这些候选词的组合构成了一个候选词图,该候选词图中的每个候选词音节也对应了多个候选词,这些候选词通常按照用户的使用概率由大到小进行排列。
步骤302利用候选词组合得到多个候选整句后输出候选整句。
具体的,可以利用两点间最短路径算法生成由候选词组合成的按使用概率由大到小排列的所有候选整句;或者利用两点间最短路径算法生成由候选词组合成的按使用概率由大到小排列的与需要输出的数目相等的候选整句。
其中,两点间最短路径算法可以为Dijkstra算法,或Viterbi算法。
具体的,当组合得到所有候选整句时则从所有的候选整句中选择与需要输出的数目相等的候选整句进行输出;当组合得到与需要输出的数目相等的候选整句时则直接将组合得到的候选整句进行输出。
进一步地,可以设置需要同时输出的候选整句的数目,这里用户可以在输入法的设置窗口中对输出方案进行预先设置,具体的,可以设置输入法软件在输出时的最大候选整句的个数,该候选整句的个数为整数。
进一步地,可以在输出候选整句的同时触发候选整句显示功能对输出的候选整句进行显示。具体的,显示方式可以分为以下三种,当触发下拉显示功能时,多个候选整句在显示窗口中输出并通过下拉菜单的方式按照使用概率从大到小排列显示;或者当触发滚动显示功能时,候选整句在显示窗口中输出并通过菜单滚动的方式按照使用概率从大到小排列显示;或者当触发平行显示功能时,候选整句在显示窗口中输出并通过平行排列的方式按照使用概率从大到小排列显示。
本发明方法的第二实施例流程如图4所示,该实施例示出了通过候选词组合得到所有候选整句,并输出与需要输出的数目相等的候选整句的实施例流程,这里假设需要输出的数目为2
步骤401接收输入整句的拼音串。
步骤402对接收到的输入整句的拼音串进行音节划分。
在用户输入的一串拼音串中,每一个音节都对应了多个单字,这些单字按照用户的使用概率由大到小排列。
例如,当输入“womendoushizhongguoren”这个拼音串后,经过音节划分后的序列为“wo’men’dou’shi’zhong’guo’ren”,以音节“wo”为例,其对应的单字按照使用概率排列即为“‘我’、‘握’、‘窝’”(这里仅按使用概率显示了三个单字,实际该音节应对应多个单字)。
步骤403根据音节划分结果得到候选词。
对应步骤402中对拼音串进行音节划分后的结果,存在着多种由单字组合成候选词的组合方式,这些候选词的组合构成了一个候选词图,该候选词图中的每个候选词音节也对应了多个候选词,这些候选词也按照用户的使用概率由大到小排列。
例如,对于输入的“womendoushizhongguoren”这个拼音串,以其中的候选词音节“zhongguo”为例,其对应的候选词按照使用概率排列即为“‘中国’、‘种果(这里仅按使用概率显示了二个候选词,实际有些候选词音节可以对应两个以上的候选词)。
步骤404利用候选词组合得到所有候选整句。
根据步骤403得到的候选词,对所有的候选词利用两点间最短路径算法,如Dijkstra算法、Viterbi算法等,求出按照概率由大到小排列的若干条路径,求出的若干条路径即为由候选词组合而成的所有候选整句。
例如,对于输入的“womendoushizhongguoren”这个拼音串,则最后得到的所有候选整句按照使用概率由大到小排列即为“我们都是中国人”、“我们都是种果人”。
步骤405输出与需要输出的数目相等的候选整句。
从步骤404中得到的所有候选整句中选择与需要输出的数目相等的候选整句进行输出。
步骤406触发候选整句显示功能对输出的候选整句进行显示。
当候选整句通过点击下拉菜单按钮,按照使用的概率从大到小显示时,可以通过设置一个下拉菜单按钮,当鼠标或键盘操作选中该按钮时即触发了下拉显示功能,候选整句即按照使用的概率在下拉菜单中纵向排列以供用户选择。
当候选整句通过点击滚动按钮方式,按照使用的概率从大到小显示时,也可以通过设置一个滚动按钮,最初显示的是使用概率最大的候选整句,当鼠标或键盘操作点击该滚动按钮时即触发了滚动显示功能,则按照使用概率由大到小的顺序,显示下一条候选整句,直到用户得到需要的输入整句。
当候选整句通过平行排列的方式,按照使用的概率从大到小显示时,与现有显示候选词的方式一致,所有候选整句按照使用概率由大到小的顺序依次排列在候选窗口中,用户可以一次看到全部的候选整句,并通过选择候选整句对应的序号,得到需要的输入整句。
例如,对于输入的“womendoushizhongguoren”这个拼音串,按照平行排列的方式显示时即为1、我们都是中国人;2、我们都是种果人;3、我们;4、我;5、握若用户需要输入的整句为“我们都是种果人”,则在输出的窗口中直接选择“2”即可得到想要的结果。
本发明方法的第三实施例流程图如图5所示,该实施例示出了通过候选词组合得到与需要输出的数目相等的候选整句的实施例流程,这里需要输出的数目假设为3,并且特别以用户想要输出“卧室很大”为例,对该流程进行了详细的描述。
步骤501接收输入整句的拼音串“woshihenda”。
用户想要输入的整句为“卧室很大”,对应在中文输入法的输入界面中输入该整句对应的拼音串“woshihenda”,系统接收该拼音串。
步骤502对拼音串“woshihenda”进行音节划分。
具体的,将“woshihenda”这个拼音串进行音节划分后,得到的音节序列为“wo’shi’hen’da”,以每个音节对应两个或者三个单字为例,则音节“wo”对应的单字按照使用概率排列为“我”、“握”、“窝”;音节“shi”对应的单字按照使用概率排列为“是”、“时”、“市”;音节“hen”对应的单字按照使用概率排列为“很”、“狠”;音节“da”对应的单字按照使用概率排列为“大”、“打”。
步骤503根据对“woshihenda”的音节划分结果得到候选词。
根据音节划分结果建立的候选词示意图如图6所示,图6中每一条弧线对应一个字或词,程序内部本身有一个拼音串到候选词序列的映射表,即拼音词典。从图6中可以看出每一条弧线都对应着一个候选字或候选词,对于同一音节的候选字或候选词,通过弧线的弧度大小对应候选字或候选词的使用概率大小,以图6中的音节“woshi”为例,由于该音节对应的候选词中“我是”的使用概率大于“卧室”,因此与“我是”对应的弧线弧度小于“卧室”对应的弧线弧度,“卧室”对应的弧线弧度小于“我市”对应的弧线弧度,实际的生成候选词图过程中不必显示具体的候选词,而是在每一条弧线上都带有相应的词频信息。
步骤504根据候选词组合得到与“woshihenda”对应的三个候选整句。
根据图6所示的候选词示意图,利用两点间最短路径算法,如Dijkstra算法或Viterbi算法,生成按照使用概率排列的三个候选整句结果,生成的三个候选整句按照使用概率由大到小排列即为“我是很大”、“卧室很大”以及“我市很大”。
步骤505将三个候选整句输出并以下拉菜单的方式显示。
假设系统触发的显示方式为以下拉菜单的方式显示候选整句,则输出的三个候选整句的显示示意图如图7所示,在该显示界面中,第一个候选结果的末尾处有一个下拉菜单按钮,初始显示时仅显示一个使用概率最大的候选整句,即“我是很大”,但用户需要的输入整句为“卧室很大”,则用户只需要通过鼠标或键盘操作点击下拉菜单按钮触发下拉显示功能,此时输出界面中按照三个候选整句的使用概率由大到小纵向排列,用户通过鼠标选择,或者通过键盘上的“↑”键或“↓”移动光标,当光标移动到待选整句上时,键按空格键或“Enter”键就可以得到需要输入的候选整句“卧室很大”。
本发明方法的第四实施例流程如图8所示,该实施例示出了预先设置需要输出的候选整句的数目的实施例流程步骤801设置需要同时输出的候选整句的数目。
由于现有输入法中仅能为用户提供一个输出的候选整句,但该候选整句不一定是用户需要输入的整句,因此为了能够一次选择到需要的整句,可以初始时在输入法的设置窗口中预设一个输出的最大候选整句的个数,根据生成候选整句的概率该数目通常设置为2或3。
步骤802接收输入整句的拼音串,并对该拼音串进行音节划分后得到候选词。
步骤803利用候选词组合得到多个候选整句,输出与设置的数目相等的候选整句。
本发明系统的第一实施例框图如图9所示该文字输入系统包括接收单元S1,用于接收输入整句的拼音串,并对该拼音串进行音节划分后得到候选词;随机生成单元S2,用于利用接收单元的候选词组合得到所有候选整句;输出单元S3,用于从所有候选整句中选择与需要输出的数目相等的候选整句进行输出。
本发明系统的第二实施例框图如图10所示该文字输入系统包括接收单元S4,用于接收输入整句的拼音串,并对该拼音串进行音节划分后得到候选词;预设生成单元S5,用于利用接收单元的候选词组合得到与需要输出的数目相等的候选整句;输出单元S6,用于将组合得到的与需要输出的数目相等的候选整句进行显示。
本发明系统的第三实施例框图如图11所示该文字输入系统包括预设单元S7,用于预先设置需要同时输出的候选整句的数目;接收单元S8,用于接收输入整句的拼音串,并对该拼音串进行音节划分后得到候选词;生成单元S9,用于利用接收单元的候选词组合得到多个候选整句;输出单元S10,从组合得到的多个候选整句中选择与预先设置的数目相等的候选整句进行输出;显示单元S11,用于触发候选整句显示功能对输出的候选整句进行显示。
由以上实施例可见,本发明通过接收输入整句的拼音串,并在对该拼音串进行音节划分后得到候选词,利用候选词组合得到多个候选整句后输出候选整句。应用本发明为用户输入时提供了多个整句候选结果,极大地增加了整句预测正确的概率,用户通过一次选择就可以得到想要的结果,极大提高了文字输入的效率,为用户提供了更加完美的输入输出体验。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。
权利要求
1.一种在输入法中提供候选整句的方法,其特征在于,该方法包括接收输入整句的拼音串,并在对该拼音串进行音节划分后得到候选词;利用所述候选词组合得到多个候选整句后输出所述候选整句。
2.根据权利要求1所述的方法,其特征在于,所述组合得到多个候选整句为组合得到所有候选整句;所述输出候选整句具体为从所述所有候选整句中选择与需要输出的数目相等的候选整句进行输出。
3.根据权利要求1所述的方法,其特征在于,所述组合得到多个候选整句为组合得到与需要输出的数目相等的候选整句;所述输出候选整句具体为将所述组合得到的候选整句进行输出。
4.根据权利要求1至3任意一项所述的方法,其特征在于,所述利用候选词组合得到多个候选整句具体为利用两点间最短路径算法生成由所述候选词组合成的按使用概率由大到小排列的多个候选整句,所述两点间最短路径算法为Dijkstra算法,或Viterbi算法。
5.根据权利要求4所述的方法,其特征在于,所述方法进一步包括设置需要同时输出的候选整句的数目;所述输出候选整句具体为输出与所述设置的数目相等的候选整句。
6.根据权利要求5所述的方法,其特征在于,所述方法进一步包括触发候选整句显示功能对所述输出的候选整句进行显示。
7.根据权利要求6所述的方法,其特征在于,所述触发显示功能为触发下拉显示功能;所述显示为在显示窗口的下拉菜单中显示;和/或所述触发显示功能为触发滚动显示功能;所述显示为在显示窗口的滚动菜单中显示;和/或所述触发显示功能为触发平行排列显示功能;所述显示为在显示窗口中平行排列显示。
8.一种文字输入系统,其特征在于,包括接收单元,用于接收输入整句的拼音串,并对该拼音串进行音节划分后得到候选词;生成单元,用于利用所述接收单元的候选词组合得到多个候选整句;输出单元,用于输出所述候选整句。
9.根据权利要求8所述的系统,其特征在于,所述生成单元为随机生成单元,用于利用所述接收单元的候选词组合得到所有候选整句;所述输出单元从所述所有候选整句中选择与需要输出的数目相等的候选整句进行输出。
10.根据权利要求8所述的系统,其特征在于,所述生成单元为预设生成单元,用于利用所述接收单元的候选词组合得到与需要输出的数目相等的候选整句;所述输出单元将所述组合得到的候选整句进行输出。
11.根据权利要求8至10任意一项所述的系统,其特征在于,所述系统进一步包括设置单元,用于设置需要同时输出的候选整句的数目;所述输出单元输出与所述设置的数目相等的候选整句。
12.根据权利要求11所述的系统,其特征在于,所述系统进一步包括显示单元,用于触发候选整句显示功能对所述输出的候选整句进行显示。
全文摘要
本发明公开了一种在输入法中提供候选整句的方法,该方法包括接收输入整句的拼音串,并在对该拼音串进行音节划分后得到候选词;利用所述候选词组合得到多个候选整句后输出所述候选整句。本发明还公开了一种文字输入系统,包括接收单元、生成单元和输出单元。应用本发明为用户输入时提供了多个整句候选结果,极大地增加了整句预测正确的概率,使用户无需通过更多的键盘操作,就可以在候选窗口输出的多个结果中选择正确的一个,极大降低了用户操作键盘选词组句的时间,为用户提供了更加完美的输入输出体验,提高了文字输入的效率。
文档编号G06F3/048GK101071342SQ20071011071
公开日2007年11月14日 申请日期2007年6月1日 优先权日2007年6月1日
发明者张会鹏 申请人:腾讯科技(深圳)有限公司