JIMMIE Modeling

Here is a partial sample of the objects that I've created for JIMMIE.  Basically, I am replacing my AIML with JIMMIE objects.  JIMMIE will be part of BioMight's brain. 

BioMight has a structure in place that supports multiple humans with mulitple models inside them  (HumanID+projectID+BodyID = unique indidual human model within BioMight,   Thoretically, it has the capacity to uniquely represent every human on the planet that has ever existed and ever will, by running permutations through its Biological components, which are used to assemble an individual

Connecting MRL via a WebService is a nice, viable option.  It keeps MRL lightweight, and at the same time provides acces to the JIMMIE engine where you can place your unique brain model.  Hope this helps with any questions.


This is a representation of the RoboJim object, representing my digital friend.  Please send me your Android names and features and I will add them under the Adroid tree.  I will also add your profiles under the Human tree if you wish, as there is an object there representing my identity.    

Below, we see that I have absorbed the AIML for Salutation into JIMMIE.  It will use Java Pattern Matching for patterns.  For now, I'm hard coding direct matches.


Here is a view that shows the Salutation, RoboJim, SurferJim, and Lunatic my doggie Java classes.  Each object encodes the AIML intelligence.  I can ask the Salution object, GenericHello, GoodMorningHello, GoodEveningHello, etc. requests, and it responds with the appropropiate AIML.   I can query RoboJim getIdentityWho(), getIdentityWhat(), getIdentityState(), getIdentityWhatPurpose(), getIdentityEmotion(), etc.  One takes their AIML and moves it into the appropriate JIMMIE files of Request and Responses, which will use the AIML model to some extent.   




Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
kwatters's picture

hand crafted objects?

Hi Jim,

  I'm not sure I completely follow.  Are you thinking that you're going to create a java object that represents all the real world concepts and objects?  That sounds like a whole lot of classes...  I'm curious to learn more about the actual algorithms you are putting together.  Keep in mind that maintaining a large number of classes is difficult.



SurferJim's picture

Hi Kevin, I will probably

Hi Kevin, I will probably build 5,000 object in Beta 1.0.  I set that as my goal for BioMight and went beyond.  Each class will be copy and pastable with each object implementing its unique characteristics. Simply copy one and rename it, then add a few properties, a few methods, and its in the mix.  I will replace my AIML soon, so its proving its worthniess.  :-)   I will continue to post details in the slides as I code along, promise.  I'm free for discussion whenever you want.  Skype or Facetime me if you'd like to query and provide guidance :-)

kwatters's picture

copy and paste..

You might want to take a step back and think about the maintence aspects of code that is mostly copy and pasted.  

Perhaps just some more generic top level objects that can be configured to be certain things.. rather than a new java class for each one.   

Also, having a huge number of classes in the classpath could be problematic as that will require additional  PermGen memory  (or memory in general in later versions of java.)


SurferJim's picture

Updated Slides

Hi Kevin, please take a gander at the updated JIMMIE slides as I addressed some of your topics.  I will fill out the details of the object matcher in a day or two :-)