CN116578757A - 博文向量生成模型训练方法、博文推荐方法及装置、设备 - Google Patents
博文向量生成模型训练方法、博文推荐方法及装置、设备 Download PDFInfo
- Publication number
- CN116578757A CN116578757A CN202310621442.7A CN202310621442A CN116578757A CN 116578757 A CN116578757 A CN 116578757A CN 202310621442 A CN202310621442 A CN 202310621442A CN 116578757 A CN116578757 A CN 116578757A
- Authority
- CN
- China
- Prior art keywords
- blog
- vector
- session
- sequence sample
- session sequence
- 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.)
- Pending
Links
- 239000013598 vector Substances 0.000 title claims abstract description 175
- 238000000034 method Methods 0.000 title claims abstract description 84
- 238000012549 training Methods 0.000 title claims abstract description 46
- 238000003062 neural network model Methods 0.000 claims abstract description 47
- 238000013507 mapping Methods 0.000 claims abstract description 15
- 238000012545 processing Methods 0.000 claims abstract description 15
- 230000008569 process Effects 0.000 claims abstract description 11
- 230000006870 function Effects 0.000 claims description 42
- 238000007499 fusion processing Methods 0.000 claims description 21
- 230000007246 mechanism Effects 0.000 claims description 11
- 238000001914 filtration Methods 0.000 claims description 8
- 230000006399 behavior Effects 0.000 claims description 7
- 238000000926 separation method Methods 0.000 claims description 5
- 238000007418 data mining Methods 0.000 abstract description 2
- 238000004590 computer program Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000013135 deep learning Methods 0.000 description 5
- 238000012512 characterization method Methods 0.000 description 4
- 238000011176 pooling Methods 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 239000013604 expression vector Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007786 learning performance Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9035—Filtering based on additional data, e.g. user or group profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9038—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Machine Translation (AREA)
Abstract
本申请公开一种博文向量生成模型训练方法、博文推荐方法及装置、设备,属于数据挖掘技术领域。该方法包括:基于多个用户的历史会话数据获取会话序列样本集;使用所述会话序列样本集对神经网络模型进行迭代训练。其中,在神经网络模型的迭代训练过程中,提取会话序列样本中每个博文信息的类别特征并进行分桶处理,得到每个博文信息对应的类别桶,基于每个博文信息对应的类别桶映射得到对应的类别标识码,这样,每个博文信息都会对应有唯一的类别标识码,进而基于每个会话序列样本中每个博文信息对应的类别标识码,进行神经网络模型的模型参数的训练,得到博文向量生成模型,可以解决博文信息更新速度快而导致的冷启动问题。
Description
技术领域
本申请实施例涉及数据挖掘技术领域,特别涉及一种博文向量生成模型训练方法、博文推荐方法及装置、设备。
背景技术
推荐系统的特征工程主要是从用户海量的行为日志中,挖掘出有助于表达用户兴趣偏好的特征,例如:标签偏好、作者偏好等。深度学习具备强大的端到端的学习能力,借助深度学习强大的学习能力能够明显提高特征挖掘的效果,其中,Embedding是深度学习中的一个重要部分,主要是一种将离散变量转为固定长度的连续向量的方法,Embedding向量的表征能力直接影响着所挖掘特征的准确性。
现有的高维的id/类别类特征Embedding化的方法主要围绕两个方向进行改进:其一是增加附加信息,即属于同一类别或品牌的物品应该具有更相近的表示向量;其二是采用Inductive(归纳式)图神经网络,使用节点之间连接信息,对邻居进行采样,然后通过多层聚合函数不断地将相邻节点的信息融合在一起,用融合后的信息预测节点标签。
然而,上述方法应用在推荐系统的过程中至少存在以下问题:1)推荐系统中的资讯内容更新速度过快,存在严重的冷启动问题,例如:每天都会涌现大量的博文,博文的更新速度过快,隔天博文的重复占比不到50%;2)用户浏览的多个资讯之间的相关性不大,难以通过各资讯之间的关联度来挖掘用于表达用户兴趣偏好特征的表示向量。
发明内容
为解决上述问题,本申请实施例提供了一种博文向量生成模型训练方法、博文推荐方法及装置、设备,具体技术方案如下:
第一方面,本申请实施例提供了一种博文向量生成模型的训练方法,包括:
基于多个用户的历史会话数据获取会话序列样本集,其中,所述会话序列样本集中每个会话序列样本包括:对应于同一用户的属于同一会话的多个博文信息,以及多个所述博文信息中用户感兴趣的目标博文;
使用所述会话序列样本集对神经网络模型进行迭代训练,提取所述会话序列样本中每个博文信息的类别特征并进行分桶处理,得到每个博文信息对应的类别桶,基于每个博文信息对应的类别桶映射得到所述每个博文信息对应的类别标识码;
将所述会话序列样本中每个博文信息对应的类别标识码、以及所述目标博文输入至所述神经网络模型中进行基于注意力机制的特征融合处理,输出得到所述会话序列样本对应的预测博文向量;
根据所述会话序列样本对应的预测博文向量、以及所述神经网络模型的损失函数调整所述神经网络模型的模型参数,直至满足设定收敛条件,将训练完成的神经网络模型作为博文向量生成模型。
在一种可能的实施方式中,所述基于多个用户的历史会话数据获取会话序列样本集,包括:
采集多个用户的历史会话数据,所述历史会话数据包括用户的历史行为产生的针对博文信息的访问数据;
将所述历史会话数据按照用户标识进行分组,将同一用户对应的访问数据按照访问时间进行排序,并按照会话划分规则对所述访问数据中的博文信息进行分组,得到所述会话序列样本集;其中,所述会话划分规则为:针对同一用户对应的访问数据,如果设定时间段内访问频率低于预设频率阈值,则划分第一时刻之前的访问数据与第二时刻之后的访问数据属于不同的会话;所述第一时刻为设定时间段的左端点时刻,第二时刻为设定时间段的右端点时刻。
在一种可能的实施方式中,在所述基于多个用户的历史会话数据获取会话序列样本集之后,还包括:
滤除所述会话序列样本集中访问时长少于预设时间阈值的博文信息;或者,
滤除所述会话序列样本集中博文信息的数量少于预设数量阈值的会话序列样本。
在一种可能的实施方式中,所述将所述会话序列样本中每个博文信息对应的类别标识码、以及所述目标博文输入至所述神经网络模型中进行基于注意力机制的特征融合处理,输出得到所述会话序列样本对应的预测博文向量,包括:
针对所述会话序列样本中任一博文信息,将所述博文信息对应的类别标识码作为所述博文信息的第一博文向量,将所述第一博文向量与所述目标博文对应的目标博文向量之间的相似度值,确定为所述第一博文向量对应的注意力权重;
根据每个博文信息的第一博文向量、以及所述第一博文向量对应的注意力权重,确定所述会话序列样本对应的预测博文向量。
在一种可能的实施方式中,所述损失函数包括第一损失函数和第二损失函数,所述第一损失函数用于表征所述会话序列样本对应的预测博文向量与每个博文信息对应的类别标识码表征的第一博文向量之间的匹配度;所述第二损失函数用于表征所述预测博文向量所表征的预测博文中所包括的不同类别特征分布的距离。
第二方面,本申请实施例提供了一种博文推荐方法,包括:
获取目标用户的目标会话序列;所述目标会话序列包括对应于所述目标用户的属于同一会话的多个博文信息;
根据所述目标会话序列中每个博文信息的类别特征,确定每个博文信息对应的类别标识码;将每个博文信息对应的类别标识码输入至博文向量生成模型进行特征融合处理,输出得到所述目标用户的预测博文向量;所述博文向量生成模型是采用如第一方面所述的博文向量生成模型的训练方法训练得到的;
确定预设数据库中候选博文对应的候选博文向量与所述预测博文向量的相似度;
将相似度符合预设条件的候选博文推荐给所述目标用户。
第三方面,本申请实施例提供了一种博文向量生成模型的训练装置,包括:
样本获取模块,用于基于多个用户的历史会话数据获取会话序列样本集,其中,所述会话序列样本集中每个会话序列样本包括:对应于同一用户的属于同一会话的多个博文信息,以及多个所述博文信息中用户感兴趣的目标博文;
模型训练模块,用于使用所述会话序列样本集对神经网络模型进行迭代训练,提取所述会话序列样本中每个博文信息的类别特征并进行分桶处理,得到每个博文信息对应的类别桶,基于每个博文信息对应的类别桶映射得到所述每个博文信息对应的类别标识码;
将所述会话序列样本中每个博文信息对应的类别标识码、以及所述目标博文输入至所述神经网络模型中进行基于注意力机制的特征融合处理,输出得到所述会话序列样本对应的预测博文向量;
根据所述会话序列样本对应的预测博文向量、以及所述神经网络模型的损失函数调整所述神经网络模型的模型参数,直至满足设定收敛条件,将训练完成的神经网络模型作为博文向量生成模型。
第四方面,本申请实施例提供了一种博文推荐装置,包括:
序列获取模块,用于获取目标用户的目标会话序列;所述目标会话序列包括对应于所述目标用户的属于同一会话的多个博文信息;
标识码确定模块,用于根据所述目标会话序列中每个博文信息的类别特征,确定每个博文信息对应的类别标识码;
向量输出模块,用于将每个博文信息对应的类别标识码输入至博文向量生成模型进行特征融合处理,输出得到所述目标用户的预测博文向量;所述博文向量生成模型是采用如上述第三方面所述的博文向量生成模型的训练装置训练得到的;
相似度确定模块,用于确定预设数据库中候选博文对应的候选博文向量与所述预测博文向量的相似度;
博文推荐模块,用于将相似度符合预设条件的候选博文推荐给所述目标用户。
第五方面,本申请实施例提供了一种计算机设备,所述计算机设备包含处理器和存储器,所述存储器存储有至少一条计算机程序,所述至少一条计算机程序由所述处理器加载并执行以实现上述的方法。
第六方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条计算机程序,所述计算机程序由处理器加载并执行以实现上述的方法。
本申请提供的技术方案可以包括以下有益效果:
本申请实施例提供的博文向量生成模型的训练方法,通过提取会话序列样本中每个博文信息的类别特征并进行分桶处理,得到每个博文信息对应的类别桶,基于每个博文信息对应的类别桶映射得到对应的类别标识码,这样,每个博文信息都会对应有唯一的类别标识码,进而基于每个会话序列样本中每个博文信息对应的类别标识码,进行神经网络模型的模型参数的训练,得到博文向量生成模型,可以解决博文信息更新速度快而导致的冷启动问题。
并且,在对神经网络模型进行迭代训练的过程中,通过将类别标识码表征的博文向量与目标博文对应的目标博文向量之间的相似度值,确定为每个博文向量对应的注意力权重;根据博文向量对应的注意力权重,对会话序列样本中的各博文向量进行特征融合处理,得到神经网络模型输出的预测博文向量,这样,可以抑制会话序列样本中的无效低频博文信息对向量生成结果的影响,提高博文向量的表征能力。
本申请实施例提供的博文推荐方法,将目标会话序列中各博文信息对应的类别标识码输入至博文向量生成模型进行特征融合处理,输出得到目标用户的预测博文向量,该预测博文向量用于表征目标用户感兴趣的博文信息,将预设数据库中候选博文对应的候选博文向量与预测博文向量的相似度符合预设条件的候选博文向量所对应的博文信息推荐给目标用户,能够为用户推荐更加符合个性化需求的博文信息,提高用户的满意度。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1示出了本申请实施例提供的博文向量生成模型的训练方法的流程示意图;
图2示出了本申请实施例提供的神经网络模型的网络结构示意图;
图3示出了本申请实施例提供的博文推荐方法的流程示意图;
图4示出了本申请实施例提供的博文向量生成模型的训练装置的结构示意图;
图5示出了本申请实施例提供的博文推荐装置的结构示意图;
图6示出了本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
随着深度学习在推荐系统中的应用,由于深度学习模型端到端的学习能力显著优于传统的机器学习方法,原始的id类特征(如用户特征user_id、物品特征item_id等)便开始在推荐模型中大行其道,并逐步成为了最重要的一类特征。通常采用one hot encoding对离散特征,特别是id类特征进行编码,但是由于one hot encoding的维度等于id的总数,one hot encoding的维度就至少是亿量级甚至百亿级别。这样的编码方式对于模型来说是极端稀疏的,而深度学习的特点以及工程方面的原因使其不利于稀疏特征向量的处理。
在word2vec诞生之后,Embedding的思想迅速从自然语言处理领域扩散到几乎所有机器学习的领域。广告、推荐、搜索等领域用户数据的稀疏性几乎必然要求在构建神经网络模型之前对用户和物品进行Embedding后才能进行有效的训练。具体而言,是用一个低维的向量表示一个物体、一个词、一个商品,或是一个电影等。Embedding可以将高维的id/类别类特征转换为稠密、连续的向量,向量之间可以计算夹角计算相似性,也便于神经网络的学习。然而,由于推荐系统中的资讯内容更新速度过快,存在严重的冷启动问题,并且用户浏览的多个资讯之间的相关性不大,难以通过各资讯之间的关联度来挖掘用于表达用户兴趣偏好特征的表示向量。
基于此,本申请实施例提出一种博文向量生成模型训练方法,用于解决现有技术中,博文信息更新速度快而导致的冷启动问题。图1示出了本申请实施例提供的博文向量生成模型的训练方法的流程示意图,该方法可以由电子设备执行,例如终端设备或服务端设备。换言之,所述方法可以由安装在终端设备或服务端设备的软件或硬件来执行。所述服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。如图中所示,该方法100可以包括以下步骤:
S101:基于多个用户的历史会话数据获取会话序列样本集,其中,所述会话序列样本集中每个会话序列样本包括:对应于同一用户的属于同一会话的多个博文信息,以及多个博文信息中用户感兴趣的目标博文;以及,
S102:使用所述会话序列样本集对神经网络模型进行迭代训练,提取所述会话序列样本中每个博文信息的类别特征并进行分桶处理,得到每个博文信息对应的类别桶,基于每个博文信息对应的类别桶映射得到所述每个博文信息对应的类别标识码;
将所述会话序列样本中每个博文信息对应的类别标识码、以及所述目标博文输入至所述神经网络模型中进行基于注意力机制的特征融合处理,输出得到所述会话序列样本对应的预测博文向量;
根据所述会话序列样本对应的预测博文向量、以及所述神经网络模型的损失函数调整所述神经网络模型的模型参数,直至满足设定收敛条件,将训练完成的神经网络模型作为博文向量生成模型。
其中,可以根据用户访问博文信息的时长、次数、反馈行为等多个维度确定会话序列样本中用户感兴趣的目标博文,例如,可以将访问时间最长的博文信息确定为目标博文,也可以将浏览次数最多的博文信息确定为目标博文,或者将用户产生转发、收藏、点赞等行为的博文信息确定为目标博文等。
数据分桶是一种将多个连续值分组为较少数量的“桶”的方法。通过规则映射的方式将每个会话序列样本中的博文信息划分成不同的类型,各类型的类别特征分别落入预先设置的“桶”中,得到类别桶,进而基于各博文信息对应的类别桶映射得到每个博文信息对应的类别标识码,即映射ID。以博文为例,首先设置多维的类别标签,如“财经”、“法律”、“情感”、“创业”、“滑雪”等,根据每一维度的不同取值划分成不同的桶,不同的博文就会落入到不同的桶中,再综合考虑所有维度,就得到了每个博文对应的唯一的映射ID,以此映射ID作为用于训练神经网络模型的ID。
通过上述步骤,由于在使用会话序列样本集对基于注意力机制的神经网络模型进行迭代训练的过程中,提取每个会话序列样本中每个博文信息的类别特征并进行分桶处理,基于每个博文信息对应的类别桶映射得到每个博文信息对应的类别标识码,这样,每个博文信息都会对应有唯一的类别标识码,进而基于每个会话序列样本中每个博文信息对应的类别标识码,进行神经网络模型的模型参数的训练,得到博文向量生成模型,可以解决博文信息更新速度快而导致的冷启动问题。
其中,所述基于多个用户的历史会话数据获取会话序列样本集,包括:
S101a:采集多个用户的历史会话数据,所述历史会话数据包括用户的历史行为产生的针对博文信息的访问数据;
S101b:将所述历史会话数据按照用户标识进行分组,将同一用户对应的访问数据按照访问时间进行排序,并按照会话划分规则对所述访问数据中的博文信息进行分组,得到所述会话序列样本集;其中,所述会话划分规则为:针对同一用户对应的访问数据,如果设定时间段内访问频率低于预设频率阈值,则划分第一时刻之前的访问数据与第二时刻之后的访问数据属于不同的会话;所述第一时刻为设定时间段的左端点时刻,第二时刻为设定时间段的右端点时刻。
在具体实施中,历史会话数据可以是用户的点击session,也可以是后台记录的用户访问记录。以用户的点击session为例,从登录用户中收集20亿点击session作为用户的历史会话数据,按照用户标识id对点击session进行分组,得到同一用户对应的点击session。进一步的,将同一用户对应的点击session按照点击时间进行排序,得到有序的点击session。
针对同一用户对应的有序点击session,按照会话划分规则对点击session中的博文信息进行分组,得到会话序列样本集,可以理解为,同一用户可以对应有多个会话序列样本。这里,对于同一用户的有序点击session,会话序列样本的划分规则为:针对同一用户对应的点击数据,如果设定时间段内点击频率低于预设阈值则划分为不同的会话序列样本。例如:按照30分钟不活跃则视为不同session的规则划分点击session。
其中,在所述基于多个用户的历史会话数据获取会话序列样本集之后,还包括:
S101c:滤除所述会话序列样本集中访问时长少于预设时间阈值的博文信息;或者,
滤除所述会话序列样本集中博文信息的数量少于预设数量阈值的会话序列样本。
在具体实施中,可以对获取的会话序列样本集进行过滤处理,滤除掉会话序列样本集中的无效会话序列样本,具体可以滤除点击session中浏览时长少于预设时间阈值(如10秒)的博文信息,也可以滤除博文信息数量少于预设数量阈值(如3个)的会话序列样本,这样,可以确保样本数据有效,提高博文向量生成模型的训练效率。
其中,所述将所述会话序列样本中每个博文信息对应的类别标识码、以及所述目标博文输入至所述神经网络模型中进行基于注意力机制的特征融合处理,输出得到所述会话序列样本对应的预测博文向量,包括:
针对所述会话序列样本中任一博文信息,将所述博文信息对应的类别标识码作为所述博文信息的第一博文向量,将所述第一博文向量与所述目标博文对应的目标博文向量之间的相似度值,确定为所述第一博文向量对应的注意力权重;
根据每个博文信息的第一博文向量、以及所述第一博文向量对应的注意力权重,确定所述会话序列样本对应的预测博文向量。
在具体实施中,如图2所示,利用会话序列样本中类别标识码对应的博文与该会话序列样本对应的目标博文之间的相关性,为该目标博文对应的每个相关的博文向量赋予权重,每个权重就是该会话序列样本对目标博文的注意力权重。具体地,计算目标博文的Embedding分别与会话序列样本中类别标识码对应的博文向量之间的相似度值,将该相似度值确定为博文向量对应的注意力权重,根据各博文向量对应的注意力权重,对博文向量_1、博文向量_2、……博文向量_n进行特征融合处理,得到神经网络模型输出的预测博文向量。其中,可以通过点积、余弦相似度等方法计算博文信息与目标博文之间的相似度值。
注意力可以被描述为将一个查询和一组键值对映射到一个输出,其中查询、键、值和输出都是向量,输出以加权和的形式计算的兼容性函数计算赋给每个值的权值。本申请实施例在神经网络模型的最大池化层(max pooling)中进行加权取最大处理(每个session序列下博文的注意力权重与其对应的Embedding向量相乘后再压缩成定长,然后进行max操作),经过max pooling处理之后得到的向量就是这个session序列对应的预测博文向量。
这样,能够保证会话序列样本中与目标博文关联越强的博文向量所对应的权重越大,与目标博文关联越弱的博文向量所对应的权重越小。若大部分历史行为都与目标博文相关,则max pooling后的向量会取很大,意味着这个候选博文相关博文的概率很大,更好的捕捉了博文之间的关联性。
进一步的,所述损失函数包括第一损失函数和第二损失函数,所述第一损失函数用于表征所述会话序列样本对应的预测博文向量与每个博文信息对应的类别标识码表征的第一博文向量之间的匹配度;所述第二损失函数用于表征所述预测博文向量所表征的预测博文中所包括的不同类别特征分布的距离。
在具体实施中,除了大规模的训练数据和深层结构外,损失函数在学习准确的博文表征模型中也起着关键作用。多任务学习的关键在于可以同时学习多个相关任务,通过联合学习既保持了任务间的差异性又充分利用其相关性,从而从整体上提高所有任务的学习性能。在本申请实施例中,多任务学习的总损失函数L为:
L=Lp+Lce;
其中,第一损失函数Lp代表匹配损失,第二损失函数Lce代表分类损失。第一损失函数用于表征所述会话序列样本对应的预测博文向量与博文向量之间的匹配度;第二损失函数用于表征所述会话序列样本对应的预测博文向量表征的预测博文中所包括的不同类别特征分布的距离。
假设每对输入为其中,xi表示将第i个博文所对应博文向量作为预测博文向量,zj表示博文信息对应的博文向量中的第j个元素,yi,j表示是否相互匹配,其相互匹配的概率为:
其中,pi,j表示第i个博文和第j个博文相互匹配的概率,k表示与预测博文向量xi不匹配的负样本个数,在实际应用中,取值为10。
对于一个目标博文,可能session序列存在多个与其相匹配的博文信息,对匹配概率进行正则化,即则匹配损失Lp为:
其中,qi,j表示第i个博文和第j个博文的匹配度,ε表示温度系数超参数。
从匹配损失中可以看出其本质是KL散度损失,当正确结果p比较低时,神经网络做出的预测q也比较低。
进一步的,使用AM-Softmax作为第二损失函数,表示为:
其中,si,p为第p个样本的真实标签,m和τ表示为推动分类边界难度的超参数,N为负样本个数,在实际应用中通常取值为10。
通过上述步骤,在对神经网络模型进行迭代训练过程中,通过将类别标识码表征的博文向量与目标博文对应的目标博文向量之间的相似度值,确定为博文向量对应的注意力权重;根据博文信息对应的注意力权重,对会话序列样本中的各博文信息进行特征融合处理,得到神经网络模型输出的预测博文向量,这样,可以抑制会话序列样本中的无效低频博文信息对向量生成结果的影响,提高博文向量的表征能力。
采用本申请实施例提供的博文向量生成模型训练方法训练的博文向量生成模型,能够根据目标会话序列对应输出目标博文向量,该目标博文向量可以用于商品推荐、博文推荐等各种领域,以下以博文推荐领域为例进行介绍,图3示出了本申请实施例提供的博文推荐方法的流程示意图,该方法包括以下步骤:
S301:获取目标用户的目标会话序列;所述目标会话序列包括对应于所述目标用户的属于同一会话的多个博文信息;
S302:根据所述目标会话序列中每个博文信息的类别特征,确定每个博文信息对应的类别标识码;
S303:将每个博文信息对应的类别标识码输入至博文向量生成模型进行特征融合处理,输出得到所述目标用户的预测博文向量;所述博文向量生成模型是采用上述的博文向量生成模型的训练方法训练得到的;
S304:确定预设数据库中候选博文对应的候选博文向量与所述预测博文向量的相似度;
S305:将相似度符合预设条件的候选博文推荐给所述目标用户。
通过上述步骤,将目标会话序列中各博文信息对应的类别标识码输入至博文向量生成模型进行特征融合处理,输出得到目标用户的预测博文向量,该预测博文向量能够反映用户对博文信息的兴趣偏好,进而,通过确定预设数据库中候选博文对应的候选博文向量与预测博文向量的相似度,将相似度符合预设条件的候选博文推荐给所述目标用户,能够为用户推荐更加符合个性化需求的博文信息,提高用户的满意度。
图4示出了本申请实施例提供的博文向量生成模型的训练装置的结构示意图,该装置400包括:
样本获取模块410,用于基于多个用户的历史会话数据获取会话序列样本集,其中,所述会话序列样本集中每个会话序列样本包括:对应于同一用户的属于同一会话的多个博文信息,以及多个所述博文信息中用户感兴趣的目标博文;
模型训练模块420,用于使用所述会话序列样本集对神经网络模型进行迭代训练,提取所述会话序列样本中每个博文信息的类别特征并进行分桶处理,得到每个博文信息对应的类别桶,基于每个博文信息对应的类别桶映射得到所述每个博文信息对应的类别标识码;
将所述会话序列样本中每个博文信息对应的类别标识码、以及所述目标博文输入至所述神经网络模型中进行基于注意力机制的特征融合处理,输出得到所述会话序列样本对应的预测博文向量;
根据所述会话序列样本对应的预测博文向量、以及所述神经网络模型的损失函数调整所述神经网络模型的模型参数,直至满足设定收敛条件,将训练完成的神经网络模型作为博文向量生成模型。
其中,所述样本获取模块410在用于基于多个用户的历史会话数据获取会话序列样本集时,具体用于:
采集多个用户的历史会话数据,所述历史会话数据包括用户的历史行为产生的针对博文信息的访问数据;
将所述历史会话数据按照用户标识进行分组,将同一用户对应的访问数据按照访问时间进行排序,并按照会话划分规则对所述访问数据中的博文信息进行分组,得到所述会话序列样本集;其中,所述会话划分规则为:针对同一用户对应的访问数据,如果设定时间段内访问频率低于预设频率阈值,则划分第一时刻之前的访问数据与第二时刻之后的访问数据属于不同的会话;所述第一时刻为设定时间段的左端点时刻,第二时刻为设定时间段的右端点时刻。
所述样本获取模块410在用于基于多个用户的历史会话数据获取会话序列样本集之后,还用于:
滤除所述会话序列样本集中访问时长少于预设时间阈值的博文信息;或者,
滤除所述会话序列样本集中博文信息的数量少于预设数量阈值的会话序列样本。
所述模型训练模块420在用于将所述会话序列样本中每个博文信息对应的类别标识码、以及所述目标博文输入至所述神经网络模型中进行基于注意力机制的特征融合处理,输出得到所述会话序列样本对应的预测博文向量,具体用于:
针对所述会话序列样本中任一博文信息,将所述博文信息对应的类别标识码作为所述博文信息的第一博文向量,将所述第一博文向量与所述目标博文对应的目标博文向量之间的相似度值,确定为所述第一博文向量对应的注意力权重;
根据每个博文信息的第一博文向量、以及所述第一博文向量对应的注意力权重,确定所述会话序列样本对应的预测博文向量。
所述损失函数包括第一损失函数和第二损失函数,所述第一损失函数用于表征所述会话序列样本对应的预测博文向量与每个博文信息对应的类别标识码表征的第一博文向量之间的匹配度;所述第二损失函数用于表征所述预测博文向量所表征的预测博文中所包括的不同类别特征分布的距离。
本申请实施例提供的博文向量生成模型的训练装置400,可执行图1所述的方法,并实现图1所示实施例的功能,在此不再赘述。
图5示出了本申请实施例提供的博文推荐装置的结构示意图,该装置500包括:
序列获取模块510,用于获取目标用户的目标会话序列;所述目标会话序列包括对应于所述目标用户的属于同一会话的多个博文信息;
标识码确定模块520,用于根据所述目标会话序列中每个博文信息的类别特征,确定每个博文信息对应的类别标识码;
向量输出模块530,用于将每个博文信息对应的类别标识码输入至博文向量生成模型进行特征融合处理,输出得到所述目标用户的预测博文向量;所述博文向量生成模型是采用上述的博文向量生成模型的训练装置训练得到的;
相似度确定模块540,用于确定预设数据库中候选博文对应的候选博文向量与所述预测博文向量的相似度;
博文推荐模块550,用于将相似度符合预设条件的候选博文推荐给所述目标用户。
本申请实施例提供的博文推荐装置500,可执行图3所述的方法,并实现图3所示实施例的功能,在此不再赘述。
图6示出执行本申请实施例提供的计算机设备的硬件结构示意图,参考该图,在硬件层面,电子设备包括处理器,可选地,包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该计算机设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(ExtendedIndustry Standard Architecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,该图中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成定位目标用户的装置。处理器,执行存储器所存放的程序,并具体执行:图1或图3所示实施例揭示的方法并实现前文方法实施例中所述的各方法的功能和有益效果,在此不再赘述。
上述如本申请图1或图3所示实施例揭示的方法可以应处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该计算机设备还可执行前文方法实施例中所述的各方法,并实现前文方法实施例中所述的各方法的功能和有益效果,在此不再赘述。
当然,除了软件实现方式之外,本申请的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
本申请实施例还提出了一种计算机可读存储介质,所述计算机可读介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行图1或图3所示实施例揭示的方法并实现前文方法实施例中所述的各方法的功能和有益效果,在此不再赘述。
其中,所述的计算机可读存储介质包括只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
进一步地,本申请实施例还提供了一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,实现以下流程:图1-3所示实施例揭示的方法并实现前文方法实施例中所述的各方法的功能和有益效果,在此不再赘述。
总之,以上所述仅为本申请的较佳实施例,并非限定本申请的保护范围。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
Claims (10)
1.一种博文向量生成模型的训练方法,其特征在于,包括:
基于多个用户的历史会话数据获取会话序列样本集,其中,所述会话序列样本集中每个会话序列样本包括:对应于同一用户的属于同一会话的多个博文信息,以及所述多个博文信息中用户感兴趣的目标博文;
使用所述会话序列样本集对神经网络模型进行迭代训练,提取所述会话序列样本中每个博文信息的类别特征并进行分桶处理,得到每个博文信息对应的类别桶,基于每个博文信息对应的类别桶映射得到所述每个博文信息对应的类别标识码;
将所述会话序列样本中每个博文信息对应的类别标识码、以及所述目标博文输入至所述神经网络模型中进行基于注意力机制的特征融合处理,输出得到所述会话序列样本对应的预测博文向量;
根据所述会话序列样本对应的预测博文向量、以及所述神经网络模型的损失函数调整所述神经网络模型的模型参数,直至满足设定收敛条件,将训练完成的神经网络模型作为博文向量生成模型。
2.根据权利要求1所述的方法,其特征在于,所述基于多个用户的历史会话数据获取会话序列样本集,包括:
采集多个用户的历史会话数据,所述历史会话数据包括用户的历史行为产生的针对博文信息的访问数据;
将所述历史会话数据按照用户标识进行分组,将同一用户对应的访问数据按照访问时间进行排序,并按照会话划分规则对所述访问数据中的博文信息进行分组,得到所述会话序列样本集;其中,所述会话划分规则为:针对同一用户对应的访问数据,如果设定时间段内访问频率低于预设频率阈值,则划分第一时刻之前的访问数据与第二时刻之后的访问数据属于不同的会话;所述第一时刻为设定时间段的左端点时刻,第二时刻为设定时间段的右端点时刻。
3.根据权利要求2所述的方法,其特征在于,在所述基于多个用户的历史会话数据获取会话序列样本集之后,还包括:
滤除所述会话序列样本集中访问时长少于预设时间阈值的博文信息;或者,
滤除所述会话序列样本集中博文信息的数量少于预设数量阈值的会话序列样本。
4.根据权利要求1所述的方法,其特征在于,所述将所述会话序列样本中每个博文信息对应的类别标识码、以及所述目标博文输入至所述神经网络模型中进行基于注意力机制的特征融合处理,输出得到所述会话序列样本对应的预测博文向量,包括:
针对所述会话序列样本中任一博文信息,将所述博文信息对应的类别标识码作为所述博文信息的第一博文向量,将所述第一博文向量与所述目标博文对应的目标博文向量之间的相似度值,确定为所述第一博文向量对应的注意力权重;
根据每个博文信息的第一博文向量、以及所述第一博文向量对应的注意力权重,确定所述会话序列样本对应的预测博文向量。
5.根据权利要求1所述的方法,其特征在于,所述损失函数包括第一损失函数和第二损失函数,所述第一损失函数用于表征所述会话序列样本对应的预测博文向量与每个博文信息对应的类别标识码表征的第一博文向量之间的匹配度;所述第二损失函数用于表征所述预测博文向量所表征的预测博文中所包括的不同类别特征分布的距离。
6.一种博文推荐方法,其特征在于,包括:
获取目标用户的目标会话序列;所述目标会话序列包括对应于所述目标用户的属于同一会话的多个博文信息;
根据所述目标会话序列中每个博文信息的类别特征,确定每个博文信息对应的类别标识码;
将每个博文信息对应的类别标识码输入至博文向量生成模型进行特征融合处理,输出得到所述目标用户的预测博文向量;所述博文向量生成模型是采用如权利要求1至5中任一项所述的博文向量生成模型的训练方法训练得到的;
确定预设数据库中候选博文对应的候选博文向量与所述预测博文向量的相似度;
将相似度符合预设条件的候选博文推荐给所述目标用户。
7.一种博文向量生成模型的训练装置,其特征在于,包括:
样本获取模块,用于基于多个用户的历史会话数据获取会话序列样本集,其中,所述会话序列样本集中每个会话序列样本包括:对应于同一用户的属于同一会话的多个博文信息,以及多个所述博文信息中用户感兴趣的目标博文;
模型训练模块,用于使用所述会话序列样本集对神经网络模型进行迭代训练,提取所述会话序列样本中每个博文信息的类别特征并进行分桶处理,得到每个博文信息对应的类别桶,基于每个博文信息对应的类别桶映射得到所述每个博文信息对应的类别标识码;
将所述会话序列样本中每个博文信息对应的类别标识码、以及所述目标博文输入至所述神经网络模型中进行基于注意力机制的特征融合处理,输出得到所述会话序列样本对应的预测博文向量;
根据所述会话序列样本对应的预测博文向量、以及所述神经网络模型的损失函数调整所述神经网络模型的模型参数,直至满足设定收敛条件,将训练完成的神经网络模型作为博文向量生成模型。
8.一种博文推荐装置,其特征在于,包括:
序列获取模块,用于获取目标用户的目标会话序列;所述目标会话序列包括对应于所述目标用户的属于同一会话的多个博文信息;
标识码确定模块,用于根据所述目标会话序列中每个博文信息的类别特征,确定每个博文信息对应的类别标识码;
向量输出模块,用于将每个博文信息对应的类别标识码输入至博文向量生成模型进行特征融合处理,输出得到所述目标用户的预测博文向量;所述博文向量生成模型是采用如权利要求7所述的博文向量生成模型的训练装置训练得到的;
相似度确定模块,用于确定预设数据库中候选博文对应的候选博文向量与所述预测博文向量的相似度;
博文推荐模块,用于将相似度符合预设条件的候选博文推荐给所述目标用户。
9.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1至6任一项所述的方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1至6任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310621442.7A CN116578757A (zh) | 2023-05-29 | 2023-05-29 | 博文向量生成模型训练方法、博文推荐方法及装置、设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310621442.7A CN116578757A (zh) | 2023-05-29 | 2023-05-29 | 博文向量生成模型训练方法、博文推荐方法及装置、设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116578757A true CN116578757A (zh) | 2023-08-11 |
Family
ID=87533967
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310621442.7A Pending CN116578757A (zh) | 2023-05-29 | 2023-05-29 | 博文向量生成模型训练方法、博文推荐方法及装置、设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116578757A (zh) |
-
2023
- 2023-05-29 CN CN202310621442.7A patent/CN116578757A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110309427B (zh) | 一种对象推荐方法、装置及存储介质 | |
US9449271B2 (en) | Classifying resources using a deep network | |
US8645298B2 (en) | Topic models | |
AU2014201827B2 (en) | Scoring concept terms using a deep network | |
CN111966914B (zh) | 基于人工智能的内容推荐方法、装置和计算机设备 | |
CN110795657B (zh) | 文章推送及模型训练方法、装置、存储介质和计算机设备 | |
CN109918653B (zh) | 确定文本数据的关联话题及模型的训练方法、装置和设备 | |
CN110909182A (zh) | 多媒体资源搜索方法、装置、计算机设备及存储介质 | |
US20230004608A1 (en) | Method for content recommendation and device | |
CN111506820A (zh) | 推荐模型、方法、装置、设备及存储介质 | |
CN116601626A (zh) | 个人知识图谱构建方法、装置及相关设备 | |
CN112364184A (zh) | 多媒体数据的排序方法、装置、服务器及存储介质 | |
CN112328889A (zh) | 推荐搜索词确定方法、装置、可读介质及电子设备 | |
CN111026910B (zh) | 视频推荐方法、装置、电子设备及计算机可读存储介质 | |
CN111694967A (zh) | 属性抽取方法、装置、电子设备及介质 | |
CN116680481B (zh) | 搜索排序方法、装置、设备、存储介质及计算机程序产品 | |
CN110851708B (zh) | 负样本的抽取方法、装置、计算机设备和存储介质 | |
CN112989182A (zh) | 信息处理方法、装置、信息处理设备及存储介质 | |
CN110827078A (zh) | 一种信息推荐方法、装置、设备及存储介质 | |
CN116541592A (zh) | 向量生成方法、信息推荐方法、装置、设备及介质 | |
CN111552827B (zh) | 标注方法和装置、行为意愿预测模型训练方法和装置 | |
CN116578757A (zh) | 博文向量生成模型训练方法、博文推荐方法及装置、设备 | |
CN116992111B (zh) | 数据处理方法、装置、电子设备及计算机存储介质 | |
CN116028617B (zh) | 资讯推荐方法、装置、设备、可读存储介质及程序产品 | |
CN113676505B (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 |