基于异构图神经网络的跨模态问题Q矩阵自动构建方法

文档序号:27150183发布日期:2021-10-30 03:15阅读:312来源:国知局
基于异构图神经网络的跨模态问题Q矩阵自动构建方法
基于异构图神经网络的跨模态问题q矩阵自动构建方法
技术领域
1.本发明属于专家系统技术领域,具体涉及一种跨模态问题q矩阵自动构建方法。


背景技术:

2.认知诊断是在线教育系统的重要功能,可以通过学生的答题得分,自动评估学生在相关知识点上的掌握情况,帮助教师更好地分析出学生学习的不足与缺陷,使教师了解到教学的不足之处并加以改进,更好地实现教学与评价相结合,促进学生更有效地成长。q矩阵由问题和知识点的关联关系构成,它是认知诊断模型进行参数估计和结果预测的一个重要依据。
3.现有的q矩阵往往由专家根据问题本身人工构建而成,这需要耗费大量的人工成本,难以在大规模数据集上实现。因此,研究q矩阵的自动构建方法,是认知诊断模型应用于大规模问题数据集的前提和基础。目前已有的q矩阵自动构建方法通常针对仅包含文字描述的单模态问题,它们存在如下缺陷:

不适用于跨模态问题。在图文混合的跨模态问题中,只利用问题中的文本描述往往难以无法全面地找出问题考察的所有知识点,必须结合文本和图片信息,所以这些方法难以直接应用于跨模态问题。

忽视问题与问题之间的联系。相似的问题往往会考察类似的知识点,而考察相同知识点的两个问题之间往往比较相似。

依赖于数据量。不少方法在构建q矩阵时基于学生的作答成绩,当学生的作答成绩数据较少时,现有的许多方法会失去其准确性。


技术实现要素:

4.为了克服现有技术的不足,本发明提供了一种基于异构图神经网络的跨模态问题q矩阵自动构建方法,构建了一个同时包含跨模态问题和知识点的异构图,根据相似度建立问题之间与知识点之间的连接,并提出了一个用于学习此异构图节点表示的异构图神经网络,对异构图中的节点特征表示和问题节点和知识点节点间的链接预测进行学习,找出问题和知识点之间的对应关系,以此达到q矩阵自动构建的目的。本发明通过图神经网络中的链接预测在异构图中直接寻找问题与知识点的关联,减少了计算机的运算负担。此外,将问题间的相似度信息引入到知识点的预测过程中,增加问题节点之间的联系,以此提高后续知识点预测的准确性。
5.本发明解决其技术问题所采用的技术方案包括如下步骤:
6.步骤1:构建异构图;
7.步骤1

1:设置节点;
8.将每个跨模态问题分别对应一个跨模态问题节点,将每个知识点分别对应一个知识点节点,得到两种节点,它们分别为总数为n的跨模态问题节点和总数为m的知识点节点;
9.步骤1

2:构建问题

问题边;
10.使用bert和感知哈希算法分别计算跨模态问题间的文本相似度和图片相似度,将文本相似度大于y1,且图片相似度大于y2的跨模态问题对应的节点连接起来,得到问题


题边;
11.步骤1

3:构建问题

知识点边;
12.根据数据集中对跨模态问题所考察知识点的标注信息判断跨模态问题是否考察了知识点,如果已考察,则将跨模态问题对应的节点与被考察的知识点所对应的节点连接起来,得到问题

知识点边;
13.步骤1

4:构建知识点

知识点边;
14.使用bert计算得出知识点间的文本相似度,将文本相似度大于y1的知识点对应的节点连接起来,得到知识点

知识点边;
15.步骤2:构建基于异构图神经网络的q矩阵;
16.步骤2

1:构建基于不同类型邻居的节点特征;
17.在步骤2得到的异构图中,通过对节点的邻居特征进行综合,得到特征矩阵z1;
18.步骤2

2:构建基于元路径的节点特征;
19.以z1为输入,通过对异构图中的问题

知识点

问题元路径和知识点

问题

知识点元路径的特征进行综合,得到节点嵌入z2;
20.步骤2

3:构建基于环的节点特征;
21.以z2为输入,通过对异构图中的环结构的特征进行综合,得到最终的节点嵌入z;
22.步骤2

4:基于节点特征的链接预测;
23.使用节点特征向量的点积作为边的得分,计算过程如下:
24.score=h
u
·
h
v
25.其中score表示边的得分,h
u
、h
v
分别表示边连接的两个节点的特征向量;
26.使用间隔损失作为损失函数,其计算过程如下:
27.loss=mean(1

score
pos
+score
neg
)
28.其中score
pos
表示测试集中的边的得分,score
neg
表示不存在的边的得分;边的得分与两个节点之间存在边的概率成正比,得分越高,两个节点之间存在边的概率越大;当跨模态问题节点和知识点节点之间存在边时,则判定该跨模态问题考察了该知识点;
29.进一步地,所述文本相似度的计算方法如下:
30.步骤1
‑2‑
1:使用bert为每个文本生成向量表示;
31.步骤1
‑2‑
2:使用余弦相似度计算每个分组中的两个文本间的相似度,具体方法如下:
[0032][0033]
其中x,y表示两个不同的文本,分别表示x和y的向量表示,‖x‖,‖y‖分别表示的模长;最终得到的相似度值在0和1之间,得到的结果越接近1,说明它们的相似度越高;
[0034]
步骤1
‑2‑
3:筛选并保留文本相似度大于y1的分组,若该分组是知识点,则将它们对应的知识点节点连接,得到知识点

知识点边;若该分组是跨模态问题,则将其列入文本相似的跨模态问题列表中,等待下一步处理;
[0035]
步骤1
‑2‑
4:得到m个知识点两两之间,共个分组的文本相似度;以及n个跨模态问题两两之间,共个分组的文本相似度。
[0036]
进一步地,所述图片相似度的计算方法如下:
[0037]
假设在n个跨模态问题中,有s个跨模态问题在文本相似的跨模态问题列表中,将s个跨模态问题两两配对,得到共个分组;将两个跨模态问题中包含的图片两两组合,然后用感知哈希算法计算得出图片间的相似度,再通过贪心算法得到两个跨模态问题间的图片相似度;
[0038]
使用贪心算法获得问题间的图片相似度的具体步骤如下:
[0039]
步骤1
‑2‑
5:根据两个问题间的图片相似度,得到两个问题对应的图片相似度矩阵;假设这两个问题分别有m、n张图片,则相似度矩阵如下所示:
[0040][0041]
其中i
1,1
表示第1个问题的第1张图片,以此类推,i
2,n
表示第2个问题的第n张图片,sim(i
1,1
,i
2,1
)表示i
1,1
和i
2,1
的相似度,以此类推,sim(i
1,m
,i
2,n
)表示i
1,m
和i
2,n
的相似度;
[0042]
步骤1
‑2‑
6:挑选出相似度矩阵中相似度最高的值,记录下来,删除该相似度最高值对应的行和列:
[0043]
步骤1
‑2‑
7:重复步骤1
‑2‑
6,直至矩阵为空,得到min(m,n)个相似度值;
[0044]
步骤1
‑2‑
8:对记录下的min(m,n)个相似度值取平均,作为跨模态问题间的图片相似度;
[0045]
得到这些文本相似的跨模态问题间图片相似度后,保留图片相似度值大于y2的跨模态问题分组,将它们对应的跨模态问题节点连接,得到问题

问题边。
[0046]
进一步地,所述步骤2

1对节点的邻居特征进行综合,得到特征矩阵z1,具体如下:
[0047]
定义相同类型的节点为同质节点,如问题节点q1和问题节点q2;定义不同类型的节点为异质节点,如问题节点q1和知识点节点k1;
[0048]
使用gcn分别聚合同质节点的特征,再将异质节点通过注意力的方式聚合,得到新的节点特征ε
v
;具体公式如下:
[0049]
ε
v
=α
v
h
v

q
h
q

k
h
k
[0050]
其中,h
q
表示问题节点类型的邻居经过聚合后的表示,h
k
表示所有知识点节点类型的邻居经过聚合后的表示,h
v
表示输入的节点特征;α
*
为不同节点表示的重要性,其计算方法如下:
[0051][0052]
其中u是可学习的注意参数,d表示输入的特征向量的长度,将所有节点的节点表示构成特征矩阵z1。
[0053]
进一步地,所述步骤2

2的具体方法如下:
[0054]
当两个同质节点通过一个异质节点间接相连时,即为元路径:问题

知识点

问题和知识点

问题

知识点,它们分别表示考察了同一个知识点的两个问题和同时被一个问题考察的两个知识点;将输入的特征矩阵z1作为图中每个节点的特征,首先使用gcn聚合关于元路径的二跳邻居的特征至关于元路径的一跳邻居,再聚合关于元路径的一跳邻居的特征至节点本身,得到特征矩阵z2。
[0055]
进一步地,所述步骤2

3的具体方法如下:
[0056]
找到异构图中含有异质节点的三角环,将特征矩阵z2作为异构图中每个节点的特征,取三角环中节点特征的平均值作为环的特征;如果某个节点存在于多个这样的环内,则根据类型的不同将环的特征分别取平均值,用h
a
表示包含一个知识点节点和两个问题节点的环的特征,用h
b
表示包含一个问题节点和两个知识点节点的环的特征,h
w
是本层的输入;具体计算方法如下:
[0057]
ε
s
=α
w
h
w

a
h
a

b
h
b
[0058]
其中ε
s
为节点表示,α
*
为不同节点表示的重要性,其计算方法如下:
[0059][0060]
其中p是可学习的注意参数,将所有节点的节点表示构成最终的节点嵌入z。
[0061]
进一步地,所述y1=0.9,y1=0.5。
[0062]
本发明的有益效果如下:
[0063]
在预测跨模态问题对应知识点的过程中,与传统方法相比,本发明从跨模态问题本身入手,构建以问题和知识点为节点的异构图,通过图神经网络中的链接预测在异构图中直接寻找问题与知识点的关联,减少了计算机的运算负担。此外,将问题间的相似度信息引入到知识点的预测过程中,增加问题节点之间的联系,以此提高后续知识点预测的准确性。
附图说明
[0064]
图1为本发明实施例中节点及其两跳内邻居的示意图。
[0065]
图2为本发明实施例中异构图中的环的图示。
[0066]
图3为本发明实施例中五个模型的auc对比图。
[0067]
图4为本发明实施例中五个模型的loss值对比图。
具体实施方式
[0068]
下面结合附图和实施例对本发明进一步说明。
[0069]
针对现有技术的不足以及存在的问题,本发明提出了一种针对图文混合跨模态问题的q矩阵自动构建方法。这种方法不依赖于学生的作答成绩,通过跨模态问题本身发掘它与知识点的关系,并且同时考虑了跨模态问题中的图片信息与文本信息,并加入了对问题间相似度的考虑,使模型对于跨模态问题的q矩阵自动构建具有良好的效果。
[0070]
一种基于异构图神经网络的跨模态问题q矩阵自动构建方法,包括如下步骤:
[0071]
步骤1:构建异构图;
[0072]
步骤1

1:设置节点;
[0073]
将每个跨模态问题分别对应一个跨模态问题节点,将每个知识点分别对应一个知识点节点,得到两种节点,它们分别为总数为n的跨模态问题节点和总数为m的知识点节点;
[0074]
步骤1

2:构建问题

问题边;
[0075]
使用bert和感知哈希算法分别计算跨模态问题间的文本相似度和图片相似度,将文本相似度大于y1,且图片相似度大于y2的跨模态问题对应的节点连接起来,得到问题

问题边;
[0076]
步骤1

3:构建问题

知识点边;
[0077]
根据数据集中对跨模态问题所考察知识点的标注信息判断跨模态问题是否考察了知识点,如果已考察,则将跨模态问题对应的节点与被考察的知识点所对应的的节点连接起来,得到问题

