技术领域
[0003] 本公开涉及事件管理和推荐。具体而言,本公开涉及用于为候选参与者选择、排序和呈现事件的界面。
相关背景技术
[0004] 高等教育机构的学生通常必须与多个系统、网站和纸质文档进行交互以完成任务。学生可能需要完成诸如课程安排、提问和支付账单之类的任务。高等教育行业的交互范式整体上是自助服务模型。
[0005] 学生们面临着选择每个学期要加入的课程的挑战。取决于背景,学生可以有很多或很少的替代课程可供选择。在有许多替代课程可用的情况下,课程的最佳选择对学生可能是不透明的。
[0006] 虚拟助理是用于执行任务的软件代理。一般而言,虚拟助理响应于请求而执行简单的任务。例如,响应于语音命令“今天的天气如何?”,虚拟助理获得并显示今天的天气预报。虚拟助理可以经由语音命令、文本命令和/或用户与用户界面的交互来接受来自用户的指令。
[0007] 本节中描述的方法是可以追求的方法,但不一定是先前已经构想或追求的方法。因此,除非另有说明,否则不应当假定本节中描述的任何方法仅仅因为它们被纳入本节中就符合作为现有技术。
具体实施方式
[0015] 在以下描述中,为了说明的目的,阐述了许多具体细节以便提供透彻的理解。可以在没有这些具体细节的情况下实践一个或多个实施例。在一个实施例中描述的特征可以与在不同的实施例中描述的特征组合。在一些示例中,众所周知的结构和设备参考框图形式描述,以避免不必要地模糊本发明。
[0016] 1.一般概述
[0017] 2.事件管理和推荐系统
[0018] 3.事件管理界面
[0019] A.课程管理界面
[0020] B.班级管理界面
[0021] 4.生成事件安排
[0022] A.课程计划
[0023] B.班级安排
[0024] 5.选择事件以用于推荐
[0025] A.推荐课程
[0026] B.推荐班级
[0027] 6.杂项;扩展
[0028] 7.硬件概述
[0029] 1.一般概述
[0030] 一个或多个实施例包括事件推荐系统。事件推荐系统为候选参与者推荐事件。事件推荐是基于(a)候选参与者的特点和(b)参与了该事件的先前发生的先前参与者的特点。先前参与者对于事件的先前发生可以有积极的经历或消极的经历。积极的经历可以被定义为例如享受事件、完成事件或在与事件相关的任务或评估度量中表现良好。消极的经历可以被定义为例如不享受事件、未完成事件或者在与事件相关的任务或评估度量中表现不佳。如果候选参与者具有与具有积极经历的先前参与者相似的特点,那么向该候选参与者推荐该事件。如果候选参与者具有与具有消极经历的先前参与者相似的特点,那么不向该候选参与者推荐该事件。机器学习算法可以持续地更新与积极经历相关联的参与者特点和与消极经历相关联的参与者特点的数据库。该数据库被用于生成事件推荐。
[0031] 可以被推荐的事件的示例是高等教育机构的课程。课程是学术内容的单元。“英语4”和“护理学导论”是课程。课程可以(例如,在几年当中每学期)重复提供。可以被推荐的事件的另一个示例是高等教育机构中的班级。班级是课程的具体实例。2017年春季学期Smith教授周三的物理101部分A是班级的示例。
[0032] 一个或多个实施例选择和推荐高等教育机构中的课程。机器学习算法建立在课程中表现良好的学生的特点的数据库。可替代地或附加地,机器学习算法建立在课程中表现不佳的学生的特点的数据库。如果学生的特点与在课程中表现良好的学生的特点相似,那么系统会向该学生推荐该课程。如果学生的特点与在课程中表现不佳的学生的特点相似,那么系统不会向该学生推荐该课程。
[0033] 作为示例,系统可以基于为当前学生计算的事件得分向当前学生推荐课程或不向当前学生推荐课程。事件得分是基于当前学生的特点与之前选修该课程的先前学生的特点的比较来计算的。如果当前学生的特点与先前学生的特点满足相似性阈值,那么先前学生被确定为与当前学生相似。系统识别被确定为与当前学生相似的先前学生的子集。如果先前学生的子集中在课程中表现良好的学生的数量或百分比满足推荐阈值,那么向当前学生推荐该课程。如果在先前学生的子集中在课程中表现良好的学生的数量或百分比不满足推荐阈值,那么不向当前学生推荐该课程。
[0034] 一个或多个实施例选择班级并向学生推荐该班级。该系统可以识别与推荐的课程对应的候选班级集合。系统可以基于班级的地点和时间以及学生在那个时间或其附近的预期地点来选择候选班级中的一个。作为示例,Joe在周三上午9点到上午10:30在大型校区的北侧有第一堂课。系统可以从候选班级的集合中推荐安排在周三上午11点在校区北侧的第二堂课。班级之间时间和地点的接近帮助学生快速从第一堂课行进到第二堂课。
[0035] 本说明书中描述和/或权利要求中阐述的一个或多个实施例可以不包括在本节“一般概述”中。
[0036] 2.事件管理和推荐系统
[0037] 图1A示出根据一个或多个实施例的事件管理和推荐系统100。如图1A中所示,事件管理和推荐系统100包括事件管理界面110、安排引擎120、模板建模引擎140、事件推荐引擎180和数据库130。在一个或多个实施例中,事件管理和推荐系统100可以包括比图1A中示出的部件更多或更少的部件。图1A中所示的部件可以在彼此的本地或者是彼此远离的。图1A中所示的部件可以用软件和/或硬件来实现。每个部件可以分布在多个应用和/或机器上。
多个部件可以组合成一个应用和/或机器。关于一个部件描述的操作可以替代地由另一个部件执行。
[0038] 在实施例中,事件124是计划的事件。作为示例,事件124是高等教育机构中的班级或课程。作为另一个示例,事件124是商务会议。作为另一个示例,事件124是团队运动的练习赛。
[0039] 在实施例中,事件安排122是与事件次序126对应的有序事件集合。事件次序126可以关于其它事件和/或关于时间线来指定事件集合124的布置。事件次序126可以将事件组织到时隙中。作为示例,事件次序126可以指定在2016年春季学期安排四门课程。作为另一个示例,事件次序可以指定整个星期中安排重复发生的班级的时隙。
[0040] 在实施例中,安排引擎120包括被配置为管理事件安排122的硬件和/或软件。安排引擎120可以确定如何关于其它事件来安排事件。安排引擎120可以基于排序规则138的集合来确定事件124的事件次序126。如下面关于数据库130进一步描述的,排序规则138规定了事件必须完成的次序。安排引擎120可以根据用户输入和排序规则138的集合来修改事件安排。安排引擎120可以基于事件安排让参与者参与到事件中。
[0041] 如图1B-图1C中所示,安排引擎120可以被配置为安排诸如课程和/或班级之类的事件。图1B示出课程安排引擎120a。课程安排引擎120a被配置为生成包括课程124a的集合的课程安排122a。
[0042] 在实施例中,课程124a是学术内容的单元。作为示例,“物理101”是一门课程。作为另一个示例,“护理学导论”是一门课程。作为非限制性示例,课程124a可以被格式化为讲座、研讨会或实验。课程124a可以是为了学分而需要完成的实习。课程可以重复提供。作为示例,“数学101”在几年中每学期提供两次。作为另一个示例,“英语330”是在交替的春季季节中提供。
[0043] 在实施例中,课程安排122a(在本文中也被称为课程计划)是朝着学术目标而要完成的有序的课程集合。学术目标可以是学术科目的完成。作为示例,课程安排可以与完成本科学位、研究生学位或证书科目的要求相对应。课程安排122a可以跨多个学期。作为示例,课程安排122a可以包括在四年计划中包括的八个学期之内要完成的课程。
[0044] 在实施例中,课程次序126a是配置课程的次序。课程计划中的课程可以按学期分组。例如,四门课程被指派给2020年春季学期。课程计划中的课程可以在不安排具体时隙的情况下进行排序。作为示例,在2020年春季列出了四门课程,但没有指定与课程对应的日期和时间。
[0045] 图1C示出班级程安排引擎120b。班级安排引擎120b被配置为生成包括班级124b的集合的班级安排122b。
[0046] 在实施例中,班级124b是课程的特定提供。作为示例,“物理101”作为由Jones教授授课的部分A在2018年春季学期的周一、周三和周五提供。“物理101”也作为由Smith教授授课的部分B在2018年春季学期的周二和周四提供。班级124b可以与具体的时隙相关联,如在前面的示例中的“物理101”一样。可替代地,班级可以不分配具体的时隙。作为示例,最终的顶点项目(capstone)不与特定的时隙对应。作为附加示例,班级124b可以是校外实习、论文项目、研讨会或校内实习。班级124b可以与特定的教师相关联。班级124b可以与特定的地点相关联。班级124b可以当面或在线提供。
[0047] 在实施例中,班级安排122b是特定学期中的有序班级集合。作为示例,班级安排122b可以包括2019年春季学期的三个班级。班级安排122b可以指定与每个相应班级相关联的时间、地点和教授。
[0048] 在实施例中,班级次序126b是班级被配置的次序。班级次序126b可以包括具体的时隙。作为示例,班级安排122b指定“护理301A”周一和周三被安排在“护理330C”之前。具体而言,“护理301A”安排在周一和周三上午9:00–上午10:15。“护理330C”安排在周一和周三下午1:00–下午3:00。
[0049] 返回到图1A,在一个或多个实施例中,事件管理界面110是指被配置为促进用户与安排引擎120和/或事件推荐引擎180之间的通信的硬件和/或软件。事件管理界面110可以渲染用户界面元素。事件管理界面110可以经由用户界面元素接收用户输入。界面的示例包括图形用户界面(GUI)、命令行界面(CLI)、触觉界面和语音命令界面。用户界面元素的示例包括复选框、单选按钮、下拉列表、列表框、按钮、开关(toggles)、文本字段、日期和时间选择器、命令行、滑块、页面和表单。
[0050] 在实施例中,以不同的语言指定事件管理界面110的不同部件。以动态编程语言(诸如JavaScript)指定用户界面元素的行为。以标记语言(诸如超文本标记语言(HTML)或可扩展标记语言(XML)、用户界面语言(XUL))来指定用户界面元素的内容。以样式表语言(诸如层叠样式表(CSS))指定用户界面元素的布局。可替代地,以一种或多种其它语言(诸如Java、C或C++)指定事件管理界面110。
[0051] 在实施例中,事件管理界面110在一个或多个数字设备上实现。术语“数字设备”一般是指包括处理器的任何硬件设备。数字设备可以指执行应用或虚拟机的物理设备。数字设备的示例包括计算机、平板电脑、膝上型电脑、台式电脑、上网本、移动手持机、智能电话、个人数字助理(“PDA”)和/或客户端设备。
[0052] 在实施例中,事件管理界面110包括接受用户输入以配置事件安排122的功能。事件管理界面例如可以接受将事件从一个时段移动到另一个时段的用户输入。
[0053] 在实施例中,虚拟助理102包括被配置为辅助用户配置事件安排的硬件和/或软件。虚拟助理102可以引导用户完成配置事件安排的过程。此外,虚拟助理102可以辅助用户进行其它任务。作为示例,虚拟助理可以辅助学生完成大学申请。作为其它示例,虚拟助理可以辅助学生获得财务资助、支付账单以及获得学生证。
[0054] 在实施例中,虚拟助理102经由显示在事件管理界面110上的模态(modal)与用户通信。作为示例,虚拟助理102可以显示显示文本(“您好,您想为学期安排你的班级吗?”)的弹出窗口。虚拟助理102还可以被配置为接收用户输入。作为示例,虚拟助理显示标记为“是”和“否”的按钮。响应于检测到用户输入选择“是”按钮,虚拟助理可以经由安排引擎120发起事件安排。
[0055] 在实施例中,虚拟助理102包括主动发起动作的功能。作为示例,虚拟助理确定财务资助文书工作将在一周内到期。响应于确定财务资助文书工作即将到期,虚拟助理102显示询问用户是否希望完成财务资助申请的消息。
[0056] 在实施例中,过滤器112是让安排引擎120在选择事件和对事件进行排序时使用的用户可配置准则。作为示例,过滤器112可以使安排引擎不喜欢或者避免在下午2点之前安排事件。作为另一个示例,过滤器112可以使安排引擎不喜欢或避免在周末期间安排事件。作为另一个示例,过滤器112可以使安排引擎避免在特定学期期间(当学生将在公司实习而不是上课时)安排课程。过滤器112可以经由事件管理界面110来显示。作为示例,过滤器的集合与对应的滑块按钮一起显示。事件管理界面110可以经由滑块按钮接收用户输入,以选择过滤器112的子集。
[0057] 在实施例中,数据库130是用于存储数据的任何类型的存储单元和/或设备(例如,文件系统、表格的集合或任何其它存储机制)。另外,数据库130可以包括多个不同的存储单元和/或设备。多个不同的存储单元和/或设备可以是也可以不是相同类型或位于同一物理场所。另外,数据库130可以在与事件管理界面110、安排引擎120、事件推荐引擎180和模板建模引擎140相同的计算系统上被实现或可以在其上执行。可替代地或附加地,数据库130可以在与事件管理界面110、安排引擎120、事件推荐引擎180和模板建模引擎140分离的计算系统上被实现或执行。数据库130可以经由直接连接或经由网络连接通信地耦合到事件管理界面110、安排引擎120、事件推荐引擎180和模板建模引擎140。
[0058] 在实施例中,事件可用性132描述可以安排事件的时间。作为示例,事件124是大学班级。事件可用性132指定在特定学期提供特定班级的时间(例如,在部分A周一上午8点–上午10点和部分B周三下午4点–下午6点提供“塑身101”)。作为另一个示例,事件124是健身班级。事件可用性132指定在健身房提供特定健身班级的时间(例如,在周二,周四和周六上午7点–上午8点提供“动感单车”)。
[0059] 在实施例中,要求134是要由参与者完成以满足事件完成目标的事件。作为示例,事件完成目标是完成获得法律学位所需的课程作业。要求134包括完成与法律学位对应的20门核心课程和12门选修课程。
[0060] 在实施例中,记录136描述与参与者相关联的事件的先前发生。记录136可以包括参与了特定事件的参与者的列表。记录136还可以指定事件结果。作为示例,事件是课程。记录136包括指定已经参与该课程的学生的信息。记录136还指定每个学生是通过还是没通过该课程。作为另一个示例,记录可以指定课程中每个学生的字母成绩。记录136可以与正在为其生成事件或事件安排的机构处的事件对应。可替代地或附加地,记录136可以与在其它机构处的事件(诸如由转校学生完成的课程)对应。
[0061] 在实施例中,排序规则138规定事件必须完成的次序。作为示例,课程“绘画I”是课程“绘画II”的预修课程。因而,排序规则138禁止在课程安排中“绘画II”被定位在“绘画I”之前或被定位为与“绘画I”是同时的。作为另一个示例,排序规则指定在一周内“化学101”的实验部分必须被安排为晚于“化学101”的讲座部分。
[0062] 在实施例中,事件推荐引擎180包括被配置为选择用于向特定参与者推荐的事件的硬件和/或软件。事件推荐引擎180可以实现机器学习算法,以基于参与者特点182和/或记录136来选择用于推荐的事件。事件推荐引擎180可以使得对用于推荐的事件的选择是基于附加因素(诸如要求134和排序规则138)。
[0063] 在实施例中,参与者特点182是描述参与者的参数。参与者的特点可以包括学术特点,诸如心理学专业和3.5GPA。参与者特点182可以描述对参与者的时间限制。作为示例,学生除了上学以外还有全部课程负担或正在全职工作。参与者特点182可以包括行为特点。作为示例,系统可以获得指定参与者每天浏览互联网花费一定时间量的网页浏览数据。参与者特点182可以与正在为其生成推荐的候选参与者对应。参与者特点182可以与在过去可能已经参与或可能未曾参与特定事件的先前参与者对应。
[0064] 在实施例中,事件得分186是归因于特定参与者的特定事件的得分值。事件得分可以基于事件的候选参与者的参与者特点182与参与了该事件的先前实例的先前参与者的参与者特点182的比较来确定。事件得分186可以是候选参与者对该事件具有积极经历的可能性的测量。
[0065] 如图1D-图1E中所示,事件推荐引擎180可以被配置为推荐诸如课程和/或班级之类的事件。图1D示出课程推荐引擎180a。课程推荐引擎180a被配置为向学生推荐一门或多门课程124a。
[0066] 在实施例中,参与者特点182a包括上面关于图1A中的参与者特点182描述的特征。对于课程推荐,参与者特点182a可以包括与总体学习计划相关的特点。作为示例,参与者特点182a可以包括声明的专业和完成学位的目标年数。
[0067] 在实施例中,课程得分186a与关于图1A描述的事件得分186类似。课程得分186a基于课程的候选参与者的参与者特点182a与参与了该课程的先前发生的先前参与者的参与者特点182a的比较。
[0068] 图1E示出班级推荐引擎180b。班级推荐引擎180b被配置为向学生推荐一个或多个班级124b。
[0069] 在实施例中,参与者特点182b与以上关于图1A描述的参与者特点182类似。此外,参与者特点182b可以包括可用性信息。作为示例,参与者特点182b可以包括从链接的工作日历获得的参与者可用性。参与者特点182b可以包括教授偏好。作为示例,学生可以指定该学生不想上Smith教授的任何课。参与者特点182b可以包括地点信息。作为示例,参与者特点182b指定学生周一早上在新泽西工作。
[0070] 在实施例中,班级得分186b类似于上面关于图1A描述的事件得分186。班级得分186b基于班级的候选参与者的参与者特点182a与在先前的学期中已经参与了该班级的先前参与者的参与者特点182a的比较。班级得分186b还可以基于目标参与者在学期的可用性。班级得分186b还可以基于目标参与者关于时间、教授和地点的偏好。
[0071] 返回到图1A,模板计划142是默认的事件安排。本文中的实施例包括使用模板计划作为用于生成为特定参与者定制的事件安排的起点。作为示例,大学院系的负责人可以配置与完成学位要求的建议学习计划对应的模板计划。系统可以基于对参与者学位的要求134和参与者已经完成的学分转入或课程作业来为参与者定制模板计划。在高等教育背景下,模板计划可以因科目而异。第一院系可以有4年的模板计划,而第二院系有5年的模板计划。系统可以基于参与者和/或科目来选择适当的模板计划。
[0072] 在实施例中,模板建模引擎140基于用户输入来更新模板计划142。模板建模引擎140可以实现机器学习算法,以基于对模板计划的修改的历史来修改模板计划142。作为示例,系统识别多个参与者将数学班级从上午9点前重新安排到上午9点后的模式。基于该模式,系统修改模板计划,以排除上午9点前的数学班级。作为另一个示例,系统识别多个参与者将化学课程从课程计划中的第一学期重新安排到课程计划中的较后学期的模式。基于该模式,系统修改模板计划,以从课程计划中的为第一学期选择的课程中排除化学课程。
[0073] 在实施例中,日历应用150是包括描述参与者的可用性的数据的应用。日历应用150可以在事件管理和推荐系统的外部。作为示例,事件管理系统和推荐系统100与大学相关联。事件管理和推荐系统100用于管理参与者的继续教育班级安排。日历应用150与参与者的职业(employment)对应。日历应用150跟踪与参与者的职业相关联的会议。可替代地或附加地,日历应用150可以被集成在事件管理和推荐系统100内。日历应用150可以是用于跟踪候选参与者在正在为其安排班级的大学的课外活动的应用。
[0074] 事件管理和推荐系统100可以通信地耦合到日历应用150。事件管理和推荐系统100可以从日历应用150获得用于使事件安排122适应候选者参与者的可用性的数据。
[0075] 3.事件管理界面
[0076] A.课程管理界面
[0077] 图2A示出根据一个或多个实施例的课程管理界面110a的示例。课程管理界面110a是一种类型的事件管理界面110。课程管理界面110a示出生成、显示和修改课程计划122a。但是,该示例同样适用于生成、显示和修改任何类型的事件安排122。关于这个示例描述的部件和操作不应当被解释为限制任何权利要求的范围。
[0078] 课程管理界面110a用于为学生配置课程计划122a。课程计划包括满足在Victory大学获得护理学位要求的课程124a的集合。课程124a的第一子集与转移的单元202对应。转移的单元202包括与学生已经在另一机构完成的课程对应的单元。课程124a的第二子集与将在Victory大学完成的课程204对应。将要完成的课程204与对应的时段(学期)相关联地显示。课程计划122a中的课程可以表示要被包括在特定学期的安排中的班级的占位者(placeholder)。作为示例,课程计划包括2020年春季学期的护理选修课。基于课程计划,系统生成2020年秋季学期的安排,其包括特定的护理选修课“护理414”。
[0079] 课程124a可以基于用户输入来重新排序。系统可以接收修改课程的用户输入。修改课程的用户输入可以包括删除、重新排序或将课程移动到另一个学期。作为示例,课程管理界面110a可以允许用户将课程从一个学期拖放到另一个学期(例如,课程可以从2019年春季拖放到2018年春季)。
[0080] 系统还可以呈现搜索界面(未示出)。经由搜索界面,系统可以接受搜索可用课程的用户输入。系统可以接受直接将课程添加到一个时段的用户输入。系统还可以接受添加新时段(例如,夏季学期或完成科目要求的附加学期)的用户输入。
[0081] 课程管理界面110a显示侧边栏,以显示通用教育要求206和专业要求208。当课程124a被添加到课程计划122a时,系统可以更新要求面板,以反映课程计划所满足的要求。作为示例,当四单元的护理课程NURS 412(210)被添加到课程计划时,系统更新专业要求面板
208。课程管理界面110a更新专业要求面板208以包括复选标记,从而指示NURS 412要求被包括在班级安排(166)中。
[0082] 课程管理界面110a显示预期的毕业日期212。当课程计划被重新配置时,课程管理界面110a可以更新预期的毕业日期212。
[0083] 课程管理界面110a显示完成的单元214。系统可以基于记录136确定完成的单元214。在这里,完成的单元214与24个转移的单元(202)对应。
[0084] 课程管理界面110a显示计划的单元216。系统可以基于课程计划来确定计划的单元216。在这里,计划的单元216与经由要完成的课程204来计划的96个单元对应。系统可以在配置课程计划时更新计划的单元。作为示例,如果用户要移除4单元的课程,那么课程管理界面110a将更新为显示92/96个计划的单元,而不是96/96个计划的单元。
[0085] 可替代地或附加地,系统可以以(已完成的单元)/(计划中包括的单元)/(剩余的单元)的形式显示度量。作为示例,学生已经完成了2个单元,在课程计划中有2个计划的单元,并且需要4个单元来满足要求。系统显示该学生的2/2/4度量,从而指示该学生的(已完成的单元)/(计划中包括的单元)/(剩余的单元)。
[0086] 课程管理界面110a还可以显示愿望清单元素(未绘出)。愿望清单元素可以接受将课程添加到课程的愿望清单中的用户输入。基于愿望清单,系统可以优先选择课程。
[0087] B.班级管理界面
[0088] 图2B示出根据一个或多个实施例的班级管理界面110b的示例。班级管理界面110b是一种类型的事件管理界面110。班级管理界面110b示出生成、显示和修改班级安排122b。但是,该示例同样适用于生成、显示和修改任何类型的事件安排122。关于这个示例描述的部件和操作不应当被解释为限制任何权利要求的范围。
[0089] 班级管理界面110b用于为特定候选参与者Chris配置班级安排122b。班级安排122b包括2017年秋季学期(226)的班级124b的集合。班级安排122b是护理计划(Nursing Plan)1的一部分。护理计划1与Chris的总课程计划122a对应,如图2A中所示。
[0090] 班级安排122b包括四个班级124b。SCI111–化学(220)是2017年秋季学期要选修的课程。课程220的两个班级部分(220a,220b)可用。班级管理界面110b与对应的时间232、地点234、教授236和可用性238一起显示这两个部分。SCI111部分A(220a)在周一和周三下午2点–下午4点(232)提供。SCI111部分A(220a)由教练Jane Oritz(236)授课。SCI111部分A(220a)将在Angela大厅322(234)举行。32个席位中的12个席位(238)可用于SCI111部分A。SCI111部分B(220b)在周二和周四上午7点-上午8:30(232)提供。SCI111部分B(220b)由教练Jane Oritz(236)授课。SCI111部分B(220b)将在Angela大厅322(234)举行。32个席位中的12个席位(238)可用于SCI111部分B(220b)。
[0091] 班级管理界面110b还显示课程222——GFA225巨型怪物的艺术。课程222的两部分可用。每个部分(222a,222b)与对应的时间232、地点234、教授236和可用性238一起显示。
[0092] 班级管理界面110b还显示课程224——NURS301成人护理I。课程224包括临床部分(224a)和理论部分(224b)。每个部分(224a,224b)与对应的时间232、地点234、教授236和可用性238一起显示。
[0093] 班级管理界面110b在日历和侧边栏二者中都显示班级124b。经由侧边栏,班级管理界面110b可以接受选择班级部分的用户输入。例如,如侧边栏中的复选标记所指示的,已选择SCI111部分B。响应于接收到在侧边栏中选择部分的用户输入,班级管理界面110b可以更新日历。可替代地或附加地,班级管理界面110b可以接受通过与日历交互来修改安排的用户输入。作为示例,班级管理界面110b可以接受将SCI111从周一拖放到周二的用户输入。响应于用户输入,班级管理界面110b可以将安排的班级从周一和周三的SCI111部分A切换到周二和周四的SCI111部分B。
[0094] 班级管理界面110b包括接受用户输入以对班级进行过滤的功能。班级管理界面110b显示标记为“过滤班级选择”的按钮228。响应于检测到用户与“过滤班级选择”按钮的交互,系统可以显示具有过滤器集合的模态。该模态可以包括标记为“晨间(早上9点前)”;
晚上(下午5点以后);深夜(晚上9点以后);以及周末的滑块。界面可以接受通过调整滑块来选择或取消选择时间偏好的用户输入。系统可以推荐或安排与所选择的时间偏好对应的班级。与被取消选择的时间偏好对应的班级可以不被系统推荐或安排。该模态还可以包括滑块或其它UI元素,以允许用户选择格式(例如现场或在线)。该模态还可以包括滑块或其它UI元素,以允许用户选择地点(例如,San Jose校区或San Ramon校区)。
[0095] 班级管理界面110b包括接受用户输入以手动屏蔽时间的功能。班级管理界面110b显示标记为“屏蔽时间”的按钮228。响应于用户与“屏蔽时间”按钮的交互,班级管理界面110b可以允许用户高亮日历的部分。日历中被高亮的部分可以被屏蔽。对于被屏蔽的时间,系统可以避免推荐或安排班级。
[0096] 班级管理界面110b包括让用户从日历(诸如工作日历或社交日历)导入可用性的功能。班级管理界面110b显示标记为“导入日历”的按钮242。响应于用户与“导入日历”按钮的交互,班级管理界面110b导入日历。系统可以使用从日历导入的信息来屏蔽候选参与者没空的时间。系统可以基于从日历导入的信息进一步识别地点。使用日历事件的地点,系统可以确定事件的地点和班级的地点之间的通勤时间。系统可以通过将日历中有时间约束230的部分变灰来屏蔽候选参与者没空的时间。时间约束230示出Chris在周一、周二、周三和周四的上午9点到下午4点之间无法参加课程。时间约束230还示出Chris在周五上午10点到下午2点之间无法参加课程。
[0097] 基于诸如候选参与者可用性之类的因素,班级管理界面110b可以显示提醒。在所示的安排中,GFA225部分A(222b)与Chris日历中的事件之间存在潜在的时间冲突。班级管理界面110b在日历上的班级222b上显示由解释标记指示的提醒240。响应于用户与提醒的交互,班级管理界面110b可以显示解释该提醒的模态。如果用户选择提醒,那么班级管理界面110b可以显示如下模态,即,该模态读作“(!)潜在的时间冲突:你从工作到之后立即开始的这部分的通勤时间是20分钟。唯一的其它选择是具有相同冲突的等待名单的部分。我们应当如何继续?”该模态可以包括标记为“切换”、“保留”和“选择新课程”的按钮。响应于用户与按钮交互,班级管理界面可以修改安排和/或移除提醒。
[0098] 4.生成事件安排
[0099] 图3示出根据一个或多个实施例的用于生成事件安排的示例操作集合。图3中所示的一个或多个操作可以被修改、重新布置或完全省略。因而,图3中所示的操作的特定顺序不应当被解释为限制一个或多个实施例的范围。
[0100] 在实施例中,安排引擎为参与者确定初始次序的事件(操作302)。安排引擎可以基于与参与者对应的完成的事件来为参与者确定事件的初始次序。安排引擎可以基于待完成的事件进一步确定事件的初始次序。作为示例,安排引擎为学生以初始次序识别事件。事件满足英语文学学士学位的要求。安排引擎确定学生已完成该学位所需的课程的一部分。安排引擎从英语科目中的要求的课程集合中选择该学生尚未完成的课程。安排引擎识别待完成的课程集合以满足学位要求。此外,安排引擎可以基于由事件推荐引擎生成的事件推荐来识别事件,如下面的第5节中所描述的那样。
[0101] 附加地或可替代地,安排引擎可以基于排序规则来确定初始次序的事件。作为示例,安排引擎生成包括课程集合的课程计划。安排引擎对课程集合进行排序,使得对于每门课程都满足预修课程要求。
[0102] 在实施例中,安排引擎基于参与者可用性来确定初始事件次序。参与者的可用性可以由参与者提供。作为示例,系统经由事件管理界面显示用于配置过滤器的弹出窗口。在工作日从上午8点至下午5点工作的参与者选择规定事件只能被安排在晚上和周末的过滤器。可替代地或附加地,系统可以从日历应用获得参与者可用性数据。作为示例,系统可以经由与日历应用相关联的web服务来执行拉取安排数据的请求。在从日历应用获得信息之前,系统可以从参与者请求对日历的访问。例如,虚拟助理显示文本“我可以导入您的工作日历吗?”。
[0103] 在实施例中,安排引擎基于事件地点来确定初始次序的事件。作为示例,安排引擎在班级安排中包括班级“数学101A”和“科学3”。“数学101A”在周一和周三上午9点在Victory大学Santa Clara校区北侧举行。“科学3B”在周一和周三下午1点在Victory大学Santa Clara校区西侧举行。安排引擎确定是否选择要安排另一个班级“英语4”的部分A、B或C。安排引擎确定“数学101A”、“科学3B”和“英语4”的每个部分之间的行走路径。安排引擎为安排选择“英语4C”,因为“英语4C”沿着“数学101A”和“科学3B”之间的便捷步行路径在周一和周三上午11点举行。安排引擎还可以使事件选择基于学生的、与事件对应的机构之外的安排。作为示例,学生在周五早上在San Francisco工作。因此,系统选择周五下午在San Francisco举行的班级。
[0104] 在实施例中,安排引擎基于模板计划确定初始次序的事件。安排引擎可以定位与特定事件安排对应的所存储的模板计划。作为示例,系统正在配置包括获得幼儿教育证书所需的课程的课程计划。系统定位所存储的幼儿教育模板计划,其包括学生可以在三个学期选修的有序课程集合。系统以初始次序呈现与幼儿教育模板计划对应的事件。
[0105] 在实施例中,系统基于用户输入来更新模板计划。系统可以实现机器学习模型来更新模板计划。系统可以基于指派给事件的得分来保留或移除事件。可以基于事件的历史用户选择将得分指派给事件。作为示例,系统呈现包括三门要求的课程和一门建议的选修课程的模板计划。学生修改时间安排,以使用不同的选修课程取代建议的选修课程。系统减少建议的选修课程的得分值。随着学生重复地拒绝建议的选修课程,该建议的选修课程的分数进一步减少。当得分达到阈值时,系统不再在模板计划中包括该建议的选修课程。
[0106] 在实施例中,系统以初始次序的事件呈现事件管理界面(操作304)。系统可以关于时间线显示事件。作为示例,系统显示由与相应学期相关联的块表示的课程,如图2A中所示。可替代地或附加地,系统可以在纯文本列表中显示事件。可替代地或附加地,系统可以在每周、每日或每月日历(例如,图2B中所示的每周日历)中显示事件。
[0107] 在实施例中,事件管理界面接收修改初始事件次序的用户输入(操作306)。事件管理界面可以经由拖放操作来接收修改初始事件次序的用户输入。作为示例,用户将课程从2014年秋季学期拖到2013年春季学期。作为另一个示例,用户将班级从周二/周四拖到周一/周三的替代班级部分。可替代地,事件管理界面可以经由文本输入接收修改事件次序的用户输入。作为示例,用户从第一时隙删除每周会议。用户将每周会议录入第二时隙。
[0108] 可替代地,系统可以接收用户接受初始次序的事件的确认。用户可以选择不修改事件次序。作为示例,虚拟助理显示文本“我已经为这个学期你的班级准备了安排。你有任何改变吗?”。虚拟助理显示标记为“是”和“否”的按钮。系统接收到选择“否”的用户输入,指示接受初始次序的事件。如果用户接受初始次序的事件,那么可以从操作序列中省略操作306-314。
[0109] 在实施例中,系统确定用户输入是否符合排序规则(操作308)。系统可以将由用户输入指示的新事件次序与存储的排序规则进行比较。作为示例,用户试图在课程安排中移动特定的课程。系统确定:(a)作为该特定课程的预修课程的另一个课程现在是否被安排在该特定课程之前;以及(b)该特定课程是否是现在被安排在该特定课程之后的课程的预修课程。
[0110] 作为详细的示例,系统显示了用于物理学士学位科目的提出的学习计划。用户试图将课程“物理562”移动到学习计划的第一学期中的更早位置。但是,“物理562”需要两年的预修课程。因而,系统确定修改不符合排序规则。作为另一个示例,用户试图将“物理562”移动到学习计划的第八个学期中的较后位置。但是,“物理562”是在学习计划的第七学期中安排的“物理570”的预修课程。因而,系统确定修改不符合排序规则。作为另一个示例,用户试图将“物理522”移动到学习计划的第五学期中的较后位置。“物理522”的预修课程安排在第五学期之前。“物理522”不是任何其它课程的预修课程。因而,系统确定修改符合排序规则。
[0111] 在实施例中,系统可以基于非课程要求来确定允许或不允许修改。作为示例,参与特定班级可能取决于教授的批准。如果系统识别出缺少教授对这种班级的批准,那么系统可以确定修改不符合排序规则。作为另一个示例,课程参与可以取决于在入学考试中学生得分高于阈值得分。如果系统识别出学生得分高于阈值得分,那么系统可以确定将课程添加到课程计划符合排序规则。
[0112] 在实施例中,系统修改事件次序(操作310)。系统可以在确定用户输入符合排序规则时修改事件次序。系统可以按照用户的指示在事件安排中修改事件的次序。
[0113] 在实施例中,系统避免修改事件次序(操作312)。在确定用户输入不符合排序规则时,系统可以避免修改事件次序。系统可以保留初始次序。
[0114] 在实施例中,系统确定是否接收到修改事件次序的附加用户输入(操作314)。作为示例,系统可以检测经由拖放操作将第二事件移动到时间线中的不同位置的用户输入。如果系统接收到修改事件次序的附加用户输入,那么系统可以重复操作308-312,如上所述。
[0115] 在实施例中,安排引擎最终确定(finalize)事件安排。(操作316)。安排引擎可以在确定没有接收到修改事件次序的附加用户输入时最终确定事件安排。可替代地或附加地,安排引擎可以在接收到来自用户的最终确定事件安排的指令时最终确定事件安排。作为示例,系统检测用户已经点击事件管理界面上的“完成计划”按钮。
[0116] 安排引擎可以通过保存事件安排来最终确定事件安排。安排引擎可以将事件安排保存到数据库和/或与参与者相关联的设备。
[0117] 在实施例中,安排引擎可以基于事件安排来使参与者参与事件。例如,系统生成包括参与者一学期的班级的事件安排。安排引擎经由大学录取系统使得参与者参与班级。
[0118] 在实施例中,系统针对可用性改变对事件进行监视。作为示例,系统为学生生成一学期的班级安排。系统经由大学录取系统定期获得安排中班级的参与数据。例如,系统可以经由大学录取系统的暴露的应用编程接口(API)来执行轮询操作。如果系统确定事件不再可用,或者事件很快会变得不可用,那么系统可以执行适当的动作。适当的动作可以包括通知参与者和/或使得参与者参与该事件。作为示例,系统确定班级中只剩下一个席位。因而,系统使得参与者参与该班级并将通知发送给参与者。作为另一个示例,系统确定参与者的安排中的班级已满。系统可以向参与者呈现消息,询问参与者是否想要被放在等待名单上。可替代地,系统可以修改参与者的安排,以便用可用的班级替换已满的班级。
[0119] 在实施例中,系统可以基于先前生成的事件安排生成第一事件安排。作为示例,系统生成包括5个学期内的课程的课程计划。课程计划为2018年春季学期指定了四门课程。基于该课程计划,系统为2018年春季学期生成包括与课程计划中的四门课程对应的四个班级的班级安排。作为另一个示例,系统可以基于班级安排中的班级来更新课程计划。课程计划包括2018年春季学期的“英语101”。系统确定“英语101”已被安排在2017年秋季学期。因而,系统更新课程计划,将“英语101”从2018年春季学期移到2017年秋季学期。
[0120] A.课程计划
[0121] 以下详细示例说明了根据一个或多个实施例的操作。以下详细示例不应当被解释为限制任何权利要求的范围。系统识别参与Victory大学的护理科目的新学生。系统为该学生确定提出的课程计划。
[0122] 系统识别模板计划。模板计划列出了32门课程,在八个学期内每学期布置四门课程。这三十二门课程共同满足护理科目的要求。系统识别与学生的转移学分对应的记录。该学生已经完成了满足护理科目的各种要求的六门课程。因而,系统调整课程计划,以省略该学生已经达到对应要求的课程。
[0123] 系统经由虚拟助理向学生呈现消息“嗨!你准备好为你的护理学位制定课程计划吗?”。系统在该消息下方显示标记为“是”和“否”的按钮。系统接收选择“是”按钮的用户输入。事件管理界面显示课程计划的可视表示。如图2A中所示,课程计划可以经由学期的时间线显示。
[0124] 系统接收调整课程在计划中的位置的用户输入。学生将课程“成人护理III”从2019年秋季拖放到2018年春季。系统根据存储的排序规则分析用户输入。排序规则规定“成人护理III”必须在“成人护理II”之后选修。系统确定用户输入将导致“成人护理II”和“成人护理III”被同时地选修。因而,系统确定用户输入不符合排序规则。系统避免修改事件次序。系统经由虚拟助手显示消息“对不起,在您通过‘成人护理II’之前,您不能选修‘成人护理III’”。“成人护理III”仍保留在2019年秋季的位置。
[0125] 系统接收附加的用户输入。学生将“成人护理III”从2019年秋季拖放到2019年春季。系统确定第二次用户修改将导致“成人护理III”安排在“成人护理II”之后。因而,系统确定用户输入符合排序规则。系统根据用户输入修改事件次序。
[0126] 系统经由虚拟助手显示消息:“好的,我做了改变。您想进行其它改变吗?”系统在该消息下方显示标记为“是”和“否”的按钮。系统接收选择“否”的用户输入。系统通过将学习计划存储到数据库来最终确定安排。
[0127] B.班级安排
[0128] 以下详细示例说明了根据一个或多个实施例的操作。以下详细示例不应当被解释为限制任何权利要求的范围。系统确定Victory大学的学生尚未参与即将到来的2017年秋季学期的任何课程。因而,系统针对即将到来的学期为学生确定提出的班级安排。
[0129] 系统识别先前为学生生成的课程计划(例如,图2A中所示的课程计划)。系统识别出2017年秋季学期该学生课程计划中的四门课程。系统还识别出与学生已经在Victory大学完成的课程对应的记录。系统还识别出与学生的转移学分对应的记录。基于课程计划中的课程以及学生已完成的班级,系统生成初始班级安排。
[0130] 系统经由虚拟助理向学生呈现消息“嗨!你准备好为下个学期制定班级安排了吗?”。系统在该消息下方显示标记为“是”和“否”的按钮。系统接收选择“是”按钮的用户输入。班级管理界面显示班级安排的可视表示。班级安排可以经由每周日历显示,如图2B中所示。
[0131] 系统显示包括消息“您想让我导入您的工作日历吗?”的模态。系统在该消息下方显示标记为“是”和“否”的按钮。系统接收选择“是”按钮的用户输入。系统从第三方日历应用导入数据。这些数据指定该学生在周二和周四从上午7点到下午1点工作。因而,系统调整安排,以便学生在周二和周四上午7点到下午1点之间没有班级。另外,系统确定学生从工作到学校有20分钟的通勤时间。因而,系统将周二和周四的课程安排为允许通勤时间。
[0132] 系统向学生呈现更新后的提出的安排。系统呈现具有消息“这是我准备的安排。你想做任何改变吗?”的模态。
[0133] 系统接收调整安排中班级的位置的用户输入。学生将课程“数学101”从周一上午9点拖放到周一下午2点。系统根据班级可用性分析用户输入。系统确定“数学101”在周一下午2点不可用,但“数学101”在周五下午2点可用。系统进一步确定学生在周五下午2点有空。系统通过虚拟助手显示消息“‘数学101’在周五下午2点或周一上午9点可用。我们应该做什么?”。系统还显示标记为“保留它”和“移动它”的按钮。响应于检测到用户选择了“移动它”按钮,系统将“数学101”重新安排到周五下午2点。
[0134] 系统接收附加的用户输入。学生选择标记为“过滤班级”的按钮。系统显示显示校区、教授和课程格式的列表的模态。学生取消选择两位教授。响应于识别出被取消选择的教授,系统在学生的安排中改变“英语4”的部分,使得学生不被安排在任何被取消选择的教授的任何课程中。
[0135] 系统经由虚拟助理显示消息“好的,我做了改变。您想进行其它改变吗?”。系统在该消息下方显示标记为“是”和“否”的按钮。系统接收选择“否”的用户输入。系统通过将班级安排存储到数据库来最终确定安排。
[0136] 5.选择事件以用于推荐
[0137] 图4示出根据一个或多个实施例的用于选择事件以用于推荐的示例操作集合。图4中所示的一个或多个操作可以被修改、重新布置或完全省略。因而,图4中所示的操作的特定顺序不应当被解释为限制一个或多个实施例的范围。
[0138] 在实施例中,事件推荐引擎确定候选参与者的特点(操作402)。事件推荐引擎可以检索所存储的候选参与者的特点。可替代地或附加地,事件推荐引擎可以经由用户输入来确定候选参与者的特点。作为示例,虚拟助理呈现信息“你夜里工作吗?”。系统接收指定候选参与者晚上工作的用户输入。系统将“夜里工作”存储为候选参与者的特点。
[0139] 在实施例中,事件推荐引擎识别记录(操作404),该记录识别已经参加了重复发生的事件的发生的先前参与者集合。事件推荐引擎可以选择特定的重复发生的事件进行分析。作为示例,事件推荐引擎可以从可用课程的子集中选择特定课程。可用课程的子集可以基于诸如预修课程要求和候选参与者完成的课程之类的因素来进行选择。事件推荐引擎可以基于事件安排和/或专业来选择特定的重复发生的事件。作为示例,推荐引擎基于为Jane Doe的英语学位科目存储的课程计划来识别向Jane Doe推荐的2020年秋季的潜在选修课。
[0140] 可替代地或附加地,事件推荐引擎可以基于候选参与者参与了的另一个事件来选择重复发生的事件。作为示例,候选参与者完成了课程“英语4”。因为完成了“英语4”的其他学生也完成了“文学109”,所以事件推荐选择课程“文学109”。可以进一步基于确定候选参与者的专业与“文学109”相关而选择课程“文学109”。
[0141] 可替代地或附加地,事件推荐引擎可以基于与候选参与者对应的兴趣简档来选择重复发生的事件。例如,兴趣简档可以包括从与候选参与者相关联的web浏览数据和/或调查获得的候选参与者的兴趣。
[0142] 可替代地或附加地,事件推荐引擎可以基于事件的流行度来选择重复发生的事件。事件推荐引擎可以建立事件参与者在先前时段参与该重复发生的事件的阈值数量或阈值百分比。如果参与重复发生的事件的事件参与者的数量满足阈值,那么事件推荐引擎可以选择该重复发生的事件。
[0143] 在实施例中,事件推荐引擎识别与事件相关联的先前参与者对应的记录。事件推荐引擎可以分析该记录,以识别先前参与者的特点。事件推荐引擎可以识别对于事件的先前发生具有积极经历的先前参与者的特点。作为示例,事件推荐引擎识别已经参与和/或通过“化学101”的先前参与者的特点。可替代地或附加地,事件推荐引擎可以识别对于事件的先前发生具有消极经历的先前参与者的特点。作为示例,事件推荐引擎识别没有通过“化学101”的先前参与者的特点。作为另一个示例,事件推荐引擎识别不享受歌剧表演的先前参与者的特点。
[0144] 在实施例中,事件推荐引擎计算重复发生的事件的事件得分(操作406)。事件推荐引擎可以基于(a)候选参与者的特点与(b)先前参与者集合的特点的比较来计算事件得分。为了确定事件得分,系统可以识别在候选参与者与先前参与者之间共享的特点。可替代地或附加地,系统可以识别在候选参与者与先前参与者之间不同的特点。系统可以使用先前参与者的子集来比较特点。作为示例,系统可以识别在候选参与者和已报告享受重复发生的事件的先前参与者之间共享的特点。
[0145] 系统可以基于该比较通过增加和/或减少值来计算事件得分。作为示例,针对候选参与者与具有事件的先前发生的积极经历的先前参与者共享的每个特点,系统可以为候选参与者增加事件得分。针对候选参与者与具有对事件的先前发生的消极经历的先前参与者共享的每个特点,系统可以减少事件得分。系统可以基于与事件相关联的特定参与者特点的比较来修改事件得分。作为示例,系统可以基于候选参与者是否与先前已经在课程中得到成绩A的参与者共享特点来增加或减少事件得分。被比较的特点可以包括学术特点(诸如成绩),以及非学术特点(诸如人口统计信息)。被比较的特点可以包括学生的经历。作为示例,如果候选参与者和先前参与者的集合都参加了在日本的外国交换项目,那么系统可以增加先前参与者的集合所完成的班级的事件得分。
[0146] 在实施例中,事件得分基于先前参与者的集合中的每一个参与者的成功率。成功可以根据一个或多个度量来测量。作为示例,成功可以被定义为从教育机构毕业、毕业后获得工作或者在阈值时段(例如,四年)内毕业。基于先前参与者的成功率,事件得分可以增加。作为示例,历史上选修了特定班级的先前学生中的70%早毕业。因而,系统增加该特定班级的事件得分。
[0147] 在实施例中,事件推荐引擎基于候选参与者的特点来细化事件得分。作为示例,系统可以基于候选参与者的兴趣来增加或减少事件得分。如果候选参与者已经在社交媒体上或通过web浏览历史记录表明对事件的主题感兴趣,那么系统可以增加事件得分。如果候选参与者通过参与当前或先前教育机构的类似事件表明对事件的主题感兴趣,那么系统可以增加事件得分。
[0148] 在实施例中,事件得分基于机构偏好。作为示例,系统正在选择要为新生推荐的班级。学生正在安排该学生在学院的第一学期的课程。学院要求新生在入学的第一年选修数学和英语二者。学院已经指定使入学新生中的一半在入学的第一学期中参与数学的偏好。学院已经指定使入学新生中的一半在入学的第一学期中参与英语的偏好。这些偏好被建立以在数学和英语之间平均分布新生。系统确定目前有更多新生参与数学而不是英语。因而,系统为学生增加英语的事件得分。系统为学生减少数学的事件得分。作为另一个示例,系统可以基于班级的学生的目标数量来增加或减少事件得分。如上所述,班级的学生的目标数量可以与平均分布学生相对应。可替代地或者附加地,班级的学生的目标数量可以与班级中的可用席位对应。
[0149] 在实施例中,事件推荐引擎确定事件得分是否满足阈值(操作408)。事件推荐引擎可以检索所存储的阈值。事件推荐引擎可以将事件得分与阈值进行比较,以确定事件得分是否满足阈值。
[0150] 在实施例中,系统为候选参与者推荐重复发生的事件(操作410)。如果事件得分满足阈值,那么系统可以推荐该重复发生的事件。
[0151] 系统可以通过将事件直接呈现给候选参与者来推荐重复发生的事件。系统可以利用或不利用事件管理界面推荐事件。系统可以通过将事件包括在经由事件管理界面呈现的事件安排表中来推荐事件。系统可以基于候选参与者参与了的先前事件来推荐候选参与者参与事件的特定时段。作为示例,系统可以只有在确定即将到来的学期中的课程的预修课程已经完成之后才在即将到来的学期中推荐该课程。系统可以基于候选参与者的事件安排来为候选参与者推荐参与事件的特定时段。作为示例,在2017年12月期间,系统可以基于为候选参与者安排的课程的预修课程被安排在2018年春季学期期间,而针对2018年秋季学期推荐该课程。系统可以请求接受或拒绝该推荐的用户输入。可替代地或附加地,系统可以经由事件管理界面以独立的方式呈现推荐。可替代地或附加地,系统可以经由电子邮件或文本消息来呈现推荐。作为示例,系统经由电子邮件为候选参与者推荐两个继续教育课程。作为另一个示例,系统经由文本消息为候选参与者推荐医疗惯例。可替代地或附加地,系统可以经由虚拟助理呈现推荐。
[0152] 在实施例中,系统可以通过向管理员(诸如学校顾问或旅行代理)呈现事件来向候选参与者推荐重复发生的事件。作为示例,系统可以经由电子邮件向指导顾问呈现课程推荐。指导顾问可以评估推荐并且批准或拒绝该推荐。经批准的推荐可以经由事件管理界面呈现给学生。可替代地或附加地,指导顾问可以亲自或经由电子邮件向学生推荐课程。
[0153] 在实施例中,系统可以通过向管理员(诸如学校顾问或旅行社)呈现事件来向候选参与者推荐重复发生的事件。作为示例,系统可以经由电子邮件向指导顾问呈现课程推荐。指导顾问可以评估推荐并且批准或拒绝该推荐。经批准的推荐可以经由事件管理界面呈现给学生。可替代地或附加地,指导顾问可以亲自或经由电子邮件向学生推荐课程。
[0154] 在实施例中,系统避免向候选参与者推荐重复发生的事件(操作412)。如果事件得分小于阈值,那么系统可以避免推荐该事件。
[0155] A.推荐课程
[0156] 以下详细示例说明了根据一个或多个实施例的操作。以下详细示例不应当被解释为限制任何权利要求的范围。系统选择课程来推荐,用以包括在学生Chris Sanchez的课程计划中。
[0157] 系统确定Chris的特点。系统确定Chris是转校学生。系统确定Chris是20岁,男性,高加索人并且来自亚利桑那州。系统确定Chris在Chris从其转学的学院获得3.6的GPA。系统确定Chris在高中时获得了3.3的GPA。系统确定Chris参加曲棍球和水球。系统确定Chris是政治学专业。系统确定Chris每天平均花费两个小时浏览互联网。
[0158] 系统识别课程计划中要包括的潜在课程。课程计划的大部分是基于政治学转校学生的模板计划确定的。在模板计划中有几个灵活的针对选修课程的空缺。系统分析了一门潜在的选修课,“陶器导论(Introduction to Pottery)”。
[0159] 系统识别先前参与了“陶器导论”的学生的事件记录。系统识别已经参与了“陶器导论”的每个学生的特点。这些特点包括人口统计特点,如上面为Chris Sanchez列出的那些。此外,为先前的学生识别特点包括学生是否通过、未通过或放弃了“陶器导论”。为先前的学生识别的特点还包括学生在“陶器导论”中得到的成绩。为先前的学生识别的特点还包括在学生选修“陶器导论”的学期中学生的总体GPA。
[0160] 系统将Chris Sanchez的特点与先前参与了“陶器导论”的先前参与者的特点进行比较。系统使用机器学习模型基于相关的参与者特点计算事件得分。
[0161] 系统将“陶器导论”的先前参与者分为两组:在课程中得到C或更好成绩的参与者,以及没有得到C或更好成绩的参与者。Chris的特点与得到C或更好成绩的学生的特点进行比较。对于Chris与得到了C的特定学生共享的每个特点,Chris的事件得分增加0.01。对于Chris与得到了B的特定学生共享的每个特点,Chris的事件得分增加0.03。对于Chris与获得到了A的特定学生共享的每个特点,Chris的事件得分增加0.08。基于比较,系统为Chris Sanchez指派“陶器导论”事件得分为8。
[0162] 系统基于Chris的兴趣来细化事件得分。系统确定Chris在社交媒体上关注了与陶器相关的页面。系统确定Chris在过去曾经频繁地参与艺术班级。因而,系统为Chris将事件得分从8增加到9。
[0163] 系统将事件得分9与阈值进行比较以进行推荐。推荐的阈值为7。因而,系统确定事件得分满足阈值。
[0164] 基于事件得分满足阈值,系统为Chris推荐“陶器导论”。系统通过将课程包括在经由课程管理界面呈现给Chris Sanchez的课程安排中来推荐该课程。
[0165] B.推荐班级
[0166] 以下详细示例说明了根据一个或多个实施例的操作。以下详细示例不应当被解释为限制任何权利要求的范围。系统选择要潜在地针对2019年秋季学期为Chris Sanchez推荐的班级。Chris是Victory大学学习政治学的大二学生。
[0167] (考虑到班级是课程的具体实例)可以使用上面第5A节中关于推荐课程所描述的相同考虑事项来推荐班级。此外,当选择班级以进行推荐时,系统可以考虑特定于班级的元素,诸如地点、时隙和教授。
[0168] 系统识别Chris的特点,如上面关于第5A节所描述的那样。系统还识别Chris的可用性和偏好。Chris已经经由班级管理界面指定他不想上上午10点之前的任何班级。Chris还指定他更喜欢上教授而不是教学助理授课的班级。
[0169] 系统使用机器学习模型来比较Chris的特点与先前选修了“陶器导论”的学生的特点,如上面关于第5A节所描述的那样。系统计算事件得分。总的来说,“陶器导论”获得了事件得分9。除了比较Chris的特点与先前参与了“陶器导论”的学生的特点,系统还考虑了Chris的可用性和偏好。系统分析了“陶器导论”的两个部分。部分A在上午11点提供并由教授授课。部分B在上午9点提供并且由教授授课。部分C在上午2点提供并且由教学助理授课。基于Chris在上午9点之后安排课程的偏好,部分B的事件得分减少4分成为5。基于Chris对教授授课的偏好,部分C的事件得分减少3分成为6。因而,部分A具有最高事件得分9。
[0170] 系统将每个部分的相应事件得分与阈值7进行比较。系统确定部分A的事件得分满足阈值,而部分B和C的事件得分不满足阈值。因而,系统向Chris推荐“陶器导论”部分A。系统避免向Chris推荐“陶器导论”部分B和部分C。系统通过将班级包括在班级安排中来推荐“陶器导论”部分A。班级安排经由班级管理界面呈现给Chris。
[0171] 6.杂项;扩展
[0172] 实施例针对具有一个或多个设备的系统,这些设备包括硬件处理器并且被配置为执行本文描述的和/或下面权利要求中任何一项所述的任何操作。
[0173] 在实施例中,非瞬态计算机可读存储介质包括指令,这些指令当由一个或多个硬件处理器执行时,使得执行本文描述的和/或权利要求中任何一项所述的任何操作。
[0174] 根据一个或多个实施例,可以使用本文描述的特征和功能的任何组合。在前面的说明书中,已经参考因实现而异的许多具体细节描述了实施例。因此,说明书和附图应当被认为是说明性的而不是限制性的。本发明的范围的唯一且排他的指示以及申请人预期作为本发明的范围的内容是从本申请中发出的权利要求集合的字面和等同范围,这是以这种权利要求发出的具体形式,包括任何后续的更正。
[0175] 7.硬件概述
[0176] 根据一个实施例,本文所描述的技术由一个或多个专用计算设备来实现。专用计算设备可以是硬连线的以执行技术,或者可以包括诸如被永久性地编程以执行技术的一个或多个专用集成电路(ASIC)、现场可编程门阵列(FPGA)或网络处理单元(NPU)的数字电子设备,或者可以包括编程为根据固件、存储器、其它存储装置或组合中的程序指令执行技术的一个或多个通用硬件处理器。这些专用计算设备还可以将自定义的硬接线逻辑、ASIC、FPGA或NPU与自定义的编程组合来实现技术。专用计算设备可以是台式计算机系统、便携式计算机系统、手持式设备、联网设备或结合硬连线和/或程序逻辑来实现技术的任何其它设备。
[0177] 例如,图5是示出可以在其上实现本发明的实施例的计算机系统500的框图。计算机系统500包括总线502或用于传送信息的其它通信机制,以及与总线502耦合用于处理信息的硬件处理器504。硬件处理器504可以是例如通用微处理器。
[0178] 计算机系统500还包括耦合到总线502用于存储信息和要由处理器504执行的指令的主存储器506,诸如随机存取存储器(RAM)或其它动态存储设备。主存储器506也可以用于在要由处理器504执行的指令执行期间存储临时变量或其它中间信息。当这些指令被存储在处理器504可访问的非暂态存储介质中时,它们使计算机系统500成为被定制以执行指令中指定的操作的专用机器。
[0179] 计算机系统500还包括耦合到总线502用于存储静态信息和用于处理器504的指令的只读存储器(ROM)508或其它静态存储设备。提供了诸如磁盘或光盘的存储设备510,并且存储设备510被耦合到总线502,用于存储信息和指令。
[0180] 计算机系统500可以经由总线502耦合到显示器512,诸如阴极射线管(CRT),用于向计算机用户显示信息。输入设备514(其包括字母数字和其它键)被耦合到总线502,用于将信息和命令选择传送到处理器504。另一种类型的用户输入设备是光标控件516,诸如鼠标、轨迹球、或光标方向键,用于向处理器504传送方向信息和命令选择并且用于控制光标在显示器512上的移动。这种输入设备通常具有在两个轴(第一轴(例如,x)和第二轴(例如,y))中的两个自由度,这允许设备在平面中指定位置。
[0181] 计算机系统500可以使用定制的硬连线逻辑、一个或多个ASIC或FPGA、固件和/或程序逻辑来实现本文描述的技术,这些定制的硬连线逻辑、一个或多个ASIC或FPGA、固件和/或程序逻辑与计算机系统结合使计算机系统500成为或将计算机系统500编程为专用机器。根据一个实施例,本文的技术由计算机系统500响应于处理器504执行主存储器506中包含的一条或多条指令的一个或多个序列而执行。这些指令可以从另一个存储介质(诸如存储设备510)读取到主存储器506中。包含在主存储器506中的指令序列的执行使处理器504执行本文描述的处理步骤。在替代实施例中,可以使用硬连线电路系统代替软件指令或与软件指令组合使用。
[0182] 如本文所使用的术语“存储介质”是指存储使机器以特定方式操作的数据和/或指令的任何非瞬态介质。这种存储介质可以包括非易失性介质和/或易失性介质。非易失性介质包括例如光盘或磁盘,诸如存储设备510。易失性介质包括动态存储器,诸如主存储器506。存储介质的常见形式包括例如软盘、柔性盘、硬盘、固态驱动器、磁带或任何其它磁性数据存储介质、CD-ROM、任何其它光学数据存储介质、具有孔模式的任何物理介质、RAM、PROM和EPROM、FLASH-EPROM、NVRAM、任何其它存储器芯片或盒带、内容可寻址存储器(CAM)和三元内容可寻址存储器(TCAM)。
[0183] 存储介质与传输介质不同但可以与传输介质结合使用。传输介质参与在存储介质之间传输信息。例如,传输介质包括同轴电缆、铜线和光纤,包括包含总线502的电线。传输介质还可以采取声波或光波的形式,诸如在无线电波和红外线数据通信期间生成的那些波。
[0184] 各种形式的介质可以涉及将一条或多条指令的一个或多个序列携带到处理器504以供执行。例如,指令最初可以被携带在远程计算机的磁盘或固态驱动器上。远程计算机可以将指令加载到其动态存储器中,并且使用调制解调器经电话线发送指令。计算机系统500本地的调制解调器可以接收电话线上的数据,并且使用红外线发射器将数据转换为红外线信号。红外线探测器可以接收在红外线信号中携带的数据,并且适当的电路系统可以将数据放在总线502上。总线502将数据携带到主存储器506,处理器504从该主存储器506检索并执行指令。由主存储器506接收到的指令可以可选地在被处理器504执行之前或执行之后存储在存储设备510上。
[0185] 计算机系统500还包括耦合到总线502的通信接口518。通信接口518提供耦合到网络链路520的双向数据通信,其中网络链路520连接到本地网络522。例如,通信接口518可以是综合业务数字网(ISDN)卡、电缆调制解调器、卫星调制解调器、或向对应类型的电话线提供数据通信连接的调制解调器。作为另一个示例,通信接口518可以是提供到兼容的局域网(LAN)的数据通信连接的LAN卡。也可以实现无线链路。在任何这种实现中,通信接口518都发送和接收携带表示各种类型信息的数字数据流的电信号、电磁信号或光信号。
[0186] 网络链路520通常通过一个或多个网络向其它数据设备提供数据通信。例如,网络链路520可以通过本地网络522提供到主计算机524或到由互联网服务提供商(ISP)526操作的数据设备的连接。ISP 526又通过现在通常称为“互联网”528的世界范围的分组数据通信网络提供数据通信服务。本地网络522和互联网528二者都使用携带数字数据流的电信号、电磁信号或光信号。通过各种网络的信号以及在网络链路520上并且通过通信接口518的信号是传输介质的示例形式,其中信息将数字数据携带到计算机系统500或者携带来自计算机系统500的数字数据。
[0187] 计算机系统500可以通过(一个或多个)网络、网络链路520和通信接口518发送消息和接收数据,包括程序代码。在互联网示例中,服务器530可以通过互联网528、ISP 526、本地网络522和通信接口518传送对应用程序的请求代码。
[0188] 接收到的代码可以在其被接收到时由处理器504执行,和/或存储在存储设备510或其它非易失性存储器中以供以后执行。
[0189] 在前面的说明书中,已经参考因实现而异的许多具体细节描述了实施例。因此,说明书和附图应当被认为是说明性的而不是限制性的。本发明的范围的唯一且排他的指示以及申请人预期作为本发明的范围的内容是从本申请中发出的权利要求集合的字面和等同范围,以这种权利要求发出的具体形式,包括任何后续的更正。