Design Overview

EM consists mainly of 3 parts:

 

Do not confuse the website for the server, as they are two different entities. The website contains all the online material. This includes the online mysql database and the brain collection, while the server only contains the server software required once or twice a day. This is it to avoid lack of computer power.

 

The Client

The client(also reffered to as the user) is the person who uses EM to chat. Anyone can do this easily and freely by downloading our software in the download section. After downloading the software for the first time, each user must create an account. Afterwards users can login and chat to EM using their own account. When they chat with EM, they are actually utilizing two data files and a dll file containing the brain. One of the data files, named spoken.dat in the EM folder, contains all the sentences EM has ever been told. This file is used mainly for grammatical purposes. The other data file, named brain.dat in the EM folder, contains all the words ever spoken in a multidimensional system. A multidimensional system is similar to a coordinate systems, simply with more axes. Determined by the brain design, the multidimensional system may have anywhere between 3 and 3000 axes, but remember that they are all just data. This file works in combination with the dll brain file, named brain.dll in the EM folder. The brain.dll file receives as input the users sentence and uses this sentence to perfrom 2 tasks:

(Please notice that the 3 axes on the multidimensional system is merely for simplicity. Mathematically, EM will approximately use between 50 and several thousand axes. Read more about the feedback loop later in this article.)

 

For each sentence a user writes to the EM Chatbot, it will automatically send a copy to the online MySQL Database on the website. This is how EM grows. The more data people write, the more intelligent the different chatbots become. Then every other day, a user can download a new brain dll file from the website, either manually or automatically.

 

The Website

The website consits of several components. The most eye-catching is perhaps this very website, providing information and statistics for EM, but beneath this website there is also a MySQL Database. It is this MySQL Database which contains all the data users have written to EM. It is through this data that the new EM brains grow.

 

The Website also keeps track of users and all the languages and dialects created in the database.

 

The Server

The server is simply a computer running the EM Server Software. This software takes all the data from the large MySQL database and creates new brains and data files for each language. It does this using several genetic techniques, although there is a main framework for each brain. As you can probably guess, a new dll for each brain means that each brain can be constructed from the bottom. This is also what seperates EM from other chatbots. Most chatbots are very fixed in their development - either unable to learn at all or only able to learn in specific patterns. Each EM brain is built up from the bottom and updated throughly each time. You can say that there is a mother software program which creates all the brain files. This software program uses everything from neural networks to genetic algorithms and genetic design to build new brain files, even brain files containing their very own neural networks or genetic algorithms.

 

The very design of the system is based on the fact, that there will be several brains for each language/dialect pair. Each brain may then develop individually based on the feedback loop, and thereby improve itself. But brains may also develop together, by randomly or linearly crossing each others strengths.

 

The Feedback Loop

The feedback loop is the loop EM evolves through. It comes from the fact that the more communicative(intelligent, smart, wise etc...) the chatbot is, the more likely the user will be at responding and keeping the topic on track. Similiarly, if the user constantly changes subjects it means that the chatbot is being ignorant, redicilous or simply stupid. Technically speaking, this means that you can calculate how well the chatbot performs, by comparing its words and sentences to the words and sentences from the user. The degree of similarity is an expression of its ability to communicate(the ability to communicate here actually equals intelligence). One may argue that the ability to communicate effectively and keep a conversation topic is not necassarily equal to intelligence and even less equal to creativity. The counter-arguement to this will then be, that the brain file itself will largely consist of AI Algorithms, giving the brain the ability to solve hardcore mathematical problems, make decisions or even extend its current knowglede.