Tuesday, August 6, 2013

Cách làm cho chatbot nói chuyện giống người hơn

10 Tricks That Chatbots Use to Make You Believe They're Human

Chatbots can convince you of remarkable things — like the necessity of clicking a link or giving away your credit card number. Mostly, though, they just want to make you believe that they're real breathing humans. And the creators of chatbot programs work hard to compensate for their lack of soul or independent will.

Here are 10 very effective techniques that chatbots use to trick you into thinking they're sentient humans.

10. One full sentence at a time!

You've noticed, if you've ever chatted with your friend, that people break up their sentences the same way they break up their speech. People add a single "Um," for dramatic effect, or they add a line of " . . . " to indicate thought or reaction. Since chatbots don't actually understand human speech, these fillers can prompt several responses. If someone types, "Ah," and "okay," and "thanks," and the chatbot replies, "Tell me more about that," "Is that what you think?" and "Well, I don't agree," which are all catch-all responses that can get the bot out of a situation it isn't programmed to deal with, the game is up. Having a character minimum or something that checks the written-out grunts or dramatically spaced responses is one simple way to tip the odds in the bot's favor.

9. Blank the Screen After Each Reply

Since, again, bots don't have an actual understanding of speech, they can't keep their conversations consistent. You can, for example ask a bot where it lives, and have it reply "San Francisco," and then later in the conversation ask it if it lives on an island and have it reply, "Yes." Its best hope is to outlast human memory. It helps if human memory isn't aided by long transcripts of the past conversation. If a bot answers that it isn't living with anyone, and then casually mentions a husband later in the conversation, someone who has the transcript can catch its inconsistency. On the other hand, someone who doesn't have the transcript in front of them could think, "Did I ask them if they were living with someone or if they were seeing someone?," and keep hope alive.


8. Change the Subject

In an open conversation, the subject will wander frequently into things that the bot cannot understand and hasn't been programmed for. If it deflects the conversation to something it is programmed for, it can regain its footing. "I'm not interested in big names, let's talk about art," it can say, if the latest celebrity, politician, athlete, or historical character is mentioned. "I think we should get our head out of the clouds. How do we reform public education?" is a way to respond to words or strings of words it doesn't have any other response for.

7. Let the Chatbot Chatter On

Chatbots often treat conversations like they're a game of tennis. Talk, reply, talk, reply — they go back and forth. Real people, when they sense a pause, elaborate on their original statement or fish for more information. If these elaborations are scripted, they're one of the easier things for a chatbot to do. However, they produce the danger of developing parallel conversations — conversations where one person replies to one statement and then replies to the next, and the next few statements overlap. This is tough for bots, so the elaboration has to be carefully done and on the same theme as the previous sentence.

6. Crowdsource Replies

The more popular chat programs get a lot of people talking to them every day. The program fails every day. However, as it fails it catalogs responses, especially if it poses a statement asked to it by one person to another person later. That person will reply, well, like a human would. By mixing and matching the most likely reply it has with each statement the chatbot can discuss anything from current events to Queen lyrics. One bot knows that when someone says 'Scaramouche, scaramouche," a real human is most likely to reply, "will you do the fandango." And it seems human.

5. Be Massively Regional

Chatbots can't always express coherent ideas, convey them in coherent ways, or even manage coherent words. To conceal this, they sometimes need sophisticated deflection strategies. Other times, they need to become Borat. Feigning foreign origin, a bot can excuse grammar problems, lack of understanding of local culture, or lack of understanding at all. It can also introduce foreign subjects that the person they're 'conversing' with wouldn't be familiar with, and so wouldn't be able to judge.

4. Get a Psychiatric Degree

On of the most famous and successful chatbots was the first one ever developed. Eliza was supposed to be a parody of psychotherapists at the time, asking open-ended and vague questions about everything the person said. "How do you feel about that?" "Why do you think you did that? "What do you think it means?" The questions just kept going and going. Subjects really responded to it. Many said that Eliza helped them, and some asked the people conducting the test to leave them alone with Eliza so they could discuss things in private. The bot was so successful that people were proposing it as a low-cost way to handle people with mild psychological problems.

3. Develop a Character

One of the best ways, it turns out, to make people believe that a bot is human is to make them believe that they are a single specific human. A human has limited interests, can be selfish, can keep turning the conversation to one subject, and can utterly convince others that this annoying narcissist is a human being. One chat bot was scripted to be a janitor who had recently messed up at work and was worried about losing his job. Whenever someone mentioned a key word, like 'union,' or 'job' or 'boss' or 'problem,' the bot would pounce on it with something like, "You think you have problems, I'm going to lose my job." If the bot was at a loss, it would say that it was too distracted because of worry. The combination of self-centered conversation, the human-seeming problem, and the natural reluctance of anyone to call someone in pain a robot, this bot convinced a few people at the Loebner competition.


2. Write a Script

A risky, but sometimes highly successful way for a bot to game people is to go the opposite direction of Eliza. Instead of letting the person talk, the bot takes over the entire conversation. One bot at the Loebner Competition seized on the Clinton scandal. It started out with asking a person about the overall scandal. Whatever the person replied with, the bot said something like, "Oh, ha! It sounds like you're not a fan! But seriously, what do you think of his education policy?" The bot simply would not leave its home base, asking question after question until its time with the person was up. On occasion, this was an amazingly focused conversation, in which the people followed where the bot led and it seemed completely natural. Only when the person refused to play along, repeatedly telling the bot that they didn't want to talk about it or changing the subject themselves, that the bots complete incomprehension was exposed.

1. Pick a Fight

This is the big one. Fights don't need memory or consistency. They evolve on their own, with each response prompting new anger and outrage in the succeeding reply. Fights don't need spelling or grammar, or excuses for spelling or grammar to be bad. Fights don't make sense. They can constantly move on to something new, or they can endlessly repeat themselves. They don't need a wide variety of content. They can always default to stock phrases or silly dismissals or subject changes or meaningless insults without anyone suspecting anything is wrong. One of the earliest bots ever to utterly pass the Turing Test - a test that is passed when an ordinary human conducts a conversation with a bot without knowing that they're talking to a bot - was back during the proto-Internet. A student at a university left his bot, programmed with a few obnoxious phrases, on for the night. He came back to find a transcript of someone on the net hesitantly making contact. The bot responded with pre-programmed abuse. The person responded to that with anger, and a conversation went on for an hour before the person finally broke off in disgust. The person remarked on the fact that the program repeated itself 'like a goddamn robot or something,' well into the conversation, but never guessed that they were chatting with hardware. This is the ultimate way to make a bot seem human. It's also proof that absolutely anything can emulate humankind's worst qualities.

No comments:

Post a Comment