Natural Language Processing (NLP) For In-Car Voice Discussion With Riders Of Driverless Cars
Dr. Lance Eliot, AI Insider
Sometimes I yell at my car.
For example, the other day I wanted to quickly accelerate to get out of a tough situation and so I put my foot to the metal and gave the car a rush of gas in hopes that it would sprint forward. The car did lurch forward, but not as fast as I imagined it should, and so I yelled at it, exhorting it to go faster. In case you are worried that I mistreat my car, there are other times that I whisper sweet nothings to it. Like the other day it had been faithful and worked without a hitch when I drove out to Phoenix from Southern California, taking it through desert temperatures that rose to an incredible 115 degrees. For its bravery and honor in doing the trip, I thanked it heartily.
I try not to anthropomorphize my car, though a lot of people do.
They give their cars cute pet-like names and pamper their car. They speak to it as though it is a father confessor. Once we are all using self-driving cars, and those are packed with sophisticated AI systems, it will be interesting to see if people go even further with treating their car like a fellow human. Already, we have Alexa and Siri as natural language processing (NLP) sisters and brothers.
Cars are already including on-board NLP capabilities for primarily entertainment purposes. You can tell your car to play the latest hot music tracks.
A few cars are also allowing voice commands to do some other tasks, such as telling the car to roll down a window or lock the car doors.
One ongoing question about self-driving cars is whether or not the human occupants will be able to speak to the car and interact with the self-driving driverless autonomous car.
I don’t really though see this as a question per se, since to me it is obvious that yes, we will have self-driving cars that interact with the occupants.
This is a must.
At the Cybernetic AI Self-Driving Car Institute, we have been closely studying the interaction between humans and what they would want a self-driving car to discuss with them, and we have been developing NLP to do so. Allow me to describe what we have discovered.
Most would concede that somehow the self-driving car will at least need to know the destination of where the occupants want to go. I suppose you could use your smart phone to convey this to the self-driving car, but I see it as a simple enough added capability that you would directly speak to the car and chat with it about your desired destination. At this juncture, those that are willing to agree that the occupant would perhaps want or need to speak to the self-driving car about the desired destination, they seem to think that after doing so that then there is no other reason to have the occupants interact with the self-driving car.
Well, suppose that I have told the self-driving car to take me to work, but I then change my mind midway of the driving journey and decide I want to head back home, maybe because I left the stove on or because I inadvertently left my garage door open. What about that? Those that think the occupant only needs to give a final destination at the start of a driving journey seem completely oblivious to the aspect that we often change our minds during a driving effort and want to go someplace else instead. Now, I realize that when you use a taxi or an Uber that you normally indicate upfront your desired destination, and you don’t change it mid-course, but this is not how people use their everyday cars. Everyday driving is quite different than using a ride sharing or ride providing service.
Indeed, let’s try another example of altering your course during a driving journey. You are on the freeway and heading to work, which it turns out is an hour-long commute. You decide you must have coffee to fully wake-up. So, after about 20 minutes on the freeway, you start looking for a McDonald’s golden arches that is near to the freeway, and then take the next exit to swing through and get yourself some java. It wasn’t part of your original plan of the trip. It came up spontaneously. This happens all the time during any kind of driving trip.
Thus, you would need to have some means to communicate with the self-driving car during a driving journey. Rather than having to use your smart phone, it makes a lot of sense and just seems easier to go ahead and speak to your car and tell it what you want to do. Suppose you assign your self-driving car the name of Lauren, you would then say to your self-driving car, “Lauren, take me to work” and then later on when you got the urge to have coffee you might say “Lauren, go to the nearest McDonald’s” or something like that.
These kinds of commands to your self-driving car are relatively benign in that you are essentially interacting with a GPS, which we already do anyway. Of course, if you have a GPS in your car today, it is still you that currently is actually driving the car, and not the GPS system. As you know, the GPS has various limitations, and so sometimes you likely drive differently than what the GPS tells you to do.
The other day I was coming up to an intersection and the GPS told me to make a left turn. The left turn lane was packed with cars and it would have taken forever to make that left turn, plus it was a risky left turn since there wasn’t an arrow specifically for making the left turn. I opted to instead go past the intersection, make a right turn up ahead, make another right turn to come around the block, and then was able to effectively have achieved getting onto the street that the GPS advised.
I mention this because we might not always be satisfied with how a self-driving car is driving us to a destination. Besides wanting to alter the final destination, or wanting to have midcourse changes to go to other intermediate destinations, you might also want to tell the car specific ways to go. You might say don’t make the left turn and instead go around to get there. Or, you might tell the self-driving car to avoid a neighborhood that you know is dangerous and you are worried about driving through it. There are lots of aspects that would involve you wanting to interact with the self-driving car about the path it is taking.
Currently, most GPS are somewhat passive and whatever destination you request, it will indicate how to get there. It will also often offer alternative paths and let you pick one. It will provide traffic updates and try to find more optimal routes during the driving journey. All of this requires further interaction with the human occupant. This also raises another aspect, namely should the human be able to instruct the self-driving car to go places that don’t make any sense to go?
If I get into my car today and I ask my GPS how I can get from Los Angeles to New York, the GPS will gladly indicate it. It is still up to me to make the actual drive. With a self-driving car, suppose you tell your car to drive from Los Angeles to New York. Should the self-driving car obediently comply and just go ahead and start to make that drive? Maybe you as the human indicator have mistakenly said New York and you meant some other closer destination. Or, maybe you said New York but have no idea how long a drive it is. Let’s assume that the self-driving car didn’t tell you how long a drive it is, or mentioned it but you didn’t happen to see or hear what it said. The next thing you know, your car is headed on a really long journey.
Worse still, suppose I give a destination that is life threatening. I tell my self-driving car to drive off the end of the local pier. Should the self-driving car do this? These are part of the ethics aspects of self-driving cars. Presumably, our self-driving cars should have some kind of checks-and-balances so that we cannot readily command the car to kill us.
This brings up another facet of uttering commands to a self-driving car. There are driving instructions that a human might want to indicate to the self-driving car. So far, we have focused on instructions related to the destinations and geographical locations. You might have other preferences too. Specific commands would consist of telling the self-driving car to “speed-up” or to “slow down.” These are though ambiguous commands. If you tell a friend to speed-up while they are driving, what does this mean? Are you saying to go just 1 mile per hour faster, or 5 miles per hour faster, or 20 miles per hour faster? The self-driving car would need to get clarification from the occupant.
But, suppose that the self-driving car is going 15 miles per hour and it is a school zone. You as the occupant say to the self-driving car to go faster. It asks you how much faster. You say 10 miles per hour faster. Let’s assume that the school zone has a posted speed limit of 15 miles per hour. Should the self-driving car go faster, as you have asked, even though it will now be exceeding the allowed speed limit? Probably, it should not. The self-driving car needs to be disobedient when needed. At the same time, suppose you are in your self-driving car and bleeding from a severe wound, and you need to get to a hospital as fast as possible. Maybe in this case you would want the self-driving car to go as fast as it can, though presumably it should be nonetheless still aware of driving safely (in other words, it might be willing to exceed the posted speed limit, but do so with still having safety as a crucial part of the driving task).
One important point then is that during the dialogue between the self-driving car and the human, the self-driving car must be able and willing to talk-back to the human. In other words, the self-driving car cannot just blindly obey any commands spoken to it. This would create many very dangerous situations. The self-driving car NLP needs to interpret what the human has stated and then let the human know what qualms there are about it. The self-driving car should echo back what was said, and then offer any concerns such as whether the request is impossible, or deadly, or illegal, or whatever issues there might be.
I realize that people aren’t going to like this kind of talk-back, at least at first.
If you have ever interacted with Alexa or Siri, you already know how frustrating it can be to get those NLP’s to even understand what seem to be simple requests and ones that aren’t life-or-death in nature. We need even stronger NLP for dealing with interactions of the self-driving car and the humans.
There can’t be ambiguity or aspects left to chance.
The self-driving car needs to know precisely what the instruction consists of, and whether or not it is in the end a sensible instruction for the self-driving car to carry out. This would be equivalent to having a taxi driver that would certainly question a passenger that wanted to drive off the end of the pier or do some other kind of untoward maneuver.
I have so far discussed relatively simplistic commands, but there are also more complex compound kinds of commands that humans would want to utter. I might say this to my self-driving car: “Lauren, take me to my favorite night club, but first stop at Eric’s place to pick him up, and during the trip I want to go along the ocean and see the sunset.” Parse that. I have indicated to go to a night club, specifically my favorite one (which maybe the system knows of, due to my frequently going there). If the parsing stopped there and only knew about going to the night club, the self-driving car would drive to that destination. But, I have also said we need to pick-up Eric before going to the night club. The self-driving car now has an intermediate destination, and presumably knows somehow what Eric’s address is. To make things more complicated, I have indicated that I want to have the path include going near the ocean, and so the self-driving car needs to figure out what path that would be.
A taxi driver would presumably easily be able to parse such a compound sentence. For NLP to do this, it’s tricky. The self-driving car will need to echo back to the human what it believes has been stated, doing so in a reworded fashion to ensure that clarification is achieved. It would need to get confirmation from the human. And, probably even double-check the confirmation and not just allow a muttered “yes” by the human to be sufficient to engage. This kind of man-machine voice interaction is very sophisticated and today’s NLP can barely do something like this. Furthermore, it needs to be done in a manner that isn’t overly irritating to the human. Imagine a taxi driver that doesn’t understand your language and that’s basically how today’s NLP is.
Who is uttering these commands to the self-driving car?
I keep saying the human does, but who is the human? You might say to me that it is obviously whomever is the occupant of the car. The human occupant should presumably be the human telling the self-driving car what to do and where to go. If there is only one person in the car, maybe this a reasonable notion. That assumes that the human occupant in the self-driving car is authorized to actually make use of the self-driving car and is capable of doing so.
When my son was about 6 years old, he delighted in sitting in the car and pretend that he was driving the car. Even if he had the key to the car, he was too small and unable to comprehend how to actually drive the car.
Suppose that in the future, your 6 year old jumps into your self-driving car and tells it to drive him to his friend’s house. Is this a valid command to the self-driving car? You might say that of course it is not valid, the occupant is too young. But, the occupant doesn’t presumably need to be able to drive the car (if this is a true self-driving car of a Level 5), and so why not allow the boy to command the car? Indeed, there are going to be parents that like the idea of not having to drive around their children and just let the self-driving car do so.
I have already predicted that we’re going to have some sizable debates about who can command a self-driving car and what policies and laws there will be. Do we really want children to be in self-driving cars all by themselves? What if the self-driving car breaks down in the middle of nowhere? What if the child gets confused and gives commands to the self-driving car that endanger themselves? These are all thorny public policy questions and will likely end-up becoming various laws.
Suppose that there is more than one occupant in a self-driving car. Now, how does the self-driving car deal with human provided commands?
Two adults are in the self-driving car. They are arguing about where to go. One says to the self-driving car, go to the park. The other one says go to the mall. You can almost see the self-driving car going in one direction, then making a U-turn to go in the other direction, and otherwise being whipped back-and-forth and just blindly obeying whatever is stated.
Currently, this is settled by the fact that there is just one driver of the car. There might be many so-called “backseat drivers” but they are not able to do anything other than provide commentary. It is today the human actually at the driving controls that decides what happens. We will now have an AI system at the driving controls. How will it deal with the problem of having multiple occupants and potentially multiple commands, and conflicting commands?
One approach involves having a “designated driver” that means just one person in the self-driving car is able to command the self-driving car. A father and his two children are in a self-driving car. The father is the “designated driver” and commands the self-driving car. The children are not listened to by the self-driving car. This of course means that the self-driving car has to somehow learn the voice of the father so as to do voice recognition and realize that it is the father speaking. This could also be a security measure that only the father’s voice can activate and command the self-driving car.
This seems like a viable solution. Except, suppose the father suddenly faints in the self-driving car due to fatigue. The self-driving car is now operating without any human “designated driver” and it has been instructed to ignore any other voices other than the voice of the father. This is not a good situation. We either concede to this risk, or we allow that other voices can be allowed to provide commands, perhaps as “secondary drivers,” though we put restrictions on when and in what way those other voices can give commands that will be obeyed by the self-driving car.
One approach that some self-driving car makers are considering involves having a remote human operator that can interact with the occupants and the self-driving car. Similar to an On-Star kind of system, there would be a remote human operator that could talk with the occupants, and then based on human judgement decide how to instruct the self-driving car. People are probably going to accept this approach for ride sharing and taxis, but it is doubtful they will find this as satisfactory for their own self-driving car that they have purchased.
Overall, my key point in this discussion has been that we will absolutely want our self-driving cars to interact with the occupants. Those self-driving car makers and engineers that keep saying that this is either unnecessary or not viable are short-sighted in their vision of self-driving cars. They tend to think that humans are stupid and should just act like sheep and get into their self-driving cars, and do nothing other than say where they want to go. Having a car offers a great deal of freedom, and people want to exercise that freedom, whether it is in a regular car or a self-driving car.
Advances in NLP will help to engage human occupants in a dialogue about the self-driving car and where it is going, how it will drive, etc.
This dialogue will occur not just at the start of a driving trip, but throughout a driving trip. It will involve simple commands and complex compound commands.
It will require the self-driving car to interpret the commands, determine who can provide a command, echo commands back, affirm a command, and carry out a command, assuming that the command is possible, legal, etc. This for some developers is considered an edge problem of self-driving cars. We see it as a core problem because ultimately people are going to decide whether to use or not use a self-driving car based on not only what it can do but how it interacts with them.
For free podcast of this story, visit: http://ai-selfdriving-cars.libsyn.com/website
The podcasts are also available on Spotify, iTunes, iHeartRadio, etc.
More info about AI self-driving cars, see: www.ai-selfdriving-cars.guru
To follow Lance Eliot on Twitter: @LanceEliot
For his Forbes.com blog, see: https://forbes.com/sites/lanceeliot/
For his Medium blog, see: https://firstname.lastname@example.org
For Dr. Eliot’s books, see: https://www.amazon.com/author/lanceeliot
Copyright © 2019 Dr. Lance B. Eliot