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

The Essential Requirements
 
 

Ok… let’s get some ideas going here… we need to determine a set of common criteria

Questions to ask before you buy/use/develop a chatbot

1) full text understanding? or simple templates?

    example .. . if I say “My name is Bob, what is yours?
    when I ask.. ‘what is my name?’ does it say
    “your name is Bob, what is yours?”—fail ! simple template response!
    also.. a bot I talked with recently (Jenny AI) ,  I said
    “I went to New York”
    it said “did you enjoy it?”
    so I said,  “I went to New York, but I did not enjoy it”
    but it still said “did you enjoy it?”  LOL

2) context (conversation state) . .. does the bot consider context ?

      If I just start off saying :  “where?”
      a bot I talked to recently said “I’m sure it somewhere” —fail !! it should have      
    said “what? . .what are you talking about” .. .need to consider
    context .. .conversation state
    Another example, is, I just type in “Mars” - it should say what??
    what about Mars?  Not give me information about the planet…
    If the bot asked me, ‘What would you like to talk about?’, and I enter Mars,
    then it could give me some data on Mars perhaps, but if I say
    ‘Guess where I went !’ .. and it says, ‘Where?’ and I say ‘Mars’ THEN, it
    probably should take a higher priority to respond with something like ‘Yeah..right !’
    rather than information about Mars.

3) fuzzy matching .. .

    If I say “bob’s cell phone number is 444-5555” and I ask,
    “What is bob’s phone number”,  unless it knows his cell number
    for sure, it should say “Do you mean cell phone number? because it is
    444-5555” . .. so a good bot needs fuzzy matching

4) goals

    Example, from electronics…
    What’s the current through resistor R1 ?
    If the bot knows ohms law, current = voltage / resistance (yes, simple only for DC)
    So it has a subgoal, it asks itself, do I know the voltage across R1 and
    R1’s resistance?
    Say, for example it does NOT know the voltage across R1, and also
    does not know its resistance.  But it does know its color codes
    So it finds that there is a rule in its knowledge base to convert color codes on
    a resistor to find out how many ohms it is.  So it does that as a subgoal.
    Then, say it has no rule to determine voltage across the resistor, thus it has no
    direct fact about how many volts are across R1 nor does it find
    any rule to deduce it…. thus it ‘gives up’ and asks the user, ‘Do you know the
    voltage across R1 ?’
    Now I enter ‘50 volts’.  Here again, conversation state comes in and it must
    know what to do with that input ‘50 volts’.  From conversation state, it takes
    that, finds that it has still a pending goal, takes the 50 volts, takes the ohm value, say
    for example, 100 ohms, and replies, ‘Thanks, so there must be 0.5 amperes flowing
    through R1’

