深度学习推荐系统在智能教育中的应用,最容易应用的领域就是练、测、评环节。深度学习推荐系统就是将学生和题目的历史信息,作为系统输入,利用深度学习算法模型,找到学生和题目的隐表示,并利用这种隐表示(向量),找出学生和题目之间的隐藏关系,从而产生针对该学生的题目推荐。
智能教育深度学习推荐系统的架构图如下所示:
输入层主要包括学生的反馈数据,包括学习做题结果,从错到对分为0~5分,结果,我们将上式定义为学习对相应题目的需要程度,例如,如果学生做对了这道题目,得分为5分,则学生对这道题目的需要程度就为,表示学生不需要这道题目背后所代表的知识点和解题技巧的一类题目了。但是如果学生做错了这道题,得分为0分,则学生对与这道题类似题目的需要程度就为,表示由于学生做错了这道题目,代表学生未掌握这道题目所代表的知识点和解题技巧,因此特别需要这道题目。学生除了真实做题之外,还可以浏览题目,然后根据自己的判断,给每道题目对自己的难度来打分,这同样可以作为判断学生是否需要某道题目的依据。
模型层是目前比较流行的各种深度学习模型,具体的模型描述,大家可以参考我写的书《深度学习算法实践:基于TensorFlow和Theano》,我在这里就不进行描述了。
输出层利用模型层求出的学生隐表示和题目隐表示,通过向量内积、Softmax计算、相似度计算方法,最终产生针对学生具体情况的题目推荐列表。
深度学习推荐系统是随着深度学习兴起而兴起的技术,目前在国际上已经有了专门的国际学术会议,综合各种文献,我们认为深度学习推荐系统有以下五大应用方向:
深度学习内容推荐系统
基于内容的推荐系统就是对内容进行建模,在智能教育练、测、评应用中,就是对题目进行建模,包括题中所含有的知识点,解题中需要使用的解题技巧,以及其他特性,如计算量大、具有迷惑性描述等,将以上特征作为题目向量(隐表示)的一个维度,并以0~1之间数来表示符合程度,例如某个题目具有典型的某个知识点,该维度的值就为1,如果该题目完全没有涉及某知识点,则该知识点所对应维度上的数值就为0,如果该题目仅涉及某个知识点,但是不典型,则可以取一个的值。然后我们根据显示反馈即学生做题的正确错误情况,隐式反馈如学生认为题目难度情况和评论等,采用深度学习方法确定学生向量(隐表示)。接下来就可以根据题目向量(隐表示)和学生向量(隐表示)来确定学生对每道题目的需要程度,形成最终的推荐结果。
深度学习协同过滤推荐系统
深度学习协同过滤推荐系统实际与传统的协同过滤推荐系统相似,都是先根据学生做题目的结果,学生对题目的评价等交互行为,先确定学生向量(隐表示)内容,然后通过深度学习算法估计出题目向量(隐表示)内容,最后根据学生向量和题目向量,来进行推荐。
深度学习混合推荐系统
从上面的分析可以看出,基于内容的推荐系统和协同过滤推荐系统都有各自的优势,在实际中很多情况下是二者综合起来使用,虽然可以先进行一轮基于内容的推荐算法来确定学生向量,然后采用协同过滤算法再确定更新的问题向量,然后再利用基于内容的推荐算法找出更新的学生向量,一直重复这一过程。但是这种方式效率较低,实际应用中,通常将学生向量和题目向量综合起来,一次迭代同时更新两者的信息,组成所谓的混合推荐系统。
基于社交网络的深度学习推荐系统
以微博等为例的社交网络,用户之间通过关注等操作,形成一个社交图谱,通常是由意见领䄂组成中心节点的星形网络,然后通过若干不同星形网络间的连接节点,组成一个复杂的社交关系图网络,而用户的各种交互均在社交图网络上发生,通过深度学习算法研究人们在社交图网络的中的显示或隐示交互信息,就是基于社交网络的深度学习推荐系统要解决的问题。
基于情感计算的深度学习推荐系统
通过用户对各种资源的评论、评分、浏览、顶踩等操作,利用基于深度学习的情感计算技术,可以计算出用户的感情倾向,并以此为基础向用户进行推荐。
在这一节中,我们对深度学习推荐系统,进行了一个简单的介绍,从下一节开始,我们将讨论每种深度学习推荐系统算法在TensorFlow中的实现方式,如果可能,我们均将以深度学习推荐系统在智能教育中的应用为例来进行讲解。