Conventional approaches to employee training in the corporate environment tend to be reactive rather than proactive for several reasons. For instance, it can be difficult and time consuming to identify core competencies that a large organization may need to develop in its employees. Moreover, it is typically easier to offer introductory training or bulk learning resources at scale than to provide long-term individually curated training. In addition, for some organizations, particularly those in technology intensive industries, training needs often change rapidly along with industry changes, making it difficult to predict what specific skills are worth investing in. However, when training fails to address the particular learning needs of an employee, it is less likely that the employee will pursue that training, or engage effectively with it if it is mandated, which can result in wasted investment.
Short-term workshops or introductory training often provide only surface-level knowledge about a topic, rather than imparting a deeper understanding that an employee can apply to their own work. By contrast, for meaningful learning to occur, individual employees need to be able to participate in the identification of their own training pathways, as well as to transfer newly acquired skills to novel situations. Organizations are at risk of losing some of their most curious, ambitious, and potentially productive personnel if they do not provide them with a strategic, employee driven approach for learning.
There are provided systems and methods for providing recommendation engine guided learning, substantially as shown in and described in connection with at least one of the figures, and as set forth more completely in the claims.
The following description contains specific information pertaining to implementations in the present disclosure. One skilled in the art will recognize that the present disclosure may be implemented in a manner different from that specifically discussed herein. The drawings in the present application and their accompanying detailed description are directed to merely exemplary implementations. Unless noted otherwise, like or corresponding elements among the figures may be indicated by like or corresponding reference numerals. Moreover, the drawings and illustrations in the present application are generally not to scale, and are not intended to correspond to actual relative dimensions.
The present application discloses systems and methods for providing recommendation engine guided learning that address and overcome the drawbacks and deficiencies in the conventional art. The present guided learning solution advances the state-of-the-art by providing a user with learning playlists tailored to that user's needs and aspirations. As defined for the purposes of the present application., a “learning playlist” is a curated menu of learning experiences involving a variety of mediums, such as online courses, in-person workshops, expert resources, books, articles, video, and the like, that target a specific competency.
It is noted that, as used in the present application, the expression“online courses” refers to remote learning experiences that may be participatory, or may simply include educational content provided for passive consumption by a user, and that may be made available to single user or may be delivered to multiple users concurrently. By contrast, the expression “in-person workshops” refers to in situ learning experiences in which a group of users interact with one another and an instructor to acquire a skill or to consolidate knowledge. It is further noted that the expression “expert resources” refers to person-to-person interaction with an established expert in a field that includes a particular competency, as well as learning resources recommended by such an expert.
The learning playlists are designed to offer long-term learning experiences that dynamically adapt to the changing needs of an organization by defining one or more core competencies for the user inputs, such as a job description for the user's position organization, as well as desired competencies selectable by the user. The learning playlists are curated by defining a prioritized list of core competencies identified from an analysis of job descriptions and user input of their desired competencies and matching these to corresponding, best fit learning resources. In some implementations, the learning playlists can be further refined through user reviews and preferences as the user engages with the learning playlists, making the present guided learning solution unique in offering a digital learning experience that advantageously provides meaningful, relevant, and transferable learning that is strategic in driving an organization's growth.
In some implementations, the systems and methods disclosed by the present application may be substantially or fully automated. It is noted that, as used in the present application, the terms “automation” “automated,” and “automating”refer to systems and processes that do not require the participation of a human administrator. Although, in some implementations, a human training administrator may review the learning playlists generated by the automated systems and according to the automated methods described herein, or may participate in the production of such learning playlists, that human involvement is optional. Thus, in some implementations, the methods described in the present application may be performed under the control of hardware processing components of the disclosed automated systems.
With respect to the expression “role type,” each member of an organization. may be classified into a generalized role type based on their position within the organization. For example, where such an organization is a business organization employing user 140a and other users 140b and 140c, each employee of that business organization may be classified into role type, such as role type 150, based on their job description. That is to say, the job description associated with user 140a may be used to assign user 140a to role type 150 including other employees of the organization, i.e., other users 140b and 140c having the same or similar job descriptions. It is further noted that although
As further shown in
It is noted that although in some implementations, as shown in
Although the present application refers to software code 110 as being stored in system memory 106 for conceptual clarity, more generally, system memory 106 may take the form of any computer-readable non-transitory storage medium. The expression “computer-readable non-transitory storage medium,” as used in the present application, refers to any medium, excluding a carrier wave or other transitory signal that provides instructions to hardware processor 104 of computing platform 102. Thus, a computer-readable non-transitory storage medium may correspond to various types of media, such as volatile media and non-volatile media, for example. Volatile media may include dynamic memory, such as dynamic random access memory (dynamic RAM), while non-volatile memory may include optical, magnetic, or electrostatic storage devices. Common forms of computer-readable non-transitory media include, for example, optical discs, RAM, programmable read-only memory (PROM), erasable PROM (EPROM), and FLASH memory.
Moreover, although
Although training administration system 152 is shown as a desktop computer in
Display 154 of training administration system 152 may take the form of a liquid crystal display (LCD), a light-emitting diode (LED) display, an organic light-emitting diode (OLED) display, a quantum dot (QD) display, or any other suitable display screen that performs a physical transformation of signals to light. It is noted that, in some implementations, display 154 may be integrated with training administration system 152, such as when training administration system 152 takes the form of a laptop or tablet computer for example. However, in other implementations, for example where training administration system 152 takes the form of a computer tower in combination with a desktop monitor, display 154 may be communicatively coupled to, but not physically integrated with training administration system 152.
It is further noted that although media player 216 may be used to consume training resources in the form of audio, video, and digital books or articles stored in training content library 120, or those training resources may be displayed on GUI 214 as links directly to the content source. That is to say, not all training resources accessible through GUI 214 need to be stored in training resource library 120 and hosted by system 100. With respect to playlists 260a, 260b, 260c, and 260d, it is noted that, because the same training resource may have relevance to more than one core competency, that same training resource may be listed in more than one learning playlist generated for user 140a. However, in some implementations, system 100 is configured to prevent the same training resource to be listed in more than one learning playlist targeted to the same core competency.
GUI 214 and learning playlist(s) 260 correspond respectively in general to GUI 114 and learning playlist(s) 160, in
The functionality of software code 110, in
Referring to
Continuing to refer to
Identification of role type 150 including user 140a may be performed by software code 110, executed by hardware processor 104 of computing platform. Software code 110 may use information included in login input 142 to access training profile 132a of user 140a, which is stored in training profile database 130 of system 100. Training profile 132a of user 140a may include the job description associated with user 140a, role type 150 to which user 140a has been assigned, as well as a training history for user 140a.
Flowchart 300A continues with determining, using role type 150, one or more core competencies for user 140a (action 303). The job description associated with user 140a and stored in training profile 132a of user 140a, together with job descriptions of other users 140b and 140c included in role type 150 can be used to assemble a list of one or more competencies for user 140a. Moreover, those competencies may be hierarchically ranked based on the extent to which a particular competency is shared among other users 140b and 140c included in role type 150. For example, if user 140a and other users 140b and 140c are software engineers and use of programming language “A” is listed in more than fifty percent of the job descriptions associated with role type 150, proficiency in programming language “A” may be ranked higher, i.e., be prioritized, over other competencies appearing in less than fifty percent of those job descriptions.
In some use cases, it may be advantageous or desirable to limit the number of competencies addressed concurrently in the training of user 140a in order not to overwhelm or discourage user 140a. In those use cases, the hierarchical ranking described above may be utilized to determine that a predetermined and configurable number of the highest ranked competencies are the core competencies for user 140a in action 303. In some implementations, the proficiency of a particular user with respect to a core competency may affect the hierarchical ranking described above. For instance, in the example described above in which user 140a and other users 140b and 140c are software engineers and competence in the use of programming language “A” is determined to be a core competency for role type 150, that determination may be overridden for user 140a if user 140a has performed at or above a predetermined competency threshold on a test of proficiency in the use of programming language “A”. This may enable further personalization for users starting with the organization at different levels of personal competency and thereby advantageously facilitate the acquisition of other core competencies by those users.
Action 303 may be performed by software code 110, executed by hardware processor 104 of computing platform 102, and using training profile 132a of user 140a, as well as training profiles 132b and 132c of other users 140b and 140c included in role type 150. In some implementations, action 303 may be performed in an entirely automated process by software code 110, executed by hardware processor 104. However, in other implementations, the competencies for user 140a identified by software code 110 may be reviewed by training administrator 126 for completeness, and the one or more core competencies determined in action 303 may be reviewed for approval or correction.
Flowchart 300A continues with identifying, using training recommendation engine 112, training resources for use in attaining the one or more core competencies for user 140a (action 304). As noted above, the training resources for use by user 140a may include training resources in a variety of mediums, such as in-person workshops, expert resources, books, articles, and video, to name a few examples. The training resources for use in attaining the one or more core competencies for user 140a may be identified from among the training resources stored on training resource library 120 or otherwise available user 140a. As noted above, although in some implementations, as shown in
Each training resource available to user 140a may be analyzed using training recommendation engine 112 to identify the best fit to the one or more core competencies determined in action 303. For example, in implementations in which training resource library 120 corresponds to one or more third party providers, all training resources available from each third party provider could be aggregated into a pool, and tagged with a provider identification and the medium in which the training resource is available. In addition, provider-specific application programming interfaces (APIs), for instance, could be used to access training resources in the pool in order to identify any training resource from any provider that matches or otherwise aligns with the core competencies for user 140a. The matching or aligned training resources can then be ranked in priority order based on various criteria, such as a training history of user 140a included in training profile 132a of user 140a, or known learning preferences of user 140a stored in training profile 132, for example.
Known learning preferences of user 140a may be based on previous engagement of user 140a with other training resources. For instance, if user 140a is more likely to watch video based content than to read article based content, that known learning preference could be used to prioritize the matching or aligned training resources identified in action 304. That is to say system 100 can learn from a user's engagement and adjust the training resource recommendations based on factors such as training resource medium, training resource duration, and the source or provider of the training resource. In some implementations, system 100 may enable user 140a to input their own preferences by medium, duration, or provider. Although those user inputs will typically not limit the training resources identified in action 304 to only those preferred by the user, the user inputs may be advantageously used to prioritize certain training resources over others.
Action 304 may be performed by software code 110, executed by hardware processor 104 of computing platform 102, and using training recommendation engine 112. In some implementations, training recommendation engine 112 may be configured to use a content-based filtering strategy to identify training resources for use in attaining the one or more core competencies for user 140a. Alternatively, or in addition, in some implementations, training recommendation engine 112 may be configured to use a collaborative filtering strategy to identify the best fit resources. For example, in some implementations, hardware processor 104 may execute software code 110 to use training recommendation engine 112 to identify the training resources for use in attaining the one or more core competencies for user 140a based on training profile 132b of other user 140b, or on training profile 132c of other user 140c. Thus, in some implementations, training recommendation engine 112 may be a hybrid. recommendation engine. Hybrid recommendation engines are described in detail in the publication titled “Hybrid Recommender System: A Systematic Literature Review,” by Erion Çano and Maurizio Morisio (arXiv:1901.03888v1 [cs.IR], Jan. 12, 2019), which is hereby incorporated fully by reference into the present application.
According to the exemplary method outlined in
Referring to flowchart 300B, in
According to the exemplary method outlined by flowchart 30013, action 305 is followed by outputting learning playlist(s) 160/260 to training administrator 126 for review (action 306). Action 306 may be performed by software code 110, executed by hardware processor 104 of computing platform 102. For example, learning playlist(s) 160/260 may he transmitted to training administration system 152 via communication network 108 and network communication links 118 for rendering and presentation to training administrator 126 on display 154.
Flowchart 300B continues with receiving input 158 from training administrator 126 identifying a future competency for role type 150 including user 140a (action 307). As shown in
Flowchart 300B continues with identifying, using training recommendation engine 112, one or more other training resources for use in attaining the future competency identified by input 158 (action 308). Identification of the one or more other training resources for attaining the future competency may be performed by software code 110, executed by hardware processor 104 of computing platform 102, and using training recommendation engine 112 in a manner analogous to action 304 described above.
Flowchart 300B can conclude with generating, using training recommendation engine 112 and training profile 132a of user 140a, another learning playlist, that other learning playlist configured to target the future competency using the one or more other training resources identified in action 308 (action 309).
It is noted that in some implementations, actions 308 and 309 may be performed in an entirely automated process by software code 110, executed by hardware processor 104. It is further noted that although flowchart 300B lists action 309 subsequent to action 308, that representation is merely exemplary. In various implementations, action 309 may follow action 308 or may be performed substantially concurrently with action 308. Moreover, in some implementations in which action 308 precedes action 309, the one or more other training resources identified using training recommendation engine 112 in action 308 may be sent to training administrator 126 for review and approval before action 309 is performed.
Referring to
As further shown in
Referring to
In implementations in which optional action 311 is performed, flowchart 300C may continue with optionally modifying one or more of learning playlist(s) 160/260 using playlist modification input 144 (action 312). As noted above, in some implementations, playlist modification input 144 may request addition of one or more user requested training resources to learning playlist(s) 160/260. In those implementations, hardware processor 104 of computing platform 102 may be configured to execute software code 110 to verify that user 140a is eligible to receive the user requested training resource, and modify, in response to verifying that user 140a is eligible to receive the user requested training resource, one or more of learning playlist(s) 160/260 to list the user requested training resource.
In some implementations, verification that user 140a is eligible to receive the user requested training resource identified by playlist modification input 144 may be performed by software code 110 in an automated process, by reference to training profile 132a of user 140a, for example, which may include a list of training resources to which user 140a is authorized access. However, in other implementations, verification that user 140a is eligible to receive the user requested training resource may include querying training administrator to 126 for permission to add the user requested training resource to one or more of learning playlist(s) 160/260.
As further noted above, in some implementations, playlist modification input 144 may request removal of one or more training resources presently listed in learning playlist(s) 160/260. In those implementations, hardware processor 104 of computing platform 102 may is be configured to execute software code 110 to confirm that one or more of the training resources requested to be removed has/have been completed by user 140a or is/are unrelated to the one or more core competencies for user 140a determined in action 303. Moreover, in those implementations, hardware processor may also execute software code 110 to modify, in response to confirming that the one or more training resources has/have been completed by user 140a or is/are unrelated to the one or more core competencies for user 140a, one or more of learning playlist(s) 160/260 to omit the one or more training resources requested to be removed.
In some implementations, confirmation that the one or more training resources identified by playlist modification input 144 for removal from learning playlist(s) 160/260 has/have been completed by user 140a or is/are unrelated to the one or more core competencies for user 140a may be performed by software code 110 in an automated process, by reference to training profile 132a of user 140a, which may include a training history of user 140a as well as the one or more core competencies determined in action 303. However, in other implementations, confirmation that the one or more training resources identified by playlist modification input 144 for removal from learning playlist(s) 160/260 is/are unrelated to the one or more core competencies for user 140a may include querying training administrator 126 for such confirmation.
As also noted above, in some implementations, playlist modification input 144 may request the reprioritizing of individual learning playlists 260a, 260b, 260c, and 260d listed among learning playlist(s) 160/260. In those implementations hardware processor 104 of computing platform 102 may be configured to execute software code 110 reprioritize learning playlists 260a, 260b, 260c, and 260d. In some such implementations, software code 110 may make some or all of the reprioritizing changes identified in playlist modification input 144 in an automated process, based on permissions included in training profile 132a of user 140a. However in other implementations, software code 110 may query training administrator 126 for permission to perform the requested reprioritizing of learning playlists 260a, 260b, 260c, and 260d.
In some implementations, flowchart 300C can continue with optionally receiving certification data 146 from user 140a, where certification data 146 confirms completion of a certificated training program by user 140a (action 313). For example, in addition to the training provided to user 140a by the organization for which user 140a is an employee, user 140a may pursue additional learning opportunities, such as a technical certification program, or academic degree program, for instance. User 140a may be encouraged by the organization employing user 140a to submit evidence of completion of any certification programs so that the guided learning for user 140a provided by system 100 can be appropriately updated. As shown by
In implementations in which optional action 313 is performed, flowchart 300C can continue with optionally identifying, in response to receiving certification data 146, at least one of a new role type for user 140a or another training resource for use by user 140a (action 314). Certification data 146 may qualify user 140a for a change in status involving a new job description or additional responsibilities. Thus in some implementations, certification data 146 may result in removing user 140a from role type 150 and assigning user 140a to another role type associated with different core competencies. Alternatively, certification data 146 may indicate that user 140a has progressed in acquiring at least one of the one or more of the core competencies determined in action 303. In those implementations, other training resources corresponding to other core competencies associated with role type 150 in which user 140a remains may be identified in action 314.
In implementations in which a new role type is identified in action 314, action 314 may be performed by software code 110, executed by hardware processor 104 of computing platform 102, in a manner analogous to that described above by reference to action 302. In implementations in which another training resource is identified in action 314, action 314 may be performed by software code 110, executed by hardware processor 104 of computing platform 102, and using training recommendation engine 112 in a manner analogous to that described above by reference to action 304.
It is noted that although flowchart 300C shows action 313 in which certification data 146 is received from user 140a as occurring subsequent to the actions listed in
Flowchart 300C may cor e updating one or more of learning playlist(s) 160/260 using training recommendation engine 112 and the one or more of the new role type or the other training resource identified in action 314 (action 315). Updating of one or more of learning playlist(s) 160/260 may include one or more of adding additional training resources for use by user 140a, or removing one or more existing training resources, for example. In some implementations, updating of one or more of learning playlist(s) 160/260 may include substituting an entirely different learning playlist for one or more of learning playlists 260a, 260b, 260c, and 260d included among learning playlist(s) 160/260. Action 315 may be performed by software code 110, executed by hardware processor 104 of computing platform 102, and using training recommendation engine 112 in a manner analogous to that described above by reference to action 305.
It is noted that although flowchart 300C lists action 315 subsequent to action 314, that representation is merely exemplary. In various implementations, action 315 may follow action 314 or may be performed substantially concurrently with action 314. Moreover, and as noted above, actions 310, 311, 312, 313, 314, and 315 are optional and may be performed in a different order or entirely omitted. Consequently, in various implementations, a method for providing recommendation engine guided learning may include actions 301-305, or actions 301-305 and 310, or actions 301-305, as well as actions 310, 311, and 312 (hereinafter “actions 310-312”), or actions 301-305 as well as actions 313, 314, and 315 (hereinafter “actions 313-315”), or actions 301-305 and 310, as well as actions 313-315, or actions 301-305 as well as actions 310-312 and 313-315 (hereinafter actions “310-315”). In other implementations, such a method may include actions 301-305, 306, 307, 308, and 309 (hereinafter “actions 301-309”), or actions 301-309 and 310, or actions 301-309, as well as to actions 310-312, or actions 301-309 as well as actions 313-315, or actions 301-309 and 310, as well as actions 313-315, or actions 301-309 as well as actions 310-315.
In some implementations, hardware processor 104 may further execute software code 110 to improve the performance of training recommendation engine 112 through machine learning. For example, software code 110 may track inputs to GUI 114 by training administrator 1.26 and record the extent to which training administrator 126 corrects or otherwise changes learning playlists generated using training recommendation engine 112. That information can be used as feedback to training recommendation engine 112 to better learn the training preferences of training administrator 126. Alternatively, or in addition, feedback in the form of ratings provided by user 140a in response to receiving guided learning from system 100 may be used to further improve the performance of training recommendation engine 112.
Thus, the present application discloses systems and methods for providing recommendation engine guided learning that overcome the drawbacks and deficiencies in the conventional art. As discussed above, the present guided learning solution advances the state-of-the-art by providing a user with learning playlists tailored to that user's needs and aspirations. The learning playlists are designed to offer long-term learning experiences that dynamically adapt to the changing needs of an organization by defining one or more core competencies for the user from inputs, such as a job description for the user's position in the organization, as well as desired competencies selectable by the user. The learning playlists are curated by defining a prioritized list of core competencies identified from an analysis of job descriptions and user input of their desired competencies and matching these to corresponding, best fit learning resources. In some implementations, the learning playlists can be further refined through user reviews and preferences as the user engages with the training program, making the present guided learning solution unique in offering a digital learning experience that advantageously provides meaningful, relevant, and transferable learning that is strategic in driving an organization's growth.
From the above description it is manifest that various techniques can be used for implementing the concepts described in the present application without departing from the scope of those concepts. Moreover, while the concepts have been described with specific reference to certain implementations, a person of ordinary skill in the art would recognize that changes can be made in form and detail without departing from the scope of those concepts. As such, the described implementations are to be considered in all respects as illustrative and not restrictive. It should also be understood that the present application is not limited to the particular implementations described herein, but many rearrangements, modifications, and substitutions are possible without departing from the scope of the present disclosure.