CN107562787A - 一种poi编码方法及装置、poi推荐方法,电子设备 - Google Patents
一种poi编码方法及装置、poi推荐方法,电子设备 Download PDFInfo
- Publication number
- CN107562787A CN107562787A CN201710635922.3A CN201710635922A CN107562787A CN 107562787 A CN107562787 A CN 107562787A CN 201710635922 A CN201710635922 A CN 201710635922A CN 107562787 A CN107562787 A CN 107562787A
- Authority
- CN
- China
- Prior art keywords
- poi
- coding
- sequences
- sequence
- encoding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Abstract
本申请提供了一种POI编码方法,属于计算机技术领域,用于解决现有技术中POI编码方法存在的由于编码没有考虑POI之间的关联,从而导致的基于POI编码进行POI推荐时,推荐的POI不够准确的问题。所述方法包括:获取用户操作的POI序列,根据所述POI序列,通过基于深度学习的神经网络架构,训练POI编码模型,根据所述POI编码模型对应的POI编码向量序列,确定所述POI序列中每个POI的编码。所述方法通过基于用户操作产生的POI序列进行POI特征提取,并基于提取的特征对POI进行编码,使得POI编码中隐含了POI的关联性,进一步提升了基于此类POI编码进行POI推荐的准确性。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种POI编码方法及装置,POI推荐方法,电子设备。
背景技术
POI是“Point of Interest”的缩写,又称为“信息点”,通常用来表示真实世界中存在的某一具备地理位置的事物,如商家。随着互联网技术的不断发展,平台服务商不断探索为用户提高服务质量的方法。例如,当用户通过搜索引擎浏览平台页面或浏览应用的客户端页面时,平台通常会根据用户搜索或点击的POI为用户推荐相关的POI。
然而,现有技术中的POI编码方法仅考虑了单独POI的特征,这样会导致推荐的POI不够准确。
发明内容
本申请实施例提供一种POI编码方法,解决现有技术中的POI编码方法存在的推荐的POI不够准确的问题。
为了解决上述问题,第一方面,本申请实施例提供了一种POI编码方法,包括:
获取用户操作的POI序列;
根据所述POI序列,通过基于深度学习的神经网络架构,训练POI编码模型;
根据所述POI编码模型对应的POI编码向量序列,确定所述POI序列中每个POI的编码。
第二方面,本申请实施例提供了一种POI编码装置,包括:
POI序列获取模块,用于获取用户操作的POI序列;
编码模型训练模块,用于根据所述POI序列获取模块获取的POI序列,通过基于深度学习的神经网络架构,训练POI编码模型;
编码确定模块,用于根据所述编码模型训练模块训练得到的POI编码模型对应的POI编码向量序列,确定所述POI序列中每个POI的编码。
第三方面,本申请实施例提供了一种POI推荐方法,包括:
获取待处理POI的标识;
根据预先建立的POI标识和编码的映射关系,确定待处理POI的编码;
基于POI的编码,确定所述映射关系中的各编码对应的待推荐POI与所述待处理POI的相似度;
确定满足预设条件的所述相似度对应的待推荐POI,作为所述待处理POI的推荐结果;
其中,所述POI的编码根据本申请实施例所述的POI编码方法确定。
第四方面,本申请实施例提供了一种POI推荐装置,包括:
标识获取模块,用于获取待处理POI的标识;
编码确定模块,用于根据预先建立的POI标识和编码的映射关系,确定待处理POI的编码;
相似度确定模块,用于基于POI的编码,确定所述映射关系中的各编码对应的待推荐POI与所述待处理POI的相似度;
推荐结果确定模块,用于确定满足预设条件的所述相似度对应的待推荐POI,作为所述待处理POI的推荐结果;
其中,所述POI的编码根据本申请实施例所述的POI编码方法确定。
第五方面,本申请实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本申请实施例所述的POI编码方法,和/或POI推荐方法。
第六方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本申请实施例所述的POI编码方法,和/或POI推荐方法。
本申请实施例公开的POI编码方法,通过获取用户操作的POI序列,然后,根据所述POI序列,通过基于深度学习的神经网络架构,训练POI编码模型,最后,根据所述POI编码模型对应的POI编码向量序列,确定所述POI序列中每个POI的编码,解决了现有技术中的POI编码方法存在的推荐的POI不够准确的问题。本申请公开的编码方法,通过基于用户操作产生的POI序列进行POI特征提取,并基于提取的特征对POI进行编码,使得POI编码中隐含了POI的关联性,进一步提升了基于此类POI编码进行POI推荐的准确性。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例一的POI编码方法的流程图;
图2是本申请实施例二的POI编码方法中编码模型架构示意图;
图3是本申请实施例三的POI推荐方法的流程图;
图4是本申请实施例四的POI编码装置结构示意图之一;
图5是本申请实施例四的POI编码装置结构示意图之二;
图6是本申请实施例五的POI推荐装置结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的POI编码方法中,POI可以为商家、商品、地点等,为了便于理解,本申请的实施例中以POI为商品举例,对POI编码方法和推荐方法进行详细说明。
实施例一
本申请公开的一种POI编码方法,如图1所示,该方法包括:步骤100至步骤120。
步骤100,获取用户操作的POI序列。
优选的,所述操作可以为点击商品、购买商品的操作。
具体实施时,当用户操作POI时,平台会记录用户的行为日志,如浏览商品、点击商品、购买商品、支付等操作的行为日志,所述行为日志中包括用户操作的商品,用户操作的发生时间等信息。通过获取用户行为日志,对一段时间内所有用户操作的商品进行排序,得到商品序列,即用于训练模型的POI序列。具体实施时,可以通过商品标识序列来表示POI序列。
步骤110,根据所述POI序列,通过基于深度学习的神经网络架构,训练POI编码模型。
具体实施时,POI序列包括多个商品标识,POI序列的长度,即POI序列包括的商品标识的数量根据需要确定,例如一个POI序列可以包括20个商品标识。
本申请实施例中训练的POI编码模型是基于深度学习的神经网络架构训练的,例如结合Sequence-to-Sequence框架和自编码(Auto-Encoder)技术训练的神经网络模型。具体实施时,所述POI编码模型由编码器和解码器构成。所述编码器用于将与输入商品标识序列对应的输入编码向量序列进行编码,得到编码结果;所述解码器用于对所述编码结果进行解码,得到输出编码向量序列,并进一步得到输出商品标识序列。然后,通过不断迭代调整输入编码向量序列中的编码向量和POI编码模型的参数,使得得到的输出商品标识序列与输入商品标识序列的差异最小,即完成POI编码模型的训练。此时的输入编码向量序列中与输入商品标识序列中每个商品标识对应的编码向量为该商品标识的最优编码向量,即最能表现该商品与其他商品关联性的编码向量。
具体实施时,首先将商品标识序列中的每个商品标识初始化为一个D维向量,其中,D可以根据需要设置,通常为200左右的自然数;然后,将每个编码向量按照所述商品标识序列中商品标识的顺序组成输入编码向量序列;最后,将输入编码向量序列输入至编码器进行编码,获取编码结果。然后,由解码器对所述编码结果进行解码,得到输出编码向量序列,并进一步确定所述输出编码向量序列对应的输出商品标识序列。
具体实施时,可以设置损失函数来表达输出商品标识序列和输入商品标识序列的差异,并根据损失函数的值确定是否需要优化以及如何优化POI编码模型的参数和输入编码向量序列中的编码向量值,以使得输出商品标识序列和输入商品标识序列的差异最小。
具体实施时,可以通过随机梯度下降法逐渐优化POI编码模型的参数和输入编码向量序列中的编码向量值,以使得输出商品标识序列和输入商品标识序列的差异最小。当输出商品标识序列和输入商品标识序列的差异最小时,完成模型训练。
步骤120,根据所述POI编码模型对应的POI编码向量序列,确定所述POI序列中每个POI的编码。
当输出商品标识序列和输入商品标识序列的差异最小时,完成模型训练,此时输入商品标识序列对应的输入编码向量序列中的编码向量值为最优编码值,作为输入商品标识序列中相应商品标识对应的编码向量。具体实施时,通过输入编码向量序列中每组D维编码向量表示相应的商品标识对应的商品编码。
本申请实施例公开的POI编码方法,通过获取用户操作的POI序列,然后,根据所述POI序列,通过基于深度学习的神经网络架构,训练POI编码模型,最后,根据所述POI编码模型对应的POI编码向量序列,确定所述POI序列中每个POI的编码,解决了基于现有技术中的POI编码方法进行POI推荐时,推荐的POI不够准确的问题。本申请公开的编码方法,通过基于用户操作产生的POI序列进行POI特征提取,并基于提取的特征对POI进行编码,使得POI编码中隐含了POI的关联性,进一步提升了基于此类POI编码进行POI推荐的准确性。
实施例二
下面结合一个具体应用实例,详细说明实施例一的POI编码方法的具体实施方案。
具体实施时,上述步骤100,所述获取用户操作的POI序列,包括:获取用户行为日志;按照用户操作POI的时间先后顺序,将所述用户行为日志中包括的POI进行排序,获得POI序列。以所述预设操作为点击或购买商品的操作为例,首先获取平台所有用户在一段时间内的点击或购买行为日志。然后,对获取的用户行为日志进行分析。用户行为日志中包括用户操作商品的时间,如用户点击商品或购买商品的时间。每条所述用户行为日志中还包括用户操作的商品。具体实施时,分别提取每条行为日志中包括的商品,并按照用户操作该商品的时间先后顺序,将所述用户行为日志中包括的商品进行排序,获得商品序列。
例如,在一段时间内,用户A和用户B访问了某个页面,用户A购买了商品1,之后,用户B点击了商品3、商品2和商品4,平台将生成类似以下格式的用户行为日志:用户A,购买,商品1,2017年3月3日09时01分20秒;用户B,点击,商品3,2017年3月3日09时01分40秒;用户B,点击,商品2,2017年3月3日09时01分50秒;用户B,点击,商品4,2017年3月3日09时21分40秒。根据上述用户行为日志,可以确定所述行为日志中包括的商品为:商品1、商品3、商品2、商品4;然后按照用户操作的时间先后顺序,即用户点击或购买商品操作的时间先后顺序对前述商品进行排列,可以得到商品序列:商品1、商品3、商品2、商品4。
具体实施时,为了记录和方便数据处理,通常用商品标识来唯一表示平台上的商品,例如按照预设规则给每个商品设置一个标识,然后,将商品序列转换成商品标识序列。例如:商品1的商品标识为1,商品2的商品标识为2,商品3的商品标识为3,商品4的商品标识为4。然后,将商品序列转换为商品标识序列,可以得到:1、3、2、4。
具体实施时,上述步骤110,根据所述POI序列,通过基于深度学习的神经网络架构,训练POI编码模型,包括:根据所述POI序列,通过基于序列到序列的自编码框架,训练POI编码模型。本实施例中,基于序列到序列的自编码框架为结合序列到序列(Sequence-to-Sequence)框架和自编码(Auto-Encoder)技术的神经网络架构。
Sequence-to-Sequence框架是一种深度学习领域常用的神经网络模型框架,是一种“端到端”(End-to-End)的学习算法。Sequence-to-Sequence模型的目标是通过建模,使得输入一种序列模型能够输出另一种转换过的序列,通常被运用在中英文机器翻译任务中,输入一组中文序列,输出一组英文序列。这种框架通常由编码器和解码器两部分组成。
自编码(Auto-Encoder)技术也是一种深度学习领域常用的神经网络模型架构,其最显著的特点是输入与输出相等。自编码模型的目标是将输入通过某种变换得到与输入一模一样的输出,这种变换将输入的信息转换成另外一种表达方式,当模型的输出与输入差异最小时,可以认为,这种表达方式涵盖了输入的信息。
本申请的实施例中,进行POI编码是指将POI信息转换成一种数学表达(例如,编码向量),由所述数据表达来表达商品的某些信息,用于进行相关性计算。
具体实施时,所述根据所述POI序列,通过基于序列到序列的自编码框架,训练POI编码模型,包括:确定所述POI序列对应的输入POI标识序列,及所述输入POI标识序列对应的编码向量序列;初始化所述编码向量序列中的每个POI编码向量和POI编码模型的模型参数;基于预设期望,对所述POI编码向量和模型参数进行优化,控制所述POI编码模型基于所述编码向量序列和模型参数对所述POI序列执行编码和解码的操作,其中,所述预设期望为:所述POI编码模型的输出POI标识序列与所述输入POI标识序列之间差异最小。
POI序列包括多个商品标识,POI序列的长度,即POI序列包括的商品标识的数量根据需要确定,例如一个POI序列可以包括20个商品标识。具体实施时,当根据用户行为日志获取的商品序列的长度过长时,可以将所述商品序列分割为多个预设长度的商品序列,然后,分别对每个分割后的商品序列及西宁编码和解码操作。
在进行模型训练时,首先确定与所述POI序列对应的POI标识序列,如与{商品1,商品3,商品2,商品4}对应的商品标识序列{1,3,2,4},进一步的,确定与所述输入POI标识序列对应的编码向量序列,例如{X1,X3,X2,X4},其中,Xi表示一个D维编码向量。
然后,初始化所述编码向量序列中的每个POI编码向量和POI编码模型的模型参数。具体实施时,可以将编码向量序列{X1,X3,X2,X4}初始化为一组随机的浮点数向量。即编码向量序列中的每个编码向量Xi为一个D维浮点数向量。将POI的编码用D维的浮点数向量表示,使得编码能够包含更多的信息,使得数值大小变得有意义。D值根据业务需求确定,D值通常取较小的自然数,可以有效避免了维度灾难。
具体实施时,如图2所示,本申请实施例中训练的POI编码模型由编码器200和解码器210构成。编码器200和解码器210均由多个长短期记忆单元(Long Short Term Memory,简称LSTM)组成,在模型训练之前,需要初始化模型的参数,包括编码器和解码器的LSTM单元包含的相关参数,如其隐含结点的个数和输出的维度大小等。具体实施时,编码器会通过多个LSTM将输入的POI编码向量,如商品1的编码向量编码成一组信息体,即输出编码结果,并以一组向量的形式表示。LSTM通过“输入门”、“输出门”、“遗忘门”三个结构来控制当前时序的输入信息、之前时序的历史信息以及传递给下一个时序的信息保留多少,涉及的参数是这三个门的输入变量对应的权值参数。
对一个POI序列中的每一个POI标识,可以认为序列中的每一个POI标识代表一个时序,具体实施时,依照各个POI对应的时序,将每个POI的D维编码向量依次输入至编码器,由编码器进行编码,输出编码结果。
具体实施时,整个编码过程是将上一个时刻的输出ht-1与当前时刻的输入xt使用LSTM进行编码的过程,若编码过程使用函数f来表示,则编码过程可以表示为:ht=f(xt,ht-1),其中,xt是指在t时刻LSTM的输入,ht-1是指在t-1时刻LSTM的输出,c表示编码结果。以输入的商品序列是{1,3,2,4}为例,如图2中的220,首先,根据商品标识1获取其对应的编码向量,这里序号1代表第一个时序,所以其编码向量使用X1来表示,同时初始化h0(如,随机初始化h0为一个每个维度的值都介于[-1,1]的浮点数),将X1和h0输入编码器得到h1;然后,获取商品标识为3的向量编码X2,将X2和h1输入到编码器,计算其输出h2。依次计算每个时序i的输出结果hi,最后将各时序的输出结果h1、h2、h3、和h4作为这个商品标识序列经过编码器的编码结果c,如图2中的230。
具体实施时,整个解码的过程可以看做是将上一个时刻的输出ht-1,上一个时刻的输出结果yt-1以及编码结果c使用LSTM进行解码的过程。若解码过程使用函数f来表示,则解码过程可以表示为:ht=f(ht-1,yt-1,c),其中,f函数的作用是将ht-1,yt-1和c作为输入,进行解码,输出ht的过程。然后,根据ht求得yt的条件分布概率,公式如下:
P(yt|yt-1,yt-2,...,y1,c)=g(ht,yt-1,c),其中,g函数使用softmax函数,根据输入的当前时刻解码LSTM的输出结果ht,前一个时刻的输出结果yt-1和编码结果c通过softmax方法计算出当前时刻输出结果yt的概率分布,这个概率分布的意义是在已知编码结果c和之前所有时刻的输出结果yt-1,yt-2,…,y1的条件下,当前时刻解码结果属于所有POI标识的条件概率分布。
仍以输入的商品序列是{1,3,2,4}为例,通过编码过程,已经得到了编码结果c,首先,使用一个起始标志初始化y0,初始化h0,初始化方法同编码器中的初始化;然后,将ht-1,yt-1和c输入到解码器,进行解码,得到h1;h1是一组编码向量,将h1,y0,c通过softmax方法计算得到第一个时刻的解码结果,即该时刻解码结果是商品1、商品3、商品2、商品4的概率分布。之后,如果选择y1为输入的商品1;然后将h1,y1,c输入到解码器的LSTM,则得到输出结果h2,将h2,y1,c使用softmax方法计算,即可得到第二个时刻的概率分布。依次类推,最终得到所有4个时刻的解码结果的概率分布。
具体实施时,编码器和解码器的LSTM工作原理如下:输入门it:控制当前时刻t输入Xt和前一个时刻t-1的信息ht-1能有多少可以输入到记忆单元中,公式表达为:it=σ(Wi·[ht-1,xt]+bi);遗忘门ft:控制当前时刻t输入Xt和前一个时刻t-1的信息ht-1遗忘掉多少,公式表达为:ft=σ(Wf·[ht-1,xt]+bf);记忆单元候选C’:当前时刻t输入Xt和前一个时刻t-1的信息ht-1通过tanh变换形成一个新的记忆单元候选,用来更新原有的记忆单元,公式表达为:C′t=tanh(Wc·[ht-1,xt]+bc);输出门o:在当前时刻t,决定记忆单元Ct的信息有多少可以输出,公式表达为:ot=σ(Wo·[ht-1,xt]+bo)。然后,利用记忆单元Ct和输出门o计算当前时刻的输出ht,公式表达为:ht=ot*tanh(Ct),其中,Ct=ft*Ct-1+it*C't。
在模型训练过程中,我们希望模型最后的输出结果(如图2中的输出商品标识序列240)和输入结果(如图2中的输入商品标识序列220)尽可能的一致,即我们希望:解码器在第一个时刻输出的概率分布中商品1的概率最大、在第二个时刻输出的概率分布中商品3的概率最大、在第三个时刻输出的概率分布中商品2的概率最大、在第四个时刻输出的概率分布中商品4的概率最大,而且越大越好。为了实现这个目标,在模型训练过程中,通过如下损失函数表达模型训练和参数更新的预设期望:
其中,是在时刻t期望得到的POI标识w*的概率。模型训练的过程实际为:通过最小化这个loss即最大化每个时刻的来更新模型参数。T表示POI序列对应的时间范围。
具体实施时,模型参数更新使用反向传播算法,优化算法使用随机梯度下降算法。反向传播算法将训练误差loss看作一个高维函数,通过不断更新权重,寻找训练误差的最低点,按误差函数梯度下降的方向更新权值。
此时的输入编码向量序列中与输入POI标识序列中每个POI标识对应的编码向量为该POI标识的最优编码向量,即最能表现该POI与其他POI关联性的编码向量。当输出POI标识序列和输入POI标识序列的差异最小时,完成模型训练。
具体实施时,上述步骤120,根据所述POI编码模型对应的POI编码向量序列,确定所述POI序列中每个POI的编码,包括:获取满足预设期望时的编码向量序列;确定所述POI序列中每个POI标识对应的所述编码向量序列中编码向量,作为该标识的POI的编码。
当输出POI标识序列和输入POI标识序列的差异最小时,即loss值最小时,完成模型训练,此时输入POI标识序列对应的输入编码向量序列中的编码向量值为最优特征值,将各编码向量作为输入POI标识序列中相应POI标识对应的编码向量。具体实施时,通过输入编码向量序列中每组D维编码向量表示相应的POI标识对应的POI编码。
本申请实施例公开的POI编码方法,通过根据用户行为日志中的预设操作日志所包含的POI信息,生成POI序列,并基于编码向量序列训练POI编码模型,通过设置预设期望为输出POI标识序列与输入POI标识序列的差异最小,并基于此期望,不断优化编码向量序列中的编码向量和模型参数,以得到最能表达POI之间关联的POI编码,进一步提升了基于此类POI编码进行POI推荐的准确性。通过基于序列到序列的自编码框架,训练POI编码模型,为每个特征设置维度数量,可以有效避免维度灾难的发生。
实施例三
基于前述实施例,本申请公开的一种POI推荐方法,如图3所示,包括步骤300至步骤330。
步骤300,获取待处理POI的标识。
本申请实施例一和实施例二所述的POI编码方法,适用于基于POI编码进行产品推荐和产品搜索的场景,可以召回更多的相似搜索结果。
具体实施时,为了进行数据处理和管理,平台为每个POI设置一个唯一的标识,例如,用数字来标识不同的POI。
以搜索场景为例,当用户在搜索框输入待处理POI,即待查询POI,或者用户通过在页面选择某个POI之后,平台根据用户输入或选择的待处理POI确定其标识。假设用户在搜索框中输入“眉州东坡”,平台根据预先建立的搜索词库即可确定待处理POI“眉州东坡”的标识,如:1024。
以推荐场景为例,当用户登录某个页面,平台根据用户的历史行为或个人偏好确定用户感兴趣的POI作为待处理POI。
步骤310,根据预先建立的POI标识和编码的映射关系,确定待处理POI的编码。
具体实施时,平台还预先建立POI标识和POI编码的映射关系,例如,平台预先建立POI标识和POI编码映射表,所述映射表中以键值对的形式存储POI标识和该POI标识对应的编码。其中,所述POI标识对应的编码根据实施例一和实施例二所述的POI编码方法确定的。通常,POI编码表示为一个D维编码向量,D通常为200左右的自然数。在获取到待处理POI的标识之后,通过标识匹配,可以确定所述待处理POI的标识对应的POI编码。
建立POI标识和POI编码的映射关系时,确定每个POI标识对应的POI编码的方法,参见实施例一和实施例二,本实施例不再赘述。
步骤320,基于POI的编码,确定所述映射关系中的各编码对应的待推荐POI与所述待处理POI的相似度。
仍以待处理POI为“眉州东坡”为例,根据其POI标识,如:1024,在预先建立的POI标识和POI编码的映射关系表中,可以确定其POI编码,假设表示为H1,然后,将H1与所述映射关系表中的POI编码分别进行相似度计算,得到与“眉州东坡”与所述映射关系表中其他POI编码对应的POI的相似度。具体实施时,可以通过余弦距离表示两个POI之间的相似度。
步骤330,确定满足预设条件的所述相似度对应的待推荐POI,作为所述待处理POI的推荐结果。
具体实施时,可以将相似度最高的待推荐POI作为所述待处理POI的推荐结果。还可以预先设置相似度阈值,在分别确定每个待推荐POI与所述待处理POI的相似度之后,将相似度大于所述相似度阈值的所有待推荐POI作为所述待处理POI的推荐结果。
本申请实施例公开的POI推荐方法,通过获取待处理POI的标识之后,根据预先建立的POI标识和编码的映射关系,确定待处理POI的编码;基于POI的编码,确定所述映射关系中的各编码对应的待推荐POI与所述待处理POI的相似度,其中,所述POI的编码根据实施例一和实施例二所述的POI编码方法确定,最后,确定满足预设条件的所述相似度对应的待推荐POI,作为所述待处理POI的推荐结果,解决了现有技术中POI推荐方法推荐的POI不够准确的问题。本申请公开的POI推荐方法,由于POI编码基于点击或购买POI的序列训练得到,充分考虑了POI之间的关联性,因此,有效提升了推荐的POI的准确性。
具体实施时,通过获取用户点击和购买的商品历史,选取点击和购买不同类别的典型商品的序列,然后通过训练POI编码模型得到所述典型商品的编码。当用户浏览第一页时,若用户点击了第一页中的某个典型商品,平台可以根据点击的商品编码找到与其相似度较高的商品,并在用户浏览第二页时推荐给用户,可以进一步提升用户体验。
实施例一或实施例二所述的POI编码方法可以应用于在搜索场景下。例如,当用户搜索一种商品时,搜索引擎给出了该商品的搜索结果,同时搜索引擎还可以根据搜索结果的编码确定与该搜索结果相似度较高的其他搜索结果。由于搜索结果的编码是通过对用户操作的商品序列进行模型训练得到的,因此,根据相似度确定的其他搜索结果很大程度上是用户经常连续操作的商品,更符合用户操作习惯,进一步提升了召回的搜索结果的准确性。
实施例一或实施例二所述的POI编码方法可以应用于在推荐场景下。例如,当用户登录平台首页时,搜索引擎根据用户的历史行为日志确定用户感兴趣的产品,同时搜索引擎还可以根据该产品的编码确定与该产品相似度较高的其他产品,并推荐给用户。通过给用户提供丰富的、用户感兴趣的产品,进一步提升用户体验。
实施例四
相应的,本申请实施例公开的一种POI编码装置,如图4所示,所述装置包括:
POI序列获取模块400,用于获取用户操作的POI序列;
编码模型训练模块410,用于根据所述POI序列获取模块400获取的POI序列,通过基于深度学习的神经网络架构,训练POI编码模型;
编码确定模块420,用于根据所述编码模型训练模块410训练得到的POI编码模型对应的POI编码向量序列,确定所述POI序列中每个POI的编码。
可选的,如图5所示,所述编码模型训练模块410,进一步用于:
根据所述POI序列,通过基于序列到序列的自编码框架,训练POI编码模型。
可选的,如图5所示,所述编码模型训练模块410包括:
编码向量序列确定单元4101,用于确定所述POI序列对应的输入POI标识序列,及所述输入POI标识序列对应的编码向量序列;
初始化单元4102,用于初始化所述编码向量序列中的每个POI编码向量和POI编码模型的模型参数;
优化单元4103,用于基于预设期望,对所述POI编码向量和模型参数进行优化,控制所述POI编码模型基于所述编码向量序列和模型参数对所述POI序列执行编码和解码的操作,其中,所述预设期望为:所述POI编码模型的输出POI标识序列与所述输入POI标识序列之间差异最小。
可选的,如图5所示,所述编码确定模块420包括:
编码向量序列获取单元4201,用于获取满足预设期望时的编码向量序列;
编码确定单元4202,用于确定所述POI序列中每个POI标识对应的所述编码向量序列中的编码向量,作为该标识的POI的编码。
可选的,如图5所示,所述POI序列获取模块400包括:
行为日志获取单元4001,用于获取用户行为日志;
POI序列获取单元4002,用于按照用户操作POI的时间先后顺序,将所述用户行为日志中包括的POI进行排序,获得POI序列。
本申请实施例公开的POI编码装置,通过获取用户操作的POI序列,然后,根据所述POI序列,通过基于深度学习的神经网络架构,训练POI编码模型,最后,根据训练得到的POI编码模型对应的POI编码向量序列,确定所述POI序列中每个POI的编码,解决了基于现有技术中的POI编码方法进行POI推荐时,推荐的POI不够准确的问题。本申请公开的编码方法,通过基于用户操作产生的POI序列进行POI特征提取,并基于提取的特征对POI进行编码,使得POI编码中隐含了POI的关联性,进一步提升了基于此类POI编码进行POI推荐的准确性。
所述装置通过根据用户行为日志中的预设操作日志所包含的POI信息,生成POI序列,并基于编码向量序列训练POI编码模型,通过设置预设期望为输出POI标识序列与输入POI标识序列的差异最小,并基于此期望,不断优化编码向量序列中的编码向量和模型参数,以得到最能表达POI之间关联的POI编码,进一步提升了基于此类POI编码进行POI推荐的准确性。通过基于序列到序列的自编码框架,训练POI编码模型,为每个特征设置维度数量,可以有效避免维度灾难的发生。
实施例五
相应的,本申请实施例公开的一种POI推荐装置,如图6所示,所述装置包括:
标识获取模块600,用于获取待处理POI的标识;
编码确定模块610,用于根据预先建立的POI标识和编码的映射关系,确定待处理POI的编码;
相似度确定模块620,用于基于POI的编码,确定所述映射关系中的各编码对应的待推荐POI与所述待处理POI的相似度;
推荐结果确定模块630,用于确定满足预设条件的所述相似度对应的待推荐POI,作为所述待处理POI的推荐结果;
其中,所述POI的编码根据实施例一或实施例二所述的POI编码方法确定。
具体实施时,需要首先建立建立POI标识和POI编码的映射关系。建立POI标识和POI编码的映射关系时,确定每个POI标识对应的POI编码的方法,参见实施例一和实施例二,本实施例不再赘述。
本申请实施例公开的POI推荐装置,通过获取待处理POI的标识之后,根据预先建立的POI标识和编码的映射关系,确定待处理POI的编码;基于POI的编码,确定所述映射关系中的各编码对应的待推荐POI与所述待处理POI的相似度,其中,所述POI的编码根据实施例一和实施例二所述的POI编码方法确定,最后,确定满足预设条件的所述相似度对应的待推荐POI,作为所述待处理POI的推荐结果,解决了基于现有技术中的POI编码进行POI推荐时,推荐的POI不够准确的问题。本申请公开的POI推荐装置,由于POI编码基于点击或购买POI的序列训练得到,充分考虑了POI之间的关联性,因此,有效提升了推荐的POI的准确性。
相应的,本申请还公开了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本申请实施例一或实施例二所述的POI编码方法,和/或实现如本申请实施例三所述的POI推荐方法。所述电子设备可以为移动终端、导航仪、个人数字助理、平板电脑等。
相应的,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本申请实施例一或实施例二所述的POI编码方法,和/或实现如本申请实施例三所述的POI推荐方法。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上对本申请提供的一种POI编码方法及装置,POI推荐方法及装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
Claims (12)
1.一种POI编码方法,其特征在于,包括:
获取用户操作的POI序列;
根据所述POI序列,通过基于深度学习的神经网络架构,训练POI编码模型;
根据所述POI编码模型对应的POI编码向量序列,确定所述POI序列中每个POI的编码。
2.根据权利要求1所述的方法,其特征在于,所述根据所述POI序列,通过基于深度学习的神经网络架构,训练POI编码模型的步骤,包括:
根据所述POI序列,通过基于序列到序列的自编码框架,训练POI编码模型。
3.根据权利要求2所述的方法,其特征在于,所述根据所述POI序列,通过基于序列到序列的自编码框架,训练POI编码模型的步骤,包括:
确定所述POI序列对应的输入POI标识序列,及所述输入POI标识序列对应的编码向量序列;
初始化所述编码向量序列中的每个POI编码向量和POI编码模型的模型参数;
基于预设期望,对所述POI编码向量和模型参数进行优化,控制所述POI编码模型基于所述编码向量序列和模型参数对所述POI序列执行编码和解码的操作,其中,所述预设期望为:所述POI编码模型的输出POI标识序列与所述输入POI标识序列之间差异最小。
4.根据权利要求3所述的方法,其特征在于,所述根据所述POI编码模型对应的POI编码向量序列,确定所述POI序列中每个POI的编码的步骤,包括:
获取满足预设期望时的编码向量序列;
确定所述POI序列中每个POI标识对应的所述编码向量序列中的编码向量,作为该标识的POI的编码。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述获取用户操作的POI序列的步骤,包括:
获取用户行为日志;
按照用户操作POI的时间先后顺序,将所述用户行为日志中包括的POI进行排序,获得POI序列。
6.一种POI推荐方法,其特征在于,
获取待处理POI的标识;
根据预先建立的POI标识和编码的映射关系,确定待处理POI的编码;
基于POI的编码,确定所述映射关系中的各编码对应的待推荐POI与所述待处理POI的相似度;
确定满足预设条件的所述相似度对应的待推荐POI,作为所述待处理POI的推荐结果;
其中,所述POI的编码根据如权利要求1至5任一项所述的POI编码方法确定。
7.一种POI编码装置,其特征在于,包括:
POI序列获取模块,用于获取用户操作的POI序列;
编码模型训练模块,用于根据所述POI序列获取模块获取的POI序列,通过基于深度学习的神经网络架构,训练POI编码模型;
编码确定模块,用于根据所述编码模型训练模块训练得到的POI编码模型对应的POI编码向量序列,确定所述POI序列中每个POI的编码。
8.根据权利要求7所述的装置,其特征在于,所述编码模型训练模块,进一步用于:
根据所述POI序列,通过基于序列到序列的自编码框架,训练POI编码模型。
9.根据权利要求8所述的装置,其特征在于,所述编码模型训练模块包括:
编码向量序列确定单元,用于确定所述POI序列对应的输入POI标识序列,及所述输入POI标识序列对应的编码向量序列;
初始化单元,用于初始化所述编码向量序列中的每个POI编码向量和POI编码模型的模型参数;
优化单元,用于基于预设期望,对所述POI编码向量和模型参数进行优化,控制所述POI编码模型基于所述编码向量序列和模型参数对所述POI序列执行编码和解码的操作,其中,所述预设期望为:所述POI编码模型的输出POI标识序列与所述输入POI标识序列之间差异最小。
10.一种POI推荐装置,其特征在于,
标识获取模块,用于获取待处理POI的标识;
编码确定模块,用于根据预先建立的POI标识和编码的映射关系,确定待处理POI的编码;
相似度确定模块,用于基于POI的编码,确定所述映射关系中的各编码对应的待推荐POI与所述待处理POI的相似度;
推荐结果确定模块,用于确定满足预设条件的所述相似度对应的待推荐POI,作为所述待处理POI的推荐结果;
其中,所述POI的编码根据如权利要求1至5任一项所述的POI编码方法确定。
11.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5任意一项所述的POI编码方法,和/或实现权利要求6所述的POI推荐方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至5任意一项所述的POI编码方法的步骤,和/或实现权利要求6所述的POI推荐方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710635922.3A CN107562787B (zh) | 2017-07-31 | 2017-07-31 | 一种poi编码方法及装置、poi推荐方法,电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710635922.3A CN107562787B (zh) | 2017-07-31 | 2017-07-31 | 一种poi编码方法及装置、poi推荐方法,电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107562787A true CN107562787A (zh) | 2018-01-09 |
CN107562787B CN107562787B (zh) | 2020-11-13 |
Family
ID=60973867
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710635922.3A Active CN107562787B (zh) | 2017-07-31 | 2017-07-31 | 一种poi编码方法及装置、poi推荐方法,电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107562787B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108829766A (zh) * | 2018-05-29 | 2018-11-16 | 苏州大学 | 一种兴趣点推荐方法、系统、设备及计算机可读存储介质 |
CN108985770A (zh) * | 2018-06-07 | 2018-12-11 | 阿里巴巴集团控股有限公司 | 模型训练方法、特征序列生成方法和服务器 |
CN108984680A (zh) * | 2018-06-29 | 2018-12-11 | 北京百度网讯科技有限公司 | 一种信息推荐方法、装置、服务器及存储介质 |
CN109540139A (zh) * | 2018-11-19 | 2019-03-29 | 国家测绘地理信息局第三地形测量队 | 一种自动导航系统 |
CN109903168A (zh) * | 2019-01-18 | 2019-06-18 | 平安科技(深圳)有限公司 | 基于机器学习的推荐保险产品的方法及相关设备 |
CN111695922A (zh) * | 2019-03-15 | 2020-09-22 | 北京沃东天骏信息技术有限公司 | 潜在用户确定方法及装置、存储介质和电子设备 |
CN111767953A (zh) * | 2020-06-30 | 2020-10-13 | 北京字节跳动网络技术有限公司 | 用于训练物品编码模型的方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050171686A1 (en) * | 2004-01-30 | 2005-08-04 | Davis Scott B. | Method and apparatus for obtaining and providing information related to a point-of-interest |
CN104391853A (zh) * | 2014-09-25 | 2015-03-04 | 深圳大学 | Poi推荐方法、poi信息处理方法及服务器 |
CN106778896A (zh) * | 2016-12-29 | 2017-05-31 | 南京理工大学 | 一种基于自编码特征学习的冬虫夏草检测方法 |
CN106874287A (zh) * | 2015-12-11 | 2017-06-20 | 北京四维图新科技股份有限公司 | 一种兴趣点poi地址编码的处理方法及装置 |
-
2017
- 2017-07-31 CN CN201710635922.3A patent/CN107562787B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050171686A1 (en) * | 2004-01-30 | 2005-08-04 | Davis Scott B. | Method and apparatus for obtaining and providing information related to a point-of-interest |
CN104391853A (zh) * | 2014-09-25 | 2015-03-04 | 深圳大学 | Poi推荐方法、poi信息处理方法及服务器 |
CN106874287A (zh) * | 2015-12-11 | 2017-06-20 | 北京四维图新科技股份有限公司 | 一种兴趣点poi地址编码的处理方法及装置 |
CN106778896A (zh) * | 2016-12-29 | 2017-05-31 | 南京理工大学 | 一种基于自编码特征学习的冬虫夏草检测方法 |
Non-Patent Citations (1)
Title |
---|
刘建伟 等: "深度学习研究进展", 《计算机应用研究》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108829766A (zh) * | 2018-05-29 | 2018-11-16 | 苏州大学 | 一种兴趣点推荐方法、系统、设备及计算机可读存储介质 |
CN108829766B (zh) * | 2018-05-29 | 2021-09-21 | 苏州大学 | 一种兴趣点推荐方法、系统、设备及计算机可读存储介质 |
CN108985770A (zh) * | 2018-06-07 | 2018-12-11 | 阿里巴巴集团控股有限公司 | 模型训练方法、特征序列生成方法和服务器 |
CN108984680A (zh) * | 2018-06-29 | 2018-12-11 | 北京百度网讯科技有限公司 | 一种信息推荐方法、装置、服务器及存储介质 |
CN109540139A (zh) * | 2018-11-19 | 2019-03-29 | 国家测绘地理信息局第三地形测量队 | 一种自动导航系统 |
CN109903168A (zh) * | 2019-01-18 | 2019-06-18 | 平安科技(深圳)有限公司 | 基于机器学习的推荐保险产品的方法及相关设备 |
CN111695922A (zh) * | 2019-03-15 | 2020-09-22 | 北京沃东天骏信息技术有限公司 | 潜在用户确定方法及装置、存储介质和电子设备 |
CN111767953A (zh) * | 2020-06-30 | 2020-10-13 | 北京字节跳动网络技术有限公司 | 用于训练物品编码模型的方法和装置 |
CN111767953B (zh) * | 2020-06-30 | 2021-11-26 | 北京字节跳动网络技术有限公司 | 用于训练物品编码模型的方法和装置 |
US11763204B2 (en) | 2020-06-30 | 2023-09-19 | Beijing Bytedance Network Technology Co., Ltd. | Method and apparatus for training item coding model |
Also Published As
Publication number | Publication date |
---|---|
CN107562787B (zh) | 2020-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107562787A (zh) | 一种poi编码方法及装置、poi推荐方法,电子设备 | |
CN111797321B (zh) | 一种面向不同场景的个性化知识推荐方法及系统 | |
CN104598611B (zh) | 对搜索条目进行排序的方法及系统 | |
CN103380424B (zh) | 用于在使用人工神经网络在储层模拟中模拟管道水力学的系统和方法 | |
CN107632987A (zh) | 一种对话生成方法及装置 | |
CN107368476A (zh) | 一种翻译的方法、目标信息确定的方法及相关装置 | |
CN109544306A (zh) | 一种基于用户行为序列特征的跨领域推荐方法及装置 | |
CN108665506A (zh) | 图像处理方法、装置、计算机存储介质及服务器 | |
CN106168980A (zh) | 多媒体资源推荐排序方法及装置 | |
CN111428848B (zh) | 基于自编码器和3阶图卷积的分子智能设计方法 | |
CN108920665A (zh) | 基于网络结构和评论文本的推荐评分方法及装置 | |
CN106407381A (zh) | 一种基于人工智能的推送信息的方法和装置 | |
CN115797606A (zh) | 基于深度学习的3d虚拟数字人交互动作生成方法及系统 | |
CN112131261A (zh) | 基于社区网络的社区查询方法、装置和计算机设备 | |
CN107305559A (zh) | 一种应用推荐方法和装置 | |
CN107506479A (zh) | 一种对象推荐方法和装置 | |
CN109979461A (zh) | 一种语音翻译方法及装置 | |
CN108763221A (zh) | 一种属性名表征方法及装置 | |
CN110020402A (zh) | 变异函数套合模型参数估计方法、装置、设备及存储介质 | |
CN116957128A (zh) | 业务指标预测方法、装置、设备和存储介质 | |
CN113177393B (zh) | 改进针对网页结构理解的预训练语言模型的方法和装置 | |
CN112464087B (zh) | 推荐概率的输出方法及装置、存储介质、电子设备 | |
CN112163704B (zh) | 一种用于建材投招标平台的优质供应商预测方法 | |
CN114610967A (zh) | 一种应用于用户画像领域的数据增广方法 | |
CN113987330A (zh) | 一种基于多层次潜在特征的个性化推荐模型的构建方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |