一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于知识图谱的在线课推荐方法及系统

2022-07-10 09:39:34 来源:中国专利 TAG:

括:
7.根据用户的历史学习记录和课程相关的特征,提取实体和关系;
8.将提取的实体和关系进行编号,将实体e从0开始编号到n,将关系r也从0开始 编号;
9.通过关系r关联头实体eh和尾实体e
t
,将编号构成三元组《eh,r,e
t
》。
10.进一步,所述将所述知识图谱中的三元组输入到表示学习模型中进行特征学习, 得出实体和关系向量,包括:
11.基于负采样方法训练所述学习模型,对于正例三元组《eh,r,e
t
》通过更换头尾结 点得到负例三元组《eh′
,r,e
t

》;
12.初始化所述学习模型的参数,包括映射矩阵和节点关系表示向量;
13.基于正例三元组和负例三元组的学习,最大化负例三元组头尾节点的距离,最小 化正例三元组头尾节点的距离,根据损失函优化模型,不断更新参数,直到损失函数 停止下降,学习模型收敛,学习模型输出实体和关系的表示向量。
14.进一步,所述使用深度学习模型transformer encoder部分学习加入时间信息的历史 记录,训练用户画像,包括:
15.统计用户历史记录的最大长度、最小长度和平均长度,选择固定长度作为maxlen 为基准分割历史学习记录,若用户历史记录不足maxlen则补0,并加上正无穷数;
16.对用户历史序列进行顺序和时间编码,使课程表示向量中包含知识图谱的信息和 用户行为信息;
17.使用多头注意力机制对历史序列训练权重,将维度d拆分成为h份,每一份的维度 为d/h,每一份向量包含了不同的信息;
18.多头注意力层的输出送到归一化和残差连接层进行处理,特征包含残差连接和归 一化,相当于在输出向量中加入输入向量;
19.输出进入前馈神经网络feed forward neural network层经过两层激活函数做全连 接维度变换;
20.前馈神经网络的输出再次输入残差连接与归一化;
21.用户历史序列经过transformer的学习后,输出经过学习后的课程向量序列,将表 示向量相加作为用户画像的向量表示。
22.进一步,所述对用户历史序列进行顺序和时间编码,包括:
23.对每位用户,每一条记录进行编号,按照课程学习顺序编码为k=[0,1,2...,n],序号 i代表用户加入平台后学习的第i门课;
[0024]
使用注册课程时间间隔进一步捕捉用户行为包含的信息,计算每一门注册时间ti与注册第一门课程t0的时间间隔δt
0i

[0025]
对时间间隔δt
0i
做minmax标准化,将δt
0i
缩放到0-k
max
之间,k
max
代表用户历 史记录的长度,缩放后的时间间隔表示为t(vk);
[0026]
将位置信息和时间信息加和,得到最终编码顺序信息tpos(vk)=k t(vk);
[0027]
使用sin和cos周期函数,扩展tpos(vk)维度与课程向量表示的维度相同;
[0028]
将tpos(vk)输入到对应课程的向量表示中,使课程表示向量中包含知识图谱的信 息和用户行为信息。
[0029]
进一步,所述将用户画像与目标课程向量拼接,获得维度扩展的新向量,输入到 dnn网络,训练学习模型,包括:
[0030]
经过dnn网络做全连接变换,使用梯度下降方法迭代更新权重,利用若干个权 重系数矩阵w,偏倚向量b来和输入值向量x进行线性运算和激活运算,从输入层开始, 一层层的向后计算,一直到运算到输出层,得到输出结果值,dnn输出的数据范围设 置为0-1,表示预测推荐分数;
[0031]
将用户集合划分为训练集和测试集,将训练集输入到学习模型中学习,直到学习 模型收敛。
[0032]
进一步,所述根据训练后的所述学习模型输出的点击概率,为用户生成推荐列表, 包括:
[0033]
采用测试数据的用户集输入训练好的学习模型中,课程候选集合为除输入模型学 习外的全部课程,以模拟真实场景;
[0034]
在候选集中的每一个候选物品,都和用户历史记录组合进行学习模型学习,输出 点击概率;
[0035]
对所有物品的点击概率值从高到低进行排序,选择排序后的前k个物品作为推荐 结果,输出物品的id编号;
[0036]
重复上述过程,直到输出所有用户的推荐列表。
[0037]
一种基于知识图谱的在线课推荐系统,其包括:提取模块,根据在线课程的信息 和特征,提取实体构建在线课程知识图谱;特征学习模块,将所述知识图谱中的三元 组输入到表示学习模型中进行特征学习,得出实体和关系向量;数据获取模块,提取 用户的历史修读记录,并与课程库相对应,获得用户课程-序列数据;处理模块,对每 个用户,使用深度学习模型transformer encoder部分学习加入时间信息的历史记录, 训练用户画像,以刻画用户的喜好;训练模块,将用户画像与目标课程向量拼接,获 得维度扩展的新向量,输入到dnn网络,训练学习模型;推荐列表生成模块,根据 训练后的所述学习模型输出的点击概率,为用户生成推荐列表。
[0038]
一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令, 所述指令当由计算设备执行时,使得所述计算设备执行上述方法中的任一方法。
[0039]
一种计算设备,其包括:一个或多个处理器、存储器及一个或多个程序,其中一 个或多个程序存储在所述存储器中并被配置为所述一个或多个处理器执行,所述一个 或多个程序包括用于执行上述方法中的任一方法的指令。
[0040]
本发明由于采取以上技术方案,其具有以下优点:
[0041]
1、本发明可以通过对用户历史记录的学习,在课程库中自动搜索与用户兴趣匹配 的课程,自动推荐给用户,实现了个性化推荐,提高用户的使用体验。并捕捉用户短 期和长期兴趣的演变,提升用户黏性。
[0042]
2、本发明引入知识图谱,将课程知识整合到序列推荐中,以捕捉课程之间潜在知 识连接,通过构建包含课程丰富元信息的知识图,考虑课程的丰富语义和高阶连通性, 利用知识图的嵌入来表示课程,提升了模型的推荐效果。
[0043]
3、本发明引入了transformer来提取用户序列学习行为背后的学习兴趣和用户画 像,transformer模块中的多头自注意机制可以自动捕获序列内课程之间的依赖关系。
[0044]
4、本发明通过对课程学习序列中第一门课程的注册时间与每门课程的注册时间之 间的时间间隔进行编码,捕捉了依赖于时间的短期和长期学习兴趣演变。例如,在在 线学习平台上,用户往往会在短时间内注册多种多样的课程,长期来看,完成基础课 程后,会发生兴趣的进阶演变。此创新提升了推荐效果。
附图说明
[0045]
图1是本发明一实施例中的在线课程推荐方法整体流程示意图;
[0046]
图2是本发明一实施例中的知识图谱实例;
[0047]
图3是本发明一实施例中的知识图谱表示学习流程图;
[0048]
图4是本发明一实施例中的用户画像及概率预测流程图;
[0049]
图5是本发明一实施例中的计算设备结构示意图。
具体实施方式
[0050]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例 的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例 是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本 领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
[0051]
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根 据本技术的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单 数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含
”ꢀ
和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
[0052]
本发明提供一种基于知识图谱和深度学习的在线课程推荐方法及系统,本发明根 据在线课程的特征构建在线课程知识图谱,利用在线课程知识图谱中概念实体间的关 系连接增强学习课程实体的向量表示,并结合深度学习模型transformer来通过用户历 史记录学习用户画像。本发明采用的加入时间感知的transformer模型能够根据用户行 为的时间间隔来描述用户的长短期兴趣,能表示兴趣的多样性和延展性。在课程库中 查找与当前用户匹配的课程结合输入到dnn网络中输出点击概率,从而推荐最匹配 的前n个课程。而无需用户自己在海量内容中挑选所需的学习内容,不仅节省时间, 而且可提高用户的使用体验。
[0053]
在本发明的一个实施例中,提供一种基于知识图谱的在线课推荐方法,本实施例 以该方法应用于终端进行举例说明,可以理解的是,该方法也可以应用于服务器,还 可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。本实施例中, 如图1所示,该方法包括以下步骤:
[0054]
1)根据在线课程的信息和特征,提取实体构建在线课程知识图谱;其中,实体包 括老师、学校、概念和领域等;
[0055]
2)将知识图谱中的三元组输入到表示学习模型中进行特征学习,得出实体和关系 向量;
[0056]
3)提取用户的历史修读记录,并与课程库相对应,获得用户课程-序列数据;
[0057]
4)对每个用户,使用深度学习模型transformer encoder部分学习加入时间信息
最小化正例三元组头尾节点的距离,根据损失函优化模型,不断更新参数,直到损失 函数停止下降,学习模型收敛,学习模型输出实体和关系的表示向量。
[0079]
其中,损失函数l(h,r,t)为:
[0080]
l(h,r,t)=max(0,d
pos-d
neg
margin)
[0081]
式中,h表示头实体嵌入,t表示尾实体嵌入,d
pos
表示正例三元组的得分,d
neg
表 示负例三元组的得分,margin表示正负例样本分数差的阈值。
[0082]
通过损失函数为l(h,r,t)最大化正例负例的距离。其中d的计算如下:
[0083]
d=||h r-t||
[0084]
训练过程损失函数不断减小,直到模型收敛。
[0085]
上述步骤4)中,在transformer中,融入了一种时间感知位置编码模块,不仅可 以捕获顺序,还可以捕获课程学习序列中课程的注册时间。根据用户的历史记录,结 合知识图谱表示学习后生成的课程向量,每一个用户都会得到序列化的历史课程向量 表示。首先为课程的位置顺序进行标号,然后将课程的加入时间间隔进行编码,标准 化后与位置编码相加。将含有位置和时间信息的课程输入到transformer encoder模型 中。模型特征包括:multihead attention、position wise forward network。
[0086]
在本实施例中,使用深度学习模型transformer encoder部分学习加入时间信息的历 史记录,训练用户画像,如图4所示,包括以下步骤:
[0087]
4.1)统计用户历史记录的最大长度、最小长度和平均长度,选择固定长度作为 maxlen(表示划分训练数据中的设定用户历史记录最大长度)为基准分割历史学习记 录,若用户历史记录不足maxlen则补0;在本实施例中,对此部分数据做遮盖操作,赋 予该位置正无穷的数,在后续计算中将此位置忽略,不影响模型训练。
[0088]
使用函数l(y,y

)=max(0,margin-y y

)计算距离表示得分,y是正样本的得 分,y

是负样本的得分。
[0089]
对每一个用户构建其历史记录集合s,在s中选取前n个作为模型训练的输入, 记为maxlen,将后m个物品集用于验证模型效果。
[0090]
对于用户的每一个历史记录,从知识图谱学习后的向量集合中选取物品i的语义 向量,构成向量序列输入。
[0091]
从知识图谱课程向量集合中,排除用户输入模型训练的课程集,剩余全部作为测 试集。
[0092]
4.2)transformer模型并不具有顺序特征,因此对用户历史序列进行顺序和时间编 码,使课程表示向量中包含知识图谱的信息和用户行为信息;
[0093]
4.3)使用多头注意力机制对历史序列训练权重,将维度d拆分成为h份,每一份的 维度为d/h,每一份向量包含了不同的信息;
[0094]
在本实施例中,通过多个注意力机制同时训练,每一个注意力机制输出赋予权重 的向量表示hi,将多头的结果拼接得到整个注意力层的最终结果。
[0095]
4.3.1)注意力机制attention是点积运算模式:
[0096][0097]
其中,q,k,v是模型输入乘以不同的矩阵变换得到的,q表示查询,k表示键,v表 示
表示的维度相同;
[0120]
其中,使用sin和cos周期函数将其扩展到与向量相同的维度n,如下计算每个维 的值pk(i):
[0121][0122]
4.2.6)将tpos(vk)输入到对应课程的向量表示中,使课程表示向量中包含知识图 谱的信息和用户行为信息;
[0123]
其中,transformer encoder层是由多头注意力机制(multi-head self-attention layer), 前馈网络(position-wise feed-forward layer)和归一和连接(add and norm)组合而成的。
[0124]
上述步骤5)中,将用户画像与目标课程向量拼接,获得维度扩展的新向量,输入 到dnn网络,训练学习模型,具体为:
[0125]
经过dnn网络做全连接变换,使用梯度下降方法迭代更新权重,利用若干个权 重系数矩阵w,偏倚向量b来和输入值向量x进行线性运算和激活运算,从输入层开始, 一层层的向后计算,一直到运算到输出层,得到输出结果值,dnn输出的数据范围设 置为0-1,表示预测推荐分数;
[0126]
将用户集合划分为训练集和测试集,将训练集输入到学习模型中学习,直到学习 模型收敛。
[0127]
dnn网络是向前传播神经网络,具有许多隐藏层的神经网络。dnn内部的神经 网络层可分为三种类型:第一层是输入层,最后一层是输出层,中间层是隐藏层。它 每一层完全连接,第i层的任意一个神经元一定与第i 1层的任意一个神经元相连。 层与层的关系使用激活函数和线性关系连接,为z=σ(∑wixi b)。其中σ为激活函 数,w为线性关系系数,b为偏差。
[0128]
具体包括以下步骤:
[0129]
5.1)初始化参数,第l-1层的第k个神经元到第1层的第j个神经元的线性系数 定义为偏倚值b的定义为第n层的第i个神经元的b定义为利用上一层的输 出计算下一层的输出,第1层第j个神经元的输出
[0130][0131]
5.2)使用随机梯度下降算法迭代更新权重,通过每个样本来迭代更新一次,公式 如下:
[0132]
[0133][0134]
式中,j(θ)表示损失函数值,m表示样本量,h
θ
(xi)表示模型预测值,yi表示实际 值,θ表示参数;
[0135]
利用每个样本的损失函数对求偏导得到对应的梯度,来更新:
[0136][0137]
其中,θj表示更新后的参数,表示样本的输入向量;
[0138]
5.3)当损失函数不再下降,模型收敛,则输出预测推荐分数,数据范围设置为0-1。
[0139]
上述步骤6)中,根据训练后的学习模型输出的点击概率,为用户生成推荐列表, 包括以下步骤:
[0140]
6.1)采用测试数据的用户集输入训练好的学习模型中,课程候选集合为除输入模 型学习外的全部课程,以模拟真实场景;
[0141]
6.2)在候选集中的每一个候选物品,都和用户历史记录组合进行学习模型学习, 输出点击概率;
[0142]
6.3)对所有物品的点击概率值从高到低进行排序,选择排序后的前k个物品作为 推荐结果,输出物品的id编号;
[0143]
6.4)重复上述步骤,直到输出所有用户的推荐列表。
[0144]
在本发明的一个实施例中,提供一种基于知识图谱的在线课推荐系统,其包括:
[0145]
提取模块,根据在线课程的信息和特征,提取实体构建在线课程知识图谱;
[0146]
特征学习模块,将知识图谱中的三元组输入到表示学习模型中进行特征学习,得 出实体和关系向量;
[0147]
数据获取模块,提取用户的历史修读记录,并与课程库相对应,获得用户课程
‑ꢀ
序列数据;
[0148]
处理模块,对每个用户,使用深度学习模型transformer encoder部分学习加入时 间信息的历史记录,训练用户画像,以刻画用户的喜好;
[0149]
训练模块,将用户画像与目标课程向量拼接,获得维度扩展的新向量,输入到dnn 网络,训练学习模型;
[0150]
推荐列表生成模块,根据训练后的学习模型输出的点击概率,为用户生成推荐列 表。
[0151]
本实施例提供的系统是用于执行上述各方法实施例的,具体流程和详细内容请参 照上述实施例,此处不再赘述。
[0152]
如图5所示,为本发明一实施例中提供的计算设备结构示意图,该计算设备可以 是终端,其可以包括:处理器(processor)、通信接口(communications interface)、存储 器(memory)、显示屏和输入装置。其中,处理器、通信接口、存储器通过通信总线完 成相互间的通信。该处理器用于提供计算和控制能力。该存储器包括非易失性存储介 质、内存储器,该非易失性存储介质存储有操作系统和计算机程序,该计算机程序被 处理器执行时以实现一种在线课程推荐方法;该内存储器为非易失性存储介质中的操 作系统和计算机程序的运行提供环境。该通信接口用于与外部的终端进行有线或无线 方式的通信,无线方式
实施例类似,在此不再赘述。
[0158]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程 图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的 每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供 这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处 理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理 器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多 个方框中指定的功能的装置。
[0159]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定 方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括 指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个 方框或多个方框中指定的功能。
[0160]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计 算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算 机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或 方框图一个方框或多个方框中指定的功能的步骤。
[0161]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽 管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其 依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行 等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技 术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献