AI
From Tuxisalive
Contents |
Intro: Giving tux personality/ and limited artificial intelligence
With addition of speech and voice recognition, there will be space for novel interaction with the machine. Tux is no specially intelligent robot; in the contrary, it's a very dumb one, more a remote/extension than a full featured robot. It can therefore, if fully and deeply interconnected with regular desktop apps, impersonate the metaphor of the "robotic majordome", as universal input/output system for basic/ponctual uses.
Adding artificial intelligence will:
- add a new communication channel with the computer
- add differentiation (if the AI is evolvable) among various tux users and uses
Chatbots
Chatbots (or, in short, "bots") are computer programs which are designed to converse as much like people as their programming allows
Online chatbots
Casual chatting
For casual chatting with a real/sophisticated bot, there are good online bots online, no need to create it; in some cases, the host offers to create it's own one (PVP: presonal virtual personalities).
- Jabberwacky is a chatterbot created by British programmer Rollo Carpenter. Its stated aim is to simulate natural human chat in an interesting, entertaining and humourous manner. It is an early attempt at creating an artificial intelligence through human interaction
- List of online chatbots we may want to connect tux's TTS to
- Stumbleupon chatbots resources
- A-I.com links
Various talking things :p
- Example: talking search engine Mrs. Dewey
- There's a huge fake conversation pointing towards lots of online talking AIs
Personal/local chatbots
- A.L.I.C.E. is the reference open-source chatbot. Our tuxes could gain "personality", based on what we do (using webhistories, irc chatlogs, etc...), act as a majordome.... This could go crazy :)
- Python bots
- Howie is a conversational AI written in python. He will someday provide definitions or synonyms for any word in the dictionary, query your address book, and even perform a few simple remote system-administration tasks. You can communicate with Howie in a number of different ways: AIM, MSN Messenger, Jabber Chat, XML-RPC, or locally on the command-line.
User feedback: I tested howie, which is'nt maintained since 2004 :( Funny talking though, should'nt be too hard to teach it shell commands Javascript doesn't work, but it can browse the web for instance (check out "what is linux?" for funny results :p)
- GrokItBot is a Python, AIML and Bayesian instant messaging bot with various features such as server monitoring. GrokItBot is *not* intended to be an ALICE bot replacement. It has been written to act as a utility rather than a chatterbot: for server monitoring tasks, reminders and to update and search this website.
User feedback: At a second look, this one's much better for us. I did'nt manage (for now) to strip out the AIM support (to replace it by plain console), but it will be added to my TODO list :p . This one seems smarter / faster learner than the other.
- AIML editing utility - WinXP :-(
Ideas
The main idea is to use a chatbot as central command frontend :
- using text to speech and voice recognition for chatbot direct interaction
- using instant messaging (jabber / IRC) for remote control
- using the "chatbot" brain for easy learning and understanding of commands
- using a different brain for chatting/personality (very limited though...)
Example:
- Master: activate waker
- StupidBot: what? I don't understand
- Master: learn: /opt/tuxdroid/software/waker.py --active
- StupidBot: ok
- StupidBot: giving command line output
For special tux operations, we can do scripts that allow "intelligence" ( $time recognition).
It's sort of creating powerful aliases: bots using bayesian algorithms can sometimes guess, so that you don't have to remember everything. Plus, these aliases can be shared among tux users, when exchanging AIML files. The bot could query unknown commands into the .bash_history file, etc...
Well, shell command is a thing, but there is also perspective to exploit webAPIs (ex: freebase's), or simply search boxes as implemented in the firefox search engines toolbar. The bot can answear to: "what is linux" by giving the first lines of the associated wikipedia article.
In short, it would be some sort of majordome / daemon.
Don't expect too much from the chatting bot functionnalities, but some good laughes :)
Other ideas:
- freebase will have an API allowing any webapp to use semantic web technology; read Freebase, la machine à "créer les synapses du cerveau global" (fr) for a sneak peek
- when two tuxes meet, they could share parts of their "brain" (AIML informations)
- personal memory assistant: whenever you start looking for information about a particular subject, you can bookmark webpages/segments of em, and feed them in the AI database under a particular tag, so that you can later ask your AI questions about details that you have forgotten, and the original url; the same applies to TODO lists history, automation, partial command line history (keeping track of the complicated uses of software so that you always have an "usage example" database, may be shared among people...), emails history... It's a on-demand history, and feeding the AI database with it will allow "intelligent" request
- TuxBrain : A new dedicated website has also been launched by two community members. The objective of this website is to develop a brain for Tux Droid. More info TuxBrain
Uli
I'll redact later (sorry), now it's more a text container.
Will allow to implement some of the forecited ideas, similar to humanized' enso product features.
http://onebigsoup.wiki.taoriver.net/moin.cgi/UniversalLineInterface http://onebigsoup.wiki.taoriver.net/moin.cgi/UliBot http://wiki.python.org/moin/ModulesAsPlugins http://wiki.python.org/moin/AutoXmlRpcServer Thanks to: http://www.speakeasy.org/~lion/
Resources
- List of AI projects
- Numenta, a novel AI project to keep an eye on

