AI Zone Admin Forum Add your forum
Hi ... can you help me please to start a project?
 
 

Hi,

my name is Marco. I want start to program my chatbot (in my language). I can programm in Java, C++, php, actionscript.

I have some questions (maybe stupid but I read a lot and I’m still not able focus on a project. Actually i need a general vision of the argument)...

1)What is the goal of a chatbot, and what aspect of human intelligence must a chatbot have?
a) To seem human when you speak with him (Is that really cool? Some human are boring, unpleasant, lier, etc.) (What kind of human do you want to copy?)
b) To learn new things (with observation, and coping human behavior, for example in chess)
c) To learn new things only reading a manual (maybe for example is possible to teach a computer to cook and to teach him new recipes only speaking to him)
d) I hope that there are other challenging project in AI (also small ones) or unsolved problems from where i can start. (Anyway I do not like to much to work with graphic and images. So i do not want to make a software in what the computer understand if in a picture there is a male or a female ecc.)

2) What are the most advanced chatbot?
a) Alice?
b) Other, that do different things.

3) Is there a Fantasy chatbot from Movies, tv-series or books that you find an inspiring example?

Sorry if I do not speak english very good and sorry for so many questions but from one side I think I already have some good ideas and I can make a good work and from the other I see that there is a lot of work to do and I can’t focus on a single interesting project (or few projects).

Thank you for your help…

 

 
  [ # 1 ]

Welcome to the forum Marco. You pose a good set of questions to get started with and you are obviously putting some thought into this. If you wish to get some good results fairly quickly I would recommend Bruce Wilcox’ “ChatScript” which is well supported in this forum under this heading.

http://www.chatbots.org/ai_zone/viewforum/44/

Though it is the most advanced dedicated chatbot technology which is freely available at the moment, and chatbots built with it have achieved the best score in the last two Loebner Prize contests, ChatScript is less mature and refined than some other platforms based on AIML which you may also wish to consider.

As there are many more resources available for AIML I’m reluctant to direct you to any particular one and will leave that to the AIML experts who are bound to chime in shortly.

 

 
  [ # 2 ]

Hi Andrew Smith,

thank you for your answer and for the link.

I’m now reading and learning a lot in this forum, and I’m a little closer to give a goal to my project.

Anyway I would be gald if I receive other suggestions.

 

 
  [ # 3 ]
Marco Marazzo - Jan 17, 2012:

1)What is the goal of a chatbot, and what aspect of human intelligence must a chatbot have?

- to understand both the structure and semantics of each user input
- to understand how each statement, during a conversation relates to each other
- to understand the overall goal, information that the user is seeking
- to learn new information, both words and procedures
- determine if sufficient information is entered in order to answer the users questions, and if not, develop and present a clarifying question.
- determine, if an exact match doesn’t exist, pick the closest fact the bot knows that can answer the users question (and indicate the differences between specifics in the question and in the closest fact)
- if the bot cannot find the closest match as a direct fact, attempt any number of levels of indirection of inference, and produce a response.  Example, if user enters fact F, user asks question Q, then perhaps F can be used directly to reply to Q (but perhaps with some conditions stated, example: F=“I have a red car”, Q=“Do I have a car?” A=“If you mean red car, then Yes”.  However, if I ask “How old is bob?”, and it does *NOT* have the direct fact about his age, but knows that it can determine someones age if they know there date of birth & doing the math, then it should respond with a question, “Well, what is Bob’s date of birth?”.  The bot should also deal with any level of indirection, for example, it should not demand that the response to that question is formatted like “YYYY-MM-DD”, but perhaps I respond with “I don’t know, email Charlie, he knows”.  The bot would then go to whatever level of indirection to obtain the intermediate information, then do some logic, then respond.

yes, a very, VERY , V E R Y Tall order !!!

Marco Marazzo - Jan 17, 2012:

a) To seem human when you speak with him (Is that really cool? Some human are boring, unpleasant, lier, etc.) (What kind of human do you want to copy?)
.

NONE , who cares about imitating humans… achieving the functionality is the bottom line.

Marco Marazzo - Jan 17, 2012:

b) To learn new things (with observation, and coping human behavior, for example in chess)

yes, ultimately a bot should learn concepts via language.

Marco Marazzo - Jan 17, 2012:

c) To learn new things only reading a manual (maybe for example is possible to teach a computer to cook and to teach him new recipes only speaking to him)

Same thing.  Whether the language is spoken or written, it will contain the same content.  It is deducing the meaning of that content that is the main job.

Marco Marazzo - Jan 17, 2012:

d) I hope that there are other challenging project in AI (also small ones) or unsolved problems from where i can start. (Anyway I do not like to much to work with graphic and images. So i do not want to make a software in what the computer understand if in a picture there is a male or a female ecc.)

Visual & audio processing is very cool, but personally I believe AGI REALLY needs language understanding first.

Marco Marazzo - Jan 17, 2012:

2) What are the most advanced chatbot?
a) Alice? 
b) Other, that do different things.

I have my doubts that true language understanding can come from templated forms.

Marco Marazzo - Jan 17, 2012:

