一种候选项排序方法及装置
文献发布时间:2023-06-19 11:57:35
技术领域
本申请涉及互联网技术领域,具体涉及一种候选项排序方法及装置。
背景技术
随着终端设备的普及,用户会在终端设备中进行大量输入操作。通常可以利用输入法进行输入,输入法指将各种符号输入计算机或其他设备而采用的编码方法。
具体地,输入法客户端可以根据用户输入的字符串提供匹配的候选项,以便用户选择所需的内容,从而实现内容的输入。然而,现有的输入法在对候选项进行排序时,所使用的方法较为生硬,使得排序不合理,进而无法为用户提供更为准确的候选项,影响用户使用体验。
发明内容
有鉴于此,本申请实施例提供一种候选项排序方法及装置,以使得候选项排序更加合理,提升用户的输入体验。
为解决上述问题,本申请实施例提供的技术方案如下:
一种候选项排序方法,所述方法包括:
获取候选字符串,所述候选字符串包括原始字符串以及所述原始字符串对应的联想字符串;
获取所述候选字符串的概率值;
生成所述候选字符串对应的候选项;
获取所述候选项的概率值;
将目标候选项的概率值以及所述目标候选项对应的候选字符串的概率值进行融合,得到所述目标候选项对应的最终评分,所述目标候选项为所述候选项中的一项;
根据各个所述候选项的最终评分对各个所述候选项进行排序。
在一种可能的实现方式中,所述联想字符串包括纠错字符串以及预测字符串;
所述获取所述候选字符串的概率值,包括:
当所述候选字符串为所述原始字符串时,计算所述原始字符串的概率值;
当所述候选字符串为所述纠错字符串时,获取所述纠错字符串的概率值;
当所述候选字符串为所述预测字符串时,获取所述预测字符串的概率值。
在一种可能的实现方式中,所述计算所述原始字符串的概率值,包括:
获取在触发第一坐标的条件下输入第一字符的概率值作为所述第一字符的第一概率值,所述第一坐标为输入所述第一字符时获取的键盘坐标,所述第一字符分别为所述原始字符串中的每一字符;将所述原始字符串中的各个字符的第一概率值相乘,得到所述原始字符串的第一概率值;
和/或,获取在输入第二字符之后输入所述第一字符的概率值作为所述第一字符的第二概率值,所述第一字符分别为所述原始字符串中的每一字符;将所述原始字符串中的各个字符的第二概率值相乘,得到所述原始字符串的第二概率值;
根据所述原始字符串的第一概率值和/或所述原始字符串的第二概率值,确定所述原始字符串的概率值。
在一种可能的实现方式中,所述纠错字符串为将所述原始字符串中的第三字符替换为第四字符产生的字符串,所述获取所述纠错字符串的概率值,包括:
获取在存在第五字符的情况下将所述第三字符替换为所述第四字符的概率值,作为所述纠错字符串的概率值,所述第五字符为在所述第四字符串相邻且在所述第四字符之前的一个或多个字符。
在一种可能的实现方式中,所述获取所述预测字符串的概率值,包括:
获取在输入所述原始字符串的情况下输入所述预测字符串的概率,作为所述预测字符串的概率值。
在一种可能的实现方式中,生成所述候选字符串对应的候选项,包括:
对所述候选字符串的概率值进行排序,将排序在先的预设数量的候选字符串确定为目标候选字符串;
生成所述目标候选字符串对应的候选项。
在一种可能的实现方式中,所述获取所述候选项的概率值,包括:
根据各个用户的历史数据,获取在输入所述原始字符串的情况下,选择该候选项的概率,作为该候选项的概率值。
在一种可能的实现方式中,所述获取所述候选项的概率值,包括:
根据当前用户的历史数据,获取在输入所述原始字符串的情况下,选择该候选项的概率,作为该候选项的概率值。
一种候选项排序装置,所述装置包括:
第一获取单元,用于获取候选字符串,所述候选字符串包括原始字符串以及所述原始字符串对应的联想字符串;
第二获取单元,用于获取所述候选字符串的概率值;
生成单元,用于生成所述候选字符串对应的候选项;
第三获取单元,用于获取所述候选项的概率值;
第四获取单元,用于将目标候选项的概率值以及所述目标候选项对应的候选字符串的概率值进行融合,得到所述目标候选项对应的最终评分,所述目标候选项为所述候选项中的一项;
排序单元,用于根据各个所述候选项的最终评分对各个所述候选项进行排序。
在一种可能的实现方式中,所述联想字符串包括纠错字符串以及预测字符串;所述第二获取具体用于,当所述候选字符串为所述原始字符串时,计算所述原始字符串的概率值;当所述候选字符串为所述纠错字符串时,获取所述纠错字符串的概率值;当所述候选字符串为所述预测字符串时,获取所述预测字符串的概率值。
在一种可能的实现方式中,所述第二获取单元,包括:
第一获取子单元,用于获取在触发第一坐标的条件下输入第一字符的概率值作为所述第一字符的第一概率值,所述第一坐标为输入所述第一字符时获取的键盘坐标,所述第一字符分别为所述原始字符串中的每一字符;将所述原始字符串中的各个字符的第一概率值相乘,得到所述原始字符串的第一概率值;和/或;
第二获取子单元,用于获取在输入第二字符之后输入所述第一字符的概率值作为所述第一字符的第二概率值,所述第一字符分别为所述原始字符串中的每一字符;将所述原始字符串中的各个字符的第二概率值相乘,得到所述原始字符串的第二概率值;
第一确定子单元,用于根据所述原始字符串的第一概率值和/或所述原始字符串的第二概率值,确定所述原始字符串的概率值。
在一种可能的实现方式中,所述纠错字符串为将所述原始字符串中的第三字符替换为第四字符产生的字符串,所述第二获取单元,具体用于获取在存在第五字符的情况下将所述第三字符替换为所述第四字符的概率值,作为所述纠错字符串的概率值,所述第五字符为在所述第四字符串相邻且在所述第四字符之前的一个或多个字符。
在一种可能的实现方式中,所述第二获取单元,具体用于获取在输入所述原始字符串的情况下输入所述预测字符串的概率,作为所述预测字符串的概率值。
在一种可能的实现方式中,所述生成单元,包括:
排序子单元,用于对所述候选字符串的概率值进行排序,将排序在先的预设数量的候选字符串确定为目标候选字符串;
生成子单元,用于生成所述目标候选字符串对应的候选项。
在一种可能的实现方式中,所述第三获取单元,具体用于根据各个用户的历史数据,获取在输入所述原始字符串的情况下,选择该候选项的概率,作为该候选项的概率值。
在一种可能的实现方式中,所述第三获取单元,具体用于根据当前用户的历史数据,获取在输入所述原始字符串的情况下,选择该候选项的概率,作为该候选项的概率值。
一种用于候选项排序的装置,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
获取候选字符串,所述候选字符串包括原始字符串以及所述原始字符串对应的联想字符串;
获取所述候选字符串的概率值;
生成所述候选字符串对应的候选项;
获取所述候选项的概率值;
将目标候选项的概率值以及所述目标候选项对应的候选字符串的概率值进行融合,得到所述目标候选项对应的最终评分,所述目标候选项为所述候选项中的一项;
根据各个所述候选项的最终评分对各个所述候选项进行排序。
一种计算机可读介质,其上存储有指令,当由一个或多个处理器执行时,使得装置执行所述的候选项排序的方法。
由此可见,本申请实施例具有如下有益效果:
本申请实施例首先获取候选字符串,该候选字符串可以包括原始字符串(用户输入的字符串)以及原始字符串对应的联想字符串。然后,针对任一候选字符串,获取每个候选字符串的概率值;生成每个候选字符串对应的候选项,并获取每个候选项的概率值。针对任一候选项将其作为目标候选项,将目标候选项的概率值以及目标候选项对应的候选字符串的概率值进行融合,得到目标候选项对应的最终评分。最后,根据每个候选项的最终评分对各个候选项进行排序。即,本申请实施例提供的候选项排序方法,在对候选项进行排序时,即考虑了字符串本身的概率值,也考虑了在该字符串下出现某候选项的概率值,从而使得候选项排序更加合理,提升用户的输入体验。
附图说明
图1为本申请实施例提供的一种应用场景示意图;
图2为本申请实施例提供的一种候选项排序方法的流程图;
图3为本申请实施例提供的一种键盘分布示意图;
图4为本申请实施例提供的一种候选项排序装置结构图;
图5为本申请实施例提供的另一种候选项排序装置结构图;
图6为本申请实施例提供的一种服务器结构。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请实施例作进一步详细的说明。
为便于理解本申请提供的技术方案,下面将先对本申请涉及的背景技术进行说明。
发明人在对传统的候选项排序方法研究中发现,传统的候选项排序方法主要采用两种:1、特殊候选项固定位置,即将某特殊候选项固定在候选的某个位置上;2、对特殊候选项进行词频惩罚,再与普通候选项混排。其中,普通候选项可以指由用户输入的原始字符串生成的候选项,特殊候选项可以指由用户输入的原始字符串进行联想或纠错后生成的候选项,词频惩罚可以指在原有词的词频上减去固定值。然而,这两种排序方法比较生硬,不够合理。例如,用户输入的字符串为“lnuwen”,候选项中“论文”为由原始字符串纠错后生成的候选项,该候选项更符合用户实际要输入的内容,应该排在比较靠前的位置,但是上述两种方法均会将“论文”一词排在比较靠后的位置。
基于此,本申请实施例提供了一种候选项排序方法,针对原始字符串以及原始字符串对应的联想字符串,将其作为候选字符串,获取每个候选字符串对应的概率值以及该候选字符串对应的候选项的概率值。然后,将每个候选字符串的概率值以及该字符串对应的候选项的概率值进行融合,获得该候选项的最终评分,利用该最终评分进行排序,从而使得候选项的排序更加合理。即在对候选项排序时,既考虑了字符串的概率值又考虑了该字符串下出现某一候选项的概率值,从而充分考虑了影响候选项排序的因素,使得最后排序结果更加合理,提升用户使用体验。
为便于理解本申请实施例提供的参见图1,该图为本申请实施例提供的示例性应用场景的框架示意图。其中,本申请实施例提供的候选项排序方法可以应用于服务器20,也可以应用于客户端10。
具体地,当应用于客户端10时,用户通过客户端10输入原始字符串时,客户端10获取原始字符串以及原始字符串对应的联想字符串,将其作为候选字符串。对于每个候选字符串,获取每个候选字符串的概率值,并生成候选字符串对应的候选项。然后,获取每个候选项的概率值,再将候选字符串的概率值以及候选字符串对应的候选项的概率值进行融合,得到每个候选字符串对应的候选项的最终评分。最后,基于每个候选项的最终评分,对各个候选项进行排序,以便通过终端设备将排序后的候选项显示给用户。
当应用于服务器20时,用户通过客户端10输入原始字符串,并获取原始字符串对应的联想字符串,并将其作为候选字符串发送给服务器20。服务器20在获取到候选字符串后,获取每个候选字符串的概率值,并生成每个候选字符串对应的候选项以及获取每个候选项的概率值。服务器20再根据候选项的概率值以及候选项对应的候选字符串的概率值确定每个候选项的最终评分,以根据每个候选项的最终评分对各个候选项进行排序,并将排序结果发送给客户端10。
本领域技术人员可以理解,图1所示的框架示意图仅是本申请的实施方式可以在其中得以实现的一个示例。本申请实施方式的适用范围不受到该框架任何方面的限制。
需要注意的是,客户端10可以是现有的、正在研发的或将来研发的、能够通过任何形式的有线和/或无线连接(例如,Wi-Fi、LAN、蜂窝、同轴电缆等)相互交互的任何用户设备,包括但不限于:现有的、正在研发的或将来研发的智能可穿戴设备、智能手机、非智能手机、平板电脑、膝上型个人计算机、桌面型个人计算机、小型计算机、中型计算机、大型计算机等。本申请的实施方式在此方面不受任何限制。还需要注意的是,本申请实施例中服务器20可以是现有的、正在研发的或将来研发的、能够向用户提供输入的设备的一个示例。本申请的实施方式在此方面不受任何限制。
为便于理解本申请实施例提供的技术方案,下面将结合附图对本申请实施例提供的候选项排序方法进行说明。
参见图2,该图为本申请实施例提供的一种候选项排序方法的流程图,如图2所示,该方法可以包括:
S201:获取候选字符串。
本实施例中,首先获取候选字符串,该候选字符串可以包括原始字符串以及原始字符串对应的联想字符串。即,候选字符串既包括用户输入的原始字符串,也包括输入法根据原始字符串提供的对应的联想字符串。
具体地,联想字符串可以包括纠错字符串以及预测字符串,其中,纠错字符串是指对用户输入的原始字符串进行纠错后获得的字符串,例如,用户输入的原始字符串为“nihai”,生成的纠错字符串“nihao”。预测字符串是指根据用户输入的原始字符串进行预测获得的包括原始字符串的字符串,例如,用户输入的原始字符串为“zhongguo”,生成的预测字符串可以为“zhongguoren”或“zhongguohaoshengyin”等。
其中,根据原始字符串获取对应的纠错字符串和预测字符串的实现方式,可以参见传统的获取方式,本实施例在此不再赘述。
S202:获取候选字符串的概率值。
S203:生成候选字符串对应的候选项。
S204:获取候选项的概率值。
本实施例中,当获取各个候选字符串后,获取每个候选字符串的概率值。同时,生成各个候选字符串对应的候选项,并获取每个候选项的概率值。其中,关于获取每个候选字符串的概率值的具体实现方式将在后续实施例进行说明。
可以理解的是,在一些应用场景下,可能会获取大量的候选字符串,则在生成候选字符串对应的候选项时,将生成大量的候选项,增加后续排序的计算量。为了减小计算量,提高排序效率,在生成候选字符串对应的候选项时,可以先根据候选字符串的概率值进行排序,将排序在先的预设数量的候选字符串确定为目标字符串;生成目标候选字符串对应的候选项。也就是,先根据候选字符串的概率值进行降序排序,将排序在前的部分候选字符串作为目标字符串,以生成目标字符串对应的候选项,从而减少所生成的候选项的数量,提高后续工作效率。其中,预设数量可以根据实际应用情况进行设定,例如,将排序在前的10个候选字符串作为目标字符串,本实施例在此不做限定。
可以理解的是,通常情况下,每个候选字符串可以匹配多个候选项,用户可以从多个候选项中选择所需的候选项。
因此,在一种可能的实现方式中,可以根据各个用户的历史数据,获取在输入原始字符串的情况下,选择该候选项的概率,作为该候选项的概率值。用户在输入一原始字符串后,通常可以生成原始字符串对应的第一类候选项以及该原始字符串的联想字符串对应的第二类候选项,这两类候选项共同构成候选项。在各个用户的历史数据中,可以统计得到在输入一原始字符串后,每个候选项被选择的概率,则可以得到各个候选项的概率值。例如,输入原始字符串“daijia”,该原始字符串对应有联想字符串“dajia”,则该原始字符串以及联想字符串对应的候选项可以包括“代价”、“代驾”和“大家”等。则根据各个用户的历史数据,可以得到每个候选项被选择的概率,如“代价”被选择的概率值、“代驾”被选择的概率值以及“大家”被选择的概率值,将其对应的被选择的概率值作为该候选项的概率值。
在实际应用中,用户在输入时个体习惯差异较为明显,例如有的用户一般不选择联想字符串对应的候选项,则在获取候选项的概率值时,可以以当前用户的历史数据为依据进行统计,得到候选项的概率值。即可以根据当前用户的历史数据,获取在输入原始字符串的情况下,选择该候选项的概率,作为该候选项的概率值。
可以理解的是,在生成候选字符串对应的候选项时,实际为将字符串对应的若干个基础词合在一起得到的更长的词语,则组成的更长的词语即为候选项,该候选项对应的概率值即为上述若干个基础词同时存在的概率值。例如,存在三个基础词a
S205:将目标候选项的概率值以及目标候选项对应的候选字符串的概率值进行融合,得到目标候选项对应的最终评分。
在获取到每个候选字符串的概率值以及候选字符串对应的候选项的概率值后,针对任一候选项,将其作为目标候选项,将目标候选项的概率值以及目标候选项对应的候选字符串的概率值进行融合,得到每个目标候选项对应的最终评分。
具体地,在进行概率值融合时,可以将目标候选项的概率值与目标候选项对应的候选字符串的概率值进行相乘,将乘积作为目标候选项对应的最终评分。例如,目标候选项1的概率值为p1,目标候选项1对应的候选字符串1的概率值为p2,则目标候选项对应的最终评分为p1*p2。或者,分别对目标候选项的概率值、目标候选项对应的候选字符串的概率值取对数,然后将两个对数结果相加获得目标候选项的最终评分。例如,目标候选项1的概率值为p1,目标候选项1对应的候选字符串1的概率值为p2,目标候选项对应的最终评分为logp1+logp2。在实际应用中,还可以根据实际情况对目标候选项的概率值与目标候选项对应的候选字符串的概率值分别设置权重,对目标候选项的概率值与目标候选项对应的候选字符串的概率值进行加权融合。
S206:根据各个候选项的最终评分对各个候选项进行排序。
在获取每个候选项的最终评分后,根据每个候选项的最终评分对各个候选项进行排序,实现更合理的候选项排序。
通过上述实施例可知,针对原始字符串以及原始字符串对应的联想字符串,将其作为候选字符串,获取每个候选字符串对应的概率值以及该候选字符串对应的候选项的概率值。然后,将每个候选字符串的概率值以及该字符串对应的候选项的概率值进行融合,获得该候选项的最终评分,利用该最终评分进行排序,从而使得候选项更加合理。即在对候选项排序时,既考虑了字符串的概率值又考虑了该字符串下出现某一候选项的概率值,从而充分考虑了影响候选项排序的因素,使得最后排序结果更加合理,提升用户使用体验。
可以理解的是,候选字符串即包括原始字符串,也包括对应的联想字符串,其中,联想字符串包括纠错字符串和预测字符串。对于如何获取候选字符串的概率值,下面将针对原始字符串、纠错字符串以及预测字符串分别进行说明。
一、当候选字符串为原始字符串时,计算原始字符串的概率值,包括:
1)获取在触发第一坐标的条件下输入第一字符的概率值作为第一字符的第一概率值,将原始字符串中的各个字符的第一概率值相乘,得到原始字符串的第一概率值。
用户通过键盘输入字符时,获取用户敲击某个键盘坐标时输入第一字符的概率值,将该概率值作为第一字符的第一概率值。如图3所示,每个字符在键盘上均对应有一定的区域,该区域中的每个点均对应有键盘坐标,触发某个字符时会触发键盘上具体某点,则可以获取触发字符时对应的键盘坐标。例如用户触发字符“n”时触发在图中键盘上“·”标识的位置,则该点坐标为(x,y)时,可以得到输入第一字符“n”的概率值p(n|(x,y))。其中,第一坐标为输入第一字符时获取的键盘坐标,第一字符分别为原始字符串中的每一字符。
当获得原始字符串中每个字符的概率值后,将各个字符的第一概率值相乘,得到原始字符串的第一概率值。例如,用户输入的原始字符串为“nihao”,共5个字符,则将5个字符分别对应的第一概率值相乘得到“nihao”的第一概率值。
其中,获取在触发第一坐标的条件下输入第一字符的概率值可以通过按键坐标模型实现,该按键坐标模型的训练可以通过传统的方法训练获得。
2)获取在输入第二字符之后输入第一字符的概率值作为第一字符的第二概率值,并将原始字符串中的各个字符的第二概率值相乘,得到原始字符串的第二概率值。
本实施例,针对原始字符串中的每一字符,将其作为第一字符,获取在输入第二字符之后输入第一字符的概率值作为该第一字符的第二概率值,从而获得原始字符串中每个字符对应的第二概率值。即,获取在输入第二字符的条件下,输入第一字符的概率。例如,第二字符为a,第一字符为b,则第一字符b对应的第二概率值p(b|a)。
其中,对于原始字符串中首个字符,获取的是其作为首字符的第二概率值。例如,原始字符串为“nihao”,对于字符“n”,获取其作为首字符的第二概率值;对于字符“i”,获取在输入“n”字符后输入“i”的第二概率值;对于字符“h”,获取在输入“i”字符后输入“h”的第二概率值。需要说明的是,在具体实现时可以采用大数据统计方法来获取在输入第二字符之后输入第一字符的概率值,也可以利用字符级语言模型获取在输入第二字符之后输入第一字符的概率值,该字符级语言模型可以通过传统的模型训练方法获取。
当获取原始字符串中每个字符对应的第二概率值后,将所有字符的第二概率值相乘,得到原始字符串的第二概率值。
3)根据原始字符串的第一概率值和/或原始字符串的第二概率值,确定原始字符串的概率值。
在获得原始字符串的第一概率值和/或第二概率值后,可以确定原始字符串的概率值。具体地,当仅获得原始字符串的第一概率值时,将原始字符串的第一概率值确定为原始字符串的概率值;当仅获得原始字符串的第二概率值时,将原始字符串的第二概率值确定为原始字符串的概率值;当同时获得原始字符串的第一概率值和第二概率值时,根据上述两种概率值确定原始字符串的概率值。在具体实现时,可以将上述两种概率值的乘积确定为原始字符串的概率值,也可以通过其它计算方式来确定原始字符串的概率值,本实施例在此不做限定。
二、当候选字符串为纠错字符串时,其中,纠错字符串为将原始字符串中的第三字符替换为第四字符产生的字符串,则获取纠错字符串的概率值可以包括:获取在存在第五字符的情况下将第三字符替换为第四字符的概率值,作为该纠错字符串的概率值。其中,第五字符为与第四字符相邻且在第四字符之前的一个或多个字符。即,计算在某个字符x1的情况下,当前字符y1纠正成字符z1的概率,即P(y1->z1|x1),其中,x1为第五字符,y1为第三字符,z1为第四字符。例如,用户输入的字符串为“nihai”,将其纠正成“nihao”,计算P(i->o|a)或P(i->o|ha)。需要说明的是,在实际计算时,第五字符为一个字符还是为多个字符,可以根据实际应用情况进行设定,本实施例在此不做限定。
在具体实现时,可以通过大数据统计方法获取在存在第五字符的情况下将第三字符替换为第四字符的概率值,或者将原始字符串输入纠错模型获得在原始字符串中存在第五字符的情况下,将第三字符替换为第四字符的概率值。其中,纠错模型可以利用语料库通过传统的模型训练方法获得。
三、当候选字符串为预测字符串时,获取预测字符串的概率值包括:获取在输入原始字符串的情况下输入预测字符串的概率,作为预测字符串的概率值。其中,预测字符串可以包括原始字符串。也就是,计算在某个字符串A的条件下,输入更长字符串B的概率值,其中字符串A为字符串B的前缀。例如,输入的原始字符串是“zhongguo”,预测字符串为“zhongguohaoshengyin”,则预测字符串的概率值P(zhongguohaoshengyin|zhongguo)。
在具体实现时,可以通过大数据统计方法获取用户在输入某一字符串时,选择包括上述字符串的更长字符串的概率值,将其作为该更长字符串的概率值,其中该更长字符串即为预测字符串。或者,将原始字符串输入长串预测模型获取预测字符串的概率值,该长串预测模型可以利用传统的模型训练方法获得。
基于上述方法实施例,本申请实施还提供了一种候选项排序装置,下面将结合附图对该装置进行说明。
参见图4,该图为本申请实施例提供的一种候选项排序装置结构图,如图4所示,该装置可以包括:
第一获取单元401,用于获取候选字符串,所述候选字符串包括原始字符串以及所述原始字符串对应的联想字符串;
第二获取单元402,用于获取所述候选字符串的概率值;
生成单元403,用于生成所述候选字符串对应的候选项;
第三获取单元404,用于获取所述候选项的概率值;
第四获取单元405,用于将目标候选项的概率值以及所述目标候选项对应的候选字符串的概率值进行融合,得到所述目标候选项对应的最终评分,所述目标候选项为所述候选项中的一项;
排序单元406,用于根据各个所述候选项的最终评分对各个所述候选项进行排序。
在一种可能的实现方式中,所述联想字符串包括纠错字符串以及预测字符串;所述第二获取具体用于,当所述候选字符串为所述原始字符串时,计算所述原始字符串的概率值;当所述候选字符串为所述纠错字符串时,获取所述纠错字符串的概率值;当所述候选字符串为所述预测字符串时,获取所述预测字符串的概率值。
在一种可能的实现方式中,所述第二获取单元,包括:
第一获取子单元,用于获取在触发第一坐标的条件下输入第一字符的概率值作为所述第一字符的第一概率值,所述第一坐标为输入所述第一字符时获取的键盘坐标,所述第一字符分别为所述原始字符串中的每一字符;将所述原始字符串中的各个字符的第一概率值相乘,得到所述原始字符串的第一概率值;和/或;
第二获取子单元,用于获取在输入第二字符之后输入所述第一字符的概率值作为所述第一字符的第二概率值,所述第一字符分别为所述原始字符串中的每一字符;将所述原始字符串中的各个字符的第二概率值相乘,得到所述原始字符串的第二概率值;
第一确定子单元,用于根据所述原始字符串的第一概率值和/或所述原始字符串的第二概率值,确定所述原始字符串的概率值。
在一种可能的实现方式中,所述纠错字符串为将所述原始字符串中的第三字符替换为第四字符产生的字符串,所述第二获取单元,具体用于获取在存在第五字符的情况下将所述第三字符替换为所述第四字符的概率值,作为所述纠错字符串的概率值,所述第五字符为在所述第四字符串相邻且在所述第四字符之前的一个或多个字符。
在一种可能的实现方式中,所述第二获取单元,具体用于获取在输入所述原始字符串的情况下输入所述预测字符串的概率,作为所述预测字符串的概率值。
在一种可能的实现方式中,所述生成单元,包括:
排序子单元,用于对所述候选字符串的概率值进行排序,将排序在先的预设数量的候选字符串确定为目标候选字符串;
生成子单元,用于生成所述目标候选字符串对应的候选项。
在一种可能的实现方式中,所述第三获取单元,具体用于根据各个用户的历史数据,获取在输入所述原始字符串的情况下,选择该候选项的概率,作为该候选项的概率值。
在一种可能的实现方式中,所述第三获取单元,具体用于根据当前用户的历史数据,获取在输入所述原始字符串的情况下,选择该候选项的概率,作为该候选项的概率值。
需要说明的是,本实施例中各个单元的实现可以参见上述方法实施例,本实施例在此不再赘述。
图5示出了一种候选项排序装置600的框图。例如,装置600可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图5,装置600可以包括以下一个或多个组件:处理组件602,存储器604,电源组件606,多媒体组件608,音频组件610,输入/输出(I/O)的接口69,传感器组件614,以及通信组件616。
处理组件602通常控制装置600的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件602可以包括一个或多个处理器620来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件602可以包括一个或多个模块,便于处理组件602和其他组件之间的交互。例如,处理部件602可以包括多媒体模块,以方便多媒体组件606和处理组件602之间的交互。
存储器604被配置为存储各种类型的数据以支持在设备600的操作。这些数据的示例包括用于在装置600上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器604可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件606为装置600的各种组件提供电力。电源组件606可以包括电源管理系统,一个或多个电源,及其他与为装置600生成、管理和分配电力相关联的组件。
多媒体组件608包括在所述装置600和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件608包括一个前置摄像头和/或后置摄像头。当设备600处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件610被配置为输出和/或输入音频信号。例如,音频组件610包括一个麦克风(MIC),当装置600处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器604或经由通信组件616发送。在一些实施例中,音频组件610还包括一个扬声器,用于输出音频信号。
I/O接口为处理组件602和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件614包括一个或多个传感器,用于为装置600提供各个方面的状态评估。例如,传感器组件614可以检测到设备600的打开/关闭状态,组件的相对定位,例如所述组件为装置600的显示器和小键盘,传感器组件614还可以检测装置600或装置600一个组件的位置改变,用户与装置600接触的存在或不存在,装置600方位或加速/减速和装置600的温度变化。传感器组件614可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件614还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件614还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件616被配置为便于装置600和其他设备之间有线或无线方式的通信。装置600可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信部件616经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信部件616还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置600可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行下述方法:
获取候选字符串,所述候选字符串包括原始字符串以及所述原始字符串对应的联想字符串;
获取所述候选字符串的概率值;
生成所述候选字符串对应的候选项;
获取所述候选项的概率值;
将目标候选项的概率值以及所述目标候选项对应的候选字符串的概率值进行融合,得到所述目标候选项对应的最终评分,所述目标候选项为所述候选项中的一项;
根据各个所述候选项的最终评分对各个所述候选项进行排序。
可选的,所述联想字符串包括纠错字符串以及预测字符串;
所述获取所述候选字符串的概率值,包括:
当所述候选字符串为所述原始字符串时,计算所述原始字符串的概率值;
当所述候选字符串为所述纠错字符串时,获取所述纠错字符串的概率值;
当所述候选字符串为所述预测字符串时,获取所述预测字符串的概率值。
可选的,所述计算所述原始字符串的概率值,包括:
获取在触发第一坐标的条件下输入第一字符的概率值作为所述第一字符的第一概率值,所述第一坐标为输入所述第一字符时获取的键盘坐标,所述第一字符分别为所述原始字符串中的每一字符;将所述原始字符串中的各个字符的第一概率值相乘,得到所述原始字符串的第一概率值;
和/或,获取在输入第二字符之后输入所述第一字符的概率值作为所述第一字符的第二概率值,所述第一字符分别为所述原始字符串中的每一字符;将所述原始字符串中的各个字符的第二概率值相乘,得到所述原始字符串的第二概率值;
根据所述原始字符串的第一概率值和/或所述原始字符串的第二概率值,确定所述原始字符串的概率值。
可选的,所述纠错字符串为将所述原始字符串中的第三字符替换为第四字符产生的字符串,所述获取所述纠错字符串的概率值,包括:
获取在存在第五字符的情况下将所述第三字符替换为所述第四字符的概率值,作为所述纠错字符串的概率值,所述第五字符为在所述第四字符串相邻且在所述第四字符之前的一个或多个字符。
可选的,所述获取所述预测字符串的概率值,包括:
获取在输入所述原始字符串的情况下输入所述预测字符串的概率,作为所述预测字符串的概率值。
可选的,生成所述候选字符串对应的候选项,包括:
对所述候选字符串的概率值进行排序,将排序在先的预设数量的候选字符串确定为目标候选字符串;
生成所述目标候选字符串对应的候选项。
可选的,所述获取所述候选项的概率值,包括:
根据各个用户的历史数据,获取在输入所述原始字符串的情况下,选择该候选项的概率,作为该候选项的概率值。
可选的,所述获取所述候选项的概率值,包括:
根据当前用户的历史数据,获取在输入所述原始字符串的情况下,选择该候选项的概率,作为该候选项的概率值。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由移动终端的处理器执行时,使得移动终端能够执行候选项排序方法,所述方法包括:
获取候选字符串,所述候选字符串包括原始字符串以及所述原始字符串对应的联想字符串;
获取所述候选字符串的概率值;
生成所述候选字符串对应的候选项;
获取所述候选项的概率值;
将目标候选项的概率值以及所述目标候选项对应的候选字符串的概率值进行融合,得到所述目标候选项对应的最终评分,所述目标候选项为所述候选项中的一项;
根据各个所述候选项的最终评分对各个所述候选项进行排序。
可选的,所述联想字符串包括纠错字符串以及预测字符串;
所述获取所述候选字符串的概率值,包括:
当所述候选字符串为所述原始字符串时,计算所述原始字符串的概率值;
当所述候选字符串为所述纠错字符串时,获取所述纠错字符串的概率值;
当所述候选字符串为所述预测字符串时,获取所述预测字符串的概率值。
可选的,所述计算所述原始字符串的概率值,包括:
获取在触发第一坐标的条件下输入第一字符的概率值作为所述第一字符的第一概率值,所述第一坐标为输入所述第一字符时获取的键盘坐标,所述第一字符分别为所述原始字符串中的每一字符;将所述原始字符串中的各个字符的第一概率值相乘,得到所述原始字符串的第一概率值;
和/或,获取在输入第二字符之后输入所述第一字符的概率值作为所述第一字符的第二概率值,所述第一字符分别为所述原始字符串中的每一字符;将所述原始字符串中的各个字符的第二概率值相乘,得到所述原始字符串的第二概率值;
根据所述原始字符串的第一概率值和/或所述原始字符串的第二概率值,确定所述原始字符串的概率值。
可选的,所述纠错字符串为将所述原始字符串中的第三字符替换为第四字符产生的字符串,所述获取所述纠错字符串的概率值,包括:
获取在存在第五字符的情况下将所述第三字符替换为所述第四字符的概率值,作为所述纠错字符串的概率值,所述第五字符为在所述第四字符串相邻且在所述第四字符之前的一个或多个字符。
可选的,所述获取所述预测字符串的概率值,包括:
获取在输入所述原始字符串的情况下输入所述预测字符串的概率,作为所述预测字符串的概率值。
可选的,生成所述候选字符串对应的候选项,包括:
对所述候选字符串的概率值进行排序,将排序在先的预设数量的候选字符串确定为目标候选字符串;
生成所述目标候选字符串对应的候选项。
可选的,所述获取所述候选项的概率值,包括:
根据各个用户的历史数据,获取在输入所述原始字符串的情况下,选择该候选项的概率,作为该候选项的概率值。
可选的,所述获取所述候选项的概率值,包括:
根据当前用户的历史数据,获取在输入所述原始字符串的情况下,选择该候选项的概率,作为该候选项的概率值。
图6是本发明实施例中服务器的结构示意图。该服务器700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)722(例如,一个或一个以上处理器)和存储器732,一个或一个以上存储应用程序742或数据744的存储介质730(例如一个或一个以上海量存储设备)。其中,存储器732和存储介质730可以是短暂存储或持久存储。存储在存储介质730的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器722可以设置为与存储介质730通信,在服务器700上执行存储介质730中的一系列指令操作。
终端700还可以包括一个或一个以上电源726,一个或一个以上有线或无线网络接口750,一个或一个以上输入输出接口756,一个或一个以上键盘756,和/或,一个或一个以上操作系统741,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
- 一种候选项排序方法及装置
- 一种多选项的排序方法、装置及终端