基于人工智能的新闻召回方法、装置、设备及存储介质与流程

文档序号:13004715阅读:287来源:国知局
基于人工智能的新闻召回方法、装置、设备及存储介质与流程

【技术领域】

本发明涉及互联网技术,特别涉及基于人工智能的新闻召回方法、装置、设备及存储介质。



背景技术:

人工智能(artificialintelligence),英文缩写为ai。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。

在信息时代,随着互联网技术的发展,越来越多的新闻资讯进入大众视野,新闻相关产品与网民日常生活息息相关。

新闻自动推荐产品逐渐受到用户欢迎,如“今日头条”等,这类产品的特点是自己不编辑新闻或者很少编辑新闻,主要从各新闻网站挖掘新闻,根据不同用户的喜好和新闻本身的热度关注度等,向用户推荐新闻。

常用的新闻推荐方式包括:

1)推荐点击率高的新闻,即在推荐新闻时,不考虑用户的兴趣,只推荐点击率高的新闻,这种方式会导致所推荐的新闻不具备针对性,与用户的相关性不高,从而使得推荐结果的准确性较低;

2)基于深度神经网络(dnn,deepneuralnetwork)语义相似度计算,即利用dnn语义相似度计算,计算所有候选新闻与用户的语义相似度,将相似度符合要求的候选新闻推荐给用户,这种方式的计算复杂度很高,计算耗时很长。



技术实现要素:

有鉴于此,本发明提供了基于人工智能的新闻召回方法、装置、设备及存储介质,能够提高新闻推荐结果的准确性,并降低计算复杂度和计算耗时。

具体技术方案如下:

一种基于人工智能的新闻召回方法,包括:

根据各候选新闻构建索引库,所述索引库中包括m棵搜索树,m为正整数,每棵搜索树均为包含至少两层的完全二叉树,每棵搜索树中的每个非叶子节点分别对应一个语义索引向量,每条候选新闻分别对应于每棵搜索树中的一个叶子节点;

当需要向用户推荐新闻时,根据所述用户的兴趣标签生成所述用户的语义索引向量;

针对每棵搜索树,分别根据其中的各非叶子节点对应的语义索引向量以及所述用户的语义索引向量,确定出一条从第一层非叶子节点到一个叶子节点的路径,将所述路径上的叶子节点对应的候选新闻作为召回结果。

根据本发明一优选实施例,所述根据各候选新闻构建索引库包括:

根据每条候选新闻的标签,分别生成每条候选新闻的语义索引向量;

根据各候选新闻的语义索引向量构建所述索引库。

根据本发明一优选实施例,所述根据每条候选新闻的标签,分别生成每条候选新闻的语义索引向量包括:

将所述候选新闻的标签输入给预先训练得到的第一语义索引向量生成模型,得到所述候选新闻的语义索引向量;

所述根据所述用户的兴趣标签生成所述用户的语义索引向量包括:

将所述用户的兴趣标签输入给预先训练得到的第二语义索引向量生成模型,得到所述用户的语义索引向量。

根据本发明一优选实施例,所述根据各候选新闻的语义索引向量构建所述索引库包括:

构建m棵搜索树,每棵搜索树均为包含至少两层的完全二叉树,每棵搜索树中的每个非叶子节点分别对应一个语义索引向量;

针对每条候选新闻,分别进行以下处理:

针对每棵搜索树,分别根据其中的各非叶子节点对应的语义索引向量以及所述候选新闻的语义索引向量,确定出一条从第一层非叶子节点到一个叶子节点的路径,将所述候选新闻确定为对应于所述路径上的叶子节点的候选新闻。

根据本发明一优选实施例,所述根据其中的各非叶子节点对应的语义索引向量以及所述候选新闻的语义索引向量,确定出一条从第一层非叶子节点到一个叶子节点的路径,将所述候选新闻确定为对应于所述路径上的叶子节点的候选新闻包括:

将所述搜索树中的第一层非叶子节点作为路径的开始,并将所述第一层非叶子节点作为待处理的非叶子节点,进行以下预定处理:

