CN111177557B - 一种可解释的基于域间显式交互的神经因子的推荐系统及方法 - Google Patents
一种可解释的基于域间显式交互的神经因子的推荐系统及方法 Download PDFInfo
- Publication number
- CN111177557B CN111177557B CN201911396812.1A CN201911396812A CN111177557B CN 111177557 B CN111177557 B CN 111177557B CN 201911396812 A CN201911396812 A CN 201911396812A CN 111177557 B CN111177557 B CN 111177557B
- Authority
- CN
- China
- Prior art keywords
- sub
- vector
- domain
- vectors
- characterization
- 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
Links
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/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- 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/045—Combinations of networks
-
- 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
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Complex Calculations (AREA)
- Image Analysis (AREA)
Abstract
本发明提供了一种可解释的基于域间显式交互的神经因子的系统及方法,包括:原始数据经过嵌入层得到域嵌入向量,域嵌入向量经过线性变化得到基向量,对域嵌入向量和基向量进行划分得到预设数量的子嵌入向量和子基向量;对每个子嵌入向量和子基向量进行显式交互得到子域的中间交互张量,利用不共享的一维卷积变量分别对子域的中间交互张量进行特征提取,得到新的子域表征向量;新的子域表征向量经过正则层和注意力层得到加权的子域嵌入向量;每个加权的子域嵌入向量在输出层进行特征融合,最后经过归一化函数得到预测结果。本发明通过域间的显式特征交互进行特征映射,每次交互都会为每个域引入新的来自其他子域的信息,使得域间的交互更加丰富和完整。
Description
技术领域
本发明涉及深度学习以及推荐系统领域,具体地,涉及一种可解释的基于域间显式交互的神经因子的系统及方法,更为具体地,涉及一种可解释的基于域间显式交互的神经因子网络模型。
背景技术
在大数据互联网时代,传统的机器学习算法由于有限的表征能力和手动的特征工程,不能有效应用于处理大批量数据集的复杂任务,因此基于神经网络的因子模型在推荐系统领域逐渐受到研究学者的关注,深度神经网络能够有效地学习特征间的非线性关系和拟合特征间的高阶交互,因而利用神经网络来提高推荐系统性能成为了业界必然的趋势,其中把传统的因子分解机和深度学习相结合的神经因子模型由于良好的可扩展性和优异的性能逐渐成为研究热点之一。
目前基于神经网络的因子模型从特征交互方式的角度可以分为显式交互和隐式交互两种,最近的研究表明显式交互在学习有界的特征交互时优于基于隐式交互的神经网络模型,但是现有的显式交互模型在选择交互对象时也存在不足,对特征规模比较敏感,并且无法自动地学习特征权重,缺乏可解释性,因此需要设计更加高效合理的显式交互操作和具有可解释性的显式交互模型。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种可解释的基于域间显式交互的神经因子的系统及方法。
本发明提供的一种可解释的基于域间显式交互的神经因子的系统,包括:
模块M1:原始数据经过嵌入层得到域嵌入向量,域嵌入向量经过线性变化得到基向量,对域嵌入向量和基向量进行划分得到预设数量的子嵌入向量和子基向量;
模块M2:对每个子嵌入向量和子基向量进行显式交互得到子域的中间交互张量,利用不共享的一维卷积变量分别对子域的中间交互张量进行特征提取,得到新的子域表征向量;新的子域表征向量经过正则层和注意力层得到加权的子域嵌入向量;
模块M3:每个加权的子域嵌入向量在输出层进行特征融合,最后经过归一化函数得到预测结果。
优选地,所述模块M1包括:
模块M1.1:初始化特征嵌入向量,通过输入层输入原始数据经过嵌入层检索到对应的特征嵌入向量,通过包括线性相加和/或非线性相乘合并同一域的特征得到域嵌入向量;
模块M1.2:利用线性变换对域嵌入向量的特征维度进行伸缩变换得到基向量,变换后的基向量的特征维度等于域的数量或者倍数;域嵌入向量和基向量的行数对应域的数量,列数对应域的隐表征维度;
模块M1.3:把基向量按列特征维度划分预设数量子基向量;
模块M1.4:把域嵌入向量划分为预设数量的子域嵌入向量,子基向量的数量等于子域嵌入向量的数量,并且子基向量和子域嵌入向量一一对应;子域嵌入向量的行数等于对应子基向量的列数;
所述域包括为原始数据的特征类别;
所述基向量的特征维度与原始数据的域数量相关,为了便于显式交互,基向量的特征维度等于域数量的倍数。
优选地,所述模块M2包括:
模块M2.1:子基向量的列数通过相邻列进行拼接缩减至子域的行数,使得能够分别在不同的映射空间中进行显式交互;
模块M2.2:每个子域嵌入向量分别和对应的子基向量进行显式交互,子域嵌入向量的行和子基向量对应的列求二维向量哈达玛积,将哈达玛积伸展为一维向量,得到子域的中间交互张量;
模块M2.3:为每个子域嵌入向量初始化预设数量个一维卷积变量,一维卷积变量之间不共享参数,一维卷积变量的数量等于子域的数量,并且一维卷积变量与子域一一对应;
模块M2.4:每个子域的中间交互张量经由对应的一维卷积变量进行特征提取,得到新的子域表征向量,新的子域表征向量的行数保持不变;
模块M2.5:得到新的子域表征向量后,如果神经网络的下一层不是输出层,则把当前层的新的子域表征向量一半的列维度直接传递到输出层,并且对完整的当前层的每个新的子域表征向量进行Dropout正则化操作;
模块M2.6:把经过Dropout正则化操作后的子域表征向量传递到注意力层,采用自注意力机制,每个子域分别从整体计算得到注意力矩阵;利用得到的注意力矩阵对当前的子域表征向量进行加权求和,得到加权的子域表征向量;将加权的子域表征向量输入到神经网络的下一层;如果神经网络下一层是堆叠成,则对加权的子域表征向量重复模块M2.1至模块M2.6,直至得到的子域表征向量输入到神经网络下一层是输出层;
所述子基向量的列包含所有域的信息;
所述子域嵌入向量的行代表一个域的表征信息;
所述哈达玛积为一个二维向量,包含当前域和除当前域之外域的交互信息;
所述子域包括数据集中对应的子特征类别;
优选地,所述模块M3包括:当加权的子域表征向量传递到输出层后,把加权的子域表征向量进行横向拼接,经过全连接操作得到融合的特征值,特征值利用归一化函数得到最终的预测结果。
优选地,所述模块M2.6包括:
模块M2.6.1:注意力层接受两个输入,两个输入分别为当前层的子域表征向量和初始时的域嵌入向量,对注意力层的两个输入进行线性变换;
模块M2.6.2:经过线性变换后的两个输入利用余弦相似度求得一个余弦相似度矩阵,归一化余弦相似度矩阵得到注意力矩阵;
模块M2.6.3:利用注意力矩阵对输入的子域表征向量进行加权求和,得到加权的子域表征向量;
模块M2.6.4:加权的子域表征向量再和输入的子域表征向量进行加权求和得到最终的加权子域表征向量。
本发明提供的一种可解释的基于域间显式交互的神经因子的方法,包括:
步骤M1:原始数据经过嵌入层得到域嵌入向量,域嵌入向量经过线性变化得到基向量,对域嵌入向量和基向量进行划分得到预设数量的子嵌入向量和子基向量;
步骤M2:对每个子嵌入向量和子基向量进行显式交互得到子域的中间交互张量,利用不共享的一维卷积变量分别对子域的中间交互张量进行特征提取,得到新的子域表征向量;新的子域表征向量经过正则层和注意力层得到加权的子域嵌入向量;
步骤M3:每个加权的子域嵌入向量在输出层进行特征融合,最后经过归一化函数得到预测结果。
优选地,所述步骤M1包括:
步骤M1.1:初始化特征嵌入向量,通过输入层输入原始数据经过嵌入层检索到对应的特征嵌入向量,通过包括线性相加和/或非线性相乘合并同一域的特征得到域嵌入向量;
步骤M1.2:利用线性变换对域嵌入向量的特征维度进行伸缩变换得到基向量,变换后的基向量的特征维度等于域的数量或者倍数;域嵌入向量和基向量的行数对应域的数量,列数对应域的隐表征维度;
步骤M1.3:把基向量按列特征维度划分预设数量子基向量;
步骤M1.4:把域嵌入向量划分为预设数量的子域嵌入向量,子基向量的数量等于子域嵌入向量的数量,并且子基向量和子域嵌入向量一一对应;子域嵌入向量的行数等于对应子基向量的列数;
所述域包括为原始数据的特征类别;
所述基向量的特征维度与原始数据的域数量相关,为了便于显式交互,基向量的特征维度等于域数量的倍数。
优选地,所述步骤M2包括:
步骤M2.1:子基向量的列数通过相邻列进行拼接缩减至子域的行数,使得能够分别在不同的映射空间中进行显式交互;
步骤M2.2:每个子域嵌入向量分别和对应的子基向量进行显式交互,子域嵌入向量的行和子基向量对应的列求二维向量哈达玛积,将哈达玛积伸展为一维向量,得到子域的中间交互张量;
步骤M2.3:为每个子域嵌入向量初始化预设数量个一维卷积变量,一维卷积变量之间不共享参数,一维卷积变量的数量等于子域的数量,并且一维卷积变量与子域一一对应;
步骤M2.4:每个子域的中间交互张量经由对应的一维卷积变量进行特征提取,得到新的子域表征向量,新的子域表征向量的行数保持不变;
步骤M2.5:得到新的子域表征向量后,如果神经网络的下一层不是输出层,则把当前层的新的子域表征向量一半的列维度直接传递到输出层,并且对完整的当前层的每个新的子域表征向量进行Dropout正则化操作;
步骤M2.6:把经过Dropout正则化操作后的子域表征向量传递到注意力层,采用自注意力机制,每个子域分别从整体计算得到注意力矩阵;利用得到的注意力矩阵对当前的子域表征向量进行加权求和,得到加权的子域表征向量;将加权的子域表征向量输入到神经网络的下一层;如果神经网络下一层是堆叠成,则对加权的子域表征向量重复步骤M2.1至步骤M2.6,直至得到的子域表征向量输入到神经网络下一层是输出层;
所述子基向量的列包含所有域的信息;
所述子域嵌入向量的行代表一个域的表征信息;
所述哈达玛积为一个二维向量,包含当前域和除当前域之外域的交互信息;
所述子域包括数据集中对应的子特征类别;
优选地,所述步骤M3包括:当加权的子域表征向量传递到输出层后,把加权的子域表征向量进行横向拼接,经过全连接操作得到融合的特征值,特征值利用归一化函数得到最终的预测结果。
优选地,所述步骤M2.6包括:
步骤M2.6.1:注意力层接受两个输入,两个输入分别为当前层的子域表征向量和初始时的域嵌入向量,对注意力层的两个输入进行线性变换;
步骤M2.6.2:经过线性变换后的两个输入利用余弦相似度求得一个余弦相似度矩阵,归一化余弦相似度矩阵得到注意力矩阵;
步骤M2.6.3:利用注意力矩阵对输入的子域表征向量进行加权求和,得到加权的子域表征向量;
步骤M2.6.4:加权的子域表征向量再和输入的子域表征向量进行加权求和得到最终的加权子域表征向量。
与现有技术相比,本发明具有如下的有益效果:
1、显式交互模型通过域间的显式特征交互进行特征映射,每次交互都会为每个域引入新的来自其他子域的信息,使得域间的交互更加丰富和完整;
2、利用不共享的一维卷积核进行特征提取,能够把子域映射到更多样的特征空间,同时由于交互时没有改变域的数量,因此还可以自然地引入了注意力机制来为模型提供可解释性;
3、和传统推荐系统模型相比,准确性更高,可解释性更强。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为模型整体架构示意图;
图2为显式交互示意图;
图3为特征提取示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
本发明针对现有基于因子的模型在学习特征交互能力方面的不足以及缺乏可解释性的问题,提出了可解释的基于域间显式交互的神经因子网络模型。本发明通过设计域间的显式交互操作,使得域的表征信息能够充分考虑其他域的影响,通过划分子域的方式,使得子域被映射到更多样的特征空间,一维卷积核能够提取到更丰富的特征信息,并且为神经因子模型引入了注意力机制,使得模型的预测具有良好的可解释性。
本发明设计基于域间显示交互的神经因子模型,如图1所示,通过域间的显式交互来捕获交叉特征,利用不共享的一维卷积核进行特征提取,然后引入注意力机制为不同的域学习相应的权重,极大提高模型的表征能力。和传统推荐系统模型相比,准确性更高,可解释性更强。
根据本发明提供的一种可解释的基于域间显式交互的神经因子的系统,包括:
模块M1:原始数据经过嵌入层得到域嵌入向量,域嵌入向量经过线性变化得到基向量,对域嵌入向量和基向量进行划分得到预设数量的子嵌入向量和子基向量;
为了把嵌入表征映射到更多样的特征空间,从不同的角度进行特征提取,我们把嵌入表征和基向量划分为不同的子域;
具体地,所述模块M1包括:
模块M1.1:初始化特征嵌入向量,通过输入层输入原始数据经过嵌入层检索到对应的特征嵌入向量,通过包括线性相加和/或非线性相乘合并同一域的特征得到域嵌入向量;使得得到的域嵌入向量更充分地表示该域的特征间的关联关系。
模块M1.2:利用线性变换对域嵌入向量的特征维度进行伸缩变换得到基向量,变换后的基向量的特征维度等于域的数量或者倍数;当域的数量较多时,设置较小的倍数,反之,设置交大的倍数;域嵌入向量和基向量的行数对应域的数量,列数对应域的隐表征维度;
模块M1.3:把基向量按列特征维度划分预设数量子基向量;
模块M1.4:把域嵌入向量划分为预设数量的子域嵌入向量,子基向量的数量等于子域嵌入向量的数量,并且子基向量和子域嵌入向量一一对应;子域嵌入向量的行数等于对应子基向量的列数;
所述域包括为原始数据的特征类别;
所述基向量的特征维度与原始数据的域数量相关,为了便于显式交互,基向量的特征维度等于域数量的倍数。
模块M2:对每个子嵌入向量和子基向量进行显式交互得到子域的中间交互张量,利用不共享的一维卷积变量分别对子域的中间交互张量进行特征提取,得到新的子域表征向量;新的子域表征向量经过正则层和注意力层得到加权的子域嵌入向量;
子域表征和子基向量的个数一般不少于两个,每个子域表征和子基向量的行数一般多于1行;
为了使得显式交互时不改变域的数量,也就是子域表征向量的行数,同时尽可能的利用到其他域的信息;
具体地,所述模块M2包括:
模块M2.1:子基向量的列数通过相邻列进行拼接缩减至子域的行数,使得能够分别在不同的映射空间中进行显式交互;
模块M2.2:如图1所示,每个子域嵌入向量分别和对应的子基向量进行显式交互,子域嵌入向量的行和子基向量对应的列求二维向量哈达玛积,将哈达玛积伸展为一维向量,得到子域的中间交互张量;
模块M2.3:为每个子域嵌入向量初始化预设数量个一维卷积变量,一维卷积变量之间不共享参数,一维卷积变量的数量等于子域的数量,并且一维卷积变量与子域一一对应;使得子域被映射到更多样的特征空间,卷积变量能够更加有效地针对对应的子域进行特征提取;
模块M2.4:如图2所示,每个子域的中间交互张量经由对应的一维卷积变量进行特征提取,得到新的子域表征向量,新的子域表征向量的行数保持不变;
模块M2.5:得到新的子域表征向量后,如果神经网络的下一层不是输出层,则把当前层的新的子域表征向量一半的列维度直接传递到输出层,并且对完整的当前层的每个新的子域表征向量进行Dropout正则化操作;
模块M2.6:把经过Dropout正则化操作后的子域表征向量传递到注意力层,采用自注意力机制,每个子域分别从整体计算得到注意力矩阵;利用得到的注意力矩阵对当前的子域表征向量进行加权求和,得到加权的子域表征向量;将加权的子域表征向量输入到神经网络的下一层;如果神经网络下一层是堆叠成,则对加权的子域表征向量重复模块M2.1至模块M2.6,直至得到的子域表征向量输入到神经网络下一层是输出层;
所述子基向量的列包含所有域的信息;
所述子域嵌入向量的行代表一个域的表征信息;
所述哈达玛积为一个二维向量,包含当前域和除当前域之外域的交互信息;
所述子域包括数据集中对应的子特征类别;
为了能够体现出不同域的权重关系,同时又不会使得加权后表征空间波动太大;
具体地,所述模块M2.6包括:
模块M2.6.1:注意力层接受两个输入,两个输入分别为当前层的子域表征向量和初始时的域嵌入向量,对注意力层的两个输入进行线性变换;
模块M2.6.2:经过线性变换后的两个输入利用余弦相似度求得一个余弦相似度矩阵,归一化余弦相似度矩阵得到注意力矩阵;
模块M2.6.3:利用注意力矩阵对输入的子域表征向量进行加权求和,得到加权的子域表征向量;
模块M2.6.4:加权的子域表征向量再和输入的子域表征向量进行加权求和得到最终的加权子域表征向量。
模块M3:每个加权的子域嵌入向量在输出层进行特征融合,最后经过归一化函数得到预测结果。
具体地,所述模块M3包括:当加权的子域表征向量传递到输出层后,把加权的子域表征向量进行横向拼接,经过全连接操作得到融合的特征值,特征值利用归一化函数得到最终的预测结果。
根据本发明提供的一种可解释的基于域间显式交互的神经因子的方法,包括:
步骤M1:原始数据经过嵌入层得到域嵌入向量,域嵌入向量经过线性变化得到基向量,对域嵌入向量和基向量进行划分得到预设数量的子嵌入向量和子基向量;
为了把嵌入表征映射到更多样的特征空间,从不同的角度进行特征提取,我们把嵌入表征和基向量划分为不同的子域;
具体地,所述步骤M1包括:
步骤M1.1:初始化特征嵌入向量,通过输入层输入原始数据经过嵌入层检索到对应的特征嵌入向量,通过包括线性相加和/或非线性相乘合并同一域的特征得到域嵌入向量;使得得到的域嵌入向量更充分地表示该域的特征间的关联关系。
步骤M1.2:利用线性变换对域嵌入向量的特征维度进行伸缩变换得到基向量,变换后的基向量的特征维度等于域的数量或者倍数;当域的数量较多时,设置较小的倍数,反之,设置交大的倍数;域嵌入向量和基向量的行数对应域的数量,列数对应域的隐表征维度;
步骤M1.3:把基向量按列特征维度划分预设数量子基向量;
步骤M1.4:把域嵌入向量划分为预设数量的子域嵌入向量,子基向量的数量等于子域嵌入向量的数量,并且子基向量和子域嵌入向量一一对应;子域嵌入向量的行数等于对应子基向量的列数;
所述域包括为原始数据的特征类别;
所述基向量的特征维度与原始数据的域数量相关,为了便于显式交互,基向量的特征维度等于域数量的倍数。
步骤M2:对每个子嵌入向量和子基向量进行显式交互得到子域的中间交互张量,利用不共享的一维卷积变量分别对子域的中间交互张量进行特征提取,得到新的子域表征向量;新的子域表征向量经过正则层和注意力层得到加权的子域嵌入向量;
子域表征和子基向量的个数一般不少于两个,每个子域表征和子基向量的行数一般多于1行;
为了使得显式交互时不改变域的数量,也就是子域表征向量的行数,同时尽可能的利用到其他域的信息;
具体地,所述步骤M2包括:
步骤M2.1:子基向量的列数通过相邻列进行拼接缩减至子域的行数,使得能够分别在不同的映射空间中进行显式交互;
步骤M2.2:如图1所示,每个子域嵌入向量分别和对应的子基向量进行显式交互,子域嵌入向量的行和子基向量对应的列求二维向量哈达玛积,将哈达玛积伸展为一维向量,得到子域的中间交互张量;
步骤M2.3:为每个子域嵌入向量初始化预设数量个一维卷积变量,一维卷积变量之间不共享参数,一维卷积变量的数量等于子域的数量,并且一维卷积变量与子域一一对应;使得子域被映射到更多样的特征空间,卷积变量能够更加有效地针对对应的子域进行特征提取;
步骤M2.4:如图2所示,每个子域的中间交互张量经由对应的一维卷积变量进行特征提取,得到新的子域表征向量,新的子域表征向量的行数保持不变;
步骤M2.5:得到新的子域表征向量后,如果神经网络的下一层不是输出层,则把当前层的新的子域表征向量一半的列维度直接传递到输出层,并且对完整的当前层的每个新的子域表征向量进行Dropout正则化操作;
步骤M2.6:把经过Dropout正则化操作后的子域表征向量传递到注意力层,采用自注意力机制,每个子域分别从整体计算得到注意力矩阵;利用得到的注意力矩阵对当前的子域表征向量进行加权求和,得到加权的子域表征向量;将加权的子域表征向量输入到神经网络的下一层;如果神经网络下一层是堆叠成,则对加权的子域表征向量重复步骤M2.1至步骤M2.6,直至得到的子域表征向量输入到神经网络下一层是输出层;
所述子基向量的列包含所有域的信息;
所述子域嵌入向量的行代表一个域的表征信息;
所述哈达玛积为一个二维向量,包含当前域和除当前域之外域的交互信息;
所述子域包括数据集中对应的子特征类别;
为了能够体现出不同域的权重关系,同时又不会使得加权后表征空间波动太大;
具体地,所述步骤M2.6包括:
步骤M2.6.1:注意力层接受两个输入,两个输入分别为当前层的子域表征向量和初始时的域嵌入向量,对注意力层的两个输入进行线性变换;
步骤M2.6.2:经过线性变换后的两个输入利用余弦相似度求得一个余弦相似度矩阵,归一化余弦相似度矩阵得到注意力矩阵;
步骤M2.6.3:利用注意力矩阵对输入的子域表征向量进行加权求和,得到加权的子域表征向量;
步骤M2.6.4:加权的子域表征向量再和输入的子域表征向量进行加权求和得到最终的加权子域表征向量。
步骤M3:每个加权的子域嵌入向量在输出层进行特征融合,最后经过归一化函数得到预测结果。
具体地,所述步骤M3包括:当加权的子域表征向量传递到输出层后,把加权的子域表征向量进行横向拼接,经过全连接操作得到融合的特征值,特征值利用归一化函数得到最终的预测结果。
所述第一层的子域表征称之为子域嵌入向量,其他层的子域表征称之为子域表征,意思相近,表述不同。
以下将结合附图对本发明的实施例做详细说明。本实施例在本发明技术方案和算法的前提下进行实施,并给出模型介绍、详细实施方式和具体操作过程,但是适用的内容不限于下述实例。
如附图1所示,本发明的模型是一个基于深度学习的因子模型。输入数据经过嵌入层得到域嵌入向量,划分后的子域嵌入向量经过显式交互层进行域间显式交互得到中间张量,在经过卷积层进行特征提取,每层特征提取后的隐表征在池化后直接传递到全连接层,隐表征接着经过激活和正则操作后到达注意力层,经过数层的特征抽取最后在全连接层进行拼接,把得到的子域特征加权融合输入到归一化函数得到预测结果。
以下通过举例详细说明本发明的运行过程:
假设有一个电影评分数据集,该评分数据集中每条数据记录包含以下9个域:用户id,用户年龄,用户性别,用户职业,待预测的电影id,该电影的类型,三部该用户喜欢的电影id,三部该用户不喜欢的电影id,最近一次用户的评分时间。标签是用户是否对预测的电影感兴趣,0表示不感兴趣,1表示感兴趣。数据集经过独热编码并随机分为训练集和预测集。
本模型的目标是在训练集上进行训练,然后对预测集进行预测,评估预测性能。
模型首先对数据集中所有特征初始化嵌入向量,假设每个特征的嵌入向量维度为D,然后原始独热数据经过嵌入层得到域嵌入向量,维度为9*D。接着划分子域,再此假设划分为3个子域,每个子域包含3个域,则每个子域维度为3*D。
对嵌入向量进行线性变换得到基向量,维度为9*9,基向量同样进行划分得到三个3*9的子基向量,然后在显式交互层,每个子域和一个子基向量计算哈达玛积,得到中间张量,维度为3*(D*9)。卷积层初始化3个不同的卷积核变量,对三个子域进行特征提取,得到新的子域表征向量,维度为3*L1,L1代表当前层卷积核的输出通道,即把D*9为映射或者压缩为L1维。
对子域表征向量进行池化,一般取其中L1/2维直接传递到全连接层,然后子域表征经过激活和正则操作,维度保持3*L1,在注意力层,每个子域利用余弦相似度和初始化的域嵌入向量计算一个注意力矩阵,维度为3*9,每行代表一个域和其他九个域的相关程度。利用该注意力矩阵对子域表征进行加权求和,维度保持不变为3*L1。
在经过若干层迭代后,每个子域的特征传递到全连接层并横向加权拼接,输出维度缩减至1*1,在经过softmax归一化操作得到一个概率值,概率值表示该用户对待预测电影感兴趣的概率。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
Claims (6)
1.一种可解释的基于域间显式交互的神经因子的推荐系统,其特征在于,包括:
模块M1:电影评分数据集经过嵌入层得到域嵌入向量,域嵌入向量经过线性变化得到基向量,对域嵌入向量和基向量进行划分得到预设数量的子嵌入向量和子基向量;
模块M2:对每个子嵌入向量和子基向量进行显式交互得到子域的中间交互张量,利用不共享的一维卷积变量分别对子域的中间交互张量进行特征提取,得到新的子域表征向量;新的子域表征向量经过正则层和注意力层得到加权的子域嵌入向量;
模块M3:每个加权的子域嵌入向量在输出层进行特征融合,最后经过归一化函数得到用户对待预测电影感兴趣的概率;
所述电影评分数据集中每条数据记录包括:用户id,用户年龄,用户性别,用户职业,待预测的电影id,该电影的类型,三部该用户喜欢的电影id,三部该用户不喜欢的电影id,最后一次用户的评分时间;
所述模块M2包括:
模块M2.1:子基向量的列数通过相邻列进行拼接缩减至子域的行数,使得能够分别在不同的映射空间中进行显式交互;
模块M2.2:每个子域嵌入向量分别和对应的子基向量进行显式交互,子域嵌入向量的行和子基向量对应的列求二维向量哈达玛积,将哈达玛积伸展为一维向量,得到子域的中间交互张量;
模块M2.3:为每个子域嵌入向量初始化预设数量个一维卷积变量,一维卷积变量之间不共享参数,一维卷积变量的数量等于子域的数量,并且一维卷积变量与子域一一对应;
模块M2.4:每个子域的中间交互张量经由对应的一维卷积变量进行特征提取,得到新的子域表征向量,新的子域表征向量的行数保持不变;
模块M2.5:得到新的子域表征向量后,如果神经网络的下一层不是输出层,则把当前层的新的子域表征向量一半的列维度直接传递到输出层,并且对完整的当前层的每个新的子域表征向量进行Dropout正则化操作;
模块M2.6:把经过Dropout正则化操作后的子域表征向量传递到注意力层,采用自注意力机制,每个子域分别从整体计算得到注意力矩阵;利用得到的注意力矩阵对当前的子域表征向量进行加权求和,得到加权的子域表征向量;将加权的子域表征向量输入到神经网络的下一层;如果神经网络下一层是堆叠成,则对加权的子域表征向量重复模块M2.1至模块M2.6,直至得到的子域表征向量输入到神经网络下一层是输出层;
所述子基向量的列包含所有域的信息;
所述子域嵌入向量的行代表一个域的表征信息;
所述哈达玛积为一个二维向量,包含当前域和除当前域之外域的交互信息;
所述子域包括数据集中对应的子特征类别;
所述模块M2.6包括:
模块M2.6.1:注意力层接受两个输入,两个输入分别为当前层的子域表征向量和初始时的域嵌入向量,对注意力层的两个输入进行线性变换;
模块M2.6.2:经过线性变换后的两个输入利用余弦相似度求得一个余弦相似度矩阵,归一化余弦相似度矩阵得到注意力矩阵;
模块M2.6.3:利用注意力矩阵对输入的子域表征向量进行加权求和,得到加权的子域表征向量;
模块M2.6.4:加权的子域表征向量再和输入的子域表征向量进行加权求和得到最终的加权子域表征向量。
2.根据权利要求1所述的一种可解释的基于域间显式交互的神经因子的推荐系统,其特征在于,所述模块M1包括:
模块M1.1:初始化特征嵌入向量,通过输入层输入电影评分数据集经过嵌入层检索到对应的特征嵌入向量,通过包括线性相加和/或非线性相乘合并同一域的特征得到域嵌入向量;
模块M1.2:利用线性变换对域嵌入向量的特征维度进行伸缩变换得到基向量,变换后的基向量的特征维度等于域的数量或者倍数;域嵌入向量和基向量的行数对应域的数量,列数对应域的隐表征维度;
模块M1.3:把基向量按列特征维度划分预设数量子基向量;
模块M1.4:把域嵌入向量划分为预设数量的子域嵌入向量,子基向量的数量等于子域嵌入向量的数量,并且子基向量和子域嵌入向量一一对应;子域嵌入向量的行数等于对应子基向量的列数;
所述域包括为电影评分数据集的特征类别;
所述基向量的特征维度与电影评分数据集的域数量相关,为了便于显式交互,基向量的特征维度等于域数量的倍数。
3.根据权利要求1所述的一种可解释的基于域间显式交互的神经因子的推荐系统,其特征在于,所述模块M3包括:当加权的子域表征向量传递到输出层后,把加权的子域表征向量进行横向拼接,经过全连接操作得到融合的特征值,特征值利用归一化函数得到最终的预测结果。
4.一种可解释的基于域间显式交互的神经因子的推荐方法,其特征在于,包括:
步骤M1:电影评分数据集经过嵌入层得到域嵌入向量,域嵌入向量经过线性变化得到基向量,对域嵌入向量和基向量进行划分得到预设数量的子嵌入向量和子基向量;
步骤M2:对每个子嵌入向量和子基向量进行显式交互得到子域的中间交互张量,利用不共享的一维卷积变量分别对子域的中间交互张量进行特征提取,得到新的子域表征向量;新的子域表征向量经过正则层和注意力层得到加权的子域嵌入向量;
步骤M3:每个加权的子域嵌入向量在输出层进行特征融合,最后经过归一化函数得到用户对待预测电影感兴趣的概率;
所述电影评分数据集中每条数据记录包括:用户id,用户年龄,用户性别,用户职业,待预测的电影id,该电影的类型,三部该用户喜欢的电影id,三部该用户不喜欢的电影id,最后一次用户的评分时间;
所述步骤M2包括:
步骤M2.1:子基向量的列数通过相邻列进行拼接缩减至子域的行数,使得能够分别在不同的映射空间中进行显式交互;
步骤M2.2:每个子域嵌入向量分别和对应的子基向量进行显式交互,子域嵌入向量的行和子基向量对应的列求二维向量哈达玛积,将哈达玛积伸展为一维向量,得到子域的中间交互张量;
步骤M2.3:为每个子域嵌入向量初始化预设数量个一维卷积变量,一维卷积变量之间不共享参数,一维卷积变量的数量等于子域的数量,并且一维卷积变量与子域一一对应;
步骤M2.4:每个子域的中间交互张量经由对应的一维卷积变量进行特征提取,得到新的子域表征向量,新的子域表征向量的行数保持不变;
步骤M2.5:得到新的子域表征向量后,如果神经网络的下一层不是输出层,则把当前层的新的子域表征向量一半的列维度直接传递到输出层,并且对完整的当前层的每个新的子域表征向量进行Dropout正则化操作;
步骤M2.6:把经过Dropout正则化操作后的子域表征向量传递到注意力层,采用自注意力机制,每个子域分别从整体计算得到注意力矩阵;利用得到的注意力矩阵对当前的子域表征向量进行加权求和,得到加权的子域表征向量;将加权的子域表征向量输入到神经网络的下一层;如果神经网络下一层是堆叠成,则对加权的子域表征向量重复步骤M2.1至步骤M2.6,直至得到的子域表征向量输入到神经网络下一层是输出层;
所述子基向量的列包含所有域的信息;
所述子域嵌入向量的行代表一个域的表征信息;
所述哈达玛积为一个二维向量,包含当前域和除当前域之外域的交互信息;
所述子域包括数据集中对应的子特征类别;
所述步骤M2.6包括:
步骤M2.6.1:注意力层接受两个输入,两个输入分别为当前层的子域表征向量和初始时的域嵌入向量,对注意力层的两个输入进行线性变换;
步骤M2.6.2:经过线性变换后的两个输入利用余弦相似度求得一个余弦相似度矩阵,归一化余弦相似度矩阵得到注意力矩阵;
步骤M2.6.3:利用注意力矩阵对输入的子域表征向量进行加权求和,得到加权的子域表征向量;
步骤M2.6.4:加权的子域表征向量再和输入的子域表征向量进行加权求和得到最终的加权子域表征向量。
5.根据权利要求4所述的一种可解释的基于域间显式交互的神经因子的推荐方法,其特征在于,所述步骤M1包括:
步骤M1.1:初始化特征嵌入向量,通过输入层输入电影评分数据集经过嵌入层检索到对应的特征嵌入向量,通过包括线性相加和/或非线性相乘合并同一域的特征得到域嵌入向量;
步骤M1.2:利用线性变换对域嵌入向量的特征维度进行伸缩变换得到基向量,变换后的基向量的特征维度等于域的数量或者倍数;域嵌入向量和基向量的行数对应域的数量,列数对应域的隐表征维度;
步骤M1.3:把基向量按列特征维度划分预设数量子基向量;
步骤M1.4:把域嵌入向量划分为预设数量的子域嵌入向量,子基向量的数量等于子域嵌入向量的数量,并且子基向量和子域嵌入向量一一对应;子域嵌入向量的行数等于对应子基向量的列数;
所述域包括为电影评分数据集的特征类别;
所述基向量的特征维度与电影评分数据集的域数量相关,为了便于显式交互,基向量的特征维度等于域数量的倍数。
6.根据权利要求4所述的一种可解释的基于域间显式交互的神经因子的推荐方法,其特征在于,所述步骤M3包括:当加权的子域表征向量传递到输出层后,把加权的子域表征向量进行横向拼接,经过全连接操作得到融合的特征值,特征值利用归一化函数得到最终的预测结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911396812.1A CN111177557B (zh) | 2019-12-30 | 2019-12-30 | 一种可解释的基于域间显式交互的神经因子的推荐系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911396812.1A CN111177557B (zh) | 2019-12-30 | 2019-12-30 | 一种可解释的基于域间显式交互的神经因子的推荐系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111177557A CN111177557A (zh) | 2020-05-19 |
CN111177557B true CN111177557B (zh) | 2023-09-29 |
Family
ID=70654301
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911396812.1A Active CN111177557B (zh) | 2019-12-30 | 2019-12-30 | 一种可解释的基于域间显式交互的神经因子的推荐系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111177557B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109800853A (zh) * | 2018-11-30 | 2019-05-24 | 华南师范大学 | 融合卷积神经网络和显式反馈的矩阵分解方法、装置及电子设备 |
CN110196946A (zh) * | 2019-05-29 | 2019-09-03 | 华南理工大学 | 一种基于深度学习的个性化推荐方法 |
CN110263265A (zh) * | 2019-04-10 | 2019-09-20 | 腾讯科技(深圳)有限公司 | 用户标签生成方法、装置、存储介质和计算机设备 |
CN110609948A (zh) * | 2019-04-03 | 2019-12-24 | 华南理工大学 | 一种基于多层次注意力机制和场感知分解机的推荐方法 |
-
2019
- 2019-12-30 CN CN201911396812.1A patent/CN111177557B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109800853A (zh) * | 2018-11-30 | 2019-05-24 | 华南师范大学 | 融合卷积神经网络和显式反馈的矩阵分解方法、装置及电子设备 |
CN110609948A (zh) * | 2019-04-03 | 2019-12-24 | 华南理工大学 | 一种基于多层次注意力机制和场感知分解机的推荐方法 |
CN110263265A (zh) * | 2019-04-10 | 2019-09-20 | 腾讯科技(深圳)有限公司 | 用户标签生成方法、装置、存储介质和计算机设备 |
CN110196946A (zh) * | 2019-05-29 | 2019-09-03 | 华南理工大学 | 一种基于深度学习的个性化推荐方法 |
Non-Patent Citations (4)
Title |
---|
Attentional Factorization Machine:Learning the Weight of Feature Interactions via Attention Networks;Xiao J, Ye H, He XN, et al;《arXiv》;全文 * |
FAT-DeepFFM:Field Attentive Deep Field-aware Factorization Machine;Zhang JL, Huang TW and Zhang ZQ;《arXiv》;全文 * |
基于多样化内容数据的个性化推荐系统;练建勋;《中国博士学位论文全文库 信息科技辑》;全文 * |
社交网络中融合社交关系和语义信息的推荐算法;刘慧婷,杨良全,凌超等;《模式识别与人工智能》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111177557A (zh) | 2020-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111241311B (zh) | 媒体信息推荐方法、装置、电子设备及存储介质 | |
Hersche et al. | A neuro-vector-symbolic architecture for solving Raven’s progressive matrices | |
CN111291266A (zh) | 基于人工智能的推荐方法、装置、电子设备及存储介质 | |
CN111046275B (zh) | 基于人工智能的用户标签确定方法及装置、存储介质 | |
CN111475730A (zh) | 基于人工智能的信息推荐方法、装置、电子设备 | |
CN113139628B (zh) | 样本图像的识别方法、装置、设备及可读存储介质 | |
US20150227849A1 (en) | Method and System for Invariant Pattern Recognition | |
CN112418292B (zh) | 一种图像质量评价的方法、装置、计算机设备及存储介质 | |
CN112395487B (zh) | 信息推荐方法、装置、计算机可读存储介质及电子设备 | |
US9536206B2 (en) | Method and apparatus for improving resilience in customized program learning network computational environments | |
CN111723914A (zh) | 一种基于卷积核预测的神经网络架构搜索方法 | |
CN112560966B (zh) | 基于散射图卷积网络的极化sar图像分类方法、介质及设备 | |
US20140006403A1 (en) | Method and apparatus for selecting clusterings to classify a data set | |
CN114417058A (zh) | 一种视频素材的筛选方法、装置、计算机设备和存储介质 | |
CN112819024A (zh) | 模型处理方法、用户数据处理方法及装置、计算机设备 | |
CN112988851B (zh) | 反事实预测模型数据处理方法、装置、设备及存储介质 | |
Trask et al. | Probabilistic partition of unity networks: clustering based deep approximation | |
US20180082194A1 (en) | Collective matrix factorization for multi-relational learning | |
Huang et al. | Harnessing deep learning for population genetic inference | |
Zhang et al. | Efficient history matching with dimensionality reduction methods for reservoir simulations | |
Zhu et al. | Dual-decoder transformer network for answer grounding in visual question answering | |
Uzun et al. | Deep learning based classification of time series of chaotic systems over graphic images | |
CN117036006A (zh) | 用户画像的生成方法及装置、存储介质、电子设备 | |
CN111177557B (zh) | 一种可解释的基于域间显式交互的神经因子的推荐系统及方法 | |
CN116975686A (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 |