A Dynamic Adaptive Learning System with inference ================================================= Note: this is a prototype of the core for a system that: * Targets a JSON serialisation of a resource/concept collection - The serialisation can be used independently of the authored content and the python codebase * Allows a markdown/MIME-like interface for the creation of resources and content. This is to allow creation/editting of resources by geographically disperse groups * The system tries to model the ngram state of the user. That is their understanding of concepts. There are rules determining decay of state. The interpretation of this is left to clients. * Concepts are what the users try to learn. These have dependencies. If these are not declared, the system tries to infer them from the resources. * Resources describe concepts. * Resources may be declared to depend on other resources. In practice, they are made to depend upon the concepts in those resources. This is to enable flexibility. * Resources primarily depend on other concepts. This allows dropping in resources that explain the same concepts, with either the same dependencies or simpler ones. * Dynamism in resources: * If new resources are dropped in, they can provide alternative routes through. For example a large resource could be split into a handful of smaller ones each covering smaller concepts. Alternatively, two resources may use different sorts of explanation (shorter, simpler language, etc). * If the core concept is "installing" you may have other concepts like "linux", "windows", "mac" which if selected would allow other resources that depend on those operating system specific things to be triggered. * This dynamism is what is relatively unique here. This is what allows the resources to be created by multiple people without requiring a static structure. The structure is derived dynamically when new resources are added.
sparkslabs/coals_core
Extraction of github.com/bbc/coals/package/coals as a separate repo
PythonApache-2.0