具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参见图1,为本发明的字符输入装置的实施例的结构示意图;如图1所示,所述字符输入装置包括:生成模块10,选取模块20,概率处理模块30,比较模块40和展示模块50。
所述生成模块10,用于根据用户输入的字符串,生成姓名候选列表和核心词候选列表;
具体实现中,所述姓名候选列表包括多个姓名候选词,各姓名候选词均存在各自的概率。具体地,各姓名候选词的概率根据预设置的姓名角色词表中各角色词(姓名的角色包括:姓氏,名,名首字,名尾字等,角色词包括:作为姓氏的各词,作为名的各词,作为名首字的各词以及作为名尾字的各词等)的概率计算得到,所述姓名角色词表包括:姓氏词表和作为姓氏的各词的概率,比如:姓氏词表中包括“张”“王”“李”等词(或字),当这些词(或字)作为姓氏时,其概率分别为多大;名的词表和作为名的各词的概率,比如:“王刚”中的“刚”,“刘德华”中的“德华”等词,其作为名时,概率分别为多大;名首字的词表和作为名首字的各词的概率,比如:“刘德华”中的“德”字,其作为名首字的概率为多大;名尾字的词表和作为名尾字的各词的概率,比如:“刘德华”中的“华”,其作为名尾字的概率为多大。
所述核心词候选列表为:从词库中识别出的、与用户输入的字符串的编码相对应的词所组成的列表,所述核心词候选列表中的词为核心词。具体实现中,当用户通过键盘或非键盘正常输入字符时,比如输入拼音串,那么计算机***会根据用户输入的字符串的编码,从***自身或网络等存储空间的词库中识别出与所述编码相对应的词,这些词组成了候选列表显示给用户,供用户选择,其列表中的显示的各个词即为核心词,该显示的列表称为核心词候选列表。
所述选取模块20,用于从所述生成模块10生成的姓名候选列表中选取最大概率的姓名候选词;具体实现中,如前所述,姓名候选列表中的各姓名候选词均存在一定的概率,其概率根据姓名角色表中的各角色词的概率计算得到,具体地,各角色词的概率可以从一个很大的姓名库(比如:从网络上的姓名库)中统计出每个词作为姓名的不同角色的概率,而一个姓名的概率即为组成该姓名的各个角色的概率的乘积,比如:“王”作为姓的概率为0.1,“刚”作为名的概率为0.2,则二者组成姓名的概率为“0.1*0.2=0.02”。所述选取模块20,即用于从生成的姓名候选列表中选取最大概率的姓名候选词。可以理解的是,此处的计算方式仅为举例,其他情况,比如:可组成姓名的各角色词的赋予权重系数,利用权重系数进行计算等情况,这些情况下可进行类似分析,在此不进行赘述。
所述概率处理模块30,用于对所述选取模块20所选取的姓名候选词的概率进行处理,得到所述姓名候选词的对比概率。由于所述选取模块20所选取的姓名候选词的概率如果不经处理则与根据用户正常输入而得到的核心词的概率不具有可比性,因此,具体实现中,需要对所述姓名候选词的概率进行处理,即需要对姓名候选词的概率进行归一化,其具体处理过程为:利用预设的各种不同长度姓名的基准概率,将姓名候选词的概率与其对应长度的基准概率相乘,其最终得到的概率可以称为“对比概率”,该“对比概率”就可与核心词的概率进行比较了。
所述比较模块40,用于将所述概率处理模块30处理得到的对比概率与所述生成模块生成的核心词候选列表中的各个核心词的概率一一进行比较;
所述展示模块50,用于根据所述比较模块40的比较结果,展示所述生成模块10生成的姓名候选列表。具体实现中,当所述姓名候选词的对比概率大于所有的核心词的概率时,所述展示模块50即展示所述姓名候选列表。
再请参见图1,所述字符输入装置还包括:预设模块60。
所述预设模块60,用于预先设置姓名角色词表,角色词的提取个数,姓名候选列表的长度和基准概率表。
具体实现中,所述姓名角色词表包括:姓氏词表和作为姓氏的各词的概率,名的词表和作为名的各词的概率,名首字的词表和作为名首字的各词的概率,名尾字的词表和作为名尾字的各词的概率;
所述角色词的提取个数指的是从所述姓名角色表中所提取的角色词的个数,本发明实施例中用M表示,M可根据实际情况进行取值;
所述姓名候选列表的长度为所述姓名候选列表所包括的姓名候选词的个数,本发明实施例中用N表示,N可根据实际情况进行取值;比如:当所述姓名候选列表包括1个姓名候选词,则N=1;当所述姓名候选列表包括2个姓名候选词,则N=2;其他情况类似,在此不进行赘述;
所述基准概率表包括:单字姓名的基准概率、二字姓名的基准概率、三字姓名的基准概率、四字姓名的基准概率以及多字姓名的基准概率;具体地,可从一个大的词料库(比如:网络上的大量文章)中分别统计出单字姓名、二字姓名、三字姓名、四字姓名甚至多字姓名的概率,分别作为不同长度姓名的基准概率。
通过上述实施例的描述,本发明根据用户输入的字符串生成姓名候选列表,并选取姓名候选列表中的最大概率的姓名候选词,对其最大概率进行相应处理后,与通过识别用户输入的字符串得到的核心词候选列表中的各个核心词的概率一一进行比较,再根据比较的结果才进行提示进入姓名模式,本发明利用概率比较来进行姓名模式的控制,减少输入非姓名的情况下提示进入姓名模式的机率,减小了用户骚扰,提高了用户体验。
为了更清楚的说明本发明,下面将对字符输入装置的各个模块进行详细介绍。
请参见图2,为本发明的生成模块10的结构示意图,所述生成模块10包括:提取单元101,第一生成单元102,计算单元103和第二生成单元104。
所述提取单元101,用于根据用户输入的字符串,从预设置的姓名角色词表中提取与所述字符串相对应的前M个角色词,所述M为预设置的角色词提取个数;如前述,所述姓名角色词表包括:姓氏词表和作为姓氏的各词的概率,名的词表和作为名的各词的概率,名首字的词表和作为名首字的各词的概率,名尾字的词表和作为名尾字的各词的概率。具体地,所述姓名角色词表可以表的形式存在,如下表:
词(或字) |
角色 |
概率 |
王 |
姓 |
0.1 |
李 |
姓 |
0.3 |
德 |
名首字 |
0.2 |
德华 |
名 |
0.23 |
刚 |
名 |
0.2 |
张 |
姓 |
0.11 |
红 |
名尾字 |
0.03 |
…… |
…… |
…… |
可以理解的是,上述的姓名角色词表仅为举例,其可以不以表格的形式存在,具体地,在预先设置时,其表中的词可以改变或扩展,其作为的角色可以改变,其概率也可以改变,其他情况下可进行类似的分析,在此不进行赘述。
具体实现中,上述的M值的确定也可以根据实际需要进行设定,比如,可设定M值为3,那么所述提取单元101,用于根据用户输入的字符串,从预设置的姓名角色词表中提取与所述字符串相对应的前3个角色词;可设定M值为4,那么所述提取单元101,用于根据用户输入的字符串,从预设置的姓名角色词表中提取与所述字符串相对应的前4个角色词。可以理解的是,此处仅为举例其他情况类似分析,在此不进行赘述。
所述第一生成单元102,用于将所述提取单元101提取的M个角色词进行姓名组合,生成多个姓名候选词;如前述,比如:当M值为3时,所述提取单元101提取前3个角色词分别为:王、德、张,三者均可作姓和名两种角色,那么,其可以组合成姓名候选词分别为:王德、王张、德张、张德、张王、德王。可以理解的是,此处仅为举例,其他情况类似分析,在此不进行赘述。
所述计算单元103,用于计算所述第一生成单元102生成的各个姓名候选词的概率;具体实现中,所述计算单元103对各个姓名候选词的计算如前所述,具体为,组成姓名的各个角色词的概率的乘积。
所述第二生成单元104,用于根据所述计算单元103计算得到的概率,对所述姓名候选词进行排序,并选取所述排序后的前N个姓名候选词组成姓名候选列表,所述N为预设置的姓名候选列表的长度。具体实现中,所述排序可按从大到小顺序排列,也可按从小到大顺序排列,优选地,所述排序一般按照从大到小的顺序进行排列,概率大的位于候选列表的前面,概率小的位于候选列表的后面,最后,取前N个姓名候选词组成姓名候选列表;具体地,所述N值的确定也可以根据实际需要进行设定,比如,可设定N值为3,那么所述第二生成单元104根据姓名候选词的排序,选取前3个姓名候选词组成姓名候选列表;再如,可设定N值为4,那么所述第二生成单元104根据姓名候选词的排序,选取前4个姓名候选词组成姓名候选列表。可以理解的是,此处排序方式以及N值的设定仅为举例,其他情况类似分析,在此不进行赘述。
可以理解的是,由于N为预设的姓名候选列表的长度,为了保证N的取值,以利于用户对姓名候选词进行选择,优选地,角色词的提取个数M与姓名候选列表的长度N的取值相同。当然,其他情况,比如:M值可大于N值;再如:M值可小于N值;上述各种情况可进行类似的分析,在此不进行赘述。
通过上述实施例的描述,本发明根据用户输入的字符串生成姓名候选列表,其减少输入非姓名的情况下提示进入姓名模式的机率,减小了用户骚扰,提高了用户体验。
请参见图3,为本发明的概率处理模块的实施例的结构示意图;所述概率处理模块30包括:基准概率提取单元301和概率处理单元302。
所述基准概率提取单元301,用于根据所述选取模块20选取的姓名候选词的长度,从预设置的基准概率表中提取相应长度的基准概率;
具体实现中,所述选取模块20所选取的姓名候选词的概率与根据用户正常输入而得到的核心词的概率不具有可比性,因此,需要对所述姓名候选词的概率进行处理,即需要对姓名候选词的概率进行归一化。具体地,所述基准概率提取单元301具体处理过程为:根据所选取的姓名候选词的长度,从预设置的基准概率表中提取相应长度的基准概率;比如:当所述姓名候选词为二字姓名时,其长度为二,则从预设置的基准概率表中提取二字姓名的基准概率;再如:当所述姓名候选词为三字姓名时,其长度为三,则从预设置的基准概率表中提取三字姓名的基准概率。
所述概率处理单元302,用于将所述选取模块20选取的姓名候选词的概率与所述基准概率提取单元301提取的基准概率相乘,得到所述姓名候选词的对比概率。该“对比概率”就可与核心词的概率进行比较了。
通过上述实施例的描述,本发明能够减少输入非姓名的情况下提示进入姓名模式的机率,减小了用户骚扰,提高了用户体验。
请参见图4,为本发明的比较模块的实施例的结构示意图;如图4所示,所述比较模块40包括:判断单元401和结果输出单元402。
所述判断单元401,用于将所述姓名候选词的对比概率与所述核心词候选列表中的各个核心词的概率一一进行比较,判断所述姓名候选词的对比概率是否大于所有的核心词的概率;
所述结果输出单元402,用于当所述判断单元401判断结果为是时,输出肯定结果,当所述判断单元401判断结果为否时,输出否定结果。
通过上述实施例的描述,本发明将姓名候选词的对比概率,与通过识别用户输入的字符串得到的核心词候选列表中的各个核心词的概率一一进行比较,减少输入非姓名的情况下提示进入姓名模式的机率,减小了用户骚扰,提高了用户体验。
请参见图5,为本发明的展示模块的实施例的结构示意图;如图5所示,所述展示模块50包括:添加单元501,提示单元502,接收单元503和展示单元504。
所述添加单元501,用于在所述结果输出单元402输出肯定结果时,将所述姓名候选词添加到所述核心词候选列表中;
所述提示单元502,用于在所述添加单元501添加所述姓名候选词的同时,提示用户确认是否进入姓名模式;具体实现中,可向用户提示“按逗号进入姓名模式”,可以理解的是,此处仅为举例,其他情况下,比如:可以不提示用户直接进入姓名模式,这样即与现有技术兼容,这种情况下可能会给用户带来一定的骚扰,因此,优选是向用户提示;再如:可向用户提示“按*号键进入姓名模式”或按其他键进入姓名模式,在此不进行赘述。
所述接收单元503,用于当用户根据所述提示单元502的提示进行确认时,接收所述用户发送的确认信息;具体实现中,比如:所述提示单元502提示“按逗号键进入姓名模式”,如果用户按下逗号键,所述接收单元503即可接收到逗号按键发出的代表“确认”的编码,即接收到了用户发送的确认信息。
所述展示单元504,用于在所述接收单元503接收到所述用户的确认信息时,向所述用户展示所述姓名候选列表。
通过上述实施例的描述,本发明根据比较的结果才进行提示进入姓名模式,其对姓名模式的切换进行了控制,减少输入非姓名的情况下提示进入姓名模式的机率,减小了用户骚扰,提高了用户体验。
为了更清楚的说明本发明,下面将对字符输入方法进行详细介绍。
请参见图6,为本发明的字符输入方法的第一实施例的流程示意图;如图6所示,所述方法包括:
S101,根据用户输入的字符串,生成姓名候选列表和核心词候选列表;
具体地,所述S101之前还包括:
预先设置姓名角色词表,姓名候选列表的长度和基准概率表。
S102,从所述姓名候选列表中选取最大概率的姓名候选词,并对所述选取的姓名候选词的概率进行处理,得到所述姓名候选词的对比概率;
S103,将所述姓名候选词的对比概率与所述核心词候选列表中的各个核心词的概率一一进行比较,并根据所述比较的结果展示所述姓名候选列表。
通过上述实施例的描述,本发明根据用户输入的字符串生成姓名候选列表,并选取姓名候选列表中的最大概率的姓名候选词,对其最大概率进行相应处理后,与通过识别用户输入的字符串得到的核心词候选列表中的各个核心词的概率一一进行比较,再根据比较的结果才进行提示进入姓名模式,本发明利用概率比较来进行姓名模式的控制,减少输入非姓名的情况下提示进入姓名模式的机率,减小了用户骚扰,提高了用户体验。
请参见图7,为本发明的字符输入方法的第二实施例的流程示意图;如图7所示,所述方法包括:
S201,预先设置姓名角色词表,姓名候选列表的长度和基准概率表;
具体实现中,所述姓名角色词表包括:姓氏词表和作为姓氏的各词的概率,名的词表和作为名的各词的概率,名首字的词表和作为名首字的各词的概率,名尾字的词表和作为名尾字的各词的概率;
所述角色词的提取个数指的是从所述姓名角色表中所提取的角色词的个数,本发明实施例中用M表示,M可根据实际情况进行取值;
所述姓名候选列表的长度为所述姓名候选列表所包括的姓名候选词的个数,本发明实施例中用N表示,N可根据实际情况进行取值;比如:当所述姓名候选列表包括1个姓名候选词,则N=1;当所述姓名候选列表包括2个姓名候选词,则N=2;其他情况类似,在此不进行赘述;
所述基准概率表包括:单字姓名的基准概率、二字姓名的基准概率、三字姓名的基准概率、四字姓名的基准概率以及多字姓名的基准概率;具体地,可从一个大的词料库(比如:网络上的大量文章)中分别统计出单字姓名、二字姓名、三字姓名、四字姓名甚至多字姓名的概率,分别作为不同长度姓名的基准概率。
S202,根据用户输入的字符串,从预设置的姓名角色词表中提取与所述字符串相对应的前M个角色词,所述M为预设置的角色词提取个数;
如前述,所述姓名角色词表包括:姓氏词表和作为姓氏的各词的概率,名的词表和作为名的各词的概率,名首字的词表和作为名首字的各词的概率,名尾字的词表和作为名尾字的各词的概率。具体地,所述姓名角色词表可以表的形式存在,如下表:
词(或字) |
角色 |
概率 |
王 |
姓 |
0.1 |
李 |
姓 |
0.3 |
德 |
名首字 |
0.2 |
德华 |
名 |
0.23 |
刚 |
名 |
0.2 |
张 |
姓 |
0.11 |
红 |
名尾字 |
0.03 |
…… |
…… |
…… |
可以理解的是,上述的姓名角色词表仅为举例,其可以不以表格的形式存在,具体地,在预先设置时,其表中的词可以改变或扩展,其作为的角色可以改变,其概率也可以改变,其他情况下可进行类似的分析,在此不进行赘述。
具体实现中,上述的M值的确定也可以根据实际需要进行设定,比如,可设定M值为3,那么S202即根据用户输入的字符串,从预设置的姓名角色词表中提取与所述字符串相对应的前3个角色词;可设定M值为4,那么S202即根据用户输入的字符串,从预设置的姓名角色词表中提取与所述字符串相对应的前4个角色词。可以理解的是,此处仅为举例,其他情况类似分析,在此不进行赘述。
S203,将所述M个角色词进行姓名组合,生成多个姓名候选词;
具体实现中,如前述,比如:当M值为3时,S202提取前3个角色词分别为:王、德、张,三者均可作姓和名两种角色,那么,S203可以将三者组合成姓名候选词分别为:王德、王张、德张、张德、张王、德王。可以理解的是,此处仅为举例,其他情况类似分析,在此不进行赘述。
S204,计算所述生成的各个姓名候选词的概率,并根据所述计算得到的概率,对所述姓名候选词进行排序,选取排序后的前N个姓名候选词组成姓名候选列表,所述N为预设置的姓名候选列表的长度;
具体实现中,S204对各个姓名候选词的计算如前所述,具体为,组成姓名的各个角色词的概率的乘积;进一步,所述根据计算得到的概率进行排序可按从大到小顺序排列,也可按从小到大顺序排列,优选地,所述排序一般按照从大到小的顺序进行排列,概率大的位于候选列表的前面,概率小的位于候选列表的后面,最后,取前N个姓名候选词组成姓名候选列表;具体地,所述N值的确定也可以根据实际需要进行设定,比如,可设定N值为3,那么S204根据姓名候选词的排序,选取前3个姓名候选词组成姓名候选列表;再如,可设定N值为4,那么S204根据姓名候选词的排序,选取前4个姓名候选词组成姓名候选列表。可以理解的是,此处仅为举例,其他情况类似分析,在此不进行赘述。
可以理解的是,由于N为预设的姓名候选列表的长度,为了保证N的取值,以利于用户对姓名候选词进行选择,优选角色词的提取个数M与姓名候选列表的长度N的取值相同。当然,其他情况,比如:M值可大于N值;再如:M值可小于N值;上述各种情况可进行类似的分析,在此不进行赘述。
S205,从所述姓名候选列表中选取最大概率的姓名候选词;
S206,根据所述选取的姓名候选词的长度,从预设置的基准概率表中提取相应长度的基准概率;
具体实现中,S205所选取的姓名候选词的概率与根据用户正常输入而得到的核心词的概率不具有可比性,因此,需要对所述姓名候选词的概率进行处理,即需要对姓名候选词的概率进行归一化。具体地,S206具体处理过程为:根据所选取的姓名候选词的长度,从预设置的基准概率表中提取相应长度的基准概率;比如:当所述姓名候选词为二字姓名时,其长度为二,则从预设置的基准概率表中提取二字姓名的基准概率;再如:当所述姓名候选词为三字姓名时,其长度为三,则从预设置的基准概率表中提取三字姓名的基准概率。
S207,将所述选取的姓名候选词的概率与所述提取的基准概率相乘,得到所述姓名候选词的对比概率;
具体实现中,S207将姓名候选词的概率与S206所提取的基准概率相乘,其最终得到的概率可以称为“对比概率”,该“对比概率”就可与核心词的概率进行比较了。
S208,将所述姓名候选词的对比概率与所述核心词候选列表中的各个核心词的概率一一进行比较;
S209,判断所述姓名候选词的对比概率是否大于所有的所述核心词的概率;如果判断为是,则转入S210;否则,结束。
S210,将所述姓名候选词添加在所述核心词候选列表中,同时提示用户确认是否进入姓名模式;
具体实现中,可向用户提示“按逗号进入姓名模式”,可以理解的是,此处仅为举例,其他情况下,比如:可以不提示用户直接进入姓名模式,这样即与现有技术兼容,这种情况下可能会给用户带来一定的骚扰,因此,优选是向用户提示;再如:可向用户提示“按*号键进入姓名模式”或按其他键进入姓名模式,在此不进行赘述。
S211,接收用户的确认信息,向所述用户展示所述姓名候选列表。
通过上述实施例的描述,本发明根据用户输入的字符串生成姓名候选列表,并选取姓名候选列表中的最大概率的姓名候选词,对其最大概率进行相应处理后,与通过识别用户输入的字符串得到的核心词候选列表中的各个核心词的概率一一进行比较,再根据比较的结果才进行提示进入姓名模式,本发明利用概率比较来进行姓名模式的控制,减少输入非姓名的情况下提示进入姓名模式的机率,减小了用户骚扰,提高了用户体验。
请参见图8,为本发明的字符输入方法的第三实施例的流程示意图;如图8所示,所述方法包括:
S301,用户输入拼音串;
S302,检查输入拼音串的音节数;
S303,判断所述音节数是否大于等于2并且小于等于4,如果判断为是,则转入S304;否则,结束;
S304,判断拼音串中的音节是否全部是全拼,如果判断为是,则转入S305;否则,结束;
S305,生成姓名候选列表;
具体实现中,上述过程只有在拼音串的音节全部是全拼的情况下才会进行后续的姓名候选列表的生成,这样做是为了减少在正常输入过程中提示进入姓名模式带来的骚扰。
S306,选取最大概率的姓名候选词,并将其概率乘以对应姓名长度的基准概率,得到对比概率;
具体实现中,选取最大概率的姓名候选词,相当于在生成的包含N个姓名候选词的姓名候选列表中进行N取1的情况。
S307,将姓名候选词的对比概率与核心词候选列表中的各个核心词的概率一一进行比较;
S308,判断对比概率是否大于所有核心词的概率,如果判断为是,转入S309;否则,结束;
S309,将所述姓名候选词添加在所述核心词候选列表中,同时提示“按逗号进入姓名模式”;
S310,用户按下逗号按键;
S311,进入姓名模式,展示姓名候选列表。
通过上述各个实施例的描述,本发明根据用户输入的字符串生成姓名候选列表,并选取姓名候选列表中的最大概率的姓名候选词,对其最大概率进行相应处理后,与通过识别用户输入的字符串得到的核心词候选列表中的各个核心词的概率一一进行比较,再根据比较的结果才进行提示进入姓名模式,本发明利用概率比较来进行姓名模式的控制,减少输入非姓名的情况下提示进入姓名模式的机率,减小了用户骚扰,提高了用户体验。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。