CN111178509B - 基于时间信息和序列上下文的下一个游戏推荐方法 - Google Patents

基于时间信息和序列上下文的下一个游戏推荐方法 Download PDF

Info

Publication number
CN111178509B
CN111178509B CN201911387876.5A CN201911387876A CN111178509B CN 111178509 B CN111178509 B CN 111178509B CN 201911387876 A CN201911387876 A CN 201911387876A CN 111178509 B CN111178509 B CN 111178509B
Authority
CN
China
Prior art keywords
user
model
game
gate
representing
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.)
Active
Application number
CN201911387876.5A
Other languages
English (en)
Other versions
CN111178509A (zh
Inventor
王东京
徐登威
俞东进
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Wanzhida Technology Co ltd
Original Assignee
Shenzhen Wanzhida Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Wanzhida Technology Co ltd filed Critical Shenzhen Wanzhida Technology Co ltd
Priority to CN201911387876.5A priority Critical patent/CN111178509B/zh
Publication of CN111178509A publication Critical patent/CN111178509A/zh
Application granted granted Critical
Publication of CN111178509B publication Critical patent/CN111178509B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Abstract

本发明公开了一种基于时间信息和序列上下文的下一个游戏推荐方法。本发明在原始的LSTM单元的cell中添加间隔时间和持续时间的信息,使得同时结合间隔时间和持续时间信息,对cell中的信息进行过滤和控制,同时使用GloVe模型对序列上下文进行更加精确的建模。不同于传统的方法,本发明利用间隔时间和持续时间信息更加合理的反映了序列的记忆特点:间隔时间过长的信息更应该被遗忘,持续时间很长的信息应该被记忆。

Description

基于时间信息和序列上下文的下一个游戏推荐方法
技术领域
本发明属于推荐系统领域,涉及一种基于时间信息和序列上下文的下一个游戏推荐方法。
背景技术
在实际应用中,用户总是在不同的时间进行一系列动作(听一系列音乐或玩不同的游戏)。因此,下一个篮子推荐最近受到了很多关注,它可以根据从用户的一系列动作中挖掘的模式来预测用户的下一个项目/活动。一般来说,下一个篮子推荐有两种方法:一种是协同过滤(CF)的方法,它捕获用户的一般兴趣但不考虑用户行为的顺序;另一种方法将用户的顺序行为与序列建模技术相结合,例如马尔可夫链(MC)。然而,这种类型的模型仅捕获序列中的相邻关系,并且不能很好地模拟复杂序列。另一种有效的序列建模方法——递归神经网络(RNN)可以处理复杂的序列,并已广泛应用于许多应用,如情感分析和机器翻译。然而,传统的RNN在复杂序列上不能很好地工作,并且在长序列训练时会出现梯度消失的问题。幸运的是,长期短期记忆(LSTM)网络作为RNN模型的改进,已经很好地解决了这个问题。具体而言,LSTM通过添加输入门、输出门和忘记门来捕获数据的长期和短期记忆。与RNN相比,LSTM能够捕获复杂的关系并实现更好的性能。
然而,面对游戏领域产生的长序列多维度(比如间隔时间和持续时间)的数据,RNN和LSTM都不能在建模中有效结合长短期记忆和时间信息,这导致RNN和LSTM在面对长序列预测的问题时效果甚微。
发明内容
本发明针对现有技术的不足,提出了一种基于时间信息和序列上下文的下一个游戏推荐方法。该模型在序列的下一项推荐方面,综合考虑的间隔时间,持续时间和序列上下文信息。同时,在效果提升的基础上,进一步的使用耦合模型中的输入门和忘记门来达到提升训练效率的效果。
本发明方法的具体步骤是:
步骤(1)构建模型的输入。
处理用户序列数据,分别从用户序列信息数据中抽取出用户游戏文件,用户间隔时间文件,用户持续时间文件。
步骤(2)使用词嵌入工具(本方法中使用GloVe)处理用户游戏文件,生成游戏的低维稠密向量表示。
步骤(3)构建间隔时间门和持续时间门。
以下对上述公式中出现的符号进行解释:
表示所有用户的第k个游戏低维稠密向量构成的矩阵。
Δtk:表示所有用户的第k个游戏到第k+1个游戏之间的间隔时间构成的向量。
dk:表示所有用户的第k个游戏的持续时间构成的向量。
Ik和Dk:分别表示第k个游戏所对应的间隔时间门和第k个游戏所对应的持续时间门。
和Wtd:分别表示xk在间隔时间门和持续时间门中的权重矩阵。
和/>分别表示Δtk和dk的权重矩阵。
和/>分别表示间隔时间门和持续时间门偏置。
和/>表示sigmoid函数。
和/>表示双曲正切函数。
步骤(4)构建主要模型。
以下对上述公式中出现的符号进行解释:
ck:表示传统的LSTM的cell,里面存储着之前的序列信息。
和/>分别表示在ck结合了间隔时间和持续时间信息的新cell。
hk:模型在第k个神经单元的输出。
ik和ok:分别表示模型中的输入门和输出门。
Wi,Wc和Wo:表示模型的输入门,cell单元,输出门的中x的权重矩阵。
Ui,Uc和Uo:表示模型的输入门,cell单元,输出门中hk的权重矩阵。
Pi和Po:表示模型的输入门,输出门中ck的权重矩阵。
bi,bc和bo:表示模型的输入门,cell单元和输出门的偏置。
σi和σo:表示sigmoid函数。
σc和σh:表示双曲正切函数。
操作表示向量的元素逐位相乘。
步骤(5)设置模型参数,进行训练,并保存模型。
步骤(6)使用保存的模型对新用户的用户序列数据生成推荐。。
本发明提出的基于时间信息和序列上下文的下一个游戏推荐方法主要是在在原始的LSTM单元的cell中添加间隔时间和持续时间的信息,使得同时结合间隔时间和持续时间信息,对cell中的信息进行过滤和控制。不同于传统的方法,本发明利用间隔时间和持续时间信息更加合理的反映了序列的记忆特点:间隔时间过长的信息更应该被遗忘,持续时间很长的信息应该被记忆。同时利用持续时间这一特点,对序列中的负样本(用户不喜爱的游戏)进行筛选,因为用户对于不喜欢的游戏,持续时间通常会很短。而在传统的模型中,这一特点无法体现。同时为了解决传统模型对于长序列的记忆问题,本发明使用GloVe算法,对序列数据进行处理;使得模型在应对长序列数据时,具有更好的记忆能力。
附图说明
图1为本发明模型图。
具体实施方式
本发明提出的方法可以应用在如下场景:在用户的游戏序列中,存在开始时间和持续时间,同时这个游戏序列具有长序列的特点。都可以使用本发明提出的推荐方法得到更好的推荐效果。
如图1所示,本发明包含以下步骤:
(1)用户数据的获取、清洗
1-1.获取用户游戏数据需要包含如下信息:用户ID,动作ID,开始时间,持续时间,比如游戏数据(user001,game001,2016-06-22 16:41:17,2400s)表示用户user001在2016-06-22 16:41:17开始游玩游戏game001,并且游玩了2400s(40分钟)。
1-2.清洗用户游戏数据。在用户游戏序列中包含很多的噪音数据。如游戏数据中存在助手类的软件,并非游戏(如腾讯游戏助手)的数据需要去除。同一款游戏具有不同的名字(如地下城与勇士和DNF),需要将名称统一。
(2)处理用户游戏序列数据,生成三份文件
2-1.生成用户游戏信息文件。按照序列文件中的时间顺序处理用户游戏序列数据,将同一个用户所有玩过的游戏按照时间顺序排成一行。在用户游戏信息文件中,每一行表示一位用户的ID信息和用户游戏序列。其中,用户的ID信息和用户游戏序列之间使用“:”分隔,每一个游戏之间使用空格分隔。把用户u的序列中第k个游戏标记为文件中每一行如下:
u:
2-2.用户间隔时间信息文件。在用户间隔时间信息文件中,每一行表示一位用户的ID信息和用户间隔时间序列信息。用户的ID信息和用户间隔时间序列之间使用“:”分隔,每一个间隔时间之间使用空格分隔。把序列中第k个游戏到第k+1个游戏之间的间隔时间标记为文件中每一行如下:
u:
2-3.用户持续时间信息文件。在用户持续时间信息文件中,每一行表示一位用户的ID信息和用户持续时间序列信息。用户的ID信息和用户持续时间序列之间使用“:”分隔,每一个持续时间之间使用空格分隔。把序列中第k个游戏持续时间标记为文件中每一行如下:
u:
(3)构建embedding向量
对所有的游戏按照游戏的热度(游戏总游玩次数)排序,建立统一字典,对每一款游戏进行one-hot编码,下面使用表示/>的one-hot形式。在用户序列数据中,使用one-hot编码代替原来的具体表示。并且使用GloVe算法计算游戏embedding向量Em。使用embedding向量Em可以将one-hot形式的高维稀疏向量使用低维稠密向量表示,转化的公式如下:
其中表示/>转化的低维稠密向量。
将embedding向量Em存在文件中,等待在训练的时候读入模型,作为模型embedding层的预训练参数。
注:在输入模型时,并非是单一用户逐个输入。所以使用xk表示所有用户的第k个游戏的one-hot编码,即xk是一个矩阵。同样的使用表示所有用户的第k个游戏低维稠密向量,Δtk表示所有用户的第k个游戏到第k-1个游戏之间的间隔时间,dk表示所有用户的第k个游戏的持续时间。
(4)构建间隔时间门和持续时间门
4-1.构建间隔时间门I。时间间隔门对时间间隔Δt进行分析,控制输入信息,第k个游戏所对应的间隔时间门Ik公式如下:
其中,是xk的权重矩阵,/>是Δtk的权重矩阵,/>是偏置,/>表示sigmoid函数,/>表示双曲正切函数。
4-2.构建持续时间门D。持续时间门用于对持续时间进行分析,同样用于制输入信息,第k个游戏所对应的持续时间门Dk公式如下:
其中,是xk的权重矩阵,/>是dk的权重矩阵,/>是偏置,/>表示sigmoid函数,/>表示双曲正切函数。
(5)构建模型
模型基于长短期记忆网络(LSTM)。为了方便以下探讨,统一将步骤(5)出现的相关符号进行定义:
ck:表示传统的LSTM的cell,里面存储着之前的序列信息。
和/>分别表示在ck中添加了间隔时间和持续时间信息的新cell。
hk:模型在第k个神经单元的输出。
ik和ok:分别表示模型中的输入门和输出门。
Wi,Wc和Wo:表示模型的输入门、cell单元和输出门的中x的权重矩阵。
Ui,Uc和Uo:表示模型的输入门、cell单元和输出门中hk的权重矩阵。
Pi和Po:表示模型的输入门和输出门中ck的权重矩阵。
bi,bc和bo:表示模型的输入门、cell单元和输出门的偏置。
σi和σo:表示sigmoid函数。
σc和σh:表示双曲正切函数。
操作表示向量的元素逐位相乘。
先构建模型的输入门控单元ik,输入门控单元可以结合上一个LSTM单元留下的信息,控制本次LSTM单元的输入。具体的公式如下:
构建输出门控单元信息,输出门控单元用于控制本次的是否输出。
ck的计算公式如下,
在ck上添加持续时间信息,并通过筛去过去的序列信息,得到/>的公式如下:
上添加间隔时间的信息,得到/>的公式如下:
最后使用输出门ok控制信息的输出,得出第k个单元的输出hk公式如下:
(6)设置模型的参数和损失函数。
6-1.设置模型的参数
batch_size=20,表示每一批训练20条用户数据。
Mlen=1000,表示每一条用户游戏数据的最大长度。
Fixed_epochs=100,表示总的迭代次数。
Learning_rate=0.01,表示模型的学习率。
RANK=10,表示推荐游戏的数量。
6-2.损失函数设置为交叉熵损失函数,损失函数的如下:
其中,yi表示预测的真实值,为预测的概率,M表示测试集的总数量。
(7)开始训练
将预先训练好的embedding向量读入到模型的embedding层中。设置如下步骤:
7-1.将用户游戏信息文件,用户间隔时间信息文件和用户持续时间信息文件同时读入到程序中,如果有序列的长度超出了预设的最大长度Mlen,将其截断。
7-2.验证模型的每一个游戏是否和间隔时间,持续时间相对应。
7-3.将数据按照事先定义好的batch_size大小,分批输入到模型中。
7-4.在模型开始训练时,将c0和h0初始化为零矩阵。所有的权重向量按照正态分布进行随机初始化。
7-5.用户的游戏数据在输入的时候,将其转化为one-hot向量xk
7-6.用户游戏数据在经过embedding层时,被转化成低维稠密向量
7-7.用户的间隔时间数据和持续时间数据分别按照batch_size的大小输入到间隔时间门Ik和持续时间门Dk
7-8.开始计算每一个模型输出的值。并通过和游戏序列中真实的下一个游戏进行比较,计算损失函数,按照随机梯度下降法对模型的权重参数进行学习和调整。
(8)迭代
使用Adagrad算法调整动态调整学习率进行训练。在迭代完成之后,使用python中的pickle模块,将推荐模型以二进制的形式进行保存。
(9)测试
9-1.使用python中的pickle模块,将模型从二进制文件中读取出来。
9-2.将测试的用户序列信息按照之前的信息处理,分成用户游戏信息文件,用户间隔时间信息文件和用户持续时间信息文件。
9-3.将测试用户的信息输入模型,模型会自动的将用户序列而每一个文件进行处理,按照之前设置的RANK,推荐RANK数量的游戏,并返回。
通过真实数据集的实验表明,结合了间隔时间信息,持续时间信息和序列上下文信息的方法相比于传统的模型具有更好的推荐能力,在多项指标(Recall,MRR等)中均超过传统方法。

Claims (2)

1.基于时间信息和序列上下文的下一个游戏推荐方法,其特征在于包括如下步骤:
步骤(1)构建模型的输入;
处理用户序列数据,分别从用户序列信息数据中抽取出用户游戏文件、用户间隔时间文件和用户持续时间文件;
步骤(2)使用词嵌入工具处理用户游戏文件,生成游戏的低维稠密向量表示;
步骤(3)构建间隔时间门和持续时间门;
其中表示所有用户的第k个游戏低维稠密向量构成的矩阵;Δtk:表示所有用户的第k个游戏到第k+1个游戏之间的间隔时间构成的向量;dk:表示所有用户的第k个游戏的持续时间构成的向量;Ik和Dk:分别表示第k个游戏所对应的间隔时间门和第k个游戏所对应的持续时间门;/>和/>分别表示xk在间隔时间门和持续时间门中的权重矩阵;/>和/>分别表示Δtk和dk的权重矩阵;/>和/>分别表示间隔时间门和持续时间门偏置;/>表示sigmoid函数;/>和/>表示双曲正切函数;
步骤(4)构建主要模型;
其中ck:表示传统的LSTM的cell,里面存储着之前的序列信息;和/>分别表示在ck结合了间隔时间和持续时间信息的新cell;hk:模型在第k个神经单元的输出;ik和ok:分别表示模型中的输入门和输出门;Wi,Wc和Wo:表示模型的输入门,cell单元,输出门的中x的权重矩阵;Ui,c和Uo:表示模型的输入门,cell单元,输出门中hk的权重矩阵;Pi和Po:表示模型的输入门,输出门中ck的权重矩阵;bi,bc和bo:表示模型的输入门,cell单元和输出门的偏置;σi和σo:表示sigmoid函数;σc和σh:表示双曲正切函数;操作°:表示向量的元素逐位相乘;
步骤(5)设置模型参数,进行训练,并保存模型;
步骤(6)使用保存的模型对新用户的用户序列数据生成推荐。
2.根据权利要求1所述的基于时间信息和序列上下文的下一个游戏推荐方法,其特征在于:步骤(5)中的模型具体训练步骤如下:
将预先训练好的embedding向量读入到模型的embedding层中,执行以下步骤:
7-1.将用户游戏信息文件,用户间隔时间信息文件和用户持续时间信息文件同时读入,如果有序列的长度超出了预设的最大长度Mlen,将其截断;
7-2.验证模型的每一个游戏是否和间隔时间,持续时间相对应;
7-3.将数据按照事先定义好的batch_size大小,分批输入到模型中;
7-4.在模型开始训练时,将c0和h0初始化为零矩阵;所有的权重向量按照正态分布进行随机初始化;
7-5.用户的游戏数据在输入的时候,将其转化为one-hot向量xk
7-6.用户游戏数据在经过embedding层时,被转化成低维稠密向量
7-7.用户的间隔时间数据和持续时间数据分别按照batch_size的大小输入到间隔时间门Ik和持续时间门Dk
7-8.开始计算每一个模型输出的值;并通过和游戏序列中真实的下一个游戏进行比较,计算损失函数,按照随机梯度下降法对模型的权重参数进行学习和调整。
CN201911387876.5A 2019-12-30 2019-12-30 基于时间信息和序列上下文的下一个游戏推荐方法 Active CN111178509B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911387876.5A CN111178509B (zh) 2019-12-30 2019-12-30 基于时间信息和序列上下文的下一个游戏推荐方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911387876.5A CN111178509B (zh) 2019-12-30 2019-12-30 基于时间信息和序列上下文的下一个游戏推荐方法

Publications (2)

Publication Number Publication Date
CN111178509A CN111178509A (zh) 2020-05-19
CN111178509B true CN111178509B (zh) 2023-12-15

Family

ID=70655794

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911387876.5A Active CN111178509B (zh) 2019-12-30 2019-12-30 基于时间信息和序列上下文的下一个游戏推荐方法

Country Status (1)

Country Link
CN (1) CN111178509B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2474921A1 (en) * 2011-01-10 2012-07-11 Deutsche Telekom AG Method and system for recommending contextual information over a mobile communication network
CN108470212A (zh) * 2018-01-31 2018-08-31 江苏大学 一种能利用事件持续时间的高效lstm设计方法
CN109597844A (zh) * 2019-01-31 2019-04-09 中科人工智能创新技术研究院(青岛)有限公司 基于深度神经网络与图网络的核心用户挖掘方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9132349B2 (en) * 2012-04-10 2015-09-15 Sap Se Third-party recommendation in game system
US20190138887A1 (en) * 2017-11-01 2019-05-09 Board Of Trustees Of Michigan State University Systems, methods, and media for gated recurrent neural networks with reduced parameter gating signals and/or memory-cell units

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2474921A1 (en) * 2011-01-10 2012-07-11 Deutsche Telekom AG Method and system for recommending contextual information over a mobile communication network
CN108470212A (zh) * 2018-01-31 2018-08-31 江苏大学 一种能利用事件持续时间的高效lstm设计方法
CN109597844A (zh) * 2019-01-31 2019-04-09 中科人工智能创新技术研究院(青岛)有限公司 基于深度神经网络与图网络的核心用户挖掘方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Zhan, De-Chuan等.Online game props recommendation with real assessments.Complex & Intelligent Systems.2016,第1-15页. *
俞东进;陈聪;吴建华;陈耀旺.基于隐式反馈数据的个性化游戏推荐.电子学报.2018,(第11期),第2626-2632页. *

Also Published As

Publication number Publication date
CN111178509A (zh) 2020-05-19

Similar Documents

Publication Publication Date Title
Xu et al. Ternary compression for communication-efficient federated learning
Min et al. Multiproblem surrogates: Transfer evolutionary multiobjective optimization of computationally expensive problems
CN107704482A (zh) 方法、装置以及程序
CN109726747B (zh) 基于社交网络推荐平台的数据融合排序方法
Noman et al. Inference of gene regulatory networks using s-system and differential evolution
CN104239858A (zh) 一种人脸特征验证的方法和装置
CN110993113B (zh) 基于MF-SDAE的lncRNA-疾病关系预测方法及系统
CN111999649A (zh) 一种基于XGBoost算法的锂电池剩余寿命预测方法
US20210334658A1 (en) Method for performing clustering on power system operation modes based on sparse autoencoder
CN111950622B (zh) 基于人工智能的行为预测方法、装置、终端及存储介质
Bidgoli et al. Seminal quality prediction using optimized artificial neural network with genetic algorithm
Yang Dynamic risk identification safety model based on fuzzy support vector machine and immune optimization algorithm
CN114328048A (zh) 一种磁盘故障预测方法及装置
CN112163671A (zh) 一种新能源场景生成方法及系统
CN110110447B (zh) 一种混合蛙跳反馈极限学习机带钢厚度预测方法
Zhang et al. Hetero-dimensional multitask neuroevolution for chaotic time series prediction
Stathopoulos et al. Bat call identification with gaussian process multinomial probit regression and a dynamic time warping kernel
Aladago et al. Slot machines: Discovering winning combinations of random weights in neural networks
CN111178509B (zh) 基于时间信息和序列上下文的下一个游戏推荐方法
Li et al. Bayesian max-margin multi-task learning with data augmentation
CN114201683A (zh) 一种基于多级匹配的兴趣激活新闻推荐方法及系统
CN114462670A (zh) 一种基于lstm模型的用电量预测方法
CN116151892B (zh) 物品推荐方法、系统、设备及存储介质
Wang et al. A new input variable selection method for soft sensor based on stacked auto-encoders
Wang et al. Parameters optimization of classifier and feature selection based on improved artificial bee colony algorithm

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20230605

Address after: 518000 1002, Building A, Zhiyun Industrial Park, No. 13, Huaxing Road, Henglang Community, Longhua District, Shenzhen, Guangdong Province

Applicant after: Shenzhen Wanzhida Technology Co.,Ltd.

Address before: 310018 No.2 street, Baiyang street, Hangzhou Economic and Technological Development Zone, Zhejiang Province

Applicant before: HANGZHOU DIANZI University

GR01 Patent grant
GR01 Patent grant