掌桥专利:专业的专利平台
掌桥专利
首页

问答数据的处理方法、装置、存储介质与电子设备

文献发布时间:2023-06-19 12:10:19


问答数据的处理方法、装置、存储介质与电子设备

技术领域

本公开涉及数据处理技术领域,尤其涉及一种问答数据的处理方法、问答数据的处理装置、计算机可读存储介质与电子设备。

背景技术

随着计算机技术等的发展,许多企业都已经实现了咨询业务的线上办理。在现有的咨询业务中,多数企业主要是通过两种方式回复用户咨询问题的,一种是由专业的客服人员为用户提供问题的答案,另一种是通过预先配置的问答数据库对用户的问题进行匹配,来给出对应问题的答案。

然而,随着用户咨询量的不断增多,问题的种类和内容也随之增多,而上述通过客服人员和预先配置的问答数据库解决用户提问问题的方法只能在一定的问题范围内满足用户的咨询需求,不能根据用户的特点和历史行为等为用户主动推荐问题。因此,难以挖掘用户的潜在需求,向用户提供更有针对性的服务,导致用户体验不佳。

需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。

发明内容

本公开提供了一种问答数据的处理方法、问答数据的处理装置、计算机可读存储介质与电子设备,进而至少在一定程度上解决现有技术无法为用户推荐感兴趣的问题的技术问题。

本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。

根据本公开的第一方面,提供一种问答数据的处理方法,所述方法包括:获取目标用户的历史对话数据和所述目标用户的用户标签数据;按照所述历史对话数据的时间顺序生成关于所述目标用户的历史咨询问题的问题序列;根据所述目标用户的用户标签数据,在咨询问题库中搜索出所述目标用户具有访问权限的待推荐问题;通过预先训练的深度学习模型对所述问题序列进行预测,并根据预测结果在所述待推荐问题中确定所述目标用户的目标推荐问题。

在本公开的一种示例性实施方式中,所述按照所述历史对话数据的时间顺序生成关于所述目标用户的历史咨询问题的问题序列,包括:按照所述目标用户与所述历史对话数据中各个历史咨询问题的交互时间,对所述历史对话数据中的历史咨询问题进行排序,以生成所述问题序列。

在本公开的一种示例性实施方式中,所述根据所述目标用户的用户标签数据,在咨询问题库中搜索出所述目标用户具有访问权限的待推荐问题,包括:在所述咨询问题库中,根据各咨询问题的问题类型确定各所述咨询问题的问题标签;将各所述咨询问题的问题标签与所述用户标签数据中的用户标签进行匹配,以确定所述待推荐问题。

在本公开的一种示例性实施方式中,所述将各所述咨询问题的问题标签与所述用户标签数据中的用户标签进行匹配,以确定所述待推荐问题,包括:根据各所述咨询问题的答案和所述答案的答案标签,生成各所述咨询问题的标签数据;将各所述咨询问题的标签数据中的答案标签与所述用户标签数据中的用户标签进行匹配;在任意一个咨询问题的标签数据中的全部答案标签与所述用户标签数据中对应的用户标签匹配时,将所述任意一个咨询问题确定为所述待推荐问题。

在本公开的一种示例性实施方式中,通过以下方法生成所述预先训练的深度学习模型:获取训练用户的历史对话数据;按照所述训练用户的历史对话数据的时间顺序生成关于所述训练用户的历史咨询问题的训练问题序列;将所述训练问题序列输入至预设的深度学习模型中进行训练,以生成所述预先训练的深度学习模型。

在本公开的一种示例性实施方式中,在生成关于所述训练用户的历史咨询问题的训练问题序列时,所述方法还包括:在所述训练问题序列的首部插入一个或多个预设数据,并按照固定长度对插入所述预设数据后的训练问题序列进行切分,以将插入所述预设数据后的训练问题序列转换为多个等长的序列片段;其中,每个所述序列片段至少包括一个所述训练问题序列中的元素,所述预设数据表示在对应时刻所述训练用户未生成历史对话数据,所述固定长度不大于插入所述预设数据后的训练问题序列的序列长度。

在本公开的一种示例性实施方式中,所述通过预先训练的深度学习模型对所述问题序列进行预测,并根据预测结果在所述待推荐问题中确定所述目标用户的目标推荐问题,包括:采用预先训练的多个深度学习模型分别对所述问题序列进行预测,得到各深度学习模型对应的预测评分序列;对所述各深度学习模型对应的预测评分序列进行去重处理,根据去重处理后的预测评分序列确定每个待推荐问题的预测评分,并根据所述每个待推荐问题的预测评分确定所述目标推荐问题。

在本公开的一种示例性实施方式中,在根据所述每个待推荐问题的预测评分确定所述目标推荐问题时,所述方法还包括:当所述目标推荐问题的数量小于预设数量时,在除所述目标推荐问题以外的其他待推荐问题中,确定各个其他待推荐问题的当前热度;在当前热度大于热度阈值的其他待推荐问题中,按照当前热度从高到低的顺序选取一个或多个待推荐问题作为目标推荐问题,以使所述目标推荐问题的总数量达到所述预设数量。

在本公开的一种示例性实施方式中,在按照当前热度从高到低的顺序选取目标推荐问题后,所述方法还包括:当所述目标推荐问题的总数量小于所述预设数量时,在除所述目标推荐问题以外的其他待推荐问题中,随机选取一个或多个待推荐问题作为目标推荐问题,以使所述目标推荐问题的总数量达到所述预设数量。

在本公开的一种示例性实施方式中,所述深度学习模型包括:卷积神经网络模型、循环神经网络模型和Bert4Rec网络模型中的任意一种或多种。

根据本公开的第二方面,提供一种问答数据的处理装置;所述装置包括:获取模块,用于获取目标用户的历史对话数据和所述目标用户的用户标签数据;生成模块,用于按照所述历史对话数据的时间顺序生成关于所述目标用户的历史咨询问题的问题序列;搜索模块,用于根据所述目标用户的用户标签数据,在咨询问题库中搜索出所述目标用户具有访问权限的待推荐问题;预测模块,用于通过预先训练的深度学习模型对所述问题序列进行预测,并根据预测结果在所述待推荐问题中确定所述目标用户的目标推荐问题。

在本公开的一种示例性实施方式中,所述生成模块用于按照所述目标用户与所述历史对话数据中各个历史咨询问题的交互时间,对所述历史对话数据中的历史咨询问题进行排序,以生成所述问题序列。

在本公开的一种示例性实施方式中,所述搜索模块用于在所述咨询问题库中,根据各咨询问题的问题类型确定各所述咨询问题的问题标签;将各所述咨询问题的问题标签与所述用户标签数据中的用户标签进行匹配,以确定所述待推荐问题。

在本公开的一种示例性实施方式中,所述搜索模块还用于根据各所述咨询问题的答案和所述答案的答案标签,生成各所述咨询问题的标签数据,将各所述咨询问题的标签数据中的答案标签与所述用户标签数据中的用户标签进行匹配,在任意一个咨询问题的标签数据中的全部答案标签与所述用户标签数据中对应的用户标签匹配时,将所述任意一个咨询问题确定为所述待推荐问题。

在本公开的一种示例性实施方式中,所述预测模块通过执行以下方法,生成所述预先训练的深度学习模型:获取训练用户的历史对话数据;按照所述训练用户的历史对话数据的时间顺序生成关于所述训练用户的历史咨询问题的训练问题序列;将所述训练问题序列输入至预设的深度学习模型中进行训练,以生成所述预先训练的深度学习模型。

在本公开的一种示例性实施方式中,在生成关于所述训练用户的历史咨询问题的训练问题序列时,所述生成模块用于在所述训练问题序列的首部插入一个或多个预设数据,并按照固定长度对插入所述预设数据后的训练问题序列进行切分,以将插入所述预设数据后的训练问题序列转换为多个等长的序列片段,其中,每个所述序列片段至少包括一个所述训练问题序列中的元素,所述预设数据表示在对应时刻所述训练用户未生成历史对话数据,所述固定长度不大于插入所述预设数据后的训练问题序列的序列长度。

在本公开的一种示例性实施方式中,所述预测模块用于采用预先训练的多个深度学习模型分别对所述问题序列进行预测,得到各深度学习模型对应的预测评分序列,对所述各深度学习模型对应的预测评分序列进行去重处理,根据去重处理后的预测评分序列确定每个待推荐问题的预测评分,并根据所述每个待推荐问题的预测评分确定所述目标推荐问题。

在本公开的一种示例性实施方式中,在根据所述每个待推荐问题的预测评分确定所述目标推荐问题时,所述预测模块还用于当所述目标推荐问题的数量小于预设数量时,在除所述目标推荐问题以外的其他待推荐问题中,确定各个其他待推荐问题的当前热度,在当前热度大于热度阈值的其他待推荐问题中,按照当前热度从高到低的顺序选取一个或多个待推荐问题作为目标推荐问题,以使所述目标推荐问题的总数量达到所述预设数量。

在本公开的一种示例性实施方式中,在按照当前热度从高到低的顺序选取目标推荐问题后,所述预测模块还用于当所述目标推荐问题的总数量小于所述预设数量时,在除所述目标推荐问题以外的其他待推荐问题中,随机选取一个或多个待推荐问题作为目标推荐问题,以使所述目标推荐问题的总数量达到所述预设数量。

在本公开的一种示例性实施方式中,所述深度学习模型包括:卷积神经网络模型、循环神经网络模型和Bert4Rec网络模型中的任意一种或多种。

根据本公开的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一种问答数据的处理方法。

根据本公开的第四方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一种问答数据的处理方法。

本公开具有以下有益效果:

根据本示例性实施方式中的问答数据处理方法、问答数据处理装置、计算机可读存储介质与电子设备,可以按照目标用户的历史对话数据的时间顺序生成关于目标用户的历史咨询问题的问题序列,根据目标用户的用户标签数据,在咨询问题库中搜索出目标用户具有访问权限的待推荐问题,通过预先训练的深度学习模型对问题序列进行预测,并根据预测结果在待推荐问题中确定目标用户的目标推荐问题。一方面,通过生成目标用户的问题序列,可以将问题序列问题转化为序列预测问题,在历史对话数据的数据量较少的情况下,也能够预测出用户可能访问的咨询问题,因此,极大地减少了问题推荐方法对于用户历史对话数据的数据量的要求,提高了推荐方法的准确率;另一方面,通过根据目标用户的用户标签数据搜索目标用户具有访问权限的待推荐问题,可以在确定目标用户的目标推荐问题前召回目标用户有访问权限的问题,提高了推荐方法的准确度和推荐效率,尤其是在用户具有复杂权限的业务场景中,能够极大地提高问题推荐的精准率,避免将问题推荐给不具有访问权限的用户而对企业造成利益损失或影响用户的正常访问。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施方式,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出本示例性实施方式中一种问答数据的处理方法的流程图;

图2示出本示例性实施方式中一种问答数据的处理方法的子流程图;

图3示出本示例性实施方式中另一种确定待推荐问题的流程图;

图4示出本示例性实施方式中再一种确定待推荐问题的流程图;

图5示出本示例性实施方式中一种生成深度学习模型的流程图;

图6示出本示例性实施方式中一种确定目标推荐问题的流程图;

图7示出本示例性实施方式中另一种问答数据的处理方法的流程图;

图8示出本示例性实施方式中一种问答数据的处理装置的结构框图;

图9示出本示例性实施方式中一种用于实现上述方法的计算机可读存储介质;

图10示出本示例性实施方式中一种用于实现上述方法的电子设备。

具体实施方式

现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。

目前,在电商等领域,可以通过分析用户的历史行为数据来分析用户对特定内容的喜好,实现向用户推荐内容的目的。然而,在一些问答系统,如企业业务系统中,问答是一个比较低频的应用场景,单个用户的历史数据很少,无法根据用户的历史数据准确判断用户对某些问题的兴趣度;同时,在企业业务系统中,每个用户的部门、职级等均存在差异,同一个问题可能会因为用户权限的差异对应不同的答案。因此,如何克服用户复杂的权限要求,为用户给出更具参考价值的推荐问题成为亟待解决的问题。

鉴于前述的一种或多种问题,本公开的示例性实施方式首先提供了一种问答数据的处理方法。该方法可以应用于企业级业务系统的后台服务器,使得可以依据每个用户的个人属性和行为特点确定对应的目标推荐信息,并将目标推荐信息推送给用户。例如,在企业内部的管理系统中,可以根据每个用户的部门、职级、工龄和用户在过去一段时间内咨询过的问题等为用户推荐其可能感兴趣的目标推荐问题。

图1示出了本示例性实施方式的一种流程,可以包括以下步骤S110~S140:

步骤S110.获取目标用户的历史对话数据和目标用户的用户标签数据。

其中,历史对话数据可以是目标用户在过去一段时间内咨询过的问题的日志数据,可以由目标用户咨询的问题、咨询的时间、所获得的答案等数据构成;用户标签数据是指标识用户身份或属性的数据,可以包括目标用户的基本信息、职业信息和其他相关信息,其中,基本信息可以包括目标用户的性别、年龄、籍贯、住址等,职业信息可以包括目标用户的部门、职级、工龄、入司年限、考勤、休假等信息。

在获取目标用户的历史对话数据时,可以按照查询时间,如一个月、半年,以及目标用户的用户标识等为索引,在存储用户的历史对话数据和用户标签数据的数据库或特定的数据平台中提取目标用户在查询时间内的历史对话数据,以及目标用户的用户标签数据。特别的,当在查询时间内,未查询到目标用户的历史对话数据时,说明目标用户有可能是新用户,或者在查询时间内未产生历史对话数据,此时目标用户的历史对话数据可以是由空值构成的数据。

此外,由于在企业级业务系统中,用户对咨询问题的兴趣不会发生频繁的变化,且用户个性化的影响因素比较少,因此,可以将历史对话数据的时间范围设置为较长的时间段,如可以是三个月、半年、一年等。通过这种方式,可以得到较多数据量的历史对话数据。

步骤S120.按照历史对话数据的时间顺序生成关于目标用户的历史咨询问题的问题序列。

其中,问题序列是由一系列历史咨询问题构成的具有先后顺序的序列,在该序列中,每个历史咨询问题可以表示为相应的问题标识,例如,可以用不同的数值表示不同的问题。

本申请的研究人员经统计研究发现,在问答系统中,用户对咨询问题的咨询顺序往往存在着一定的规律。例如,在用户的第一个咨询问题为“今年5月的放假安排是什么”时,第二个咨询问题便很有可能是“今年6月的放假安排是什么”。因此,在获得目标用户的历史对话数据后,可以按照历史对话数据中每个历史咨询问题的时间顺序,对各历史咨询问题进行排列,来得到目标用户的历史咨询问题的问题序列。