知识点边;
[0078]
步骤1

4:构建知识点

知识点边;
[0079]
使用bert计算得出知识点间的文本相似度,将文本相似度大于y1的知识点对应的节点连接起来,得到知识点

知识点边;
[0080]
步骤2:构建基于异构图神经网络的q矩阵;
[0081]
步骤2

1:构建基于不同类型邻居的节点特征;
[0082]
在步骤2得到的异构图中,通过对节点的邻居特征进行综合,得到特征矩阵z1;
[0083]
步骤2

2:构建基于元路径的节点特征;
[0084]
以z1为输入,通过对异构图中的问题

知识点

问题元路径和知识点

问题

知识点元路径的特征进行综合,得到节点嵌入z2;
[0085]
步骤2

3:构建基于环的节点特征;
[0086]
以z2为输入,通过对异构图中的环结构的特征进行综合,得到最终的节点嵌入z;
[0087]
步骤2

4:基于节点特征的链接预测;
[0088]
使用节点特征向量的点积作为边的得分,计算过程如下:
[0089]
score=h
u
·
h
v
[0090]
其中score表示边的得分,h
u
、h
v
分别表示边连接的两个节点的特征向量;
[0091]
使用间隔损失作为损失函数,其计算过程如下:
[0092]
loss=mean(1

score
pos
+score
neg
[0093]
其中score
pos
表示测试集中的边的得分,score
neg
表示不存在的边的得分;边的得分与两个节点之间存在边的概率成正比,得分越高,两个节点之间存在边的概率越大;当跨模态问题节点和知识点节点之间存在边时,则判定该跨模态问题考察了该知识点;
[0094]
进一步地,所述文本相似度的计算方法如下:
[0095]
步骤1
‑2‑
1:使用bert为每个文本生成向量表示;
[0096]
步骤1
‑2‑
2:使用余弦相似度计算每个分组中的两个文本间的相似度,具体方法如下:
[0097]
[0098]
其中x,y表示两个不同的文本,分别表示x和y的向量表示,‖x‖,‖y‖分别表示的模长;最终得到的相似度值在0和1之间,得到的结果越接近1,说明它们的相似度越高;
[0099]
步骤1
‑2‑
3:筛选并保留文本相似度大于y1的分组,若该分组是知识点,则将它们对应的知识点节点连接,得到知识点

知识点边;若该分组是跨模态问题,则将其列入文本相似的跨模态问题列表中,等待下一步处理;
[0100]
步骤1
‑2‑
4:得到m个知识点两两之间,共个分组的文本相似度;以及n个跨模态问题两两之间,共个分组的文本相似度。
[0101]
进一步地,所述图片相似度的计算方法如下:
[0102]
假设在n个跨模态问题中,有s个跨模态问题在文本相似的跨模态问题列表中,将s个跨模态问题两两配对,得到共个分组;将两个跨模态问题中包含的图片两两组合,然后用感知哈希算法计算得出图片间的相似度,再通过贪心算法得到两个跨模态问题间的图片相似度;
[0103]
使用贪心算法获得问题间的图片相似度的具体步骤如下:
[0104]
步骤1
‑2‑
5:根据两个问题间的图片相似度,得到两个问题对应的图片相似度矩阵;假设这两个问题分别有m、n张图片,则相似度矩阵如下所示:
[0105][0106]
其中i
1,1
表示第1个问题的第1张图片,以此类推,i
2,n
表示第2个问题的第n张图片,sim(i
1,1
,i
2,1
)表示i
1,1
和i
2,1
的相似度,以此类推,sim(i
1,m
,i
2,n
)表示i
1,m
和i
2,n
的相似度;
[0107]
步骤1
‑2‑
6:挑选出相似度矩阵中相似度最高的值,记录下来,删除该相似度最高值对应的行和列:
[0108]
步骤1
‑2‑
7:重复步骤1
‑2‑
6,直至矩阵为空,得到min(m,n)个相似度值;
[0109]
步骤1
‑2‑
8:对记录下的min(m,n)个相似度值取平均,作为跨模态问题间的图片相似度;
[0110]
得到这些文本相似的跨模态问题间图片相似度后,保留图片相似度值大于y2的跨模态问题分组,将它们对应的跨模态问题节点连接,得到问题

问题边。
[0111]
进一步地,所述步骤2

1对节点的邻居特征进行综合,得到特征矩阵z1,具体如下:
[0112]
定义相同类型的节点为同质节点,如问题节点q1和问题节点q2;定义不同类型的节点为异质节点,如问题节点q1和知识点节点k1;
[0113]
使用gcn分别聚合同质节点的特征,再将异质节点通过注意力的方式聚合,得到新的节点特征ε
v
;具体公式如下:
[0114]
ε
v
=α
v
h
v

q
h
q

k
h
k
[0115]
其中,h
q
表示问题节点类型的邻居经过聚合后的表示,h
k
表示所有知识点节点类型的邻居经过聚合后的表示,h
v
表示输入的节点特征;α
*
为不同节点表示的重要性,其计算方
法如下:
[0116][0117]
其中u是可学习的注意参数,d表示输入的特征向量的长度,将所有节点的节点表示构成特征矩阵z1。
[0118]
进一步地,所述步骤2

2的具体方法如下:
[0119]
当两个同质节点通过一个异质节点间接相连时,即为元路径:问题

知识点

问题和知识点

问题

知识点,它们分别表示考察了同一个知识点的两个问题和同时被一个问题考察的两个知识点;将输入的特征矩阵z1作为图中每个节点的特征,首先使用gcn聚合关于元路径的二跳邻居的特征至关于元路径的一跳邻居,再聚合关于元路径的一跳邻居的特征至节点本身,得到特征矩阵z2。
[0120]
进一步地,所述步骤2

3的具体方法如下:
[0121]
找到异构图中含有异质节点的三角环,将特征矩阵z2作为异构图中每个节点的特征,取三角环中节点特征的平均值作为环的特征;如果某个节点存在于多个这样的环内,则根据类型的不同将环的特征分别取平均值,用h
a
表示包含一个知识点节点和两个问题节点的环的特征,用h
b
表示包含一个问题节点和两个知识点节点的环的特征,h
w
是本层的输入;具体计算方法如下:
[0122]
ε
s
=α
w
h
w

a
h
a

b
h
b
[0123]
其中ε
s
为节点表示,α
*
为不同节点表示的重要性,其计算方法如下:
[0124][0125]
其中p是可学习的注意参数,将所有节点的节点表示构成最终的节点嵌入z。
[0126]
进一步地,所述y1=0.9,y1=0.5。
[0127]
具体实施例:
[0128]
本方面方法基于异构图神经网络的跨模态问题q矩阵自动构建方法,该模型由两个子模块构成:跨媒体问题和知识点的关系图谱构建模块、基于异构图神经网络的链接预测模块。整体模型示意图如图1所示,具体如下所述:
[0129]
1、跨媒体问题和知识点的关系图谱构建;
[0130]
在教育领域中,q矩阵指的是一个显示问题和知识点之间关系的二进制矩阵,其中q矩阵的行表示问题,列表示知识点。构建q矩阵的过程,也是寻找问题与知识点之间对应关系的过程。如果将问题与知识点分别看作不同的节点,它们之间的对应关系看作边,就能够构建出一张异构图。预测问题与知识点的对应关系,等价于预测问题节点和知识点节点间是否存在边,也就是将q矩阵的构建问题转化为了异构图中异质节点间的链接预测问题。
[0131]
本发明将同类型节点之间通过相似度进行连接,不同类型的节点之间通过已有的标注信息连接,即:若知识点k1和知识点k2相似,则将它们相连;若问题q1与问题q2相似,则将它们相连;若知识点k被问题q考察,则将它们相连。假设异构图中共有n个跨模态问题节点和m个知识点节点,接下来说明图中边的构建方式。
[0132]
1.1知识点

知识点边的构建
[0133]
使用知识点内容的相似度作为知识点之间连接的依据。之所以不选择知识的前后序或知识点所在的章节作为连接依据,是因为知识点的前后序关系在仅有知识点名称的情况下难以准确标注;通过知识点所在章节实现知识点之间的连接,实质上是对知识点内容的聚类,与通过知识点内容相似度实现连接的意义相同。在没有知识点章节标注的情况下,使用知识点内容的相似度作为是否对它们进行连接的参考,要更为方便简洁。
[0134]
知识点内容的相似度,也即知识点文本之间的相似度。们首先通过bert获取包含文本语义信息的向量表示,再通过对这样的向量表示使用余弦相似度计算,得出文本相似度。bert在预训练中引入了两个任务,它们分别是对句中单词的预测和对句子的下一句话的预测。在预训练中加入的这两个任务,使训练出来的模型更侧重于对语义的理解,通过它生成文本的向量表示包含了文本的语义信息,这与期望相符合。
[0135]
知识点的文本相似度计算结果如表1所示:
[0136]
表1知识点的文本相似度
[0137][0138]
1.2问题

问题边的构建
[0139]
相似的问题往往会考察相同的知识点,基于这一性质,通过问题与问题之间的语义相似度进行问题节点之间的连接。一般来说,在一个跨模态问题中,它所考察的知识点通常同时存在于图片和文本内,并非只存在于文本或只存在于图片中。也就是说,图片和文本中都包含了问题的语义信息。因此,两个问题之间的语义相似度需要从它们之间的图片相似度和文本相似度两方面入手,同时考虑图片和文本的语义,以此减少计算相似度时损失的信息。
[0140]
问题间的文本相似度计算方法同知识点间的文本相似度计算方法相同;在进行问题间的图片相似度计算时,首先考虑当问题都仅包含一张图的情况,此时可以对两张图片使用感知哈希算法,计算得出它们之间的相似度,在这里,感知哈希算法的作用是对每一张图片生成一个对应的指纹字符串。比较不同图片之间的指纹字符串,它们越接近,图片则越相似;当问题包含不止一张图时,先为两个问题生成图片相似度矩阵。假设这两个问题分别有m、n张图片,则相似度矩阵如下所示:
[0141][0142]
然后不断重复挑选出矩阵中相似度最高的值,记录下来,删除它对应的行和列这一步骤,得到min(m,n)个相似度值,对它们相似度值取平均,即可得到多于一张图片时,问
题间的图片相似度。
[0143]
问题的文本相似度和图片相似度如表2所示:
[0144]
表2问题的文本相似度和图片相似度
[0145]
问题1的编号问题2的编号文本相似度图片相似度780.91504410.6284966218190.91216870.7676712519200.90232280.6969098832330.90443350.7108920333340.90417050.65331502
…………
[0146]
1.3问题

知识点边的构建
[0147]
问题节点和知识点节点之间是否存在边,需要根据该问题是否考察了该知识点来判断。在数据集中,已经标注了每个问题对应考察的知识点名称,直接通过这些信息对它们连接即可,不需要再进行其他计算。
[0148]
2、基于异构图神经网络的链接预测
[0149]
在异构图中,两个节点之间可以通过不同的语义路径进行连接,这个语义路径称为元路径。一个异构图中通常有很多元路径,不同的元路径对应不同的语义,使用基于元路径的图神经网络,能够综合不同语义下的节点表示,以此达到更准确地预测问题和知识点之间关系的目的。
[0150]
在问题和知识点的关联预测中,往往会出现多个相似知识点被同一个问题考察,以及多个相似问题考察了同一个知识点的情况,这就导致了上述异构图内有极大可能性存在多个节点间互相连接的环。
[0151]
本实施例最终使用的异构图神经网络结构可以分为三个网络层。第一层通过聚合邻居节点的节点表示,获得该层的节点嵌入;第二层以第一层的节点嵌入作为输入,考虑通过异质节点间接连接的同质节点间的关系,获得该层的节点嵌入;第三层以第二层的节点嵌入作为输入,考虑图中可能出现的环中节点的关系,得到最终的节点嵌入。以下叙述中,使用q表示问题节点类型,k表示知识点节点类型。
[0152]
2.1基于不同类型邻居的节点特征构建
[0153]
上述异构图中包含了qq,qk,kk三种类型的边,根据边的不同类型和与之相连的节点,可以得到仅含qq边的子图、仅含qk边的子图和仅含kk边的子图。为了简化描述,分别用g
qq
、g
qk
、g
kk
表示它们。分别将这三个子图送入gcn,可以得到节点在不同子图中,综合图中邻居信息后的表示,也就是子图中经过gcn聚合后的节点表示。接下来以问题节点q为例,说明如何综合这些子图中的节点表示:
[0154]
问题节点q只可能存在qq和qk两种类型的边,因此只需要考虑g
qq
和g
qk
。用h
v
代表原先的节点嵌入;h
q
代表节点在g
qq
中经过gcn聚合后的表示;h
k
代表节点在g
qk
中经过gcn聚合后的表示。由于不同子图中的节点表示会对最终的节点表示做出不同的贡献,这里引入注意力,使用如下公式对这些节点表示进行聚合,得到本层的节点表示ε
v

[0155]
ε
v
=α
v
h
v

q
h
q

k
h
k
[0156]
其中α
*
表示不同节点表示的重要性,计算方法如下:
[0157][0158]
2.2基于元路径的节点特征构建
[0159]
相同类型的节点互为同质节点,不同类型的节点互为异质节点。在本论文中,两个问题节点互相为同质节点,两个知识点节点互相为同质节点,问题节点和知识点节点互相为异质节点。
[0160]
本层网络以上一层的输出的节点表示为本层使用的节点特征,考虑两个同质节点通过一个异质节点间接相连的情况,即考虑元路径qkq和kqk,它们分别表示考察了同一个知识点的两个问题和同时被一个问题考察的两个知识点。
[0161]
与节点v直接相连的节点称为一跳邻居,它们的集合用n1(v)表示,与节点v通过一跳邻居间接相连的节点称为二跳邻居,它们的集合用n2(v)表示。在本层中,为了尽可能多的保留元路径内部的信息,首先使用gcn对二跳邻居n2(v)的节点表示进行聚合,得到一跳邻居的临时节点表示;然后再用gcn对一跳邻居n1(v)的临时节点表示进行聚合;最后再将得到的一跳邻居的临时表示和输入的特征向量取平均值进行聚合。以元路径qkq为例,假设节点q1与其两跳内邻居的结构如图1所示,可以看出节点q1的一跳邻居n1(q1)={k1,k2},节点k1的一跳邻居n1(k1)={q2,q3,q4},节点k2的一跳邻居为n1(k2)={q5,q6},那么q1的二跳邻居集合为n2(q1)={q2,q3,q4,q5,q6}。首先将q2,q3,q4和q5,q6的信息分别聚合至k1和k2,再聚合k1和k2的信息至q1,得到本层q1的节点表示。
[0162]
2.3基于环的节点特征构建
[0163]
上述异构图中,有较大的可能性出现环形结构。如图2(a)所示的环,表示两个相似的问题考察了同一个知识点,如图2(b)所示的环,表示一个问题考察了两个相似的知识点。
[0164]
找出异构图中如图2所示的环,将环中的节点特征取平均值作为环的特征。如果某个节点存在于多个这样的环内,则根据类型的不同将环的特征分别取平均值,用h
a
表示如图2(a)所示的环的特征,用h
b
表示如图2(b)所示的环的特征,h
v
是本层的输入,也即上层的输出。使用公式(3

3)对这些节点表示进行聚合,得到本层输出ε
v

[0165]
ε
v
=α
v
h
v

a
h
a

b
h
b
[0166]
其中α
*
表示不同节点表示的重要性,计算方法如下:
[0167][0168]
2.4链接预测
[0169]
链接预测的目标是根据图中已知的节点和边预测两个节点之间存在边的概率,计算获得节点表示是它的上游任务。在使用图神经网络获得节点表示后,需要通过这些节点表示来计算出两个节点之间存在边的概率,以此达到链接预测的目的。
[0170]
使用节点特征向量的点积作为边的得分,公式如下:
[0171]
score=h
u
·
h
v
[0172]
其中h
u
、h
v
分别表示边连接的两个节点的节点嵌入,边的得分与两个节点之间存在链接的概率成正比,得分越高,存在边的概率越大。
[0173]
3、基于异构图神经网络的跨模态问题q矩阵自动构建方法训练
[0174]
3.1数据集的获取和处理
[0175]
本实施例从蚂蚁学习网中的小学教学部分获取题目。该网站将题目按照知识点分类,每个知识点包含数量不等的题目,一些题目中存在图片和文本,一些题目中仅存在文本。通过python爬虫从网站上获取目前国内小学教学中常见的考试题目,按照学科和知识点对其进行分类。数据集中的题目和知识点如表3所示。
[0176]
表3数据集中知识点和题目的数量
[0177][0178]
本实施例研究对象为图文混合的跨模态问题,故需要提前删除只有文本和只有图像的问题,保留既具有文本也具有图像的问题。在删除完这些不符合条件的问题后,去除掉没有被问题考察过的知识点,然后将剩下的问题和其考察的知识点对应起来。
[0179]
3.2模型搭建和训练
[0180]
随机挑选出10%的问题

知识点边作为测试集,剩余部分用作训练集。使用dgl

pytorch框架进行模型搭建,实验中,使用adam作为优化器,间隔损失作为损失函数,学习率设置为0.05。间隔损失的计算方法如下:
[0181]
loss=mean(1

score
pos
+score
neg
)
[0182]
其中,score
pos
表示原图中存在连接的节点之间的边得分,score
neg
表示不存在连接的节点之间的边得分。
[0183]
使用链接预测中常用的指标auc对算法的精确度进行衡量,auc的具体计算方法是先计算出测试集中的边得分和不存在的边的得分,再使用如下公式得出auc,auc越高,说明预测效果越好。
[0184][0185]
其中,n表示总共的比较次数,n

表示测试集中的边得分大于不存在的边得分的个数,n

表示测试集中的边得分等于不存在的边得分的个数。可以得知,当所有边的得分均为随机值时,auc=0.5。因此,auc越大,预测精度越高。
[0186]
3.3与其它常见方法的对比实验
[0187]
选择了四个对比方法,分别为gcn、rgcn、layer1、layer2,其中gcn表示对每个边类型的子图分别进行图卷积后,使用平均值进行聚合;layer1是本发明中基于不同类型邻居的节点特征构建部分,layer2是本发明中基于元路径的节点特征构建部分;rgcn由两层gcn和一个激活函数relu组成,每层gcn中节点嵌入通过sum函数聚合。实验结果如表4所示:
[0188]
表4不同模型在两个数据集上得到的结果
[0189]
[0190]
将表4中的数据以折线图形式显示出来,如图3、图4所示。可以看出,相较于rgcn,本方面提出的模型对于在跨模态问题和知识点构成的异构图上进行链接预测有着不错的效果。除此之外,模型的三个部分都为最终的结果提供了一定的帮助。
[0191]
gcn是图神经网络起步时期提出的网络,是为同构图设计的,对于异构节点间的关系捕捉不足;rgcn是为异构图设计的图神经网络,为不同的边设计不同的聚合方式,但它仅考虑了直接相邻的节点间的关系,忽视了间接连接的节点以及图中若存在环时,环对节点表示的影响。layer1作为本文所提出的图神经网络的第一个网络层,结果不如预期的原因同rgcn类似,仅考虑了邻域节点间的关系,它的结果不如rgcn可能是因为本章中rgcn使用了多个卷积模块,而layer1只进行了一次卷积。layer2作为第二个网络层,结果不如最终模型结果的原因是忽略了邻域节点以及环中节点的影响。本发明提出的异构图神经网络是针对跨模态问题和知识点间的链接预测而设计,考虑了相似问题、相似知识点以及考察同一个知识点的问题间关系等的影响,使最终结果达到了预期效果。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1