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..

Describing context of a conversation
 
 

Hi,
Had guests over tonight and we sat around the dinner table talking about a variety of topics. The context slowly morphed throughout the evening. In some cases the context returns to an earlier point.  Got me thinking….

In some instances the mere topic/subject of the dialog is sufficient to describe context. In other instances time, topic, and emotion may be equally important.  Here’s my list of potential factors to consider in describing context.

* topic/subject of conversation (keywords)
* time (past, present, future)
* location (related to conversation….not location of speakers necessarily)
* emotion - anger, happiness, frustration, etc.
* who conversation is about
* type: Q&A, didactic, social small talk, debate, etc.
* ??

If the above info is captured (like a single frame) and then periodically sampled and saved…it represents a context chain. This may one form of memory mapping to store a conversation.

Another thought is to describe the context of the conversation from a “3rd person position”. Each example below may represent a context frame…or even a context chain.

* Bob and Bill were discussing the game last night. Bill was excited because he won $100.
* Sara and Tom were discussing the merits of coffee. Sara thinks Starbucks really rocks. Tom prefers Folgers.
* Chuck and Grace were discussing their trip to Scotland.  The ferry crossing was cold and rainy from Glasgow. Fish and chips were excellent in Dunoon. They want to return in 2012 with their children.
* Sam lost his job. Looking to take a few classes at the local college. He wants to move out of retail and into real estate.

How do you intend on handling this issue of ‘describing’ context?  Any thoughts?

Regards,
Chuck

 

 
  [ # 1 ]

If the above info is captured (like a single frame) and then periodically sampled and saved…it represents a context chain. This may one form of memory mapping to store a conversation.

This is almost exactly how I store my context. For each conversation, I keep a log where each record ‘can’ point to the info you described (at least 1 required, not all needed). The period of saving that I use is very simple: every statement made by every person in order of time.
Here’s the exact list of what I save:
-who, what, value, where, when, action, time-stamp.

 

 
  [ # 2 ]

conversation topics are like networks.

Bob and Bill were discussing the game last night. Bill was excited because he won $100.

Was it about how he did win? Was he excited for the first time in his life? Was it the first time he won from Bob? Is there actually a kind of competition between Bill and Bob? Is that were the excited actually was about?

Of is Bill very poor. Is this his opportunity to eat the couple of weeks?

What is the reason why is excited? So what’s actually the topic?

I believe conversations on one topic do not exists, but - like human brain -, conversation networks (i.e. multiple topics) are activated in a fuzzy way: some conversations are more activated than others.

So in this case,
the game 100 point
playing this game against Bill 80
playing a game against Bill 40
playing a game against a friend 40
winning money 70
winning 20
etc.

 

 
  [ # 3 ]

I initially posted one reply to this but then deleted, I thought of a better analysis.

Chuck and Erwin—- these are extremely relevant ideas in any serious chat bot engine design.

In my project, these things will have a central role.  I refer to this as conversation state in my bot’s design. 

A fundamental concept is the bot having to know its current objective.

Example, like you say, if it is currently in a debate where it is arguing with someone, then it knows it has to keep finding evidence to support its position… or perhaps the current conversation state is that both sides are simply agreeing on something…  and both bot and human are simply exchanging statements that support their mutual belief.

Now, casual conversation is one thing, but the bot also needs to know, is it currently trying to find some information or deduce something for you?  Perhaps it is a bot in a production system for say technical support for a cell phone company,  in that case it must be a very focused system, and if user says “I need information about my current cell phone plan” .. .. . .and it says “Oh yeah… we all need some information from time to time”  !! LOL ..  FAIL !!

It seems to be, at the very highest level… there are 3 situations a bot could be in:

a) casual conversation (talking to your own bot just for fun,  or letting others talk to it, just for fun)

b) production system—where at every point, the bot really needs to know it’s current goal, of finding whatever information.  Think of the ultimate “google on steriods… google with true natural language.!!”

c) a turing test, example loebner prize - this is where you’re bot will be “attacked” by questions like what color is a red apple, and all kinds of very complex ‘dirty tricks’ smile

@Erwin—I have had all these same thoughts.  The one you mention about if the person that won the money, if they are completely broke and haven eaten in days. . .. VERY good. ... yes,  we need a bot that, although it has several possible responses, it somehow knows to pick the most relevant response… this will help in the production system where it knows the highest priority is to answer your question, and not just wonder off topic.

But in a ‘just for fun’ conversation, we almost don’t want the bot to be always ‘drilling down’ .. we almost want a bot that wonders off topic.. just like Chuck’s Saturday evening conversations with family and friends.. that is more natural.

 

 
  [ # 4 ]

I’d have to agree with Erwin that the ‘topic’ of a conversation is kind of difficult to store and extract out of a conversation without proper context. I’d simply store at the level of the statement: so tag each statement that was received/sent to build a context.

@Victor: Yes, the objective of a bot is kind of important. You don’t want to have a system who’s main purpose is to keep you talking on an information booth system for instance. It should simply return the requested info.

 

 
  login or register to react