将所述候选新闻的语义索引向量与所述待处理的非叶子节点对应的语义索引向量进行线性投影,根据投影结果从所述待处理的非叶子节点的下一层节点中选出一个节点,加入到所述路径中;

当选出的节点为非叶子节点时,将选出的非叶子节点作为所述待处理的非叶子节点,重复执行所述预定处理;

当选出的节点为叶子节点时,将所述候选新闻确定为对应于所述叶子节点的候选新闻。

根据本发明一优选实施例,所述每棵搜索树中的每个非叶子节点分别对应一个语义索引向量包括:

每棵搜索树中的每个非叶子节点分别对应一个随机生成的语义索引向量。

根据本发明一优选实施例,所述根据其中的各非叶子节点对应的语义索引向量以及所述用户的语义索引向量,确定出一条从第一层非叶子节点到一个叶子节点的路径,将所述路径上的叶子节点对应的候选新闻作为召回结果包括:

将所述搜索树中的第一层非叶子节点作为路径的开始,并将所述第一层非叶子节点作为待处理的非叶子节点,进行以下预定处理:

将所述用户的语义索引向量与所述待处理的非叶子节点对应的语义索引向量进行线性投影,根据投影结果从所述待处理的非叶子节点的下一层节点中选出一个节点,加入到所述路径中;

当选出的节点为非叶子节点时,将选出的非叶子节点作为所述待处理的非叶子节点,重复执行所述预定处理;

当选出的节点为叶子节点时,将所述叶子节点对应的候选新闻作为召回结果。

根据本发明一优选实施例,所述根据投影结果从所述待处理的非叶子节点的下一层节点中选出一个节点包括:

当所述投影结果为正时,将所述下一层节点中的左侧节点作为选出的节点,当所述投影结果为负时,将所述下一层节点中的右侧节点作为选出的节点;

或者,当所述投影结果为负时,将所述下一层节点中的左侧节点作为选出的节点,当所述投影结果为正时,将所述下一层节点中的右侧节点作为选出的节点。

一种基于人工智能的新闻召回装置,包括:建库单元以及搜索单元;

所述建库单元,用于根据各候选新闻构建索引库,所述索引库中包括m棵搜索树,m为正整数,每棵搜索树均为包含至少两层的完全二叉树,每棵搜索树中的每个非叶子节点分别对应一个语义索引向量,每条候选新闻分别对应于每棵搜索树中的一个叶子节点;

所述搜索单元,用于在需要向用户推荐新闻时,根据所述用户的兴趣标签生成所述用户的语义索引向量;针对每棵搜索树,分别根据其中的各非叶子节点对应的语义索引向量以及所述用户的语义索引向量,确定出一条从第一层非叶子节点到一个叶子节点的路径,将所述路径上的叶子节点对应的候选新闻作为召回结果。

根据本发明一优选实施例,所述建库单元进一步用于,

根据每条候选新闻的标签,分别生成每条候选新闻的语义索引向量;

根据各候选新闻的语义索引向量构建所述索引库。

根据本发明一优选实施例,所述装置中进一步包括:模型训练单元;

所述模型训练单元,用于预先训练得到第一语义索引向量生成模型以及第二语义索引向量生成模型;

所述建库单元将所述候选新闻的标签输入给所述第一语义索引向量生成模型,得到所述候选新闻的语义索引向量;

所述搜索单元将所述用户的兴趣标签输入给所述第二语义索引向量生成模型,得到所述用户的语义索引向量。

根据本发明一优选实施例,所述建库单元构建m棵搜索树,每棵搜索树均为包含至少两层的完全二叉树,每棵搜索树中的每个非叶子节点分别对应一个语义索引向量;

并且,针对每条候选新闻,分别进行以下处理:

针对每棵搜索树,分别根据其中的各非叶子节点对应的语义索引向量以及所述候选新闻的语义索引向量,确定出一条从第一层非叶子节点到一个叶子节点的路径,将所述候选新闻确定为对应于所述路径上的叶子节点的候选新闻。

根据本发明一优选实施例,所述建库单元将所述搜索树中的第一层非叶子节点作为路径的开始,并将所述第一层非叶子节点作为待处理的非叶子节点,进行以下预定处理:

将所述候选新闻的语义索引向量与所述待处理的非叶子节点对应的语义索引向量进行线性投影,根据投影结果从所述待处理的非叶子节点的下一层节点中选出一个节点,加入到所述路径中;

当选出的节点为非叶子节点时,将选出的非叶子节点作为所述待处理的非叶子节点,重复执行所述预定处理;

当选出的节点为叶子节点时,将所述候选新闻确定为对应于所述叶子节点的候选新闻。

根据本发明一优选实施例,每棵搜索树中的每个非叶子节点分别对应一个随机生成的语义索引向量。

根据本发明一优选实施例,所述搜索单元将所述搜索树中的第一层非叶子节点作为路径的开始,并将所述第一层非叶子节点作为待处理的非叶子节点,进行以下预定处理:

将所述用户的语义索引向量与所述待处理的非叶子节点对应的语义索引向量进行线性投影,根据投影结果从所述待处理的非叶子节点的下一层节点中选出一个节点,加入到所述路径中;

当选出的节点为非叶子节点时,将选出的非叶子节点作为所述待处理的非叶子节点,重复执行所述预定处理;

当选出的节点为叶子节点时,将所述叶子节点对应的候选新闻作为召回结果。

根据本发明一优选实施例,当所述投影结果为正时,所选出的节点为所述下一层节点中的左侧节点,当所述投影结果为负时,所选出的节点为所述下一层节点中的右侧节点;

或者,当所述投影结果为负时,所选出的节点为所述下一层节点中的左侧节点,当所述投影结果为正时,所选出的节点为所述下一层节点中的右侧节点。

一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如以上所述的方法。

一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如以上所述的方法。

基于上述介绍可以看出,采用本发明所述方案,可根据用户的兴趣标签生成用户的语义索引向量,进而根据用户的语义索引向量去索引库中进行搜索,从而确定出作为召回结果的候选新闻,进而可推荐给用户,即在推荐新闻时,考虑了用户的兴趣,从而相比于现有方式1),使得推荐结果更具针对性,与用户的相关性更高,进而提高了新闻推荐结果的准确性。

另外,采用本发明所述方案,根据各候选新闻构建索引库,索引库中包括m棵搜索树,每棵搜索树均为包含至少两层的完全二叉树,每棵搜索树中的每个非叶子节点分别对应一个语义索引向量,每条候选新闻分别对应于每棵搜索树中的一个叶子节点,这样,在进行搜索时,可针对每棵搜索树,分别根据其中的各非叶子节点对应的语义索引向量以及用户的语义索引向量,确定出一条从搜索树中的第一层非叶子节点到一个叶子节点的路径,进而将路径上的叶子节点对应的候选新闻作为召回结果,相比于现有方式2)来说,无需计算所有候选新闻与用户的语义相似度,从而降低了计算复杂度和计算耗时等。

【附图说明】

图1为本发明所述基于人工智能的新闻召回方法实施例的流程图。

图2为本发明所述基于人工智能的新闻召回过程示意图。

图3为本发明所述语义索引向量生成模型的结构示意图。

图4为本发明所述针对每棵搜索树确定路径及添加候选新闻的方法实施例的流程图。

图5为本发明所述构建出的索引库的示意图。

图6为本发明所述针对每棵搜索树确定路径及召回新闻的方法实施例的流程图。

图7为本发明所述根据用户的语义索引向量召回新闻的方式示意图。

图8为本发明所述基于人工智能的新闻召回装置实施例的组成结构示意图。

图9示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。

【具体实施方式】

针对现有技术中存在的问题,本发明中提出一种新闻召回方式,即基于语义空间的新闻召回方式,通过语义空间,将新闻赋予语义信息,并以此语义信息为依据,进行新闻召回。

为了使本发明的技术方案更加清楚、明白,以下参照附图并举实施例,对本发明所述方案进行进一步说明。

显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

图1为本发明所述基于人工智能的新闻召回方法实施例的流程图,如图1所示,包括以下具体实现方式。

在101中,根据各候选新闻构建索引库,索引库中包括m棵搜索树,m为正整数,每棵搜索树均为包含至少两层的完全二叉树,每棵搜索树中的每个非叶子节点分别对应一个语义索引向量,每条候选新闻分别对应于每棵搜索树中的一个叶子节点。

