一种基于隐式反馈数据的偏好计算方法及数据生成装置与流程

文档序号:20577628发布日期:2020-04-29 01:14阅读:148来源:国知局
一种基于隐式反馈数据的偏好计算方法及数据生成装置与流程

本发明涉及一种基于隐式反馈数据的偏好计算方法及数据生成装置,属于互联网教育领域。



背景技术:

“互联网+教育”是随着当今科学技术的不断发展,互联网科技与教育领域相结合的一种新的教育形式。互联网教育是利用信息化技术对教育行业进行变革,让更多人以更低的成本享受更好教育资源的教育方式。其中一对一的英语外教授课平台,让中国用户有机会通过视频直接向外国老师学习纯正的英语。在英语外教授课平台上,面对众多老师,用户存在不知如何选择授课老师的问题,而如何为学员匹配最适合的老师,也是所有一对一授课平台一直存在的问题。



技术实现要素:

本发明的目的在于,提供一种基于隐式反馈数据的偏好计算方法,其能够量化用户对每个约课对象的偏好值,通过量化后的偏好值,来获取用户的对约课对象的个性化排序及授课平台上所有约课对象的排序,既能满足老用户的个性化需求,又能为新用户提供约课对象的优选方案。

为解决上述技术问题,本发明采用如下的技术方案:一种基于隐式反馈数据的偏好计算方法,包括如下步骤:

获取用户约课数据;根据用户约课数据生成偏好比对数据;根据偏好比对数据和偏好值计算模型获取偏好计算值;根据偏好计算值和偏好预测值对约课集合中的对象进行排序;用户约课数据包括约课对象和约课时间;所述偏好值计算模型包括第一组评分模型r=a,v=b2,其中r为能力评分,v为方差,b为偏差值,a和b为正整数值;偏好值计算模型包括第二组评分模型r=rold,v=min(vold+c2t,b2),其中c为衡量时间因素的常量系数,t为用户约课同一约课对象的时间间隔;偏好值计算模型包括第三组评分模型其中sj等于0或者1,ej表示约课对象被用户约课的概率。

前述的这种基于隐式反馈数据的偏好计算方法,所述根据用户约课数据生成偏好比对数据包括如下步骤:

步骤s01:获取偏好对象数据,所述偏好对象数据包括用户近3个月的所约对象和收藏对象。

步骤s02:判断约课对象是否记录在偏好对象数据中;若在偏好对象数据中记录有所述约课对象,则执行步骤s03;若在偏好对象数据中未记录有约课对象,则执行步骤s04;

步骤s03:检索偏好对象数据中是否存在其它可约课对象,所述其它可约课对象在所述约课时间段内可约课;若在所述约课时间段内存在其它可约课对象,则记录所述其它可约课对象并执行步骤s05;若在所述约课时间段内不存在其它可约课对象,则执行步骤s06;

步骤s04:停止检索,且无偏好比对数据生成;

步骤s05:生成所述偏好比对数据;

步骤s06:停止生成偏好比对数据。

前述的这种基于隐式反馈数据的偏好计算方法,所述根据偏好比对数据和偏好值计算模型获取偏好计算值包括如下步骤:

步骤s07:判断所述约课对象是否在约课集合中,若判断结果为否,则执行步骤s08;若判断结果为是,则执行步骤s09;

步骤s08:根据所述第一组评分模型计算约课对象的初评数值;

步骤s09:根据所述第二组评分模型计算约课对象的再评数值,和/或

根据所述第二组评分模型计算所述其他约课对象的再评数值;

步骤s10:根据所述第三组评分模型更新计算约课对象再评数值,和/或

根据所述第三组评分模型更新计算所述其他约课对象的再评数值。其他约课对象可以是授课平台上的任一个或多个用户可约课对象。

前述的这种基于隐式反馈数据的偏好计算方法,在根据所述偏好计算值和偏好预测值对约课集合中的对象进行排序之前,还包括通过第四组评分模型获取所述偏好预测值,所述第四组评分模型包括

其中为u矩阵和t矩阵中的所有元素集合,g(xui-xuj)表示xui>xuj的概率,u矩阵是代表用户的特征矩阵,t矩阵是代表约课对象的特征矩阵。

前述的这种基于隐式反馈数据的偏好计算方法,所述通过第四组评分模型获取偏好预测值包括如下步骤:

步骤s011:随机初始化的值;

