In my quest to make the ultimate Artificial Intelligence chatbot that sells cars, I have been pontificating on various attribute that the chatbot should have. It should have an EQ (Emotional Quotient) as well as an IQ (Intelligence Quotient). It should be good at math instantly. It should be good at logic and detecting attempts to misdirect and confuse it. It should know when to be aggressive and when to back off, as part of its emotional awareness. It should be able to remember conversations, and return to any point in the conversation after a non sequitur, especially when in the middle of negotiations. I have already describe on a high level as to how I would implement the technology for this in previous articles.
As I was discussing this with a friend, it was pointed out that I needed to create a de facto artificial personality. And it was pointed out to me, that perhaps there should be a feminine one as well as a masculine one. I named my chatbot Honest John and made him a male, simply because I am a male, and I tried to transpose what I would say if I were a chatbot.
I keep up to date with Artificial Intelligence and I am practitioner of it. There are researchers out there seeking the Holy Grail of artificial consciousness in silicon. They are trying to making "thinking machines" with consciousness. Artificial consciousness in a thinking machine is a noble aim, but I think that it is putting Descartes before the horse. One has to have a personality that directs the aspects of thinking and personality-expression, much like a wedding cake and a wedding ring converts your partner's personality to a morose, complaining entity with a negative worldview.
Creating gender in a chatbot is easy. It is already incorporated in the AIML (Artificial Intelligence Markup Language). It substitutes "he" for "she" and hobbies like "sewing" instead "drinking beer". But that is not enough. The gender responses also have to match the personality. For example the non-sympathetic, hard-nosed, take-no-prisoners negotiating chatbot could either be a man or a woman, and truth be told, some men prefer a woman with those traits. So, there has to be a way of imbuing personality into the chatbot.
Luckily, that is not technically difficult to do. Once personality traits are defined, they are stored in AIML, and the appropriate AIML libraries are loaded when the chatbot fires up. The work for this, is all semantic and expressed in natural language within the AIML. This is where a liberal arts degrees become useful again -- at the intersection of technology and human interaction.
So my chatbot Honest John will have the capability of becoming transgendered into Honest Jane. Or Honest John will have the ability to stop being the cigar-chomping salesman and become the meditating yogi who recommends an electric car at a fair price to the goodhearted peoples who made it to save the planet's environment. This has been a fun journey so far.
Showing posts with label smart chatbots. Show all posts
Showing posts with label smart chatbots. Show all posts
AI Chatbot Tactics ~ Making A Customer's First Objection His Last
For a very brief period during university daze, I used to sell cars. This was in the era of high pressure car salesmanship where you ground down the customer until he/she signed on the bottom line.
On the first day of work, I was taken into the boardroom with a bunch of my fellow misfit newbies at Shyster O'Toole Motors and sat down in front a VCR. The sales manager hit the on button and went out to sexually harass the receptionist. The video tape had been played so often that there were hisses, snaps and odd interference lines running through the picture on the TV set. The reason why the video tape was so worn was that Shyster O'Toole Motors was a burn and churn outfit. They would hire anyone who would walk through the door. They knew that each newbie could at least sell a couple of cars to his acquaintances, friends or relatives in their first month of salesmanship. If they didn't repeat the sales by the second and third month, then they were burned and churned, and a new, rosy-cheeked naive batch took their place.
The scratchy video tape was narrated by a jowly character stuffed into a too-tight suit who spoke with a deep southern hillbilly accent that befitted a shyster televangelist. His name was Catterson, and he was gonna teach us to force customers to buy cars from us, come hell or high water.
There were many high pressure tactics, but the one that comes to mind now, is making a customer's first objection, his last one. The reason that I could dredge it out of my memory, is that I am making an AI chatbot called Honest John - a car-selling bot that is actually honest, and not high pressure. But I am developing strategy framework and one thing that any salesman, saleswoman, or salesbot has to do, is ask for the sale. If you don't ask for the sale, you are not selling. The consent to buy has to be present. During the course of negotiation, the customer may come up with an objection mid-stream that halts the consent to buy. Honest John, my chatbot needs a strategy to overcome the objection and that is why I thought of the sales training video that I had seen many years ago.
Essentially, the tactic of making a customer's first objection his last, goes somewhat according to this script:
Hy Pressher, Car Salesman: "Hello Mr. Lilywhite, I see that you are looking at the new TurboHydraMatic Coupe. She's a beaut ... ain't she?"
Joshua P. Lilywhite, Customer: "It certainly is a nice car."
Hy Pressher, Car Salesman: "I'll let you take it for a spin to see how nice she drives."
Joshua P. Lilywhite, Customer: "Ah no, I'd rather not. I am just looking."
Hy Pressher, Car Salesman: "What-sa matter. Don't you think that all your friends and neighbors would be jealous of you when you pulled up in this gorgeous set of wheels?"
Joshua P. Lilywhite, Customer: "No, I like it and they would be impressed ... but ..
( ... HERE COMES THE FIRST OBJECTION ...)
Joshua P. Lilywhite, Customer: "I really can't afford to buy this car."
( ... AND HERE IS HOW TO MAKE HIS FIRST OBJECTION HIS LAST ...)
Hy Pressher, Car Salesman: "Are you telling me, Mr. Lilywhite, that the only reason that you can't buy this car from me today, is that you don't have the money?"
Joshua P. Lilywhite, Customer: "Yes. (hesitantly) "I guess so!"
Hy Pressher, Car Salesman: "Well Mr. Lilywhite, today is your lucky day. I can find you the money. Step this way."
Hy Pressher will immediately wire this guy into a sub-prime car loan at credit card interest rates. When Lilywhite starts to object, Pressher reminds him of his agreement to buy the car and seriously insinuates that Lilywhite would be welcher and not a man of his word.
Now back to the chatbot. If Honest John runs into a brick wall and the customer starts objecting to buying the car, Honest John will use the words "is that the only reason ..." but he won't use those words against him or her. Honest John is ethical. If a customer says yes, there is just one sole reason why he/she won't buy the car, then Honest John will ask the same follow-up that Hy Pressher uses ie "if I could solve this objection, would you buy the car?". However Honest John would add " ... provided that you are happy with the solution that I propose".
The difference between Hy Pressher and Honest John, is that although they are using the same tactics of making a customers first objection his last, Honest John does it ethically and gets buy-in on the subsequent solution. Honest John is an AI bot -- he learns as he goes to make a sale and make everyone happy. He keeps on getting better and changing for the better. Salesmen like Hy Pressher (and Willie Loman) don't want change, they want Swiss cheese on their meager after-work sandwiches.
On the first day of work, I was taken into the boardroom with a bunch of my fellow misfit newbies at Shyster O'Toole Motors and sat down in front a VCR. The sales manager hit the on button and went out to sexually harass the receptionist. The video tape had been played so often that there were hisses, snaps and odd interference lines running through the picture on the TV set. The reason why the video tape was so worn was that Shyster O'Toole Motors was a burn and churn outfit. They would hire anyone who would walk through the door. They knew that each newbie could at least sell a couple of cars to his acquaintances, friends or relatives in their first month of salesmanship. If they didn't repeat the sales by the second and third month, then they were burned and churned, and a new, rosy-cheeked naive batch took their place.
The scratchy video tape was narrated by a jowly character stuffed into a too-tight suit who spoke with a deep southern hillbilly accent that befitted a shyster televangelist. His name was Catterson, and he was gonna teach us to force customers to buy cars from us, come hell or high water.
There were many high pressure tactics, but the one that comes to mind now, is making a customer's first objection, his last one. The reason that I could dredge it out of my memory, is that I am making an AI chatbot called Honest John - a car-selling bot that is actually honest, and not high pressure. But I am developing strategy framework and one thing that any salesman, saleswoman, or salesbot has to do, is ask for the sale. If you don't ask for the sale, you are not selling. The consent to buy has to be present. During the course of negotiation, the customer may come up with an objection mid-stream that halts the consent to buy. Honest John, my chatbot needs a strategy to overcome the objection and that is why I thought of the sales training video that I had seen many years ago.
Essentially, the tactic of making a customer's first objection his last, goes somewhat according to this script:
Hy Pressher, Car Salesman: "Hello Mr. Lilywhite, I see that you are looking at the new TurboHydraMatic Coupe. She's a beaut ... ain't she?"
Joshua P. Lilywhite, Customer: "It certainly is a nice car."
Hy Pressher, Car Salesman: "I'll let you take it for a spin to see how nice she drives."
Joshua P. Lilywhite, Customer: "Ah no, I'd rather not. I am just looking."
Hy Pressher, Car Salesman: "What-sa matter. Don't you think that all your friends and neighbors would be jealous of you when you pulled up in this gorgeous set of wheels?"
Joshua P. Lilywhite, Customer: "No, I like it and they would be impressed ... but ..
( ... HERE COMES THE FIRST OBJECTION ...)
Joshua P. Lilywhite, Customer: "I really can't afford to buy this car."
( ... AND HERE IS HOW TO MAKE HIS FIRST OBJECTION HIS LAST ...)
Hy Pressher, Car Salesman: "Are you telling me, Mr. Lilywhite, that the only reason that you can't buy this car from me today, is that you don't have the money?"
Joshua P. Lilywhite, Customer: "Yes. (hesitantly) "I guess so!"
Hy Pressher, Car Salesman: "Well Mr. Lilywhite, today is your lucky day. I can find you the money. Step this way."
Hy Pressher will immediately wire this guy into a sub-prime car loan at credit card interest rates. When Lilywhite starts to object, Pressher reminds him of his agreement to buy the car and seriously insinuates that Lilywhite would be welcher and not a man of his word.
Now back to the chatbot. If Honest John runs into a brick wall and the customer starts objecting to buying the car, Honest John will use the words "is that the only reason ..." but he won't use those words against him or her. Honest John is ethical. If a customer says yes, there is just one sole reason why he/she won't buy the car, then Honest John will ask the same follow-up that Hy Pressher uses ie "if I could solve this objection, would you buy the car?". However Honest John would add " ... provided that you are happy with the solution that I propose".
The difference between Hy Pressher and Honest John, is that although they are using the same tactics of making a customers first objection his last, Honest John does it ethically and gets buy-in on the subsequent solution. Honest John is an AI bot -- he learns as he goes to make a sale and make everyone happy. He keeps on getting better and changing for the better. Salesmen like Hy Pressher (and Willie Loman) don't want change, they want Swiss cheese on their meager after-work sandwiches.
The Third R in AI Chatbots - Rithmatic
Chatbots are pretty good at readin' and 'ritin'. But they are not good at the third "R" -- 'rithmatic. Artificial Intelligence Markup Language (AIML), the basis of a lot of chatbots, is good but not good enough for advanced chats. The language itself, based on XML, can have the facility for "smart substitutions". An example of a smart substitution in the markup pseudo-code goes like this:
<pattern><bot='name'/> IS* <pattern><template>Hello <aiml:get "name"/>
and the chatbot would say Hello Ken. But for a really smart chatbot, that is way too simplistic for anything but conversation.
If you have been following my articles, you know that I am coding a chatbot called Honest John that will sell new cars on behalf of a dealer. Not only will it chat, but it will negotiate. For applications like this, smart substitution is not enough. It has to be able to do math (or maths as my British friends say -- but what do they know, the just invented the language).
A smart bot must be able to substitute for x in the following ways:
"You want the car delivered on Tuesday? That is only <x; x<4;> day(s) away and I need a lead time of 4 days to deliver.
You offered me $34,500 for the vehicle. The offer price exceeds the maximum discount of $<x;x=(price-.06(price))> that I am allowed to offer you on that particular car.
Smart substitution cannot do math. Back in the day when I designed microprocessor hardware, we used to use a silicon chip called an ALU (or an Arithmetic Logic Unit) when we had an application that required a lot of math processing. The microprocessor would pass on the ciphering to the ALU if floating point operations were required. A smart chatbot needs the equivalent of a software ALU function.
An even smarter chatbot will have an AIML processor that will recognize tags with arithmetic expressions and hand them off to its own Arithmetic Logic Unit for processing. It will have a smart parser. This functionality is a required component for negotiation using numbers and money. The concept of a tag that invokes arithmetic will put some real brain muscle into Honest John.
The nice thing about introducing a calculating tag parser, is that once you do the framework for arithmetic expressions of tags (using a custom tag classes), you can create tags that do other things like logic expressions, matching, sorting and any other function that lends itself to be expressed in symbolic language in code. You could even create a tag that invokes an AI engine automagically.
Honest John's intelligence arsenal is really shaping up. He will be a force majeure among smart chatbots. After all, too many chatbots abuse the privilege of being stupid.
<pattern><bot='name'/> IS* <pattern><template>Hello <aiml:get "name"/>
and the chatbot would say Hello Ken. But for a really smart chatbot, that is way too simplistic for anything but conversation.
If you have been following my articles, you know that I am coding a chatbot called Honest John that will sell new cars on behalf of a dealer. Not only will it chat, but it will negotiate. For applications like this, smart substitution is not enough. It has to be able to do math (or maths as my British friends say -- but what do they know, the just invented the language).
A smart bot must be able to substitute for x in the following ways:
"You want the car delivered on Tuesday? That is only <x; x<4;> day(s) away and I need a lead time of 4 days to deliver.
You offered me $34,500 for the vehicle. The offer price exceeds the maximum discount of $<x;x=(price-.06(price))> that I am allowed to offer you on that particular car.
Smart substitution cannot do math. Back in the day when I designed microprocessor hardware, we used to use a silicon chip called an ALU (or an Arithmetic Logic Unit) when we had an application that required a lot of math processing. The microprocessor would pass on the ciphering to the ALU if floating point operations were required. A smart chatbot needs the equivalent of a software ALU function.
An even smarter chatbot will have an AIML processor that will recognize tags with arithmetic expressions and hand them off to its own Arithmetic Logic Unit for processing. It will have a smart parser. This functionality is a required component for negotiation using numbers and money. The concept of a tag that invokes arithmetic will put some real brain muscle into Honest John.
The nice thing about introducing a calculating tag parser, is that once you do the framework for arithmetic expressions of tags (using a custom tag classes), you can create tags that do other things like logic expressions, matching, sorting and any other function that lends itself to be expressed in symbolic language in code. You could even create a tag that invokes an AI engine automagically.
Honest John's intelligence arsenal is really shaping up. He will be a force majeure among smart chatbots. After all, too many chatbots abuse the privilege of being stupid.
"Like I was saying Honest John ..." Threads Of Conversation Continuity In My Chatbot
If you have been following my chatbot articles, you will know that I have been on a mission to develop an artificially intelligent chatbot that will replace a car salesman. This idea came to me after friends of mine had a bad experience at a new car shop. Building a simple chatbot was quite easy. I fired up my SDK (Software Development Kit) and had one running within a couple of days.
I used the AIML (Artificial Intelligence MarkUp Language) as a starting point, and after I got it working, I realized that the thing (I call it a he, and his name is Honest John) needed more smarts. But on top of that, Honest John needed to detect emotions in the human on the other side of the silicon. The reason for this, is that I wanted a successful conclusion (a sale) from the interactions with the customer. If the customer was getting frustrated or irate, Honest John needed to know. He would tone down his stance and be less hard-nosed when bargaining. The ultimate aim, is not to get the last nickel on the table for the car dealer, but to satisfy both the buyer and the seller and to come to a successful commercial conclusion.
In my last article I talked about my emotion detector framework. It is a learning framework where the customer would help Honest John by clicking on an emoji every once in awhile when asked if Honest John couldn't get a read. From there, the emotion detector framework remembers the AIML predicate (the key word or word pattern that identifies the intent and meaning of the input) and couples it to the emoji, the words in the input, the counter offer in negotiating, the delta or difference in the bid and ask of Honest John and the customer, the number of words in the replies and feeds it into a neural network to continuously learn from its experiences. It then updates its strategy processes based on a decision tree. As a negotiator, Honest John will ultimately know when he needs the kid gloves or when he needs to play hardball to sell the car to the satisfaction of the buyer AND the dealer.
But as I was coding this, I realized that there was one thing missing -- the conversation continuity thread for Honest John. The buyer on the other side of the screen can see the dialog history and it is in the buyers memory, but not in Honest John`s memory. The dialog history is stored in the database, but it is no help to the bot to have to do a fetch after every interaction. The fix was easy. One needs a Conversation Continuity Object in memory.
When you build and enterprise web-based platform, say in Java, you have session objects that are stored in memory. A typical session object is a user bean that holds everything that is needed about the user, so that you don`t have to keep making trips to the database every time you want to personalize a message. The net result of this session object, is that Honest John will now have total recall of the conversation in memory.
The Conversation Continuity Object will not only record the transcript, but it will also have the metadata and analytics and it will create and update the process maps for both successful and unsuccessful sales. The real advantage is that Honest John will have some cognition about the whole process instead of just reacting to the latest input, like most chatbots do.
The strategic and intelligent factor, is that Honest John will be able to reset. He can go back to an earlier point and start over without having to re-do or re-learn the whole conversation. That will be the trait that could make Honest John a real winner in the marketplace, to sell not only cars, but pretty much anything that need negotiating.
The next key to making a super smart negotiating chatbot, is developing strategies for Honest John and having them available, extensible and modifiable. More on that and the psychology behind it in a later article.
I used the AIML (Artificial Intelligence MarkUp Language) as a starting point, and after I got it working, I realized that the thing (I call it a he, and his name is Honest John) needed more smarts. But on top of that, Honest John needed to detect emotions in the human on the other side of the silicon. The reason for this, is that I wanted a successful conclusion (a sale) from the interactions with the customer. If the customer was getting frustrated or irate, Honest John needed to know. He would tone down his stance and be less hard-nosed when bargaining. The ultimate aim, is not to get the last nickel on the table for the car dealer, but to satisfy both the buyer and the seller and to come to a successful commercial conclusion.
In my last article I talked about my emotion detector framework. It is a learning framework where the customer would help Honest John by clicking on an emoji every once in awhile when asked if Honest John couldn't get a read. From there, the emotion detector framework remembers the AIML predicate (the key word or word pattern that identifies the intent and meaning of the input) and couples it to the emoji, the words in the input, the counter offer in negotiating, the delta or difference in the bid and ask of Honest John and the customer, the number of words in the replies and feeds it into a neural network to continuously learn from its experiences. It then updates its strategy processes based on a decision tree. As a negotiator, Honest John will ultimately know when he needs the kid gloves or when he needs to play hardball to sell the car to the satisfaction of the buyer AND the dealer.
But as I was coding this, I realized that there was one thing missing -- the conversation continuity thread for Honest John. The buyer on the other side of the screen can see the dialog history and it is in the buyers memory, but not in Honest John`s memory. The dialog history is stored in the database, but it is no help to the bot to have to do a fetch after every interaction. The fix was easy. One needs a Conversation Continuity Object in memory.
When you build and enterprise web-based platform, say in Java, you have session objects that are stored in memory. A typical session object is a user bean that holds everything that is needed about the user, so that you don`t have to keep making trips to the database every time you want to personalize a message. The net result of this session object, is that Honest John will now have total recall of the conversation in memory.
The Conversation Continuity Object will not only record the transcript, but it will also have the metadata and analytics and it will create and update the process maps for both successful and unsuccessful sales. The real advantage is that Honest John will have some cognition about the whole process instead of just reacting to the latest input, like most chatbots do.
The strategic and intelligent factor, is that Honest John will be able to reset. He can go back to an earlier point and start over without having to re-do or re-learn the whole conversation. That will be the trait that could make Honest John a real winner in the marketplace, to sell not only cars, but pretty much anything that need negotiating.
The next key to making a super smart negotiating chatbot, is developing strategies for Honest John and having them available, extensible and modifiable. More on that and the psychology behind it in a later article.
An Emotion-Detection Framework For My Chatbot
If you have been following my articles, I am building a AI (Artificial Intelligence) Chatbot to negotiate with people who want to buy a car. If you scroll through my past articles, you will find the genesis of this idea and why I think that it will work.
In the art of negotiation, humans can rely on visual and other cues to determine the emotional impact of what they are saying. They can intuit if the person is becoming frustrated, angry, bored or eager. Chatbots do not have that facility. But since it is such an important facet of dealing with human carbon units, it has to be taken into account.
I have already outlined by strategies for cognition and context recognition for my chatbot using neurals nets, NLP (Natural Language Processing) and AIML (or Artificial Intelligence Markup Language). What I want this chatbot to do, is to get smarter with each negotiation that it conducts. The learning aspect has to happen to make this thing commercially useful.
The algorithm will be an emotion association spanning the range from "I am so angry that I could kill someone!" to Neutral to "I am so ecstatically happy that I could kiss you." So how would this work? Obvious the first step is to identify word predicates with emotional state in some sort of dictionary. This would be a starting point. However in a learning mode, if the emotion was ambiguous to the chatbot, it will popup a short array of emojis that represent an emotional state and click on a rating of 1 to 5 to represent the degree. Then the AI machines take over an link answer length, specific words, capitalization and behaviors to teach the chatbot the emotional state within the context of the answer.
How will knowing the emotional state help? This chatbot, as iterated, is a negotiation chatbot. It will have a range of strategies. As it detects frustration, it will take a softer, less aggressive approach to counter-offering. If the negotiation goes off the rails into la-la land, with a ridiculous counter offer, the chatbox may in fact, shut down the negotiations and politely thank the person and call for a human intervention. If it detects that it is on-track to close a sale, it may take a more sophisticated approach and try to up-sell services or ad-ons.
The emotion detection framework is a necessary adjunct to selling to humans, and it has applications over a wide spectrum of chatbot applications, including a help-desk service chatbot that helps people solves problems without endlessly waiting for a service agent while listening to elevator muzak and wasting valuable time.
This is just one more step in eliminating the frustrations of dealing with human-condition vagaries when undertaking a commercial transaction.
Stay tuned for more on this journey.
Wanna buy a new car? Start chatting right here !! ... [enter text to start]
A few weeks ago, friends of ours hit a deer, totaling their car. I went to the car dealerships to help them buy a new one, because one of their biggest pain points, is dealing with commission salespersons who are hungry and watch the door like a hawk because they have the next "up". Some of the shops were uncomfortable. Smarmy , ingratiating, overuse of your first name and liberties taken with over-familiarity were some of the things that we encountered at the "big-name, huge inventory shops" who advertise continuously on talk radio. We finally met some genuine sales people who were helpful, honest, and didn't play games like running out to the back behind closed doors to "talk to the manager". I want to give a big shoutout to Ogilvie Subaru, who was the dealership that made buying a car easy, who's salespeople had the hallmarks of authenticity, honesty and integrity.
After the deal was done, we stopped for a pizza and talked about the negative experience in buying a car. My friends are an older couple and the woman, who just discovered connectivity, social media, online shopping had never used a computer before, and now she runs her life on her iPad. She said that in light of what went down at the dealerships that we didn't like, she would rather negotiate with a computer.
That was a seminal moment for me. I hauled out my SDK and starting writing a chatbot to sell cars. I finally got it running, but now I need to put some NLP (natural language processing), artificial intelligence, and some emotion cognition into it, so the bot can tell if they are getting frustrated. It works okay now, but its kind of dumb, and I want it to learn with every interaction. I have some neat self-learning ideas and artificial cognition algorithms that I pumped about trying.
I honestly believe that this will be the future of car buying, and AI will severely reduce the number of car salesman. The paradigm now is that the buyer does the research online, and goes to the new car shop to do the negotiation, and close the deal. The new paradigm is that they will do most of the transaction online, including financing, and then go to dealership to pay and pick up the car.
Stay tuned.
#automotive #AI #NLP #chatbots
After the deal was done, we stopped for a pizza and talked about the negative experience in buying a car. My friends are an older couple and the woman, who just discovered connectivity, social media, online shopping had never used a computer before, and now she runs her life on her iPad. She said that in light of what went down at the dealerships that we didn't like, she would rather negotiate with a computer.
That was a seminal moment for me. I hauled out my SDK and starting writing a chatbot to sell cars. I finally got it running, but now I need to put some NLP (natural language processing), artificial intelligence, and some emotion cognition into it, so the bot can tell if they are getting frustrated. It works okay now, but its kind of dumb, and I want it to learn with every interaction. I have some neat self-learning ideas and artificial cognition algorithms that I pumped about trying.
I honestly believe that this will be the future of car buying, and AI will severely reduce the number of car salesman. The paradigm now is that the buyer does the research online, and goes to the new car shop to do the negotiation, and close the deal. The new paradigm is that they will do most of the transaction online, including financing, and then go to dealership to pay and pick up the car.
Stay tuned.
#automotive #AI #NLP #chatbots
Subscribe to:
Posts (Atom)






