(Archived Post – Originally posted on 18th of April 2013 at 09:49:00 AM)
From the time Syn Virtual Assistant has been released to the public many compare it with is a fictional Jarvis character from the movie Iron Man.
Syn Engine was designed to power something like that especially an AI Agent or as some call Personal Virtual Assistant. The power of it was realized when it was connected with a system that had a virtual assistant character ready to take voice or textual commands.
But Syn Virtual Assistant and SynEngine changed everything.
Later on as time passed the interface became more smooth and flexible that it could handle many different plugins at the same time. Making something like Jarvis became a left hand job. The Entire system runs all it commands on different threads ( Multi-Threading ) and has seemingly been functioning well under such complex Thread unity.
Despite of all the So called Jarvis Systems that exist right now. Many are so so childish in nature and are like fancy toys of kids that don’t do much except live in their own hype that is the result of movie and media. And no solid programming or research work has been done in these projects.
So what can Syn Virtual Assistant with its SynEngine do. Almost Anything. SynEngine has a lot of features and to mention a few of them
- Nearly any .Net Framework can be connected to it. It has already been connected with not 1 but more than 4 speech recognition engines/services.Which allows the user to talk to their PC like they do with any normal person.
- Many online services including Facebook , twitter , Google maps , Google Talk, Skype and a lot more work just fine without a glitch with SynEngine. Though many similar projects have failed because of their egoistic approach on the contrary SynEngine beats the rest by being a humble project with such a powerful integration system that all existing libraries can be integrated seamlessly without any effort from the developers side.
- Plugin interface gives it the best in its class feature of extending the Virtual Assistant to any limit. And thereby bringing the proven Modular form of programming into the AI System.
- Nearly every function that is executed is logged and its details are available to the user/developer.
- Fault Tolerant design allows the system to keep working even if one or more of its plugins have failed or have generated critical error.
- The memory usage is very low despite of all the services that might take place in the background. Service generated errors are logged with full error description for developers
- Developers can easily make Parsers of any kind and even extend existing Parsers. Many Parsers are already provided so that commands that may involve complex parameters can be easily isolated and executed. Developers can also group functions inside what is called a SynGear and add or remove functions or even set lifetime for functions.
- SynEngine is a Multi-Threaded engine which allows multiple number of users to access it and generate responses for their queries/commands. SynEngine also provides a number of inbuilt functionalities to handle commands that were meant for single threaded applications.
- The entire plugin is scanned and loaded when SynEngine starts and automated pattern search as well as automated pattern assignments are done. Plugins can talk to each other using SynEngine and even call and take return values from other Plugins just by using their names in the proper format.
- All settings related to plugins are loaded in memory and modified in memory so that it immediately takes effect on existing plugins. There is a centralized storage system for all settings of a plugin.
- All .Net programming languages like C#.Net , VB.Net ,C++.Net or even IronPython can be used for making plugins. The Virtual Assistant runs on libraries that are made in all or many of the above mentioned programming languages.
- Runtime modifications of functions and parameters and the capability of enabling or disabling context items. This gives developers total control of what information flows within the Natural Language Processing system and how it should treated when its ready for final evaluation.
- A large set of Custom Events allows developers to detect where the context items are following and while they do so the developers can edit the information or even remove them before they reach for final execution.This gives a very extensive filtration system for security purpose
- Fastest code generation, evaluation and execution without the creation of any intermediary files
- SynEngine comes with many inbuilt SynData ( which are the parametric values for functions ) which can be easily serialized or deserialized for transfer of information. SynEngine also allows creation of custom SynData that can easily interact with the System.
The main idea have always been the creation of a humble unifying system that will help glue all existing libraries in the field of computer science and artificial intelligence and likewise help AI Developers world wide to concentrate on things that really matter.
Prototype 7.0 version of Virtual Assistant Madonna which is powered by SynEngine is available to the world at Synthetic Intelligence Network
Please note that Protototype 8.0 will be released this month.
The Syn Forum provides enough help/tutorials/discussions for beginners to start right away.