建议候选列表生成方法及装置
技术领域
本公开涉及人工智能技术领域,尤其涉及一种建议候选列表生成方法及装置。
背景技术
输入框可以是终端设备中任一应用程序提供的输入接口,用于接收用户输入的输入内容。例如,即时通讯软件提供的输入框、浏览器提供的输入框、网购软件提供的输入框等。
目前,为了最大程度地减少用户的手动输入操作,输入框一般都具有输入建议功能。具有输入建议功能的输入框,能够基于用户所输入的部分的输入内容自动补全生成多个候选内容,并以候选列表的形式展示在界面中,供用户参考选择。
然而,在实际情形中,用户在输入时难免会存在错误,尤其是终端设备的屏幕较小时,用户输入错误的概率更大。当输入框接收到错误的输入内容时,基于错误的输入内容生成候选列表。候选列表中的候选内容是根据错误的输入内容自动补全得到的,不再是用户期望的候选内容,用户体验差。
发明内容
本公开旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本公开的第一个目的在于提出一种建议候选列表生成方法。
本公开的第二个目的在于提出一种建议候选列表生成装置。
本公开的第三个目的在于提出一种电子设备。
本公开的第四个目的在于提出一种计算机可读存储介质。
为达上述目的,本公开第一方面实施例提出了一种建议候选列表生成方法,包括:
获取输入框中当前的输入内容;
获取所述输入内容对应的第一候选列表;
对所述输入内容进行错误识别,判断所述输入内容是否存在错误;
若所述输入内容不存在错误,则将所述输入内容对应的第一候选列表,确定为建议候选列表。
在一种可能的实现方式中,所述方法还包括:
若所述输入内容存在错误,则对所述输入内容进行纠错处理,获取所述输入内容对应的纠错后内容,以及所述纠错后内容的纠错概率;
获取所述纠错后内容对应的第二候选列表;
根据所述第一候选列表、所述第二候选列表以及所述纠错后内容的纠错概率,生成建议候选列表。
在一种可能的实现方式中,所述对所述输入内容进行错误识别,判断所述输入内容是否存在错误,包括:
判断所述输入内容是否满足预设的错误条件,所述错误条件包括以下条件中的任意一种或者多种:语言模型得分小于预设得分阈值,候选列表中各个候选内容的第一指标参数小于对应的指标阈值,同音输入内容的第二指标参数大于所述输入内容的第二指标参数;
若所述输入内容满足预设的错误条件,则确定所述输入内容存在错误。
在一种可能的实现方式中,所述第一指标参数包括以下参数中的任意一种或者多种:观看量,关注量,检索量;
所述第二指标参数包括:播放量。
在一种可能的实现方式中,所述对所述输入内容进行纠错处理,获取所述输入内容对应的纠错后内容,以及所述纠错后内容的纠错概率,包括:
将所述输入内容输入预设的纠错模型,获取所述输入内容对应的纠错后内容,以及所述纠错后内容的纠错概率。
在一种可能的实现方式中,所述将所述输入内容输入预设的纠错模型,获取所述输入内容对应的纠错后内容,以及所述纠错后内容的纠错概率之前,还包括:
获取训练数据,所述训练数据包括:大于预设数量的输入内容样本,以及对应的纠错后内容和纠错概率;
采用所述训练数据,对初始的纠错模型进行训练,得到所述预设的纠错模型。
在一种可能的实现方式中,所述对所述输入内容进行纠错处理,获取所述输入内容对应的纠错后内容,以及所述纠错后内容的纠错概率,包括:
针对所述输入内容中的每个词语,构建所述词语对应的可替换词语列表,以及所述可替换词语列表中每个可替换词语的发射概率;
针对所述输入内容中的每对相邻词语,根据所述相邻词语对应的可替换词语列表,确定所述相邻词语的转移矩阵;
按照预设的路径算法,对所述输入内容中的各对相邻词语的转移矩阵进行计算,得到各个纠错路径以及对应的纠错概率,将对应的纠错概率最大的纠错路径确定为所述输入内容对应的纠错后内容。
在一种可能的实现方式中,所述第一候选列表包括:所述输入内容对应的候选内容以及候选得分;
所述第二候选列表包括:所述纠错后内容对应的候选内容以及候选得分;
所述根据所述输入内容对应的候选列表、所述纠错后内容对应的候选列表以及所述纠错后内容的纠错概率,生成建议候选列表,包括:
按照所述纠错后内容对应的纠错概率,对所述第二候选列表中各个候选内容的候选得分进行调整;
按照候选得分对所述第一候选列表和所述第二候选列表中的候选内容进行降序排序;
将排序在前的预设数量的候选内容,确定为建议候选列表中的候选内容。
本公开实施例的建议候选列表生成方法,通过获取输入框中当前的输入内容;获取所述输入内容对应的第一候选列表;对所述输入内容进行错误识别,判断所述输入内容是否存在错误;若所述输入内容不存在错误,则将所述输入内容对应的第一候选列表,确定为建议候选列表。由此,通过对输入框中的输入内容进行自动错误识别,在确定输入内容不存在错误时,将基于输入内容得到的第一候选列表作为建议候选列表供用户参考选择,确保所推荐的建议候选列表满足用户期望,保证了输入框的输入建议功能在实际应用中的可用性,提高了用户满意度。
为达上述目的,本公开第二方面实施例提出了一种建议候选列表生成装置,包括:
获取模块,用于获取输入框中当前的输入内容;
所述获取模块,还用于获取所述输入内容对应的第一候选列表;
识别模块,用于对所述输入内容进行错误识别,判断所述输入内容是否存在错误;
确定模块,用于在所述输入内容不存在错误时,将所述输入内容对应的第一候选列表,确定为建议候选列表。
在一种可能的实现方式中,所述装置还包括:纠错模块和生成模块;
所述纠错模块,用于在所述输入内容存在错误时,对所述输入内容进行纠错处理,获取所述输入内容对应的纠错后内容,以及所述纠错后内容的纠错概率;
所述获取模块,还用于获取所述纠错后内容对应的第二候选列表;
所述生成模块,用于根据所述第一候选列表、所述第二候选列表以及所述纠错后内容的纠错概率,生成建议候选列表。
在一种可能的实现方式中,所述识别模块具体用于,
判断所述输入内容是否满足预设的错误条件,所述错误条件包括以下条件中的任意一种或者多种:语言模型得分小于预设得分阈值,候选列表中各个候选内容的第一指标参数小于对应的指标阈值,同音输入内容的第二指标参数大于所述输入内容的第二指标参数;
若所述输入内容满足预设的错误条件,则确定所述输入内容存在错误。
在一种可能的实现方式中,所述第一指标参数包括以下参数中的任意一种或者多种:观看量,关注量,检索量;
所述第二指标参数包括:播放量。
在一种可能的实现方式中,所述纠错模块具体用于,
将所述输入内容输入预设的纠错模型,获取所述输入内容对应的纠错后内容,以及所述纠错后内容的纠错概率。
在一种可能的实现方式中,所述纠错模块具体还用于,
获取训练数据,所述训练数据包括:大于预设数量的输入内容样本,以及对应的纠错后内容和纠错概率;
采用所述训练数据,对初始的纠错模型进行训练,得到所述预设的纠错模型。
在一种可能的实现方式中,所述纠错模块具体用于,
针对所述输入内容中的每个词语,构建所述词语对应的可替换词语列表,以及所述可替换词语列表中每个可替换词语的发射概率;
针对所述输入内容中的每对相邻词语,根据所述相邻词语对应的可替换词语列表,确定所述相邻词语的转移矩阵;
按照预设的路径算法,对各个输入内容中的各对相邻词语的转移矩阵进行计算,得到各个纠错路径以及对应的纠错概率,将对应的纠错概率最大的纠错路径确定为所述输入内容对应的纠错后内容。
在一种可能的实现方式中,所述第一候选列表包括:所述输入内容对应的候选内容以及候选得分;
所述第二候选列表包括:所述纠错后内容对应的候选内容以及候选得分;
所述生成模块具体用于,
按照所述纠错后内容对应的纠错概率,对所述第二候选列表中各个候选内容的候选得分进行调整;
按照候选得分对所述第一候选列表和所述第二候选列表中的候选内容进行降序排序;
将排序在前的预设数量的候选内容,确定为建议候选列表中的候选内容。
本公开实施例的建议候选列表生成装置,通过获取输入框中当前的输入内容;获取所述输入内容对应的第一候选列表;对所述输入内容进行错误识别,判断所述输入内容是否存在错误;若所述输入内容不存在错误,则将所述输入内容对应的第一候选列表,确定为建议候选列表。由此,通过对输入框中的输入内容进行自动错误识别,在确定输入内容不存在错误时,将基于输入内容得到的第一候选列表作为建议候选列表供用户参考选择,确保所推荐的建议候选列表满足用户期望,保证了输入框的输入建议功能在实际应用中的可用性,提高了用户满意度。
为达上述目的,本公开第三方面实施例提出了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如上所述的建议候选列表生成方法。
为了实现上述目的,本公开第四方面实施例提出了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的建议候选列表生成方法。
本公开附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本公开的实践了解到。
附图说明
本公开上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本公开实施例提供的一种建议候选列表生成方法的流程示意图;
图2为示例性的界面;
图3为本公开实施例提供的另一种建议候选列表生成方法的流程示意图;
图4为本公开实施例提供的一种建议候选列表生成装置的结构示意图;
图5为本公开实施例提供的另一种建议候选列表生成装置的结构示意图;
图6为本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
下面详细描述本公开的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本公开,而不能理解为对本公开的限制。
下面参考附图描述本公开实施例的建议候选列表生成方法及装置。
图1为本公开实施例提供的一种建议候选列表生成方法的流程示意图。如图1所示,该建议候选列表生成方法包括以下步骤:
步骤101、获取输入框中当前的输入内容。
本公开提供的建议候选列表生成方法的执行主体为建议候选列表生成装置,建议候选列表生成装置具体可以为硬件设备,或者硬件设备中安装的软件。其中,硬件设备例如可以为终端设备、服务器等。
本公开实施例中,输入框可以是终端设备中任一应用程序提供的输入接口,用于接收用户输入的输入内容。例如,即时通讯软件提供的输入框、浏览器提供的输入框、网购软件提供的输入框等。
步骤102、获取所述输入内容对应的第一候选列表。
本公开实施例中,输入框具有输入建议功能,基于用户所输入的输入内容自动补全生成多个候选内容。可以理解的是,第一候选列表中的候选内容是基于输入框当前的输入内容进行搜索而自动得到的。
图2为示例性的界面。在图2所示的界面中,用户在输入框中输入的输入内容为“最美地”,显示在第一候选列表中的候选内容分别为最美的期待、最美的光、最美的时光、最美的婚礼、最美的情缘、最美的期待婚礼。
步骤103、对所述输入内容进行错误识别,判断所述输入内容是否存在错误。
本公开实施例中,为了提高输入建议功能在实际应用中的可用性,对输入内容进行错误识别,判断输入内容是否存在错误。
进一步的,在上述实施例的基础上,为了提高错误识别的准确率,步骤103的具体实现方式为:判断所述输入内容是否满足预设的错误条件;若所述输入内容满足预设的错误条件,则确定所述输入内容存在错误。
其中,错误条件包括以下条件中的任意一种或者多种:语言模型得分小于预设得分阈值,候选列表中各个候选内容的第一指标参数小于对应的指标阈值,同音输入内容的第二指标参数大于所述输入内容的第二指标参数,但并不限于此。
其中,所述第一指标参数包括以下参数中的任意一种或者多种:观看量,关注量,检索量;所述第二指标参数包括:播放量,但并不限于此。
其中,指标阈值根据实际情形进行设定。
本公开实施例中,语言模型为现有的语言模型,现有的语言模型可以是基于神经网络的语言模型,也可以是N-Gram语言模型,但并不以此为限。现有的语言模型可以评估语句的合理性,并给出相应的得分,或者现有的语言模型可以评估语句的通顺性,并给出相应的得分。其中,预设得分阈值根据实际情形进行设定,语言模型得分小于预设得分阈值说明输入内容存在错误,语言模型得分大于或等于预设得分阈值说明输入内容不存在错误。
步骤104、若所述输入内容不存在错误,则将所述输入内容对应的第一候选列表,确定为建议候选列表。
本公开实施例中,在对输入内容进行错误识别后,若识别结果为输入内容不存在错误,这时第一候选列表中的各个候选内容均为满足用户期望的候选内容,可以向用户进行推荐,将第一候选列表确定为建议候选列表展示在界面中,供用户参考选择。
本公开实施例提供的建议候选列表生成,通过获取输入框中当前的输入内容;获取所述输入内容对应的第一候选列表;对所述输入内容进行错误识别,判断所述输入内容是否存在错误;若所述输入内容不存在错误,则将所述输入内容对应的第一候选列表,确定为建议候选列表。由此,通过对输入框中的输入内容进行自动错误识别,在确定输入内容不存在错误时,将基于输入内容得到的第一候选列表作为建议候选列表供用户参考选择,确保所推荐的建议候选列表满足用户期望,保证了输入框的输入建议功能在实际应用中的可用性,提高了用户满意度。
在实际情形中,用户在输入时难免会存在错误,尤其是终端设备的屏幕较小时,用户输入错误的概率更大。当输入框接收到错误的输入内容时,基于错误的输入内容生成候选列表。候选列表中的候选内容是根据错误的输入内容自动补全得到的,不再是用户期望的候选内容,进而导致需要用户手动修正在输入框所输入的输入内容,基于手动修正后的输入内容生成更新后的候选列表,操作繁琐、用户体验差。下面结合图3所示的实施例对这一情形进行说明。
图3为本公开实施例提供的另一种建议候选列表生成方法的流程示意图。如图3所示,在图1所示的实施例的基础上,在步骤103之后,该建议候选列表生成方法还包括以下步骤:
步骤105、若所述输入内容存在错误,则对所述输入内容进行纠错处理,获取所述输入内容对应的纠错后内容,以及所述纠错后内容的纠错概率。
本公开实施例中,纠错后内容可以理解为用户期望输入的正确的输入内容,例如,错误的输入内容为“醉美的”,纠错后内容为“最美的”。
本公开实施例中,纠错后内容的纠错概率可以理解为纠错后内容为用户期望输入的正确的输入内容的概率。例如为,即纠错后内容为用户期望输入的正确的输入内容的可能性为75%。以错误的输入内容为“醉美的”为例,纠错后内容“最美的”的概率为75%,即有75%的概率“最美的”是用户期望输入的正确的输入内容。
在实际应用中,根据具体应用场景的不同,可以采用不同的方式“对输入内容进行纠错处理,获取述输入内容对应的纠错后内容,以及纠错后内容的纠错概率”,举例说明如下:
作为一种可能的实现方式,“所述对所述输入内容进行纠错处理,获取所述输入内容对应的纠错后内容,以及所述纠错后内容的纠错概率”的具体实现方式为:将所述输入内容输入预设的纠错模型,获取所述输入内容对应的纠错后内容,以及所述纠错后内容的纠错概率。
本公开实施例中,预设的纠错模型是训练海量的样本得到的,能够自动输出输入内容的纠错后内容以及相应的纠错概率。
进一步地,所述将所述输入内容输入预设的纠错模型,获取所述输入内容对应的纠错后内容,以及所述纠错后内容的纠错概率之前,还包括:获取训练数据,所述训练数据包括:大于预设数量的输入内容样本,以及对应的纠错后内容和纠错概率;采用所述训练数据,对初始的纠错模型进行训练,得到所述预设的纠错模型。
本公开实施例中,初始的纠错模型可以是深度神经网络(DNN,Deep NeuralNetwork)、卷积神经网络(CNN,Convolutional Neural Network)、递归神经网络(RNN,Recursive Neural Network)等任一神经网络,但并不限于此。
其中,预设数量根据实际情形进行设定。在训练时,将每个输入内容样本作为输入,将每个输入内容样本对应的纠错后内容和纠错概率作为期望输出,训练初始的纠错模型,得到预设的纠错模型。具体的模型训练方法,更多介绍详见相关技术,此处不再赘述。
作为另一种可能的实现方式,“所述对所述输入内容进行纠错处理,获取所述输入内容对应的纠错后内容,以及所述纠错后内容的纠错概率”的具体实现方式为:
步骤11、针对所述输入内容中的每个词语,构建所述词语对应的可替换词语列表,以及所述可替换词语列表中每个可替换词语的发射概率。
具体地,针对每个词语,可以基于读音相似、字形形似、在输入法对应的输入按键临近等原则选出该词语的各个可替换词语;还可以通过对该词语的历史输入记录进行分析,挖掘出该词语的各个可替换词语,例如,用户在输入框中多次输入某个词语,历史每次输入该词语所采用的输入按键、退格按键、重新输入进行记录,建立输入按键-退格按键-重新输入关系,对该关系进行挖掘,得到该词语的各个可替换词语;并基于各个可替换词语生成该词语的可替换词语列表。
例如,输入内容中有个词为“醉”,对应的可替换词语列表包括最、罪等。
本公开实施例中,发射概率可以理解为用可替换词替换为对应的词语的概率。例如,词语为“醉”,可替换词语“最”的发射概率为90%,即有90%的概率用“醉”替换为“最”。
步骤12、针对所述输入内容中的每对相邻词语,根据所述相邻词语对应的可替换词语列表,确定所述相邻词语的转移矩阵。
具体地,由于已建立了各个词语的可替换词语列表,则对输入内容中的每对相邻词语,根据相邻词语对应的可替换词语列表,确定相邻词语的转移矩阵。
例如,输入内容中有对相邻词语为“醉美”,“醉”的可替换词语列表包括最、罪等,则“醉美”的可替换词组为“最美”概率为78%、为“罪美”概率为10%。则“醉美”的转移矩阵由“最美”概率78%、“罪美”概率10%构建而成。
步骤13、按照预设的路径算法,对所述输入内容中的各对相邻词语的转移矩阵进行计算,得到各个纠错路径以及对应的纠错概率,将对应的纠错概率最大的纠错路径确定为所述输入内容对应的纠错后内容。
其中,预设的路径算法例如为维特比算法或集中搜索(Beam Search)算法,但并不限于此。
具体地,在计算出输入内容中每对相邻词语的转移矩阵之后,根据每对相邻词语的可可替换词语列表以及转移矩阵,结合预设的路径算法,可以生成输入内容对应的多个纠错路径,以及每个纠错路径的纠错概率。例如,输入内容为“醉美的”,多个纠错路径分别为“最美的”、“罪美的”。其中,“最美的”纠错概率为78%,“罪美的”纠错概率为10%,“最美的”为输入内容“醉美的”的纠错后内容。
步骤106、获取所述纠错后内容对应的第二候选列表。
具体地,对纠错后内容进行搜索生成多个候选内容,得到第二候选列表。
步骤107、根据所述第一候选列表、所述第二候选列表以及所述纠错后内容的纠错概率,生成建议候选列表。
本公开实施例中,所述第一候选列表包括:所述输入内容对应的候选内容以及候选得分,所述第二候选列表包括:所述纠错后内容对应的候选内容以及候选得分。
其中,每个候选内容的候选得分可以通过多种方式得到,举例说明如下:
例如,可以将候选内容的搜索频繁程度作为候选得分。具体地,统计该候选内容被搜索的搜索次数,以及获取全部的搜索内容的搜索总次数,将该候选内容被搜索的搜索次数与搜索总次数的比值作为候选得分。
又例如,采用现有的语言模型计算该候选内容的候选得分。现有的语言模型可以是基于神经网络的语言模型,也可以是N-Gram语言模型,但并不以此为限。现有的语言模型可以评估语句的合理性,并给出相应的得分,或者现有的语言模型可以评估语句的通顺性,并给出相应的得分。
又例如,可以将候选内容的搜索频繁程度与语言模型给出的得分进行相加,作为候选内容的候选得分。
作为一种可能的实现方式,步骤107的具体实现方式为:
步骤21、按照所述纠错后内容对应的纠错概率,对所述第二候选列表中各个候选内容的候选得分进行调整。
具体地,可以将第二候选列表中每个候选内容的候选得分乘以纠错后内容对应的纠错概率,作为第二候选列表中每个候选内容的调整后的候选得分。
步骤22、按照候选得分对所述第一候选列表和所述第二候选列表中的候选内容进行降序排序。
步骤23、将排序在前的预设数量的候选内容,确定为建议候选列表中的候选内容。
本公开实施例中,预设数量的个数根据实际情形进行设定,例如为10个。
本公开实施例中,将第一候选列表、第二候选列表进行排序融合,根据排序在前的预设数量的候选内容生成建议候选列表,供用户参考选择。
本公开实施例提供的建议候选列表生成,通过获取输入框中当前的输入内容;获取所述输入内容对应的第一候选列表;对所述输入内容进行错误识别,判断所述输入内容是否存在错误;若所述输入内容不存在错误,则将所述输入内容对应的第一候选列表,确定为建议候选列表;若所述输入内容存在错误,则对所述输入内容进行纠错处理,获取所述输入内容对应的纠错后内容,以及所述纠错后内容的纠错概率。由此,通过对输入框中的输入内容进行自动错误识别,在确定输入内容不存在错误时,将基于输入内容得到的第一候选列表作为建议候选列表供用户参考选择;在确定输入内容存在错误时,对输入内容自动修正,无需用户手动修正,简化了用户操作,且基于输入内容得到的第一候选列表、纠错后内容对应的第二候选列表、纠错后内容的纠错概率,生成建议候选列表,生成建议候选列表供用户参考选择,确保所推荐的建议候选列表满足用户期望,保证了输入框的输入建议功能在实际应用中的可用性,提高了用户满意度。
图4为本公开实施例提供的一种建议候选列表生成装置的结构示意图。如图4所示,该建议候选列表生成装置包括:获取模块11、识别模块12、确定模块13。
获取模块11,用于获取输入框中当前的输入内容;
所述获取模块11,还用于获取所述输入内容对应的第一候选列表;
识别模块12,用于对所述输入内容进行错误识别,判断所述输入内容是否存在错误;
确定模块13,用于在所述输入内容不存在错误时,将所述输入内容对应的第一候选列表,确定为建议候选列表。
在一种可能的实现方式中,所述识别模块12具体用于,
判断所述输入内容是否满足预设的错误条件,所述错误条件包括以下条件中的任意一种或者多种:语言模型得分小于预设得分阈值,候选列表中各个候选内容的第一指标参数小于对应的指标阈值,同音输入内容的第二指标参数大于所述输入内容的第二指标参数;
若所述输入内容满足预设的错误条件,则确定所述输入内容存在错误。
在一种可能的实现方式中,所述第一指标参数包括以下参数中的任意一种或者多种:观看量,关注量,检索量;
所述第二指标参数包括:播放量。
需要说明的是,前述对建议候选列表生成方法实施例的解释说明也适用于该实施例的建议候选列表生成装置,此处不再赘述。
本公开实施例的建议候选列表生成装置,通过获取输入框中当前的输入内容;获取所述输入内容对应的第一候选列表;对所述输入内容进行错误识别,判断所述输入内容是否存在错误;若所述输入内容不存在错误,则将所述输入内容对应的第一候选列表,确定为建议候选列表;若所述输入内容存在错误,则对所述输入内容进行纠错处理,获取所述输入内容对应的纠错后内容,以及所述纠错后内容的纠错概率。由此,通过对输入框中的输入内容进行自动错误识别,在确定输入内容不存在错误时,将基于输入内容得到的第一候选列表作为建议候选列表供用户参考选择;在确定输入内容存在错误时,对输入内容自动修正,无需用户手动修正,简化了用户操作,且基于输入内容得到的第一候选列表、纠错后内容对应的第二候选列表、纠错后内容的纠错概率,生成建议候选列表,生成建议候选列表供用户参考选择,确保所推荐的建议候选列表满足用户期望,保证了输入框的输入建议功能在实际应用中的可用性,提高了用户满意度。
图5为本公开实施例提供的另一种建议候选列表生成装置的结构示意图。如图5所示,在图4所示的实施例的基础上,该建议候选列表生成装置还包括:纠错模块14和生成模块15;
所述纠错模块14,用于在所述输入内容存在错误时,对所述输入内容进行纠错处理,获取所述输入内容对应的纠错后内容,以及所述纠错后内容的纠错概率;
所述获取模块11,还用于获取所述纠错后内容对应的第二候选列表;
所述生成模块15,用于根据所述第一候选列表、所述第二候选列表以及所述纠错后内容的纠错概率,生成建议候选列表。
在一种可能的实现方式中,所述纠错模块14具体用于,
将所述输入内容输入预设的纠错模型,获取所述输入内容对应的纠错后内容,以及所述纠错后内容的纠错概率。
在一种可能的实现方式中,所述纠错模块14具体还用于,
获取训练数据,所述训练数据包括:大于预设数量的输入内容样本,以及对应的纠错后内容和纠错概率;
采用所述训练数据,对初始的纠错模型进行训练,得到所述预设的纠错模型。
在一种可能的实现方式中,所述纠错模块14具体用于,
针对所述输入内容中的每个词语,构建所述词语对应的可替换词语列表,以及所述可替换词语列表中每个可替换词语的发射概率;
针对所述输入内容中的每对相邻词语,根据所述相邻词语对应的可替换词语列表,确定所述相邻词语的转移矩阵;
按照预设的路径算法,对各个输入内容中的各对相邻词语的转移矩阵进行计算,得到各个纠错路径以及对应的纠错概率,将对应的纠错概率最大的纠错路径确定为所述输入内容对应的纠错后内容。
在一种可能的实现方式中,所述第一候选列表包括:所述输入内容对应的候选内容以及候选得分;
所述第二候选列表包括:所述纠错后内容对应的候选内容以及候选得分;
所述生成模块15具体用于,
按照所述纠错后内容对应的纠错概率,对所述第二候选列表中各个候选内容的候选得分进行调整;
按照候选得分对所述第一候选列表和所述第二候选列表中的候选内容进行降序排序;
将排序在前的预设数量的候选内容,确定为建议候选列表中的候选内容。
本公开实施例提供的建议候选列表生成装置,通过获取输入框中当前的输入内容;获取所述输入内容对应的第一候选列表;对所述输入内容进行错误识别,判断所述输入内容是否存在错误;若所述输入内容不存在错误,则将所述输入内容对应的第一候选列表,确定为建议候选列表;若所述输入内容存在错误,则对所述输入内容进行纠错处理,获取所述输入内容对应的纠错后内容,以及所述纠错后内容的纠错概率。由此,通过对输入框中的输入内容进行自动错误识别,在确定输入内容不存在错误时,将基于输入内容得到的第一候选列表作为建议候选列表供用户参考选择;在确定输入内容存在错误时,对输入内容自动修正,无需用户手动修正,简化了用户操作,且基于输入内容得到的第一候选列表、纠错后内容对应的第二候选列表、纠错后内容的纠错概率,生成建议候选列表,生成建议候选列表供用户参考选择,确保所推荐的建议候选列表满足用户期望,保证了输入框的输入建议功能在实际应用中的可用性,提高了用户满意度。
下面参考图6,其示出了适于用来实现本公开实施例的电子设备800的结构示意图。本公开实施例中的电子设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图6示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图6所示,电子设备800可以包括处理装置(例如中央处理器、图形处理器等)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储装置808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM 803中,还存储有电子设备800操作所需的各种程序和数据。处理装置801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
通常,以下装置可以连接至I/O接口805:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置806;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置807;包括例如磁带、硬盘等的存储装置808;以及通信装置809。通信装置809可以允许电子设备800与其他设备进行无线或有线通信以交换数据。虽然图6示出了具有各种装置的电子设备800,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置809从网络上被下载和安装,或者从存储装置808被安装,或者从ROM 802被安装。在该计算机程序被处理装置801执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:获取输入框中当前的输入内容;获取所述输入内容对应的第一候选列表;对所述输入内容进行错误识别,判断所述输入内容是否存在错误;若所述输入内容不存在错误,则将所述输入内容对应的第一候选列表,确定为建议候选列表。可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
本公开还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的建议候选列表生成方法。
本公开还提供一种计算机程序产品,当所述计算机程序产品中的指令处理器执行时,实现如上所述的建议候选列表生成方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本公开的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本公开的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本公开的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本公开的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本公开的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本公开各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本公开的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本公开的限制,本领域的普通技术人员在本公开的范围内可以对上述实施例进行变化、修改、替换和变型。