NND & AICI

  • 155 Replies
  • 51680 Views
*

Bragi

  • Trusty Member
  • ********
  • Replicant
  • *
  • 564
    • Neural network design blog
Re: NND & AICI
« Reply #105 on: May 23, 2012, 01:29:04 pm »
Argg, had an whole reply typed out, only to loose it again. Here's a second attempt:

-I've just uploaded the android version of aici to the web: http://bragisoft.com/chat-online/. It's still a very simple bot, it doesn't even yet have pattens to handle 'x is y' or the x of y is z'. They should be added before Steve's competition takes off. (some chatlog would probably be helpful for getting out some of the kinks)

About new tricks: you have sort of beaten me to the punch by a couple of days. I'm currently trying to get a first pattern learning algorithm to work. At the moment, it's still very simple: record a static input string and attach a static response to it. I'm hoping to get this working before the chatbot battles as a fallback, when it can't find a proper reply. In a next iteration, 'sub-topics' like subject, location, time,... should be recognized in new patterns,...

I'm actually trying to implement 2 things for the time of 1: the learning algorithm is written in a new front-end language which sits on top of the resonating neural network. This will become the new 'do-patterns' so that you have 'for, do, if,... + the rest of the network's features. It'll also give a better upgrade path for already existing networks (the pattern-matching algoritm can now be rendered and distributed as text). (and it should also allow me to document the code a bit better).

Here's the actual learning algorithm:
(it's currently still very much inked-into the already existing code, so things like 'callbackin' and 'callbackOut' are defined in another file and reference existing neurons.
Code
//callback for var-path
//builds a new input pattern, based on the last input statement found in the log
//The input pattern is added to a new rule (which is added to a special 'learned' topic.
//The rule is  linked to the CallbackIn, which is an output pattern.
//callbackOut will contain the newly created input pattern when done (single textneuron).
Cluster LearnPattern(code)
{
   this()
   {
      var iInputs = GetLastInputFromLog();
      int iCount = Count(iInputs);
      if(iCount > 0)
      {
         string iSpace = " ";
         CallbackOut = CCToS(Interleaf(ref(iInputs), ref(iSpace)));     //we need to convert the list of words back to a single sentence, where each word is seperated with spaces, so we have a visual representation for the pattern.
         var iCurrent = iInputs[0];
         AddLink(CallBackOut, iCurrent, ParsedPatternStart);
         for(int i = 1; i < iCount; i++)
         {
            var iNext = new(Neuron);
            AddLink(iCurrent, iNext, iInputs[i]);
            iCurrent = iNext;
         }
         AddLink(iCurrent, CallBackOut, Rule);
         var iRule = MakeCluster(Rule, CallbackOut);                    //add it to a new rule
         var iOutput = MakeCluster(OutputPatterns, CallbackIn);          //link the rule with the output.
         AddLink(iRule, iOutput, OutputPatterns);
         AddChild(AutoLearned, iRule);                               //add the rule to the default topic.
      }
   }
   
   GetLastInputFromLog(): var
   {
      var log = GetFirstOut(OutputSin, CurrentConversation);
      if(count(log) > 0 && ChildCount(log) > 2)
      {
         var iFound = ChildAt(log, ChildCount(log) - 3);
         return GetChildrenRange(iFound, 0, ChildCount(ifound) -1);     //each log item also contains a date-time stamp at the end, which has to be removed.
      }
   }
}

//callback for var-path
//builds an output pattern based on the content of CallbackIn and returns this (through CallbackOut).
Cluster BuildOutputPattern(code)
{
   this()
   {
      int iCount = Count(CallBackIn);
      if(iCount > 0)
      {
         CallbackOut = CCToS(CallBackIn);     //we need to convert the list of words back to a single sentence, to form the neuron that represents the pattern (also useful for the editors).
         var iParsedPattern = MakeCluster(ParsedPatternOutput, CallbackIn);
         AddLink(CallbackOut, iParsedPattern, ParsedPatternOutput);
      }
   }
}

*

Bragi

  • Trusty Member
  • ********
  • Replicant
  • *
  • 564
    • Neural network design blog
Re: NND & AICI
« Reply #106 on: May 31, 2012, 01:51:16 pm »
As promised, here's a short example of Aici's latest learning trick:

Code
You: kiss kiss
bot: What should I reply to that?
You: kisses for you too
bot: Ok, I see. Ask the question again, see if I got it.
You: kiss kiss
bot: kisses for you too

This is done with a single rule. It's still very, very simple, but, it's working, and it's a start. The code example that I wrote in the previous post, turned out to be a little bit of an oversimplification, but not that much.
I think this is a personal record by the way: from design to a full fledged working (well, good enough to start producing simple demos) programming language and compiler in something of a month.
Anyway, I've uploaded this to aici -online, if you want to give this a try.

Also, Freddy, in the chatterbox collection, is Aici still in there? cause if it is, the link is probably broken.

*

Freddy

  • Administrator
  • **********************
  • Colossus
  • *
  • 6859
  • Mostly Harmless
Re: NND & AICI
« Reply #107 on: May 31, 2012, 03:22:14 pm »
Yes it's still there :)

http://www.chatterbotcollection.com/item_display.php?id=3045

We could do some work on that if you want.  The links do work, but I don't know if they point to where you want.

*

Bragi

  • Trusty Member
  • ********
  • Replicant
  • *
  • 564
    • Neural network design blog
Re: NND & AICI
« Reply #108 on: May 31, 2012, 04:17:18 pm »
Yes, that's still for the deskop version. Perhaps this can point to the download page: http://bragisoft.com/download/
There could maybe be an other entry for the online version:  http://bragisoft.com/chat-online/  ?

Also, I've done a small update (on the online version) to fix some last minute bugs.

*

Freddy

  • Administrator
  • **********************
  • Colossus
  • *
  • 6859
  • Mostly Harmless
Re: NND & AICI
« Reply #109 on: June 03, 2012, 11:47:52 am »
Yes I can change things.  Do you want to come up with some (longer) descriptions ?

*

Bragi

  • Trusty Member
  • ********
  • Replicant
  • *
  • 564
    • Neural network design blog
Re: NND & AICI
« Reply #110 on: June 03, 2012, 02:07:54 pm »
Yep, the text is perhaps a little outdated. Let me think of something new...

*

Freddy

  • Administrator
  • **********************
  • Colossus
  • *
  • 6859
  • Mostly Harmless
Re: NND & AICI
« Reply #111 on: June 14, 2012, 12:06:27 pm »
Any joy with this ?

I have added the Bragisoft banner to the Chatterbot Collection too now  O0

Quote
Yes, that's still for the deskop version. Perhaps this can point to the download page: http://bragisoft.com/download/

Done that, just waiting for a new description and details of the new link too.

*

Bragi

  • Trusty Member
  • ********
  • Replicant
  • *
  • 564
    • Neural network design blog
Re: NND & AICI
« Reply #112 on: June 14, 2012, 06:14:57 pm »
I had completely forgotten about that. Give me another day or so, currently very busy getting the latest fixes in the online version for the competition.

*

Freddy

  • Administrator
  • **********************
  • Colossus
  • *
  • 6859
  • Mostly Harmless
Re: NND & AICI
« Reply #113 on: June 14, 2012, 08:31:57 pm »
OK no rush, just jogging your memory  :)