具体的,在一种可选的实施方式中,可以按照目标用户与历史对话数据中各个历史咨询问题的交互时间,对历史对话数据中的历史咨询问题进行排序,以生成问题序列。例如,可以生成由目标用户和目标用户的历史咨询问题构成的问题序列,以{a:[1,2,3]},{b:[11,22,33]}为例,a、b分别表示不同的两个目标用户,序列[1,2,3]和[11,22,33]分别表示目标用户a和b的历史咨询问题的问题序列,每个数值表示一个具体的历史咨询问题。

需要说明的是,上述按照目标用户与历史对话数据中各个历史咨询问题的交互时间生成问题序列的方法仅为示例性说明,本示例性实施方式对此不做具体限定。在一些实施方式中,根据实际需求,也可以按照其他时间顺序,如历史对话数据中每个历史咨询问题的数据生成时间,对历史对话数据中的各个历史咨询问题进行排列,来生成问题序列。

通过上述步骤S120,可以生成关于目标用户的历史咨询问题的问题序列,由此,可以将问题预测问题进一步转化为序列预测问题,即,根据已知序列预测下一个序列,并且由于问题序列是基于目标用户的历史咨询问题生成的,故可以依据目标用户的历史行为充分挖掘目标用户的问题访问可能,提高问题推荐的准确率。

步骤S130.根据目标用户的用户标签数据,在咨询问题库中搜索出目标用户具有访问权限的待推荐问题。

本示例性实施方式中,所有咨询问题的问题数据可以存储在咨询问题库中。根据目标用户的用户标签数据,可以在咨询问题库中筛选出与用户标签相匹配的咨询问题,即,得到目标用户具有访问权限的待推荐问题。

具体的,在一种可选的实施方式中,参考图2所示,可以通过以下步骤S210~S220搜索出目标用户具有访问权限的待推荐问题:

步骤S210,在咨询问题库中,根据各咨询问题的问题类型确定各咨询问题的问题标签。

咨询问题的问题类型可以用于表示咨询问题的问题场景、问题内容等;问题标签可以用于表示能够访问该咨询问题的用户属性,比如,用户属于哪个部门、具有怎样的职级等。本示例性实施方式中,一个问题类型对应的各个咨询问题可以具有相同的问题标签。因此,可以按照各咨询问题的问题类型确定各咨询问题的问题标签。

步骤S220,将各咨询问题的问题标签与用户标签数据中的用户标签进行匹配,以确定待推荐问题。

将每个咨询问题的问题标签与用户标签数据中对应的用户标签进行匹配,当某个咨询问题的问题标签与用户标签数据中对应的用户标签匹配时,确定目标用户对该咨询问题具有访问权限,可以进一步将该咨询问题确定为待推荐问题。例如,参考图3所示,在通过步骤S310和S320获取目标用户的用户标签数据和各咨询问题的问题标签后,可以执行步骤S330,获取每个问题类型所对应的问题标签,从而执行步骤S340,根据问题标签的顺序,将问题标签与用户标签数据中对应的用户标签进行匹配,并通过步骤S350将问题标签与用户标签数据中对应的用户标签相匹配的咨询问题确定为目标用户的待推荐问题。

进一步的,在一种可选的实施方式中,在将各咨询问题的问题标签与用户标签数据中的用户标签进行匹配时,参考图4所示,还可以通过以下步骤S410~S430确定待推荐问题:

步骤S410,根据各咨询问题的答案和该答案的答案标签,生成各咨询问题的标签数据。答案标签可以用于表示答案的作用范围,即答案是针对具有哪种标签的用户设置的。

在确定目标用户的目标推荐问题之前,可以先获得目标用户所有能够访问的答案对应的咨询问题作为待推荐问题。例如,在确定待推荐问题时,当某个咨询问题的答案标签包括多种类型,如航道、员工类型、公司类型、城市、职级、部门等时,为了能在预测前先确定目标用户有权限访问的所有咨询问题作为候选问题集,可以把所有咨询问题和每个咨询问题对应的答案和答案标签转换为elasticsearch(一种数据检索和分析引擎)中的索引值,如{咨询问题:1,答案:1,标签类型1:标签值1,标签类型2,标签值2,……标签类型n:标签值n},以得到各咨询问题的标签数据。

步骤S420,将各咨询问题的标签数据中的答案标签与用户标签数据中的用户标签进行匹配。

在进行匹配时,可以按照每个答案的标签顺序,将各标签值与用户标签数据中对应位置的用户标签进行匹配,当每个标签类型对应的标签值与用户标签数据中对应位置的用户标签值相同时,则可以确定对应答案的所有标签都与目标用户的用户标签匹配成功。特别的,当标签值为空字符串时,表示对于该标签类型,用户标签数据中对应位置的用户标签为任意值都可以匹配成功。

步骤S430,在任意一个咨询问题的标签数据中的全部答案标签与用户标签数据中对应的用户标签匹配时,将上述任意一个咨询问题确定为待推荐问题。

