一种信息推荐方法、装置和电子设备
文献发布时间:2023-06-19 11:32:36
技术领域
本发明涉及数据处理技术领域,特别是涉及一种信息推荐方法、装置和电子设备。
背景技术
随着计算机技术的发展,诸如手机、平板电脑等电子设备越来越普及,给人们的生活、学习、工作带来了极大的便利。这些电子设备通常安装有输入法应用程序(简称输入法),使得用户可使用该输入法进行信息输入。
输入法中提供了很多信息推荐功能,以为用户进行信息推荐,提高用户输入效率。例如智能回复功能:基于对端用户的信息推荐本端用户的会话信息;又例如联想功能:基于用户输入的上文信息联想用户下一刻想要输入的信息如词、句等。
然而这些不同信息推荐功能通常采用不同的模型实现。比如词联想功能通常使用ngram或者语言模型(Language Model)技术进行建模的模型实现;智能回复使用对话(Chatbot)技术建模的模型实现。若将这些模型放在云端就需要部署很多机器;若将这些功能的模型部署到本地,则会占用本地设备较大的存储空间。
发明内容
本发明实施例提供一种信息推荐方法,以节约资源。
相应的,本发明实施例还提供了一种信息推荐装置和一种电子设备,用以保证上述方法的实现及应用。
为了解决上述问题,本发明实施例公开了一种信息推荐方法,具体包括:获取输入信息;基于通用模型,采用所述输入信息生成推荐信息并展示;其中,所述推荐信息包括以下至少一种:会话信息、联想信息、纠错信息和图片表情。
可选地,所述通用模型包括编码器和与所述编码器连接的解码器,所述编码器的隐层包括:对端隐层和本端隐层。
可选地,所述基于通用模型,采用所述输入信息生成推荐信息,包括:将具有对端标识的输入信息输入至所述编码器;所述编码器将所述具有对端标识的输入信息映射到对端隐层进行编码,输出对端中间语义向量并输入至所述解码器中;所述解码器对所述对端中间语义向量进行解码,得到所述具有对端标识的输入信息对应的会话信息。
可选地,所述基于通用模型,采用所述输入信息生成推荐信息,包括:将具有本端标识的输入信息输入至所述编码器;所述编码器将所述具有本端标识的输入信息映射到本端隐层进行编码,输出本端中间语义向量并输入至所述解码器中;所述解码器对所述本端中间语义向量进行解码,得到所述具有本端标识的输入信息对应的联想信息。
可选地,在所述得到所述输入信息对应的联想信息之后,所述基于通用模型,采用所述输入信息生成推荐信息,还包括:将所述联想信息与输入信息进行比对;当所述输入信息与联想信息不匹配时,生成所述输入信息对应的纠错信息。
可选地,还包括训练所述通用模型的步骤:收集第一训练数据和第二训练数据,所述第一训练数据包括多组对话对,每组对话对包括具有对端标识的信息和具有本端标识的信息,所述第二训练数据包括多个集合,每个集合包括具有本端标识的信息;分别采用所述第一训练数据和第二训练数据对所述通用模型进行训练。
可选地,所述采用第一训练数据对所述通用模型进行训练,包括:将所述第一训练数据的对话对中具有对端标识的信息输入至所述编码器;所述编码器将所述对话对中具有对端标识的信息映射到对端隐层进行编码,输出对端中间语义向量并输入至所述解码器中;所述解码器对所述对端中间语义向量进行解码,得到对应的会话信息;将所述会话信息与所述对话对中具有本端标识的信息进行比对,对所述通用模型进行反向训练;其中,所述对话对中具有本端标识的信息与所述对话对中输入至编码器中的具有对端标识的信息对应。
可选地,所述采用第二训练数据对所述通用模型进行训练,包括:将所述第二训练数据的集合中前N个文本输入至所述编码器;所述编码器将所述前N个文本映射到本端隐层进行编码,输出本端中间语义向量并输入至所述解码器中;所述解码器对所述本端中间语义向量进行解码,得到对应的联想信息;将所述联想信息与所述集合中所述前N个文本对应的后M个文本进行比对,对所述通用模型进行反向训练;其中,所述N和M为正整数。
本发明实施例还公开了一种信息推荐装置,具体包括:获取模块,用于获取输入信息;推荐模块,用于基于通用模型,采用所述输入信息生成推荐信息并展示;其中,所述推荐信息包括以下至少一种:会话信息、联想信息、纠错信息和图片表情。
可选地,所述通用模型包括编码器和与所述编码器连接的解码器,所述编码器的隐层包括:对端隐层和本端隐层。
可选地,所述推荐模块,包括:会话信息推荐子模块,用于将具有对端标识的输入信息输入至所述编码器;所述编码器将所述具有对端标识的输入信息映射到对端隐层进行编码,输出对端中间语义向量并输入至所述解码器中;所述解码器对所述对端中间语义向量进行解码,得到所述具有对端标识的输入信息对应的会话信息。
可选地,所述推荐模块,包括:联想信息推荐子模块,用于将具有本端标识的输入信息输入至所述编码器;所述编码器将所述具有本端标识的输入信息映射到本端隐层进行编码,输出本端中间语义向量并输入至所述解码器中;所述解码器对所述本端中间语义向量进行解码,得到所述具有本端标识的输入信息对应的联想信息。
可选地,所述推荐模块,还包括:纠错信息推荐子模块,用于在所述得到所述输入信息对应的联想信息之后,将所述联想信息与输入信息进行比对;当所述输入信息与联想信息不匹配时,生成所述输入信息对应的纠错信息。
可选地,所述的装置还包括:收集模块,用于收集第一训练数据和第二训练数据,所述第一训练数据包括多组对话对,每组对话对包括具有对端标识的信息和具有本端标识的信息,所述第二训练数据包括多个集合,每个集合包括具有本端标识的信息;训练模块,用于分别采用所述第一训练数据和第二训练数据对所述通用模型进行训练。
可选地,所述训练模块,包括:第一模型训练子模块,用于将所述第一训练数据的对话对中具有对端标识的信息输入至所述编码器;所述编码器将所述对话对中具有对端标识的信息映射到对端隐层进行编码,输出对端中间语义向量并输入至所述解码器中;所述解码器对所述对端中间语义向量进行解码,得到对应的会话信息;将所述会话信息与所述对话对中具有本端标识的信息进行比对,对所述通用模型进行反向训练;其中,所述对话对中具有本端标识的信息与所述对话对中输入至编码器中的具有对端标识的信息对应。
可选地,所述训练模块,包括:第二模型训练子模块,用于将所述第二训练数据的集合中前N个文本输入至所述编码器;所述编码器将所述前N个文本映射到本端隐层进行编码,输出本端中间语义向量并输入至所述解码器中;所述解码器对所述本端中间语义向量进行解码,得到对应的联想信息;将所述联想信息与所述集合中所述前N个文本对应的后M个文本进行比对,对所述通用模型进行反向训练;其中,所述N和M为正整数。
本发明实施例还公开了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如本发明实施例任一所述的信息推荐方法。
本发明实施例还公开了一种电子设备,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:获取输入信息;基于通用模型,采用所述输入信息生成推荐信息并展示;其中,所述推荐信息包括以下至少一种:会话信息、联想信息、纠错信息和图片表情。
可选地,所述通用模型包括编码器和与所述编码器连接的解码器,所述编码器的隐层包括:对端隐层和本端隐层。
可选地,所述基于通用模型,采用所述输入信息生成推荐信息,包括:将具有对端标识的输入信息输入至所述编码器;所述编码器将所述具有对端标识的输入信息映射到对端隐层进行编码,输出对端中间语义向量并输入至所述解码器中;所述解码器对所述对端中间语义向量进行解码,得到所述具有对端标识的输入信息对应的会话信息。
可选地,所述基于通用模型,采用所述输入信息生成推荐信息,包括:将具有本端标识的输入信息输入至所述编码器;所述编码器将所述具有本端标识的输入信息映射到本端隐层进行编码,输出本端中间语义向量并输入至所述解码器中;所述解码器对所述本端中间语义向量进行解码,得到所述具有本端标识的输入信息对应的联想信息。
可选地,在所述得到所述输入信息对应的联想信息之后,所述基于通用模型,采用所述输入信息生成推荐信息,还包括:将所述联想信息与输入信息进行比对;当所述输入信息与联想信息不匹配时,生成所述输入信息对应的纠错信息。
可选地,还包含用于进行以下训练所述通用模型的指令:收集第一训练数据和第二训练数据,所述第一训练数据包括多组对话对,每组对话对包括具有对端标识的信息和具有本端标识的信息,所述第二训练数据包括多个集合,每个集合包括具有本端标识的信息;分别采用所述第一训练数据和第二训练数据对所述通用模型进行训练。
可选地,所述采用第一训练数据对所述通用模型进行训练,包括:将所述第一训练数据的对话对中具有对端标识的信息输入至所述编码器;所述编码器将所述对话对中具有对端标识的信息映射到对端隐层进行编码,输出对端中间语义向量并输入至所述解码器中;所述解码器对所述对端中间语义向量进行解码,得到对应的会话信息;将所述会话信息与所述对话对中具有本端标识的信息进行比对,对所述通用模型进行反向训练;其中,所述对话对中具有本端标识的信息与所述对话对中输入至编码器中的具有对端标识的信息对应。
可选地,所述采用第二训练数据对所述通用模型进行训练,包括:将所述第二训练数据的集合中前N个文本输入至所述编码器;所述编码器将所述前N个文本映射到本端隐层进行编码,输出本端中间语义向量并输入至所述解码器中;所述解码器对所述本端中间语义向量进行解码,得到对应的联想信息;将所述联想信息与所述集合中所述前N个文本对应的后M个文本进行比对,对所述通用模型进行反向训练;其中,所述N和M为正整数。
本发明实施例包括以下优点:
本发明实施例中,可以获取用户的输入信息,然后基于通用模型,采用所述输入信息生成推荐信息并展示,其中,所述推荐信息包括以下至少一种:会话信息、联想信息和纠错信息;进而能够采用通用模型进行各种信息的推荐,从而无需在本地或客户端安装各种不同的信息推荐模型,节约了资源。
附图说明
图1是本发明的一种信息推荐方法实施例的步骤流程图;
图2a是本发明的一种通用模型实施例的结构示意图。
图2b是本发明的一种通用模型训练方法实施例的步骤流程图;
图3是本发明的一种信息推荐方法可选实施例的步骤流程图;
图4是本发明的一种信息推荐装置实施例的结构框图;
图5是本发明的一种信息推荐装置可选实施例的结构框图;
图6根据一示例性实施例示出的一种用于信息推荐的电子设备的结构框图;
图7是本发明根据另一示例性实施例示出的一种用于信息推荐的电子设备的结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明实施例的核心构思之一是,基于通用模型生成各种推荐信息,进而无需在本地或客户端安装各种不同的信息推荐模型,节约资源。
其中,所述推荐信息包括以下至少一种:会话信息、联想信息、纠错信息和图片表情;当然还可以包括其他推荐信息,本发明实施例对此不作限制。
参照图1,示出了本发明的一种信息推荐方法实施例的步骤流程图,具体可以包括如下步骤:
步骤102、获取输入信息;
步骤104、基于通用模型,采用所述输入信息生成推荐信息并展示。
本发明实施例中,可以预先训练通用模型,以使训练后的通用模型能够生成各种推荐信息;如联想信息、会话信息、纠错信息和图片表情等,本发明实施例对此不作限制。其中,所述通用模型的训练过程在后续进行说明。然后可以将训练后的所述通用模型部署在服务器端,也可以部署在客户端,以便于输入法基于用户的输入信息,为用户进行信息推荐。
在用户使用输入法进行输入的过程中,可以获取用户的输入信息。其中,所述输入信息可以是指与输入相关的信息,如本端信息、对端信息、输入环境信息等等,本发明实施例对此不作限制。然后可以将所述输入信息输入至训练后的通用模型中,由通用模型对所述输入信息进行处理,生成对应的推荐信息并展示。其中,通用模型可以只生成其中一种推荐信息,也可以生成其中两种或两种以上的推荐信息,本发明实施例对此不作限制;进而便于用户按照自身需求进行选取。
综上,本发明实施例中,可以获取用户的输入信息,然后基于通用模型,采用所述输入信息生成推荐信息并展示,其中,所述推荐信息包括以下至少一种:会话信息、联想信息、纠错信息和图片表情;进而能够采用通用模型进行各种信息的推荐,从而无需在本地或客户端安装各种不同的信息推荐模型,节约了资源。
以下对通用模型的训练过程进行说明。
本发明的一个示例中,所述通用模型包括编码器和与所述编码器连接的解码器,所述编码器的隐层包括:对端隐层和本端隐层。参照图2a,编码器的隐层包括两个部分:对端隐层1和本端隐层2,其中,3为解码器的隐层。本发明的一个示例中,所述通用模型可以是Seq2seq(序列到序列)模型,当然也可以是其他模型,本发明实施例对此不作限制。
参照图2b,示出了本发明的一种通用模型训练方法实施例的步骤流程图;包括如下步骤:
步骤202、收集第一训练数据和第二训练数据,所述第一训练数据包括多组对话对,每组对话对包括具有对端标识的信息和具有本端标识的信息,所述第二训练数据包括多个集合,每个集合包括具有本端标识的信息。
本发明实施例中,可以从全网收集训练数据,然后采用收集的训练数据对通用模型进行训练。由于会话信息是与对端用户进行交互的信息如回复信息、发问信息等,联想信息是用户下次可能输入的信息,两者是不同的推荐信息;因此可以收集用于训练通用模型生成会话信息的第一训练数据和用于训练通用模型生成联想信息的第二训练数据。
本发明实施例中,一种收集第一训练数据的方式可以是,收集多组对话对,每组对话对中可以包括至少一条对端信息和本端基于该条对端信息进行交互的至少一条会话信息。然后分别为每组对话对中的对端信息添加对端标识,以及为本端的会话信息添加本端标识,进而得到包括具有对端标识的信息和具有本端标识的信息的多组对话对;再采用多组对话对生成第一训练数据。其中,每组对话对中对端信息和本端信息按照时间顺序排列。
本发明实施例中,一种收集第二训练数据的方式可以是,收集各用户的本端信息;然后将每个用户的本端信息划分为多个集合,并为每集合中本端信息添加本端标识,再采用多个添加本端标识后的集合生成第二训练数据。其中,可以将多个连续的字词划分为一个集合,也可以将一个语句划分为一个集合,还可以将多个连续的语句划分为一个集合,本发明实施例对此不作限制。其中,当集合中包括多个连续的语句时,该集合中多个连续的语句按照时间顺序排列。
本发明的一个示例中,在收集上述多组对话对后,可以将所有组对话对划分为多个集合;然后为每个集合的每个对话对中本端信息和对端信息均添加本端标识,以丰富第二训练数据。
当然,还可以在获取每组对话对的同时,获取对应的输入环境信息,然后将每组对话对的输入环境信息添加至对应组对话对中,并为每组对话对的输入环境信息添加对端标识。以及在获取每个用户的本端信息的同时,获取每条本端信息的输入环境信息,并将各条本端信息的输入环境信息添加至对应的集合中;然后为每条输入环境信息添加本端标识。其中,所述输入环境信息可以包括多种,如时间、环境、天气等等,本发明实施例对此不作限制。
此外,还可以按照生成会话信息的需求,获取其他的信息作为第一训练数据;以及按照生成联想信息的需求,获取其他的信息作为第二训练数据,本发明实施例对此不作限制。
步骤204、分别采用所述第一训练数据和第二训练数据对所述通用模型进行训练。
其中,采用所述第一训练数据对所述通用模型进行训练可以包括以下子步骤:
子步骤22、将所述第一训练数据的对话对中具有对端标识的信息输入至所述编码器。
子步骤24、所述编码器将所述对话对中具有对端标识的信息映射到对端隐层进行编码,输出对端中间语义向量并输入至所述解码器中。
本发明实施例中,可以将所述第一训练数据的对话对中具有对端标识的信息输入至通用模型中,以便于通用模型预测本端的会话信息。其中,针对每一组对话对,可以将该组对话对具有对端标识的信息输入至通用模型的编码器中。然后编码器基于输入信息的标识,确定对应映射的隐层;进而将该组对话对中具有对端标识的信息映射至对端隐层。编码器通过对端隐层对该组对话对具有对端标识的信息编码后,输出对应的对端中间语义向量;然后将所述对端中间语义向量输入至通用模型的解码器中,由解码器输出预测结果。
子步骤26、所述解码器对所述对端中间语义向量进行解码,得到对应的会话信息。
子步骤28、将所述会话信息与所述对话对中具有本端标识的信息进行比对,对所述通用模型进行反向训练;其中,所述对话对中具有本端标识的信息与所述对话对中输入至编码器中的具有对端标识的信息对应。
解码器接收对端中间语义向量后,可以采用其中的隐层对所述对端中间语义向量进行解码,然后输出会话信息。后续可以将编码器输出的会话信息与该组对话对中具有本端标识的信息进行比对,然后通过梯度反向传播的方式,经过多次训练迭代,对解码器的隐层的参数和编码器中对端隐层的参数进行调整;进而实现采用第一训练数据对所述通用模型进行训练。其中,与所述会话信息比对的具有本端标识的信息,与所述对话对中输入至编码器中的具有对端标识的信息对应。其中,通用模型可以输出多个信息片段,可以按照各信息片段的输出顺序,将各信息片段进行拼接,得到会话信息。此外,通用模型的解码器在输出会话信息的同时,还可以输出各会话信息对应的概率;对应的,训练迭代可以直至输出与该组对话对中具有本端标识的信息匹配的会话信息的概率最大为止。
其中,当某组对话对中包含对端信息和本端信息时,输入至编码器的具有对端标识的信息可以是指对端信息。当某组对话对中包含对端信息、本端信息和输入环境信息时,输入至编码器的具有对端标识的信息可以是指对端信息和输入环境信息。
本发明实施例中,当每组对话对中的对端信息包括多条时,每组对话对包括以下三种情况:第一情况是:对端信息和本端信息均不存在连续的情况,例如:A/B/A/B….,A为对端信息,B为本端信息。第二情况是:对端信息存在连续的情况和本端信息不存在连续的情况,例如:A/B/AAA/B/A/B….。第三情况是:对端信息和本端信息均存在连续的情况,例如,A/B/AAA/B/A/BBB….。在训练通用模型的过程中,针对第一种情况,可以依次将每条对端信息输入至编码器中,以及采用该对端信息之后一条本端信息与解码器输出的会话信息进行比对。针对第二种情况,可以依次将每条或多条连续的对端信息输入至编码器中,以及采用该对端信息之后一条本端信息与解码器输出的会话信息进行比对。针对第三种情况,可以依次将每条或多条连续的对端信息输入至编码器中,以及采用该对端信息之后一条或多条连续的本端信息与解码器输出的会话信息进行比对。
其中,采用所述第二训练数据对所述通用模型进行训练可以包括以下子步骤:
子步骤42、将所述第二训练数据的每个集合中前N个文本输入至所述编码器。
子步骤44、所述编码器将所述前N个文本到本端隐层进行编码,输出本端中间语义向量并输入至所述解码器中。
本发明实施例中,可以将所述第二训练数据的每个集合中的前N个文本输入至通用模型中,以便于通用模型预测本端的联想信息;N为正整数。其中,针对每一个集合,可以将该集合中的前N个文本输入至通用模型的编码器中。然后编码器基于输入其中信息的标识,确定对应的映射的隐层;进而将该集合中的前N个文本映射至本端隐层。编码器通过本端隐层对该集合中的前N个文本编码后,输出对应的本端中间语义向量;然后将所述本端中间语义向量输入至通用模型的解码器中,由解码器输出预测结果。
子步骤46、解码器对所述本端中间语义向量进行解码,得到对应的联想信息。
子步骤48、将所述联想信息与每个集合中所述前N个文本对应的后M个文本进行比对,对所述通用模型进行反向训练。
解码器接收本端中间语义向量后,可以采用其中全部隐层对所述本端中间语义向量进行解码,然后输出联想信息。后续可以将编码器输出的联想信息与该集合中的后M个文本进行比对,然后通过梯度反向传播的方式,经过多次训练迭代,对解码器和编码器中本端隐层的参数进行调整;进而实现采用第二训练数据对所述通用模型进行训练。其中,M为正整数。其中,通用模型可以输出多个信息片段,可以按照各信息片段的输出顺序,将各信息片段进行拼接,得到联想信息。此外,通用模型的解码器在输出联想信息的同时,可以输出各联想信息对应的概率;对应的,训练迭代,可以直至输出与该集合中的后M个文本匹配的联想信息的概率最大为止。
本发明的一个示例中,针对包含多个连续的字词划分的集合,所述前N个文本可以是前x个字词对应的文本,所述后M个文本可以是后y个字词对应的个文本,进而使得通用模型实现词联想;其中,x,y为正整数。本发明实施例可以通过分别取不同的N、M、x和y的值,来采用每个集合对通用模型进行训练。
本发明的一个示例中,针对包含一个语句的集合,所述前N个文本可以是该语句的前N个文本,所述后M个文本可以是该语句的后M个文本;进而使得通用模型实现词联想。本发明实施例可以通过分别取不同的N和M的值,来采用每个集合对通用模型进行训练。
针对包含多个语句的集合,本发明的一个示例中,所述前N个文本可以是前一条本端信息对应的所有文本,所述后M个文本可以是后一条本端信息对应的所有文本。本发明的又一个示例中,所述前N个文本可以是前n1条本端信息的所有文本,所述后M个文本可以是指后m1条本端信息的所有文本,进而使得使得通用模型实现多句联想,其中,n1、m1均为正整数。本发明实施例中,可以通过分别取不同的N、M、n1和m1的值,来采用每个集合对通用模型进行训练。本发明的又一个示例中,所述前N个文本可以是前n2条本端信息的所有文本,所述后M个文本可以是指后一条本端信息的所有文本,进而使得使得通用模型实现多句联想,其中,n2为正整数。本发明实施例中,可以通过分别取不同的N、M和n2的值,来采用每个集合对通用模型进行训练。本发明的又一个示例中,所述前N个文本可以是前一条本端信息的所有文本,所述后M个文本可以是指后m2条本端信息的所有文本,进而使得使得通用模型实现多句联想,其中,m2为正整数。本发明实施例中,可以通过分别取不同的N、M和m2的值,来采用每个集合对通用模型进行训练。
当然,可以按照生成会话信息的需求,以及生成联想信息的需求确定输入至编码器的信息,以及后续反向训练过程中与解码器输出的推荐信息进行比对的信息,本发明实施例对此不作限制。
然后可以采用训练后的通用模型基于对输入信息进行信息推荐,具体如下:
参照图3,示出了本发明的一种信息推荐方法可选实施例的步骤流程图,具体可以包括如下步骤:
步骤302、获取输入信息。
本发明实施例中,在用户输入过程中,可以获取本端信息、对端信息和输入环境信息中的至少一种,作为输入信息。
本发明的一个示例中,若获取了对端信息,则可以为所述对端信息添加对端标识;若获取了对端信息和输入环境信息,或者,获取了本端信息、输入环境信息和对端信息,则可以为所述对端信息和输入环境信息均添加对端标识。然后参照步骤304-步骤308,采用训练后的通用模型基于对端信息生成会话信息。
本发明的另一个示例中,若获取了本端信息,则可以为所述本端信息添加本端标识;若获取了本端信息和输入环境信息,则可以为所述本端信息和输入环境信息均添加本端标识;若获取了本端信息、输入环境信息和对端信息,则可以为本端信息、输入环境信息和对端信息均添加本端标识。然后参照步骤310-步骤314,采用训练后的通用模型基于对端信息生成联想信息。
步骤304、将具有对端标识的输入信息输入至所述编码器。
步骤306、所述编码器将所述具有对端标识的输入信息映射到对端隐层进行编码,输出对端中间语义向量并输入至所述解码器中。
步骤308、所述解码器对所述对端中间语义向量进行解码,得到所述具有对端标识的输入信息对应的会话信息。
其中,步骤304-步骤308与上述子步骤22-子步骤26类似,在此不再赘述。
其中,执行完步骤308后,可以执行步骤320。
步骤310、将具有本端标识的输入信息输入至所述编码器。
步骤312、所述编码器将所述具有本端标识的输入信息映射到本端隐层进行编码,输出本端中间语义向量并输入至所述解码器中。
步骤314、所述解码器对所述本端中间语义向量进行解码,得到所述具有本端标识的输入信息对应的联想信息。
其中,步骤310-步骤314与上述子步骤42-子步骤46类似,在此不再赘述。然后可以执行步骤320。
本发明的另一实施例中,所述联想信息可以用于纠错,因此在通用模型生成联想信息后,其中,执行完步骤314后,也可以执行步骤316-步骤318。
步骤316、将所述联想信息与输入信息进行比对。
步骤318、当所述输入信息与联想信息不匹配时,生成所述输入信息对应的纠错信息。
可以将所述联想信息与输入信息进行比对,当所述输入信息与联想信息不匹配时,生成所述输入信息对应的纠错信息。其中,可以确定联想信息的文本数Q,将联想信息与输入信息的后Q个文本进行比对,判断输入信息与联想信息是否匹配。若输入信息的后Q个文本与联想信息匹配,则确定输入信息与联想信息匹配;此时说明输入信息的后Q个文本没有错误,则无需进行纠错。若输入信息的后Q个文本与联想信息不匹配,则确定输入信息与联想信息不匹配;此时说明输入信息的后Q个文本存在错误,则需要进行纠错,因此可以将所述联想信息作为输入信息的后Q个文本对应的纠错信息。其中,Q为正整数。
步骤320、展示以下至少一种推荐信息:会话信息、联想信息和纠错信息。
本发明实施例中,可以将所述推荐信息作为候选项进行展示。其中,可以在输入法键盘区域展示,如候选栏、联想区等等,也可以在其他应用程序的指定区域展示,本发明实施例对此不作限制。
其中,当所述候选项为上述会话信息、联想信息和纠错信息中的任意一种时,可以按照通用模型输出各候选项概率对候选项进行排序,然后按照排序结果展示各候选项。当所述候选项为上述会话信息、联想信息和纠错信息中的两种或三种时,可以按照预设顺序(或自定义顺序),确定不同种推荐信息对应候选项的展示顺序。其中,可以交叉展示各种信息对应的候选项,也可以在一种推荐信息的候选项完全展示后,再展示另一种推荐信息对应的候选项,本发明实施例对此不作限制。
其中,在确定纠错信息后,可以在展示纠错信息的同时,在编辑框中对用户输入的信息中出错的文本进行标识,以提醒用户输入错误,便于用户对输入错误的文本进行纠错。
综上,本发明实施例中,可以获取用户的输入信息,然后基于通用模型,采用所述输入信息生成推荐信息并展示,其中,所述推荐信息包括以下至少一种:会话信息、联想信息和纠错信息;进而能够采用通用模型进行各种信息的推荐,从而无需在本地或客户端安装各种不同的信息推荐模型,节约了资源。
其次,本发明实施例中,在采用通用模型基于所述输入信息生成联想信息之后,还可以将所述联想信息与输入信息进行比对;当所述输入信息与联想信息不匹配时,生成所述输入信息对应的纠错信息;进而能够对用户输入的信息进行纠错,提高了用户纠错的效率。
再次,本发明实施例中,所述通用模型包括编码器和与所述编码器连接的解码器,所述编码器的隐层包括:对端隐层和本端隐层;进而在基于通用模型,采用所述输入信息生成推荐信息过程中,通过编码器将具有对端标识的输入信息映射到对端隐层进行编码,然后由解码器输出会话信息,以及将具有本端标识的输入信息映射到本端隐层进行编码,然后由解码器输出联想信息;进而通过编码器不同隐层的处理,能够准确的生成不同种推荐信息。
本发明的一个可选实施例中,所述联想信息还可以用于推荐图片表情。在基于通用模型,确定所述输入信息对应的联想信息后,可以将联想信息与图片表情的标签进行匹配,查找与联想信息匹配的标签。然后选取出与联想信息匹配的标签对应的图片表情并展示;进而通过通用模型实现图片表情的推荐。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图4,示出了本发明的一种信息推荐装置实施例的结构框图,具体可以包括如下模块:
获取模块402,用于获取输入信息;
推荐模块404,用于基于通用模型,采用所述输入信息生成推荐信息并展示;其中,所述推荐信息包括以下至少一种:会话信息、联想信息、纠错信息和图片表情。
参照图5,示出了本发明的一种信息推荐装置可选实施例的结构框图。
本发明一个可选的实施例中,所述通用模型包括编码器和与所述编码器连接的解码器,所述编码器的隐层包括:对端隐层和本端隐层。
本发明一个可选的实施例中,所述推荐模块404,包括:
会话信息推荐子模块4042,用于将具有对端标识的输入信息输入至所述编码器;所述编码器将所述具有对端标识的输入信息映射到对端隐层进行编码,输出对端中间语义向量并输入至所述解码器中;所述解码器对所述对端中间语义向量进行解码,得到所述具有对端标识的输入信息对应的会话信息。
本发明一个可选的实施例中,所述推荐模块404,包括:
联想信息推荐子模块4044,用于将具有本端标识的输入信息输入至所述编码器;所述编码器将所述具有本端标识的输入信息映射到本端隐层进行编码,输出本端中间语义向量并输入至所述解码器中;所述解码器对所述本端中间语义向量进行解码,得到所述具有本端标识的输入信息对应的联想信息。
本发明一个可选的实施例中,所述推荐模块404,还包括:
纠错信息推荐子模块4046,用于在所述得到所述输入信息对应的联想信息之后,将所述联想信息与输入信息进行比对;当所述输入信息与联想信息不匹配时,生成所述输入信息对应的纠错信息。
本发明一个可选的实施例中,所述的装置还包括:
收集模块406,用于收集第一训练数据和第二训练数据,所述第一训练数据包括多组对话对,每组对话对包括具有对端标识的信息和具有本端标识的信息,所述第二训练数据包括多个集合,每个集合包括具有本端标识的信息;
训练模块408,用于分别采用所述第一训练数据和第二训练数据对所述通用模型进行训练。
本发明一个可选的实施例中,所述训练模块408,包括:
第一模型训练子模块4082,用于将所述第一训练数据的对话对中具有对端标识的信息输入至所述编码器;所述编码器将所述对话对中具有对端标识的信息映射到对端隐层进行编码,输出对端中间语义向量并输入至所述解码器中;所述解码器对所述对端中间语义向量进行解码,得到对应的会话信息;将所述会话信息与所述对话对中具有本端标识的信息进行比对,对所述通用模型进行反向训练;其中,所述对话对中具有本端标识的信息与所述对话对中输入至编码器中的具有对端标识的信息对应。
本发明一个可选的实施例中,所述训练模块408,包括:
第二模型训练子模块4084,用于将所述第二训练数据的集合中前N个文本输入至所述编码器;所述编码器将所述前N个文本映射到本端隐层进行编码,输出本端中间语义向量并输入至所述解码器中;所述解码器对所述本端中间语义向量进行解码,得到对应的联想信息;将所述联想信息与所述集合中所述前N个文本对应的后M个文本进行比对,对所述通用模型进行反向训练;其中,所述N和M为正整数。
综上,本发明实施例中,可以获取用户的输入信息,然后基于通用模型,采用所述输入信息生成推荐信息并展示,其中,所述推荐信息包括以下至少一种:会话信息、联想信息、纠错信息和图片表情;进而能够采用通用模型进行各种信息的推荐,从而无需在本地或客户端安装各种不同的信息推荐模型,节约了资源。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
图6是根据一示例性实施例示出的一种用于信息推荐的电子设备600的结构框图。例如,电子设备600可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图6,电子设备600可以包括以下一个或多个组件:处理组件602,存储器604,电力组件606,多媒体组件608,音频组件610,输入/输出(I/O)的接口612,传感器组件614,以及通信组件616。
处理组件602通常控制电子设备600的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件602可以包括一个或多个处理器620来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件602可以包括一个或多个模块,便于处理组件602和其他组件之间的交互。例如,处理部件602可以包括多媒体模块,以方便多媒体组件608和处理组件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接口612为处理组件602和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件614包括一个或多个传感器,用于为电子设备600提供各个方面的状态评估。例如,传感器组件614可以检测到设备600的打开/关闭状态,组件的相对定位,例如所述组件为电子设备600的显示器和小键盘,传感器组件614还可以检测电子设备600或电子设备600一个组件的位置改变,用户与电子设备600接触的存在或不存在,电子设备600方位或加速/减速和电子设备600的温度变化。传感器组件614可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件614还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件614还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件616被配置为便于电子设备600和其他设备之间有线或无线方式的通信。电子设备600可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信部件614经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信部件614还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备600可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器604,上述指令可由电子设备600的处理器620执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行一种信息推荐方法,所述方法包括:获取输入信息;基于通用模型,采用所述输入信息生成推荐信息并展示;其中,所述推荐信息包括以下至少一种:会话信息、联想信息、纠错信息和图片表情。
可选地,所述通用模型包括编码器和与所述编码器连接的解码器,所述编码器的隐层包括:对端隐层和本端隐层。
可选地,所述基于通用模型,采用所述输入信息生成推荐信息,包括:将具有对端标识的输入信息输入至所述编码器;所述编码器将所述具有对端标识的输入信息映射到对端隐层进行编码,输出对端中间语义向量并输入至所述解码器中;所述解码器对所述对端中间语义向量进行解码,得到所述具有对端标识的输入信息对应的会话信息。
可选地,所述基于通用模型,采用所述输入信息生成推荐信息,包括:将具有本端标识的输入信息输入至所述编码器;所述编码器将所述具有本端标识的输入信息映射到本端隐层进行编码,输出本端中间语义向量并输入至所述解码器中;所述解码器对所述本端中间语义向量进行解码,得到所述具有本端标识的输入信息对应的联想信息。
可选地,在所述得到所述输入信息对应的联想信息之后,所述基于通用模型,采用所述输入信息生成推荐信息,还包括:将所述联想信息与输入信息进行比对;当所述输入信息与联想信息不匹配时,生成所述输入信息对应的纠错信息。
可选地,还包括训练所述通用模型的步骤:收集第一训练数据和第二训练数据,所述第一训练数据包括多组对话对,每组对话对包括具有对端标识的信息和具有本端标识的信息,所述第二训练数据包括多个集合,每个集合包括具有本端标识的信息;分别采用所述第一训练数据和第二训练数据对所述通用模型进行训练。
可选地,所述采用第一训练数据对所述通用模型进行训练,包括:将所述第一训练数据的对话对中具有对端标识的信息输入至所述编码器;所述编码器将所述对话对中具有对端标识的信息映射到对端隐层进行编码,输出对端中间语义向量并输入至所述解码器中;所述解码器对所述对端中间语义向量进行解码,得到对应的会话信息;将所述会话信息与所述对话对中具有本端标识的信息进行比对,对所述通用模型进行反向训练;其中,所述对话对中具有本端标识的信息与所述对话对中输入至编码器中的具有对端标识的信息对应。
可选地,所述采用第二训练数据对所述通用模型进行训练,包括:将所述第二训练数据的集合中前N个文本输入至所述编码器;所述编码器将所述前N个文本映射到本端隐层进行编码,输出本端中间语义向量并输入至所述解码器中;所述解码器对所述本端中间语义向量进行解码,得到对应的联想信息;将所述联想信息与所述集合中所述前N个文本对应的后M个文本进行比对,对所述通用模型进行反向训练;其中,所述N和M为正整数。
图7是本发明根据另一示例性实施例示出的一种用于信息推荐的电子设备700的结构示意图。该电子设备700可以是服务器,该服务器可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)722(例如,一个或一个以上处理器)和存储器732,一个或一个以上存储应用程序742或数据744的存储介质730(例如一个或一个以上海量存储设备)。其中,存储器732和存储介质730可以是短暂存储或持久存储。存储在存储介质730的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器722可以设置为与存储介质730通信,在服务器上执行存储介质730中的一系列指令操作。
服务器还可以包括一个或一个以上电源726,一个或一个以上有线或无线网络接口750,一个或一个以上输入输出接口758,一个或一个以上键盘756,和/或,一个或一个以上操作系统741,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
一种电子设备,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:获取输入信息;基于通用模型,采用所述输入信息生成推荐信息并展示;其中,所述推荐信息包括以下至少一种:会话信息、联想信息、纠错信息和图片表情。
可选地,所述通用模型包括编码器和与所述编码器连接的解码器,所述编码器的隐层包括:对端隐层和本端隐层。
可选地,所述基于通用模型,采用所述输入信息生成推荐信息,包括:将具有对端标识的输入信息输入至所述编码器;所述编码器将所述具有对端标识的输入信息映射到对端隐层进行编码,输出对端中间语义向量并输入至所述解码器中;所述解码器对所述对端中间语义向量进行解码,得到所述具有对端标识的输入信息对应的会话信息。
可选地,所述基于通用模型,采用所述输入信息生成推荐信息,包括:将具有本端标识的输入信息输入至所述编码器;所述编码器将所述具有本端标识的输入信息映射到本端隐层进行编码,输出本端中间语义向量并输入至所述解码器中;所述解码器对所述本端中间语义向量进行解码,得到所述具有本端标识的输入信息对应的联想信息。
可选地,在所述得到所述输入信息对应的联想信息之后,所述基于通用模型,采用所述输入信息生成推荐信息,还包括:将所述联想信息与输入信息进行比对;当所述输入信息与联想信息不匹配时,生成所述输入信息对应的纠错信息。
可选地,还包含用于进行以下训练所述通用模型的指令:收集第一训练数据和第二训练数据,所述第一训练数据包括多组对话对,每组对话对包括具有对端标识的信息和具有本端标识的信息,所述第二训练数据包括多个集合,每个集合包括具有本端标识的信息;分别采用所述第一训练数据和第二训练数据对所述通用模型进行训练。
可选地,所述采用第一训练数据对所述通用模型进行训练,包括:将所述第一训练数据的对话对中具有对端标识的信息输入至所述编码器;所述编码器将所述对话对中具有对端标识的信息映射到对端隐层进行编码,输出对端中间语义向量并输入至所述解码器中;所述解码器对所述对端中间语义向量进行解码,得到对应的会话信息;将所述会话信息与所述对话对中具有本端标识的信息进行比对,对所述通用模型进行反向训练;其中,所述对话对中具有本端标识的信息与所述对话对中输入至编码器中的具有对端标识的信息对应。
可选地,所述采用第二训练数据对所述通用模型进行训练,包括:将所述第二训练数据的集合中前N个文本输入至所述编码器;所述编码器将所述前N个文本映射到本端隐层进行编码,输出本端中间语义向量并输入至所述解码器中;所述解码器对所述本端中间语义向量进行解码,得到对应的联想信息;将所述联想信息与所述集合中所述前N个文本对应的后M个文本进行比对,对所述通用模型进行反向训练;其中,所述N和M为正整数。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种信息推荐方法、一种信息推荐装置和一种电子设备,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
- 信息推荐方法、信息推荐装置、存储介质及电子设备
- 信息推荐方法、信息推荐装置、存储介质与电子设备