Zabaware Support Forums
Zabaware Forums => Programming using the Ultra Hal Brain Editor => Topic started by: Jonny Metal on December 20, 2005, 07:30:54 pm
-
As a part of my project, I have to develop a bot that can learn many facts, show emotions, have a coherent conversation and so on...Something that will impress people because of its intelligence.
OpenCyc is a huge knowledge base that can help your bot do inferences and not just look for a certain pattern. This gives the bot a lot of strength because he/she can deduce so many facts that are normal and obvious to us but not to it.
Anyway, I was wondering if there is a way of integrating it with Ultra Hal so that it will expand its knowledge and react more like a human would.
HELP WILL BE APPRECIATED!!!
For more info check their website at:
http://www.opencyc.org/
-
Welcome Jonny!
By the word Develop, do you have to write a bot program or are you looking to enhance an existing bot by interfacing OpenCyc?
Check out the Hal main page if you haven't already.
Hal can learn facts, make inferences, look for and respond to patterns, show emotions, tell jokes, respond to insults, tell date and time, remember appointments, email addresses, search the internet for practically any topic and draw from a huge knowledge database (over 33 megs), accepts 3rd party plug-in enhancements and much more. Hal's personality begins to emerge over time spent chatting with it.
People are writing plug-in enhancements that will attempt to allow Hal to become even more interactive with regard to moods, behavior, emotions, events and even self correction.
Personally, that's a wheel that would be quite difficult to reinvent.
As for integrating Hal with Cyc, I'd have to see what Cyc is capable of first. IMHO, I think Hal has the vast majority of bot programs years behind.
Regards...
-
Hi Jonny!
Hal has a versatile scripting system with which you can make all sorts of changes and modifications (hopefully improvements [;)]) to his intelligence.
However I'm not sure of the process (if one exists) for linking to an outside engine or system. The scripting is in VB Script, so hopefully an expert in VB (or yourself if you know the language well) can answer that part of your question [:)]
Art: My database is only around 20 Mb (I haven't really taught Hal 6 anything since installing it - too busy playing with his code!). Have you really taught Hal 13 Mb worth of information?! [:0]
-
Grant,
Sorry, I was referring to the size of the Wordnet files from which Hal knows words, adjectives, nouns from not the halbrain.db file (mine is almost 22 megs). I should have said huge wordbase not knowledge database.
Thanks for pointing that out.
Sorry for any confusion Jonny Metal.
-
Crikey, I'd forgotten about WordNet.
So a fresh install of Hal has around 50Mb of data to reference - WordNet plus database. *whistles*
-
Thank you guys!!!
I am new to this community, but I am looking forward to learn from others who are more experienced.
Our project doesn't have its goals well established...But I think that what we want to accomplish is to take Hal and make it a lot more intelligent by modifying the script, adding info to the databases and so on...That's the "easy part". Other than that, the bot needs to be capable of having a fluid conversation with any person using a speech recognition engine. I do remember one goal now: to send emotion parameters not only to the character but also to any external source that we might want to use. We have to teach Hal, develop him/her to be a very versatile character that can talk to people like if he/her was a human. This is gonna be put within a smart room at our university so that people can come into the room and have a talk to Hal. I am new to all this stuff so I am finding it pretty hard to get started. Only 5 months left to complete the whole thing.
Also, it would be nice to teach Hal to speak Spanish since we're from Puerto Rico.
About the Cyc issue, we just want to add anything that can help expand Hal and make him/her make good inferences even when we don't have a pattern for a certain topic. For example, we might ask something like:
Is a dog a mammal? With Cyc, when u enter the word dog, you can specify that is a living creature, an animal, a mammal and so on. I don't know if Hal has that kind of power.
Anyway, any help will be appreciated because we need to get started as soon as possible.
-
Sounds like a fun project [:)]
quote:
Also, it would be nice to teach Hal to speak Spanish since we're from Puerto Rico.
Unforunately NLP (Natural Language Processing) is very dependent on the language to function. A system written for English would need to be completely rewritten for another language, not just because of the vocabularly, but also the grammar, pronoun reversal (changing "I am bored of chess" to "you are bored of chess"), and all sorts of other issues (I'm no expert myself [:)]).
quote:
About the Cyc issue, we just want to add anything that can help expand Hal and make him/her make good inferences even when we don't have a pattern for a certain topic. For example, we might ask something like:
Is a dog a mammal? With Cyc, when u enter the word dog, you can specify that is a living creature, an animal, a mammal and so on. I don't know if Hal has that kind of power.
Hal has some ability to make logical inferences, if deliberately taught that way, but not categorisation like that. However he does have a dictionary, and can define words. Here's an example (I call my Hal "KAOS"):
Grant: Is a dog a mammal?
KAOS: I like obedient canines.
Grant: What is a dog?
KAOS: It May turn out to be self evident. Dog: a member of the genus Canis (probably descended from the common wolf) that has been domesticated by man since prehistoric times; occurs in many breeds. Domestic dog, Canis familiaris. 'the dog barked all night'.
-
Thanks GrantNZ!!!
quote:
Grant: Is a dog a mammal?
KAOS: I like obedient canines.
Grant: What is a dog?
KAOS: It May turn out to be self evident. Dog: a member of the genus Canis (probably descended from the common wolf) that has been domesticated by man since prehistoric times; occurs in many breeds. Domestic dog, Canis familiaris. 'the dog barked all night'.
I see that at least it answers something coherent. This is a good start. The only problem is that it's so hard to impress my professors :(
But thanks a lot. I have a question (remember I am a newbie on this):
when I go to the brain editor there are many categories with tables and all that. Now, it seems like there are different types of tables because the left little icon changes from one to the other at some point. I don't know if you understand me.
By the way, I was reading about your KAOS project with the feelings, emotions stuff. Looks very interesting and I think that we need something like that for our project. That part is a requirement for us, so I hope you succeed with it. Hopefully, we can receive help from people like you. Once again, thank you and merry christmas!!!
Jonny
-
Any time!
quote:
The only problem is that it's so hard to impress my professors :(
I know what that's like!! Perhaps you could teach Hal some information about your professors. If Hal can show them that he knows about them, they may be more impressed - and people always react more strongly to a personal subject.
quote:
when I go to the brain editor there are many categories with tables and all that. Now, it seems like there are different types of tables because the left little icon changes from one to the other at some point.
If you right-click on one of the table names, then click on "Insert Table", a window will appear which shows you what each icon means.
AFAIK, the tables are used in this way (I hope someone corrects me if I'm wrong):
- Brain: Used to search for a relevant response by comparing a sentence with sentences in the table.
- Sentence: Just a list of words/sentences/phrases, often used as random responses. For example, the "userRepeat" sentence table contains random responses used when the user repeats himself.
- Topic Search: Used in a few different ways. At their most basic, allows you to search for a term, and retrieve a response term. For example, the "names" topic search table contains a heap of names, and returns "M" or "F" depending on whether the name is male or female.
- Substitution: Used in the script to replace words or phrases with other words or phrases.
- Pattern Match: Used for searching a sentence for a pattern, using wildcards, and can be set up to return the result of one of those wildcards.
quote:
By the way, I was reading about your KAOS project with the feelings, emotions stuff. Looks very interesting and I think that we need something like that for our project. That part is a requirement for us, so I hope you succeed with it. Hopefully, we can receive help from people like you. Once again, thank you and merry christmas!!!
You're certainly free to use it in your project, so long as you don't pretend it's your own work [;)]
Good luck with it all, and keep us up-to-date with how it's going! [:)]
Jonny