当任意一个咨询问题的标签数据中的全部答案标签与用户标签数据中对应的用户标签匹配成功时,表示目标用户拥有对上述任意一个咨询问题的答案的访问权,则目标用户对上述任意一个咨询问题拥有访问权,因此,可以将上述任意一个咨询问题确定为待推荐问题。通过这种方式,可以得到目标用户全部拥有访问权限的待推荐问题。

在一种可选的实施方式中,在确定待推荐问题时,也可以设置匹配阈值,使得在进行匹配时,如果存在任意一个咨询问题的标签数据中有大于上述匹配阈值的数量的答案标签与用户标签数据中对应的用户标签匹配成功时,确定上述任意一个咨询问题为待推荐问题。

此外,由于一个咨询问题可以对应一个或多个答案,例如,对于同一个咨询问题“今年的放假安排是什么”,不同部门和职级的用户往往可以得到不同的答案。因此,为了减少待推荐问题中重复问题的数量,在一种可选的实施方式中,在任意一个咨询问题的标签数据中的全部答案标签与用户标签数据中的用户标签匹配时,还可以对匹配后得到的全部待推荐问题进行去重处理。由此,可以有效减少待推荐问题中的重复问题数量,提高数据的推送效率。

通过上述步骤S410~S430,可以以更快的搜索速度在咨询问题库中预先搜索出目标用户具有访问权限的待推荐问题,从而在后续确定目标用户的目标推荐问题时,可以在目标用户具有访问权限的待推荐问题中进一步预测出目标推荐问题。因此,可以为目标用户提供更有针对性的推荐问题,提高推荐方法的精准度和推荐效率,尤其是在用户具有复杂权限的业务场景中,能够极大地提高问题推荐的精准率,避免将问题推荐给不具有访问权限的用户而对企业造成利益损失或影响用户的正常访问。

步骤S140.通过预先训练的深度学习模型对上述问题序列进行预测,并根据预测结果在待推荐问题中确定目标用户的目标推荐问题。

本示例性实施方式中,深度学习模型可以是由任意一种或多种深度学习网络生成的能够进行序列预测的网络模型,例如,可以包括卷积神经网络模型、循环神经网络模型和Bert4Rec网络模型中的任意一种或多种。

在一种可选的实施方式中,参考图5所示,可以通过以下步骤S510~S530生成预先训练的深度学习模型:

步骤S510,获取训练用户的历史对话数据。

其中,训练用户可以用于训练深度学习模型,可以包括历史时间段内产生过历史对话数据的老用户,也可以包括在历史时间段内未产生过历史对话数据的新用户;历史对话数据可以是训练用户在过去一段时间内访问过的历史咨询问题的日志数据,需要说明的是,训练用户的历史对话数据与目标用户的历史对话数据可以是不同历史时间内的历史咨询问题的数据,也可以是相同历史时间内的历史咨询问题的数据,本示例性实施方式对此不做特殊限定。

步骤S520,按照训练用户的历史对话数据的时间顺序生成关于训练用户的历史咨询问题的训练问题序列。

在获取到训练用户的历史对话数据后,可以按照历史对话数据中各历史咨询问题的时间顺序生成训练用户的训练问题序列。

本示例性实施方式中,可以按照训练用户与历史对话数据中各个历史咨询问题的交互时间,或者历史对话数据中各个历史咨询问题的数据生成时间,对历史对话数据中各历史咨询问题进行排序,来得到训练用户的训练问题序列。

步骤S530,将训练问题序列输入至预设的深度学习模型中进行训练,以生成预先训练的深度学习模型。

其中,预设的深度学习模型可以是能够进行序列预测的任意一种或多中深度学习模型,例如,可以是卷积神经网络模型、循环神经网络模型和Bert4Rec网络模型中的任意一种或多种。

本示例性实施方式中,可以将训练问题序列划分为训练集和测试集,在进行训练时,可以将训练问题序列中的训练集输入至预设的深度学习模型中进行训练,并采用训练问题序列中的测试集验证模型的性能,如可以在每次训练结束后计算预测结果与真实结果之间的误差,并通过反向传播算法更新深度学习模型的模型参数,以再次进行训练。按照这种方式不断更新模型参数,进行迭代训练,直至达到预设迭代次数,或者预测结果与真实结果之间的误差小于预先设置的误差阈值时,结束训练,将此时得到的深度学习模型作为上述预先训练的深度学习模型。

通过上述步骤S510~S530,可以采用序列预测方法生成预先训练的深度学习模型,并且由于在训练时,舍弃了训练用户的身份信息,而用训练用户的训练问题序列来替代训练用户,可以基于序列之间的关联分析,优化深度学习模型在问题预测上的训练效果。

此外,在生成关于训练用户的历史咨询问题的训练问题序列时,为了增加训练问题序列的数据量,在一种可选的实施方式中,可以在训练问题序列的首部插入一个或多个预设数据,并按照固定长度对插入预设数据后的训练问题序列进行切分,以将插入预设数据后的训练问题序列转换为多个等长的序列片段;其中,每个序列片段至少包括一个训练问题序列中的元素;预设数据表示在对应时刻训练用户未生成历史对话数据,预设数据可以是由数字、字符串和特殊符号,如下划线等中的任意一种或多种构成的唯一标识;固定长度不大于插入预设数据后的训练问题序列的序列长度。

例如,假设训练问题序列[1,2,3,4,5]为某个训练用户在历史时间段内访问咨询问题的顺序,其中,每个数字表示一个咨询问题。在进行序列转换时,可以在训练问题序列的首部插入多个预设数据“0”,来将训练问题序列转换为[0,0,0,0,1,2,3,4,5],然后,按照固定长度切分转换后的序列,比如说,固定长度为5,则可以从第一个元素起,将每5个元素构成的一组数据划分为一个序列片段,由此,可以将上述转换后的序列划分为多个等长的序列片段,即[0,0,0,0,1],[0,0,0,1,2],[0,0,1,2,3],[0,1,2,3,4],[1,2,3,4,5]。再例如,当某个训练用户的训练问题序列为[2,5]时,要将其转换为固定长度为3的多个序列片段,则可以在序列前插入2个“0”,得到[0,0,2,5],并将其切分为两个序列片段,即[0,0,2]和[0,2,5],或者也可以直接在训练问题序列的首部插入1个“0”,来得到一个序列片段[0,2,5]。通过这种方法,可以基于对训练问题序列的训练,使深度学习模型学习到序列之间的关联信息,如对于上述序列,可以学习到序列元素之间的连续性特点,进而在预测时,可以基于序列之间的关联信息,如上述序列元素之间的连续性特点,用[0]预测1,用[0,1]预测2,用[0,1,2]预测3,用[0,1,2,3]预测4,用[0,1,2,3,4]预测5等,比如说,如果用户当前时刻的训练问题序列是[2,3],则用户下一时刻访问咨询问题4的概率就很大。

实际上,在按照时间顺序排列的训练问题序列中,预设数据可以表示和模拟新用户的历史对话数据,通过对训练问题序列进行学习,可以对训练问题序列中每个序列的连续性、相似性等进行分析,从而在预测时,可以判断出在目标用户最近一次访问过某个咨询问题以后,下一次最有可能访问的咨询问题。因此,在通过步骤S140确定目标用户的目标推荐问题时,如果目标用户为新用户,则可以通过预设数据生成目标用户的问题序列,例如,可以生成问题序列[0],并通过预先训练的深度学习模型对该问题序列进行预测,并根据预测结果在待推荐问题中确定目标用户的目标推荐问题。例如,在上述序列中,目标用户访问咨询问题具有连续性,在预测时,便可以基于这一连续性预测新用户可能访问的目标推荐问题为1。因此,通过上述方法,不仅可以扩充训练数据的数据量,提高训练和预测效果,也可以解决推荐方法中的冷启动问题,即可以通过分析序列之间的关联性,确定新用户可能访问的咨询问题,并且由于预测结果是根据大量序列数据分析得出的,相比简单的分析咨询问题的热门程度来进行推荐的方法,能够得到更高的推荐准确率。

进一步的,在一种可选的实施方式中,参考图6所示,可以执行以下方法,以在待推荐问题中确定目标用户的目标推荐问题:

步骤S610,采用预先训练的多个深度学习模型分别对问题序列进行预测,得到各深度学习模型对应的预测评分序列。其中,预测评分序列可以用于表示各个待推荐问题的预测评分,预测评分值越高,说明对应的待推荐问题越有可能是目标用户感兴趣的问题,反之,预测评分值越低,说明对应的待推荐问题越不可能是目标用户感兴趣的问题。

步骤S620,对各深度学习模型对应的预测评分序列进行去重处理,根据去重处理后的预测评分序列确定每个待推荐问题的预测评分,并根据每个待推荐问题的预测评分确定目标推荐问题。

例如,以上述卷积神经网络模型和循环神经网络模型为例,可以采用预先训练的卷积神经网络模型和预先训练的循环神经网络模型分别对上述问题序列进行预测,得到由上述预先训练的卷积神经网络输出的预测评分序列和由上述预先训练的循环神经网络模型输出的预测评分序列。进一步的,对由两个网络模型分别得到的预测评分序列进行融合去重处理,然后根据去重后得到的预测评分序列确定各预测评分对应的咨询问题与每个待推荐问题的相似度,来得到各待推荐问题的预测评分,从而根据每个待推荐问题的预测评分确定目标推荐问题。例如,可以按照预测评分序列每个待推荐问题的顺序,依次将前N个预测评分对应的待推荐问题确定为目标推荐问题,其中,N可以是需要获取的目标推荐问题的总数量。

为了向目标用户推荐多个目标推荐问题,以满足目标用户的咨询需求,在一种可选的实施方式中,还可以执行以下方法:

当目标推荐问题的数量小于预设数量时,在除目标推荐问题以外的其他待推荐问题中,确定各个其他待推荐问题的当前热度;

在当前热度大于热度阈值的其他待推荐问题中,按照当前热度从高到低的顺序选取一个或多个待推荐问题作为目标推荐问题,以使目标推荐问题的总数量达到预设数量。

