AI Zone Admin Forum Add your forum

NEWS: Chatbots.org survey on 3000 US and UK consumers shows it is time for chatbot integration in customer service!read more..

Books on AI
 
 

I realize this question is not about Chatscript so if I’m breaking some rule, I apologize. However, I note there are almost 400 books on AI listed on this site and am wondering if there are any recommendations by this board on any that might help me better understand the theory behind creating a realistic chatbot. Not the practical scripting side but more to do with the narrative—- the handling of the conversation itself.

 

 
  [ # 1 ]

I went ahead and moved this thread to a more suitable forum, Anoop. I hope you don’t mind.

While I have no specific recommendations for you, I think it might prove useful to point out that one of the primary roles of a chatbot is to elicit conversation in an engaging way, so you may wish to consider books on creative writing, as well. Some of the best conversations I’ve ever engaged in had many of the same qualities that you would find in a good short story, and even a little bit of research into creative writing can help you to identify these qualities, and implement them through your chatbot’s responses. smile

 

 
  [ # 2 ]
Anoop Alex - Oct 17, 2014:

...creating a realistic chatbot…

“realistic chatbot”- Is that not an oxymoron?  A chatbot by definition is artificial. Are you trying to create a more realistic artificial agent, or a human like robot?

 

 
  [ # 3 ]

In order for a chatbot to be “realistic” I believe that chatbots need to incorporate more from the following topics. 
These articles on wikipedia have additional links and suggested readings.


Illocutionary Acts
http://en.wikipedia.org/wiki/Illocutionary_act
Temporal Reasoning
http://en.wikipedia.org/wiki/Spatial–temporal_reasoning
Processes / Process Ontology
http://en.wikipedia.org/wiki/Process_ontology
Common Sense Knowledge
http://en.wikipedia.org/wiki/Open_Mind_Common_Sense
Reasoning
http://en.wikipedia.org/wiki/Semantic_reasoner
Learning
http://en.wikipedia.org/wiki/Machine_learning
Emotions / Emotional modeling
http://en.wikipedia.org/wiki/PAD_emotional_state_model
Creativity
http://en.wikipedia.org/wiki/PAD_emotional_state_model
Fantasy / Make Believe / Pretending
????

I think that realistic chatbots need to have access to a large knowledge base of stored common sense facts that can provide the hidden and implied context in conversations.  They need to be able to reason about time, events, and processes.  They need to reflect emotions as well as caring, concern, curiosity and humor. 

Above all realistic chatbots should be creative and be able to produce original works…say like write their own “realistic” chatbot…wait a sec. smile

 

 
  [ # 4 ]

I am interested to see if I can create one that can generate what appears to be realistic conversation. I plan to model it’s personality after my own.

 

 
  [ # 5 ]

I asked something similar some time ago, but can’t recommend AI books on the subject as it isn’t so much an AI subject. Instead I’d recommend books from sociology that describe how to be a better human conversationalist. I couldn’t tell you any English titles though.
https://www.chatbots.org/ai_zone/viewthread/1496/

The fields concerning themselves with this are “conversational analysis”, which still quotes medieval theorists and tends to kick in open doors to the point of uselessness, and “discourse analysis”, which seems to be slightly more sophisticated about it. Personally I believe that natural conversation is closely tied in with social rules.

The technical implementation of this is often called a “dialog manager”, so if you see AI books about those, they still might be worth a read.

 

 
  [ # 6 ]

Don, would you consider yourself to be a “computational behaviorist?”

There are some classic AI textbooks like “Natural Language Processing” by James Allen. It deals with parsing, augmented transition networks, etc. but is not extremely relevant to the art of conversation from a human being’s sociological perspective.

Computational linguistics provides some of the nuts and bolts that would prepare you to use modern software like ChatScript, or might even help with AIML coding. However, the study of a 2nd language might also give insight to the workings of your own natural language. I think I understood English grammar more deeply by learning elementary French, for example.

 

 
  [ # 7 ]

I’d like to add, in order to address your quest for “creativity” that the study of literature, including film studies, is relevant to the anthropological nature of story telling and fiction in general. Cultural norms and the basic exchanges of oral traditions are basic to an understanding of why people talk the way they do.

Joseph Campbell’s “hero’s journey” is another place to look for the “templates” that literature follows, not only in oral traditions, but in film and theatre studies. The creative tools that software needs to make its own stories will not come from an isolated theoretical place. In order for machine creativity to be relevant to us as human beings, the machine must be able to work with the same building blocks that we do.

 

 
  [ # 8 ]

It seems to me that to really create a realistic chat bot using Chatscript you’d have to have a HUGE factset since our sense of understanding a conversation is based on what we know based on what we learned in life. Maybe if be created our bot as a child that asked questions like a child would as we talked to it and then it stored that information along with other facts we manually added it could learn to simulate a conversation.

Also, I’ve come across the concept of discourse analysis. Anyone think this would be useful and can recommend any books on it?

 

 
  [ # 9 ]

RE: “discourse analysis,” I would refer you back to Don’s comments on “conversation analysis”—see above.

However, it depends on what you mean by analysis. If you mean applying Zipf’s Law to determine the most frequently said things to your bot, or to prioritize your work, then I’d say that might be useful, and I would refer you to Dr. Richard Wallace’s “How to be a botmaster” (I think it’s in there) And you’ll find people who say that it’s useful to perform this kind of analysis in order to build your bot’s repertoire.

But if you can read, and your bot keeps a log, you can do your own qualitative analysis and see what works and what doesn’t. Even with the advanced fact keeping abilities of Chatscript, you may still find that some trial and error is involved in the evolution of your work.

 

 
  [ # 10 ]

Robby: I don’t consider myself a computational behaviourist. I prefer to deduce the deepest workings of the human mind and create similar underlying systems that should generate similar behaviour as a side-effect, but I do not seek to recreate only the behaviour. That said, for the time being I do take shortcuts since conversation is not my focus.

I think discourse analysis is different from conversation analysis: it seems to examine why texts are written in passive tense, generalise or insinuate things. Such details can lead to useful conclusions such as an emotional profile of the writer, e.g. how personal, familiar or comfortable they are with the topic. However, it goes into such an unwieldly level of detail that it’s probably overkill. It certainly is too much to read for me, or I would have.

Although extremely convenient, I do not believe that extensive knowledge automatically makes for better conversation, just as it is believed that conversation is not just an exchange of information. The Eliza chatbot for instance literally knew nothing, yet was a compelling conversationalist because she asked questions and showed interest. But I may be on a different foot: There are differences between “realistic”, “natural” and “good” conversation.

 

 
  [ # 11 ]

Perhaps I was unclear in stating I wanted a “realistic” chatbot. What I want is something that one can hold a natural conversation with. For the Loebner, judges test intelligence by asking informational questions about the world and usually break the illusion thus. They are looking for the illusion of AI, I am looking for the illusion of a conversationalist. In a normal conversation, one does not ask “which is bigger, a whale or china”.

However, I would like to create something the can remember details about current and previous conversations and continue with the flow of conversation while keeping context if necessary. Initially it will try to find out about the new user and then when the user returns it should try to elaborate on what it learned in previous conversation. For example asking about family if it learned that the user was married or had children. From there it should be able to in matching topics based on the user’s responses. A matching topic may only have a very weak link to the prior topic based on response.
E.g. family->children->school->holidays->beach->sandcastles->art->picasso->history etc.

I realize this is no simple task and will require at least as much literary creativity as programming if not more but the lack of info regarding it is disheartening.

 

 
  [ # 12 ]

I am just starting to read Intro to Conversation Analysis by James Liddicoat. Hopefully, this can be a starting point to help me with my problems. If anyone else reading this thread can recommend any books, I would be glad to hear them.

 

 
  [ # 13 ]
Don Patrick - Oct 19, 2014:

Robby: I don’t consider myself a computational behaviourist. I prefer to deduce the deepest workings of the human mind and create similar underlying systems that should generate similar behaviour as a side-effect, but I do not seek to recreate only the behaviour. That said, for the time being I do take shortcuts since conversation is not my focus.

Don, as Spock said, “A difference which makes no difference is no difference.” If you “deduce” the deepest workings of the human mind, and I imitate the performance of the human mind, and the outcome is a similar behavior, what is the difference?

Why is acting less than being?

Robby.

 

 
  [ # 14 ]

I understand that that is your philosophy. I would say we just have different goals, mine being the functional application of reasoning and problem-solving, to which end conversational skill is a part of the process, but not the final outcome. Leonard Nimoy’s scientific expertise does not go beyond his script. I don’t wish to create the script but the more flexible scientific expertise. Even if we look only at the topic of conversational skill, I believe that a handful of underlying social rules can cover more ground than an abundance of case-by-case scripting. That is not to say it is necessarily better.

As for the more general question, I don’t think I am the most appropriate representative of humanity to answer it smile

 

 
  [ # 15 ]
Don Patrick - Oct 18, 2014:

books ... how to be a better human conversationalist.  ...

natural conversation is closely tied in with social rules.

The technical implementation of this is often called a “dialog manager”

After spending some 20 years (off and on) writing grammars and statistical parsers to recognize human utterances in dialog *to* computers, and designing the appropriate pre-recorded or text-to-speech responses *from* the computer, and being a party to and 3rd party to many human-human dialogs in that time - I agree totally with Don’s points quoted above.

Most humans I have met are not experts at eliciting nor supplying satisfying general conversation but nearly every constrained dialog I have had with a human has produced the desired result of one or the other party.

There is a reason Watson has lots of dialog and reasoning managers to create effective dialog in a constrained domain, but even it falls short on the conversation end.

Every book on formal linguistics, language, and parsing has attempted to classify the underlying mechanisms at play when humans converse, and left me with ideas how to program particular techniques, but provided no hints as to how to make my wife agree with my well phrased points.

Perhaps the only way to make a realistic chatbot, is to marry the social scientist, let them read the books and tell you what to program (ala Bruce ...).

 

 

 1 2 > 
1 of 2
 
  login or register to react