步骤s012:随机抽取一位用户u,从x矩阵的第u行中抽取两个非零元素i和j,根据所述i和j之间的值和第四组评分模型获得的更新值;

步骤s013:重复步骤s012直到收敛,收敛的标准是

前述的一种基于隐式反馈数据的偏好计算方法,所述约课集合中的元素为授课系统中的所有可所约对象。

前述的一种基于隐式反馈数据的偏好计算方法,所述约课集合中的元素为用户近3个月的所约对象和收藏对象。

前述的一种基于隐式反馈数据的偏好计算方法,所述步骤s05之前,当连续30min内所述用户的约课对象相同时,则执行步骤s06;约课对象加入授课系统的时间小于30天时,则b的取值大于等于45;所述约课对象加入授课系统的时间大于30天时,则b的取值大于等于30;所述偏好计算值在24小时内的数值变化小于等于200。

一种基于隐式反馈数据的数据生成装置,所述装置包括:

用户行为数据获取模块,用于获取用户的约课数据,所述约课数据包括约课对象和约课时间;

偏好数据生成模块,用于根据用户的约课数据生成偏好比对数据;

偏好值计算模块,用于计算约课对象的偏好计算值;

偏好值预测模块,用于预测用户对未约课的对象的偏好预测值;

排序模块,用于根据所述偏好计算值和偏好预测值对约课集合中的对象进行排序,所述约课集合中的对象包括授课系统中的所有所约对象或用户近3个月的所约对象和收藏对象;

第二数据限定模块,用于限制生成偏好比对数据的非生成条件,所述非生成条件为连续30min内用户的约课对象相同;

第三数据限定模块,用于限制偏差值的取值范围,所述用户的约课对象加入授课系统的时间小于30天时,则偏差值的取值大于等于45,所述用户的约课对象加入授课系统的时间大于30时,则偏差值的取值大于等于30;

第一数据限定模块,用于将24小时内的偏好计算值的数值变化限制在0~200之间。

一种基于隐式反馈数据的处理装置,其特征在于,所述装置包括:

处理器;

存储器,其上存储有可在处理器上运行的计算机程序;

其中,所述计算机程序被处理器执行时实现如权利要求1至10中任一项的基于隐式反馈数据的偏好计算方法的步骤。

与现有技术相比,本发明量化了用户的主观偏好,根据偏好计算值和偏好预测值对约课集合中的对象进行排序;更科学的得到了授课平台中所有可约课对象的排序分值。本发明方法以每位用户下的偏好计算值和偏好预测值为排序指标,能够实现个性化约课对象的搜索和推荐。通过使用本发明方法为用户推荐约课对象后,用户对所约课对象的好评率有了明显的提高。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的不当限制。在附图中:

图1是本发明的一种实施例的工作流程图;

图2是本发明的另一种实施例的工作流程图;

图3是本发明实施例2中的偏好值计算模型图。

下面结合附图和具体实施方式对本发明作进一步的说明。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

本发明的实施例1:一种基于隐式反馈数据的偏好计算方法,包括如下步骤:

步骤s1:获取用户约课数据;用户约课数据包括约课对象和约课时间;

步骤s2:根据用户约课数据生成偏好比对数据;

步骤s3:根据偏好比对数据和偏好值计算模型获取偏好计算值;

步骤s4:根据所述偏好计算值和偏好预测值对约课集合中的对象进行排序;

其中,偏好值计算模型包括第一组评分模型r=a,v=b2,其中r为能力评分,v为方差,b为偏差值,a和b为正整数值;

偏好值计算模型包括第二组评分模型r=rold,v=min(vold+c2t,b2),其中c为衡量时间因素的常量系数,t为用户约课同一约课对象的时间间隔;

偏好值计算模型包括第三组评分模型其中sj等于0或者1,ej表示约课对象被用户约课的概率。

进一步的,根据用户约课数据生成偏好比对数据包括如下步骤:

步骤s01:获取偏好对象数据,所述偏好对象数据包括用户近3个月的所约对象和收藏对象。

步骤s02:判断约课对象是否记录在偏好对象数据中;若在偏好对象数据中记录有所述约课对象,则执行步骤s03;若在偏好对象数据中未记录有所述约课对象,则执行步骤s04;