5) ‘self-written’ code

    This is a very very advanced idea.  Can we develop a bot that, based on the
    goal, writes its own logic, and executes it, in order to achieve the goal?
    I liken this to an example I read on another website where a monkey had a
    goal to reach a banana high up on a shelf.  There was a chair on the opposite side
    of the room.  The monkey formed a very basic plan… move the chair near the
    shelf, get on the chair, and reach the banana.  Well, the monkey needed to know
    what uses a chair could have… and how to arrange them.  The same basic
    concepts apply to programming, except instead of physical object like a chair, we
    have for-loops, arrays, if-then statements, etc.  I think if we figure out how to
    properly assign a kind of ‘meta data’ to these types of things, a system could reason
    by that and deduce and maintain its own code.

 

 
  [ # 1 ]

Opinion:

Sometimes you do not want a bot to have the ability
to repeat words it hears in public for any reason.

Mary: Remember that John is a terrible dancer.
Bot: OK. John is a terrible dancer.
(The next day)
John: Hi, I am John.
Bot: John, you are a terrible dancer.

There is no robot rule which states a bot must to say
what it is thinking.

Well, in any case, these are some of the areas that
I have been rethinking lately, so I am sharing.

My real life example is: http://www.droidAI.com
I do not want the ability for users to abuse the
text to speech response in the conversation.

 

 
  [ # 2 ]

8PlA - yes, that is an interesting topic.  Also, I work in IT security… and the thought had occured to me, in the future, will there be a possibility of a computer security breach due to ‘social engineering’ of a chatbot !! lol.. it is conceivable!

 

 
  [ # 3 ]

There is a brand new Resident Evil movie coming out in IMAX 3D.  Previous episodes of Resident Evil have featured The Red Queen and I am anxious to see this excellent A.I. character again.  Of course, the movies and TV series for Terminator, and quite a few other movies and TV series have dealt with that type of theme where an A.I. causes a security breach.

 

 
  [ # 4 ]

Vic,

I’m not certain it is correct to say that a bot ‘fails’ because it doesn’t understand context or isn’t goal based.  I’m guessing that the decision to purchase a bot is based upon business needs and requirements.  Stimulus-response bots (e.g.AIML) seems to satisfy many such requirements. 

However, I like your list, since its intent seems to promote the design and development of the field of artificial intelligence…as it relates to human-like chat bots

Regarding self-written code, I’m working on a scripting concept. The idea is that a task or procedure that is learned by the bot is saved as a script.  Further, as the bot ‘thinks’ it creates its very own scripts.  That really captures my interest. I need to abstract the scripting keywords and syntax without inventing another programming language. =)

8pla,
For web based bots, does the bot software save the visitor’s IP address and dialog?  Subsquent visits might piggyback previous conversations.

Nice discussion!

Regards,
Chuck

 

 
  [ # 5 ]

mmmm… yes, point well taken Chuck.. fail was too powerful of a word !  Replace

‘fail’

with :

  * note: area for improvement

yes, the intent was to really ‘push the envelop’... take chatbot technology to the limits.  My wife says I have a wild imagination, and 2 reasons I really love developing and AI, is it gives me a chance to enjoy the things I really love - logic, and creative thinking.
Your scripting idea seems fascinating, I’m looking forward to hear about your results !

 

 
  [ # 6 ]

Chuck asked, “8pla, For web based bots, does the bot software save the visitor’s IP address and dialog?  Subsquent visits might piggyback previous conversations.”

The visitor’s IP address is usually logged by the webserver, so it may be optional whether or not the bot tracks it too.  However, that may alarm visitors.  A forum is ideal because the visitors are registered members, so everyone, including robots, knows everyone.  An alternative might be for the robot to do it the way people do it without the IP address…

robot: “Would it be allright with you if I remembered you for next time?”
visitor: “Sure.  My name is Harry.”
robot:  “May I put you down as Joey99?”
visitor: “Ha, ha… Sure, that’s fine.”


However, most web-based bots do need at least a memory to follow the conversation.  If for nothing else, to put things into a context to help determine its interpretation.

 

 
  [ # 7 ]

While Morti doesn’t track a user’s IP address, my pChat script does, and for very good reason. Over the years, I’ve logged attacks from over a dozen IP addresses, all but 2 had tried to get in through my chat script. None were successful, and I notified the ISP of each attacker, as well. The types of hacking attempts I’ve received are all tantamount to vandalism, and I just don’t tolerate it. At all. Ever. Period.

 

 
  [ # 8 ]

Dave,

I was tempted to comment about chatrooms as also being ideal.
However, I decided to leave that for the experts to comment on.

 

 
  [ # 9 ]

I’m not certain that I’m an “expert” in anything web related, but I do try, and I learn fast. Well, most of the time. I’m trying to learn jQuery right now, and it’s making my hair hurt. What’s left of it. smile

 

 
  [ # 10 ]

Essential requirements of the “Dream” Chatbot I think are…

(1) ‘Stateful’ - meaning don’t just answer based on only what I just said, if possible, and applicable, consider other statements and combine and process and return response based on that.  Consider other things that were said in the conversation and possibly previous sessions, and of course, some kind of rule-based knowledge inference engine.

(2) Full Sentence Understanding - don’t just pick keywords out of the input.  Also, over-simplified templates should be avoided.  Example, a simple template that would match the regular expression “My name is (.*)” will fail if I enter “My name is Bob, and don’t you forget it”, it may think my name is “Bob, and don’t you forget it”

(3) Of all the possible responses, pick the one that is most relevant.  How?  Factor in things like what was said in this conversation.  I talked to a bot recently and I said “My wife’s name is Christine”.  then I asked, “What do you know about Christine”... it brought up a whole paragraph about the movie Christine in 1983 !  yes, that may have been ok, if I hadn’t just told it my wife’s name was Christine.  Thus, there needs to be a complex ‘scoring’ system in order to choose the most relevant response.

(4) Understand many ways of saying the same thing, many parse trees can evaluate to the same basic meaning.  Two different sentences, using completely different words, and even completely different sentence structure may mean essentially the same thing. 

These seem to be the four basic, essential requirements, thoughts anyone ? Are there more that I am missing ?

** NOTE: This is a WISH LIST… which I think would make the “dream” chatbot smile

 

 
  [ # 11 ]

That’s what i’m doing. I’m developing a chatbot in a opensim virtual world. The bot will have basic motivation to move or talk.

Victor Shulist - Jul 28, 2010:

5) ‘self-written’ code

  This is a very very advanced idea.  Can we develop a bot that, based on the
  goal, writes its own logic, and executes it, in order to achieve the goal?
  I liken this to an example I read on another website where a monkey had a
  goal to reach a banana high up on a shelf.  There was a chair on the opposite side
  of the room.  The monkey formed a very basic plan… move the chair near the
  shelf, get on the chair, and reach the banana.  Well, the monkey needed to know
  what uses a chair could have… and how to arrange them.  The same basic
  concepts apply to programming, except instead of physical object like a chair, we
  have for-loops, arrays, if-then statements, etc.  I think if we figure out how to
  properly assign a kind of ‘meta data’ to these types of things, a system could reason
  by that and deduce and maintain its own code.
quote]

 

 
  [ # 12 ]

Hi Nathan, and welcome to chatbots.org !  I see you just joined today.  A bot in a virtual world? fascinating idea.  I’d like to hear more about that.

 

 
  [ # 13 ]

That sounds a lot like Walter, actually. Hello, Nathan, and welcome.

Indeed, more info would be good to read. We’re “all ears”. smile

And, of course, feel free to read through the various discussions we’ve been having, as well. Many are still ongoing, and have provided me with invaluable information with regards to my own project.

 

 
  [ # 14 ]
Victor Shulist - Aug 17, 2010:

A bot in a virtual world? fascinating idea.

@Sorry Vic, but chatbots have been around in Virtual Worlds since the very early days. We’ve once made a start to inventarise them:

http://www.chatbots.org/platform/secondlife/

Companies likes Daden are specialised in chatbots in Virtual World. I’ll ask them if they willing to write something here.

On the ‘Essential Requirement”? What’s essential? What’s the purpose of the bot? And what timeframe? At the end of 2010? The end of 2015? In 2025? I personally believe chatbots will evolve in human like characters and we will not able to distinguish them from real people through sound & vision.

That’s why we developed this ‘model’ a while ago:
http://www.chatbots.org/community/buzz_stop/categorisation/

It should last until at least 2025.. :-s

 

 
  [ # 15 ]
Erwin Van Lun - Aug 17, 2010:
Victor Shulist - Aug 17, 2010:

On the ‘Essential Requirement”? What’s essential? What’s the purpose of the bot? And what timeframe?  .. . .

Yes, this is why I opened this thread ! for comments regarding this!  But, for example, for a bot capable of passing a turing test, I think complete understanding of the entire user input line (or as much as possible) would be pretty much a firm requirement, as opposed to ‘keyword’ functionality of Eliza.  That is pretty safe to assume.

Erwin Van Lun - Aug 17, 2010:
Victor Shulist - Aug 17, 2010:

A bot in a virtual world? fascinating idea.  /quote]

@Sorry Vic, but chatbots have been around in Virtual Worlds since the very early days.

Note - I did not indicate that this was a new concept, I was merely being supportive, and find this area, or approach to chatbot development, interesting.

The http://www.chatbots.org/community/buzz_stop/categorisation/  you mentioned is a good list.    Although my bot won’t live in a virtual world,  some items, in particular, #7, I am focusing on in my design.  For the body language and intonation, I will, for now, have buttons that can be clicked on to convey stress, tone, etc.  Later,  when I have the core NLP working and tweaked, I may think about going audio/visual.  One step, one core functionality, at a time… journey of 1000 miles begins with one step.

 

 1 2 > 
1 of 2
 
  login or register to react
‹‹ AI Video awards      Influential AI Talks ››