Knaive Project Overview
From The Transhumanist Wiki
Project Knaive - Knowledge-Based Artificially Intelligent Virtual Entity
Knaive Bot Back Online as of 8/24/03!
Note: The above link uses port 81 as my ISP closed port 80 due to worms! Those of you behind firewalls may need port 81 opened before you can connect! After you enter first command and press the send button there will be an initial 26 to 28 second delay while the pattern base loads. Subsequent inputs are responded to much more quickly. Most responses are are comparable in response to a 30 character per second typist. Inputs with mispelled words can take longer though as substitutions must be tried.
Start Date about 6 years ago.
Current Status: In Phase 2 19,200 Patterns KB In Memory Size ~4Mb
Has now been entered in the 2003 Zabaware Chatbot Competition
Took 2nd place silver for Most Popular Bot and 3rd place Bronze for most knowledgable bot.
Sitting out the 2003 Loebner due mostly to hosting problems and my move to Pennsylvania.
Phase I - Create a bot programming language that will allow a single pattern to express all the ways of communicating a single English thought. Create a knowledge representation language (KRL) to capture and store real world knowledge in a consise and intuitive manner. Bot templates should be intelligent enough to remember/learn from user inputs. New knowledge will be stored as new bot patterns/templates and the internal KRL. Bot should be capable of recognizing user inputs regardless of spacing, abbreviation, grammar errors or simple mispellings.
Phase II - Code in this language enough patterns and knowledge to pass the limited Turing test sponsored by Hugh Loebner. Use transcripts from prior years Turing test for testing and knowledge definition. Develop a web front-end to gather additional test transcripts from web users. Develop tools for bot master to review new learned information for inaccuracy and correct concept formation. Productize and develop technical documentation. Create five year business plan and pursue financial backing.
Phase III - Extend existing Bot pattern and knowledge base to specialized domains for commercialization. Develop an Integrated Development Environment (IDE) to facilitate expansion of knowledge-base into customer specific domains. Money received from commercialization is to further the project and fund additional knowledge engineers to accelerate the project. Integrate Knaive with existing third party packages to provide speech recognition and speech generation and a graphical Avatar from within a web client. Enhance pattern/template language to handle temporal data and provide non-monotonic truth maintenenance.
Phase IV Goal - Extend Bot to learn from XML based web pages on the internet which should by now be prevalent. Give bots capability to teach other instances of Knaive bots new knowledge that the have acquired both from users and from web. Expand bot knowledge into new knowledge domains. Create wireless cell phone interface using voice recognition and speech generation (no voice menus). This step requires good speaker independent voice recogniton. Note even if a word is recognized incorrectly the correct pattern will stil be identified due to the intelligence inherant in the pattern matcher from Phase I. Hire a compiler writer to transition convert the interpreter to a just-in-time (JIT) compiler. This should increase speed of execution and improve scalability but will require the the bot recompile itself periodically to fully integrate new knowledge learned.
FAQ:
Q: Aren't you done yet?
A: No not yet!
Q: How many people are there on the project?
A: There's three of us now, me, myself and I. At the very beginning I contracted an initial prototype to be written from my design by Jacco Bikker the author of the C Version of WinAlice that Dr. Wallace used to win the Loebner prize the first year I believe. (Hi Jacco!) My son also helps me with testing. He actually asks when he comes to see me, Dad can I go talk to the AI?
Q: When are you going to go back to work and just do this part time?
A: Soon. I'm almost out of money!
Q: Why haven't you gotten a job yet?
A: When employers see AI on your resume now-a-days they just roll their eyes! And they look at all your experience and say why would you want to work here?
Q: What would companies use this for?
A: You name it, Help desk support, salesmen getting the latest data over their cell phones, taking orders by phone, phone sex (did I say that?)
Q: What language is it written in?
A: The Knaive pattern/template language interpreter was first written in VB 6.0 and then ported to VB.Net
Q: What does it run on?
A: I currently run on a 2.2 Ghz AMD processor with 512MB of memory. Response time/Scalability will initially be a problem with many users running on a single web server. But since Moore's law is doubling about every 18 months now (even faster some say) buy the time I'm ready for commercialization this shouldn't be that big a problem.
Q: When will it be done?
A: When it or one of it's AI brethern AGI's that learns everything from scratch creates the singularity. Then it will just go on enhancing itself way beyond our capability to even understand what it's thinking.
Q: Will it be Friendly?
A: Although this project or no other meets all of the the 26 definitions of Friendliness I would definately say it is quite friendly (small f) at this point. For example if you insult it and it recognizes that it has been insulted it will take offense temporarily [AI_Emotion]="insulted", if it's feeling witty it will come back with a retort but this is just to emulate a human. Or it may ask why you are insulting it. It will not stay insulted or carry a grudge if you go back to polite conversation. It attempts through conversation to find out about you as a person, what you do, your family, etc... and remember what you've told it. If you tell it you are suicidal, lonely, fat or ugly it will attempt to make you feel better about yourself and give you some advice on how to remedy or better deal with the situation. If you ask it for information it will either provide it or attempt to direct you to a resource where you can find it. If you say something racist, homophobic, or sexist. It may call you on that and draw attention to the fact that you are talking like a racist, homophobe or male chauvinst pig or if the offense is minor it will let you know that it does not participate in negative stereotypes. I believe the project will continue to fulfill more of the 26 definitions of Friendliness as it evolves. While I will not address each of the 26 definitions and describe how my project does or does not meet each definition at this time, I am considering do this as a future write up. Whether it will achieve the singularity or be exceeded in intelligence by one of the other projects remains to be seen.
Add your questions here....
Zandra doesn't want to talk to me. Is it up right now? I get a page, with input and some text. But no responses to send commands. And the only link on the page sends me to... this page. Heh.
It's good that Knaive at least conforms to an intuitive definition of friendliness, an idea in Eliezer's Friendliness Guidelines is that friendliness structure should be implemented in a staged manner, with required friendliness structure being a step or two ahead of general structure, at the point you seem to be at, a simple intuitive amount of friendliness seems sufficient. But as things progress, a more integrated approach seems neccesary for safety.
At the moment, Knaive seems to be a chatbot mostly, what kinds of expansions do you plan?
Also, do you have any design documents or code you'd be willing to put online, or send privately? I can sign an NDA if you'd prefer.
You mention it's in VB, but in the Phase I description you talk about language development. How did that go, and is that something you'd be willing to release or talk about?
Commercialization? before, during, after phase IV? What kind of plans do you have there? --Justin Corwin
