发明内容
本发明提供一种基于用户操作行为推荐相关搜索数据的方法,以解决上述问题。
本发明提供一种基于用户操作行为推荐相关搜索数据的方法,包括:
根据搜索数据,获取用户操作行为所对应的操作数据;
根据所述搜索数据与所述操作数据生成二者之间的关联概率图;
根据所述关联概率图生成所述搜索数据和所述操作数据的语义编码;
根据所述关联概率图和所述语义编码推荐关于所述搜索数据的相关搜索数据。
可选的,所述根据所述搜索数据与所述操作数据,生成二者之间的关联概率图,具体为,对所述搜索数据和所述操作数据进行迭代处理,所述迭代处理包括:
为所述搜索数据和操作数据之间建立初始化映射关系,并形成初始化关联概率图。
可选的,为所述搜索数据和操作数据之间建立初始化映射关系,并形成初始化关联概率图,具体为,对具有操作关系的搜索数据和操作数据之间添加边,构成所述初始化映射关系,形成无向图。
可选的,所述迭代处理包括:
基于所述初始化关联概率图,判断所述搜索数据之间是否存在以所述操作数据为公共端的关联关系,和/或所述操作数据之间是否存在以所述搜索数据为公共端的关联关系,若存在,则建立所述搜索数据之间和/或所述操作数据之间的邻接关系;
根据所述邻接关系获取所述搜索数据之间、所述操作数据之间和/或所述搜索数据与操作数据之间的关联概率;
根据所述邻接关系和关联概率,对所述初始化关联概率图进行剪枝操作,形成迭代后的关联概率图。
可选的,所述建立所述搜索数据之间和/或所述操作数据之间的邻接关系,具体为,基于所述无向图,分别对具有所述公共端的所述搜索数据之间和/或所述操作数据之间添加双向边。
可选的,所述根据所述关联概率图生成所述搜索数据的语义编码,包括:
根据所述搜索数据之间、所述操作数据之间和/或搜索数据与操作数据之间的关联概率,分别计算所述搜索数据和所述操作数据的向量值。
可选的,所述根据所述关联概率图和所述语义编码推荐关于所述搜索数据的相关搜索数据,包括:
根据所述关联概率图获取与所述搜索数据的相关搜索候选集;
查找所述搜索数据和所述相关搜索候选集中候选数据的语义编码;
根据所述搜索数据的语义编码计算所述搜索数据与每一所述候选数据的相关值;
选取相关值最大候选数据作为相关搜索数据加入结果集中;
判断所述结果集中的所述相关搜索数据是否达到设定的阈值,或者所述相关搜索候选集是否为空,若是,则将所述结果集中相关搜索数据作为推荐的相关搜索数据进行推荐,若否,则更新所述相关搜索候选集中搜索数据的语义编码,并返回至所述根据所述搜索数据的语义编码计算所述搜索数据与每一所述候选数据的相关值的步骤。
可选的,在所述更新前,将加入所述结果集中的所述相关搜索数据对应于所述相关搜索候选集中的候选数据删除。
可选的,所述选取相关值最大候选数据作为相关搜索数据加入结果集中包括:
对所述结果集中的相关搜索数据,根据所述相关搜索数据的语义编码进行去重复处理。
可选的,所述搜索数据为查询词,所述操作数据为对应所述查询词的相关网络资源;所述用户操作行为为用户点击行为。
本发明还提供一种基于用户操作行为推荐相关搜索数据的装置包括:
操作数据获取单元,用于根据搜索数据,获取用户操作行为所对应的操作数据;
关联概率图生成单元,用于根据所述搜索数据与所述操作数据生成二者之间的关联概率图;
语义编码生成单元,用于根据所述关联概率图生成所述搜索数据和所述操作数据的语义编码;
推荐单元,用于根据所述关联概率图和所述语义编码推荐关于所述搜索数据的相关搜索内容。
可选的,所述关联概率图生成单元包括迭代处理单元,所述迭代处理单元包括:
初始关系建立单元,用于为所述搜索数据和操作数据之间建立初始映射关系,并形成初始化关联概率图。
可选的,所述初始关系建立单元具体是,对具有操作关系的搜索数据和操作数据之间添加边,构成所述初始化映射关系,形成无向图。
可选的,所述迭代处理单元包括:
关联关系判断单元,用于判断所述搜索数据之间是否存以所述操作数据为公共端的关联关系,和/或所述操作数据之间是否存在以所述搜索数据为公共端的关联关系,若存在,则进入邻接关系建立单元;
所述邻接关系建立单元,用于建立所述搜索数据之间和/或所述操作数据之间的邻接关系;
关联概率获取单元,用于根据所述邻接关系获取所述搜索数据之间、所述操作数据之间和/或所述搜索数据与操作数据之间的关联概率;
剪枝单元,用于根据所述邻接关系和关联概率,对所述初始化关联概率图进行剪枝操作,形成迭代后的关联概率图。
可选的,所述邻接关系建立单元具体是基于所述无向图,分别对具有所述公共端的所述搜索数据之间和所述操作数据之间添加双向边。
可选的,所述语义编码生成单元包括:
计算单元,用于根据所述搜索数据之间、所述操作数据之间和/或所述搜索数据与所述操作数据之间的关联概率,分别计算所述搜索数据和所述操作数据的向量值。
可选的,所述推荐单元包括:
相关搜索候选集获取单元,用于根据所述关联概率图获取与所述搜索数据的相关搜索候选集;
查找单元,用于查找所述搜索数据和所述相关搜索候选集中候选数据的语义编码;
相关值计算单元,用于根据所述搜索数据的语义编码计算所述搜索数据与每一所述候选数据的相关值;
选取单元,用于选取相关值最大候选数据作为相关搜索数据加入结果集中;
相关搜索数据推荐判断单元,用于判断所述结果集中的所述相关搜索数据是否达到设定的阈值,或者所述相关搜索候选集是否为空,若是,则将所述结果集中相关搜索数据作为推荐的相关搜索数据进行推荐,若否,则进入更新返回单元;
所述更新返回单元,用于更新所述相关搜索候选集中搜索数据的语义编码,并返回至所述相关值计算单元。
可选的,所述选取单元包括:
删除单元,用于在所述更新前,将加入结果集中的所述相关搜索数据对应于所述相关搜索候选集中的候选数据删除。
可选的,所述选取单元包括:
去重复处理单元,用于对所述结果集中的相关搜索数据,根据所述相关搜索数据的语义编码进行去重复处理。
可选的,所述操作数据获取单元中的所述搜索数据为查询词,所述操作数据为对应所述查询词的相关网络资源,所述用户操作行为为用户点击行为。
本发明提供的一种基于用户操作行为推荐相关搜索数据的方法,根据搜索数据,获取用户操作行为所对应的操作数据;根据所述搜索数据与所述操作数据生成二者之间的关联概率图;根据所述关联概率图生成所述搜索数据和所述操作数据的语义编码;根据所述关联概率图和所述语义编码推荐关于所述搜索数据的相关搜索内容;可见,本发明只要根据搜索数据收集的操作数据,而操作数据可以是文本信息可以是视频信息等只要具有操作行为的任何数据信息,因此,根据搜索数据获得相关搜索数据不受搜索文本的限制,并且根据搜索数据和操作数据生成关联概率图,通过关联概率图获得搜索数据和操作数据的语义编码,使得搜索数据和操作数据之间具有较强的语义相关性,从而能够搜索出与搜索数据关联更加密切的相关搜索内容。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施的限制。
为了更好的理解本发明的技术内容,以下通过所述搜索数据为查询词,所述操作数据为对应用户点击行为而获取的相关网络资源或者称为点击数据;所述用户操作行为为用户点击行为,为例对发明进行说明。
需要说明的是,本发明中的用户操作行为并不限于用户点击行为,还可以是敲击按键、滑屏、触摸等等。搜索数据也不限于查询词,还可以是搜索图片、视频,文本等等。所述操作数据可以为任何关于所述搜索数据的相关资源信息,例如文本数据、图片数据、视频数据等等。
下面通过上述用户点击行为、查询词、相关网络资源进行说明。
请参考图1所示,图1是本发明提供的一种基于用户操作行为推荐相关搜索数据的方法流程图,该方法包括如下步骤:
步骤100:根据搜索数据,获取用户操作行为所对应的操作数据。
该步骤的具体实现过程是,通过使用搜索引擎输入搜索词,收集关于该搜索词的点击数据,并上传至日志中心,日志中心将收到的点击数据进行分析整理并上传至数据中心。所述点击数据是指用户在搜索引擎内输入的搜索数据,根据所述搜索数据Web显示的关于所述搜索数据的网络资源信息,用户操作Web上的资源信息,并返回进行操作的结果。
为了更好的了解该步骤的内容,下面举例说明,例如:搜索词为“王菲”,点击数据为“清风徐来”的视频数据或其他经用户点击的数据信息。
步骤101:根据所述搜索数据与所述操作数据生成二者之间的关联概率图。
请参考图2所示,图2是本发明提供的一种基于用户点击行为推荐相关搜索数据的方法中初始化关联概率图的示意图。
该步骤的具体实现过程是对所述搜索数据和所述操作数据进行迭代处理,所述迭代处理包括:
通过为所述搜索词和点击数据之间建立初始化映射关系,并形成初始化关联概率图;其中,所述初始化映射关系,可以是通过对具有点击关系的搜索词和点击数据之间添加边21,形成无向图,该无向图即为初始化关联概率图。
所述搜索词和点击数据可以分别看作为节点(ni和nj),节点可以存在多个,初始化时,节点之间边的权重初始化为归一化之后的点击量,也就是说,边的权重为搜索词与点击数据之间的关联概率Pij。
如在步骤100中所举例,搜索词“王菲”和点击数据“清风徐来”视频信息之间通过边形成无向图,进而构成两个节点之间的初始映射关系。
基于所述初始映射关系,对所述搜索词和点击数据之间再次进行迭代处理,进而形成迭代后的关联概率图。
其中所述迭代处理,包括:判断所述搜索词之间是否存以所述点击数据为公共端的关联关系,和/或所述点击数据之间是否存在以所述搜索词为公共端的关联关系,若存在,则建立所述搜索词之间和/或所述点击数据之间的邻接关系。根据所述邻接关系获取所述搜索词之间、所述点击数据之间和/或所述搜索词和点击数据之间的关联概率。
需要说明的是,所述搜索词和点击数据之间可能存在搜索词之间的相关关联关系,也可能存在点击数据之间的关联关系,也可能存在搜索词和点击数据之间的关联关系,也就是说,搜索词之间、点击数据之间、搜索词和点击数据之间存在多种关联关系的可能性。
其中,基于所述无向图,分别对具有所述公共端的所述搜索词之间和所述点击数据之间添加双向边22,从而形成关联概率图。
所述关联概率图是由节点20集合V={ni}以及边的集合P={Pij}构成,也就是说,关联概率图:G={P,V},其中,ni表示其中的一个节点。节点ni和nj之间的关联程度用来Pij表示。
结合图2参考图3所示,图3是本发明提供的一种基于用户操作行为推荐相关搜索数据的方法中具有邻接关系的示意图。
以上述初始化映射关系的举例而言,对具有邻接关系的节点之间再次进行迭代处理,通过对节点之间进行不断的迭代处理,最终能够获得搜索词之间、所述点击数据之间和/或所述搜索词和点击数据之间的关联概率。
举例而言:如果节点ni和nj能够通过一个中间节点(公共端)nk连接,说明节点ni和nj之间具有关联性,在无向图中加入节点ni和nj之间的双向边,此时边的权重有Pik和Pjk以及nk的连接数确定。通常情况下,Pik和Pjk的值越大,则nk的连接数越小,进而Pij越大。
迭代后的相关概率可以通过以下公式获得:
上述公式中:
i(j):是关联概率图中的节点,具体到本实施例中,有搜索数据和视频两类节点。
Pij:关联概率图中节点i和节点j的概率关系。Pij∈[0,1],值越大表示两者的关联关系越强。
Pik为所述第一节点Ni和所述中间节点Nk的关联概率,Pkj为所述中间节点Nk和所述第二节点Nj的关联概率。
P′ij:新一轮迭代的计算后,所述第一节点Ni和所述第二节点Nj之间的关联概率。
k:同时和i以及j连接的中间节点(公共端)。
α:是参数,保证算法的收敛性。
λk:以节点连接数为输入参数的惩罚函数,节点的连接数越大,惩罚函数的值越大。惩罚函数的具体实现如下:
其中Degree(k)是中间节点Nk的连接数,σ是参数,为根据所述中间节点Nk所连接的节点数预设的惩罚参数。在实际应用中取值为0.85。
通过上述迭代处理可以减弱“大词引力效应”,即搜索词经过几次迭代之后通常会与搜索频率较高的搜索词或点击数据(如:视频数据)产生关联。
根据上述迭代处理后形成的关联概率图,根据所述邻接关系和关联概率,对所述关联概率图进行剪枝操作。
所述剪枝操作即为,将没有两个节点之间没有中间节点或者说两个节点之间没有公共端,而导致两个节点之间没有双向边,或者是说两个节点由于不存在中间节点而使二者之间没有关联性,将没有关联性的节点修剪删除。也可以理解为再次进行的迭代处理,只不过此处的迭代处理时进行了剪枝操作(图如4所示)。
步骤102:根据所述关联概率图生成所述搜索词和所述点击数据的语义编码。
该步骤的具体实现过程包括:
根据所述搜索词之间、所述点击数据之间和/或搜索词与点击数据之间的关联概率计算所述搜索词和/或所述点击数据的向量值。
所述向量值的计算可以通过如下公式计算:
先用公式定义边Pij和节点ni和节点nj之间的关系。
其中:Pij是图中节点ni和nj相邻接的边所代表的值(关联概率),为已知量。和是待求的向量值,是对每个节点的向量表示,例如:
利用关联概率图G中任意两个节点构建一个方程式,如果两个节点有关联关系,那么Pij为两个节点相邻边的值,如果两个节点无关联关系,则Pij=0.对于一个有n个节点的图,方程数为n×(n-1)。
以5个节点为例说明向量的计算:n12的Pij=0.3,n13的Pij=0,n14的Pij=0,n15的Pij=0.2,n21的Pij=0.2,n23的Pij=0.8,......,n54的Pij=0.6
为节点1,2之间的方程;
为节点1,3之间的方程;
为节点1,4之间的方程;
为节点1,5之间的方程;
为节点2,1之间的方程;
为节点2,3之间的方程;
........;
为节点5,4之间的方程;
通过梯度下降法解上述方程组,以获得各个节点之间的向量值和。
初始化每一个向量为长度为K的随机向量;
将获得的各个节点之间的向量值和,按照公式计算两两向量当前的相关性的实际值yij;
用交叉熵(cross entropy)函数作为惩罚函数计算当前相关性yij与搜索词Pij的惩罚度;
Lij=-P′ijlog(yij)-(1-P′ij)log(1-yij)
利用惩罚度计算下述公式中的目标函数:
目标函数L的值越小,表示节点i和节点j的向量越合适,可以选择使得L的值最小的节点ni和nj的向量,作为节点ni和节点nj的语义向量。
并依此计算出每个向量的更新量:
更新:
其中,η为根据迭代次数确定的增量步长。
步骤103:根据所述关联概率图和所述语义编码推荐关于所述搜索词的相关搜索内容。
该步骤的具体实现方式包括:
根据所述关联概率图获取与所述搜索词的相关搜索候选集;其中,当所述当前搜索词为q时,则根据关联概率图可获得相关搜索候选集为:<q1,q2,q3,...,qn>。
查找所述搜索数据和所述相关搜索候选集中候选数据的语义编码,根据上述相关搜索候选集,在生成的语义编码中查找当前搜索数据的语义编码
根据所述搜索数据的语义编码计算所述搜索数据与每一所述候选数据的相关值;
选取相关值最大候选数据作为相关搜索词加入结果集中,在该步骤的实现过程中,可以通过公式:获得相关值最大或者是说相关性最高的搜索词。
判断所述结果集中的所述相关搜索词是达到设定的阈值,或者所述相关搜索候选集是否为空,若是,则将所述结果集中相关搜索词作为推荐相关搜索内容,若否,则更新所述搜索词的语义编码,并返回至所述根据所述搜索词的语义编码计算所述搜索词与每一所述候选数据的相关值的步骤。其中,所述条件可以是人为设定的上限值,也就是说,根据搜索需求设定相关搜索量,当相关搜索量达到设定的上限值后,则停止查找,将查找到的相关搜索内容输出显示。所述设定的阈值可以是设定的搜索数据个数,例如:当相关搜索数据达到8个则停止。
所述更新所述搜索词的语义编码,可以通过如下公式实现:
可以理解的是,为避免推荐重复的搜索词,在将相关值最大的候选数据作为相关搜索词加入结果集中后,可以利用公式:将结果集中存在重复语义编码的相关搜索词去除。
上述根据所述关联概率图和所述语义编码推荐关于所述搜索词的相关搜索内容的过程,可以通过以下伪代码实现:
//该步更新当前词的语义向量,保证相关搜索结果的语义多样性;
Result num++;
以上是对步骤103的具体流程步骤进行的说明,为更好的了解步骤103的实现,以下采用以计算搜索词“王菲”的相关搜索结果为例进行说明,具体如下:
首选,从关联概率图(VideoGraph)中查找“王菲”的相关搜索候选集:
{王菲清风徐来|清风徐来mv|港|匆匆那年王菲|匆匆那年mv|港完整版|红豆|谢霆锋|千岁情人|陈奕迅|经典老歌|mv歌曲|因为爱情|港主题曲|清平调|赵薇|经典歌曲|红豆王菲|匆匆那年|致青春王菲|致青春|王菲清风徐来|中国好声音第4季|刘德华|胡歌|优酷全娱乐20158月|王菲匆匆那年|窦唯|千岁情人国语版|中国好声音|王菲演唱会|谢霆锋王菲|致青春mv}。
其次,查找“王菲”以及相关搜索候选结果的语义编码(VideoVector)。
[清风徐来|港|匆匆那年|因为爱情|名人]。
王菲:[0.8,0.7,0.8,0.6,0.7]
清风徐来:[1,0.6,0.05,0.05,0.6]
清风徐来mv:[1,0.6,0.05,0.05,0.6]
港:[0.6,1,0.05,0.05,0.3]
......
致青春mv:[0.6,1,0.05,0.05,0.3]。
筛选相关搜索结果,筛选过程也就是迭代的过程,具体如下:
第一次迭代:
“王菲”一词的语义向量为:[0.8,0.7,0.8,0.6,0.7]。
候选集为:{清风徐来|清风徐来mv|港|匆匆那年王菲|匆匆那年mv|港完整版|红豆|谢霆锋|千岁情人|陈奕迅|经典老歌|mv歌曲|因为爱情|港主题曲|清平调|赵薇|经典歌曲|红豆王菲|匆匆那年|致青春王菲|致青春|王菲清风徐来|中国好声音第4季|刘德华|胡歌|优酷全娱乐20158月|王菲匆匆那年|窦唯|千岁情人国语版|中国好声音|王菲演唱会|谢霆锋王菲|致青春mv}。
结果集为空:{}。
根据公式分别计算王菲和每个候选结果的相关值,如下表:。
根据相关分数选择最相关的相关搜索结果,“清风徐来”。
将“清风徐来”添加到结果集中,同时从候选集中删除“清风徐来”。
更新“王菲”一词的语义编码(或者称为语义向量)。
更新后“王菲”一词的语义向量=当前“王菲”一词的语义向量-0.5ד清风徐来”一词的语义向量。
第二次筛选(迭代):
“王菲”一词的语义向量为:[0.3,0.4,0.775,0.575,0.4]。
候选集为:{清风徐来mv|港|匆匆那年王菲|匆匆那年mv|港完整版|红豆|谢霆锋|千岁情人|陈奕迅|经典老歌|mv歌曲|因为爱情|港主题曲|清平调|赵薇|经典歌曲|红豆王菲|匆匆那年|致青春王菲|致青春|王菲清风徐来|中国好声音第4季|刘德华|胡歌|优酷全娱乐20158月|王菲匆匆那年|窦唯|千岁情人国语版|中国好声音|王菲演唱会|谢霆锋王菲|致青春mv}。
结果集为:{清风徐来}
计算“王菲”和每个词的相关性
根据相关分数选择最相关的相关搜索结果,“港”。
将“港”添加到结果集中,同时从候选集中删除“港”。
更新“王菲”一词的语义向量。
上述过程重复执行,直到已经找到的能够满足设定阈值的相关搜索数据或者候选集已经为空为止。
以上是对本发明提供的一种基于用户操作行为推荐相关搜索数据的方法的说明,本发明还提供一种基于用户操作行为推荐相关搜索数据的装置,请参看图5,图5为本发明提供的一种基于用户操作行为推荐相关搜索数据的装置的实施例结构示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可,下述描述的装置实施例仅仅是示意性的。
本发明提供的一种基于用户操作行为推荐相关搜索数据的装置,包括:
操作数据获取单元501,用于根据搜索数据,获取用户操作行为所对应的操作数据;
关联概率图生成单元502,用于根据所述搜索数据与所述操作数据生成二者之间的关联概率图;
语义编码生成单元503,用于根据所述关联概率图生成所述搜索数据和所述操作数据的语义编码;
推荐单元504,用于根据所述关联概率图和所述语义编码推荐关于所述搜索数据的相关搜索内容。
所述关联概率图生成单元502包括迭代处理单元,所述迭代处理单元具体包括:
初始关系建立单元,用于为所述搜索数据和操作数据之间建立初始映射关系,并形成初始化关联概率图。
所述初始关系建立单元具体是,对具有操作关系的搜索数据和操作数据之间添加边,构成所述初始化映射关系,形成无向图。
所述迭代处理单元包括:
关联关系判断单元,用于判断所述搜索数据之间是否存以所述操作数据为公共端的关联关系,和/或所述操作数据之间是否存在以所述搜索数据为公共端的关联关系,若存在,则进入邻接关系建立单元;
所述邻接关系建立单元,用于建立所述搜索数据之间和/或所述操作数据之间的邻接关系;
关联概率获取单元,用于根据所述邻接关系获取所述搜索数据之间、所述操作数据之间和/或所述搜索数据与操作数据之间的关联概率;
剪枝单元,用于根据所述邻接关系和关联概率,对所述初始化关联概率图进行剪枝操作,形成迭代后的关联概率图。
所述邻接关系建立单元具体是基于所述无向图,分别对具有所述公共端的所述搜索数据之间和所述操作数据之间添加双向边。
所述语义编码生成单元503包括:
计算单元,用于根据所述搜索数据之间、所述操作数据之间以及搜索数据与操作数据之间的关联概率计算所述搜索数据和所述操作数据的向量值。
所述推荐单元504包括:
相关搜索候选集获取单元,用于根据所述关联概率图获取与所述搜索数据的相关搜索候选集;
查找单元,用于查找所述搜索数据和所述相关搜索候选集中候选数据的语义编码;
相关值计算单元,用于根据所述搜索数据的语义编码计算所述搜索数据与每一所述候选数据的相关值;
选取单元,用于选取相关值最大候选数据作为相关搜索数据加入结果集中;
相关搜索内容推荐判断单元,用于判断所述结果集中的所述相关搜索数据是否满足条件,或者所述相关搜索候选集是否为空,若是,则将所述结果集中相关搜索数据作为相关搜索内容推荐,若否,则进入更新返回单元;
所述更新返回单元,用于更新所述相关搜索候选集中搜索数据的语义编码,并返回至所述相关值计算单元。
所述选取单元包括:
删除单元,用于将加入结果集中的所述相关搜索数据对应于所述相关搜索候选集中的候选数据删除。
所述选取单元还包括:去重复处理单元,用于对所述结果集中的相关搜索数据,根据所述相关搜索数据的语义编码进行去重复处理。
本发明虽然以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以做出可能的变动和修改,因此本发明的保护范围应当以本发明权利要求所界定的范围为准。