*

Bragi

  • Trusty Member
  • ********
  • Replicant
  • *
  • 564
    • Neural network design blog
Re: NND & AICI
« Reply #114 on: July 09, 2012, 02:32:50 pm »
Well, the competition is over for me. Aici didn't get to the next round. No surprises there, it wasn't exactly 'ready' yet. The competition did turn out to be a great test-bed for the engine. I had pushed it a little in the area of thesaurus paths and sub-topics, which showed me some bottle-necks that still needed fixing. (well, actually lots of memory and performance profiling showed me) By the end of the first stage in the competition, I had fixed most of these (and others, including lots of new ones), so I did a new release this weekend and I also published lots of new topics (well 54 in total, some were already downloadable, but most have been updated). All can be downloaded from here.

I've also managed to gather some new ideas during the competition for making the outputs more variable, so that the bot is able to produce unique responses, based on settings like 'introvert 70%, likes: dogs, films, hates:...), but still use patterns to declare everything, just in a general way, like 'subject verb object location time reason' or something similar. Should be great for creating a translation bot as well.
This is something I would like to work on next, but I need (want) to use the neural network language for this, so I first need to make certain that this works like it should (there are still some things I need to debug for this). I think this is going to be interesting.

Finally, I still need to come up with a new description. How about something like: Aici is an infant competition and show case bot for resonating neural networks. It's abilities and performance will be improved on as time goes by and experience has been gathered from competing against other bots.

*

Freddy

  • Administrator
  • **********************
  • Colossus
  • *
  • 6859
  • Mostly Harmless
Re: NND & AICI
« Reply #115 on: July 10, 2012, 01:00:24 pm »
Well even though you are out, like you say at least it allowed you to update some things and add new stuff, that's positive.

I think your description sounds fine too, where shall we put this ?

*

Bragi

  • Trusty Member
  • ********
  • Replicant
  • *
  • 564
    • Neural network design blog
Re: NND & AICI
« Reply #116 on: July 10, 2012, 02:09:35 pm »
the description was for the chatterbot collection.

*

Freddy

  • Administrator
  • **********************
  • Colossus
  • *
  • 6859
  • Mostly Harmless
Re: NND & AICI
« Reply #117 on: July 17, 2012, 12:56:05 pm »
Sorry, was away for a couple of days, then had a few things to do.  So we have :

Quote
Aici is an infant competition and show case bot for resonating neural networks. It's abilities and performance will be improved on as time goes by and experience has been gathered from competing against other bots.

And this is for a new entry about the online version yes ?  Located here : http://bragisoft.com/chat-online/

Correct me if I am wrong :)

*

Bragi

  • Trusty Member
  • ********
  • Replicant
  • *
  • 564
    • Neural network design blog
Re: NND & AICI
« Reply #118 on: July 17, 2012, 01:16:18 pm »
yep, that should be it.

*

Freddy

  • Administrator
  • **********************
  • Colossus
  • *
  • 6859
  • Mostly Harmless
Re: NND & AICI
« Reply #119 on: July 17, 2012, 01:25:44 pm »

 


AI controlled F-16, for real!
by frankinstien (AI News )
June 15, 2024, 05:40:28 am
Open AI GPT-4o - audio, vision, text combined reasoning
by MikeB (AI News )
May 14, 2024, 05:46:48 am
OpenAI Speech-to-Speech Reasoning Demo
by MikeB (AI News )
March 31, 2024, 01:00:53 pm
Say good-bye to GPUs...
by MikeB (AI News )
March 23, 2024, 09:23:52 am
Google Bard report
by ivan.moony (AI News )
February 14, 2024, 04:42:23 pm
Elon Musk's xAI Grok Chatbot
by MikeB (AI News )
December 11, 2023, 06:26:33 am
Nvidia Hype
by 8pla.net (AI News )
December 06, 2023, 10:04:52 pm
How will the OpenAI CEO being Fired affect ChatGPT?
by 8pla.net (AI News )
December 06, 2023, 09:54:25 pm

Users Online

233 Guests, 0 Users

Most Online Today: 253. Most Online Ever: 2369 (November 21, 2020, 04:08:13 pm)

Articles