Note that there are some explanatory texts on larger screens.

plurals
  1. POI am trying to build a knowledge management system that learns dynamically. As it comes
    primarykey
    data
    text
    <p>I am trying to build a knowledge management system that in small way tries to mimic human ability to learn. It deals with both, new instances of concepts that it already knows, which allows it to further improve/specialize the knowledge base for the known concept(s). It can also learn new concepts that it has never encountered before. When it encounters new concepts it creates relationships with existing concepts. I am thinking that the native object oriented paradigm of a programming language itself could be an ideal data model for knowledge representation. For example <em>classes</em> are concepts (things) which has <em>attributes</em> that describe the concept and <em>methods</em> that describe how it (concept/thing) interacts. Hence a car is a generic concept hence modelled as a <em>class</em> while my specific car would be an <em>object</em> instance of that car. It obviously benefit from inheritance and up/down navigation ability provided by object oriented languages in dealing with classes and objects. Given the strong dynamic nature of Python, I am planning on using it for this purpose.</p> <p>Couple of implications of such a learning system are,</p> <ol> <li><p>Since the system learns new things about concepts (classes and objects) it already knows, it will have to modify the definition of classes dynamically by adding/deleting attributes (including methods) in addition to changing attribute values, thus a static definition of classes won't suffice. Methods are especially tricky since there is code associated with them.</p></li> <li><p>As it encounters new concepts it would have to create new classes dynamically.</p></li> <li><p>Each time the system starts it should start with all the prior knowledge loaded into the system for the obvious reason. In this case it means all the "current" versions (including any added/deleted or changed attributes/values/methods) of all knowledge classes (including dynamically created ones) i.e. a fairly comprehensive serialization/persistence mechanism is required.</p></li> </ol> <p>At the end of the session (tear-down), it would have to look at "all" knowledge classes and objects and serialize them. Some might have gotten defined newly, some might have changed their attributes or even methods (codes). Need a way to get all these objects/classes, their most up to date definition and serialize them for persistence.</p> <p>Next time the system runs, during initialization, it needs to read and execute all the class definitions and restore the state of object instances.</p> <p>I have looked around and found piecemeal solutions such as pickle, json, ZODB, inspect module etc. but none seem to be able to serialize dynamic classes including code for the methods.</p> <p>A similar question was asked here <a href="https://stackoverflow.com/questions/4574053/python-saving-and-loading-a-class-definition">Python: saving and loading a class definition</a> but most respondents thought that there wasn't any compelling use-case for this. </p> <p>Any leads would be greatly appreciated.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload