一种word2vec模型训练、数据召回方法及装置制造方法及图纸

技术编号:28322451 阅读:23 留言:0更新日期:2021-05-04 13:03
本公开涉及数据处理技术领域,尤其涉及一种word2vec模型训练、数据召回方法及装置,解决对于账户信息利用不充分,导致获取的word2vec模型生成的向量,无法表征账户与账户点击的文章之间的关联性,召回的数据无法满足实际需求的问题,方法为:周期性地根据账户操作的业务数据的项目ID,以及账户ID,生成每一个账户对应的至少一个重构ID序列,对word2vec模型进行训练,并根据模型输出的向量表,确定召回的业务数据,这样,训练样本中充分利用了账户与业务数据之间的交互信息,使得所述word2vec模型充分的学习账户与业务数据之间,以及不同业务数据之间的内在联系,进而能够召回符合账户需要的业务数据。

【技术实现步骤摘要】
一种word2vec模型训练、数据召回方法及装置
本公开涉及数据处理领域,尤其涉及一种word2vec模型训练、数据召回方法及装置。
技术介绍
为实现针对性的推荐契合目标账户需要的文章,通常建立推荐系统,并在推荐系统的召回阶段,采用词嵌入方式,将文章信息处理为向量形式,进而通过计算向量相似度,分析目标账户的兴趣,进而召回符合目标账户的需要的文章,其中,所述召回过程是指将目标账户感兴趣的文章从各类文章中筛选出来的过程。相关技术下,在将账户点击的文章信息序列作为训练样本输入word2vec模型中,得到向量形式的文章信息时,由于文章信息序列仅体现出了不同文章被点击的先后顺序,而没有体现出账户与文章的关联关系,使得对于账户信息利用不充分,造成生成的向量形式的账户信息和文章信息无法体现出账户与账户点击的文章之间的关联性,召回的文章无法满足用户的实际需要。
技术实现思路
本公开实施例提供一种word2vec模型训练、数据召回方法及装置,用以解决存在的对于账户信息利用不充分,导致获取的word2vec模型生成的向量,无法表征账户与账户点击的文章之间的关联性,召回的数据无法满足实际需求的问题。本公开实施例提供的技术方案如下:第一方面,提出一种word2vec模型的训练方法,包括:周期性获取每一个账户在指定时间段内对于业务数据的操作日志,其中,所述操作日志中保存有对应的账户在至少一个会话过程中访问的,关联有操作时间的各个业务数据的项目标识信息ID;根据每一个账户对于业务数据的操作顺序,以及业务数据关联的操作时间和会话过程,将每一个账户的账户ID和该账户访问的业务数据的项目ID,组合生成至少一个重构ID序列,其中,重构ID序列中包括按照操作顺序排列的项目ID,以及至少在每相邻的两个项目ID之间添加的账户ID;按照设置的模型架构搭建word2vec模型,并将生成的每一个重构ID序列分别作为所述word2vec模型的一条训练样本,对所述word2vec模型进行训练,获得所述word2vec模型输出的与训练样本中包括的各个ID对应的各个向量,生成表征ID与向量之间的对应关系的向量集合。可选的,所述根据每一个账户对于业务数据的操作顺序,以及业务数据关联的操作时间和会话过程,将每一个账户的账户ID和该账户访问的业务数据的项目ID,组合生成至少一个重构ID序列,包括:根据每一个账户对于业务数据的操作顺序,生成每一个账户关联的项目ID序列,并根据项目ID归属的会话过程和项目ID关联的操作时间,将每一个账户的项目ID序列拆分为至少一个项目ID子序列;分别将每一个账户的账户ID添加至该账户对应的各个项目ID子序列中,组合生成至少一个重构ID序列。可选的,所述根据项目ID归属的会话过程和项目ID关联的操作时间,将每一个账户的项目ID序列拆分为至少一个项目ID子序列,包括:确定每一个账户的项目ID序列中各个项目ID归属的会话过程,并在归属于不同会话过程的项目ID之间设置拆分节点;根据每一个账户的项目ID序列中各个项目ID关联的操作时间,确定相邻的各个项目ID之间的时间间隔,并筛选出高于设定阈值的时间间隔,以及在筛选出的时间间隔对应的项目ID之间设置拆分节点;根据设置的拆分节点,将每一个账户的项目ID序列拆分为至少一个项目ID子序列。可选的,所述分别将每一个账户的账户ID添加至该账户对应的各个项目ID子序列中,包括:获取每一个账户的账户ID,并获取由每一个账户关联的项目ID序列拆分得到的至少一个项目ID子序列,以及将账户ID添加至对应账户的各个项目ID子序列中每两个相邻的项目ID之间;或者,获取每一个账户的账户ID,并获取由每一个账户关联的项目ID序列拆分得到的至少一个项目ID子序列,以及将账户ID添加至对应账户的各个项目ID子序列中的首端、末端,以及每两个相邻的项目ID之间。可选的,所述将生成的每一个重构ID序列分别作为所述word2vec模型的一条训练样本,对所述word2vec模型进行训练,包括:采用skip-gram架构搭建word2vec模型时,将生成的每一个重构ID序列分别作为所述word2vec模型的一条训练样本,对所述word2vec模型进行训练,获得所述word2vec模型输出的与训练样本中各个ID对应的各个向量,其中,在训练过程中,按照设置的窗口长度,针对每一个重构ID序列,分别以每一个重构ID序列中的每一个ID作为所述word2vec模型内部的输入层ID,以对应位置的窗口长度覆盖的所述重构ID序列中的各个其他ID分别作为对应的输出层ID;或者,采用CBOW架构搭建word2vec模型时,将生成的每一个重构ID序列分别作为所述word2vec模型的一条训练样本,对所述word2vec模型进行训练,获得所述word2vec模型输出的与训练样本中各个ID对应的各个向量,其中,在训练过程中,按照设置的窗口长度,针对每一个重构ID序列,分别以每一个重构ID序列中的每一个ID作为所述word2vec模型内部的输出层ID,以对应位置的窗口长度覆盖的所述重构ID序列中的各个其他ID分别作为对应的输入层ID。第二方面,提出一种数据召回方法,采用上述第一方面中任一项所述的word2vec模型的训练方法进行训练后生成的向量集合,包括:接收目标账户发送的业务数据召回请求,获取所述业务数据召回请求中携带的所述目标账户的目标账户ID;基于所述目标账户的操作日志和最新保存的所述向量集合,确定对应所述目标账户召回的业务数据。可选的,所述基于所述目标账户的操作日志和最新保存的所述向量集合,确定对应所述目标账户召回的业务数据,包括:根据所述目标账户的操作日志,确定所述目标账户访问的各个历史业务数据,并根据最新保存的所述向量集合,确定与所述各个历史业务数据的项目ID分别对应的向量,并针对每一个向量,分别计算该向量与所述向量集合中各个其他项目ID对应的向量之间的相似度并筛选出相似度最大的前N个向量对应的项目ID,将筛选出的项目ID对应的业务数据作为召回的业务数据;或者,根据最新保存的所述向量集合,确定所述目标账户ID对应的向量,并计算所述向量与所述向量集合中各个其他账户ID对应的向量之间的相似度,筛选出相似度最大的前M个向量对应的账户ID,以及获取M个账户ID对应的账户的操作日志,并将各个操作日志中记录访问的业务数据作为召回的业务数据;或者,根据最新保存的所述向量集合,确定所述目标账户ID对应的向量,并计算所述向量与所述向量集合中各个项目ID对应的向量之间的相似度,筛选出相似度最大的前Z个向量对应的项目ID,并将筛选出的项目ID对应的业务数据作为召回的业务数据。第三方面,提出一种word2vec模型的训练装置,包括:获取单元,周期性获取每一个账户在指定时间段内对于业务数据的操作日志,其中,所述操作日志中保存有对应的账户在至少一个会话过程中访问的,关联有操作时间的各个业务本文档来自技高网...