3) Is there a Fantasy chatbot from Movies, tv-series or books that you find an inspiring example?


Yes, I LOVE I-Robot !  Also, “War Games” . .but not the newer one, it is garbage!  1983 one.  And of course, “HAL”,  “2001 Space Oddessey”

Marco Marazzo - Jan 17, 2012:

Sorry if I do not speak english very good and sorry for so many questions but from one side I think I already have some good ideas and I can make a good work and from the other I see that there is a lot of work to do and I can’t focus on a single interesting project (or few projects).

Thank you for your help…

Hay…  that is how this site stays fun.. by asking a lot of questions.
As for English, no problem,  it is not your primary language.  However, if you are to create a chatbot in English, I highly suggest studying the language formerly.  If you are not sure what things like prepositional phrases,  infinitives, gerunds , verb conjugation, etc, mean, then I really suggest learning about that first.  You will be able to test your chatbot MUCH more effectively because you will be able to develop a full range of Test Cases for it, categorized by grammatical constructs - you can be more certain that your chatbot is ready for prime time smile

 

 

 
  [ # 4 ]

Thank you Victor Shulist,

that is an answer that i hoped to receive, because you give me a lot of informations and possible start points.
I saved your answer in a text file so i can read it again when I will start to plan my project (I hope next week).

1) Anyway now I have a question, you said: “I have my doubts that true language understanding can come from templated forms.” ...
... so what do you think that is the right way? (I’m still thinking about, but I think that a single method can’t work alone. I think to a Mix of methods).

2) When you want that your computer learn something new, what method you use? I think that an human being when learn something new ... the first thing he do is to to find relations with something old he already know. Anyway i must plan a structure for the information, before to insert information in the programm.

 

 
  [ # 5 ]

Hi again Marco. I’m very glad to hear that you want to work on something more ambitious than just a scripted chatbot. That may be a good way to get something working quickly, but no matter how many scripts you write for such a thing it will very quickly become boring and lose its appeal.

There are a few of us who have set our sights much higher than that, however taking this course of action will demand years of effort before you have much to show for it.

While you are considering that, I urge you to take a look at the work of James Allen’s research group at Rochester University. They have published a great deal of research and demonstrated the most advanced and tangible results of anyone in this field so far.

http://www.cs.rochester.edu/~james

 

 
  [ # 6 ]

Hi Andrew Smith, first thank you again ... I followed the link and I found some videos ... very useful ... later I will read also the written documents.

About the subject:... that could become boring ... maybe you are right, and that could happen to me too (i hope not)... but i have some passions like read book about psichology etc. ... and i have big interest in human beings ... and AI software is an argument very close to this… so i hope to never get bored.

Then I clicked on your profile and I watched your website (I bookmarked it) ... you build programs about natural language processing and understanding, right?
Is that possible to see your program or know what your program can do?  Do you have a personal opinon on the way that the information must be keeped stored in the database? For example - categories (how many categories) - relationship?

About my experience in programming I just did this video game once in Flash-Actionscrip (graphics was for me very boring ... but I always dreamed to programm a soccer video game and at the first occasion i did it…):
http://www.berlicche.com/category/s-p-soccer/
... and I did also some small programms under linux (with java) ... anyway i hope to be good enough to start a programm about AI.

 

 
  [ # 7 ]
Marco Marazzo - Jan 17, 2012:

About the subject:... that could become boring ... maybe you are right, and that could happen to me too (i hope not)... but i have some passions like read book about psichology etc. ... and i have big interest in human beings ... and AI software is an argument very close to this… so i hope to never get bored.

I didn’t mean that it might get boring to write chatbots that way… some of those chatbots have had a decade of effort devoted to them… only that such chatbots can get boring to talk to fairly quickly if they are unable to demonstrate any genuine understanding.

Then I clicked on your profile and I watched your website (I bookmarked it) ... you build programs about natural language processing and understanding, right? Is that possible to see your program or know what your program can do?  Do you have a personal opinon on the way that the information must be keeped stored in the database? For example - categories (how many categories) - relationship?

I’ve written in some detail about what I’ve actually accomplished in other posts on this website. I avoid talking about things that I think I might be able to accomplish, but haven’t, because there is way too much vaporware in the world already.

Parsing English verb forms: http://www.chatbots.org/ai_zone/viewthread/725/

YAGO2 knowledge base: http://www.chatbots.org/ai_zone/viewthread/653/

The second of these topics is relevant to your questions about how to store information in a database or knowledge base. The current trend is to use “triple stores” because of their flexibility, however they are much less efficient than relational databases.

Interestingly, there was a new version of YAGO2 released one week ago and according to the release notes it has corrected the problems that myself and others encountered in our analyses. I’ve downloaded the new version but haven’t run it through my software yet.

http://www.mpi-inf.mpg.de/yago-naga/yago/

If you are particularly interested in this aspect of AI you should also take a look at opencog.org which is a very ambitious open source project based in Hong Kong. It is not clear how much of their software is actually usable yet. Also, they recommend that you have at least 80 gigabytes of RAM in order to run it so it sounds like the hardware requirements are comparable to those of IBM’s Watson system.

 

 

 
  [ # 8 ]
Marco Marazzo - Jan 17, 2012:

1) Anyway now I have a question, you said: “I have my doubts that true language understanding can come from templated forms.” ...
... so what do you think that is the right way? (I’m still thinking about, but I think that a single method can’t work alone. I think to a Mix of methods).


Well, many on here disagree with me about employing a fully grammatical approach, but others agree completely smile  I agree with you - probably many algorithms will be involved.  I have 5 levels of processing in my own design approach right now and about 5 variables currrently in my confidence formula (the formula used, after the system has determined many possible responses and evaluations, which one to choose).  I believe there is no more effective way to encode knowledge than via natural language.  More “simplified” methods always fail because too much resolution is lost.

Marco Marazzo - Jan 17, 2012:

2) When you want that your computer learn something new, what method you use? I think that an human being when learn something new ... the first thing he do is to to find relations with something old he already know. Anyway i must plan a structure for the information, before to insert information in the programm.

 

Yes, absolutely.  That is why I am starting off with a base grammar, and build from that.  I highly agree with you—you can only learn something new from what you already know, and build relationships from there.


Andrew’s point about taking years for results is absolutely correct.  This is an incredibly demanding pursuit. 

For opencog, you can get a good presentation of it from the AGI 2011 videos at

http://agi-conf.org/2011/conference-schedule/#vp

 

 

 
  [ # 9 ]

Here’s some info on how you can express abstract and concrete information.

 

 
  [ # 10 ]

Hi Victor Shulist, I answer only now because I needed all today to watch the video you showed me (just the first one…) I hope my programm will understand language better as how I understand english.

Anyway in the video I found a lot of information and some inspiration for new ideas too.

I think that now i have more clear ideas on how to store information in the memory (but I hope to find still other examples). I hope also to find someone that explain me the theory that solved simple problem about language understanding from the computer.

Maybe someone can answer this question:

1) For example if I say dog ... how many information must have the computer about the dog?
a) Every possible information, and a picture too
b) Information like category(animal, mammal,), dimension, weight, number of species, dictionary definition ecc.
c) Just the dictionary definition