步骤s03:检索偏好对象数据中是否存在其它可约课对象,所述其它可约课对象在所述约课时间段内可约课;若在所述约课时间段内存在其它可约课对象,则记录所述其它可约课对象并执行步骤s05;若在所述约课时间段内不存在其它可约课对象,则执行步骤s06;

步骤s04:停止检索,且无偏好比对数据生成;

步骤s05:生成所述偏好比对数据;

步骤s06:停止生成偏好比对数据。

更进一步的,根据偏好比对数据和偏好值计算模型获取偏好计算值包括如下步骤:

步骤s07:判断所述约课对象是否在约课集合中,若判断结果为否,则执行步骤s08;若判断结果为是,则执行步骤s09;

步骤s08:根据所述第一组评分模型计算所述约课对象的初评数值;

步骤s09:根据所述第二组评分模型计算所述约课对象的再评数值,和/或根据所述第二组评分模型计算所述其他约课对象的再评数值;

步骤s10:根据所述第三组评分模型更新计算所述约课对象再评数值,和/或根据所述第三组评分模型更新计算所述其他约课对象的再评数值。

其中,偏好预测值通过第四组评分模型来获取,所述第四组评分模型包括

其中为u矩阵和t矩阵中的所有元素集合,g(xui-xuj)表示xui>xuj的概率,u矩阵是代表用户的特征矩阵,t矩阵是代表约课对象的特征矩阵。

进一步的,通过第四组评分模型获取偏好预测值包括如下步骤:

步骤s011:随机初始化的值;

步骤s012:随机抽取一位用户u,从x矩阵的第u行中抽取两个非零元素i和j,根据所述i和j之间的值和第四组评分模型获得的更新值;

步骤s013:重复步骤s012直到收敛,收敛的标准是

具体的,约课集合中的元素为授课系统中的所有可所约对象。

具体的,约课集合中的元素为用户近3个月的所约对象和收藏对象。

其中,在步骤s05之前,当连续30min内所述用户的约课对象相同时,则执行步骤s06;约课对象加入授课系统的时间小于30天时,则b的取值大于等于45;所述约课对象加入授课系统的时间大于30天时,则b的取值大于等于30;所述偏好计算值在24小时内的数值变化小于等于200。

本发明实施例2:获取英语授课平台中的用户约课数据,根据用户约课数据生成偏好比对数据,用户约课数据包括约课对象和约课时间。本例中,用户为学员ui,用户约课数据为学员选择上课的时间记为sloti,约课时间为学员选择的上课老师记为tj,学员ui收藏且上过课的老师有5个,记为si={t1,t2,t3,t4,t5},该学员ui新约了一节课,通过图3所示偏好比对数据获取模型,学员ui约课数据获取过程如下:

step1:检查被约的tj老师是否在集合si中。如果是,则进入step2,否则不记录该条数据。

step2:假设被约的tj老师就是老师集合si中的老师t1,对该集合中其他老师(即{t2,...,t5}),查询他们在sloti这个时段是否可约(即是否在该时段有课并且还未被其他学员约走)。如果还有可约老师,则进入step3,否则不记录该条数据。

step3:假设si集合中的老师t2和t5也可约,则认为学员在约课时,可选的老师集合是{t1,t2,t5},最后选择了老师t1。说明在该学员看来,t1比t2和t5更适合该学员。因此该数据记录为{ui:t1>t2}和{ui:t2>t5}两条老师之间的比对数据。

学员每发生一次约课行为,都会根据上述偏好比对数据获取模型来获取对应的偏好比对数据。由于老师的可约状态是一直在动态变化的,实时查询其他老师在当时是否可约,才能最大程度的还原用户约课时面临的选择,因而学员约课数据也是在学员约课时实时获取的。

此外,对比的老师集合si中必须是学员上过课的老师,能够保证收集到的老师是用户(学员)真实体验过的。即在本方法中只有学员真正上过所约课老师的课后,才能有评价老师的权利。用户(学员)必须放弃某些体验过的老师,才会产生对比数据。这种数据获取方式记录了用户对体验过的老师的真实偏好,相比传统的数据采集方法(例如学员直接根据老师信息进行打分等)更准确的体现了用户(学员)对不同老师的偏好强弱程度。

进一步的,根据所获取的偏好比对数据{ui:t1>t2}、{ui:t2>t5}及偏好值计算模型获取偏好计算值;

