Poll

Which programming language do you prefer?
 
Feed Your Need!

About Me

My name is Romeo Dumitrescu

I am a Software Developer for Macadamian Technologies

Downloads

No Documents

Who's Online

We have 2 guests online
How many neural networks does it take to make a program speak? PDF Print E-mail
User Rating: / 0
PoorBest 
Technology - Coding
Written by Romeo Dumitrescu
  
Saturday, 31 January 2009 20:26

Well it seams that actually it needs only one. Today I finished implementing my first neural network on .NET. Things all good and well but my only trouble is with the contextual learning algorithm for the neurons.

Let me explain... For the last couple of years I've been playing around with the voice recognition and voice synthesizer engine from .NET trying to make myself a helping assistant. Of course, voice recognition and synthesizing is elementary but making the program actually understand the "meaning" of the expression it has to process is the hard part. So far I've built myself a static processing algorithm that processes specific instructions by context and replies to queries using grammar synthetic answers (easy and primitive) and just for fun I've named her Tanya. (Yes, it's a her)

But for the past few months Tanya has not been able to fulfill all requirements due to her lack of "meaningful" understanding and by this I mean actually understand what is requested and breaking down the query. To fix this, I needed to put some brains into her. The only solution was/is a neural network. While implementing the network base elements (axon, dendrites, neuron and synapse) was easy work (2 weeks), the learning algorithm is a big pain. The math is simple for most neural networks, but contextual learning is hard to implement. One of the things I used in making the "brain" gain some knowledge is a small open source algorithm that makes queering Wikipedia possible as if it was just another database. Also I had to use the MS SQL server dictionaries to make searching for information simpler (first query without the dictionaries finished in an hour and a half, which I wouldn't call instant). This assured that the grammars built in the voice recognition engine have some context to gather concreteness from. Of course, this is not nearly perfect. I still require a second network to interlink instructions with implemented plugins (basic stuff, SVN commands, computer state commands, file processing, etc.)

Anyway, if you've got the chance, take a couple of hours and experiment with neural networks cause you'll love them. I'll post the source code for Tanya soon (of course, without the neural network, which is impossible to export... your Tanya will need to start with a fresh network, which is relatively well usable about 200 or so queries - needs to learn context -. I'll include a file with some good commands that have raised my stats).

Comments
Add New Search
Write comment
Name:
Email:
 
Title:
UBBCode:
[b] [i] [u] [url] [quote] [code] [img] 
 
:angry::0:confused::cheer:B):evil::silly::dry::lol::kiss::D:pinch::(:shock::X:side:
:):P:unsure::woohoo::huh::whistle:;):s:!::?::idea::arrow:
Please input the anti-spam code that you can read in the image.

3.26 Copyright (C) 2008 Compojoom.com / Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved."