While "chatterbots" have been around since 1966, it has not been until the last few years that true virtual assistants have made real commercial traction. The primary determinant in whether a given virtual assistant is successful is fidelity - the degree to which it replicates a human. This is such a key tenet of what we do here at Next IT that we describe this undertaking as "human emulation".
So what is it specifically that separates the good from the bad, to the downright ugly? The key components are domain understanding and conformance to traditional human to human interaction principles.
Domain understanding is a relatively straightforward concept that is defined by the ability of the virtual assistant to address the majority of needs or questions users would have within a given domain. While domains that cover a limited number of discrete points of knowledge (in the hundreds) have become commonplace and relatively trivial to solve, domains which introduce substantial complexity with the ability to address thousands of different user needs require a whole other class of solution. It does not take a lot of complexity to cause the common VA to become confused and begin returning inaccurate or misleading responses.
Often technical crutches are used to address the issue of complexity, but these do little to reinforce the conversational resonance of a human to human exchange. Nothing screams "dumb machine" more than an auto completion field that continually blurts out how I should complete my inquiry. Another common methodology is segmenting the domain, whereby a user must first select from a list of topics, before interacting with the VA.
If we are to create great VAs we must conform to the principles of human to human conversation as illustrated in the cooperative principle. This describes how effective communication is achieved between humans by providing truthful, relevant information without overwhelming detail - while answering questions in a clear and adequate fashion.
This can be a challenge to VAs due to a general lack of awareness as to when they don't know, leaving them prone to breaking many of these social norms, and any sense of human "connection".
A key differentiator of great VAs that resonate with end users is the demonstration of active listening techniques. An often used trick in VA development is to employ broad patterns that will collect a variety of inputs on a similar topic, and provide a generic response that covers the gamut of possible situations. While sometimes this makes economic sense in terms of obscure subjects that don't justify the business case, other times it is indicative of natural language understanding capabilities that cannot distinguish subject matter to a sufficient level of granularity. Unfortunately this leaves active listening as one of the most under-utilized techniques in the common virtual assistant today.
Improvements in general knowledge awareness are also helping agents cope with unfamiliar territory. For instance if I ask a virtual assistant if they like Adele, the assistant can use more generic classification mechanisms to understand the subject a user is talking about - musicians or artists - without addressing it with a specific answer. In such a scenario a travel assistant may state "I am sorry, I am not too familiar with that artist". By leveraging active-listening skills the agent can acknowledge that the question is understood, but that it has no further information to offer on that subject - without breaking the feeling of a human like connection.