CN112949929B - 一种基于协同嵌入增强题目表示的知识追踪方法及*** - Google Patents
一种基于协同嵌入增强题目表示的知识追踪方法及*** Download PDFInfo
- Publication number
- CN112949929B CN112949929B CN202110276011.2A CN202110276011A CN112949929B CN 112949929 B CN112949929 B CN 112949929B CN 202110276011 A CN202110276011 A CN 202110276011A CN 112949929 B CN112949929 B CN 112949929B
- Authority
- CN
- China
- Prior art keywords
- topic
- time step
- question
- vector
- current time
- 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
- 238000000034 method Methods 0.000 title claims abstract description 36
- 239000013598 vector Substances 0.000 claims abstract description 213
- 238000012549 training Methods 0.000 claims abstract description 18
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 11
- 230000004927 fusion Effects 0.000 claims abstract description 9
- 230000006870 function Effects 0.000 claims description 20
- 230000015654 memory Effects 0.000 claims description 14
- 238000013528 artificial neural network Methods 0.000 claims description 12
- 230000009466 transformation Effects 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 8
- 238000005070 sampling Methods 0.000 claims description 7
- 239000011159 matrix material Substances 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 4
- 230000002708 enhancing effect Effects 0.000 claims description 2
- 230000007787 long-term memory Effects 0.000 claims 2
- 230000008569 process Effects 0.000 abstract description 5
- 230000004913 activation Effects 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 4
- 238000002474 experimental method Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000005065 mining Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 206010041349 Somnolence Diseases 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/253—Fusion techniques of extracted features
-
- 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/044—Recurrent networks, e.g. Hopfield 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/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/20—Education
- G06Q50/205—Education administration or guidance
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Tourism & Hospitality (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Biomedical Technology (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Educational Technology (AREA)
- Educational Administration (AREA)
- Primary Health Care (AREA)
- Development Economics (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于协同嵌入增强题目表示的知识追踪方法及***。该方法包括步骤:预训练、向量融合、更新知识状态和输出预测结果,其中在预训练时,根据学生历史答题数据集构建学生与题目二部图和题目与技能二部图,来捕捉题目之间的协同信号,然后采用node2vec算法将协同信号中蕴含的题目相似性编码到题目嵌入中。本发明可以解决“技能层次模型问题”和稀疏问题等导致的信息不足问题,提升知识追踪的预测性能,并且数据越稀疏,相比现有技术的优势越明显。
Description
技术领域
本发明属于知识追踪技术领域,更具体地,涉及一种基于协同嵌入增强题目表示的知识追踪方法及***。
背景技术
知识追踪(Knowledge Tracing,KT)是智能导学***(Intelligent TutoringSystem,ITS)中的关键技术,它根据学生在***中的历史交互数据追踪学生的知识状态(Knowledge State),从而预测学生未来的答题表现。具体而言,KT通过学生过去的答题序列,建模和更新学生对知识点的掌握情况,最后预测学生正确回答下一道题目的概率值。KT可以帮助我们更加深入地了解学生的学习过程和知识掌握情况,进而为学生提供个性化的学习辅导(例如跳过简单题、延迟困难题),提升学生的学习效率和学习体验。
经典的KT模型主要有两类:基于概率的模型(Probability-Based Models)和基于深度学习的模型(Deep Learning-Based Model)。基于概率的模型以贝叶斯知识追踪(Bayesian Knowledge Tracing,BKT)为代表。BKT基于隐马尔可夫模型(Hidden MarkovModel,HMM),它以题目对应的技能编号(skill id)作为输入,并为每个技能构建一个独立的模型。BKT将知识状态定义为HMM中的隐变量,取值分为“掌握”和“不掌握”两种状态,并使用贝叶斯公式更新知识状态。但是BKT存在两个问题:一方面,它为每个技能构建独立的模型,无法捕捉技能之间的联系;另一方面,它对知识状态进行二值化,过度简化了真实状态的复杂性。
后来研究者提出将深度学习应用到知识追踪领域,提出基于深度学习的KT模型。大多数基于深度学习的KT模型都是以题目对应的技能编号作为模型的输入,并且预测每个技能对应的正确答题概率,而不是以题目编号(question id)作为输入进而预测每个题目对应的正确答题概率。这些模型被称为“技能层次模型(skill-level model)”。以DKT(DeepKnowledge Tracing,DKT)为例,DKT使用循环神经网络(Recurrent Neural Network,RNN)建模学生的答题序列,它将技能编号和答题正确性(correctness)统一编码为独热向量,作为后续模块的输入,但是无需为每一个技能单独建模。
目前大多数基于深度学习的KT模型存在“技能层次模型问题(skill-level modelproblem)”,即这些模型只使用技能编号表示题目会使得模型无法区分相同技能的两道题目,进而降低模型的预测性能。为了区分不同的题目,一个简单的解决方法是将这些模型中的技能编号替换为题目编号。然而因为题目数量很大,每个学生只回答其中的小部分,所以很多题目被回答的次数很少,导致学生和题目的交互数据很稀疏,即会导致稀疏问题,使得模型的预测性能在有些数据集上变得更差。
现有专利CN202011071060提出了一种融合问题模式和答题结果的双卷积知识追踪方法及***,其考虑题目和答题结果属于不同类型的数据,因此通过两个卷积神经网络分别从题目相关数据和答题结果相关数据中提取特征,使得模型可以充分考虑每道题目的特征,从而提升模型预测性能。其同时使用题目编号和技能编号作为输入,可以避免“技能层次模型问题”;但是其并没有从数据中充分挖掘题目之间的相似性来补充额外信息,因此仍然存在上述的数据稀疏问题。
发明内容
针对现有技术的至少一个缺陷或改进需求,本发明提供了一种基于协同嵌入增强题目表示的知识追踪方法及***,使用题目之间的协同信息作为补充来增强题目的表示,缓解数据稀疏问题,进而提高知识追踪模型的预测性能。
为实现上述目的,按照本发明的第一方面,提供了一种基于协同嵌入增强题目表示的知识追踪方法,包括步骤:
根据学生历史答题数据集构建学生与题目二部图和题目与技能二部图,分别学习所述学生与题目二部图中和所述题目与技能二部图中题目节点的特征向量,获得两类题目特征向量;
将所述两类题目特征向量进行拼接后获得当前时间步题目拼接特征向量和下一时间步题目拼接特征向量,根据所述当前时间步题目拼接特征向量获得当前时间步题目嵌入向量,根据所述下一时间步题目拼接特征向量获得下一时间步题目嵌入向量,将所述当前时间步题目嵌入向量与当前时间步答题结果向量进行融合,获得当前时间步输入向量;
获取上一时间步知识状态,根据所述当前时间步输入向量和所述上一时间步知识状态更新当前时间步知识状态;
根据所述当前时间步知识状态和所述下一时间步题目嵌入向量输出下一时间步题目答对的预测概率。
优选的,所述学生与题目二部图包括第一学生与题目二部图和第二学生与题目二部图,所述第一学生与题目二部图的顶点集合分别为学生编号和该学生编号对应回答正确的题目编号,所述第二学生与题目二部图的顶点集合分别为学生编号和该学生编号对应回答错误的题目编号。
优选的,所述学生与题目二部图对应题目节点序列的获取方法包括步骤:
分别在所述第一学生与题目二部图和所述第二学生与题目二部图中采样;
将采样后的节点序列进行合并;
在合并后节点序列中移除非题目节点。
优选的,所述题目与技能二部图中题目节点的获取方法包括步骤:
在所述题目与技能二部图中采样;
在采样后的节点序列中移除非题目节点。
优选的,分别学习所述学生与题目二部图中和所述题目与技能二部图中题目节点的特征向量包括步骤:
分别获得所述学生与题目二部图和所述题目与技能二部图中题目节点序列后,使用一个固定大小的窗口获取题目节点的邻居节点,将题目节点记为v,将邻居节点记为N(v),然后分别通过优化函数maxg∑v∈V logP(N(v)|g(v))来获取所述两类题目特征向量,其中V是题目节点集合,g(·)是将给定题目编号映射为题目特征向量的函数。
优选的,所述将所述当前时间步题目嵌入向量与当前时间步答题结果向量进行融合包括步骤:
将当前时间步答题结果记为ct,将所述当前时间步输入向量记为xt,将所述当前时间步题目嵌入向量记为et,所述当前时间步输入向量xt的计算公式为:
优选的,所述根据所述当前时间步输入向量和所述上一时间步知识状态更新当前时间步知识状态包括步骤:
将所述当前时间步输入向量记为xt,将所述上一时间步知识状态记为ht-1,将所述当前时间步知识状态记为ht,所述当前时间步知识状态ht的计算公式为:
ht=LSTM(xt,ht-1;θh)
其中,LSTM表示长短期记忆网络的一个计算单元,θh表示该计算单元的参数。
优选的,所述根据所述当前时间步知识状态和所述下一时间步题目嵌入向量输出下一时间步题目答对的预测概率包括步骤:
将所述下一时间步题目嵌入向量记为et+1,将所述当前时间步知识状态记为ht,将所述下一时间步题目答对的预测概率记为yt+1,所述下一时间步题目答对的预测概率yt+1的计算公式为:
yt+1=σ(W2·ot+1+b2)
其中,ReLU和σ分别表示Relu激活函数和sigmoid激活函数,W1、b1、W2和b2是训练得到的参数,ot+1是计算过程的中间向量。
按照本发明的第二方面,提供了一种基于协同嵌入增强题目表示的知识追踪方法,其特征在于,包括步骤:
根据学生历史答题数据集构建学生与题目二部图,学习所述学生与题目二部图中题目节点的特征向量,获得当前时间步题目特征向量和下一时间步题目特征向量;
根据所述当前时间步题目特征向量获得当前时间步题目嵌入向量,根据所述下一时间步题目特征向量获得下一时间步题目嵌入向量,将所述当前时间步题目嵌入向量与当前时间步答题结果向量进行融合,获得当前时间步输入向量;
获取上一时间步知识状态,根据所述当前时间步输入向量和所述上一时间步知识状态更新当前时间步知识状态;
根据所述当前时间步知识状态和所述下一时间步题目嵌入向量输出下一时间步题目答对的预测概率。
按照本发明的第三方面,提供了一种基于协同嵌入增强题目表示的知识追踪***,包括:
预训练模块,用于根据学生历史答题数据集构建学生与题目二部图和题目与技能二部图,分别学习所述学生与题目二部图中和所述题目与技能二部图中题目节点的特征向量,获得两类题目特征向量;
融合模块,用于将所述两类题目特征向量进行拼接后获得当前时间步题目拼接特征向量和下一时间步题目拼接特征向量,根据所述当前时间步题目拼接特征向量获得当前时间步题目嵌入向量,根据所述下一时间步题目拼接特征向量获得下一时间步题目嵌入向量,将所述当前时间步题目嵌入向量与当前时间步答题结果向量进行融合,获得当前时间步输入向量;
知识状态模块,用于获取上一时间步知识状态,根据所述当前时间步输入向量和所述上一时间步知识状态更新当前时间步知识状态;
输出预测模块,用于根据所述当前时间步知识状态和所述下一时间步题目嵌入向量输出下一时间步题目答对的预测概率。
按照本发明的第四方面,提供了一种基于协同嵌入增强题目表示的知识追踪***,包括:
预训练模块,用于根据学生历史答题数据集构建学生与题目二部图,学习所述学生与题目二部图中题目节点的特征向量,获得当前时间步题目特征向量和下一时间步题目特征向量;
融合模块,用于根据所述当前时间步题目特征向量获得当前时间步题目嵌入向量,根据所述下一时间步题目特征向量获得下一时间步题目嵌入向量,将所述当前时间步题目嵌入向量与当前时间步答题结果向量进行融合,获得当前时间步输入向量;
知识状态模块,用于获取上一时间步知识状态,根据所述当前时间步输入向量和所述上一时间步知识状态更新当前时间步知识状态;
输出预测模块,用于根据所述当前时间步知识状态和所述下一时间步题目嵌入向量输出下一时间步题目答对的预测概率。
按照本发明的第五方面,提供了一种基于协同嵌入增强题目表示的知识追踪***,包括:至少一个处理器以及至少一个存储器,其中,存储器中存储有计算机程序,当计算机程序被处理器执行时,实现上述任一项所述的方法。
总体而言,本发明与现有技术相比,具有有益效果:
(1)可以解决“技能层次模型问题”和稀疏问题,提升知识追踪的预测性能,并且数据越稀疏,本发明相比现有技术的优势越明显。本发明认为,上述“技能层次模型问题”和稀疏问题,本质上都是题目信息不足的问题,因此本发明通过挖掘题目之间的相似性,并将这些相似信息融入题目嵌入中,进而缓解题目信息不足的问题。具体而言,根据学生-题目交互数据和题目-技能对应关系分别构建学生与题目二部图和题目与技能二部图,来捕捉题目之间的协同信号,然后将协同信号中蕴含的题目相似性编码到题目嵌入中。
(2)本发明还可以在不使用题目-技能对应关系数据的情况下也取得比基准模型更好的预测性能,这使得本发明也可以适用于题目技能标签难以获取的场景或数据集,免除了标注题目对应的技能所需要的人力和时间。
(3)本发明还提出了更合适的学生与题目二部图的构造方法,以及相应的采样、合并、移除的处理方法。在引入学生与题目二部图来挖掘题目之间的相似性时,针对学生交互数据中既包含答对记录又包含答错记录的特点将二部图分成两部分,进而又提出“采样-合并-移除”的采样策略来充分挖掘题目间的相似信息,去除干扰信息,以获得更有利于提高知识追踪模型预测性能的题目嵌入。
附图说明
图1是本发明实施例的知识追踪***的原理示意图;
图2是本发明实施例的知识追踪方法的流程图;
图3是本发明实施例的获得题目节点序列的原理示意图;
图4是本发明实施例的获得题目特征向量的流程图;
图5是本发明实施例的可视化分析实验效果图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
知识追踪任务通常被形式化为:给定学生的答题序列X={(q1,k1,c1),(q2,k2,c2),...,(qt-1,kt-1,ct-1)}以及qt和kt,要预测学生正确回答下一道题目的概率P(ct=1|X,qt)。其中qt,kt和ct分别表示当前时间步t对应的题目编号,题目qt对应的技能编号(一道题目可以对应多个技能)以及学生回答题目qt的正确性(ct取值为0和1,分别表示“答错”和“答对”)。所有学生的答题序列构成了答题记录,学生用学生编号来区分。
如图1所示,本发明实施例的一种基于协同嵌入增强题目表示的知识追踪***(简称为知识追踪模型CoKT)包括四个模块:预训练模块(Pre-training Module)、融合模块(Fusion Module)、知识状态模块(Knowledge State Module,KS Module)和输出预测模块(Prediction Module)。知识追踪***的实现原理和以下知识追踪方法的实现原理相同。
如图2所示,本发明实施例的一种基于协同嵌入增强题目表示的知识追踪方法,包括步骤:
S10,根据学生的答题记录以及题目与技能的对应关系分别构建学生与题目二部图和题目与技能二部图,分别学习学生与题目二部图中和题目与技能二部图中题目节点的特征向量,获得两类题目特征向量。
学生与题目二部图和题目与技能二部图如图1左下方所示,学生与题目二部图的顶点集合分别为学生编号(u1,u2,u3,u4)和该学生编号对应回答的题目编号(q1,q2,q3),所述题目与技能二部图的顶点集合分别为题目编号(q1,q2,q3)和该题目编号对应的技能编号(k1,k2)。
S20,将两类题目特征向量进行拼接后获得当前时间步题目拼接特征向量和下一时间步题目拼接特征向量,根据当前时间步题目拼接特征向量获得当前时间步题目嵌入向量et,根据下一时间步题目拼接特征向量获得下一时间步题目嵌入向量et+1,将所述当前时间步题目嵌入向量et与当前时间步答题结果向量ct进行融合,获得当前时间步输入向量。
具体地,将上述得到的两类题目特征向量进行拼接,然后使用一层神经网络进行非线性变换得到题目嵌入。进一步,为了将题目和答题情况融合获取输入向量,首先将答题正确性ct扩展为零向量,然后采用以下方式将其与题目嵌入et进行融合获取输入向量xt:
S30,获取上一时间步知识状态ht-1,根据当前时间步输入向量xt和上一时间步知识状态ht-1更新当前时间步知识状态ht。
具体地,将上述得到的输入向量作为知识状态模块的输入,知识状态模块使用长短时记忆网络(Long short-term memory,LSTM)中的隐向量ht建模知识状态并且根据当前输入向量xt和上一个时间步的知识状态向量ht-1更新知识状态,计算形式为:
ht=LSTM(xt,ht-1;θh)
其中,LSTM表示长短期记忆网络的一个计算单元,Δh表示该计算单元的参数。
S40,根据当前时间步知识状态ht和下一时间步题目嵌入向量et+1输出下一时间步题目答对的预测概率yt+1。
具体地,拟合当前知识状态向量ht和下一道题目的嵌入et+1之间的交互函数,输出学生正确回答下一道题目的预测概率值,使用两层神经网络来拟合该函数,具体形式如下:
yt+1=σ(W2·ot+1+b2)
其中,ReLU和σ分别表示Relu激活函数和sigmoid激活函数,W1、b1、W2和b2是训练得到的参数,ot+1是计算过程的中间向量。
上述步骤S10是通过预训练模块实现,上述步骤S20是通过融合模块实现,上述步骤S30是通过知识状态模块实现,上述步骤S40是通过输出预测模块实现。
整个知识追踪模型训练过程分成两个阶段,预训练模块根据skip-gram算法单独训练,获取题目特征向量后再训练其他模块。其他模块的训练,对预测值yt+1与真实值ct+1进行比较,使用二值交叉熵计算损失值,再结合Adam梯度下降算法更新模型参数。
优选的,上述步骤S10包括步骤:
S101,二部图构建。
使用训练集中的交互数据(因为使用测试集数据会造成数据泄露)构建学生与题目二部图,并且学生与题目二部图包括第一学生与题目二部图和第二学生与题目二部图,第一学生与题目二部图的顶点集合分别为学生编号和该学生编号对应回答正确的题目编号,第二学生与题目二部图的顶点集合分别为学生编号和该学生编号对应回答错误的题目编号。之所以分成两部分,是因为相同的用户以不同正确性回答的两道题目(一道题回答正确,而另一道题目回答错误)并不一定具有相似性。
另一方面,根据题目-技能的对应关系构建题目与技能二部图,以此挖掘题目之间在技能层面的相似性。通过构建题目与技能二部图来获取题目的嵌入,而不是直接使用其对应技能的独热向量作为题目的表示,其优势在于可以很容易地处理多技能问题、同时也能获取低维稠密的题目嵌入。
S102采样策略。
根据node2vec算法,在学生-题目二部图上采样节点序列,与一般情况不同的是,将二部图分成两部分,分别包含学生的答对和答错记录,于是针对性地采用如下策略,如图3所示:1)先分别在两部分二部图中采样(sample)。2)然后合并(merge)各自得到的节点序列。3)在合并两部分的节点序列后我们移除(remove)其中的非题目节点。这样处理可以使得:在学习每个题目节点特征向量时,可以利用更多的邻居题目节点的信息。
对于题目-技能二部图,由于不需要分成两部分,所以不存在合并的操作,只需要对其采样节点序列,然后去除非题目节点即可。
S103特征向量获取。
对于分别从学生与题目二部图和题目与技能二部图上获取的两类题目节点序列,分别进行下面的操作来得到对应的特征向量。
根据node2vec算法,在获取了预处理的节点序列后,使用一个固定大小的窗口获取题目节点v的邻居节点N(v)。然后,使用skip-gram算法获取题目特征向量,即优化以下函数:
这里,V是题目节点集合,g(·)是将给定题目编号映射为题目特征向量的函数,g(v)表示编号为v的题目所对应的题目特征向量,g表示g(v)这个函数的参数(即N×d维的矩阵,N是题目数量,d是题目特征向量的维度),P(N(v)|g(v)表示给定题目节点v与其邻居节点N(v)共现的概率。
本发明另一实施例的一种基于协同嵌入增强题目表示的知识追踪***(简称为CoKT_NoSkill),特点是从CoKT中去除题目与技能二部图,仅使用学生与题目二部图获取题目嵌入,具体地包括:
预训练模块,用于根据学生历史答题数据集构建学生与题目二部图,学生与题目二部图的顶点集合分别为学生编号和该学生编号对应回答的题目编号,学习学生与题目二部图中题目节点的特征向量,获得当前时间步题目特征向量和下一时间步题目特征向量;
融合模块,用于根据当前时间步题目特征向量获得当前时间步题目嵌入向量,根据下一时间步题目特征向量获得下一时间步题目嵌入向量,将当前时间步题目嵌入向量与当前时间步答题结果向量进行融合,获得当前时间步输入向量;
知识状态模块,用于获取上一时间步知识状态,根据当前时间步输入向量和上一时间步知识状态更新当前时间步知识状态;
输出预测模块,用于根据当前时间步知识状态和下一时间步题目嵌入向量输出下一时间步题目答对的预测概率。
本发明另一实施例的一种基于协同嵌入增强题目表示的知识追踪方法,包括步骤:
根据学生历史答题数据集构建学生与题目二部图,学生与题目二部图的顶点集合分别为学生编号和该学生编号对应回答的题目编号,学习学生与题目二部图中题目节点的特征向量,获得当前时间步题目特征向量和下一时间步题目特征向量;
根据当前时间步题目特征向量获得当前时间步题目嵌入向量,根据下一时间步题目特征向量获得下一时间步题目嵌入向量,将当前时间步题目嵌入向量与当前时间步答题结果向量进行融合,获得当前时间步输入向量;
获取上一时间步知识状态,根据当前时间步输入向量和上一时间步知识状态更新当前时间步知识状态;
根据当前时间步知识状态和下一时间步题目嵌入向量输出下一时间步题目答对的预测概率。
为了验证CoKT的有效性,在三个常用数据集ASSIST09,ASSIST12和EdNet上进行了实验,评价指标选用了常用的预测性能评价指标AUC,基准模型选择了DKT,DKVMN两个经典KT模型。同时还比较了DKT_Embed(为比较提出的DKT的扩展模型,用于输入questionid),以及两个CoKT的简化版本:CoKT_NoSkill(从CoKT中去除题目-技能二部图,仅使用学生-题目二部图获取题目嵌入),和CoKT_Embed(完全不使用二部图,只是简单地用一个嵌入层学习题目嵌入)。
CoKT和CoKT_Skill都可以看成是本发明的实施例。CoKT_NoSkill的特点是不需要使用技能信息也能取得较好的结果,可以免除费时费力的人工标注技能;CoKT同时使用了技能信息,可以取得更好的结果,除了缓解信息不足的问题,也可以很好的处理多技能问题(因为题目-技能二部图可以使得一道题目对应多个技能,而无需合并技能)。
1.预测任务实验
表1各个模型在三个数据集上的AUC对比
Model | ASSIST09 | ASSIST12 | EdNet |
DKT | 0.7561 | 0.7346 | 0.6822 |
DKVMN | 0.7550 | 0.7283 | 0.6967 |
DKT_Embed | 0.7268 | 0.7431 | 0.7191 |
CoKT_Embed | 0.7535 | 0.7591 | 0.7384 |
CoKT_NoSkill | 0.7835 | 0.7737 | 0.7452 |
CoKT | 0.7928 | 0.7802 | 0.7464 |
表1展示了上述所有模型在答题预测任务上的表现,可以发现以下几点:
1)CoKT和CoKT-NoSkill在所有数据集上均显著优于基准模型。特别地,与DKT和DKVMN相比,CoKT在三个数据上平均可实现4.4%的绝对AUC增长。
2)通过比较技能层次的DKT和题目层次的DKT_Embed,可以发现DKT_Embed在ASSIST09上的表现不及DKT,但在ASSIST12和EdNet上却表现得更好,这表明它们可能要么是受到稀疏问题的影响,要么是受到“技能层次模型问题”的影响。而CoKT在所有数据集上都表现最好,这证实了它能很好的缓解信息不足的问题,无论是由信息损失造成的还是由数据稀疏造成的。
3)CoKT_Embed和CoKT_NoSkill都仅使用学生-题目交互数据,但结合了嵌入模块node2vec的CoKT-NoSkill表现更好。这表明在知识追踪模型中使用嵌入模块显式地学习题目嵌入可以提升模型的预测性能。
2.可视化分析实验
为了进一步分析CoKT通过挖掘题目相似性以缓解信息不足问题的能力,进行了两个可视化分析来分别说明CoKT在挖掘题目相似性和缓解稀疏问题上的效果。
首先,使用t-SNE算法将高维题目嵌入映射到二维平面(每个点代表一道题),并根据题目对应的技能给点编号。如图5(a)所示,具有相同技能编号的题目彼此接近,这表明本发明实施例的方法可以发现题目在技能层面的相似性。
其次,观察测试集上每个题目对应的AUC随其尝试次数的变化情况。如图5(b)所示:1)平均AUC随着尝试次数的增加而增加,这表明题目尝试次数越少(即数据越稀疏),其对应的AUC越低;2)在尝试次数较小的区间中,CoKT比DKT_Embed更具优势(AUC差距更大),这表明它可以很好地缓解稀疏问题。
本实施例还提供了一种基于协同嵌入增强题目表示的知识追踪***,包括:至少一个处理器以及至少一个存储器,其中,存储器中存储有计算机程序,当计算机程序被处理器执行时,实现上述任一项所述的知识追踪方法,此处不再赘述。本实施例中,处理器和存储器的类型不作具体限制,例如:处理器可以是微处理器、数字信息处理器、片上可编程逻辑***等;存储器可以是易失性存储器、非易失性存储器或者它们的组合等。
必须说明的是,上述任一实施例中,方法并不必然按照序号顺序依次执行,只要从执行逻辑中不能推定必然按某一顺序执行,则意味着可以以其他任何可能的顺序执行。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种基于协同嵌入增强题目表示的知识追踪方法,其特征在于,包括步骤:
根据学生历史答题数据集构建学生与题目二部图和题目与技能二部图,分别学习所述学生与题目二部图中和所述题目与技能二部图中题目节点的特征向量,获得两类题目特征向量;
将所述两类题目特征向量进行拼接后获得当前时间步题目拼接特征向量和下一时间步题目拼接特征向量,使用一层神经网络对所述当前时间步题目拼接特征向量进行非线性变换获得当前时间步题目嵌入向量,使用一层神经网络对所述下一时间步题目拼接特征向量进行非线性变换获得下一时间步题目嵌入向量,将所述当前时间步题目嵌入向量与当前时间步答题结果向量进行融合,获得当前时间步输入向量;
获取上一时间步知识状态,根据所述当前时间步输入向量和所述上一时间步知识状态更新当前时间步知识状态,具体是将所述当前时间步输入向量作为知识状态模块的输入,所述知识状态模块使用长短时记忆网络中的隐向量建模知识状态并且根据所述当前时间步输入向量和所述上一时间步知识状态更新知识状态;
根据所述当前时间步知识状态和所述下一时间步题目嵌入向量输出下一时间步题目答对的预测概率;
所述分别学习所述学生与题目二部图中和所述题目与技能二部图中题目节点的特征向量包括步骤:
对于分别从所述学生与题目二部图和所述题目与技能二部图上获取的两类题目节点序列,分别进行下面的操作来得到对应的特征向量;
根据node2vec算法,在获取了预处理的节点序列后,使用一个固定大小的窗口获取题目节点v的邻居节点N(v),然后通过优化以下函数获取题目特征向量:
V是题目节点集合,g(v)表示编号为v的题目所对应的题目特征向量,g表示g(v)这个函数的参数,g为N×d维的矩阵,N是题目数量,d是题目特征向量的维度,P(N(v)|g(v))表示给定题目节点v与其邻居节点N(v)共现的概率。
2.如权利要求1所述的基于协同嵌入增强题目表示的知识追踪方法,其特征在于,所述学生与题目二部图包括第一学生与题目二部图和第二学生与题目二部图,所述第一学生与题目二部图的顶点集合分别为学生编号和该学生编号对应回答正确的题目编号,所述第二学生与题目二部图的顶点集合分别为学生编号和该学生编号对应回答错误的题目编号。
3.如权利要求2所述的基于协同嵌入增强题目表示的知识追踪方法,其特征在于,所述学生与题目二部图对应的题目节点序列的获取方法包括步骤:
分别在所述第一学生与题目二部图和所述第二学生与题目二部图中采样;
将采样后的两部分节点序列进行合并;
在合并两部分节点序列后移除其中的非题目节点。
4.如权利要求1所述的基于协同嵌入增强题目表示的知识追踪方法,其特征在于,所述题目与技能二部图对应的题目节点序列的获取方法包括步骤:
在所述题目与技能二部图中采样;
在采样后的节点序列中移除非题目节点。
6.一种基于协同嵌入增强题目表示的知识追踪方法,其特征在于,包括步骤:
根据学生历史答题数据集构建学生与题目二部图,学习所述学生与题目二部图中题目节点的特征向量,获得当前时间步题目特征向量和下一时间步题目特征向量;
使用一层神经网络对所述当前时间步题目特征向量进行非线性变换获得当前时间步题目嵌入向量,使用一层神经网络对所述下一时间步题目特征向量进行非线性变换获得下一时间步题目嵌入向量,将所述当前时间步题目嵌入向量与当前时间步答题结果向量进行融合,获得当前时间步输入向量;
获取上一时间步知识状态,根据所述当前时间步输入向量和所述上一时间步知识状态更新当前时间步知识状态,具体是将所述当前时间步输入向量作为知识状态模块的输入,所述知识状态模块使用长短时记忆网络中的隐向量建模知识状态并且根据所述当前时间步输入向量和所述上一时间步知识状态更新知识状态;
根据所述当前时间步知识状态和所述下一时间步题目嵌入向量输出下一时间步题目答对的预测概率;
所述学习所述学生与题目二部图中题目节点的特征向量包括步骤:
对于从所述学生与题目二部图上获取的题目节点序列,进行下面的操作来得到对应的特征向量;
根据node2vec算法,在获取了预处理的节点序列后,使用一个固定大小的窗口获取题目节点v的邻居节点N(v),然后通过优化以下函数获取题目特征向量:
V是题目节点集合,g(v)表示编号为v的题目所对应的题目特征向量,g表示g(v)这个函数的参数,g为N×d维的矩阵,N是题目数量,d是题目特征向量的维度,P(N(v)|g(v))表示给定题目节点v与其邻居节点N(v)共现的概率。
7.一种基于协同嵌入增强题目表示的知识追踪***,其特征在于,包括:
预训练模块,用于根据学生历史答题数据集构建学生与题目二部图和题目与技能二部图,分别学习所述学生与题目二部图中和所述题目与技能二部图中题目节点的特征向量,获得两类题目特征向量;
融合模块,用于将所述两类题目特征向量进行拼接后获得当前时间步题目拼接特征向量和下一时间步题目拼接特征向量,使用一层神经网络对所述当前时间步题目拼接特征向量进行非线性变换获得当前时间步题目嵌入向量,使用一层神经网络对所述下一时间步题目拼接特征向量进行非线性变换获得下一时间步题目嵌入向量,将所述当前时间步题目嵌入向量与当前时间步答题结果向量进行融合,获得当前时间步输入向量;
知识状态模块,用于获取上一时间步知识状态,根据所述当前时间步输入向量和所述上一时间步知识状态更新当前时间步知识状态,具体是将所述当前时间步输入向量作为知识状态模块的输入,所述知识状态模块使用长短时记忆网络中的隐向量建模知识状态并且根据所述当前时间步输入向量和所述上一时间步知识状态更新知识状态;
输出预测模块,用于根据所述当前时间步知识状态和所述下一时间步题目嵌入向量输出下一时间步题目答对的预测概率;
所述分别学习所述学生与题目二部图中和所述题目与技能二部图中题目节点的特征向量包括步骤:
对于分别从所述学生与题目二部图和所述题目与技能二部图上获取的两类题目节点序列,分别进行下面的操作来得到对应的特征向量;
根据node2vec算法,在获取了预处理的节点序列后,使用一个固定大小的窗口获取题目节点v的邻居节点N(v),然后,通过优化以下函数获取题目特征向量:
V是题目节点集合,g(v)表示编号为v的题目所对应的题目特征向量,g表示g(v)这个函数的参数,g为N×d维的矩阵,N是题目数量,d是题目特征向量的维度,P(N(v)|g(v))表示给定题目节点v与其邻居节点N(v)共现的概率。
8.一种基于协同嵌入增强题目表示的知识追踪***,其特征在于,包括:
预训练模块,用于根据学生历史答题数据集构建学生与题目二部图,学习所述学生与题目二部图中题目节点的特征向量,获得当前时间步题目特征向量和下一时间步题目特征向量;
融合模块,用于使用一层神经网络对所述当前时间步题目特征向量进行非线性变换获得当前时间步题目嵌入向量,使用一层神经网络对所述下一时间步题目特征向量进行非线性变换获得下一时间步题目嵌入向量,将所述当前时间步题目嵌入向量与当前时间步答题结果向量进行融合,获得当前时间步输入向量;
知识状态模块,用于获取上一时间步知识状态,根据所述当前时间步输入向量和所述上一时间步知识状态更新当前时间步知识状态,具体是将所述当前时间步输入向量作为知识状态模块的输入,所述知识状态模块使用长短时记忆网络中的隐向量建模知识状态并且根据所述当前时间步输入向量和所述上一时间步知识状态更新知识状态;
输出预测模块,用于根据所述当前时间步知识状态和所述下一时间步题目嵌入向量输出下一时间步题目答对的预测概率;
所述学习所述学生与题目二部图中题目节点的特征向量包括步骤:
对于从所述学生与题目二部图上获取的题目节点序列,进行下面的操作来得到对应的特征向量;
根据node2vec算法,在获取了预处理的节点序列后,使用一个固定大小的窗口获取题目节点v的邻居节点N(v),然后,通过优化以下函数获取题目特征向量:
V是题目节点集合,g(v)表示编号为v的题目所对应的题目特征向量,g表示g(v)这个函数的参数,g为N×d维的矩阵,N是题目数量,d是题目特征向量的维度,P(N(v)|g(v))表示给定题目节点v与其邻居节点N(v)共现的概率。
9.一种基于协同嵌入增强题目表示的知识追踪***,其特征在于,包括:至少一个处理器以及至少一个存储器,其中,存储器中存储有计算机程序,当计算机程序被处理器执行时,实现如权利要求1至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110276011.2A CN112949929B (zh) | 2021-03-15 | 2021-03-15 | 一种基于协同嵌入增强题目表示的知识追踪方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110276011.2A CN112949929B (zh) | 2021-03-15 | 2021-03-15 | 一种基于协同嵌入增强题目表示的知识追踪方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112949929A CN112949929A (zh) | 2021-06-11 |
CN112949929B true CN112949929B (zh) | 2022-06-07 |
Family
ID=76229811
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110276011.2A Active CN112949929B (zh) | 2021-03-15 | 2021-03-15 | 一种基于协同嵌入增强题目表示的知识追踪方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112949929B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116306863A (zh) * | 2023-01-06 | 2023-06-23 | 山东财经大学 | 基于对比学习的协同知识追踪建模方法及*** |
CN116502713B (zh) * | 2023-04-03 | 2024-02-20 | 华中师范大学 | 一种基于加权元路径增强题目相似性嵌入的知识追踪方法 |
CN117077737B (zh) * | 2023-08-22 | 2024-03-15 | 长江大学 | 一种知识点动态协同的知识追踪*** |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110807469A (zh) * | 2019-09-19 | 2020-02-18 | 华中师范大学 | 融合长短时记忆与贝叶斯网络的知识追踪方法及*** |
CN111444432A (zh) * | 2020-04-01 | 2020-07-24 | 中国科学技术大学 | 领域自适应的深度知识追踪及个性化习题推荐方法 |
CN111538868A (zh) * | 2020-04-28 | 2020-08-14 | 中国科学技术大学 | 知识追踪方法及习题推荐方法 |
CN111563166A (zh) * | 2020-05-28 | 2020-08-21 | 浙江学海教育科技有限公司 | 一种针对数学问题分类的预训练模型方法 |
CN111695779A (zh) * | 2020-05-14 | 2020-09-22 | 华南师范大学 | 一种知识追踪方法、装置及存储介质 |
CN112182308A (zh) * | 2020-09-29 | 2021-01-05 | 华中师范大学 | 基于多热编码的多特征融合深度知识追踪方法及*** |
CN112256858A (zh) * | 2020-10-09 | 2021-01-22 | 华中师范大学 | 融合问题模式和答题结果的双卷积知识追踪方法及*** |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10943497B2 (en) * | 2018-04-27 | 2021-03-09 | Adobe Inc. | Personalized e-learning using a deep-learning-based knowledge tracing and hint-taking propensity model |
US20200202226A1 (en) * | 2018-12-20 | 2020-06-25 | Fuji Xerox Co., Ltd. | System and method for context based deep knowledge tracing |
-
2021
- 2021-03-15 CN CN202110276011.2A patent/CN112949929B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110807469A (zh) * | 2019-09-19 | 2020-02-18 | 华中师范大学 | 融合长短时记忆与贝叶斯网络的知识追踪方法及*** |
CN111444432A (zh) * | 2020-04-01 | 2020-07-24 | 中国科学技术大学 | 领域自适应的深度知识追踪及个性化习题推荐方法 |
CN111538868A (zh) * | 2020-04-28 | 2020-08-14 | 中国科学技术大学 | 知识追踪方法及习题推荐方法 |
CN111695779A (zh) * | 2020-05-14 | 2020-09-22 | 华南师范大学 | 一种知识追踪方法、装置及存储介质 |
CN111563166A (zh) * | 2020-05-28 | 2020-08-21 | 浙江学海教育科技有限公司 | 一种针对数学问题分类的预训练模型方法 |
CN112182308A (zh) * | 2020-09-29 | 2021-01-05 | 华中师范大学 | 基于多热编码的多特征融合深度知识追踪方法及*** |
CN112256858A (zh) * | 2020-10-09 | 2021-01-22 | 华中师范大学 | 融合问题模式和答题结果的双卷积知识追踪方法及*** |
Non-Patent Citations (3)
Title |
---|
Is there a gender difference in interacting with intelligent tutoring system? Can Bayesian Knowledge Tracing and Learning Curve Analysis Models answer this question?;Leyla Zhuhadar and et al.;《Computer in Human Behavior》;20160831;第61卷;第198-204页 * |
一种结合深度知识追踪的个性化习题推荐方法;马骁睿等;《小型微型计算机***》;20200515(第05期);第990-995页 * |
多知识点知识追踪模型与可视化研究;徐墨客等;《电化教育研究》;20180921(第10期);第53-59页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112949929A (zh) | 2021-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112949929B (zh) | 一种基于协同嵌入增强题目表示的知识追踪方法及*** | |
Yang et al. | Graph r-cnn for scene graph generation | |
CN111078836B (zh) | 基于外部知识增强的机器阅读理解方法、***、装置 | |
CN111582694B (zh) | 一种学习评估方法及装置 | |
CN112380435A (zh) | 基于异构图神经网络的文献推荐方法及推荐*** | |
CN113190688B (zh) | 基于逻辑推理和图卷积的复杂网络链接预测方法及*** | |
CN111652202A (zh) | 利用自适应的时空图模型通过提升视频-语言表征学习来解决视频问答问题的方法及其*** | |
CN113673482B (zh) | 基于动态标签分配的细胞抗核抗体荧光识别方法及*** | |
CN113010683B (zh) | 基于改进图注意力网络的实体关系识别方法及*** | |
CN113254675B (zh) | 基于自适应少样本关系抽取的知识图谱构建方法 | |
CN115687610A (zh) | 文本意图分类模型训练方法、识别方法、装置、电子设备及存储介质 | |
CN114971066A (zh) | 融合遗忘因素和学习能力的知识追踪方法及*** | |
CN114880307A (zh) | 一种开放教育领域知识的结构化建模方法 | |
CN113283488B (zh) | 一种基于学习行为的认知诊断方法及*** | |
CN114707641A (zh) | 双视角图神经网络模型的训练方法、装置、设备及介质 | |
Lonij et al. | Open-world visual recognition using knowledge graphs | |
CN113326884A (zh) | 大规模异构图节点表示的高效学习方法及装置 | |
CN112818100A (zh) | 一种融合题目难度的知识追踪方法及*** | |
CN110647917B (zh) | 一种模型复用方法与*** | |
CN112132269A (zh) | 模型处理方法、装置、设备及存储介质 | |
CN116701665A (zh) | 基于深度学习的中医古籍知识图谱构建方法 | |
CN116541507A (zh) | 一种基于动态语义图神经网络的视觉问答方法及*** | |
CN115658921A (zh) | 一种基于预训练语言模型的开放域科学知识发现方法和装置 | |
Vergara et al. | A Schematic Review of Knowledge Reasoning Approaches Based on the Knowledge Graph | |
CN114399048A (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 |