CN113779396A - 题目推荐方法和装置、电子设备、存储介质 - Google Patents
题目推荐方法和装置、电子设备、存储介质 Download PDFInfo
- Publication number
- CN113779396A CN113779396A CN202111063015.9A CN202111063015A CN113779396A CN 113779396 A CN113779396 A CN 113779396A CN 202111063015 A CN202111063015 A CN 202111063015A CN 113779396 A CN113779396 A CN 113779396A
- Authority
- CN
- China
- Prior art keywords
- target
- historical
- topic
- reinforcement learning
- grade
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 80
- 230000002787 reinforcement Effects 0.000 claims abstract description 108
- 239000013598 vector Substances 0.000 claims abstract description 68
- 230000006399 behavior Effects 0.000 claims abstract description 32
- 238000013528 artificial neural network Methods 0.000 claims abstract description 27
- 238000011156 evaluation Methods 0.000 claims abstract description 22
- 230000006870 function Effects 0.000 claims description 46
- 230000015654 memory Effects 0.000 claims description 21
- 238000012549 training Methods 0.000 claims description 18
- 238000004891 communication Methods 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 5
- 230000002452 interceptive effect Effects 0.000 claims description 3
- 238000013473 artificial intelligence Methods 0.000 abstract description 8
- 230000009471 action Effects 0.000 description 38
- 239000003795 chemical substances by application Substances 0.000 description 37
- 238000012360 testing method Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 238000010801 machine learning Methods 0.000 description 7
- 230000003993 interaction Effects 0.000 description 5
- 238000013507 mapping Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 210000002569 neuron Anatomy 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000003292 diminished effect Effects 0.000 description 1
- 235000021158 dinner Nutrition 0.000 description 1
- 238000012854 evaluation process Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
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/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/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- 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)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Strategic Management (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Educational Administration (AREA)
- Educational Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Tourism & Hospitality (AREA)
- Marketing (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Primary Health Care (AREA)
- General Business, Economics & Management (AREA)
- Probability & Statistics with Applications (AREA)
- Algebra (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开实施例提供题目推荐方法和装置、电子设备、存储介质,涉及人工智能技术领域。该题目推荐方法,包括:获取在线测评系统的历史题目数据;对题目信息和做题行为特征进行向量化处理,得到每一历史题目的历史时间步特征;将历史时间步特征输入至GRU神经网络进行序列建模,得到对应每一历史时间步特征的历史状态向量;将历史状态向量输入至等级分类器进行等级预测,得到题目等级;将目标状态向量输入至预设的强化学习模型进行强化学习,得到题目概率分布;根据题目等级和题目概率分布,计算出目标损失;根据目标损失进行反向传播,从历史题目选择目标题目推荐给目标用户,通过本公开实施例的技术方案可以自适应推荐题目、并提高推荐的准确性。
Description
技术领域
本发明涉及人工智能技术领域,尤其涉及题目推荐方法和装置、电子设备和存储介质。
背景技术
机器学习中的推荐方法通常包括基于物品内容的推荐和基于用户相似度的推荐;其中基于物品内容的推荐,是将与用户购买的内容近似的物品推荐给用户,该推荐方法的前提是每个物品都得有若干个标签,以便于找出与用户购买物品类似的物品,基于物品内容的推荐算法的好处是关联程度较大,但是由于每个物品都需要贴标签,因此工作量较大。基于用户相似度的推荐,则是将与目标用户兴趣相同的其他用户购买的东西推荐给目标用户,例如小A历史上买了物品B和C,经过算法分析,发现另一个与小A近似的用户小D购买了物品E,于是将物品E推荐给小A。在一些电商应用中,一般是两类算法混合使用。
在线教育平台的在线测评系统经常需要对每个用户的教育水平进行定级,并按照已定的级别为用户推荐相应的学习产品。然而,当前的定级策略,给用户推送总共n道试题的试卷,用户必须去做完这n道题,最后根据用户的做题情况进行打分,再根据打分的结果对用户进行定级。这种定级策略需要用户去做冗长的题目数量,遇到用户不会做的题目后还需要继续推送题目,会造成用户的烦恼,影响用户体验,并导致用户对于后面推送的题目进行随便选择,而不能真实反应用户的能力,造成了总分数不准确,从而给出的定级级别不准确。
发明内容
本公开实施例的主要目的在于提出一种题目推荐方法和装置、电子设备和存储介质,实现自适应推荐题目、并提高推荐的准确性。
为实现上述目的,本公开实施例的第一方面提出了一种题目推荐方法,包括:
获取在线测评系统的历史题目数据;其中所述历史题目数据包括题目信息和做题行为特征;
对所述题目信息和做题行为特征进行向量化处理,得到每一历史题目的历史时间步特征;其中,每一历史题目对应于一历史时间步,所述历史时间步包括目标用户的目标时间步,所述历史时间步特征包括所述目标用户的目标时间步特征;
将所述历史时间步特征输入至GRU神经网络进行序列建模,得到对应每一历史时间步特征的历史状态向量;其中所述历史状态向量包括所述目标时间步特征的目标状态向量;
将所述历史状态向量输入至等级分类器进行等级预测,得到题目等级;
将所述目标状态向量输入至预设的强化学习模型进行强化学习,得到题目概率分布;
根据所述题目等级和所述题目概率分布,计算出目标损失;
根据所述目标损失进行反向传播,从所述历史题目选择目标题目推荐给所述目标用户。
在一些实施例,所述强化学习模型为Actor-Critic模型,所述Actor-Critic模型包括Actor网络模型,所述将所述目标状态向量输入至预设的强化学习模型进行强化学习,得到题目概率分布的步骤,包括:
将所述目标状态向量输入至所述Actor网络模型进行强化学习,得到每一目标时间步的目标决策;
根据目标决策得到所述题目概率分布。
在一些实施例,所述Actor-Critic模型还包括Crit ic网络模型,所述题目等级包括目标用户的实际等级和所述等级分类器输出的当前预测结果;所述根据所述题目等级和所述题目概率分布,计算出目标损失的步骤,包括:
通过所述Critic网络模型对所述目标决策进行深度强化学习,根据所述目标决策及根据所述当前预测结果和所述实际等级之间的等级差异,得到奖惩值;
通过所述Actor网络模型对所述奖惩值和所述题目概率分布进行计算,得到所述目标损失;其中,所述题目概率分布为所述目标决策的对数概率分布。
在一些实施例,所述目标决策包括继续推送题目和结束推送题目,所述通过所述Critic网络模型对所述目标决策进行深度强化学习,得到奖惩值的步骤,至少包括以下步骤之一:
若所述目标决策为所述继续推送题目,则将所述等级差异输入所述Critic网络模型,通过所述Critic网络模型进行深度强化学习,得到奖惩值;其中,所述等级差异包括0;
或者
若所述目标决策为所述结束推送题目,且所述等级差异为0,则将所述奖惩值加10;其中,若所述当前预测结果与所述实际等级一致,则所述等级差异为0;
或者
若所述目标决策为所述结束推送题目,且所述等级差异不为0,则将等级分类器输出的当前预测结果与目标用户的实际等级的等级差异输入Critic网络模型,通过Critic网络模型进行深度强化学习,得到奖惩值;其中,若所述当前预测结果与所述实际等级不一致,则所述等级差异不为0。
在一些实施例,所述强化学习模型为Actor-Critic模型,所述Actor-Critic模型包括Actor网络模型和Critic网络模型,所述方法还包括训练所述强化学习模型,具体包括:
构建原始主网络模型;
复制原始主网络模型,得到多个从网络模型;其中,每一所述从网络模型包括损失函数梯度;
对每一所述从网络模型进行分布式并行训练,更新每一所述从网络模型的损失函数梯度和所述等级分类器的损失函数梯度;
根据更新后的损失函数梯度更新所述原始主网络模型,得到所述强化学习模型。
在一些实施例,在所述对每一所述从网络模型进行分布式并行训练,更新每一所述从网络模型的损失函数梯度和所述等级分类器的损失函数梯度的步骤之前,所述方法包括:
每一所述从网络模型部署至不同的部署环境中;
建立每一所述从网络模型与相应的部署环境之间的交互通信;
将所述历史题目数据分别输入至每一所述从网络模型,以进行分布式并行训练。
在一些实施例,所述GRU神经网络和所述等级分类器构成序列模型,所述根据更新后的损失函数梯度更新所述原始主网络模型,得到所述强化学习模型的步骤,包括:
根据更新后的损失函数梯度得到目标函数梯度;
根据所述目标函数梯度更新所述原始主网络模型的结构,并更新所述原始主网络模型和所述序列模型的网络权重,得到所述强化学习模型。
为实现上述目的,本公开的第二方面提出了一种题目推荐装置,包括:
题目数据获取模块,用于获取在线测评系统的历史题目数据;其中所述历史题目数据包括题目信息和做题行为特征;
向量化模块,用于对所述题目信息和做题行为特征进行向量化处理,得到每一历史题目的历史时间步特征;其中,每一历史题目对应于一历史时间步,所述历史时间步包括目标用户的目标时间步,所述历史时间步特征包括所述目标用户的目标时间步特征;
序列建模模块,用于将所述历史时间步特征输入至GRU神经网络进行序列建模,得到对应每一历史时间步特征的历史状态向量;其中所述历史状态向量包括所述目标时间步特征的目标状态向量;
等级预测模块,用于将所述历史状态向量输入至等级分类器进行等级预测,得到题目等级;
强化学习模块,用于将所述目标状态向量输入至预设的强化学习模型进行强化学习,得到题目概率分布;
计算模块,用于根据所述题目等级和所述题目概率分布,计算出目标损失;
题目推荐模块,用于根据所述目标损失进行反向传播,从所述历史题目选择目标题目推荐给所述目标用户。
为实现上述目的,本公开的第三方面提出了一种电子设备,包括:
至少一个存储器;
至少一个处理器;
至少一个程序;
所述程序被存储在存储器中,处理器执行所述至少一个程序以实现本公开如上述第一方面所述的方法。
为实现上述目的,本公开的第四方面提出了一种存储介质,该存储介质是计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行:
如上述第一方面所述的方法。
本公开实施例提出的题目推荐方法和装置、电子设备、存储介质,通过获取在线测评系统的历史题目数据,并对所述历史题目数据的题目信息和做题行为特征进行向量化处理,得到每一历史题目的历史时间步特征;然后将所述历史时间步特征输入至GRU神经网络进行序列建模,得到对应每一历史时间步特征的历史状态向量;并将所述历史状态向量输入至等级分类器进行等级预测,得到题目等级;将目标用户的目标状态向量输入至预设的强化学习模型进行强化学习,得到题目概率分布;根据所述题目等级和所述题目概率分布,计算出目标损失;根据所述目标损失进行反向传播,从所述历史题目选择目标题目推荐给所述目标用户;通过本公开实施例提供的技术方案可以自适应推荐题目、并提高推荐的准确性。
附图说明
图1是本公开实施例提供的题目推荐方法的流程图。
图2是图1中的步骤105的流程图。
图3是图1中的步骤106的流程图。
图4是本公开另一实施例提供的题目推荐方法的部分流程图。
图5是本公开又一实施例提供的题目推荐方法的部分流程图。
图6是本公开实施例提供的电子设备的硬件结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
首先,对本申请中涉及的若干名词进行解析:
强化学习(Reinforcement Learning):强化学习又称再励学习、评价学习或增强学习,是机器学习的范式和方法论之一,用于描述和解决智能体(Agent)在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题;学习从环境状态到行为的映射,使得智能体选择的行为能够获得环境最大的奖赏,使得外部环境对学习系统在某种意义下的评价(或整个系统的运行性能)为最佳.其基本原理是:如果Agent的某个行为策略导致环境正的奖赏(强化信号),那么Agent以后产生这个行为策略的趋势便会加强。Agent的目标是在每个离散状态发现最优策略以使期望的折扣奖赏和最大。强化学习把学习看作试探评价过程,Agent选择一个动作用于环境,环境接受该动作后状态发生变化,同时产生一个强化信号(奖或惩)反馈给Agent,Agent根据强化信号和环境当前状态再选择下一个动作,选择的原则是使强化学习不同于连接主义学习中的监督学习,主要表现在教师信号上,强化学习中由环境提供的强化信号是Agent对所产生动作的好坏作一种评价(通常为标量信号),而不是告诉Agent如何去产生正确的动作。由于外部环境提供了很少的信息,Agent必须靠自身的经历进行学习。通过这种方式,Agent在行动一一评价的环境中获得知识,改进行动方案以适应环境受到正强化(奖)的概率增大。选择的动作不仅影响立即强化值,而且影响环境下一时刻的状态及最终的强化值。强化学习系统学习的目标是动态地调整参数,以达到强化信号最大。通常所说的强化学习,智能体Agent作为学习系统,获取外部环境的当前状态(State)信息s,对环境采取试探行为u,并获取环境反馈的对此动作的评价r和新的环境状态。如果智能体的某动作u导致环境正的奖赏(立即报酬),那么智能体以后产生这个动作的趋势便会加强;反之,智能体产生这个动作的趋势将减弱。在学习系统的控制行为与环境反馈的状态及评价的反复的交互作用中,以学习的方式不断修改从状态到动作的映射策略,以达到优化系统性能目的。强化学习包括Value-based(基于价值)和Policy-based(基于策略)两类,其中Value-based是学习价值函数,从价值函数采取出策略,确定一个策略at,是一种间接产生策略的方法;Value-Base中的action-value估计值最终会收敛到对应的true values(通常是不同的有限数,可以转化为0到1之间的概率),因此通常会获得一个确定的策略(deterministic policy);Policy-based是学习策略函数,直接产生策略的方法,会产生各个动作的概率πθ(a∣s);Policy-Based通常不会收敛到一个确定性的值;Policy-Based适用于连续的动作空间,在连续的动作空间中,可以不用计算每个动作的概率,而是通过Gaussian distribution(正态分布)选择action。
分布式强化学习(Distributional Reinforcement Learning):根据智能体(agent)工作方式的不同,可以将分布式强化学习分为:集中式强化学习、独立强化学习(reinforcement learning individually,RLI)、群体强化学习(reinforcement learninggroups,RLG)和社会强化学习;其中,集中式强化学习通常把整个多agent系统的协作机制看成学习的目标,承担学习任务的是一个全局性的中央学习单元,这个学习单元以整个多agent系统的整体状态为输人,以对各个agent的动作指派为输出,采用标准的强化学习方法进行学习,逐渐形成一个最优的协作机制;独立强化学习中每个agent都是独立的学习主体,它们分别学习对环境的响应策略和相互之间的协作策略,并对自己所感知到的环境状态选择一个获得回报最大的动作,独立强化学习中的agent可能只考虑自己的状态而不关心其它agent的状态,选择动作时也只考虑自己的利益,agent从信度分配模块获得的强化信号只与自己的状态和动作相联系,所以进行学习时甚至可能忽视其它agent的存在,认为只有自己在学习,相对于集中式强化学习,独立强化学习存在结构信度分配问题;群体强化学习将所有agent的状态或动作看作组合状态或组合动作,每个agent维护的Q表都是组合状态和组合动作到Q值的映射,群体强化学习的每个agent都必须考虑其它agent的状态,选择动作时也必须考虑集体的利益,所以具有状态空间和动作空间庞大的特点,学习速度很慢,通常需要加速算法的支持;社会强化学习可以看作是独立强化学习的推广,是独立强化学习与社会模型或经济模型的结合,其模拟人类社会中人类个体之间的交互过程,建立社会模型或经济模型,用社会学和管理学的办法来调节agent之间的关系,形成高效的交流、协作、竞争机制,从而达到整个系统意义上的学习目标,社会强化学习比独立强化学习具有更大的灵活性,可以建立更复杂的结构,采纳社会学或经济学的概念可以更有效地克服独立学习自私的缺陷,可以在agent之间传播优秀的策略,可以消解agent之间可能产生的冲突,可以更有效地解决结构信度分配问题。
RNN(Recurrent Neural Networks,循环神经网络):RNN由输入层、一个隐藏层和一个输出层组成。循环神经网络神经元不仅预测,还会传递一个时间步st-1给下一神经元。其中,输出层Ot是一个全连接层,Ot=g(Vst),g是激活函数,V是输出层的网络权重矩阵,st是隐藏层;也就是它的每个节点都和隐藏层的每个节点相连。当前输出由隐藏层计算获得,而当前隐藏层的计算不仅与输入有关,还与上一隐藏层的输出有关;st=f(Uxt+Wst-1),U是输入x的网络权重矩阵,W是上一次的值作为这一次的输入的网络权重矩阵,f是激活函数,隐藏层是循环层。
GRU(Gated Recurrent Unit,门控循环单元)神经网络:是LSTM(长短记忆)神经网络的一个变体,GRU在保持了LSTM的效果同时又使结构更加简单,是一种非常流行RNN神经网络,为了加强RNN的记忆能力;LSTM包含三个门,更新门(update gate)、遗忘门、输出门,而GRU只有两个门:更新门和重置门(reset gate),其中更新门控制前一时刻的状态信息被带入到当前状态中的程度。
Policy Gradient(策略梯度算法):直接根据当前的状态来选择动作。策略梯度算法是回合更新,在回合中的中每一步记录状态动作、奖励,在一个回合完成以后,目标损失函数预测回合中每步状态的动作,与已执行的动作做交叉熵,如果一个动作得到的奖励多,那么这个动作出现的概率增加,如果一个动作得到的奖励少,那么这个动作出现的概率减小。
Actor-Critic架构:Actor-Critic合并了Value-based(例如Q-learning算法)和Policy-based(比如Policy Gradient)算法;Actor-Critic架构包括Actor网络部分和Critic网络部分;其中Actor网络部分的前身是policy gradient,可以轻松地在连续动作空间内选择合适的动作。
嵌入(embedding):embedding是一种向量表征,是指用一个低维的向量表示一个物体,该物体可以是一个词,或是一个商品,或是一个电影等等;这个embedding向量的性质是能使距离相近的向量对应的物体有相近的含义,比如embedding(复仇者联盟)和embedding(钢铁侠)之间的距离就会很接近,但embedding(复仇者联盟)和embedding(乱世佳人)的距离就会远一些。embedding实质是一种映射,从语义空间到向量空间的映射,同时尽可能在向量空间保持原样本在语义空间的关系,如语义接近的两个词汇在向量空间中的位置也比较接近。embedding能够用低维向量对物体进行编码还能保留其含义,常应用于机器学习,在机器学习模型构建过程中,通过把物体编码为一个低维稠密向量再传给DNN,以提高效率。
反向传播:反向传播的大致原理为:将训练集数据输入到神经网络的输入层,经过神经网络的隐藏层,最后达到神经网络的输出层并输出结果;由于神经网络的输出结果与实际结果有误差,则计算估计值与实际值之间的误差,并将该误差从输出层向隐藏层反向传播,直至传播到输入层;在反向传播的过程中,根据误差调整各种参数的值;不断迭代上述过程,直至收敛。
Sofmax:Sofmax是一种函数,常应用于机器学习尤其是深度学习中,特别是应用在多分类的应用场景,将多个神经元的输出,映射到(0,1)区间内,可以看成概率来理解,从而来进行多分类,具体地,把输入映射为0-1之间的实数进行输出,并且归一化保证和为1,因此多分类的概率之和也刚好为1,最后的输出是每个分类被取到的概率。
机器学习中的推荐方法通常包括基于物品内容的推荐和基于用户相似度的推荐;其中基于物品内容的推荐,是将与用户购买的内容近似的物品推荐给用户,该推荐方法的前提是每个物品都得有若干个标签,以便于找出与用户购买物品类似的物品,基于物品内容的推荐算法的好处是关联程度较大,但是由于每个物品都需要贴标签,因此工作量较大。基于用户相似度的推荐,则是将与目标用户兴趣相同的其他用户购买的东西推荐给目标用户,例如小A历史上买了物品B和C,经过算法分析,发现另一个与小A近似的用户小D购买了物品E,于是将物品E推荐给小A。在一些电商应用中,一般是两类算法混合使用。
在线教育平台的在线测评系统经常需要对每个用户的教育水平进行定级,并按照已定的级别为用户推荐相应的学习产品。然而,当前的定级策略,给用户推送总共n道试题的试卷,用户必须去做完这n道题,最后根据用户的做题情况进行打分,再根据打分的结果对用户进行定级。这种定级策略需要用户去做冗长的题目数量,遇到用户不会做的题目后还需要继续推送题目,会造成用户的烦恼,影响用户体验,并导致用户对于后面推送的题目进行随便选择,而不能真实反应用户的能力,造成了总分数不准确,从而给出的定级级别不准确。
基于此,本公开实施例提供一种题目推荐方法和装置、电子设备、存储介质,可以自适应推荐题目,提高推荐效果。
本公开实施例提供题目推荐方法和装置、电子设备、存储介质,具体通过如下实施例进行说明,首先描述本公开实施例中的题目推荐方法。
本申请实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
本公开实施例提供的题目推荐方法,涉及人工智能技术领域,尤其涉及数据挖掘技术领域。本公开实施例提供的题目推荐方法可应用于终端中,也可应用于服务器端中,还可以是运行于终端或服务器端中的软件。在一些实施例中,终端可以是智能手机、平板电脑、笔记本电脑、台式计算机或者智能手表等;服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器;软件可以是实现题目推荐方法的应用等,但并不局限于以上形式。
本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
图1是本公开实施例提供的题目推荐方法的一个可选的流程图,图1中的方法可以包括但不限于包括步骤101至步骤107。
步骤101、获取在线测评系统的历史题目数据;其中历史题目数据包括题目信息和做题行为特征;
步骤102、对题目信息和做题行为特征进行向量化处理,得到每一历史题目的历史时间步特征;其中,每一历史题目对应于一历史时间步,历史时间步包括目标用户的目标时间步,历史时间步特征包括目标用户的目标时间步特征;
步骤103、将历史时间步特征输入至GRU神经网络进行序列建模,得到对应每一历史时间步特征的历史状态向量;其中历史状态向量包括目标时间步特征的目标状态向量;
步骤104、将历史状态向量输入至等级分类器进行等级预测,得到题目等级;
步骤105、将目标状态向量输入至预设的强化学习模型进行强化学习,得到题目概率分布;
步骤106、根据题目等级和题目概率分布,计算出目标损失;
步骤107、根据目标损失进行反向传播,从历史题目选择目标题目推荐给目标用户。
在线教育平台经常需要对每个用户的教育水平进行定级,在线教育平台的在线测评系统一般可以收集参加测评的测测试者的历史题目数据(包括题目信息和和做题行为特征),以统计测试者的得分。本公开实施例,通过获取在线测评系统收集到的历史题目数据,以基于该历史题目数据执行本公开实施例的题目推荐方法。
本公开实施例,基于序列的网络结构建模方式,并结合分布式强化学习,实现动态地、自适应地推荐题目,使得推荐的题目更加符合用户的实际能力水平,并且可以根据用户所做的题目信息和做题行为特征,动态地调整推荐的题目数量,不拘泥于传统的固定题目数量的方式,以高效地完成在线测评,提升用户体验;其中,基于序列的网络结构建模方式:是将用户的做题行为特征看作一个带有时间属性的序列。
在一些实施例,题目信息可以包括但不限于包括题目ID、题目属性,其他,题目属性可以包括但不限于包括题目描述、题目难度、所属领域;做题行为特征可以包括但不限于包括答案选择、做题耗时时间(在每一题目上的题目停留时间)、修改选择次数。
在一些实施例的步骤102中,通过embedding对题目信息和做题行为特征进行向量化处理,得到每一历史题目的历史时间步特征;其中每一历史题目对应于一历史时间步,将历史时间步记为t1,目标时间步记为t2,则历史时间步特征记为Featuret1,目标时间步特征记为Featuret2。其中,目标用户是指活动用户,是当前正在在线测评系统进行在线测评的活动用户。
在一些实施例的步骤103,通过GRU神经网络进行序列建模;具体地,将历史时间步特征Featuret1输入至GRU神经网络进行序列建模,得到对应每一历史时间步特征的历史状态向量,历史状态向量记为Statet1,则历史状态向量Statet1=(Featuret1);其中目标状态向量记为Statet2,则目标状态向量Statet2=(Featuret2)。状态向量用于描述当前的环境。
在一些实施例的步骤104,等级分类器可以表示为Level Classifier,将历史状态向量Statet1输入至Level Classifier进行等级预测,以对历史题目的等级进行分类,得到题目等级。其中,题目等级可以表示为Level,则Level=ArgMax(Sofmax(Statet1))。其中,Sofmax是一种函数,用于根据输入得到为0-1之间的实数进行输出,并且归一化保证和为1,选取其中的最大值作为预测值。
本公开实施主要涉及序列建模和强化学习两个阶段,在序列建模阶段,由GRU神经网络和Level Classifier构成序列模型;在强化学习阶段,由强化学习模型进行强化学习。后文,将结合具体的实施例进一步说明。
在一些实施例,在执行步骤104之前,题目推荐方法还包括:
训练等级分类器。具体地,可以通过输入正样本和负样本对Level Classifier进行训练;其中,正样本和负样本均来源于历史题目数据。可以理解的是,可以使用常规的训练方法进行训练,本公开实施例不做限定。
在一些实施例的步骤105,强化学习模型为Actor-Critic模型。其中,Actor-Critic模型包括Actor网络模型,请参阅图2,步骤105中,将目标状态向量输入至预设的强化学习模型进行强化学习,得到题目概率分布,可以包括但不限于包括:
步骤201、将目标状态向量输入至Actor网络模型进行强化学习,得到每一目标时间步的目标决策;
步骤202、根据目标决策得到题目概率分布。
具体地,在一些实施例的步骤201中,目标状态向量表征了题目信息(例如题目ID、题目属性等)和做题行为特征(例如答案选择、做题耗时时间、修改选择次数等),将目标用户的做题行为特征看作一个带有时间属性的做题序列;Actor网络模型通过Policygradient算法,收集目标用户的做题序列,得到目标决策,其中,目标决策包括继续推送题目和结束推送题目;该目标决策包括决策下一个推送的题目ID,其中,若Actor网络模型判断不需要再做题,可以选择终止推送题目;其中,若终止推送题目则用户做题序列收集完毕。
在一具体应用场景,把每一目标时间步t2对应的目标状态向量Statet2输入至Actor网络模型,Actor网络模型输出目标决策其中目标决策是K+1维度的题目概率分布,其中K是所有的题目ID,K+1表示除了需要推送的目标题目外,还有一个选项是停止推送,即结束推送题目。从中选择概率最大的选项题目终止推荐。
在一些实施例,Actor-Critic模型还包括Critic网络模型,题目等级包括目标用户的实际等级和等级分类器输出的当前预测结果;请参阅图3,步骤106中,根据题目等级和题目概率分布,计算出目标损失,可以包括但不限于包括:
步骤301、通过Critic网络模型对目标决策进行深度强化学习,根据目标决策及根据当前预测结果和实际等级之间的等级差异,得到奖惩值;
步骤302、通过Actor网络模型对奖惩值和题目概率分布进行计算,得到目标损失;其中,题目概率分布为目标决策的对数概率分布。
具体地,Critic网络模型通过深度强化学习(Deep-Q-learning)算法对Actor每一时间步的目标决策进行深度强化学习、以进行价值判断,做出奖励或者惩罚,得到奖惩值。其中,奖惩值表示为Rewards,目标决策的对数概率分布表示为:logProb(actions),actions即行为,是对应所有时间步的目标决策;Actor网络模型对奖惩值和题目概率分布进行计算,得到目标损失,目标损失表示为:-logProb(actions)*Rewards。
在一些实施例,目标决策包括继续推送题目和结束推送题目,步骤301、通过Critic网络模型对目标决策进行深度强化学习,得到奖惩值,至少包括以下步骤之一:
若目标决策为继续推送题目,则将等级差异输入Critic网络模型,通过Critic网络模型进行深度强化学习,得到奖惩值;其中,等级差异包括0;即,若目标决策为继续推送题目,则等级分类器输出的当前预测结果与目标用户的实际等级可以一致、等级分类器输出的当前预测结果与目标用户的实际等级也可以一致,也就是等级差异可以是0;
或者
若目标决策为结束推送题目,且等级差异为0,则将奖惩值加10;即可以表示为Rewards=Rewards+10;其中,若当前预测结果与实际等级一致,则等级差异为0;
或者
若目标决策为结束推送题目,且等级差异不为0,则将等级分类器输出的当前预测结果与目标用户的实际等级的等级差异输入Critic网络模型,通过Critic网络模型进行深度强化学习,得到奖惩值;其中,若当前预测结果与实际等级不一致,则等级差异不为0;即若目标决策为结束推送题目、且等级分类器输出的当前预测结果与目标用户的实际等级不一致,通过Critic网络模型进行深度强化学习,得到奖惩值,也就是在该实施例中,等级分类器输出的当前预测结果与目标用户的实际等级不一致,即等级差异一定不能为0。
在一应用场景,如果选择继续推送题目,则通过把当前等级分类器LevelClassifier输出的当前预测结果Predict level和用户实际等级Actual level的之间的等级差异输入Critic网络模型;当前等级分类器Level Classifier输出的当前预测结果Predict level和用户实际等级Actual level的之间的等级差异表示为Critic(Actuallevel-Predict level)。
如果结束推送,且当前等级分类器Level Classifier输出的当前预测结果Predict level和用户实际等级Actual level一致,则奖励值加10;
如果结束推送,但是当前等级分类器Level Classifier输出的当前预测结果Predict level和用户实际等级Actual level不一致,则Critic网络模型根据等级差异Critic(Actual level-Predict level)输出奖惩值。
本公开实施例基于序列的网络结构建模方式(序列模型),并结合分布式强化学习(Actor-Critic模型),实现动态地、自适应地推荐题目(可以停止),使得推荐的题目更加符合用户的实际能力水平,并且可以根据用户所做的题目信息和做题行为特征,动态地调整推荐的题目数量,不拘泥于传统的固定题目数量的方式,以高效地完成在线测评,提升用户体验。
在一些实施例,请参阅图4,题目推荐方法还包括训练强化学习模型,具体可以包括步骤401至步骤404:
步骤401、构建原始主网络模型;
步骤402、复制原始主网络模型,得到多个从网络模型;其中,每一从网络模型包括损失函数梯度;
步骤403、对每一从网络模型进行分布式并行训练,更新每一从网络模型的损失函数梯度和等级分类器的损失函数梯度;
步骤404、根据更新后的损失函数梯度更新原始主网络模型,得到强化学习模型。
在一些实施例,请参阅图5,对每一从网络模型进行分布式并行训练,更新每一从网络模型的损失函数梯度和等级分类器的损失函数梯度的步骤之前,该推荐方法可以包括但不限于包括:
步骤501、每一从网络模型部署至不同的部署环境中;
步骤502、建立每一从网络模型与相应的部署环境之间的交互通信;
步骤503、将历史题目数据分别输入至每一从网络模型,以进行分布式并行训练。
在一些实施例,GRU神经网络和等级分类器构成序列模型,即序列模型为GRU+Level Classifier的网络结构;在步骤404中,根据更新后的损失函数梯度更新原始主网络模型,得到强化学习模型的步骤,可以包括但不限于包括:
根据更新后的损失函数梯度得到目标函数梯度;
根据目标函数梯度更新原始主网络模型的结构,并更新原始主网络模型和序列模型的网络权重,得到强化学习模型。
在一具体应用场景,原始主网络模型表示为Master-Actor-Critic,每一从网络模型表示为Slave-Actor-Critic,每一Slave-Actor-Critic分布部署在不同的部署环境中,让每一Slave-Actor-Critic自主和部署环境进行交互,做出不同的题目推送尝试,将历史题目数据作为测试数据分别输入至每一Slave-Actor-Critic中,以对所有的Slave-Actor-Critic进行分布式并行训练,以更新每一Slave-Actor-Critic的损失函数和等级分类器的损失函数梯度;然后把更新每一Slave-Actor-Critic的损失函数梯度传递给Master-Actor-Critic,即由Master-Actor-Critic统一收集;并且Master-Actor-Critic同时收集Level Classifier的损失函数梯度,并根据目标函数和目标函数梯度更新Master-Actor-Critic的结构,及更新Master-Actor-Critic网络和GRU+Level Classifier的网络权重,从而得到强化学习模型。
在一些实施例的步骤107中,根据目标损失进行反向传播,从历史题目选择目标题目推荐给目标用户。可以理解的是,目标损失为Actor网络模型根据奖惩值和题目概率分布进行计算得到;而反向传播原理可以应用常规的反向传播原理,本公开实施例不做限定。
本公开实施例提供的技术方案,通过获取在线测评系统的历史题目数据,并对历史题目数据的题目信息和做题行为特征进行向量化处理,得到每一历史题目的历史时间步特征;然后将历史时间步特征输入至GRU神经网络进行序列建模,得到对应每一历史时间步特征的历史状态向量;并将历史状态向量输入至等级分类器进行等级预测,得到题目等级;将目标用户的目标状态向量输入至预设的强化学习模型进行强化学习,得到题目概率分布;根据题目等级和题目概率分布,计算出目标损失;根据目标损失进行反向传播,从历史题目选择目标题目推荐给目标用户;通过本公开实施例提供的技术方案可以自适应推荐题目、并提高推荐的准确性。本公开实施例基于序列的网络结构建模方式,并结合分布式强化学习,实现动态地、自适应地推荐题目,使得推荐的题目更加符合用户的实际能力水平,并且可以根据用户所做的题目信息和做题行为特征,动态地调整推荐的题目数量,不拘泥于传统的固定题目数量的方式,以高效地完成在线测评,提升用户体验。
本公开实施例提供的技术方案,结合分布式强化学习和有监督的序列建模,对于题目推送算法可以动态调整题目难度和题目数量;可以随着测试的不断进行,根据用户的动态表现以及用户对每一道题的反应程度,由神经网络决策每一次的题目推送(以及是否结束),达到自适应出题的效果。通过本公开实施例提供的推荐方法,可以更好地体现用户真实水平,解决了传统的推荐方法过于死板及简单的出题流程问题。此外,本公开实施例提供的推荐方法能够无监督训练,能够在缺乏数据的情况下,也能训练模型。
本公开实施例还提供一种题目推荐装置,可以实现上述题目推荐方法,该装置包括:
题目数据获取模块,用于获取在线测评系统的历史题目数据;其中历史题目数据包括题目信息和做题行为特征;
向量化模块,用于对题目信息和做题行为特征进行向量化处理,得到每一历史题目的历史时间步特征;其中,每一历史题目对应于一历史时间步,历史时间步包括目标用户的目标时间步,历史时间步特征包括目标用户的目标时间步特征;
序列建模模块,用于将历史时间步特征输入至GRU神经网络进行序列建模,得到对应每一历史时间步特征的历史状态向量;其中历史状态向量包括目标时间步特征的目标状态向量;
等级预测模块,用于将历史状态向量输入至等级分类器进行等级预测,得到题目等级;
强化学习模块,用于将目标状态向量输入至预设的强化学习模型进行强化学习,得到题目概率分布;
计算模块,用于根据题目等级和题目概率分布,计算出目标损失;
题目推荐模块,用于根据目标损失进行反向传播,从历史题目选择目标题目推荐给目标用户。
本公开实施例还提供了一种电子设备,包括:
至少一个存储器;
至少一个处理器;
至少一个程序;
所述程序被存储在存储器中,处理器执行所述至少一个程序以实现本公开实施上述的题目推荐方法。该电子设备可以为包括手机、平板电脑、个人数字助理(PersonalDigital Assistant,简称PDA)、车载电脑等任意智能终端。
请参阅图6,图6示意了另一实施例的电子设备的硬件结构,电子设备包括:
处理器601,可以采用通用的CPU(CentralProcessingUnit,中央处理器)、微处理器、应用专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本公开实施例所提供的技术方案;
存储器602,可以采用ROM(ReadOnlyMemory,只读存储器)、静态存储设备、动态存储设备或者RAM(RandomAccessMemory,随机存取存储器)等形式实现。存储器602可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器602中,并由处理器601来调用执行本公开实施例的题目推荐方法;
输入/输出接口603,用于实现信息输入及输出;
通信接口604,用于实现本设备与其他设备的通信交互,可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信;和
总线605,在设备的各个组件(例如处理器601、存储器602、输入/输出接口603和通信接口604)之间传输信息;
其中处理器601、存储器602、输入/输出接口603和通信接口604通过总线605实现彼此之间在设备内部的通信连接。
本公开实施例还提供了一种存储介质,该存储介质是计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令用于使计算机执行上述题目推荐方法。
本公开实施例提出的题目推荐方法、题目推荐装置、电子设备、存储介质,通过获取在线测评系统的历史题目数据,并对历史题目数据的题目信息和做题行为特征进行向量化处理,得到每一历史题目的历史时间步特征;然后将历史时间步特征输入至GRU神经网络进行序列建模,得到对应每一历史时间步特征的历史状态向量;并将历史状态向量输入至等级分类器进行等级预测,得到题目等级;将目标用户的目标状态向量输入至预设的强化学习模型进行强化学习,得到题目概率分布;根据题目等级和题目概率分布,计算出目标损失;根据目标损失进行反向传播,从历史题目选择目标题目推荐给目标用户;通过本公开实施例提供的技术方案可以自适应推荐题目、并提高推荐的准确性。本公开实施例基于序列的网络结构建模方式,并结合分布式强化学习,实现动态地、自适应地推荐题目,使得推荐的题目更加符合用户的实际能力水平,并且可以根据用户所做的题目信息和做题行为特征,动态地调整推荐的题目数量,不拘泥于传统的固定题目数量的方式,以高效地完成在线测评,提升用户体验。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本公开实施例描述的实施例是为了更加清楚的说明本公开实施例的技术方案,并不构成对于本公开实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本公开实施例提供的技术方案对于类似的技术问题,同样适用。
本领域技术人员可以理解的是,图1-5中示出的技术方案并不构成对本公开实施例的限定,可以包括比图示更多或更少的步骤,或者组合某些步骤,或者不同的步骤。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序的介质。
以上参照附图说明了本公开实施例的优选实施例,并非因此局限本公开实施例的权利范围。本领域技术人员不脱离本公开实施例的范围和实质内所作的任何修改、等同替换和改进,均应在本公开实施例的权利范围之内。
Claims (10)
1.一种题目推荐方法,其特征在于,包括:
获取在线测评系统的历史题目数据;其中所述历史题目数据包括题目信息和做题行为特征;
对所述题目信息和做题行为特征进行向量化处理,得到每一历史题目的历史时间步特征;其中,每一历史题目对应于一历史时间步,所述历史时间步包括目标用户的目标时间步,所述历史时间步特征包括所述目标用户的目标时间步特征;
将所述历史时间步特征输入至GRU神经网络进行序列建模,得到对应每一历史时间步特征的历史状态向量;其中所述历史状态向量包括所述目标时间步特征的目标状态向量;
将所述历史状态向量输入至等级分类器进行等级预测,得到题目等级;
将所述目标状态向量输入至预设的强化学习模型进行强化学习,得到题目概率分布;
根据所述题目等级和所述题目概率分布,计算出目标损失;
根据所述目标损失进行反向传播,从所述历史题目选择目标题目推荐给所述目标用户。
2.根据权利要求1所述的方法,其特征在于,所述强化学习模型为Actor-Critic模型,所述Actor-Critic模型包括Actor网络模型,所述将所述目标状态向量输入至预设的强化学习模型进行强化学习,得到题目概率分布的步骤,包括:
将所述目标状态向量输入至所述Actor网络模型进行强化学习处理,得到每一目标时间步的目标决策;
根据目标决策得到所述题目概率分布。
3.根据权利要求2所述的方法,其特征在于,所述Actor-Critic模型还包括Critic网络模型,所述题目等级包括所述目标用户的实际等级和所述等级分类器输出的当前预测结果;所述根据所述题目等级和所述题目概率分布,计算出目标损失的步骤,包括:
通过所述Critic网络模型对所述目标决策进行深度强化学习,根据所述目标决策及根据所述当前预测结果和所述实际等级之间的等级差异,得到奖惩值;
通过所述Actor网络模型对所述奖惩值和所述题目概率分布进行计算,得到所述目标损失;其中,所述题目概率分布为所述目标决策的对数概率分布。
4.根据权利要求3所述的方法,其特征在于,所述目标决策包括继续推送题目和结束推送题目,所述通过所述Critic网络模型对所述目标决策进行深度强化学习,根据所述目标决策及根据所述当前预测结果和所述实际等级之间的等级差异,得到奖惩值的步骤,至少包括以下步骤之一:
若所述目标决策为所述继续推送题目,则将所述等级差异输入所述Critic网络模型,通过所述Critic网络模型进行深度强化学习,得到奖惩值;其中,所述等级差异包括0;
或者
若所述目标决策为所述结束推送题目,且所述等级差异为0,则将所述奖惩值加10;其中,若所述当前预测结果与所述实际等级一致,则所述等级差异为0;
或者
若所述目标决策为所述结束推送题目,且所述等级差异不为0,则将所述等级差异输入Critic网络模型,通过Critic网络模型进行深度强化学习,得到奖惩值;其中,若所述当前预测结果与所述实际等级不一致,则所述等级差异不为0。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述强化学习模型为Actor-Critic模型,所述Actor-Critic模型包括Actor网络模型和Critic网络模型,所述方法还包括训练所述强化学习模型,具体包括:
构建原始主网络模型;
复制原始主网络模型,得到多个从网络模型;其中,每一所述从网络模型包括损失函数梯度;
对每一所述从网络模型进行分布式并行训练,更新每一所述从网络模型的损失函数梯度和所述等级分类器的损失函数梯度;
根据更新后的损失函数梯度更新所述原始主网络模型,得到所述强化学习模型。
6.根据权利要求5所述的方法,其特征在于,在所述对每一所述从网络模型进行分布式并行训练,更新每一所述从网络模型的损失函数梯度和所述等级分类器的损失函数梯度的步骤之前,所述方法包括:
每一所述从网络模型部署至不同的部署环境中;
建立每一所述从网络模型与相应的部署环境之间的交互通信;
将所述历史题目数据分别输入至每一所述从网络模型,以进行分布式并行训练。
7.根据权利要求5所述的方法,其特征在于,所述GRU神经网络和所述等级分类器构成序列模型,所述根据更新后的损失函数梯度更新所述原始主网络模型,得到所述强化学习模型的步骤,包括:
根据更新后的损失函数梯度得到目标函数梯度;
根据所述目标函数梯度更新所述原始主网络模型的结构,并更新所述原始主网络模型和所述序列模型的网络权重,得到所述强化学习模型。
8.一种题目推荐装置,其特征在于,包括:
题目数据获取模块,用于获取在线测评系统的历史题目数据;其中所述历史题目数据包括题目信息和做题行为特征;
向量化模块,用于向量化所述题目信息和做题行为特征,得到每一历史题目的历史时间步特征;其中,每一历史题目对应于一历史时间步,所述历史时间步包括目标用户的目标时间步,所述历史时间步特征包括所述目标用户的目标时间步特征;
序列建模模块,用于将所述历史时间步特征输入至GRU神经网络进行序列建模,得到对应每一历史时间步特征的历史状态向量;其中所述历史状态向量包括所述目标时间步特征的目标状态向量;
等级预测模块,用于将所述历史状态向量输入至等级分类器进行等级预测,得到题目等级;
强化学习模块,用于将所述目标状态向量输入至预设的强化学习模型进行强化学习,得到题目概率分布;
计算模块,用于根据所述题目等级和所述题目概率分布,计算出目标损失;
题目推荐模块,用于根据所述目标损失进行反向传播,从所述历史题目选择目标题目推荐给所述目标用户。
9.一种电子设备,其特征在于,包括:
至少一个存储器;
至少一个处理器;
至少一个程序;
所述程序被存储在存储器中,处理器执行所述至少一个程序以实现:
如权利要求1至7任一项所述的方法。
10.一种存储介质,所述存储介质为计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行:
如权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111063015.9A CN113779396B (zh) | 2021-09-10 | 2021-09-10 | 题目推荐方法和装置、电子设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111063015.9A CN113779396B (zh) | 2021-09-10 | 2021-09-10 | 题目推荐方法和装置、电子设备、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113779396A true CN113779396A (zh) | 2021-12-10 |
CN113779396B CN113779396B (zh) | 2023-09-01 |
Family
ID=78842569
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111063015.9A Active CN113779396B (zh) | 2021-09-10 | 2021-09-10 | 题目推荐方法和装置、电子设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113779396B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160217701A1 (en) * | 2015-01-23 | 2016-07-28 | Massachusetts Institute Of Technology | System And Method For Real-Time Analysis And Guidance Of Learning |
CN110543995A (zh) * | 2018-05-29 | 2019-12-06 | 青岛农业大学 | 一种基于模糊算法的学生认知水平的测试评定系统 |
CN110659311A (zh) * | 2019-09-30 | 2020-01-07 | 浙江学海教育科技有限公司 | 题目推送方法、装置、电子设备及存储介质 |
CN110825957A (zh) * | 2019-09-17 | 2020-02-21 | 中国平安人寿保险股份有限公司 | 基于深度学习的信息推荐方法、装置、设备及存储介质 |
CN111813921A (zh) * | 2020-08-20 | 2020-10-23 | 浙江学海教育科技有限公司 | 题目推荐方法、电子设备及计算机可读存储介质 |
CN112100341A (zh) * | 2020-04-13 | 2020-12-18 | 上海迷因网络科技有限公司 | 一种用于快速表达力测试的智能化题目分类及推荐方法 |
CN112348725A (zh) * | 2020-11-30 | 2021-02-09 | 上海松鼠课堂人工智能科技有限公司 | 基于大数据的知识点难度定级方法 |
CN112836122A (zh) * | 2021-02-03 | 2021-05-25 | 上海阅想教育科技有限公司 | 一种基于应用数据构建推荐系统的方法 |
CN113240323A (zh) * | 2021-06-01 | 2021-08-10 | 平安科技(深圳)有限公司 | 基于机器学习的水平评测方法、装置及相关设备 |
CN113283585A (zh) * | 2021-05-24 | 2021-08-20 | 北京大学 | 一种基于自注意力机制的知识追踪方法及系统 |
-
2021
- 2021-09-10 CN CN202111063015.9A patent/CN113779396B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160217701A1 (en) * | 2015-01-23 | 2016-07-28 | Massachusetts Institute Of Technology | System And Method For Real-Time Analysis And Guidance Of Learning |
CN110543995A (zh) * | 2018-05-29 | 2019-12-06 | 青岛农业大学 | 一种基于模糊算法的学生认知水平的测试评定系统 |
CN110825957A (zh) * | 2019-09-17 | 2020-02-21 | 中国平安人寿保险股份有限公司 | 基于深度学习的信息推荐方法、装置、设备及存储介质 |
CN110659311A (zh) * | 2019-09-30 | 2020-01-07 | 浙江学海教育科技有限公司 | 题目推送方法、装置、电子设备及存储介质 |
CN112100341A (zh) * | 2020-04-13 | 2020-12-18 | 上海迷因网络科技有限公司 | 一种用于快速表达力测试的智能化题目分类及推荐方法 |
CN111813921A (zh) * | 2020-08-20 | 2020-10-23 | 浙江学海教育科技有限公司 | 题目推荐方法、电子设备及计算机可读存储介质 |
CN112348725A (zh) * | 2020-11-30 | 2021-02-09 | 上海松鼠课堂人工智能科技有限公司 | 基于大数据的知识点难度定级方法 |
CN112836122A (zh) * | 2021-02-03 | 2021-05-25 | 上海阅想教育科技有限公司 | 一种基于应用数据构建推荐系统的方法 |
CN113283585A (zh) * | 2021-05-24 | 2021-08-20 | 北京大学 | 一种基于自注意力机制的知识追踪方法及系统 |
CN113240323A (zh) * | 2021-06-01 | 2021-08-10 | 平安科技(深圳)有限公司 | 基于机器学习的水平评测方法、装置及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113779396B (zh) | 2023-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110796190B (zh) | 具有深度学习特征的指数建模 | |
KR102071582B1 (ko) | 딥 뉴럴 네트워크(Deep Neural Network)를 이용하여 문장이 속하는 클래스(class)를 분류하는 방법 및 장치 | |
KR102077804B1 (ko) | 학습 데이터 전처리 방법 및 시스템 | |
EP3673419B1 (en) | Population based training of neural networks | |
US20200242736A1 (en) | Method for few-shot unsupervised image-to-image translation | |
KR102387305B1 (ko) | 멀티모달 데이터 학습 방법 및 장치 | |
US20220121934A1 (en) | Identifying neural networks that generate disentangled representations | |
CN115917535A (zh) | 推荐模型的训练方法、推荐方法、装置及计算机可读介质 | |
US12020267B2 (en) | Method, apparatus, storage medium, and device for generating user profile | |
Dai et al. | Hybrid deep model for human behavior understanding on industrial internet of video things | |
CN113609337A (zh) | 图神经网络的预训练方法、训练方法、装置、设备及介质 | |
CN113158554A (zh) | 模型优化方法、装置、计算机设备及存储介质 | |
CN114417174B (zh) | 内容推荐方法、装置、设备及计算机存储介质 | |
CN117711001B (zh) | 图像处理方法、装置、设备和介质 | |
CN116843022A (zh) | 一种数据处理方法及相关装置 | |
CN115423016A (zh) | 多任务预测模型的训练方法、多任务预测方法及装置 | |
CN113779396A (zh) | 题目推荐方法和装置、电子设备、存储介质 | |
CN113822293A (zh) | 用于图数据的模型处理方法、装置、设备及存储介质 | |
CN110727705A (zh) | 信息推荐方法、装置、电子设备及计算机可读存储介质 | |
KR102618066B1 (ko) | 군인 기반 커뮤니티 애플리케이션에서 자연어 처리 및 이미지 대조를 기반으로 하여 군사 보안을 강화하는 방법, 장치 및 시스템 | |
US20240152440A1 (en) | Game performance prediction across a device ecosystem | |
US20240020553A1 (en) | Interactive electronic device for performing functions of providing responses to questions from users and real-time conversation with the users using models learned by deep learning technique and operating method thereof | |
Dube | Unleashing the Power of Generation | |
CN116977762A (zh) | 模型训练方法、装置、计算机设备及计算机可读存储介质 | |
CN116702016A (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 |