其中,预设数量可以由操作人员根据实际需求自行设置,如可以设置为5、10等;其他待推荐问题的当前热度可以表示其他待推荐问题在当前时刻的受欢迎程度,一般可以根据其他待推荐问题的访问量等确定。一般而言,当前热度越高,表示当前时刻对应的其他待推荐问题的受欢迎程度更高,访问量可能更多。

当通过上述预先训练的深度学习模型得到的目标推荐问题的数量不满足预设数量的要求时,可以在除了目标推荐问题以外的剩余的其他待推荐问题中,筛选出当前热度大于热度阈值的其他待推荐问题,并在这些问题中按照当前热度从高到低的顺序选取一个或多个目标推荐问题,使得目标推荐问题的总数量达到预设数量。

在按照其他待推荐问题的当前热度选择目标推荐问题后,如果目标推荐问题的数量仍不满足预设数量的要求,在一种可选的实施方式中,还可以通过以下方式获取预设数量的目标推荐问题:

当目标推荐问题的总数量小于预设数量时,在除上述目标推荐问题以外的其他待推荐问题中,随机选取一个或多个待推荐问题作为目标推荐问题,以使目标推荐问题的总数量达到预设数量。

通过上述方法,可以按照层次式递进的方法获取满足一定数量的目标推荐问题,得到关于目标用户的满足数量要求的目标推荐问题,也可以保证推荐系统的持续可用。

图7示出了本示例性实施方式中的另一种问答数据的处理方法,如图所示,可以包括以下步骤S710~S760:

步骤S710,接收目标用户通过客户端发送的进入问答系统的请求。

当目标用户进入问答系统后,可以显示问答页面,目标用户可以在问答页面输入需要查询的问题。

步骤S720,在第一数据库中获取目标用户具有访问权限的待推荐问题。

其中,第一数据库可以是elasticsearch数据库,可以用于检索和分析出目标用户具有访问权限的待推荐问题。

本示例性实施方式中,可以根据第一数据库中存储的各咨询问题的问题标签或各咨询问题对应的答案标签,将其与目标用户所对应的用户标签进行匹配,来确定目标用户具有访问权限的待推荐问题。

步骤S730,在第二数据库中获取目标用户的历史对话数据。

其中,第二数据库可以是MySQL数据库等,可以用于存储用户的历史数据,如目标用户的历史对话数据。

具体的,可以以目标用户的用户标识和查询时间等设置查询条件,在第二数据库中筛选目标用户在对应查询时间内的历史对话数据。

步骤S740,根据目标用户的历史对话数据生成各历史咨询问题的问题序列。

在得到目标用户的历史对话数据后,可以按照历史对话数据中各咨询问题的时间顺序对各历史咨询问题进行排序,来生成各历史咨询问题的问题序列。

步骤S750,通过预先训练的深度学习模型对问题序列进行预测,返回评分最高的M个待推荐问题,作为目标推荐问题。其中,M为大于0的正整数。

例如,在通过预先训练的深度学习模型对问题序列进行预测后,可以在输出的预测评分序列中依次选取前M个值,将这前M个值对应的待推荐问题确定为目标推荐问题。

步骤S760,将目标推荐问题发送至客户端,以使目标用户选择需要进行访问的问题。

综上,根据本示例性实施方式中的问答数据的处理方法,可以按照目标用户的历史对话数据的时间顺序生成关于目标用户的历史咨询问题的问题序列,根据目标用户的用户标签数据,在咨询问题库中搜索出目标用户具有访问权限的待推荐问题,通过预先训练的深度学习模型对问题序列进行预测,并根据预测结果在待推荐问题中确定目标用户的目标推荐问题。一方面,通过生成目标用户的问题序列,可以将问题序列问题转化为序列预测问题,在历史对话数据的数据量较少的情况下,也能够预测出用户可能访问的咨询问题,因此,极大地减少了问题推荐方法对于用户历史对话数据的数据量的要求,提高了推荐方法的准确率;另一方面,通过根据目标用户的用户标签数据搜索目标用户具有访问权限的待推荐问题,可以在确定目标用户的目标推荐问题前召回目标用户有访问权限的问题,提高了推荐方法的准确度和推荐效率,尤其是在用户具有复杂权限的业务场景中,能够极大地提高问题推荐的精准率,避免将问题推荐给不具有访问权限的用户而对企业造成利益损失或影响用户的正常访问。

进一步的,本示例性实施方式还提供了一种问答数据的处理装置,参考图8所示,问答数据的处理装置800可以包括:获取模块810,可以用于获取目标用户的历史对话数据和目标用户的用户标签数据;生成模块820,可以用于按照历史对话数据的时间顺序生成关于目标用户的历史咨询问题的问题序列;搜索模块830,可以用于根据目标用户的用户标签数据,在咨询问题库中搜索出目标用户具有访问权限的待推荐问题;预测模块840,可以用于通过预先训练的深度学习模型对问题序列进行预测,并根据预测结果在待推荐问题中确定目标用户的目标推荐问题。

在本公开的一种示例性实施方式中,生成模块820可以用于按照目标用户与历史对话数据中各个历史咨询问题的交互时间,对历史对话数据中的历史咨询问题进行排序,以生成问题序列。

