一种基于深度学习的个性化文本推荐方法与流程

文档序号:20918275发布日期:2020-05-29 13:48阅读:250来源:国知局
一种基于深度学习的个性化文本推荐方法与流程

本发明属于文本推荐技术领域,涉及一种基于深度学习的个性化文本推荐方法。



背景技术:

推荐系统是人与信息的连接器,用以有的用户特征以及用户过往的交互去预测用户与信息内容未来可能的交互行为。推荐系统根据不同的用户的历史行为、用户的兴趣偏好或者用户的人口统计学特征来选择推荐算法,或建立推荐模型,使用推荐算法或模型来产生用户可能感兴趣的项目列表,并最终推送给用户。

近些年,随着深度学习的研究不断发展,基于深度学习的推荐算法模型大量提出。基于深度学习的推荐模型具有许多优点:与线性模型不同,深度神经网络能够使用诸如relu、softmax、tanh等非线性激活函数对数据进行建模;深度神经网络能够从输入数据中有效地学习潜在的表示因子和高阶的特征交互,减轻了特征工程的工作,也可以有效的对稀疏数据进行重新编码和扩充;另外,深度神经网络在一些序列的模型任务中成果显著。

在word2vec模型中,给定无标签序列数据的情况下,其可以为语料库中的数据个体产生一个能表达其序列含义的向量。该模型的核心思想是通过中心序列li,来预测其上下文信息li+j,li表示数据集合中的每一个中心序列样本,j表示函数运算的每一个上下文序号,窗口一般设置为5,模型的总体目标是最大化当中心序列样本发生时其上下文样本序列发生的概率,最终得到的一个由概率值表示的序列,学习到序列问题中各项目的核心意义,并且可以有效的避免高频项目对整体数据的影响。

卷积神经网络中的一维卷积,也常用于序列模型中。一维指的是卷积核的维度,其尺寸为k×1,k为卷积核在时间序列上滑动的时域窗口大小。一维卷积操作经常使用在信号处理中,用于计算信号的延迟累积。假设一个信号发生器每个时刻t产生一个信号xt,其信息的衰减率为wk,即在k个时间步长后,信息为开始时的wk倍。对于要处理序列的问题,还要考虑时间的因素,不能使用普通的cnn网络,引入一种称为因果卷积的技术。因为时间序列上的一维卷积,具有输入序列到输出序列的结构,输入与输出根据时间步一一对应。因果卷积,就是对于时间序列中第t时间步的输出只能依赖于前t步的输入,为防止信息泄露,不能使用未来的信息。具体的表现就是在填充补零的方式上,在序列起始处填充(k-1)个值全为0的输入信息,其中k为卷积核窗口长度。

在专利《一种基于深度学习的个性化推荐方法》中,其使用卷积神经网络进行用户的推荐,其通过卷积神经网络的嵌入层对one-hot编码后的用户操作数据进行编码,之后再对用户进行推荐。在专利《提出了一种内容推荐模型的训练方法、内容推荐的方法》中,其通过神经网络特征提取器对文本进行提取,再经过行列式点过程获取文本推荐概率,最终对用户进行推荐。专利《基于评论文本情感分析的商品推荐方法及商品推荐装置》中,其基于编码端的bilstm网络生成对每个特征结合上下文的状态向量;结合注意力机制,对用户文本进行建模,再利用softmax函数进行分类,生成最终的推荐列表。专利《一种基于短文本的领域动态跟踪方法》中,该方法中使用了传统的词嵌入神经网络模型,对文本进行了编码,通过将编码后的文本数据作为推荐网络的输入来完成基本的推荐。专利《一种个性化文本智能推荐方法、装置及计算机可读存储介质》中,其通过对语料文本和关键字进行词向量编码,通过传统推荐方法获得用户推荐列表。专利《文本推荐方法、装置、服务器和存储介质》中使用词频逆文档频率来对用户的评论文档进行编码,之后通过预设的优先级顺序将相关信息推荐给用户。专利《文本推荐方法和装置》中提出了一种文本推荐方法和装置,其通过计算文本相似度进行分类,再从分类中计算出热门文档,通过将热门文档推送给用户,完成整个推荐的过程。

对于本专利是将操作数据进行嵌入处理,并且将嵌入模型通过引入全局变量来优化编码结果,之后将其作为推荐模型的输入,推荐模型使用卷积神经网络,模型中的卷积核均采用1维卷积,对编码后的序列数据进行有效的计算,最终计算出每个用户获得某文本的概率,选取概率较大的几篇文本形成推荐列表完成最终的推荐。

综上所述,在现有的专利方法中对于数据编码方式一般使用:1.使用传统词向量模型对数据进行编码;2.使用词频逆文档模型对数据进行编码;3.使用分类模型对数据进行编码。对于推荐模型现有专利方法一般使用:1.使用卷积神经网络计算用户获得推荐物品的概率,2.使用循环神经网络和注意力机制来为用户进行推荐2.使用热门物品直接向用户进行推荐。本专利所述方法引入一个全局变量,来改进的skip-gram方法对用户操作数据进行编码,再融合卷积神经网络进行推荐的方法,还未见报道。



技术实现要素:

有鉴于此,本发明的目的在于提供一种基于深度学习的个性化推荐方法,用于新闻的推荐任务,任务目标为根据用户的浏览时序行为序列,预测用户下一篇会浏览的新闻。基本过程为使用word2vec思想,先将稀疏的浏览序列数据重新编码,再通过卷积神经网络从重新编码后的序列中来获取用户的行为习惯,根据学习到的特征来做出最终的推荐结果。

为达到上述目的,本发明提供如下技术方案:

一种基于深度学习的个性化文本推荐方法,包括以下步骤:

s1:用户浏览新闻的历史行为数据和文本数据预处理;

s2:特征提取器建模,具体包括:

s21:隐藏层设计;

s22:输出层设计;

s3:个性化推荐模型建模,具体包括:

s31:一维卷积网络层设计;

s32:分类输出层与损失函数设计。

进一步,步骤s1中,具体包括以下步骤:

s11:将数据集中的点击信息数据进行预处理操作,包括缺失值处理和异常值处理;

s12:按照每个用户分组形成用户浏览数据集、正采样和负采样数据集,所述正采样数据集:即该用户点击操作过的数据;所述负采样数据集:即用户从所有未点击过的数据中随机挑选出的数据;

s13:按照时间戳进行排序,数据只关注用户与新闻交互的隐形反馈,即只关心用户是否浏览了某篇新闻;在正采样数据集中对于每个用户都有其相应的用户浏览序列;

s14:对新闻浏览序列进行编码表示,被浏览位置使用独热码表示,使用与新闻数量相同维度的向量进行表示;对于每个点击位置,只激活新闻被点击相应位置的数据,即该位标1,其余位置为0;

s15:将点击序列信息编码后的向量,作为每个用户浏览序列中一个条目的数据。

进一步,在步骤s21中,将用户浏览数据集的one-hot编码输入后,在隐藏层中使用一个权重矩阵来对用户浏览序列信息编码向量降维,用于将高维稀疏向量映射到低维密集向量;权重矩阵的形式为m×n,其中m为稀疏向量的维度,n为密集向量的维度,且m大于n;隐藏层看作是重新对原始数据进行降维编码,而编码规则是通过在网络中训练权重而自动生成的。

进一步,在步骤s22中,对于隐藏层中输出状态的信息,送入输出层,输出层的损失函数为条件概率函数,损失函数即为输出单词组的条件概率,损失函数公式如下:

式中,l表示损失,s表示用户浏览数据集合,li表示数据集合中的每一个条件样本,j表示函数运算的每一个上下文,m表示步长窗口的最大值;

通过以li为中心的点击序列来估算其上下文领域li+j的概率p(li+j|li),其中:

vl和v′l是点击列表l的输入和输出向量表示,参数j定义为点击列表的中心前后滑动的窗口长度,υ为所有用户的点击序列集合;

损失函数的总体目标是最大化当条件样本发生时其上下文样本序列发生的概率,最终得到的一个向量序列来表示条件样本。

进一步,在步骤s31中,使用长度为1、2、3、4的一维卷积核,将步骤s2中所得的向量分别通过卷积运算进行卷积,并使用激活函数后,将不同卷积核的输出结果进行拼接,生成操作数据。

进一步,在步骤s32中,对于卷积层输出状态的信息,送入全连接层的输出层,全连接层的激活函数使用softmax,softmax能够将多个神经元分别输出,映射至(0,1)的区间内,所有输出的累加和为1,满足概率的性质,因此能够将每个输出看成相对应分类的概率来理解,从而进行分类;总分类数量即为总新闻的数量,最终选择概率最高的多部生成推荐列表,损失函数使用分类交叉熵,其公式如下:

式中,用loss表示损失,n为样本数,m为分类数;i表示样本中所有位置,j表示分类既向量中分类的索引位置,yij为实际元素值,y′ij为预测元素值;当yij为1时,计算损失,y′ij越接近于1,则损失越小,当yij为0时,则不考虑y′ij造成的损失。

本发明的有益效果在于:

1、有效的解决了操作数据稀疏性的问题,并且通过使用负采样技术增强了模型训练效率;引入浏览时长作为全局变量,通过最终的目的来优化编码效果;

2、通过利用项目嵌入的编码方式,进而有效的解决了项目冷启动的问题;

3、减少了深层结构,增加并行的层次结构,卷积层内权重共享,参数相对较少。

本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。

附图说明

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详细描述,其中:

图1为本发明实施例所述的基于深度学习的个性化文本推荐方法的流程示意图;

图2为本发明实施例所述的基于深度学习的个性化文本推荐方法的网络层次结构示意图。

具体实施方式

以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。

其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本发明的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。

本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若有术语“上”、“下”、“左”、“右”、“前”、“后”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本发明的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。

本实施例所提供的基于深度学习的个性化推荐方法,如图1所示分为三个阶段:c1:用户浏览新闻的历史行为特征和新闻文本数据预处理;c2:用改进的数据编码器对预处理的数据进行编码;c3:进行个性化推荐模型建模。

首先对用户浏览新闻的历史行为特征数据进行预处理,使用datacastle提供的用户浏览新闻数据作为实验数据。该数据集是一个公开的新闻数据集,通过清洗后获得640个用户的21899条新闻浏览记录,且每位用户的浏览数据量超过20条。每条记录包括用户id、新闻id、浏览时间(以时间戳的形式显示)、新闻内容以及新闻发布时间。数据用时间戳标出其观看的时间顺序,时间戳指的是从一个格林尼治的标准时刻起到用户浏览新闻时刻的总秒数。随后对用户浏览序列使用独热编码表示,只激活行为被浏览相应位置的数据,既该位置标1,其余位置为0,也就是在这里只关注用户与新闻交互的隐性反馈,即只关心用户是否浏览了某篇新闻。之后将新闻数据集中的浏览信息数据按照每个用户分组,再按照时间戳进行排序,将数据集分为正采样数据集和负采样数据集,既对于每个用户都有其相应浏览的序列和每个用户对应从整体数据集中随机采样的新闻。对用户浏览时长进行独热码编码表示,当浏览时长大于15s,标记为1,小于15s标记为0。最后取其中的10%的序列作为验证集和测试集。

如图2所示,基于深度学习的个性化推荐模型步骤如下:

1)编码器网络层

首先将高维的用户浏览序列投射到32维的特征向量表示,然后定义集合s为n个不同用户浏览新闻的点击数据,集合s={li,....,lm}为来自每一个用户浏览不同新闻的历史数据的集合,其中li为单条新闻被浏览的的记录,通过在点击数据的整个集合上,最大化目标函数l,该函数形式如下:

通过以li为中心的点击序列来估算其上下文领域li+j的概率p(li+j|li),其中:

vl和v′l是点击列表l的输入和输出向量表示,参数j定义为点击列表的中心前后滑动的窗口长度,υ为所有用户的点击序列集合

计算公式l中目标函数的梯度▽ξ所需要的时间复杂度和词表大小υ成正比,例如在线网站的点击列表往往维度大小达到百万级别,这使得计算成了难题。故采用负采样的优化办法,负采样的原理为:生成一组点击序列正对dp(l,c),即该用户点击操作过的数据,和一组点击序列负对dn(l,c),即用户从所有未点击过的数据中随机挑选出的数据,目标函数变为如下形式:

其中参数l,c∈υ,v′lb为用户的浏览时长序列,在每个步骤中,研究目标不仅预测相邻的点击列表,而且还要预测最终在某新闻的停留时间,用来进一步优化计算机结果,该目标函数通过随机梯度上升进行优化求解。

2)一维卷积网络层

使用卷积核长度分别为1、2、3、4的一维卷积核进行卷积运算,经过卷积,并使用激活函数tanh,分别生成输出序列,将对应时间步的不同卷积核的输出结果进行拼接,将拼接序列送入下一层。

3)分类输出层

最后的全连接层用于将一维卷积层的输出恢复成输入的维度,激活函数为softmax,得到的每个维度的值是用户与这个维度所表示的新闻交互的概率,在预测时选择概率最高的多篇新闻生成推荐列表,损失函数使用分类交叉熵,其公式如下;

式中,用loss表示损失,n为样本数,m为分类数;i表示样本中所有位置,j表示分类既向量中分类的索引位置,yij为实际元素值,y′ij为预测元素值;当yij为1时,计算损失,y′ij越接近于1,则损失越小,当yij为0时,则不考虑y′ij造成的损失。

最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。

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