在102中,当需要向用户推荐新闻时,根据用户的兴趣标签(tag)生成用户的语义索引向量。

在103中,针对索引库中的每棵搜索树,分别根据其中的各非叶子节点对应的语义索引向量以及用户的语义索引向量,确定出一条从第一层非叶子节点到一个叶子节点的路径,将路径上的叶子节点对应的候选新闻作为召回结果。

其中,可根据每条候选新闻的标签,分别生成每条候选新闻的语义索引向量,进而根据各候选新闻的语义索引向量构建出索引库。

也就是说,各候选新闻以及用户均具备标签,比如,用户和候选新闻的标签可分别为:

用户a:军事、体育、二战、台海、中国足球;

候选新闻1:足球、世界杯、巴西、中国、赛事、冠军;

候选新闻2:娱乐、三生三世十里桃花、电视剧、甄嬛传。

标签包含了用户的兴趣信息以及候选新闻的语义信息。

如何得到用户以及候选新闻的标签为现有技术。

针对用户和候选新闻的标签,均需要将其表示为语义索引向量的形式。

相应地,图2为本发明所述基于人工智能的新闻召回过程示意图,如图2所示,可根据每条候选新闻的标签,分别生成每条候选新闻的语义索引向量之后,可根据各候选新闻的语义索引向量构建出索引库,当需要向用户推荐新闻时,可根据用户的兴趣标签生成用户的语义索引向量,进而利用用户的语义索引向量在索引库中进行搜索,从而确定出作为召回结果的候选新闻,进而将召回结果推荐给用户。

以下分别对上述各部分的具体实现进行详细说明。

一)语义索引向量

语义索引向量是一种二进制code形式的向量,是由一系列0和1组成的定长的向量,如(0,1,0,0,1,1,0,1)。

可预先训练得到两个语义索引向量生成模型,为便于表述,分别将其称为第一语义索引向量生成模型和第二语义索引向量生成模型,假设第一语义索引向量生成模型对应于候选新闻,第二语义索引向量生成模型对应于用户,那么,针对每条候选新闻,可分别将该候选新闻的标签输入给第一语义索引向量生成模型,从而得到该候选新闻的语义索引向量,类似地,可将用户的兴趣标签输入给第二语义索引向量生成模型,从而得到用户的语义索引向量。

语义索引向量生成模型的具体结构不作限制,比如,可如图3所示。

图3为本发明所述语义索引向量生成模型的结构示意图,如图3所示,在训练过程中,可进行优化处理,优化目标包括两部分:

1)logloss优化浮点型向量之间的语义相似度;

2)squareloss优化浮点型向量和二进制code向量之间的差距,让差距尽量减小;

其中,卷积神经网络(cnn,convolutionneuralnetwork)、循环神经网络(rnn,recurrentneuralnetworks)和深度神经网络(dnn,deepneuralnetwork)均为神经网络模型,可选用其中的任意一种。

如何训练得到第一语义索引向量生成模型和第二语义索引向量生成模型为现有技术。

之后,即可利用第一语义索引向量生成模型和第二语义索引向量生成模型来生成候选新闻以及用户的语义索引向量。

二)构建索引库

可根据各候选新闻的语义索引向量来构建索引库。

具体地,可首先构建出m棵搜索树,m为正整数,具体取值可根据实际需要而定,也就是说,搜索树的数量可以为一,也可以大于一,通常会大于一,即索引库是由多棵搜索树构成的搜索森林,设置多棵搜索树,可提升后续推荐结果的泛化性和多样性。

每棵搜索树均为包含至少两层的完全二叉树,每棵搜索树中的每个非叶子节点分别对应一个语义索引向量。

每棵搜索树中包含的具体层数可根据实际需要而定,另外,不同的搜索树中包含的层数可以相同,也可以不同。

每棵搜索树中的每个非叶子节点可分别对应一个随机生成的语义索引向量,比如,随机生成的(0,1,0,1,0,1,0,1)的语义索引向量。

在构建出m棵搜索树之后,针对每条候选新闻,可分别按照以下方式将其加入到索引库中:

针对每棵搜索树,分别根据该搜索树中的各非叶子节点对应的语义索引向量以及该候选新闻的语义索引向量,确定出一条从该搜索树中的第一层非叶子节点到一个叶子节点的路径,将该候选新闻确定为对应于该路径上的叶子节点的候选新闻,即将该候选新闻添加到该搜索树中。

图4为本发明所述针对每棵搜索树确定路径及添加候选新闻的方法实施例的流程图,如图4所示,包括以下具体实现方式。

在401中,将搜索树中的第一层非叶子节点作为路径的开始,并将第一层非叶子节点作为待处理的非叶子节点,执行402。

在402中,将候选新闻的语义索引向量与待处理的非叶子节点对应的语义索引向量进行线性投影,根据投影结果从待处理的非叶子节点的下一层节点中选出一个节点,加入到路径中。

比如,当投影结果为正时,将下一层节点中的左侧节点作为选出的节点,当投影结果为负时,将下一层节点中的右侧节点作为选出的节点。

或者,当投影结果为负时,将下一层节点中的左侧节点作为选出的节点,当投影结果为正时,将下一层节点中的右侧节点作为选出的节点。

即根据投影结果的正负性来决定下一步是向左走还是向右走,直至走到叶子节点。

如何进行线性投影为现有技术。

在403中,确定选出的节点是否为非叶子节点,如果是,则执行404,否则,执行405。

在404中,将选出的非叶子节点作为待处理的非叶子节点,重复执行402。

在405中,将候选新闻确定为对应于该叶子节点的候选新闻,结束流程。

分别对每条候选新闻按照上述方式进行处理后,即可完成索引库的构建。

图5为本发明所述构建出的索引库的示意图,如图5所示,假设共包括3棵搜索树,分别为搜索树1、搜索树2和搜索树3,假设共有1000条候选新闻,那么搜索树1中的各叶子节点对应的候选新闻数之和将为1000,同样,搜索树2和搜索树3中的各叶子节点对应的候选新闻数之和也将为1000,每个叶子节点可分别对应多条候选新闻。

三)搜索

在完成索引库的构建之后,当需要向任一用户推荐新闻时,即可根据用户的语义索引向量,在索引库中进行搜索,从而确定出作为召回结果的候选新闻,进而推荐给用户。

具体地,针对索引库中的每棵搜索树,可分别根据该搜索树中的各非叶子节点对应的语义索引向量以及用户的语义索引向量,确定出一条从该搜索树中的第一层非叶子节点到一个叶子节点的路径,将该路径上的叶子节点对应的候选新闻作为召回结果。

图6为本发明所述针对每棵搜索树确定路径及召回新闻的方法实施例的流程图,如图6所示,包括以下具体实现方式。

在601中,将搜索树中的第一层非叶子节点作为路径的开始,并将第一层非叶子节点作为待处理的非叶子节点,执行602。

在602中,将用户的语义索引向量与待处理的非叶子节点对应的语义索引向量进行线性投影,根据投影结果从待处理的非叶子节点的下一层节点中选出一个节点,加入到路径中。

比如,当投影结果为正时,将下一层节点中的左侧节点作为选出的节点,当投影结果为负时,将下一层节点中的右侧节点作为选出的节点。

或者,当投影结果为负时,将下一层节点中的左侧节点作为选出的节点,当投影结果为正时,将下一层节点中的右侧节点作为选出的节点。

即根据投影结果的正负性来决定下一步是向左走还是向右走,直至走到叶子节点。

在603中,确定选出的节点是否为非叶子节点,如果是,则执行604,否则执行605。

在604中,将选出的非叶子节点作为待处理的非叶子节点,重复执行602。

在605中,将该叶子节点对应的候选新闻作为召回结果,结束流程。

针对每棵搜索树,可分别按照上述方式进行处理,从而分别确定出每棵搜索树中的作为召回结果的候选新闻,进而推荐给用户。

综合上述介绍,图7为本发明所述根据用户的语义索引向量召回新闻的方式示意图,如图7所示,假设共有三棵搜索树,根据用户的语义索引向量,分别从每棵搜索树中确定出了一条路径,分别将每条路径中的叶子节点对应的候选新闻作为召回结果。

