具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其它实施例,都属于本发明保护的范围。
除非另作定义,此处使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。本发明专利申请说明书以及权利要求书中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“一个”或者“一”等类似词语也不表示数量限制,而是表示存在至少一个。
以下,将参考附图详细描述本公开的实施例。首先,参照图1和图2示出的根据本公开实施例的智能化课程管理系统和方法。
图1是示出根据本公开的实施例的智能化课程管理装置以及其相关联的应用环境的框图。
参考图1,智能化课程管理系统100经由I/O接口模块101连接到网络102(例如,互联网、LAN、WAN等),并经由网络102连接到一个或多个用户设备103。如图1所示,在一些实施例中,智能化课程管理系统100可以包含数据库110和处理模块120。智能化课程管理系统100可以被配置为经由网络102获取由一个或多个用户设备103提供的信息,并将其以数据文件的形式储存在数据库110中以用于处理模块120的调取和处理。智能化课程管理系统100还可以被配置为选择内容以用于在资源(例如,网页、应用程序等)内向使用者显示,并且通过网络102从数据库110向用户设备103提供数据文件以用于在资源内显示。
在一些实施例中,智能化课程管理系统100和/或用户设备103可以是任何类型的计算装置(例如,具有处理器和存储器或其它类型的计算机可读储存介质),诸如电视和/或机顶盒,移动通信装置(例如,蜂窝电话、智能手机等),计算机和/或媒体装置(桌上型计算机设备、膝上型计算机设备、上网本计算机设备、平板计算机设备等)或任何其它类型的计算装置。在一些实施例中,可以经由基于网络的应用程序和/或驻留在智能化课程管理系统100和/或用户设备103上的应用程序来提供内容。在一些实施例中,智能化课程管理系统100和/或用户设备103可以被设计为使用各种类型的软件和/或操作系统。在各种说明性实现方式中,智能化课程管理系统100和/或用户设备103可以配备有一个或多个用户输入装置(例如,键盘、鼠标、遥控器、触控屏幕等)和/或一个或多个显示装置(例如,监控显示器、CRT、等离子、LCD、LED、触控屏幕等)和/或与一个或多个用户输入装置(例如,键盘、鼠标、遥控器、触控屏幕等)和/或一个或多个显示装置(例如,CRT、监控显示器、等离子、LCD、LED、触控屏幕等)相关联。
智能化课程管理系统100和/或用户设备103可以被配置为使用网络102从各种信息源接收数据。在一些实施例中,网络102可以包括计算网络(例如,LAN、WAN、互联网等),智能化课程管理系统100和/或用户设备103可以经由任何类型的网络连接(例如,诸如以太网、电话线、电力线等的有线网络连接,或诸如WiFi、WiMAX、3G、4G、卫星等的无线网络连接)连接到该计算网络。在一些实施例中,网络102可以包含媒体分发媒体节目和/或数据内容的分发网络,诸如电缆(例如,同轴电缆)、卫星、光纤等。
处理模块120可以包含被配置为处理模块120的各种功能的一个或多个电路。如本文所讨论的,术语“电路”包括包含硬件、软件或其组合的实现方式。例如,在一些实施例中,电路可以实现为实施所描述的功能的专门配置的硬件。在一些实施例中,可以使用储存在计算机可读储存介质——诸如易失性或非易失性存储器——上的计算机可读指令来实现电路,该计算机可读指令可由处理器或其它类型的电路执行以实现所描述的功能。在一些实施例中,可以使用硬件和计算机可读指令的组合来实现电路。所有这样的实现方式都包含在本公开的范围内。
图2是示出根据本公开的实施例的基于数据分析的智能化课程管理装置的模块化框图。
如图2所示,智能化课程管理系统200包含储存模块210和处理模块220。其中储存模块210中储存有与用户相关联的数据211、与教师/课程相关联的数据212、空闲教师列表213以及候补教师列表214。储存模块中的信息来自于从一个或多个用户设备103中获取的数据。
此外,在一些实施例中,智能化课程管理系统200的处理模块220还可以进一步包括信息收集模块221、空置率计算与设定模块222、用户排序模块223、课程安排模块224、定时检测模块225、空置班级预警模块226。虽然智能化课程管理系统200在图2中被示出为包含不同的模块,但是应该理解,图2中所示的特定配置仅仅是为了说明的目的而提供的,并且其它实现方式可以使用不同的配置。
图3是示出根据本公开的实施例的智能化课程管理方法的流程图。
下面将进一步结合图2和图3说明根据本公开实施例的智能化课程管理的方法。
在步骤S301中,在某一时段的课程开始前的第一时间之前,进行智能的课程安排操作,其中包括由信息收集模块221收集与教师相关联的数据以及与用户相关联的数据。举例而言,假设每周一上午8:00-9:00时段的课程,可以在8点之前的至少4个小时前,也就是至少在凌晨4点之前开始进行课程安排的操作。需要注意的是,该示例仅是说明性的,可以设定合理范围内的任何其他时间作为开始进行课程的安排操作的起始时间。
具体而言,在步骤S301中,信息收集模块121所收集的与教师相关联的数据可以包括,但不限于,例如在该课程时段(例如,周一上午8:00-9:00)中所有课程的总数Y、在该课程时段中所有可用的教师的总数X、在该课程时段中所有正常上课的教师总数X1、在该课程时段中所有空闲教师的总数X2、在该课程时段中所有候补教师的总数X3。
在一些实施例中,正常上课的教师指其在该时段的课程未被所有用户取消,从而实际正常上课的教师。在该课程时段中所有空闲教师是指,该时段中原本被预订的课程,由于用户的临时取消或者缺席行为,造成班级中没有预订的用户到场,使得教师并不需要实际去班级上课,从而造成教师“空闲”。在一些实施例中,正常上课的教师总数X1与空闲教师总数X2之和等于该时段课程的总数Y。候补教师是指为了因特殊情况导致预订的教师无法出席课程而贮备的后援教师。在一些实施例中,可以以总课程数Y的预定的比率来预留候补教师数量X3,从而避免出现课程无教师上课的情况。该比例可以是总课程数的5%~15%,优选9%。对于正常上课的教师和因用户取消到产生的空闲教师仍需支付费用,而对于没有被安排实际上课的候补教师不需支付费用。
在一些实施例中,可以对某一时段内的总课程数量(Y)按照以下方式来进行估计,例如,以过去一年的数据为基础进行预测估计:
总课程数量Y=上周该时段内课程总数*50%+一个月内该时段内课程总数的平均*30%+一季内该时段内课程总数的平均*20%+半年内该时段内课程总数的平均*10%。
在一些实施例中,可以根据历史信息对于某一时段的空闲教师的历史数据进行统计。例如,空闲教师历史数量X2=上周该时段的空闲教师*50%+一个月该时段的空闲教师的平均*30%+一季该时段的空闲教师的平均*20%+半年该时段的空闲教师的平均*10%。此外,对于X2的数量可能受特定因素的影响,例如,对于圣诞节等欧美节假日,欧美教师的人数将明显降低。因此,对于某些特定时间段,可以基于上述因素的考虑,而设定修整因子,从而对于X2的数量进行修正。例如,可以以适当的比例来调整X2,或者基于历史数据来调整X2,其修正方式不受限制,并且可以包含本领域技术人员易于实现的任何其它技术方案。
在步骤S302中,空置率计算与设定模块222根据以上获得的数据,计算出历史空置率,即以往空闲教师数量与总课程(班级)数量的比率,或者是以往无教师的班级数量与总班级数量的比率。在一些实施例中,例如,对于每周一上午8:00-9:00时段,根据以上算法统计出共有课程Y为10000节,而统计出的正常上课的教师总数X1为9500位,空闲教师的数量X2为500位,从而可以计算得到该时间段(周一上午8:00-9:00)的无教师的班级(课程)的比率(历史空置率)为5%。空置率计算与设定模块222进一步设定班级的预留空置率,这是为了防止出现未安排教师的班级数量过多,而有用户预订的课程没有教师出席的情况,从而影响了用户上课的体验的情况出现。在一些实施例中,空置率计算与设定模块222可以以预定的比率来设定预留空置率,例如设置预留的班级空置率为历史空置率5%的一半,即为2.5%。如此通过设置预留空置率有利地避免了班级出现过度空置的问题,并给予系统一定响应时间的安全边际,从而能够及时地匹配用户和班级,以避免出现降低用户体验的情况。应当理解的是,以上设置预留空置率的方式仅是示意性的,以其它方式设置预留空置率是可能的,例如可以以历史空置率的其它比例进行设置,或者以其它参考因素作为设置条件,例如用户年龄、用户性别、用户学历、其它用户条件等。
此外,在步骤S301中,信息收集模块221还收集与用户相关联的数据。其中,与用户相关联的数据可以包括,但不限于,用户身份数据、用户等级数据、用户取消预订课程的历史行为数据以及用户未取消预订但是缺席课程的历史行为数据中的一个或多个。
在步骤S303中,用户排序模块223基于所收集的与用户相关联的数据计算用户的取消预订的概率、未取消预订但是缺席课程的概率等用户行为习惯数据,提取与用户相关联的行为特征因子,并且基于计算结果将用户进行排序。
具体而言,在一些实施例中,对于用户的总取消概率可以按照以下方式进行计算:根据取得的用户以往订课纪录以及取消预订或者缺席的纪录,计算用户总取消概率。例如,首先计算取消预订的概率,其等于总取消次数与订课总数的比值;其次,计算未取消但是缺席课程概率,其等于总缺席次数与订课总数的比值。其中对于取消预订的概率以及未取消但是缺席课程的概率均以下面方式进行加权计算:一个月平均*50%+一季平均*30%+半年平均*20%+所有平均*10%。根据以上加权后得到的结果计算总取消概率=取消预订的概率+未取消但是缺席概率。
在一些实施例中,在步骤S303中,用户排序模块223还基于所得到的每个用户的总取消概率而对于用户进行排序。例如从概率最高到概率最低进行排序,并且将每一个用户根据排序的顺序进行编号或分组。
此外,在步骤S304中,课程安排模块224对于用户进行分班操作。分班操作可以基于以下规则进行:基于每一个用户的总取消概率的排序,将高取消概率的用户分配到相同的班级中。举例而言,假设共有50000名用户,其中例如根据每个用户的总取消概率的从高到低进行排序,并且以每个班级的人数为单位(例如每5人一个班级),可以将所有用户按照总取消概率的排序顺序分配到10000个班级。也就是说,总取消概率高的用户被分配到相同的班级,而总取消概率低的用户被分配到另外的班级。以上说明仅是示例性的,在一些实施例中,也可以以多种人数单位作为分班的单位,例如可以存在多种班级大小的组合,有些班级可以具有多于5人,有些班级可以具有少于5人,此外有些班级可以仅有一人。
然后,在步骤S305中,课程安排模块124计算以上在步骤S304中的方式分配用户后的每个班级的取消概率,可以按照如下方式进行计算:对于班级人数大于一人的班级,将班级内的每个用户的总取消概率相加后取平均,从而得到该班级的取消概率。对于班级中只有一名用户的班级,直接将该名用户的总取消概率作为班级的取消概率。
进一步地,在一些实施例中,将每个班级(例如上述示例中的10000个班级)依据计算出的每个班级的总取消概率由高到底进行排序。课程安排模块124依据班级的排序来匹配教师。具体而言,可以根据预留的空置率来计算班级的空置数量,并且将班级排序从高开始的空置数量的班级标记为空置班级,而对于剩下的班级标记为非空置班级,其中对于空置班级不安排教师。例如,在预留的班级空置率为2.5%的上述示例中,班级的空置数量为10000*2.5%=250个,进一步根据10000个班级的排序,将前250个班级设置为空置班级,对于这250个班级不安排教师。而其它剩余的9750个班级标记为非空置班级,并且正常安排教师。还需要注意的是,以上示例仅是说明性的,可以以其它方式来计算空置班级,并以其它方式匹配教师。
在第一时间处,例如在上述示例中的凌晨4点时,课程安排模块124可以形成用户和教师(班级)匹配的课程表。
图4是示出根据本公开的实施例的智能化课程管理方法的流程图。
下面将进一步结合图2和图4说明根据本公开实施例的智能化课程管理的进一步方法。
在步骤S401中,在开课前的第二时间范围内,定时检测模块225定时检测用户的临时行为,并基于检测到用户的临时取消行为或者用户的不取消行为而重新安排教师和班级。
在一些实施例中,例如在开课前的一小时内,即上述示例中的早晨7:00开始,定时检测模块225每隔5分钟检测用户是否有临时取消预定的行为,并将检测结果反馈给课程安排模块224。例如在一小时内,如果定时检测模块225检测到空置班级的所有用户均取消预订,则定时检测模块225无需通知课程安排模块224,即不进行任何操作;如果定时检测模块225检测到非空置班级的所有用户均取消预订,则通知课程安排模块224将负责该课程的教师放入空闲教师列表;如果定时检测模块225检测到空置班级的至少一个用户未取消预订,则通知课程安排模块224将教师从空闲教师列表安排至该班级。此外,如果空闲教师列表中的没有可用的教师,则从候补教师列表中选择合适教师补入。
在一些实施例中,在步骤S402中,在课程开始前的第三时间范围内,例如开课前的3分钟,即从7:57开始,定时检测模块225最后检测所有的用户预订,如果检测到存在用户预订的班级未安排教师,则重新安排空闲教师进入教室。如果空闲教师列表中的没有可用的教师,则从候补教师列表中选择合适教师补入。
直到课程开始时,在存在预订用户的班级均已安排教师的基础上,若此时空闲教师列表中仍有可用教师,则将这些教师转为候补教师。
通过以上方式,可以在确保所有课程均有教师上课的情况下,通过预测用户的行为,最大程度地节省因为用户的临时取消预订行为而造成的教师资源的浪费,从而有利于教师利用率和整体系统匹配效率的提升。
图5是示出根据本公开的实施例的智能化课程管理系统的整体框图。
如图5所示,管理系统500例如可以用于实现说明性服务器系统、说明性传输系统和/或本公开描述的各种其它说明性系统。管理系统500包含用于通信信息的总线501或其它通信组件以及耦接到总线501以用于处理信息的处理器502。管理系统500还包含诸如随机存取存储器(RAM)或其它动态储存装置的主存储器503,该主存储器503耦接到总线501以用于储存信息和由处理器502执行的指令。管理系统500可以进一步包含只读存储器(ROM)504或耦接到总线501的其它储存装置(未示出),以用于储存静态信息和处理器502的指令。
管理系统500可以经由总线501耦接到显示器506以向用户显示信息,诸如液晶显示器或有源矩阵显示器。输入装置507(诸如包含字母数字键和其它键的键盘)可以耦接到总线501以用于将信息和/或命令通信到处理器502。在一些实施例中,输入装置507可以包括,但不限于触控显示器、鼠标、轨迹球或光标方向键等,以用于将数据或信息命令等通信到处理器502。
在一些实施例中,管理系统500可以包含通信适配器505,诸如网络适配器。通信适配器505可以耦接到总线501,并且可以被配置为使得能够进行与网络508和/或其它计算系统的通信。在各种说明性实现方式中,可以使用通信适配器505来实现任何类型的网络配置,诸如有线的(例如,经由以太网)、无线的(例如,经由WiFi、蓝牙等)、ad-hoc、LAN、WAN等。
根据各种实现方式,可以通过管理系统500响应于处理器502执行含有在主存储器503中的指令安排而实现使本文描述的说明性实现方式实行的过程。这样的指令可以从另一个计算机可读介质(诸如其它储存装置)读入主存储器503。对于包含在主存储器503中的指令安排的执行引起管理系统500进行本文描述的说明性过程。还可以采用多处理安排中的一个或多个处理器来执行含有在主存储器503中的指令。在替代实现方式中,可以使用硬接线(hard-wired)电路代替软件指令或与软件指令组合以实现说明性实现方式。因此,实现方式不限于硬件电路和软件的任何具体组合。
图6是示出根据本公开的实施例的计算机可读存储介质的示意图。如图6所示,根据本公开实施例的计算机可读存储介质600其上存储有计算机程序指令601。当所述计算机程序指令601由处理器运行时,执行如上所述的说明性处理方法。所述计算机可读存储介质包括但不限于例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存、光盘、磁盘等。
以上结合具体实施例描述了本发明的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本发明的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本发明为必须采用上述具体的细节来实现。
本公开中涉及的装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
本公开中的步骤流程图以及以上方法描述仅作为例示性的例子并且不意图要求或暗示必须按照给出的顺序进行各个实施例的步骤,某些步骤可以并行、彼此独立或按照其他适当的顺序执行。另外,诸如“其后”、“然后”、“接下来”等等的词语不意图限制步骤的顺序;这些词语仅用于引导读者通读这些方法的描述。
另外,如在此使用的,在以“至少一个”开始的项的列举中使用的“或”指示分离的列举,以便例如“A、B或C的至少一个”的列举意味着A或B或C,或AB或AC或BC,或ABC(即A和B和C)。此外,措辞“示例的”不意味着描述的例子是优选的或者比其他例子更好。
还需要指出的是,在本发明的装置和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。
对本领域的普通技术人员而言,能够理解本公开的方法和装置的全部或者任何部分,可以在任何计算装置(包括处理器、存储介质等)或者计算装置的网络中,以硬件、固件、软件或者它们的组合加以实现。所述硬件可以是利用被设计用于进行在此所述的功能的通用处理器、数字信号处理器(DSP)、ASIC、场可编程门阵列信号(FPGA)或其他可编程逻辑器件(PLD)、离散门或晶体管逻辑、离散的硬件组件或者其任意组合。通用处理器可以是微处理器,但是作为替换,该处理器可以是任何商业上可获得的处理器、控制器、微控制器或状态机。处理器还可以实现为计算设备的组合,例如DSP和微处理器的组合,多个微处理器、与DSP核协作的一个或多个微处理器或任何其他这样的配置。所述软件可以存在于任何形式的计算机可读的有形存储介质中。通过例子而不是限制,这样的计算机可读的有形存储介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁存储器件或者可以用于携带或存储指令或数据结构形式的期望的程序代码并且可以由计算机访问的任何其他有形介质。如在此使用的,盘包括紧凑盘(CD)、激光盘、光盘、数字通用盘(DVD)、软盘和蓝光盘。
本发明公开的智能控制技术还可以通过在任何计算装置上运行一个程序或者一组程序来实现。所述计算装置可以是公知的通用装置。本发明所公开的智能技术也可以仅仅通过提供包含实现所述方法或者装置的程序代码的程序产品来实现,或者通过存储有这样的程序产品的任意存储介质来实现。
可以不脱离由所附权利要求定义的教导的技术而进行对在此所述的技术的各种改变、替换和更改。此外,本公开的权利要求的范围不限于以上所述的处理、机器、制造、事件的组成、手段、方法和动作的具体方面。可以利用与在此所述的相应方面进行基本相同的功能或者实现基本相同的结果的当前存在的或者之后要开发的处理、机器、制造、事件的组成、手段、方法或动作。因而,所附权利要求包括在其范围内的这样的处理、机器、制造、事件的组成、手段、方法或动作。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本发明。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本发明的范围。因此,本发明不意图被限制于所示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本发明的实施例限制于公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。