U.S. patent application number 15/912333 was filed with the patent office on 2018-07-12 for adaptive machine learning system.
The applicant listed for this patent is Analyttica Datalab Inc.. Invention is credited to Rajiv Baphna, Satyamoy Chatterjee, Ashutosh Joshi, Halasya Siva Subramania.
Application Number | 20180197428 15/912333 |
Document ID | / |
Family ID | 62783263 |
Filed Date | 2018-07-12 |
United States Patent
Application |
20180197428 |
Kind Code |
A1 |
Baphna; Rajiv ; et
al. |
July 12, 2018 |
ADAPTIVE MACHINE LEARNING SYSTEM
Abstract
Apparatuses, systems, methods, and computer program products are
disclosed for adaptive machine learning. An apparatus includes a
monitoring module that continuously monitors one or more
interactions of a user while the user performs one or more
simulated tasks digitally presented to the user that are associated
with a learning path. The apparatus includes a metadata module that
tracks data describing the user's interactions during the user's
performance of one or more simulated tasks. The apparatus includes
a machine learning module that, dynamically and in real-time,
optimizes the user's learning path by simulating multiple different
learning paths using one or more machine learning processes and
tracked data. The apparatus includes a recommendation module that
presents one or more recommendations to the user for optimizing the
user's learning path. One or more recommendations may be generated
as a function of the optimized learning path.
Inventors: |
Baphna; Rajiv; (Bangalore,
IN) ; Chatterjee; Satyamoy; (Bangalore, IN) ;
Subramania; Halasya Siva; (Bangalore, IN) ; Joshi;
Ashutosh; (Bangalore, IN) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Analyttica Datalab Inc. |
Wilmington |
DE |
US |
|
|
Family ID: |
62783263 |
Appl. No.: |
15/912333 |
Filed: |
March 5, 2018 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
15888799 |
Feb 5, 2018 |
|
|
|
15912333 |
|
|
|
|
14477843 |
Sep 4, 2014 |
9886867 |
|
|
15888799 |
|
|
|
|
Current U.S.
Class: |
1/1 |
Current CPC
Class: |
G09B 5/00 20130101; G09B
5/08 20130101; G09B 7/04 20130101; G09B 7/00 20130101 |
International
Class: |
G09B 7/00 20060101
G09B007/00; G09B 5/00 20060101 G09B005/00 |
Foreign Application Data
Date |
Code |
Application Number |
Sep 5, 2013 |
IN |
3975/CHE/2013 |
Claims
1. An apparatus comprising: a monitoring module that continuously
monitors one or more interactions of a user while the user performs
one or more simulated tasks digitally presented to the user, the
one or more simulated tasks associated with a learning path; a
metadata module that tracks data describing the user's interactions
during the user's performance of the one or more simulated tasks of
the learning path; a machine learning module that, dynamically and
in real-time, optimizes the user's learning path by simulating
multiple different learning paths using one or more machine
learning processes and the tracked data; and a recommendation
module that presents one or more recommendations to the user for
optimizing the user's learning path, the one or more
recommendations generated as a function of the optimized learning
path, wherein at least a portion of said modules comprise one or
more of hardware circuits, programmable hardware devices, and
executable code, the executable code stored on one or more computer
readable storage media.
2. The apparatus of claim 1, wherein the machine learning module
further comprises an artificial neural network configured to use
the tracked data to determine an optimal learning path for the
user.
3. The apparatus of claim 2, wherein the artificial neural network
is trained using a plurality of historical data tracked for
interactions from a plurality of different users that performed
simulated tasks associated with their respective learning
paths.
4. The apparatus of claim 2, wherein the machine learning module
uses output from the artificial neural network to generate the one
or more recommendations.
5. The apparatus of claim 1, wherein the machine learning module
compares the tracked data from the user's interactions with one or
more reference learning paths for the one or more simulated tasks
to determine one or more recommendations for optimizing the user's
learning path.
6. The apparatus of claim 5, wherein the one or more reference
learning paths include one or more of: an expert learning path; a
learning path for a peer of the user; and previous versions of the
user's learning path.
7. The apparatus of claim 1, wherein the machine learning module
further incorporates user profile data to optimize the user's
learning path, the user profile data comprising demographic data,
experience data, academic data, and the user's learning
schedule.
8. The apparatus of claim 1, further comprising a code integrating
module that converts the user's interactions for performing the one
or more simulated tasks into code for one or more programming
languages.
9. The apparatus of claim 1, wherein the one or more
recommendations comprise one or more of suggestions, hints,
instructions, and advice for performing the one or more simulated
tasks by one or more of using less time and using a lesser number
of steps.
10. The apparatus of claim 1, wherein the one or more interactions
that the monitoring module monitors comprises one or more of cursor
movements, keyboard input, eye movements, and voice input.
11. The apparatus of claim 10, wherein the monitoring module
creates metadata for each of the one or more interactions, the
metadata for each interaction comprising an identifier for the
interaction, a type of the interaction, a timestamp for when the
interaction occurred, a location for the interaction, and an amount
of time that the interaction was performed.
12. The apparatus of claim 1, wherein the data that the data
tracking module tracks for the one or more interactions includes
one or more of: interface elements that the user selects; interface
elements that the user clicks on; areas of the display that the
user looks at; content that the user reads; content that the user
writes; an amount of time that the user consumes a multimedia
element; website navigation; and content consumption patterns.
13. The apparatus of claim 1, further comprising a gaming module
that: assigns the user scores during the user's performance of the
one or more simulated tasks; and compares, in real-time, the user's
scores during the user's performance of the one or more simulated
tasks with scores for other users who are performing the same
simulated tasks.
14. The apparatus of claim 1, further comprising a collaborating
module that facilitates communications between the user and one or
more other users who are performing the same simulated tasks.
15. The apparatus of claim 1, wherein the one or more simulated
tasks comprise one or more tasks associated with a data analysis
project.
16. A system comprising: a network; a server configured to present
a learning interface to a user; a neural network communicatively
coupled to the server over the network; a monitoring module that
continuously monitors, at the server, one or more interactions of a
user while the user performs one or more simulated tasks digitally
presented to the user, the one or more simulated tasks associated
with a learning path; a data tracking module that tracks data, at
the server, describing the user's interactions during the user's
performance of the one or more simulated tasks of the learning
path; a machine learning module that, dynamically and in real-time,
uses the neural network to optimize the user's learning path by
simulating multiple different learning paths using one or more
machine learning processes and the tracked data received from the
server; and a recommendation module that presents, at the server,
one or more recommendations to the user for optimizing the user's
learning path, the one or more recommendations generated as a
function of the optimized learning path.
17. The system of claim 16, further comprising one or more data
stores for storing the tracked data, the one or more data stores
located remotely to the server and communicatively coupled to the
server over the network.
18. The system of claim 17, wherein the server comprises one of a
plurality of virtual servers executing on cloud devices, the
plurality of virtual servers configured to execute different
machine learning processes for optimizing the user's learning path,
the one or more data stores mounted as local drives on the virtual
servers.
19. An apparatus comprising: means for continuously monitoring one
or more interactions of a user while the user performs one or more
simulated tasks digitally presented to the user, the one or more
simulated tasks associated with a learning path; means for tracking
data describing the user's interactions during the user's
performance of the one or more simulated tasks of the learning
path; means for dynamically and in real-time, optimizing the user's
learning path by simulating multiple different learning paths using
one or more machine learning processes and the tracked data; and
means for presenting one or more recommendations to the user for
optimizing the user's learning path, the one or more
recommendations generated as a function of the optimized learning
path.
20. A computer program product comprising a computer readable
storage medium, that is not a transitory signal, having program
code embodied therein, the program code readable/executable by a
processor for: continuously monitoring one or more interactions of
a user while the user performs one or more simulated tasks
digitally presented to the user, the one or more simulated tasks
associated with a learning path; tracking data describing the
user's interactions during the user's performance of the one or
more simulated tasks of the learning path; dynamically and in
real-time, optimizing the user's learning path by simulating
multiple different learning paths using one or more machine
learning processes and the tracked data; and presenting one or more
recommendations to the user for optimizing the user's learning
path, the one or more recommendations generated as a function of
the optimized learning path and presented within an interface of a
display of a computing device.
Description
CROSS-REFERENCES TO RELATED APPLICATIONS
[0001] This application is a continuation-in-part application of
and claims priority to U.S. patent application Ser. No. 15/888,799
entitled "SIMULATION-BASED LEARNING SYSTEM AND METHOD FOR TRAINING
AND SCORING ONE OR MORE CHALLENGES TAKEN BY A USER" and filed on
Feb. 5, 2018, for Rajiv Baphna et al., which is a continuation of
and claims priority to U.S. patent application Ser. No. 14/477,843
entitled "SIMULATION-BASED LEARNING SYSTEM AND METHOD FOR TRAINING
AND SCORING ONE OR MORE CHALLENGES TAKEN BY A USER" and filed on
Sep. 4, 2014, for Rajiv Baphna et al., which is incorporated herein
by reference, which claims priority to Indian patent application
no. 3975/CHE/2013 filed on Sep. 5, 2013, the complete disclosure of
which, in its entirely, is herein incorporated by reference.
FIELD
[0002] The embodiments herein generally relate to an adaptive
machine learning system for analytics training, and more
particularly to a machine learning system for processing and
analyzing behavioral and factual data, and progress of a user.
BACKGROUND
[0003] Training in analytics and other fields is currently focused
on showing trainees the tools, e.g., showing the underlying
statistical packages/products/codes for analytics training, and
their applications. The current mode of is primarily unilateral
through online learning, video sessions, class room teaching, or
personal training, along with some laboratory work for hands on
experience. Additionally, the current model of online and in-person
education is non-scalable and can be limited by the availability of
the right talent to teach. The online education model relies on a
`one size fits all` approach, which does not customize learning to
individual needs or effectively address diversity of talent. Thus,
there is a need for an intelligent, virtual and scalable training
system and platform with experience-based learning catered to
individual needs that allows a user to experience real-life
scenarios in an application-based rather than a theory-based
environment with better interactive learning in real-time and in a
collaborative manner.
SUMMARY
[0004] Apparatuses, systems, methods, and computer program products
are disclosed for adaptive machine learning. In one embodiment, an
apparatus includes a monitoring module that continuously monitors
one or more interactions of a user while the user performs one or
more simulated tasks digitally presented to the user that are
associated with a learning path. The apparatus, in further
embodiments, includes a metadata module that tracks data describing
the user's interactions during the user's performance of one or
more simulated tasks. The apparatus, in some embodiments, includes
a machine learning module that, dynamically and in real-time,
optimizes the user's learning path by simulating multiple different
learning paths using one or more machine learning processes and
tracked data. In certain embodiments, the apparatus includes a
recommendation module that presents one or more recommendations to
the user for optimizing the user's learning path. One or more
recommendations may be generated as a function of the optimized
learning path. In one embodiment, at least a portion of the modules
include one or more of hardware circuits, programmable hardware
devices, and executable code, which is stored on one or more
computer readable storage media.
[0005] In one embodiment, the machine learning module further
comprises an artificial neural network configured to use the
tracked data to determine an optimal learning path for the user. In
some embodiments, the artificial neural network is trained using a
plurality of historical data that is tracked for interactions from
a plurality of different users that performed simulated tasks
associated with their respective learning paths.
[0006] In further embodiments, the machine learning module uses
output from the artificial neural network to generate the one or
more recommendations. In certain embodiments, the machine learning
module compares the tracked data from the user's interactions with
one or more reference learning paths for the one or more simulated
tasks to determine one or more recommendations for optimizing the
user's learning path.
[0007] In one embodiment, the one or more reference learning paths
include one or more of an expert learning path, a learning path for
a peer of the user, and/or previous versions of the user's learning
path. In various embodiments, the machine learning module further
incorporates user profile data to optimize the user's learning
path. The user profile data may include demographic data,
experience data, academic data, and the user's learning
schedule.
[0008] In some embodiments, the apparatus includes a code
integrating module that converts the user's interactions for
performing the one or more simulated tasks into code for one or
more programming languages. In certain embodiments, the one or more
recommendations comprise one or more of suggestions, hints,
instructions, and advice for performing the one or more simulated
tasks by one or more of using less time and using a lesser number
of steps.
[0009] In one embodiment, the one or more interactions that the
monitoring module monitors comprises one or more of cursor
movements, keyboard input, eye movements, and voice input. In
further embodiments, the monitoring module creates metadata for
each of the one or more interactions. The metadata for each
interaction may include an identifier for the interaction, a type
of the interaction, a timestamp for when the interaction occurred,
a location for the interaction, and an amount of time that the
interaction was performed.
[0010] In various embodiments, the data that the data tracking
module tracks for the one or more interactions includes one or more
of interface elements that the user selects, interface elements
that the user clicks on, areas of the display that the user looks
at, content that the user reads, content that the user writes, an
amount of time that the user consumes a multimedia element, website
navigation, content consumption patterns.
[0011] In one embodiment, the apparatus includes a gaming module
that assigns the user scores during the user's performance of the
one or more simulated tasks and compares, in real-time, the user's
scores during the user's performance of the one or more simulated
tasks with scores for other users who are performing the same
simulated tasks. In further embodiments, the apparatus includes a
collaborating module that facilitates communications between the
user and one or more other users who are performing the same
simulated tasks. In some embodiments, the one or more simulated
tasks comprise one or more tasks associated with a data analysis
project.
[0012] A system, in one embodiment, includes a network, a server
configured to present a learning interface to a user, and a neural
network communicatively coupled to the server over the network. In
one embodiment, the system includes a monitoring module that
continuously monitors one or more interactions of a user while the
user performs one or more simulated tasks digitally presented to
the user that are associated with a learning path. The system, in
further embodiments, includes a metadata module that tracks data
describing the user's interactions during the user's performance of
one or more simulated tasks. The system, in some embodiments,
includes a machine learning module that, dynamically and in
real-time, optimizes the user's learning path by simulating
multiple different learning paths using one or more machine
learning processes and tracked data. In certain embodiments, the
system includes a recommendation module that presents one or more
recommendations to the user for optimizing the user's learning
path. One or more recommendations may be generated as a function of
the optimized learning path.
[0013] In one embodiment, the system includes one or more data
stores for storing the tracked data, the one or more data stores
located remotely to the server and communicatively coupled to the
server over the network. In some embodiments, the server is one of
a plurality of virtual servers executing on cloud devices. The
plurality of virtual servers may be configured to execute different
machine learning processes for optimizing the user's learning path.
The one or more data stores may be mounted as local drives on the
virtual servers.
[0014] An apparatus, in one embodiment, includes means for
continuously monitoring one or more interactions of a user while
the user performs one or more simulated tasks digitally presented
to the user. The one or more simulated tasks may be associated with
a learning path. The apparatus, in further embodiments, includes
means for tracking data describing the user's interactions during
the user's performance of one or more simulated tasks. The
apparatus, in some embodiments, includes means for, dynamically and
in real-time, optimizing the user's learning path by simulating
multiple different learning paths using one or more machine
learning processes and tracked data. In certain embodiments, the
apparatus includes means for presenting one or more recommendations
to the user for optimizing the user's learning path. One or more
recommendations may be generated as a function of the optimized
learning path.
[0015] A computer program product, in one embodiment, includes a
computer readable storage medium, that is not a transitory signal,
having program code embodied therein. The program code, in some
embodiments, is readable/executable by a processor for continuously
monitoring one or more interactions of a user while the user
performs one or more simulated tasks digitally presented to the
user. The one or more simulated tasks may be associated with a
learning path. The program code, in further embodiments, is
readable/executable by a processor tracking data describing the
user's interactions during the user's performance of one or more
simulated tasks. The program code, in some embodiments, is
readable/executable by a processor for, dynamically and in
real-time, optimizing the user's learning path by simulating
multiple different learning paths using one or more machine
learning processes and tracked data. The program code, in certain
embodiments, is readable/executable by a processor for presenting
one or more recommendations to the user for optimizing the user's
learning path. One or more recommendations may be generated as a
function of the optimized learning path.
[0016] Reference throughout this specification, including the
summary, to features, advantages, or similar language does not
imply that all of the features and advantages that may be realized
with the present invention should be or are in any single
embodiment of the invention. Rather, language referring to the
features and advantages is understood to mean that a specific
feature, advantage, or characteristic described in connection with
an embodiment is included in at least one embodiment of the present
invention. Thus, discussion of the features and advantages, and
similar language, throughout this specification may, but do not
necessarily, refer to the same embodiment.
[0017] Furthermore, the described features, advantages, and
characteristics of the invention may be combined in any suitable
manner in one or more embodiments. One skilled in the relevant art
will recognize that the invention may be practiced without one or
more of the specific features or advantages of a particular
embodiment. In other instances, additional features and advantages
may be recognized in certain embodiments that may not be present in
all embodiments of the invention.
[0018] These features and advantages of the present invention will
become more fully apparent from the following description and
appended claims, or may be learned by the practice of the invention
as set forth hereinafter.
BRIEF DESCRIPTION OF THE DRAWINGS
[0019] In order that the advantages of the invention will be
readily understood, a more particular description of the invention
briefly described above will be rendered by reference to specific
embodiments that are illustrated in the appended drawings.
Understanding that these drawings depict only typical embodiments
of the invention and are not therefore to be considered to be
limiting of its scope, the invention will be described and
explained with additional specificity and detail through the use of
the accompanying drawings, in which:
[0020] The embodiments herein will be better understood from the
following detailed description with reference to the drawings, in
which:
[0021] FIG. 1 illustrates a system view of a user interacting with
an simulation-based learning platform through a computing device
for data oriented learning according to an embodiment herein;
[0022] FIG. 2A illustrates a schematic block diagram of a
simulation-based learning platform;
[0023] FIG. 2B illustrates a view of the simulation-based learning
platform according to an embodiment herein;
[0024] FIG. 2C illustrates sample neural networks that may be used
in a simulation-based learning platform;
[0025] FIG. 2D illustrates a schematic diagram of supervised and
unsupervised machine learning;
[0026] FIG. 2E illustrates sample layers of artificial neural
networks;
[0027] FIG. 3 illustrates an user interface view of interaction
with an simulation-based learning platform through a computing
device for data oriented learning according to an embodiment
herein;
[0028] FIG. 4 illustrates a user interface view of a user solving
an at least one challenge to achieve an interactive-learning
according to an embodiment herein;
[0029] FIG. 5 illustrates a user interface view of receiving one or
more hints while solving the at least one challenge according to an
embodiment herein;
[0030] FIG. 6 illustrates a user interface view of a user score
sheet for the challenge taken by a user according to an embodiment
herein;
[0031] FIG. 7 illustrates a user interface view of an expert
solution sheet for the at least one challenge according to an
embodiment herein.
[0032] FIG. 8 illustrates a user interface view of a consolidated
rank sheet of the user specific to one or more challenges according
to an embodiment herein;
[0033] FIG. 9 illustrates a user interface view of an user profile
sheet according to an embodiment herein;
[0034] FIG. 10 is an interaction diagram illustrating a processor
implemented method for training and scoring one or more challenges
taken by a user using a simulation-based learning platform
according to an embodiment herein;
[0035] FIG. 11 illustrates an exploded view of the computing device
having a memory with a set of computer instructions, a bus, a
display, a speaker, and a processor capable of processing a set of
instructions to perform any one or more of the methodologies
herein, according to an embodiment herein;
[0036] FIG. 12 is a flow diagram that illustrates a method for
training and scoring one or more challenges taken by a user using a
simulation-based learning platform according to an embodiment
herein;
[0037] FIG. 13 is a flow diagram that illustrates a method for the
simulation-based learning platform;
[0038] FIG. 14 a schematic diagram of computer architecture used in
accordance with the embodiment herein;
[0039] FIG. 15 illustrates a user interface for selecting a course
task to complete;
[0040] FIG. 16 illustrates a user interface for a presenting course
information; and
[0041] FIG. 17 illustrates a user interface for comparing a user's
learning path with a reference learning path.
DETAILED DESCRIPTION
[0042] Reference throughout this specification to "one embodiment,"
"an embodiment," or similar language means that a particular
feature, structure, or characteristic described in connection with
the embodiment is included in at least one embodiment. Thus,
appearances of the phrases "in one embodiment," "in an embodiment,"
and similar language throughout this specification may, but do not
necessarily, all refer to the same embodiment, but mean "one or
more but not all embodiments" unless expressly specified otherwise.
The terms "including," "comprising," "having," and variations
thereof mean "including but not limited to" unless expressly
specified otherwise. An enumerated listing of items does not imply
that any or all of the items are mutually exclusive and/or mutually
inclusive, unless expressly specified otherwise. The terms "a,"
"an," and "the" also refer to "one or more" unless expressly
specified otherwise.
[0043] Furthermore, the described features, advantages, and
characteristics of the embodiments may be combined in any suitable
manner. One skilled in the relevant art will recognize that the
embodiments may be practiced without one or more of the specific
features or advantages of a particular embodiment. In other
instances, additional features and advantages may be recognized in
certain embodiments that may not be present in all embodiments.
[0044] These features and advantages of the embodiments will become
more fully apparent from the following description and appended
claims, or may be learned by the practice of embodiments as set
forth hereinafter. As will be appreciated by one skilled in the
art, aspects of the present invention may be embodied as a system,
method, and/or computer program product. Accordingly, aspects of
the present invention may take the form of an entirely hardware
embodiment, an entirely software embodiment (including firmware,
resident software, micro-code, etc.) or an embodiment combining
software and hardware aspects that may all generally be referred to
herein as a "circuit," "module," "platform," or "system."
Furthermore, aspects of the present invention may take the form of
a computer program product embodied in one or more computer
readable medium(s) having program code embodied thereon.
[0045] Many of the functional units described in this specification
have been labeled as modules, in order to more particularly
emphasize their implementation independence. For example, a module
may be implemented as a hardware circuit comprising custom VLSI
circuits or gate arrays, off-the-shelf semiconductors such as logic
chips, transistors, or other discrete components. A module may also
be implemented in programmable hardware devices such as field
programmable gate arrays, programmable array logic, programmable
logic devices or the like.
[0046] Modules may also be implemented in software for execution by
various types of processors. An identified module of program code
may, for instance, comprise one or more physical or logical blocks
of computer instructions which may, for instance, be organized as
an object, procedure, or function. Nevertheless, the executables of
an identified module need not be physically located together, but
may comprise disparate instructions stored in different locations
which, when joined logically together, comprise the module and
achieve the stated purpose for the module.
[0047] Indeed, a module of program code may be a single
instruction, or many instructions, and may even be distributed over
several different code segments, among different programs, and
across several memory devices. Similarly, operational data may be
identified and illustrated herein within modules, and may be
embodied in any suitable form and organized within any suitable
type of data structure. The operational data may be collected as a
single data set, or may be distributed over different locations
including over different storage devices, and may exist, at least
partially, merely as electronic signals on a system or network.
Where a module or portions of a module are implemented in software,
the program code may be stored and/or propagated on in one or more
computer readable medium(s).
[0048] The computer program product may include a computer readable
storage medium (or media) having computer readable program
instructions thereon for causing a processor to carry out aspects
of the present invention.
[0049] The computer readable storage medium can be a tangible
device that can retain and store instructions for use by an
instruction execution device. The computer readable storage medium
may be, for example, but is not limited to, an electronic storage
device, a magnetic storage device, an optical storage device, an
electromagnetic storage device, a semiconductor storage device, or
any suitable combination of the foregoing. A non-exhaustive list of
more specific examples of the computer readable storage medium
includes the following: a portable computer diskette, a hard disk,
a random access memory ("RAM"), a read-only memory ("ROM"), an
erasable programmable read-only memory ("EPROM" or Flash memory), a
static random access memory ("SRAM"), a portable compact disc
read-only memory ("CD-ROM"), a digital versatile disk ("DVD"), a
memory stick, a floppy disk, a mechanically encoded device such as
punch-cards or raised structures in a groove having instructions
recorded thereon, and any suitable combination of the foregoing. A
computer readable storage medium, as used herein, is not to be
construed as being transitory signals per se, such as radio waves
or other freely propagating electromagnetic waves, electromagnetic
waves propagating through a waveguide or other transmission media
(e.g., light pulses passing through a fiber-optic cable), or
electrical signals transmitted through a wire.
[0050] Computer readable program instructions described herein can
be downloaded to respective computing/processing devices from a
computer readable storage medium or to an external computer or
external storage device via a network, for example, the Internet, a
local area network, a wide area network and/or a wireless network.
The network may comprise copper transmission cables, optical
transmission fibers, wireless transmission, routers, firewalls,
switches, gateway computers and/or edge servers. A network adapter
card or network interface in each computing/processing device
receives computer readable program instructions from the network
and forwards the computer readable program instructions for storage
in a computer readable storage medium within the respective
computing/processing device.
[0051] Computer readable program instructions for carrying out
operations of the present invention may be assembler instructions,
instruction-set-architecture (ISA) instructions, machine
instructions, machine dependent instructions, microcode, firmware
instructions, state-setting data, or either source code or object
code written in any combination of one or more programming
languages, including an object oriented programming language such
as Smalltalk, C++ or the like, and conventional procedural
programming languages, such as the "C" programming language or
similar programming languages. The computer readable program
instructions may execute entirely on the user's computer, partly on
the user's computer, as a stand-alone software package, partly on
the user's computer and partly on a remote computer or entirely on
the remote computer or server. In the latter scenario, the remote
computer may be connected to the user's computer through any type
of network, including a local area network (LAN) or a wide area
network (WAN), or the connection may be made to an external
computer (for example, through the Internet using an Internet
Service Provider). In some embodiments, electronic circuitry
including, for example, programmable logic circuitry,
field-programmable gate arrays (FPGA), or programmable logic arrays
(PLA) may execute the computer readable program instructions by
utilizing state information of the computer readable program
instructions to personalize the electronic circuitry, in order to
perform aspects of the present invention.
[0052] Aspects of the present invention are described herein with
reference to flowchart illustrations and/or block diagrams of
methods, apparatus (systems), and computer program products
according to embodiments of the invention. It will be understood
that each block of the flowchart illustrations and/or block
diagrams, and combinations of blocks in the flowchart illustrations
and/or block diagrams, can be implemented by computer readable
program instructions.
[0053] These computer readable program instructions may be provided
to a processor of a general purpose computer, special purpose
computer, or other programmable data processing apparatus to
produce a machine, such that the instructions, which execute via
the processor of the computer or other programmable data processing
apparatus, create means for implementing the functions/acts
specified in the flowchart and/or block diagram block or blocks.
These computer readable program instructions may also be stored in
a computer readable storage medium that can direct a computer, a
programmable data processing apparatus, and/or other devices to
function in a particular manner, such that the computer readable
storage medium having instructions stored therein comprises an
article of manufacture including instructions which implement
aspects of the function/act specified in the flowchart and/or block
diagram block or blocks.
[0054] The computer readable program instructions may also be
loaded onto a computer, other programmable data processing
apparatus, or other device to cause a series of operational steps
to be performed on the computer, other programmable apparatus or
other device to produce a computer implemented process, such that
the instructions which execute on the computer, other programmable
apparatus, or other device implement the functions/acts specified
in the flowchart and/or block diagram block or blocks.
[0055] The schematic flowchart diagrams and/or schematic block
diagrams in the Figures illustrate the architecture, functionality,
and operation of possible implementations of apparatuses, systems,
methods and computer program products according to various
embodiments of the present invention. In this regard, each block in
the schematic flowchart diagrams and/or schematic block diagrams
may represent a module, segment, or portion of code, which
comprises one or more executable instructions of the program code
for implementing the specified logical function(s).
[0056] It should also be noted that, in some alternative
implementations, the functions noted in the block may occur out of
the order noted in the Figures. For example, two blocks shown in
succession may, in fact, be executed substantially concurrently, or
the blocks may sometimes be executed in the reverse order,
depending upon the functionality involved. Other steps and methods
may be conceived that are equivalent in function, logic, or effect
to one or more blocks, or portions thereof, of the illustrated
Figures.
[0057] Although various arrow types and line types may be employed
in the flowchart and/or block diagrams, they are understood not to
limit the scope of the corresponding embodiments. Indeed, some
arrows or other connectors may be used to indicate only the logical
flow of the depicted embodiment. For instance, an arrow may
indicate a waiting or monitoring period of unspecified duration
between enumerated steps of the depicted embodiment. It will also
be noted that each block of the block diagrams and/or flowchart
diagrams, and combinations of blocks in the block diagrams and/or
flowchart diagrams, can be implemented by special purpose
hardware-based systems that perform the specified functions or
acts, or combinations of special purpose hardware and program
code.
[0058] As mentioned, there remains a need for platform with
experience-based learning to individual needs which allows a user
to experience real-life scenarios and explore the options and
analyze data with better interactive learning in real-time, and
which will lead the user on a customized, optimal path for the user
to converge on learning and applying skills better and faster, and
in addition allow a user to retain that learning for a much longer
time. The embodiments herein achieve this by providing a machine
learning based interactive-learning platform for data-oriented
learning with focuses on one or more application of concepts based
on simulation of real business scenarios also by providing
scenarios with appropriate data sets and interfaces to tools. A
simulation-based learning platform provides a simulation-based
learning system and method for scoring one or more challenges taken
by a user and trains the user. An adaptive machine learning system
processes and analyzes behavioral data and progress of a platform
user and collaborates with individual users based on the individual
user needs. Referring now to the drawings, and more particularly to
FIGS. 1 through 14, where similar reference characters denote
corresponding features consistently throughout the figures, there
are shown preferred embodiments.
[0059] FIG. 1 illustrates a system view of a user 102 interacting
with a simulation-based learning platform 106 through the computing
device 104 for data-oriented and/or adaptive learning according to
embodiments herein. The system 100 includes the user 102, a
computing device 104, a simulation-based learning platform 106, and
a network 108. The user 102 interacts with the simulation-based
learning platform 106 through the computing device 104 for
interactive-learning or data oriented learning (e.g., analytics,
science) that focuses applications of concepts based on simulation.
In one embodiment, the simulation-based learning platform 106 is a
web-based interactive-learning platform for analytics, or other
subjects, which incorporates elements of games such as simulation
and gamification along with machine-learning, collaboration, and
intelligent scoring. In one embodiment, the simulation-based
learning platform 106 breaks learning up into concepts and/or
applications that are unique to a user.
[0060] In one embodiment, the system renders a user action into
corresponding code required by the platform. For example, if a
selected statistical programming package is `R`, the
simulation-based learning platform 106 may generate code in R based
on the user's actions during the simulations. In one embodiment,
the simulation-based learning platform 106 converts various user
actions (e.g., a user click) to various programming or computing
instructions (e.g., R, SAS, Python, Julia, Java, C, and/or the
like) with scores and assessments (e.g., areas of improvement) for
experiential learning on analytics. In one embodiment, learning may
be segmented into at least two phases (e.g., concept and execution)
using the appropriate package. In one embodiment, the
simulation-based learning platform 106 is implemented in the
computing device 104.
[0061] In one embodiment, the simulation-based learning platform
106 is configured to continuously monitor a user's interactions as
the user 102 performs various simulated tasks that are digitally
presented to the user on a computing device 104, track and
record/store data over time, describing the user's interactions,
optimize the user's learning path using machine learning processes
on the tracked data, and present machine-learning generated
recommendations to the user 102 for optimizing the user's learning
path. The user learning paths may be continuously analyzed using
machine learning, and leveraged across multiple users 102 to help
the users 102 learn faster, better, and with higher retention
rates.
[0062] The simulation-based learning platform 106, in certain
embodiments, provides an improvement over traditional learning
platforms by providing a dynamic, situation-based learning platform
that fosters a learn-by-doing and a do-by-learning approach with
real data to learn and apply skills in various subject matters such
as analytics. For example, the simulation-based learning platform
106 may assist the user 102 in understanding the business and
financial impact of applying analytics to real-world problems, in
real-time, and also test the analyses under various stress
conditions and scenarios, in an intelligently guided manner,
thereby enhancing the way the user 102 learns to apply their
knowledge in real-life scenarios very quickly and efficiently. The
simulation-based learning platform 106 generates recommendations
using machine learning algorithms and processes that are contextual
and timely, according to the user's needs along defined learning
paths. As used herein, a learning path may be a dynamically
determined and user-tailored course of action to improve the user's
ability to learn and apply skills for a particular subject matter.
A learning path may be generally known as a solution path.
[0063] A solution path, as used herein, may be a learning path
(e.g., for a user 102 who is learning the selected subject matter)
or a reference path (e.g., a solution path based on an expert's or
other user's solution path for completing challenges/simulated
tasks associated with the selected subject matter), and a new
optimized solution path, which is a solution path providing a more
accurate answer in less time or less steps. The optimized solution
paths (e.g., the solution paths that are improved over time using
machine learning, as described below) may be determined using
machine learning to evaluate solution paths taken by numerous users
and experts and determining which solution paths are best, e.g., in
terms of time and/or number of steps. Thus, the optimized solution
path may include feedback/data from both user's studying the
subject matter, e.g., the learning path, and experts, e.g., the
reference path.
[0064] The simulation-based learning platform 106 uses machine
learning techniques/processes/algorithms to improve the
functionality of computer systems by allowing the computer systems
to continuously mature and learn over time in discovering the
optimal and/or recommended learning path for a particular user 102
and/or a reference path for an expert or other user. As more and
more users 102 interact with the simulation-based learning platform
106, a repository of data that describes user behaviors,
interactions, patterns, and/or the like may be gathered by
continuously monitoring the users' interactions and usage
patterns/behaviors over time to continuously improve the accuracy
and applicability of learning pattern recommendations for
particular users 102.
[0065] In another embodiment, the simulation-based learning
platform 106 is implemented in a computing device 104 such as a
desktop computer, a laptop computer, a smart speaker (e.g., Amazon
Echo.RTM., Google Home.RTM., Apple HomePod.RTM.), a security
system, a smart watch, a fitness band or other wearable activity
tracking device, an optical head-mounted display (e.g., a virtual
reality headset, smart glasses, or the like), a High-Definition
Multimedia Interface ("HDMI") or other electronic display dongle, a
personal digital assistant, a digital camera, a video camera. Other
devices may include a display device, e.g., a television; a set-top
box, e.g., a streaming device such as an Apple TV.RTM., Amazon
Fire.RTM., Roku.RTM. player, and/or the like, a gaming console such
as an Xbox.RTM., a PlayStation.RTM., and/or the like, a cable or
satellite receiver, a surround sound receiver, and/or the like; a
smart phone or tablet device, a camera, and/or another computing
device comprising a processor (e.g., a central processing unit
("CPU"), a processor core, a field programmable gate array ("FPGA")
or other programmable logic, an application specific integrated
circuit ("ASIC"), a controller, a microcontroller, and/or another
semiconductor integrated circuit device), a volatile memory, and/or
a non-volatile storage medium. The computing device 104 may be a
local or remote device, e.g., a server accessible via the
cloud/internet, and may be configured as a webserver and/or may be
configured to present web pages to a user 102 that are received
from a webserver over the network 108.
[0066] In some embodiments, the computing device 104 may be
communicatively coupled to various virtual servers that execute on
cloud devices that are accessible over the internet or other
network 108. In such an embodiment, the virtual servers may be
configured to execute one or more machine learning processes for
optimizing a user's learning path. In other words, the virtual
servers may implement one or more features of a neural network used
to perform machine learning processes, as described in more detail
below. In such an embodiment, one or more data stores, e.g.,
databases, may be mounted as local drives on the virtual servers to
facilitate efficient data transfers between the virtual servers and
the data stores.
[0067] In one embodiment, the simulation-based learning platform
106 communicates with the computing device 104 through the network
108. The network 108 may include a wireless network, such as a
wireless cellular network, a local wireless network, such as a
Wi-Fi network, a Bluetooth.RTM. network, a near-field communication
("NFC") network, an ad hoc network, and/or the like. The network
108 may include a wide area network ("WAN"), a storage area network
("SAN"), a local area network ("LAN"), an optical fiber network,
the internet, or other digital communication network. The network
108 may include two or more networks. The network 108 may include
one or more servers, routers, switches, and/or other networking
equipment. The network 108 may also include one or more computer
readable storage media, such as a hard disk drive, an optical
drive, non-volatile memory, RAM, or the like.
[0068] FIG. 2A illustrates a view of the simulation-based learning
platform 106 according to embodiments herein. In one embodiment,
the simulation-based learning platform 106 includes an embodiment
of an adaptive learning apparatus 150. The adaptive learning
apparatus 150, in one embodiment, includes one or more of a
challenge information obtaining module 204, a challenge selection
module 206, a monitoring module 208, a metadata module 210, a
machine learning module 212, a recommendation module 214, a scoring
module 216, a display module 218, a code integrating module 220, a
gaming module 222, and a collaborating module 224, which are
described in more detail below.
[0069] In one embodiment, the simulation-based learning platform
106 is communicatively connected to a database 202, e.g., over a
network 108. The database 202, in one embodiment, is configured to
store user information, e.g., demographic information for the user
102, information corresponding to the user's 102 interactions
related to courses, cases, projects, and challenges presented to
the user 102, and/or the like. In one embodiment, the database 202
may reside in remote server such as a cloud server. The database
202 may be embodied as a relational database, a NoSQL database, a
key-value database, a distributed database, a cloud database,
and/or the like.
[0070] The challenge information obtaining module 204 obtains
information associated with a plurality of challenges or simulated
tasks. As used herein, the challenges or simulated tasks include
instructions, activities, and/or the like that are part of a
course, project, class, simulation, and/or the like for learning
one or more skills for a subject area such as analytics. The
plurality of challenges/simulated tasks may be digitally presented
to a user 102 on a computer, e.g., as a desktop application, a web
application, a mobile application, and/or the like, to provide the
user 102 with a simulated problem/challenge to accomplish that may
reflect a real-life problem/challenge that the user 102 may face if
working in the industry for the selected course. The plurality of
challenges/simulated tasks may be obtained from the database 202.
The challenges/simulated tasks may be part of a learning path for
the user 102 for the particular course or subject that the user 102
is learning. As described above, a user's learning path may be
based on a training course that the user 102 selects, and a
selection of challenges/simulated tasks within the training course,
as depicted in FIG. 15.
[0071] For instance, a learning path for a course may include
audio-video content, challenges/simulated tasks for the user 102 to
perform, simulations involving live data, PDF files,
PowerPoint.RTM. files, quizzes/tests, open-book data-based
problems, real-life case studies, problems to solve,
instructional/explanatory/study materials (as depicted in FIG. 16),
and/or the like. Each course available for a user has a learning
path, e.g., a road map from basic to expert difficulty levels,
which can be used to measure the learning curve for a specific or a
type of user 102. The user 102 may then be assigned to one or more
different categories based on various parameters. For each user a
learning format may be determined that is most effective for the
user 102. For instance, the learning format may include more
hands-on tasks instead of quizzes or tests based on the most
effective way for the user 102 to learn, as determined by the
machine learning module 222 described below. In certain
embodiments, an expert or other user, or a set of users, may
complete the same set of challenges/simulated tasks as the user 102
in order to create a reference path, which may be compared to the
user's learning path to determine how the user 102 compares to the
expert/set of other users, in terms of completing
challenges/simulated tasks (as depicted in FIG. 17).
[0072] The challenge selection module 206 processes a selection of
at least one challenge/simulated task from the plurality of
challenges/simulated tasks with at least one or more actions or one
or more steps performed by the user 102. For instance, the
challenge selection module 206 may present a plurality of available
challenges/simulated tasks to the user 102, as shown in FIG. 3,
that the user may choose from to learn how to accomplish the
selected challenge/simulated task. The list of available
challenges/simulated tasks may be derived or provided as part of
the course that the user 102 selects to study. For instance, if the
user selects an analytics course to learn how to perform various
data analytics and modeling, the challenge selection module 206 may
present a list of predefined, predetermined, pre-created, and/or
the like challenges/simulated tasks for the analytics course.
[0073] The monitoring module 208, in one embodiment, is configured
to continuously monitor one or more interactions of a user while
the user performs one or more simulated tasks that are digitally
presented to the user 102, and which are associated with a learning
path for the user 102 based on the course that is selected. In one
embodiment, the monitoring module 208 is configured to record one
or more interactions and/or steps taken by the user 102 to solve a
challenge/simulated task. Similarly, the monitoring module 208 may
be used to monitor one or more interactions of an expert or other
user while the expert or other user performs the one or more
simulated tasks that are digitally presented to the user 102, and
which become associated with a reference path for the expert or
other user.
[0074] In one embodiment, the monitoring module 208 includes
built-in intelligence to identify and distinguish between
steps/interactions that are exploratory and steps/interactions that
modify the data. For instance, exploratory interactions may include
the user 102 moving the cursor around the interface for a period of
time before clicking or interacting with a graphical element
presented on the interface. Data altering steps/interactions, on
the other hand, may include interactions that the user 102 takes as
part of a challenge/simulated task such as updating data in a
spreadsheet.
[0075] In one embodiment, one or more steps/interactions taken by
the user 102 that are recorded may be displayed with a link, e.g.,
a hyperlink that allows the user 102 to replay a step/interaction
or reverse one or more steps/interactions. For example, if the user
102 takes a number of steps towards completing a simulated task,
but does not like the previous three steps that he/she took to
complete the task, then the user 102 may click on a link to under
or go back to a point prior to when the previous three steps were
taken. In one embodiment, the monitoring module 208 may highlight
one or more steps/interactions with one more colors, icons, text
formatting, and/or the like to specify a status of the one or more
steps/interactions, e.g., a step rating indicating whether the step
was a good decision at that point of the task, and/or progress of a
particular simulated task e.g., a percentage of the task that the
user 102 has completed. In one embodiment, the monitoring module
208 interacts with the scoring module 214, described below, to
compute a deviance of the user's 102 learning path and the
steps/interactions that the user 102 has taken as compared to an
expert's, or other set of users', reference path.
[0076] The monitoring module 208, in one embodiment, "plays" a
series of pre-recorded steps/interactions for a particular
challenge/simulated task. For example, the monitoring module 208
may replay each step/interaction taken by an expert or other users
while solving a challenge/simulated task that the user 102 is
currently working on. In a further embodiment, a user 102 can walk
through the recorded series of steps/interactions by an expert or
other user for completing a challenge/simulated task to learn
step-by-step how to correctly complete the challenge/simulated task
and/or to check their progress against other users 102. In one
embodiment, the playback option may be used as a mode of learning
in which a user selects challenges/simulated tasks from a
repository and replays how various other users have solved the
challenge/simulated task, or the user's 102 own solution paths
created for challenges solved by the user 102 in the past. In one
embodiment, the monitoring module 208 includes an instance of a
steps recording module.
[0077] In one embodiment, the metadata module 208 is configured to
create metadata for each of the steps/interactions that the user
102 performs during use of the simulation-based learning platform
106. The metadata, for instance, may include information describing
the step/interaction that the user 102 performed. For example, the
metadata may include an identifier for the interaction, e.g., a
unique identifier, a type of the interaction, e.g., a mouse click,
a mouse scroll, a keyboard input, a voice input, an eye movement, a
camera input, other sensor inputs, and/or the like, a timestamp for
when the interaction occurred, a location for the interaction,
e.g., a relative or absolute location on a display, an amount of
time that the interaction was performed, e.g., the duration of the
interaction, and/or the like.
[0078] In one embodiment, the metadata module 210 is configured to
track data by collecting, storing, interpreting, manipulating,
converting, and/or the like data that is associated with the
steps/interactions that the user 102 takes to complete a
challenge/simulated task in real-time when the step/interaction
occurs. For example, the metadata module 210 may receive a signal
indicating when a user moves a mouse, clicks a button, presses a
key, and/or the like. Accordingly, in response to the input event,
the metadata module 208 may track the data associated with the
event.
[0079] For instance, some of the data that the metadata module 210
may track includes interface elements that the user selects,
interface elements that the user clicks on, areas of the display
that the user looks at, content that the user reads, content that
the user writes, an amount of time that the user consumes a
multimedia element, website navigation actions, content consumption
patterns (e.g., how long a user 102 watches a video before stopping
it, which videos users watch; free flow, random, or structured way
in which the content is consumed, etc.), any kind of sensor data
inputs like from a camera, course navigation, quiz/test results,
responses to survey questions, response to games/achievements,
experimentation with available data and learning behavior, code
navigation patterns (e.g., code navigation patterns with
statistical programs such as R, SAS, Python, Julia, Matlab, etc.),
collaboration patterns, and/or the like.
[0080] In certain embodiments, the metadata module 210 also stores
static data associated with a user 102, e.g., user profile data
such as demographic data (e.g., age, gender, education, etc.),
experience data (e.g., education, work experience, certifications,
etc.), the user's 102 learning schedule (e.g., when the user 102 is
available to learn), the user's geographic location, the user's
learning conditions (e.g., the user's intention for learning, the
user's time and duration for learning, and/or the like), the user's
current knowledge of the subject matter, and/or the like.
[0081] In one embodiment, the metadata module 210 presents one or
more quizzes, polls, surveys, tests (e.g., psychometric tests),
and/or the like to the user 102 and collects the user's response as
user data. Furthermore, the metadata module 210 may receive
subjective data from the user such as user feedback, comments,
notes, and/or the like in regards to a challenge/simulated task, a
course, a case, the interface, and/or any and all aspects of the
simulation-based learning platform 106. In various embodiments, the
metadata module 210 tracks the user's messages, notes, comments,
etc., while collaborating with other users during the user's
progress through a challenge/simulated task. In such an embodiment,
the metadata module 210 may work in conjunction with the
collaborating module 224, described in more detail below.
[0082] The metadata module 210, in certain embodiments, stores the
data in a database in such a way that the data can be
retrieved/accessed in an efficient manner. For instance, the
metadata module 210 may store the data at an atomic level, the
primary key at a user level, and the secondary keys at an
application level across tables in a relational/time series
database.
[0083] In one embodiment, the machine learning module 212 is
configured to dynamically and in real-time optimize the user's
learning path and/or the expert's/other user's reference path by
simulating multiple different learning paths for the user 102
and/or reference paths for the expert/other user by processing the
tracked data, e.g., the metadata, through one or more machine
learning algorithms. As used herein, machine learning may refer to
the process of a computer learning over time without being
explicitly programmed. The machine learning module 212 may apply
various machine learning algorithms, techniques, methods, and/or
the like to the tracked and static data in the database 202 to
build models for optimizing the user's learning path and/or the
expert's/other user's reference path for the selected
course/subject matter.
[0084] In machine learning, in one embodiment, techniques may be
broadly classified as supervised learning and unsupervised
learning. In supervised learning, the objective function is clearly
defined. The objective function is the function that the machine
learning algorithms are attempting to optimize using the provided
inputs and weights and/or other factors calculated using historical
data. In certain embodiments, different factors may have different
levels of impact on the results. For instance, a single factor
alone may not be significant, but when two or more factors are
observed in conjunction, they may have significant impact on
results. In unsupervised learning, on the other hand, the objective
functions is not predefined, and the historical data is available
in such a way that the outcome is created.
[0085] FIG. 2D illustrates various examples of machine learning
algorithms 260 that may be used for both supervised 262 and
unsupervised 264 learning. While specific examples are illustrated
in FIG. 2D, any appropriate machine learning algorithm, in light of
the subject matter disclosed herein, may be used. For example,
classification algorithms 266 may include support vector machines,
discriminant analysis, naive Bayes, and nearest neighbor algorithms
that be used for supervised learning. Similarly, various regression
algorithms 268 such as linear regression, GLM, SVR, GPR, ensemble
methods, decision trees, and neural networks may be used for
supervised learning. For unsupervised learning, various clustering
algorithms 270 may be used such as K-means, K-medoids, fuzzy
C-means, hierarchical, Gaussian mixture, neural networks, and
hidden markov model.
[0086] One algorithm that is discussed in detail herein is the
neural network 240, and in particular an artificial neural network
(ANN 240). An ANN 240 is modeled over the functioning of a human
brain. The ANN 240 is designed and trained using sets of historical
data over previous patterns of the data. As applied herein, for
example, the ANN 240 may be trained using historical data for
previous users' attempts to complete challenges/simulated tasks for
a course. After the ANN 240 is trained, when the metadata module
210 tracks new data for a user 102 attempting to complete a
challenge/simulated task, the ANN 240 takes the new data and
generates an optimal recommendation, hint, suggestion, and/or the
like for completing the challenge/simulated task.
[0087] FIG. 2C illustrates 250 different neural networks 240, and
configurations of neural networks 240 that may be used in the
simulation-based learning platform 106 to process the tracked data
and to optimize and tailor the user's learning path for the most
effective learning for the user 102, and the expert's reference
path. As shown in FIG. 2C different types of neural networks 240
may be used such as feed-forward neural networks, perceptron neural
network, recurrent neural network, and/or the like. As discussed
above, FIG. 2A illustrates the different layers of each neural
network 240 including the input, processing, and output layers.
[0088] Referring to FIG. 2A, as described herein, the
simulation-based learning platform 106, in one embodiment, uses a
supervised learning approach to using the neural network 240. The
objective of the ANN 240 is to optimize the user's learning
patterns for achieving a desired result for a course by completing
challenges/simulated tasks. For instance, a user 102 may provide
profile data, e.g., static data such as the user's age, gender,
experience levels, and/or the like. The metadata module 210 also
tracks data for the user's interactions as they use the
simulation-based learning platform 106 and attempt to complete
challenges/simulated tasks. The data is then provided to the
machine learning module 212, which feeds the data to the trained
ANN 240. The ANN 240 processes the data and provides one or more
recommendations for the user's learning path that is tailored
specifically to the user 102 based on the user's profile and
interaction data. The ANN 240 may also process the expert's/other
user's data to optimize the reference path for the expert. In other
words, the ANN 240 learns as the users learn, and becomes more
accurate and efficient over time as the simulation-based learning
platform 106 is used and more data is collected. Thus, the computer
in general, and the ANN 240 in particular, learns and adapts over
time by leveraging large data sets of static and dynamic data from
various users of the simulation-based learning platform 106.
[0089] When the neural network 240 is trained, in one embodiment,
the machine learning module 212 uses the neural network 240 as an
engine for optimizing the user's learning path by generating
recommendations, hints, suggestions, and/or the like for enhancing
the user's learning experience, and/or optimize the expert's
reference path to generate a new and better reference path. In such
an embodiment, the neural network 240 may be deployed as a back-end
server, and may receive data continuously over a network 108. When
the simulation-based learning platform 106, in one embodiment, is
trained, it continuously receives data for a user 102, and when the
amount of data that is received satisfies a predefined threshold
(e.g., a minimum amount of data), the ANN 240 automatically
generates information for optimizing the user's learning path
and/or the expert's/other user's reference path. In certain
embodiments, the received data may be a subset of the full set of
available data, and the ANN 240 may process the subset of data to
ensure that the processing will result in meaningful, new, and/or
valid results prior to processing the full set of data.
[0090] The ANN 240, in one embodiment, may include a number of
different layers 280, as illustrated in FIG. 2E, such as an input
layer 282, hidden processing layers 284, and an output layer 286.
The input layer 282 receives the data that the metadata module 210
collects from the user based on the user's interactions with the
simulation-based learning platform 106 and feeds the input to the
processing layers. The processing layers 284, in one embodiment,
has multiple different nodes, e.g., processing units, devices,
modules, and/or the like, that are configured to transform the
received data and output the transformed data into subsequent
processing nodes as input, and so on. The ANN 240 is considered
trained when a set of weights are determined that minimizes the
errors between the estimated results of the processing layers and
the actual results. The weights are stored and used for later
processing on new data sets as the user 102 uses the
simulation-based learning platform 106. The weights are used to
determine the proficiency level of the user 102 and whether
recommendation should be generated for the user 102, what kinds of
recommendations should be generated, and/or the like.
[0091] Referring to FIG. 2A, in one embodiment, the machine
learning module 212 is configured to compare the tracked data from
the user's interactions with one or more reference paths for the
one or more simulated tasks to determine one or more
recommendations for optimizing the user's learning path. For
instance, the machine learning module 212 may compare the tracked
data to an expert's/other user's reference path for the
challenge/simulated task that is being performed to determine if
the user's interactions are similar to the expert's decisions. An
expert, as used herein, may be a subject matter expert for the
particular field or course.
[0092] For example, in the field of data analytics, the expert may
log on to the simulation-based learning platform 106 to add expert
subject matter content with respect to the data-analytics problem
area and a real life data-analytics project scenario that he/she
would have solved. The real-life business problem is then converted
and presented into a business case, e.g., a simulation, based on
live data provided by the expert that can be systematically solved
by applying data analytics concepts and methodologies. The expert
may then go through the steps of solving the problem in the best
possible manner and explaining in detail each step and the approach
for each step, which is all recorded for future reference and
comparison. The expert's approach to the problem can then be used
as a reference benchmark for other users 102 who are trying to
solve the challenge/simulated task. The machine learning module 212
may then use this information to provide recommendations to the
user for optimizing the user's learning path as compared with the
expert reference path.
[0093] In certain embodiments, the simulation-based learning
platform 106 allows the user to take multiple different paths via
scenarios that the user 102 runs, and allows the user 102 to fail
multiple times. The user 102 has complete flexibility to proceed at
their discretion. The machine learning module 212 tracks all user
steps and intelligently shows directional paths to the user 102
without giving away the solution, thus forcing the user 102 to work
to progress to solve a challenge/simulated task, in the process
making the learning path faster, more accurate, and with a higher
retention of learned skills and techniques that are applicable to
real-life problems.
[0094] In one embodiment, the machine learning module 212 compares
the user's interactions with segments of users at a given point in
time and over time. In such an embodiment, an external user
category/segment input may be dynamically created based on certain
user profile parameters. For instance, the user may be compared to
other users who have similar expertise levels and profiles or
varying deviations in the expertise levels and profiles at a given
time and over time. In such an embodiment, each user interaction is
recorded at a given point in time and across different timelines as
the user 102 progresses through milestones and levels. A plurality
of other users' actions are also recorded at a given point in time
and across multiple timelines.
[0095] While a user 102 progresses through his/her learning path,
the machine learning module 212 records and generates live reports,
in real time, on the user's ability to learn, understand, think,
and/or solve a given challenge/simulated task, and categorizes the
user based on the time spent on learning and applying the concept
and the speed with which the user is progressing through various
levels in the course. This information is continuously measured
against reference paths for peer users, experts, real-time live
data from other users, and/or the like. The machine learning module
212 calculates the deviation from the median or best practices
approach for every action that a user attempts.
[0096] In one embodiment, the machine learning module 212 acts on a
subset of all available data for a user 102 to pre-process the data
and ensure that the data is sufficient for processing by the ANN
240. For instance, the machine learning module 212 may receive a
table view of a database, or other subset of data from a data
store, and pre-process the data to check if the data is
sufficiently different, new, or the like to generate new
recommendations, hints, content, and/or the like that would be
useful for the user 102. The machine learning module 212, for
instance, may use the current subset of data and run statistical
analyses against the previous data set to determine whether there
are differences/deviances between the current and previous data
sets to warrant fully processing the data.
[0097] Over time, the ANN 240 continues to learn and becomes more
capable to systematically categorize the inputs to generate
effective recommendations, feedback, hints, and/or the like while
comparing and evaluating the deviation in the steps that the user
102 is performing versus the expected flow of actions. The
information associated with the various paths that the machine
learning module 212 analyzes, e.g., user usage data, user profile
data, and/or the like also becomes a repository of data for human
behavioral research and how the users' critical thinking abilities
are manifested in applying analytical approaches to solve real life
challenges. The timing at which the feedback is provided to the
user 102 during the course is also determined by the ANN 240, based
on the user's progress and interactions through the course, so that
the feedback is provided at the best time to optimize the user's
learning. In this manner the user's learning path can be tailored
specifically for the user 102.
[0098] The frequency with which the system provides feedback is
determined as a function of the determined deviation from the
reference path. The simulation-based learning platform 106 may
train, coach and guide the user 102 towards perfecting the skill
and the knowledge improving the learning curve effectively and
efficiently making the feedback/hints contextual and relevant. Over
time, because of the richness of information gathered from users
102, the ability to customize directions in terms of mapping for
the user's learning needs and timing improves. This results in the
enhancement of data-analytics training effectiveness for a user and
efficiently scaling up for larger set of users by maintaining the
same level of training effectiveness.
[0099] In one embodiment, the machine learning module 212 compares
the user's interactions with the user's 102 own progress over time
as measured through quizzes/tests, choice of functions/steps and
timing of the choices, user notes, user comments, user revisions
and corrections, the user's use of hints/suggestions/tips/etc.,
and/or the like.
[0100] In one embodiment, the recommendation module 214 is
configured to generate recommendations for optimizing the user's
learning path based on the output from the machine learning module
212, e.g., from the ANN 240. For example, the recommendations may
be studying different portions of the course material, working with
a different user 102 on a challenge/simulated task, replaying the
steps for a particular user, and/or the like. In some embodiments,
the recommendations may include suggestions, hints, instruction,
advice, and/or the like for performing one or more simulated tasks
using less time, using a lesser number of steps, using the most
effective steps, and/or the like.
[0101] The recommendation module 214, in one embodiment, generates
one or more hints, suggestions, and/or the like to solve the at
least one challenge selected by the user 102. The one or more hints
are provided to the user 102 (i) upon receiving one or more prompts
from the user 102, (ii) at predetermined time intervals based on
one or more steps taken by the user 102 to solve the challenge,
(iii) based on a user level, (iv) one or more administrative
settings, and (v) a user proficiency.
[0102] For example, the recommendation module 214 may be chosen
during such modes of training that may render an appropriate hint
for helping the user progress and one or more instructions to the
user 102, (i) when the user 102 prompts for a hint or (ii) when the
system requires an appropriate time to provide a hint based on a
learning path taken by the user 102. For example, the outcome of
the hint that the user 102 uses is communicated to the scoring
module 216, described below, and evaluated to arrive at final score
for the challenge/simulated task.
[0103] In one embodiment, the user's learning path may become the
expert learning path and may be used as a reference path for other
users of the simulation-based learning platform 106. For instance,
because the machine learning module 212 and the ANN 240 are
constantly learning and maturing over time as more users use the
simulation-based learning platform 106 and more data is collected
and analyzed, different recommendations for a learning path may be
generated for the same challenge/simulated task. In other words,
for example, two different users may be equally successful with an
end result, but the users could have achieved the result through
different learning paths.
[0104] Furthermore, in some embodiments, a user 102 can challenge
the expert approach to completing the challenge/simulated task. In
one embodiment, in order to qualify to challenge the expert, the
user 102 has to achieve a threshold score for their solution to the
challenge/simulated task, e.g., an 80% of the total available
score, 100 points, or the like. In another embodiment, the user's
learning path is continuously compared, e.g., in the background, to
the expert learning path to determine whether the user's learning
path is more successful than the experts. A more successful
learning path may include taking less steps or time to complete a
challenge/simulated task, a simplicity of the steps used to
complete the challenge/simulated task (e.g., whether a novice or
expert user can perform the steps), and/or the like. If the user's
learning path is determined to be more successful than the expert
learning path, the user's learning path may become the expert
learning path for the particular challenge/simulated task. In this
manner, the expert learning path is constantly evolving and
becoming more efficient and accurate as the ANN 240 becomes more
mature through more users using and interacting with the
simulation-based learning platform 106.
[0105] The scoring module 216, in one embodiment, is configured to
score the at least one challenge based on the determined deviance
of the user from the reference path to obtain a score, as described
above. The score is calculated based on one or more parameters
selected from a group that may include dimensions such as: (i) a
time taken to solve the at least one challenge, (ii) a sequence of
steps/interactions taken, (iii) usage of the one or more functions
in the one or more steps/interactions to solve the at least one
challenge/simulated task, (iv) one or more hints used to solve the
at least one challenge, (v) exhaustiveness of functions among other
parameters to arrive at user score, (vi) answers to intermediate
questions within the at least one challenge and at end of the at
least one challenge, (vii) comparison to reference paths, (viii)
performance of user on non-guided (open book) challenges, etc.
[0106] The display module 218, in one embodiment, is configured to
present course material, the challenge/task information, the
recommendations, and/or the like within an interface specifically
designed for allowing the user 102 to see and compare their
progress as compared to the baseline or reference path, e.g., the
expert path. For instance, the metadata module 210 may track the
user's progress through the course and/or challenge/simulated task,
and the display module 218 may display a progress indicator
indicating the user's progress through the course and/or
challenge/simulated task. The progress indicator, in one
embodiment, may include at least one of (i) the progresses of the
user 102 associated with the at least one challenge/simulated task,
or (ii) a comparison of a performance between (i) the user 102 and
the one or more experts, (ii) the user 102 and the one or more
users, or (iii) combinations thereof. The display module 218 can be
configured to display usage and performance data for a set of
predefined or selected users 102, e.g., in response to a request or
configuration by a system administrator.
[0107] The code integrating module 220, in one embodiment, is
configured to automatically convert the user interactions for
performing the one or more simulated tasks into code for one or
more programming languages. For example, if the selected course is
an analytics course, as the user 102 goes through the steps for
performing a data analytics task, e.g., manipulating data within a
spreadsheet, the code integrating module 220 may automatically
convert the user's steps/actions to SAS code, R code, Python code,
Julia code, an Excel.RTM. macro, or code for some other statistical
software package so that the user can learn, use, and reuse the
generated code without having to write the code from scratch. For
instance, when the user 102 clicks on a button or enters text into
a text input box, the code integration module 220 converts the
action to a mouse click event or a text input box event in the
respective programming language.
[0108] The gaming module 222, in one embodiment, is configured to
assign the user 102 scores, as determined by the scoring module 216
for example, during the user's performance of the
challenges/simulated tasks. The gaming module 222 is further
configured to compare, in real-time, the user's scores during the
user's performance of the one or more simulated tasks with score
for other users who are performing the same or substantially
similar simulated tasks. For instance, the gaming module 222 may
present a leaderboard that shows the user's score along with the
scores for other users who are performing the same challenge and/or
are going through the same course as the user 102. The gaming
module 222 may further be configured to provide the user 102 with
badges, trophies, achievements, certificates, and/or the like for
reaching certain milestones, performing tasks
correctly/efficiently, and/or the like as a way to motivate and
encourage the user 102 to continue going through the course,
challenge, project, case, and/or the like.
[0109] The gaming module 222, in one embodiment, uses the
recommendations that the recommendation module 214 generates to
optimize one or more motivational factors for individual users. For
example, if a recommendation includes the user 102 reading a
chapter in a course book prior to attempting a challenge/simulated
task, the gaming module 222 may generate achievements, badges,
points, credits, and/or the like that the user 102 can receive in
response to reading the recommended chapter from the course
book.
[0110] The collaborating module 224, in one embodiment, is
configured to facilitate communications and real-time/dynamic work
flows between the user 102 and one or more other users who are
performing the same simulated tasks. For instance, the
collaborating module 224 may allow users to chat or send other
messages while they are working on a challenge or simulated task,
may allow users to provide hints or suggestions to each other, may
allow users to collaborate with other users by giving them
permission to access their solution paths for certain challenges
and help them optimize/correct those solution paths manually, may
allow expert users to view and edit the trainee user's 102 selected
steps for completing challenges/simulated tasks, and/or the like.
The collaborating module 224 may also be configured to allow users
to work together as a team to complete a challenge/simulated
task.
[0111] FIG. 2B illustrates an example 200 of the flow of data
through the simulation-based learning platform 106. In one
embodiment, a user 246 that is training uses the computing device
248 to login to the simulation-based learning platform 106 that is
located either locally on the device 248 or is remotely accessible
through a web browser to access the simulation-based learning
platform 106 over the internet. After the user 246 has selected
their course of study and the challenges/simulated tasks that the
user 246 wants to undertake, the monitoring module 208 monitors and
records the user's interactions during the user's performance of
the challenges and the metadata module 210 tracks data that
describes the user's interactions.
[0112] In further embodiments, an expert user 242 performs the same
or substantially similar tasks as the user 246 that is training
using another computing device 244. In such an embodiment, the
monitoring module 208 monitors and records the expert's
interactions during the expert's performance of the challenges and
the metadata module 210 tracks data that describes the expert's
interactions. In various embodiments, data 230 that is associated
with previous performances of the selected challenge may be
incorporated by the metadata module 210. Previous performances may
be provided by experts, peers of the user 246, and/or other users.
The data may include the steps that the other users took to
complete the challenge, the amount of time it took the other users
to complete the challenge, profile information for the other users,
and/or the like.
[0113] The metadata module 210 may store the tracked and collected
data in a database 202 and also provide the data to the machine
learning module 212. In further embodiments, the metadata module
210 provides the data to a scoring module 216 to determine a
deviance score for the user's 246 performance as compared to the
expert's 242 performance for completing the challenge/simulated
task. The scoring module 216 may provide the score data to the
machine learning module 212 for use in optimizing the user's 246
learning path as compared to the expert's 242 reference path.
[0114] The machine learning module 212, in certain embodiments,
provides the data to a neural network 240 as input, which processes
the data to optimize the user's learning path associated with the
challenges/simulated tasks that the user 102 is working on. The
optimized data is provided to the recommendation module 224, which
generates, dynamically and in real-time, one or more
recommendations, hints, suggestions, and/or the like for the user
246 and provides the recommendations to the user 102. The data flow
in FIG. 2B occurs in real-time, and on an on-going basis, as the
user works on the challenge/simulated task so that the user 102 is
provided with timely and applicable recommendations to help
solidify the user's learning and ultimately increase the user's
learning capabilities.
[0115] FIG. 3 illustrates a user interface view 300 of interaction
with the simulation-based learning platform 106 through a computing
device for data oriented learning according to an embodiment
herein. The view 300 includes a category field 302A, a
specification field 302B, a classification field 304, a review
challenge field 306, and a solve challenge field 308. In one
embodiment, when a user clicks on the category field 302, one or
more categories (e.g., a financial service industry) are displayed.
The specification field 302B provides information regarding a
domain (e.g., finance, and retail) of learning. The classification
field 304 classifies an industry (e.g., consumer banking).
[0116] In one embodiment, one or more challenges/simulated tasks
with corresponding statuses (e.g., review, resume, solve) for a
user action are displayed. The review challenge field 306 helps to
review a challenge previously completed by a user 102. For example,
a challenge completed by a user 102 may be reviewed, replayed,
restarted, and/or the like. The solve challenge field 308 displays
one or more challenges that may be solved. For example, when a user
clicks on the solve challenge field 308, the user 102 can proceed
with performing the required tasks for completing the
challenge/simulated task. In one embodiment, a title of a challenge
and a corresponding description may be displayed to the user 102.
In one embodiment, the user 102 may resume with a challenge at an
interrupted stage (e.g., when a user pauses before completion of
the challenge) by clicking on `a resume challenge` field.
[0117] FIG. 4 illustrates a user interface view of a user 102
solving a challenge/simulated task to achieve an
interactive-learning according to an embodiment herein. The view
includes an objective field 402, a steps field 404, a hints field
406, an instructions field 408, an undo step field 410, a submit
field 412, and datasets field 414. In one embodiment, when a user
102 clicks on a case field which displays a business case. For
example, the case field explains business problem, analytics
problem, client's dilemma, overall expectation of a client, and an
overview of what a data represents. In one embodiment, a data
dictionary field provides information corresponding to one or more
data items in the column for a particular challenge/simulated task.
In one embodiment, data is a sample of a customer base having three
identifiers (ID). For example, (i) a household ID which represents
a unique identifier for the household (one household can have
multiple customers and each customer can have multiple accounts),
(ii) a customer ID which represents a unique customer, and (iii) an
account ID which represents an account.
[0118] In one embodiment, when a user 102 clicks on the objective
field 402 a list of objectives for the challenge is provided. For
example, the user 102 may need to solve an analytics problem that
has three objectives `objective 1`, `objective 2`, `objective 3`.
In another example, an objective may be to determine which of
following factors (i) household size, (ii) household age, (iii)
home ownership status, (iv) marital status, (v) wealth segment, and
(vi) vintage of the relationship have influence on a volume of a
household deposit balance with a bank and an overall deposit
balance respectively.
[0119] In one embodiment, when a user 102 clicks on the steps field
404 one or more steps/interactions performed by the user 102 to
solve a challenge/simulated task are displayed and the
steps/interactions are updated in real-time as the user modifies
the steps/interactions. In one embodiment, when a user 102 clicks
on the hints field 406, a hint may be displayed for completing a
challenge/simulated task and assist the user to progress further to
complete the challenge/simulated task. In one embodiment, when a
user 102 clicks on the instructions field 408, the instruction for
solving the challenge/simulated task is conveyed to the user. In
one embodiment, when a user 102 clicks on the undo step field 410,
the platform helps to undo a particular step when an error occurs
while performing a challenge/simulated task. In one embodiment, the
user 102 clicks on the submit field 412 once he/she completes all
the involved within the challenge/simulated task. In one
embodiment, the user 102 may chat with other user/trainee/experts
while taking up the challenge/simulated task.
[0120] In one embodiment, instructions describe how to break the
challenge/simulated task into smaller parts for analysis. In one
embodiment, the hints are requested by the user 102. For example,
upon clicking on the hint icon, an appropriate hint is displayed to
the user 102 based on user's current position. Similarly,
`functions` are the right steps which are recommended by an expert
in order to successfully complete the instruction. In one
embodiment, `Context/Column` field represents the column/row/cell
on which the recommended `function` may be performed. In one
embodiment, `Blacklisted rules` represents actions that the user
102 should avoid and in which points are deducted for performing
those actions. In one embodiment, a chart output field displays
output to the user 102 in a chart format.
[0121] FIG. 5 illustrates a user interface view of receiving one or
more hints while solving the at least one challenge/simulated task
according to embodiments herein. The view 500 includes a hint
rendering field 502. The hint rendering field 502 renders one or
more hints to the user 102 while solving the at least one
challenge/simulated task. For example, while the user 102 is
solving a bank challenge, one or more hints may be provided such as
"Account number is the primary key of the table, which should be
unique". There is a provision for the user 102 to access one or
more hints if the one provided is not helping the user 102 to solve
the one or more steps associated with the at least one
challenge/simulated task.
[0122] FIG. 6 illustrates a user interface view of a user score
sheet for the challenge/simulated task taken by a user 102
according to an embodiment herein. The view 600 includes a score
field 602, a category score field 604, an objective score field
606, a comment field 608, and a view expert solution field 610. The
score field 602 displays a score and percentage of deviation
achieved by the user 102 for a challenge/simulated task. The
category score field 604 displays a score achieved by the user
based on the category. Similarly, the objective score field 606
displays a score achieved by the user for corresponding objectives.
The comment field 608 displays comments by an expert/system for the
user score sheet and one or more approaches taken by the user 102
while solving the challenge/simulated task. In one embodiment, once
the user 102 clicks on the view expert solution field 610, the user
102 is redirected to an expert solution page for corresponding
challenges/simulated tasks. In one embodiment, the user 102 may
compare execution steps of the user 102 with execution steps of an
expert while performing a challenge/simulated task to determine a
deviation in the user's steps from the expert's steps and to
observe the expert approach to the challenge/simulated task.
[0123] FIG. 7 illustrates a user interface view of an expert
solution sheet for the at least one challenge according to an
embodiment herein. The view 700 includes an alternatives field 702,
a comment field 704, and a steps field 706. The alternatives field
702 provides an alternative expert solution for a particular
challenge/simulated task performed by a user 102. The comment field
704 provides one or more comments as an expert solution for the
challenge/simulated task to the user 102. The steps field 706
provides the one or more steps followed by an expert for a
particular challenge/simulated task performed by the user 102. For
example, a challenge/simulated task may include a table that
includes information (e.g., sales revenue, advertisement expenses,
sales incentives) about financial status of an industry. Selection
of the sales column, for example, may signify an input and
similarly selection of the sales incentives signifies an output. In
one embodiment, the user 102 may click on previous step field 706
to view the previous steps performed by the expert for a particular
challenge and similarly the next step field to view the next step
performed by the expert for the particular challenge/simulated
task.
[0124] FIG. 8 illustrates a user interface view of a consolidated
rank sheet of the user 102 specific to one or more
challenges/simulated tasks according to an embodiment herein. The
view 800 includes a consolidated rank sheet 802, and a cumulative
field 804. The consolidated rank sheet 802 displays the user 102
who has performed one or more challenges/simulated tasks with
corresponding scores earned and the domain of learning. For
example, users `John`, `Paul`, `Robert` may be the top three ranked
users for a challenge/simulated task in finance domain according to
their respective score points earned. In one embodiment, the
cumulative field 804 may be used to sort the rank sheet according
to the user 102 based on cumulative score. Similarly, the rank
sheet may be sorted based on the challenge/simulated task.
[0125] FIG. 9 illustrates a user interface view 900 of a user
profile sheet according to an embodiment herein. The view 900
includes a starred field 902. In one embodiment, the consolidated
courses sheet displays lists of courses to the user 102 with their
corresponding schedules. In one embodiment, the user 102 may add
one or more courses to his/her profile (e.g., add to favorites)
when he/she clicks on the starred field 902.
[0126] FIG. 10 is an interaction diagram illustrating a processor
implemented method for training and scoring one or more
challenges/simulated tasks taken by the user 102 using the
simulation-based learning platform 106 according to an embodiment
herein. The interaction diagram 1000 includes a series of
operations carried out during various stages of interaction between
the challenge selection module 206, the monitoring module 208, the
machine learning module 212, the scoring module 216, and the gaming
module 222. In operation 1002, a user 102 performs one or more user
actions/steps, which the monitor module 208 records. For example, a
user action may be `a user clicks` on solving at least one
challenge from a plurality of challenges. In operation 1004, the
hint and instruction module 212 may render a hint to the user 102,
when the user prompts for a hint or when the machine learning
module 212 deems it appropriate to share hint information based on
where the user 102 is in the at least one challenge. In operation
1006, any hints used by the user 102 are sent to the scoring module
214 to determine the final score for the challenge/simulated task.
In operation 1008, the monitoring module 208 records and stores the
steps/interactions that user 102 or an expert have taken for
completing a challenge/simulated task. In operation 1010, the
monitoring module 208 interacts dynamically with a display module
218 to display the steps taken by the user and interacts with the
scoring module 216 and/or the machine learning module 212 to
compute a deviance of the user 102 from a reference path, e.g., an
expert's path.
[0127] In operation 1012, the machine learning module 212 compares
the one or more steps taken by the user 102 with one or more steps
taken by one or more experts/set of other users to solve the at
least one challenge/simulated task to compute a deviance of the
user 102 from a reference path. In operation 1014, the machine
learning module 212 computes the deviance from one of the
optimal/recommended paths. In operation 1016, the scoring module
216 scores the at least one challenge based on the deviance of the
user 102 from the reference path to obtain a score. In operation
1018, the gaming module 216 provides information for gamification
elements (e.g. points, badges, level unlock, leadership boards,
etc.) within the platform 106 based on the user's score(s).
[0128] FIG. 11 illustrates an exploded view of the computing device
104 having a memory 1102 that includes a set of computer
instructions, a bus 1104, a display 1106, a speaker 1108, and a
processor 1110 capable of processing a set of instructions to
perform any one or more of the methodologies herein, according to
an embodiment herein. In one embodiment, the receiver may be the
computing device 104. The processor 1110 may also enable digital
content to be consumed in the form of text material, or video for
output via one or more displays 1106 or audio for output via
speaker and/or earphones 1108. The processor 1110 may also carry
out the methods described herein and in accordance with the
embodiments herein.
[0129] Digital content may also be stored in the memory 1102 for
future processing or consumption. The memory 1102 may also store
program specific information and/or service information (PSI/SI),
including information about digital content (e.g., the detected
information bits) available in the future or stored from the past.
A user of the computing device 104 may view this stored information
on display 1106 and select an item of for viewing, listening, or
other uses via input, which may take the form of keypad, scroll, or
other input device(s) or combinations thereof. When digital content
is selected, the processor 1110 may pass information. The content
and PSI/SI may be passed among functions within the computing
device using the bus 1104.
[0130] The techniques provided by the embodiments herein may be
implemented on an integrated circuit chip (not shown). The chip
design is created in a graphical computer programming language, and
stored in a computer storage medium (such as a disk, tape, physical
hard drive, or virtual hard drive such as in a storage access
network). If the designer does not fabricate chips or the
photolithographic masks used to fabricate chips, the designer
transmits the resulting design by physical means (e.g., by
providing a copy of the storage medium storing the design) or
electronically (e.g., through the Internet) to such entities,
directly or indirectly.
[0131] The stored design is then converted into the appropriate
format (e.g., GDSII) for the fabrication of photolithographic
masks, which typically include multiple copies of the chip design
in question that are to be formed on a wafer. The photolithographic
masks are utilized to define areas of the wafer (and/or the layers
thereon) to be etched or otherwise processed.
[0132] The resulting integrated circuit chips can be distributed by
the fabricator in raw wafer form (that is, as a single wafer that
has multiple unpackaged chips), as a bare die, or in a packaged
form. In the latter case the chip is mounted in a single chip
package (such as a plastic carrier, with leads that are affixed to
a motherboard or other higher level carrier) or in a multichip
package (such as a ceramic carrier that has either or both surface
interconnections or buried interconnections). In any case the chip
is then integrated with other chips, discrete circuit elements,
and/or other signal processing devices as part of either (a) an
intermediate product, such as a motherboard, or (b) an end product.
The end product can be any product that includes integrated circuit
chips, ranging from toys and other low-end applications to advanced
computer products having a display, a keyboard or other input
device, and a central processor.
[0133] FIG. 12 is a flow diagram illustrates a method for training
and scoring one or more challenges taken by a user using a
simulation-based learning platform according to an embodiment
herein. In step 1202, a plurality of challenges/simulated tasks to
be taken by a user 102 is obtained from a database 202. In step
1204, at least one of information associated with the one or more
challenges/simulated tasks is obtained. In step 1206, at least one
challenge/simulated task from the plurality of challenges is
processed by selection with at least one action or steps performed
by the user. In step 1208, one or more hints to solve the at least
one challenge is rendered. In step 1210, one or more steps taken by
the user to solve the at least one challenge is recorded. In step
1212, the one or more steps taken by the user is compared with one
or more steps taken by an expert to solve the at least one
challenge to compute a deviance of the user from a reference path.
In step 1214, the at least one challenge is scored based on the
deviance of the user from the reference path to obtain a score. In
step 1216, a result associated with the at least one challenge is
notified to the user based on the score. The at least one of
information associated with the plurality of challenges is selected
from a group includes (i) a description, (ii) an objective, (iii)
data sets that are created or provisioned, (iv) rules of
navigation, (v) key steps, and (vi) success criteria among other
related components.
[0134] The processor implemented method may further include
providing one or more solutions are provided in a format selected
from a group which includes (i) one or more audio, (ii) one or more
video, (iii) one or more text, or (iv) a combination thereof. The
processor implemented method may further include (i) tracking a
progress associated with the at least one challenge and (ii)
displaying a progress indicator for the at least one challenge
taken by the user. The progress indicator may include (i) a
progress level of the user associated with the at least one
challenge, or (ii) a comparison of a performance between (i) the
user and the one or more experts, (ii) the user and the one or more
users, or (iii) combinations thereof.
[0135] FIG. 13 depicts is a flow diagram illustrates a method for
1300 for adaptive learning. In one embodiment, the method 1300
begins and continuously monitors 1302 one or more interactions of a
user 102 while the user 102 performs one or more simulated tasks
digitally presented to the user 102. In further embodiments, the
one or more simulated tasks are associated with a learning path. In
one embodiment, the method 1300 includes tracking 1304 data
describing the user's interactions during the user's performance of
the one or more simulated tasks of the learning path.
[0136] In further embodiments, the method 1300 includes,
dynamically and in real-time, optimizing 1306 the user's learning
path by simulating multiple different learning paths using one or
more machine learning processes and the tracked data. In one
embodiment, the method 1300 includes presenting 1308 one or more
recommendations to the user 102 for optimizing the user's learning
path. In some embodiments, the one or more recommendations are
generated as a function of the optimized learning path, and the
method 1300 ends. In certain embodiments, the monitoring module
208, the metadata module 210, the machine learning module 212, and
the recommendation module 214 perform the various steps the method
1300.
[0137] The embodiments herein can take the form of, an entirely
hardware embodiment, an entirely software embodiment or an
embodiment including both hardware and software elements. The
embodiments that are implemented in software include but are not
limited to, firmware, resident software, microcode, etc.
Furthermore, the embodiments herein can take the form of a computer
program product accessible from a computer-usable or
computer-readable medium providing program code for use by or in
connection with a computer or any instruction execution system. For
the purposes of this description, a computer-usable or computer
readable medium can be any apparatus that can comprise, store,
communicate, propagate, or transport the program for use by or in
connection with the instruction execution system, apparatus, or
device.
[0138] The medium can be an electronic, magnetic, optical,
electromagnetic, infrared, or semiconductor system (or apparatus or
device) or a propagation medium. Examples of a computer-readable
medium include a semiconductor or solid state memory, magnetic
tape, a removable computer diskette, a random access memory (RAM),
a read-only memory (ROM), a rigid magnetic disk and an optical
disk. Current examples of optical disks include compact disk-read
only memory (CD-ROM), compact disk-read/write (CD-R/W) and DVD.
[0139] A data processing system suitable for storing and/or
executing program code will include at least one processor coupled
directly or indirectly to memory elements through a system bus. The
memory elements can include local memory employed during actual
execution of the program code, bulk storage, and cache memories
which provide temporary storage of at least some program code in
order to reduce the number of times code must be retrieved from
bulk storage during execution.
[0140] Input/output (I/O) devices (including but not limited to
keyboards, displays, pointing devices, cameras, microphones,
sensors, remote controls, etc.) can be coupled to the system either
directly or through intervening I/O controllers. Network adapters
may also be coupled to the system to enable the data processing
system to become coupled to other data processing systems or remote
printers or storage devices through intervening private or public
networks. Modems, cable modem and Ethernet cards are just a few of
the currently available types of network adapters.
[0141] A representative hardware environment for practicing the
embodiments herein is depicted in FIG. 14. This schematic drawing
illustrates a hardware configuration of an information
handling/computer system in accordance with the embodiments herein.
The system comprises at least one processor or central processing
unit (CPU) 10. The CPUs 10 are interconnected via system bus 12 to
various devices such as a random access memory (RAM) 14, read-only
memory (ROM) 16, and an input/output (I/O) adapter 18. The I/O
adapter 18 can connect to peripheral devices, such as disk units 11
and tape drives 13, or other program storage devices that are
readable by the system. The system can read the inventive
instructions on the program storage devices and follow these
instructions to execute the methodology of the embodiments
herein.
[0142] The system further includes a user interface adapter 19 that
connects a keyboard 15, mouse 17, speaker 24, microphone 22, and/or
other user interface devices such as a touch screen
device/camera/other sensors (not shown) or a remote control to the
bus 12 to gather user input. Additionally, a communication adapter
20 connects the bus 12 to a data processing network 25, and a
display adapter 21 connects the bus 12 to a display device 23 which
may be embodied as an output device such as a monitor, printer, or
transmitter, for example.
[0143] FIG. 15 illustrates a user interface 1500 for selecting a
course task to complete. In one embodiment, as explained above, a
course may include modules, simulations, challenges, tasks,
quizzes, tests, learning/study content (e.g., audio/video content,
text content, illustrations, diagrams, and/or the like). The
interface 1500 illustrates that a plurality of different modules
1502 are available for the user 102 to select from for different
courses, e.g., a course entitled "LEARN HOW TO COMPUTE BASIC
DESCRIPTIVE STATISTICS FOR NUMERIC VARIABLES". In one embodiment,
the challenge information obtaining module 204 retrieves the
available modules for the selected course and presents the modules
to the user in the interface 1500.
[0144] In one embodiment, as the user 102 goes through the module
and completes challenges/simulated tasks, the monitoring module 208
monitors the user's interactions, e.g., mouse movements, mouse
clicks, or the like, and the metadata module 210 tracks data
associated with the user's interactions. The user's interactions
may comprise steps 1504 towards completing the challenge/simulated
task, which are recorded and presented to the user on the interface
1500. In one embodiment, the interface 1500 allows the user 102 to
undo and/or redo various steps 1504.
[0145] FIG. 16 illustrates a user interface 1600 for presenting
course information for the user's selected course. The course
information may include study material, explanatory material,
and/or the like to help the user 102 learn the course material. The
monitoring module 208, in certain embodiments, monitors the user's
interactions with the course material such as how long the user 102
spends on certain videos, slides, and/or the like. The metadata
module 210 tracks and stores this data, which may be fed to the
machine learning module 212 for processing by the ANN 240 to
optimize the user's learning path for challenges/simulated tasks
associated with the selected course.
[0146] In some embodiments, the machine learning module 212
provides recommendations for customizing the flow of content
presented to the user 102 that is most conducive to the user's
learning pattern. For instance, the machine learning module 212 may
determine, from data collected over time, that the user 102 is able
to learn and retain concepts and skills in less time by watching
explanatory videos instead of reading explanatory text. Therefore,
the machine learning module 212 may recommend more videos for the
user 102 to watch to learn the concepts being tested. Furthermore,
the subsequent modules, content, challenges, and/or the like may
not be unlocked or available until previous modules, content,
challenges, and/or the like are completed and/or completed with a
score that satisfies a threshold score. For example, a subsequent
video may not be available for the user 102 to watch until the user
watches all of a current video, at least a portion of a current
video (e.g., five minutes of a seven minute video), completes a
quiz associated with a video, and/or the like.
[0147] FIG. 17 illustrates a user interface 1700 for comparing a
user's learning path with a reference learning path. As explained
above, the user's learning path is continuously compared with a
reference learning path, e.g., an expert learning path, to
determine a score for the user's learning path based on the
deviance of the user's learning path to the expert's learning path.
An interface 1700 may be used to present the comparison of the
reference learning path 1702 to the user's learning path 1704 and
display, side-by-side, the steps that the user took to complete a
challenge/simulated task and the steps included in the reference
path so that the user can see the differences and make corrections
accordingly.
[0148] The simulation-based learning platform 106, in one
embodiment, provides a conceptual, immersive and interactive
learning environment based on simulations and real business cases
that the learner may experience in a real-life situation. The user
102 does not require prior knowledge on statistical code. The
simulation-based learning platform 106 provides application of
concepts on real-time data and on real-time challenges. The
simulation-based learning platform 106, in certain embodiments,
simulates a real business scenario and allows a user 102 to explore
the data as he/she deems fit and appropriate. In an analytics
framework, for example, the simulation-based learning platform 106
segments analytics/statistical learning and allows a user 102 to
focus on the application of business, analytics, and statistical
concepts separate from the mechanics of tools and programming.
[0149] The simulation-based learning platform 106, in one
embodiment, facilitates learning by allowing the user 102 to focus
on choosing a correct/optimal step/path/approach and an
application/execution, which may interface with the chosen package
(e.g., `R`, `Python`, `SAS`, `Julia` among others for
statistics/business analytics/optimization). In certain
embodiments, there exists a combination of objectives and
descriptive questions at critical points to test concepts. The
instruction and hints, in further embodiments, facilitate the user
102 and his/her progress on completion of the challenges/simulated
tasks. An intelligent scoring system, in some embodiments, helps in
determination of the user's score and areas of improvement.
Comparison of user steps and actions against an expert's
recommended approach may help in identifying areas of deviation. A
focus on approach as much as the output in a specialized field like
analytics, for example, helps the user 102 toward a very high
return on investment of time and effort.
[0150] The simulation-based learning platform 106, in various
embodiments, enables collaboration, intelligent scoring, and
learning by experience. The simulation-based learning platform 106,
in certain embodiments, enables the user 102 to quickly move up the
learning curve, and reduce time spent on training. The
simulation-based learning platform 106, in some embodiments,
provides extensive and broad exposure to many practical and
relevant real-life experiences through use cases and simulated
journeys to solve business challenges. The simulation-based
learning platform 106, in one embodiment, enables the user 102 to
define the problem thoroughly before arriving at a solution. The
simulation-based learning platform 106, in various embodiments,
quantifies the business impact of every step that the user 102
takes and helps to train the user 102 based on the business impact
of the user's 102 decisions. The simulation-based learning platform
106, in some embodiments, includes adaptive machine learning
processes for processing and analyzing behavioral data and progress
of a platform user 102.
[0151] The foregoing description of the specific embodiments will
so fully reveal the general nature of the embodiments herein that
others can, by applying current knowledge, readily modify and/or
adapt for various applications such specific embodiments without
departing from the generic concept, and, therefore, such
adaptations and modifications should and are intended to be
comprehended within the meaning and range of equivalents of the
disclosed embodiments. It is to be understood that the phraseology
or terminology employed herein is for the purpose of description
and not of limitation. Therefore, while the embodiments herein have
been described in terms of preferred embodiments, those skilled in
the art will recognize that the embodiments herein can be practiced
with modification within the spirit and scope of the appended
claims.
* * * * *