需要说明的是,上述各路径中的叶子节点对应的候选新闻中可能存在重复,那么可先进行去重处理,之后再推荐给用户。

基于上述介绍可知,采用本发明所述方案,可根据用户的兴趣标签生成用户的语义索引向量,进而根据用户的语义索引向量去索引库中进行搜索,从而确定出作为召回结果的候选新闻,进而推荐给用户,即在推荐新闻时,考虑了用户的兴趣,从而相比于现有方式1),使得推荐结果更具针对性,与用户的相关性更高,进而提高了新闻推荐结果的准确性。

另外,采用本发明所述方案,根据各候选新闻构建索引库,索引库中包括m棵搜索树,每棵搜索树均为包含至少两层的完全二叉树,每棵搜索树中的每个非叶子节点分别对应一个语义索引向量,每条候选新闻分别对应于每棵搜索树中的一个叶子节点,这样,在进行搜索时,可针对每棵搜索树,分别根据其中的各非叶子节点对应的语义索引向量以及用户的语义索引向量,确定出一条从搜索树中的第一层非叶子节点到一个叶子节点的路径,进而将路径上的叶子节点对应的候选新闻作为召回结果,相比于现有方式2)来说,无需计算所有候选新闻与用户的语义相似度,从而降低了计算复杂度和计算耗时等。

以上是关于方法实施例的介绍,以下通过装置实施例,对本发明所述方案进行进一步说明。

图8为本发明所述基于人工智能的新闻召回装置实施例的组成结构示意图。包括:建库单元801以及搜索单元802。

建库单元801,用于根据各候选新闻构建索引库,索引库中包括m棵搜索树,m为正整数,每棵搜索树均为包含至少两层的完全二叉树,每棵搜索树中的每个非叶子节点分别对应一个语义索引向量,每条候选新闻分别对应于每棵搜索树中的一个叶子节点。

搜索单元802,用于在需要向用户推荐新闻时,根据用户的兴趣标签生成用户的语义索引向量;针对每棵搜索树,分别根据其中的各非叶子节点对应的语义索引向量以及用户的语义索引向量,确定出一条从第一层非叶子节点到一个叶子节点的路径,将路径上的叶子节点对应的候选新闻作为召回结果。

其中,建库单元801可根据每条候选新闻的标签,分别生成每条候选新闻的语义索引向量,进而根据各候选新闻的语义索引向量构建出索引库。

也就是说,各候选新闻以及用户均具备标签,比如,用户和候选新闻的标签可分别为:

用户a:军事、体育、二战、台海、中国足球;

候选新闻1:足球、世界杯、巴西、中国、赛事、冠军;

候选新闻2:娱乐、三生三世十里桃花、电视剧、甄嬛传。

标签包含了用户的兴趣信息以及候选新闻的语义信息。

如何得到用户以及候选新闻的标签为现有技术。

针对用户和候选新闻的标签,均需要将其表示为语义索引向量的形式。

语义索引向量是一种二进制code形式的向量,是由一系列0和1组成的定长的向量。

如图8所示,本实施例所述装置中可进一步包括:模型训练单元800。

模型训练单元800,用于预先训练得到第一语义索引向量生成模型以及第二语义索引向量生成模型。

相应地,建库单元801可分别将各候选新闻的标签输入给第一语义索引向量生成模型,从而得到各候选新闻的语义索引向量。

搜索单元802可将用户的兴趣标签输入给第二语义索引向量生成模型,从而得到用户的语义索引向量。

建库单元801可根据各候选新闻的语义索引向量来构建索引库。

具体地,建库单元801可首先构建出m棵搜索树,m为正整数,具体取值可根据实际需要而定。

每棵搜索树均为包含至少两层的完全二叉树,每棵搜索树中的每个非叶子节点分别对应一个语义索引向量。

每棵搜索树中包含的具体层数可根据实际需要而定,另外,不同的搜索树中包含的层数可以相同,也可以不同。

每棵搜索树中的每个非叶子节点可分别对应一个随机生成的语义索引向量。