I think I have the answer ... anyway I hope to know other opinions and experiences

 
Then i have another question:

2) Do you have a strategy to free memory from old information that are no more useful?

Another question:

3) Do you have a strategy for word with two meaning? For example Orange is a color a fruit and a tree, right?


Hi Jan Bogaerts, the link you posted do not work anymore. I’m very courious about the subject ... do you think that I can find the document elsewhere? I tried with google but I do not found something specific enough about the subject.

Thank you

 

 
  [ # 11 ]

Marco, that link works fine for me. Perhaps there’s just a network problem between your ISP and Jan’s website. I would suggest trying it again at a later time.

 

 
  [ # 12 ]

Hi Jan Bogaerts, the link you posted do not work anymore. I’m very courious about the subject ... do you think that I can find the document elsewhere? I tried with google but I do not found something specific enough about the subject.

yes, the link should work. Perhaps the site was temporarily down when you tried. Should work now.

 

 
  [ # 13 ]

Right now the link work.

 

 
  [ # 14 ]
Marco Marazzo - Jan 18, 2012:

1) For example if I say dog ... how many information must have the computer about the dog?

I think this is application specific.  If you are building a general purpose chatbot that is just for fun, casual conversation, I’d say having it know that ‘dog’ is:

1) a noun
2) a physical thing
2) a life form
3) generally considered a pet

Depending on the application, any of those levels of understanding perhaps is good enough.

if your bot was to be used to train people like veterinarian, perhaps it would have to know of all the breeds of dogs.  If your application is an online Q&A for cell phone plans, I doubt you’d have to have your bot know anything about dogs !

I want to reply to the other questions, but don’t have time right now, i’ll try later.  You ask a lot of great questions, and I’m sure many others on here have some very good advice also.

 

 
  [ # 15 ]

Hi Victor Shulist, thank you for the answer. In this moment the help of persons more expert of me, like you, is very important for me.

I hope that you find the time to answer the other questions too (becasue i see that not all the ideas I have at the moment are correct enough) Anyway I have time cause my project is not ready to start…
Plus i have another question ...

4) What is the exactly moment in what a human being can say “I understand this word!” ?
a) There is an exactly moment in what a human being can say that ... (some of you know this exactly moment?)
b) The understanding of concept is an illusion for human being. There exist only a net of word/concept/sensations in correlation. And to understand a single word/concept/sensation is an illusion. You think to understand but when you try to explain something you simple can’t. If you want explain water you can’t, you can only describe a vague definition of it, plus associate this definition to other object. But you have a vague definition of this object too. (please do not answer b)
c) After you see,touch,smell,eat something; You can’t understand something you do not tocuh.
(Maybe this is a psychology concept -the other passion I have- but i think that if I’m able to copy the human mind in some part, I can have success in my project).

I focused my first goal.  I want that the computer understand a text written in plain language. Anyway before to start i need a good answer to the question number (4).

Thank you for the help

 

 1 2 3 > 
1 of 3
 
  login or register to react