偏好计算值的获取是基于所获取的偏好比对数据和glicko算法,对每位学员量化其在上过课的老师的偏好值。其中,glicko算法为各类竞技比赛中常用的一种评分系统。glicko算法中用rating和rd(ratingdeviation)两个指标来衡量选手的能力。rating表示评分的估计,评分越高,能力越强;rd表示评分的标准差,标准差越大,评分波动的越厉害。每次比赛之后都会更新参赛选手的rating和rd两个指标,rd会越来越小,表示对评分估计的越来越准确。而长时间未参赛的选手,rd会增加,表示随着时间的推移,选手的评分会有更大的不确定性。

本例中将英语授课平台中的所有老师当作比赛选手,把用户(学员)约课时产生的偏好比对数据,当作老师之间的比赛结果。例如,偏好比对数据{ui:t1>t2}则代表:在用户(学员)ui的体系下,老师t1在一场比赛中击败了老师t2。

具体的评分计算规则如下:

对于老师t1,记其能力评分(rating)为r;偏差(可理解为:标准差)为rd,为了方便计算,记方差为v(v=rd2);第j次的比赛结果为sj;在一个周期t+1内,参与了m次比赛。则其进入系统后。则其进入系统后,随着比赛的增加,得分相应计算如下:

step1:初始化评分

(a)无历史评分,评分r=rold,方差v=min(vold+c2t,3502),其中c为衡量时间因素的常量系数,t为本次比赛和上次比赛的时间间隔(几个时间周期)

(b)有历史评分,评分r=rold,方差v=min(vold+c2t,3502),其中c为衡量时间因素的常量系数,t为本次比赛和上次比赛的时间间隔(几个时间周期)

step2:更新评分rnew与方差vnew

(a)方差:

(b)评分:其中:sj等于0或者1,选手比赛胜利时取值为1,选手比赛失败时取值为0。ej表示选手比赛时获胜的概率,其中rj表示对手当前的评分。

依照本发明上述算法,可设计两套老师的排序分系统。一套排序分系统是基于所有用户产生的比对数据,来建立英语授课平台中的所有老师排序分系统;另一套排序分系统是基于每个用户自己产生的对比数据,来建立英语授课平台中个性化老师(每个用户所选过的老师)排序分系统。当从模块1中得到{ui:t1>t2}这条数据(学员ui的偏好数据)时,认为老师t1在一场比赛中打败了t2。依照step2所述计算公式,对t1和t2的评分和方差进行更新。实际应用中会同时更新所有老师排序分系统中的老师得分和个性化老师排序系统中的老师得分。

建立英语授课平台中的所有老师排序分系统的用处是,当一个新用户进入平台时,没有任何历史行为数据,可以使用所有老师排序分系统中老师的得分作为个性化老师排序系统中新用户的个性化得分。由此,新用户的起初偏好,取决于所有用户的历史行为;新用户在成长过程中,会演化出自身的偏好,同时其偏好数据也会融入所有用户的偏好数据,并对下一批新个体的偏好产生影响。

最后,考虑到英语授课平台中的实际情况(例如新旧老师的交替、老师开课次数限制等),本发明基于多次试验测试,加入了对方差的上下限,以及每日分数变化的控制,具体数据限制和阈值设置如下:

(1)同一用户在同一个小时内约课产生的相同老师偏好数据只记录一次,即若连续约两节课,产生两对一样的老师数据,实际是用户一次比较下的结果,因此只记录一次。

(2)老师进入系统后的一个月内偏差值rd不低于45,一个月后不低于30。由于不同老师曝光程度不同,维持一定的方差能保证老师的分数能一直根据用户的偏好变化而改变。

(3)同一老师在一天内的分值变化不超过200,为了保障老师分数的稳定性,避免如用户多次取消再约课的行为导致形成多条老师偏好数据的极端情况,设置每日分数不超过一个档位(200分)的限制。

进一步的,根据所述偏好计算值和偏好预测值对约课集合中的对象进行排序。

由于根据获取的用户偏好数据,仅能计算出用户上过课的老师偏好值。平台中老师的数量,远远超过用户上过课的老师数量。因此还需要预测每位学员对未上过课老师的偏好值,才能实现完整的个性化排序和推荐。

预测未上过课的老师的偏好值(即偏好预测值的获取),可作为矩阵补全的问题。如表1所示,{u1,...,u5}代表5位学员,{t1,...,t2}代表5位老师,每行数据代表一位学员对所有老师的偏好值,其中0代表学员从未上过老师的课程。

