Just did a new release of the android app. Not much new: it can now report battery state, voltage and temp + some speed improvements. Read more on the release post.

 

Looks like there is a new competition in town. It’s going to replace the chatterbox challenge, which had it’s last competition this year (it turns out this is something extra, separate from the chatterbox challenge). Kudos to Steve Worswick for getting it up and running so fast.

 

There is finally a new release available (well, actually a set of new releases). You can get them from the download section. This round took much longer than originally anticipated. I spend lots of time on wordnet and even more on improving speed / memory usage (primarily for the android platform, this is still very much an ongoing task). And lets not forget all the preparations I have already made for the next release.

So, what’s new:

  • android version
  • manage the android device from within the application
  • updated asset editor
  • a new chat-log history view (view/tool windows/chatlog history)
  • some internal fixes
  • improved voice input (new setting available for this in the ‘chatbot properties’ window)
  • a new import of wordnet has been made (+ the importer updated)
  • thesaurus search has been improved.
  • thesaurus import has been improved
  • thesaurus paths (in input patterns) have an extra pos  filter type: ‘any’, for allowing any part of speech.
  • thesaurus paths (in input and output patterns) have an extra optional part for selecting the relationship type (ex: ^w->pertainym:any.something)
  • Rule layout has been changed: the ‘Response for’ field has been moved from the ‘output’ items to the root of the rule
  • the ‘questions-answers’ demo has been updated.
  • InvalidRespones: the list can now be assigned sequential or random (for selecting an item)
  • InvalidResponse: a single invalid response can now determine if the bot needs to continue waiting for a valid response or not.
  • thesaurus variables in input patterns
  • the layout of topic editors has been updated (use the first toolbar button to toggle between editing modes)
  • generic data import has been added which uses topics to declare how data needs to be imported.
  • changed the labeling from ‘bot says’ to ‘output’ and ‘you say’ to ‘input’ to better reflect all the usage cases and not just for defining chat statements.
  • websites can now be installed to any server you like (path can be defined) (servers must support .net 4, MVC3)
  • the css file is properly used in the websites (which allows customization)

Known issues on the android:

  • contact info needs to be partially imported at the moment, hoping to change this in the future.
  • the contact info sync screen closes extremely slow when the process is done (most likely due to  garbage collection).
  • the first input is processed much slower then the rest. This is due to disk access latencies.
  • Accessing the disk is generally very slow so better caching needs to be added.
  • The contact info search algorithms are very limited at the moment, this will be fixed

Coming up: lots of things are currently ‘in the docks’, sort of:

  • My own text-to-speech engine is half way. When done, this should allow me to provide some proper lip-sync on android and web + a path for future improvements. So far, I’ve only been working on this now and again. Soon it will get my full attention and things should start to move in this area.
  • I have finally made a proper programming language to go with the neural network engine. In the past, I programmed it directly by laying out the neurons manually. This was starting to become a problem: upgrading big projects (like those that contain a wordnet db) is faster if only the code can be replaced instead of all the data. I also needed some more power in the pattern matcher statements + an easy way to extend the functionality. And finally, I would like to recover some old code I wrote for parsing images. Hence this side step. Both parser and source code generator have already been made, only the neuron renderer still needs some work.
  • I’d like to add a new view to the designer for better managing conversation flow
  • I’ve starting doing testing with my own STT. This is definitely a long term project.
 

This is a bot that’s been online for a while now. I’ve recently updated it and thought I should mention something about it. Basically, all it can do, is return the meaning of a word, as defined in wordnet. The latest version shows how to use the new ‘anypos type. If you use this, it will return all the occurrences of a word in the thesaurus, across all pos types. It’s used as a backup mechanism, in case the sentence doesn’t reveal what type of word should be returned (no ‘a(n)’, the, to,…). A simple fallback rule looks like:

input: define ^value:any
calculate: $result = $value[0]:wordnetmeaning
Output: ‘$value’ means $result

Pretty simple.  ‘$value[0]’ is used to select the first occurrence in the thesaurus.

And here’s the bot itself:

Mar 282012
 

Over on the Robitron list, an interesting conversation emerged about question-answer systems and how best to drive advances in this field. A proposal was made to set up a website where multiple bots could be asked the same question at once, called qa1watt. Every bot has to answer with only 1 word, and this word has to come from a pre-determined list of possible words. If no answer can be found or the answer isn’t in the word-list, another word should be returned from the list that somehow relates to the answer or the question.

I thought this was an interesting setup, so I created a small test bot that tries to find a word in the word-list that is somehow related (in wordnet) to 1 or more words in the question as a fallback when it can’t find the correct response. Besides this rule, it currently has 1 other rule to deal with some simple date-time questions. I’ll most likely add some more in the future, for testing things through. There are still some issues, but results can sometimes be interesting, surprising and bizarre.

Try it out for yourself here:

 

I had a bit of a surprise a couple of days ago when I wanted to test android’s built-in speech-to-text module that I am currently using in Aici’s android version. It kept saying ‘No network connection’. What? I thought that this thing was native? Turns out that it isn’t. Android’s STT is using the google web service to perform it’s trick, so it needs to ‘phone home’. The only thing that’s native, is the API. Well, that’s no good. So I’ll just have to build my own I guess… Damn

 

I found some missing data in the windows version of the wordnet dataset. It turned out that the linux release had been updated, but not the windows installer. All of the sql database versions that I know about appear to be based on this windows version, and are therefor outdated. So I reran Bernard Bou’s wordnet sql builder tool on the latest wordnet files. The results can be downloaded from my new download page.

 

I’ve been waiting to release the android version until I got a change to profile the application cause there is a clear bottle-neck going on in the engine. Unfortunately, the performance profiler isn’t ready yet, but being built. I have a few ideas of where the problem might be, but there is no guarantee, so better wait until the tool is available.

In the mean time though, I think I’ll prepare a simple release, which will run pretty slow.

 

There’s a new release available which supports online bots. The bot is managed and maintained from the designer. Once done, you can upload it to the net.  You can download it from here.
I still have a few beta accounts left, if anyone is interested to run an online version (free), drop me a mail and I’ll set you up (if there’s still room left).

 

I finally managed to update all the tutorials. Since it’s so close to the release date, I figured to go ahead and put them up on the new site over at www.bragisoft.com/tutorials. The site itself is still a bit of a mess, but the tutorial section is coming along nicely.

© 2012 Neural Network Design blog Suffusion theme by Sayontan Sinha