【技术保护点】
1.一种word2vec模型的训练方法,其特征在于,包括:/n周期性获取每一个账户在指定时间段内对于业务数据的操作日志,其中,所述操作日志中保存有对应的账户在至少一个会话过程中访问的,关联有操作时间的各个业务数据的项目标识信息ID;/n根据每一个账户对于业务数据的操作顺序,以及业务数据关联的操作时间和会话过程,将每一个账户的账户ID和该账户访问的业务数据的项目ID,组合生成至少一个重构ID序列,其中,重构ID序列中包括按照操作顺序排列的项目ID,以及至少在每相邻的两个项目ID之间添加的账户ID;/n按照设置的模型架构搭建word2vec模型,并将生成的每一个重构ID序列分别作为所述word2vec模型的一条训练样本,对所述word2vec模型进行训练,获得所述word2vec模型输出的与训练样本中包括的各个ID对应的各个向量,生成表征ID与向量之间的对应关系的向量集合。/n

【技术特征摘要】
1.一种word2vec模型的训练方法,其特征在于,包括:
周期性获取每一个账户在指定时间段内对于业务数据的操作日志,其中,所述操作日志中保存有对应的账户在至少一个会话过程中访问的,关联有操作时间的各个业务数据的项目标识信息ID;
根据每一个账户对于业务数据的操作顺序,以及业务数据关联的操作时间和会话过程,将每一个账户的账户ID和该账户访问的业务数据的项目ID,组合生成至少一个重构ID序列,其中,重构ID序列中包括按照操作顺序排列的项目ID,以及至少在每相邻的两个项目ID之间添加的账户ID;
按照设置的模型架构搭建word2vec模型,并将生成的每一个重构ID序列分别作为所述word2vec模型的一条训练样本,对所述word2vec模型进行训练,获得所述word2vec模型输出的与训练样本中包括的各个ID对应的各个向量,生成表征ID与向量之间的对应关系的向量集合。


2.如权利要求1所述的方法,其特征在于,所述根据每一个账户对于业务数据的操作顺序,以及业务数据关联的操作时间和会话过程,将每一个账户的账户ID和该账户访问的业务数据的项目ID,组合生成至少一个重构ID序列,包括:
根据每一个账户对于业务数据的操作顺序,生成每一个账户关联的项目ID序列,并根据项目ID归属的会话过程和项目ID关联的操作时间,将每一个账户的项目ID序列拆分为至少一个项目ID子序列;
分别将每一个账户的账户ID添加至该账户对应的各个项目ID子序列中,组合生成至少一个重构ID序列。


3.如权利要求2所述的方法,其特征在于,所述根据项目ID归属的会话过程和项目ID关联的操作时间,将每一个账户的项目ID序列拆分为至少一个项目ID子序列,包括:
确定每一个账户的项目ID序列中各个项目ID归属的会话过程,并在归属于不同会话过程的项目ID之间设置拆分节点;
根据每一个账户的项目ID序列中各个项目ID关联的操作时间,确定相邻的各个项目ID之间的时间间隔,并筛选出高于设定阈值的时间间隔,以及在筛选出的时间间隔对应的项目ID之间设置拆分节点;
根据设置的拆分节点,将每一个账户的项目ID序列拆分为至少一个项目ID子序列。


4.如权利要求2或3所述的方法,其特征在于,所述分别将每一个账户的账户ID添加至该账户对应的各个项目ID子序列中,包括:
获取每一个账户的账户ID,并获取由每一个账户关联的项目ID序列拆分得到的至少一个项目ID子序列,以及将账户ID添加至对应账户的各个项目ID子序列中每两个相邻的项目ID之间;或者,
获取每一个账户的账户ID,并获取由每一个账户关联的项目ID序列拆分得到的至少一个项目ID子序列,以及将账户ID添加至对应账户的各个项目ID子序列中的首端、末端,以及每两个相邻的项目ID之间。


5.如权利要求1-3任一项所述的方法,其特征在于,所述将生成的每一个重构ID序列分别作为所述word2vec模型的一条训练样本,对所述word2vec模型进行训练,包括:
采用skip-gram架构搭建word2vec模型时,将生成的每一个重构ID序列分别作为所述word2vec模型的一条训练样本,对所述word2vec模型进行训练,获得所述word2vec模型输出的与训练样本中各个ID对应的各个向量,其中,在训练过程中,按照设置的窗口长度,针对每一个重构ID序列,分别以每一个重构ID序列中的每一个ID作为所述word2vec模型内部的输入层ID,以对应位置的窗口长度覆盖的所述重构ID序列中的各个其他ID分别作为对应的输出层ID;或者,

【专利技术属性】
技术研发人员:孙文博张华丁长林
申请(专利权)人:网易传媒科技北京有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1