表1

于是,个性化偏好预测即等价于矩阵中0元素的补全问题。个性化的得分矩阵可以分解成:

其中ns代表学生数量,nt代表老师数量。每个学生和老师都可以用一个k维向量来表示,ui表示第i位学员,tj表示第j位老师。ui*tj表示第i个学生在第j个老师上的得分偏好。通过采用bpfr(bayesianpersonalizedfavoredranking)模型对矩阵进行估计,从缺失的矩阵x中,推算出u矩阵和t矩阵,u矩阵是代表学员的特征矩阵,t矩阵是代表老师的特征矩阵,所有学员可以用u矩阵中的一列向量表示,所有老师可以用t矩阵中的一列向量表示。

传统的矩阵补全方法,都是为了预测矩阵中的非0元素,使得预测值与真实值的差异最小。然而本发明中设计的bpfr算法,并不关注预测值与真实值之间的差异,而把焦点放在非零元素的相对大小上。矩阵x中的非零元素,都是学员对上过课的老师的偏好值,bpfr算法拟合的目标是,满足每行非零位置的数据的相对大小不变。即在预测得到的矩阵中,学员对上过课的老师的偏好顺序是保持不变的。

使用sx表示矩阵x中所有行非零元素之间两两比对的集合。例如表1的第一行数据,bpfr算法构造的sx集合中的元素是

{(u2,t1)<(u1,t3),(u2,t1)<(u1,t4),(u2,t1)<(u1,t5),(u2,t3)<(u1,t5)},这些数据组合会用于后续模型的训练。

表示u矩阵和t矩阵中的所有元素集合,假定的先验分布是一个多维正态分布目标是在给定矩阵x的情况下,计算的后验分布。在已知x矩阵的情况下,的后验似然概率如下:

其中,sx表示x矩阵中的非0集合。表示xui>xuj的概率。我们采用最大后验概率估计,求解使得最大化。具体的计算步骤如下:

(d1)随机初始化的值

(d2)随机抽取一个学员u,从x矩阵的第u行中抽取两个非零元素i和j,根据二者之间的值来更新的值。

(d3)重复第(d2)步操作直到收敛,收敛的标准是的值不会有太大变化。

综合每位已上过课的老师个性化分值(即每位学员对所约课老师的个性化偏好值)以及未上过课老师的个性化预测分值(每位学员对未上过课老师的偏好预测值),作为该用户下的老师排序分,排序后分数最高的老师即为最适合该用户(学员ui)的优质老师。

本实施例的方法量化了学员ui的主观偏好,更科学的得到了老师的排序分值。以每位用户(每位学员)下的个性化老师偏好为排序指标,实现了个性化老师搜索和推荐。以学员对老师的课后好评率(学员上完课后,会评价是否对该老师满意)为评价指标,老师推荐的课后好评率是89%,本例中的个性化排序系统中,学员的课后好评率是93%,显著提升了学员好评率。

本发明实施例3:一种基于隐式反馈数据的数据生成装置,所述装置包括:

用户行为数据获取模块,用于获取用户的约课数据,所述约课数据包括约课对象和约课时间;偏好数据生成模块,用于根据用户的约课数据生成偏好比对数据;偏好值计算模块,用于计算约课对象的偏好计算值;偏好值预测模块,用于预测用户对未约课的对象的偏好预测值;排序模块,用于根据所述偏好计算值和偏好预测值对约课集合中的对象进行排序,所述约课集合中的对象包括授课系统中的所有所约对象或用户近3个月的所约对象和收藏对象;第二数据限定模块,用于限制生成偏好比对数据的非生成条件,所述非生成条件为连续30min内用户的约课对象相同;第三数据限定模块,用于限制偏差值的取值范围,所述用户的约课对象加入授课系统的时间小于30天时,则偏差值的取值大于等于45,所述用户的约课对象加入授课系统的时间大于30时,则偏差值的取值大于等于30;第一数据限定模块,用于将24小时内的偏好计算值的数值变化限制在0~200之间。

本发明实施例4:一种基于隐式反馈数据的处理装置,所述装置包括:处理器;存储器,其上存储有可在所述处理器上运行的计算机程序;其中,所述计算机程序被所述处理器执行时实现如权利要求1至10中任一项所述的基于隐式反馈数据的偏好计算方法的步骤。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1