在本公开的一种示例性实施方式中,搜索模块830可以用于在咨询问题库中,根据各咨询问题的问题类型确定各咨询问题的问题标签;将各咨询问题的问题标签与用户标签数据中的用户标签进行匹配,以确定待推荐问题。

在本公开的一种示例性实施方式中,搜索模块830还可以用于根据各咨询问题的答案和答案的答案标签,生成各咨询问题的标签数据,将各咨询问题的标签数据中的答案标签与用户标签数据中的用户标签进行匹配,在任意一个咨询问题的标签数据中的全部答案标签与用户标签数据中对应的用户标签匹配时,将上述任意一个咨询问题确定为待推荐问题。

在本公开的一种示例性实施方式中,预测模块840可以通过执行以下方法,生成预先训练的深度学习模型:获取训练用户的历史对话数据;按照训练用户的历史对话数据的时间顺序生成关于训练用户的历史咨询问题的训练问题序列;将训练问题序列输入至预设的深度学习模型中进行训练,以生成预先训练的深度学习模型。

在本公开的一种示例性实施方式中,在生成关于训练用户的历史咨询问题的训练问题序列时,生成模块820可以用于在训练问题序列的首部插入一个或多个预设数据,并按照固定长度对插入预设数据后的训练问题序列进行切分,以将插入预设数据后的训练问题序列转换为多个等长的序列片段;其中,每个序列片段至少包括一个训练问题序列中的元素,预设数据表示在对应时刻训练用户未生成历史对话数据,上述固定长度不大于插入预设数据后的训练问题序列的序列长度。

在本公开的一种示例性实施方式中,预测模块840可以用于采用预先训练的多个深度学习模型分别对问题序列进行预测,得到各深度学习模型对应的预测评分序列,对各深度学习模型对应的预测评分序列进行去重处理,根据去重处理后的预测评分序列确定每个待推荐问题的预测评分,并根据每个待推荐问题的预测评分确定目标推荐问题。

在本公开的一种示例性实施方式中,在根据每个待推荐问题的预测评分确定目标推荐问题时,预测模块840还可以用于当目标推荐问题的数量小于预设数量时,在除目标推荐问题以外的其他待推荐问题中,确定各个其他待推荐问题的当前热度,在当前热度大于热度阈值的其他待推荐问题中,按照当前热度从高到低的顺序选取一个或多个待推荐问题作为目标推荐问题,以使目标推荐问题的总数量达到预设数量。

在本公开的一种示例性实施方式中,在按照当前热度从高到低的顺序选取目标推荐问题后,预测模块840还可以用于当目标推荐问题的总数量小于预设数量时,在除目标推荐问题以外的其他待推荐问题中,随机选取一个或多个待推荐问题作为目标推荐问题,以使目标推荐问题的总数量达到预设数量。

在本公开的一种示例性实施方式中,深度学习模型可以包括:卷积神经网络模型、循环神经网络模型和Bert4Rec网络模型中的任意一种或多种。

上述装置中各模块的具体细节在方法部分实施方式中已经详细说明,未披露的方案细节内容可以参见方法部分的实施方式内容,因而不再赘述。

所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。

本公开的示例性实施方式还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。

参考图9所示,描述了根据本公开的示例性实施方式的用于实现上述方法的程序产品900,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

程序产品900可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。

计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

本公开的示例性实施方式还提供了一种能够实现上述方法的电子设备。下面参照图10来描述根据本公开的这种示例性实施方式的电子设备1000。图10显示的电子设备1000仅仅是一个示例,不应对本公开实施方式的功能和使用范围带来任何限制。

如图10所示,电子设备1000可以以通用计算设备的形式表现。电子设备1000的组件可以包括但不限于:上述至少一个处理单元1010、上述至少一个存储单元1020、连接不同系统组件(包括存储单元1020和处理单元1010)的总线1030和显示单元1040。

其中,存储单元1020存储有程序代码,程序代码可以被处理单元1010执行,使得处理单元1010执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。例如,处理单元1010可以执行图1至图7所示的方法步骤等。

存储单元1020可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)1021和/或高速缓存存储单元1022,还可以进一步包括只读存储单元(ROM)1023。

存储单元1020还可以包括具有一组(至少一个)程序模块1025的程序/实用工具1024,这样的程序模块1025包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。

总线1030可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。

电子设备1000也可以与一个或多个外部设备1100(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备1000交互的设备通信,和/或与使得该电子设备1000能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口1050进行。并且,电子设备1000还可以通过网络适配器1060与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器1060通过总线1030与电子设备1000的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备1000使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。

应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的示例性实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。

此外,上述附图仅是根据本公开示例性实施方式的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。

通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例性实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开示例性实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开示例性实施方式的方法。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施方式。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施方式仅被视为示例性的,本公开的真正范围和精神由权利要求指出。

相关技术
  • 问答数据的处理方法、装置、存储介质与电子设备
  • 问答会话的处理方法、问答系统、电子设备及存储介质
技术分类

06120113195405