在构建出m棵搜索树之后,建库单元801可针对每条候选新闻,分别进行以下处理:

针对每棵搜索树,分别根据其中的各非叶子节点对应的语义索引向量以及候选新闻的语义索引向量,确定出一条从第一层非叶子节点到一个叶子节点的路径,将候选新闻确定为对应于路径上的叶子节点的候选新闻。

比如,建库单元801可将搜索树中的第一层非叶子节点作为路径的开始,并将第一层非叶子节点作为待处理的非叶子节点,进行以下预定处理:

将候选新闻的语义索引向量与待处理的非叶子节点对应的语义索引向量进行线性投影,根据投影结果从待处理的非叶子节点的下一层节点中选出一个节点,加入到路径中;

当选出的节点为非叶子节点时,将选出的非叶子节点作为待处理的非叶子节点,重复执行预定处理;

当选出的节点为叶子节点时,将候选新闻确定为对应于叶子节点的候选新闻。

其中,当投影结果为正时,所选出的节点为下一层节点中的左侧节点,当投影结果为负时,所选出的节点为下一层节点中的右侧节点;或者,当投影结果为负时,所选出的节点为下一层节点中的左侧节点,当投影结果为正时,所选出的节点为下一层节点中的右侧节点。

在完成索引库的构建之后,当需要向任一用户推荐新闻时,搜索单元802可根据用户的语义索引向量,在索引库中进行搜索,从而确定出作为召回结果的候选新闻,进而推荐给用户。

具体地,针对索引库中的每棵搜索树,搜索单元802可分别根据该搜索树中的各非叶子节点对应的语义索引向量以及用户的语义索引向量,确定出一条从该搜索树中的第一层非叶子节点到一个叶子节点的路径,将该路径上的叶子节点对应的候选新闻作为召回结果。

比如,搜索单元802可将搜索树中的第一层非叶子节点作为路径的开始,并将第一层非叶子节点作为待处理的非叶子节点,进行以下预定处理:

将用户的语义索引向量与待处理的非叶子节点对应的语义索引向量进行线性投影,根据投影结果从待处理的非叶子节点的下一层节点中选出一个节点,加入到路径中;

当选出的节点为非叶子节点时,将选出的非叶子节点作为待处理的非叶子节点,重复执行预定处理;

当选出的节点为叶子节点时,将叶子节点对应的候选新闻作为召回结果。

其中,当投影结果为正时,所选出的节点为下一层节点中的左侧节点,当投影结果为负时,所选出的节点为下一层节点中的右侧节点;或者,当投影结果为负时,所选出的节点为下一层节点中的左侧节点,当投影结果为正时,所选出的节点为下一层节点中的右侧节点。

图8所示装置实施例的具体工作流程请参照前述方法实施例中的相应说明,不再赘述。

图9示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。图9显示的计算机系统/服务器12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图9所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器(处理单元)16,存储器28,连接不同系统组件(包括存储器28和处理器16)的总线18。

总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(isa)总线,微通道体系结构(mac)总线,增强型isa总线、视频电子标准协会(vesa)局域总线以及外围组件互连(pci)总线。

计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。

存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图9未显示,通常称为“硬盘驱动器”)。尽管图9中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如cd-rom,dvd-rom或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。

具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。

计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图9所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机系统/服务器12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。

处理器16通过运行存储在存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现图1所示实施例中的方法,即根据各候选新闻构建索引库,索引库中包括m棵搜索树,m为正整数,每棵搜索树均为包含至少两层的完全二叉树,每棵搜索树中的每个非叶子节点分别对应一个语义索引向量,每条候选新闻分别对应于每棵搜索树中的一个叶子节点;当需要向用户推荐新闻时,根据用户的兴趣标签生成用户的语义索引向量;针对每棵搜索树,分别根据其中的各非叶子节点对应的语义索引向量以及用户的语义索引向量,确定出一条从第一层非叶子节点到一个叶子节点的路径,将路径上的叶子节点对应的候选新闻作为召回结果。

具体实现请参照前述各实施例中的相关说明,不再赘述。

本发明同时公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时将实现如图1所示实施例中的方法。

可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

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

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

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

在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法等,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1