[0037] 为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
[0038] 在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0039] 应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。
[0040] 如图1所示,在一个实施例中,本发明的基于智慧教育的用户推荐方法可以包括以下步骤:
[0041] S1、预处理服务器的数据分析单元从数据库获取每个用户的涉及科目集,并对相应用户元数据进行数据分析以得到每个涉及科目的科目活跃度、科目兴趣度和科目知识度。
[0042] 可选地,数据分析单元从数据库获取每个用户的课程学习数据、课程发布数据和历史浏览数据,并对每个用户的课程学习数据、历史浏览数据和课程发布数据进行分析以得到每个用户所有的涉及科目,并根据每个用户所有的涉及科目生成每个用户的涉及科目集。
[0043] 可选地,数据分析单元对每个用户的课程学习数据、课程发布数据和历史浏览数据进行分析以得到每个用户对涉及科目集中每个涉及科目的科目活跃度、科目兴趣度和科目知识度。
[0044] 可选地,用户元数据包括:课程发布数据、历史浏览数据和课程学习数据;课程发布数据包括:学习心得、学习笔记和问题讨论;历史浏览数据为用户历史浏览内容的相关数据;课程学习数据包括若干个用户历史学习、正在学习和预约学习的课程。
[0045] 可选地,涉及科目为用户接触过的科目,包括:历史学习科目、当前学习科目和意向学习科目,涉及科目集中包括用户的所有涉及科目。
[0046] 可选地,科目为将教学中一定的知识和技能范围划分为各个单位,其包括:生物学、应用经济学、法学、和新闻传播学。
[0047] 可选地,课程发布数据为用户在在线教育平台上发布的一切有关科目学习的内容,其包括:学习心得、学习笔记和问题讨论。可选地,历史浏览数据为用户在在线教育平台历史浏览的所有有关科目学习的内容。
[0048] 可选地,课程学习数据为用户过去、现在和未来准备在在线教育平台学习的课程,包括若干个用户历史学习、正在学习和预约学习的课程。
[0049] 可选地,科目活跃度为用户对科目的活跃程度,科目活跃度越高表示该用户对该科目相关内容的讨论越活跃。科目兴趣度为用户对科目的感兴趣程度,科目兴趣度越高表示表示该用户对该科目相关内容的越感兴趣。科目知识度为用户对科目相关知识的掌握程度,科目知识度越高表示该用户对该科目相关知识的掌握程度越高。
[0050] S2、预处理服务器的矢量创建单元根据每个用户的所有涉及科目的科目活跃度、科目兴趣度和科目知识度为每个用户创建活跃度表征矢量、兴趣度表征矢量和知识度表征矢量。
[0051] 可选地,活跃度表征矢量中的每个元素表示用户的涉及科目集中相应涉及科目的科目活跃度。
[0052] H=[h1,h2,…hm]
[0053] 其中,H为用户的活跃度表征矢量,hm用户的涉及科目集中第m个涉及科目的科目活跃度,m为用户的涉及科目集中的涉及科目的数量。
[0054] 可选地,兴趣度表征矢量中的每个元素表示用户的涉及科目集中相应涉及科目的科目兴趣度。
[0055] X=[x1,x2,…xm]
[0056] 其中,X为用户的兴趣度表征矢量,xm用户的涉及科目集中第m个涉及科目的科目兴趣度,m为用户的涉及科目集中的涉及科目的数量。
[0057] 可选地,知识度表征矢量中的每个元素表示用户的涉及科目集中相应涉及科目的科目知识度。
[0058] Z=[z1,z2,…zm]
[0059] 其中,Z为用户的知识度表征矢量,zm用户的涉及科目集中第m个涉及科目的科目知识度,m为用户的涉及科目集中的涉及科目的数量。
[0060] S3、目标用户通过用户终端发送用户推荐请求到推荐分析服务器,推荐分析服务器的拟合优度单元获取目标用户的候选用户集,并获取每个候选用户的涉及科目集;遍历候选用户集中的候选用户,将当前正在遍历的候选用户作为目标候选用户,并将目标用户的涉及科目集与目标候选用户的涉及科目集进行对比以统计目标用户与目标候选用户的关联科目数量。
[0061] 可选地,用户推荐请求用于指示推荐分析服务器为目标用户推荐与目标用户兴趣爱好相同的用户。
[0062] 可选地,用户终端为用户使用的具有通信功能和数据传输功能的设备,其包括:智能手机、平板电脑、笔记本电脑和台式电脑。
[0063] 可选地,候选用户集中包括若干个候选用户,候选用户为除了目标用户外的其他用户。
[0064] 可选地,拟合优度单元将目标用户的涉及科目集与目标候选用户的涉及科目集进行对比以统计目标用户与目标候选用户的关联科目数量包括:
[0065] 拟合优度单元提取涉及科目的第一维度矢量、第二维度矢量和第三维度矢量,并将第一维度矢量、第二维度矢量和第三维度矢量并行排列以得到科目特征矢量,获取科目特征矢量的协方差矩阵然后根据科目特征矢量的协方差矩阵对科目特征矢量进行归一化处理以得到涉及科目的科目表征矢量;
[0066] 遍历目标用户的涉及科目集,将正在遍历的涉及科目作为目标涉及科目,获取目标涉及科目的科目表征矢量与目标候选用户的涉及科目集中每个涉及科目的科目表征矢量的矢量相似度,并将矢量相似度大于相似度阈值的目标涉及科目作为关联科目;重复以上步骤直到将目标用户的涉及科目集遍历完;
[0067] 拟合优度单元根据目标用户的涉及科目集中的所有关联科目以得到关联科目集,并统计关联科目集中关联科目的数量以得到关联科目数量。
[0068] 可选地,关联科目数量为关联科目的数量,关联科目为目标用户与目标候选用户共同的涉及科目。
[0069] S4、推荐分析服务器的拟合优度单元获取目标用户的涉及科目数量,并根据目标用户与目标候选用户的关联科目数量和涉及科目数量得到目标用户与目标候选用户的用户关联比,并将用户关联比大于用户关联阈值的目标候选用户作为目标用户的关联用户以得到目标用户的关联用户集。
[0070] 可选地,涉及科目数量为目标用户的涉及科目集中涉及科目的数量。
[0071] 可选地,用户关联比的计算公式为:
[0072] s=K/R
[0073] 其中,s为用户关联比,K为关联科目数量,R为涉及科目数量。
[0074] 可选地,用户关联阈值用于判断目标候选用户是否为关联用户,用户关联阈值可以由管理员根据实际情况预先进行设置,也可以由目标用户在发送用户推荐请求时进行预先设置。
[0075] S5、推荐分析服务器的用户推荐单元遍历目标用户的关联用户集,将正在遍历的关联用户作为目标关联用户,对目标关联用户的活跃度表征矢量、兴趣度表征矢量和知识度表征矢量进行特征变换以得到目标关联用户的特征值分布矩阵,并根据目标关联用户的特征值分布矩阵判断目标关联用户的活跃度表征矢量、兴趣度表征矢量和知识度表征矢量是否服从多维正态分布。
[0076] S6、在目标关联用户的活跃度表征矢量、兴趣度表征矢量和知识度表征矢量服从多维正态分布,用户推荐单元分别根据目标用户和目标关联用户的活跃度表征矢量、兴趣度表征矢量和知识度表征矢量得到目标用户与目标关联用户的拟合优度,将关联用户集中的关联用户按照拟合优度进行排序以生成用户推荐表,并将用户推荐表发送给目标用户。
[0077] 可选地,在目标关联用户的活跃度表征矢量、兴趣度表征矢量和知识度表征矢量不服从多维正态分布,遍历关联用户集中的下一个关联用户,并将其作为目标关联用户。
[0078] 可选地,拟合优度计算公式为:
[0079]
[0080] 其中,c为目标用户与目标关联用户的拟合优度,i为目标用户与目标关联用户的关联科目索引,n为目标用户与目标关联用户的关联科目数量,ui1为目标用户与目标关联用户的关联科目集中,目标用户的第i个关联科目的科目活跃度,ui2为目标用户与目标关联用户的关联科目集中,目标关联用户的第i个关联科目的科目活跃度,vi1为目标用户与目标关联用户的关联科目集中,目标用户的第i个关联科目的科目兴趣度,vi2为目标用户与目标关联用户的关联科目集中,目标关联用户的第i个关联科目的科目兴趣度,wi1为目标用户与目标关联用户的关联科目集中,目标用户的第i个关联科目的科目知识度,wi2为目标用户与目标关联用户的关联科目集中,目标关联用户的第i个关联科目的科目知识度,α为科目活跃度的权重系数,β为科目兴趣度的权重系数,γ为科目知识度的权重系数。
[0081] 可选地,用户推荐单元根据目标用户与关联用户的拟合优度生成用户推荐表包括:
[0082] 用户推荐单元获取目标用户与关联用户集中每个关联用户的拟合优度,并将目标用户与关联用户集中每个关联用户的拟合优度与拟合优度阈值进行比较,将拟合优度大于拟合优度阈值的关联用户作为推荐用户,根据所有推荐用户得到推荐用户集,将推荐用户集中的所有推荐用户按照拟合优度进行降序排序以得到用户推荐表,并将推荐用户表发送给目标用户。
[0083] 在另一个实施例中,用户推荐单元根据活跃度表征矢量、兴趣度表征矢量和知识度表征矢量得到拟合优度包括:
[0084] 用户推荐单元获取目标用户和目标关联用户的活跃度表征矢量、兴趣度表征矢量和知识度表征矢量,并根据目标用户和目标关联用户的活跃度表征矢量、兴趣度表征矢量和知识度表征矢量得的目标用户与目标关联用户的活跃度误差矢量、兴趣度误差矢量和知识度误差矢量;
[0085] 用户推荐单元分别获取活跃度误差矢量、兴趣度误差矢量和知识度误差矢量的模长,并根据活跃度误差矢量、兴趣度误差矢量和知识度误差矢量的模长,得到目标用户与目标关联用户的拟合优度。
[0086] 本发明的技术效果,本发明通过对用户的课程学习数据、历史浏览数据和课程发布数据进行分析以得到用户的涉及科目集和每个涉及科目的科目活跃度、科目兴趣度和科目知识度,并根据用户的每个涉及科目的科目活跃度、科目兴趣度和科目知识度得到用户与用户间的拟合优度,并根据拟合优度得到与用户最匹配的用户,科学有效的为每个用户寻找最匹配的推荐用户。
[0087] 在一个实施例中,用于执行本发明方法的智慧教育用户推荐系统可以包括:预处理服务器、推荐分析服务器、数据库和用户终端。用户终端分别与预处理服务器和推荐分析服务器具有通信连接,数据库分别与预处理服务器和推荐分析服务器具有通信连接,预处理服务器和推荐分析服务器之间具有通信连接。
[0088] 用户终端为用户使用的具有通信功能和数据传输功能的设备,其包括:智能手机、平板电脑、笔记本电脑和台式电脑。
[0089] 预处理服务器包括:数据分析单元和矢量创建单元,各单元间具有通信连接。推荐分析服务器包括:拟合优度单元和用户推荐单元,各单元间具有通信连接。
[0090] 预处理服务器的数据分析单元从数据库获取每个用户的涉及科目集,并对相应用户元数据进行数据分析以得到每个涉及科目的科目活跃度、科目兴趣度和科目知识度;
[0091] 预处理服务器的矢量创建单元根据每个用户的所有涉及科目的科目活跃度、科目兴趣度和科目知识度为每个用户创建活跃度表征矢量、兴趣度表征矢量和知识度表征矢量;
[0092] 目标用户通过用户终端发送用户推荐请求到推荐分析服务器,推荐分析服务器的拟合优度单元获取目标用户的候选用户集,并获取每个候选用户的涉及科目集;遍历候选用户集中的候选用户,将当前正在遍历的候选用户作为目标候选用户,并将目标用户的涉及科目集与目标候选用户的涉及科目集进行对比以统计目标用户与目标候选用户的关联科目数量;
[0093] 推荐分析服务器的拟合优度单元获取目标用户的涉及科目数量,并根据目标用户与目标候选用户的关联科目数量和涉及科目数量得到目标用户与目标候选用户的用户关联比,并将用户关联比大于用户关联阈值的目标候选用户作为目标用户的关联用户以得到目标用户的关联用户集;
[0094] 推荐分析服务器的用户推荐单元遍历目标用户的关联用户集,将正在遍历的关联用户作为目标关联用户,对目标关联用户的活跃度表征矢量、兴趣度表征矢量和知识度表征矢量进行特征变换以得到目标关联用户的特征值分布矩阵,并根据目标关联用户的特征值分布矩阵判断目标关联用户的活跃度表征矢量、兴趣度表征矢量和知识度表征矢量是否服从多维正态分布;
[0095] 在服从多维正态分布时,用户推荐单元分别根据目标用户和目标关联用户的活跃度表征矢量、兴趣度表征矢量和知识度表征矢量得到目标用户与目标关联用户的拟合优度,将关联用户集中的关联用户按照拟合优度进行排序以生成用户推荐表,并将用户推荐表发送给目标用户。
[0096] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。