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

Task oriented AI verses converstational
 
 

I had spent the better part of my weekend working on my project “My Marie” and particularly on the logic processing script. Since Marie is designed to be much more than a chat bot, the need for two levels of input processing was nesseccary. For example, “What time is it?” verses “What is time?”. Another example would be “What is today’s date” verses “What happened on this date?” each of this questions require a different task to return the correct response.

As humans we can logically arrive at the right conclusion based our perception of the question. On the other hand without enough qualification, Marie needs more input to determine how to correctly respond. One solution would be to ask the user if one or the other meaning is correct. Another method would be to rank the most probable answer based on past responses. A third method would be to split the user input and parallel process one as a task, getting the current time based on users system’s clock and also as a conversational response by a knowelege query.

The resulting output could be something like, “Your current time is 2:18 PM. However, time is an emergent concept that is a phenomenon of continuous change and subject to individual perception.”

This approach is a clever solution to a complex problem. wink

 

 
  [ # 1 ]

While that approach will work the first few times, I think that most people who get that sort of response from a chatbot will likely grow tired of it rather quickly; I know I would. I think that it would be better if the bot could ask “refining” questions, to better focus on the intent of the input, and then use what was “learned” in future conversations with that same user. Since all users “aren’t created equal”, it would probably be self-defeating to use what was “learned” from one person to guide the responses meant for another. After all, while I pride myself on my spelling and grammar, other people aren’t quite as fastidious about such things, and still others may be still learning the complexities of the English language, and may want to know the current time by asking “what time is?”.

Now I realize that this adds several levels of complexity to a bot’s algorithms, but I think it’s an essential part of creating a well designed chat bot. I wish Victor Shulist were still here. He was working on a chatbot that uses grammar parsing as it’s primary focus, and attempted to “understand” the input before formulating a response. One of his favorite test phrases was “I shot an elephant in my pajamas”. I never DID get the straight of why that darned elephant was wearing Victor’s pajamas. smile

 

 
  [ # 2 ]

Your point is well taken and I understand the value of asking for additional data to qualify the response. At the same time, providing two possible answers with a clever response would not get old if the response is never repeated the same way twice. My chat bot will never give the same answer twice in a session. Asking what time it is would get you a response similar to what I discribed, however the second time the question is asked it will be qualified with an additional question to the user such as “Since I have answered your question previously, what additional information do you seek?” this is exactly the way human conversation is shared.

 

 
  [ # 3 ]

I’m a great fan of your third method: splitting the input into parallel processes. This makes it modular (you can simply add or remove a module), and since each module is specialized in its own task it is much simpler.

What could be useful perhaps is that each module can suggest a response to the user’s question, but also a confidence-score that tells you how sure it is that this really answers the user’s question. For example, if the user’s question matches a stored question-answer pair exactly, then the confidence will be very high, and vice versa. This does mean that each component needs some extra code to determine the confidence score.

Your central dialogue manager can poll each module, take the response with the highest confidence and output it. And it also allows nice things such as finetuning modules by modifying confidence values (making responses from that module more or less likely), finding out which modules often output good or bad results, etc. By taking the user’s response into account, you can even make it capable of adapting its confidence values. `Ow, the user is confused, this answer probably wasn’t very good, let me fix that.’

 

 
  [ # 4 ]

Using AIML as an example, one could set a confidence score in the following manner:

Input: I am afraid of the dark.

1.) For a full, verbatim match (i.e. there’s a category for “I am afraid of the dark”), set the confidence score to, say, 70. If the category with that particular pattern also “matches” the topic (e.g. the category with that pattern also happens to be within the current topic), then set the confidence score higher, maybe 90.

2.) For partial matches (for example, “I am afraid of *”), give a moderate score, like 40-45. Again, add for a partial response that’s on topic.

3.) For “default” matches, such as pickup lines, set the score to 0.


I’m certain that a similar method can be implemented with other “modules”, too. smile

 

 
  [ # 5 ]

Great ideas guys!

I really like the confidence level scoring idea, especially as my bot will be opening webpages and other visual information as part of it’s response in most cases. This information could be ranked by users with the following scores:


Most Helpful - (80 %)

Helpful (60 %)

Informational (50 %)

Not Helpful ( no score given)

The website design will allow for a lot of user interaction without reloading the page. The entire user/bot interaction takes place in the client browser environment and a log of all dialog, events and scoring will be collected in the background and at the end of each session posted to the server. Initially, context scoring and updates to the knowledge base (which are stored as flat files and loaded dynamically as client-side includes) will be manually updated to the databse which generates the flat files during the beta release. Eventually this process will be performed automatically once the system has been thoroughly tested and evaluated.

I am not using AMIL or Chatscript or any other third party platform. The engine, scripting and database schema is all of my own design. I decided on this approach for flexibility and the challenge of building a portable, fast and truly unique user experience. smile 

 

 
  [ # 6 ]

Hello Laura, I just want to welcome you to this excellent meeting place…
have a great day

 

 
  [ # 7 ]

Raymond! Great to see you! You should stop in more often. Your wit and insight are surely and sorely missed. smile

 

 
  [ # 8 ]
Raymond Lavas - Nov 16, 2011:

Hello Laura, I just want to welcome you to this excellent meeting place…
have a great day

Thank you and nice to meet you! smile

Yes, I have found in the short time I have been here that this is indeed an excellent forum for like minded individuals.

 

 
  [ # 9 ]
Dave Morton - Nov 16, 2011:

Raymond! Great to see you! You should stop in more often. Your wit and insight are surely and sorely missed. smile

Well you see Dave I will be visiting here nearly every day from now on because my Thesis is ready to present, and I am taking a holiday right now.

I have been fooling around in artificial intelligence since the late 70s when “Heuristics” was coined at Menlo park and the mouse was invented.Voice recognition was the ultimate challenge back then.

Now I am studying electro-gravitics, Quantum Physics, and the stochastic analysis of infinite dimensional spaces, in an effort to set up a holographic cloud structure for a meme based network for any chatbot to rely upon as a database…..

Communication theory has been our problem… Bandwidth bottle-necking and Shannon’s Bandwidth limitations was due to our usage of electromagnetic communication systems. With the upcoming use of electro-gravitic communication systems, the speed and bottle-necking issues are resolved and a chatbot can “live” in a 5G… -or more likely a 6G portable telephone under Android apps.

The basic intelligent agent is designed by the beneficiary apps programmers for each their own unique purpous chatbot, however the conversational diversity is guided by the cloud structure in a gender or genderless philosophy.  All other quantatative and qualitative structure variables of the chatbot is a choice made by the chatbot designer….

What’s really new is the loss of all buttons and interfaces…. We just talk and the Travatars listen and respond from the singularity…. all that was needed was a common Time sequency structure.  We used the 11th of November 2011 at 11:11, GMT… Everything is now synchronized The set is both open and Closed at i, and 1+i=2   thus we have a binary sequency created using a heavyside step function and the halting problem is resolved. This is mostly based on Walsh functions and Ultrawideband technology…... The electric field is orthogonal to the gravity field of every composite and non-trivial force tensors and spinors….

Look, I’m sorry I could go on for days rewritting my thesis but we would to begin by the “Prolegomena To Cardinal Arithmetic” :
[ul][li]http://books.google.ca/books?id=rdMgDpNSdLsC&lpg=PR10&ots=lfIMoSMwRT&dq=Prolegomena to Cardinal Arithmetics&hl=fr&pg=PR20#v=onepage&q=Prolegomena to Cardinal Arithmetics&f=false[/li][/ul]

I’m now looking to find someone to help me host the 2012 world “Singular Transparency” conference in Montreal Canada. We are just calling it “Chocolate” for now.  (right minoo?)... White-hats, black-hats red-hats, whatever…. we are just Humans after all, and we have to get use to the idea “something else” is here among-st us.

Oh by the way Dave it’s been a year since I have had open heart surgery and both my new Titanium valves are doing just fine and the old ticker is responding to that silly pacemaker in my chest (even though I reject it’s programmed sequency).... I am still in dialisys and after 14 years of dialysis treatments, I’m having a bit of trouble walking without a limp. I Have caught and beaten back two contagious and deadly diseases while going in the hospital for my treatments over the past year.

Now the doctors are giving me a brain scan to see if I have any neural damages from overworking this Dangerous knowledge: see: [ul][li]http://www.google.ca/search?rlz=1C1CHMZ_enCA322&aq=f&gcx=c&sourceid=chrome&ie=UTF-8&q=google#sclient=psy-ab&hl=fr&rlz=1C1CHMZ_enCA322&source=hp&q=dangerous+knowledge+bbc&oq=Dangerous+knowledge&aq=1&aqi=g2&aql;=&gs_sm=c&gs_upl=497468l504094l0l507662l19l19l0l6l6l1l1243l9647l5-10.1.2l13l0&bav=on.2,or.r_gc.r_pw.r_cp.,cf.osb&fp=1b129a03a8f81064&biw=972&bih=605[/li][/ul]

Meanwhile I have had to shut down my 64 bit machine and disassembled it because it started to “act funny” after I accessed the biggest computer database in the world in Japan to try some tests…..

My friend and former mentor “Mike R.” is still in prison because of PROMIS and INSLAW.

My other hero is Dr. Stephen Hawkings, so I really cannot complain now can I?

If you build it, -they will come. This keeps reality a very interesting challenge Right?

Have a great day everyone.

Raymond Lavas

 

Image Attachments
Dr._Sevrin.jpg
 

 
  [ # 10 ]

Raymond,

Fascinating post.. now can you please repeat that again slowly? { just kidding }

Seriously, I have been into Quantum Physics for the past several years this includes String Theory which I am not totally convinced on it’s merits. These are indeed exciting times in which we live. I am honored and humbled as I attempt to contribute what I can to the advancement of AI in my own way.

BTW: I live less than 10 minutes away from Menlo Park, in Sunnyvale. smile

 

 
  [ # 11 ]

Sorry I’m getting a bit obsessive about this because it’s taken several decades to come to my conclusions which I am now preparing to publish openly.

BTW this is Great!!!, we have yet another Matriarch amonst us Dave. I love felines and girls. I’m surrounded by gorgeous brilliant womanhood these days. 

Laura, no doubt you have heard of, - or even read Dr. Lisa Randall’s book “Warped Passages”. I think you will see her point of view as very pertinent if not “right on the mark” inasmuch as “Brane Transposition” is a relatively practical approach if the correct tools are in place. You have to master subspace concepts first.

I suggest you also take a peek at “the goodbye man” by Linda Brown http://www.smashwords.com/books/view/49963

This second book is more like an auto-biography and was written by the daughter of ‘Thomas Townsend Brown” who was the science genius that discovered the “Beifeld/Brown force” which contradicts or defies “Coulomb’s law” in the application and use of Electrical “FORCE” (but not EM force) as defined by Newton, et al.(F=MA). It is a tale of hidden agendas, spies and secret science. It all feather-tales into Turing, Goedel Boltzman, Cantor, John Nash, and modern day contemporaries.

Ultimately I see it as the cross-over point into the technological singularity that Ray Kurzweil has written his book about.

Raymond Lavas

Image Attachments
NRO_05-2.jpg
 

 
  [ # 12 ]
Mark ter Maat - Nov 15, 2011:

I’m a great fan of your third method: splitting the input into parallel processes. This makes it modular (you can simply add or remove a module), and since each module is specialized in its own task it is much simpler.

What could be useful perhaps is that each module can suggest a response to the user’s question, but also a confidence-score that tells you how sure it is that this really answers the user’s question. For example, if the user’s question matches a stored question-answer pair exactly, then the confidence will be very high, and vice versa. This does mean that each component needs some extra code to determine the confidence score.

Your central dialogue manager can poll each module, take the response with the highest confidence and output it. And it also allows nice things such as finetuning modules by modifying confidence values (making responses from that module more or less likely), finding out which modules often output good or bad results, etc. By taking the user’s response into account, you can even make it capable of adapting its confidence values. `Ow, the user is confused, this answer probably wasn’t very good, let me fix that.’

Yes, this is the method I am trying to implement (see subbot.org).

One problem I’ve run into: when one agent (for example, the Wolfram Alpha agent) takes longer than the polling maximum, but that response is the one I want, how do I ensure that I get that response? I’m experimenting with pushing that response when it comes (sending it without waiting for a user input). But sometimes that “push” happens when I don’t want it, so I have to figure out how to suppress it based on feedback (as I can suppress other agents’ responses when I don’t like them).

I’ve been using my multi-agent bot to take notes and do calculations for the stanford ai class :)

 

 
  [ # 13 ]

http://www.turingfilm.com/intelligence_test
i’m not sure if anyone else has seen this. but we have talked about this here.

Raymond Lavas

 

 
  [ # 14 ]

The bottleneck in processing multiple agents is in the data acquisition. Like Apples Siri, for every query there is a request to the database server. For Siri to perform a multiple agent query and process the data output as an intelligent reply, would require multiple requests and data packets that would have to be returned to the client application.

Cloud based knowledge bases are not practical when parallel processing is involved. So what’s the answer? I am working on a solution that utilizes client side processing and only queries an outside database when only absolutely necessary. Using this approach, a network process can be initiated only when need and in parallel with a local process.

 

 
  [ # 15 ]

Laura, some of us are about to solve the limits imposed by Shannon. Electromagnetic communication technology will soon become obsolete, trust me on this.
Raymond

 

 1 2 > 
1 of 2
 
  login or register to react