getting started with conversational AI

Your Guide to Getting Started With Conversational AI

Now that I’ve covered how to put together an initial conversational AI team, let’s get into the nuts and bolts of developing your first project. I’m assuming at this point that you’ve identified a business area to start with. If not, see this post on conversational AI for the basics, or our 9 Principles of Conversational AI for help developing a roadmap.

As I mentioned in my team post, getting started with conversational AI doesn’t mean that you need to completely reinvent the software development process. The process that your company’s already following is likely perfectly adequate. That said, there are certain steps in the process that should be customized to conversational AI. That’s what we’ll focus on in this post. To make things more concrete, I’ll talk about an example that’s particularly exciting to me: applying conversational AI to the real estate market. While my example is hypothetical, companies like Opcity, OJO and roof.ai are already making strides in this space.

Problem Definition

First, you’re going to want to focus on areas where conversation is really the right solution. That means identifying areas where communication issues might already exist. Focus on areas where conversations either:

  • Are already part of the business process, but aren’t efficient or convenient.
  • Aren’t currently possible, and require the use of less personal forms of communication like email newsletters.

Keep in mind that some typical user needs that conversational AI can address are convenience, simplicity and engagement. Let’s dive into our hypothetical example. Imagine that Laura, a prospective home buyer, is having trouble finding an agent who she likes working with. Specifically, she wants someone who understands what she’s looking for in a home as well as the neighborhoods that are a good match for her.

To find the right agent, Laura would probably need to schedule a series of face-to-face meetings, and she’s likely to have the same conversation each time, repeating the same information over and over. This approach is bound to be both inefficient and inconvenient. With conversational AI, however, we can make sure that Laura has this conversation only once by sharing criteria for both agent and neighborhood with a bot. The bot can then make a handoff to a compatible agent, and Laura can pick up the conversation where she left off.

Requirements Gathering

It’s critical to understand which text or voice platforms your users are already using, as they’ll be unlikely to migrate to a new platform just to use your service. It’s important to note that platform preferences will vary significantly by demographic and geography. You’ll also want to understand how fragmented your target audience is, as that will help you determine if you need a cross-platform framework for development.

In the case of our real estate app, we’ll need to consider both the platform that Laura uses and the platform that the agents use to ensure compatibility and optimize response time. The goal is to help Laura find a compatible agent in under five minutes.

You’ll also want to think about where your users are located physically and what they’re doing when they engage in chat. This will inform your decision to use voice, text or a combination of the two. For instance, Laura might be out exploring neighborhoods or visiting open houses, and prospective agents might be on the road. That means that voice could be a good choice, though we may want to use chat as a supplementary channel for sharing images of houses or neighborhood maps.

Design

There are three unique design components to keep in mind when getting started with conversational AI:

1. Persona design. Users tend to ascribe human-like qualities to applications, even ones that are robotic and unintelligent. If you develop more sophisticated conversational AI, this tendency may be amplified. As such, it’s important to give deliberate thought to the personality you’re trying to create. Should it be bubbly? Authoritative? Deferential? You’ll want to choose an appropriate name, avatar or voice that matches these qualities. You’ll also want to be sure that the fact that your bot isn’t human is revealed to keep user expectations realistic.

2. Conversational design. Linguists know a lot about the unspoken rules of conversation that humans naturally follow in a given community of speakers. One of the most off-putting things a bot can do is violate these rules. For instance, humans try to keep conversations moving forward and only ask for clarification when they suspect a misunderstanding has occurred.

By contrast, many voice systems repeat back and request confirmation for each piece of information that the user supplies. Avoid this approach unless it’s truly necessary. You’ll also want to keep in mind the conversational norms of the platform you’re using. Use the right openers and closers for your conversation, and make sure the dialogue flow is natural and logical. Match the degree of formality your users expect, and be sure to consider emojis, abbreviations and special vocabulary.

3. Failure design. When a conversational AI application supports natural language input,  users will be able to express a wide range of intents. In this scenario, there will inevitably be times when the bot isn’t sure how to respond. You’ll want to think carefully about these cases and develop strategies for graceful failure and recovery. Your options range anywhere from a humorous, self-deprecating response to making a handoff to a human for real-time responses.

For our real estate application, we can develop a persona that’s friendly, trustworthy and professional — a persona that Laura can easily relate to and engage with throughout the entire  home buying process. On the conversational design side of things, we’ll want to make sure to ask Laura questions in the right order, getting the information that’s most useful for agent matching up front. We’ll also want to be sure that the handoff to a live agent is done seamlessly, summarizing all the information that’s been received from Laura so that the agent can pick up where the automated conversation left off.

With regard to failure design, we’ll need to consider how to respond if our bot doesn’t understand a specific request from Laura, for example a request for a list of properties with a pool. In this case, the bot should let Laura know that it didn’t understand, and confirm that her additional property criteria will be passed on directly to a live agent.

Implementation

When you’re getting started with conversational AI, it usually makes sense to leverage available tools and platforms for key components given the complexity of much of the underlying technology. Here’s a great overview of how to think about putting together your tech stack. You’ll also want to give careful consideration to how you’ll pull in and store data from disparate sources.

There are a few key things to consider in your architecture. The messaging or voice interface you select will need to be integrated with the Natural Language Understanding (NLU) module that supports the set of user intents relevant to your application. You’ll also need to specify the handoff points, if any, with human agents in each conversation and determine how your conversational AI platform will manage these. Finally, make sure your platform architecture supports feedback loops so that your bot is able to learn from each interaction.

For our real estate application, we’ll need a messaging channel to support asynchronous communication between Laura and the bot. We’ll also want back-end integrations for NLU services that will help the bot understand a wide range of intents. We’ll plan to use a NoSQL data store for capturing the conversational record and developing user models over time.

Testing and Launch

In addition to typical quality assurance testing, you’ll want to quantitatively measure the quality of the conversations. Think about measuring how often your application understands a piece of user input accurately, and how frequently the response is appropriate. Measure by asking the user for feedback directly or have a human score a sample set of interactions. You may want to launch to a limited set of users first to get some data on live conversations.

For our real estate app, we’ll want to measure the bot’s ability to recognize and understand the most common ways that Laura and other users tend to talk about homes. We’ll also want to keep track of how often the application succeeds at connecting users to a live agent and how long it typically takes. Lastly, and most importantly, we’ll want to determine if the match has been successful, either by asking users if they’re satisfied or logging an objective outcome such as the actual sale of a home.

Maintenance and Continuous Improvement

Part of the power of conversational AI is that users can express an unlimited set of ideas in a wide variety of ways. This is what makes conversational AI so satisfying, but it also means that you should absolutely plan on iteratively improving your conversational design. You’ll want to keep track of user intents that your application doesn’t handle so that you can expand coverage. Prune paths in your dialogue tree that don’t get used, and build out more detailed paths for popular topics.

For our real estate app, we’ll can start by analyzing sample conversations on a periodic basis and then prioritizing improvements accordingly. At a later date, we might want to move to more real-time adjustments or allow users or agents to train the bot on the fly when it fails.

How Will You Get Started with Conversational AI?

I hope this overview has given you a sense of the main considerations for successful conversational AI at each stage of your company’s development process. While there are some important differences, keeping them in mind throughout the process doesn’t have to be daunting. You definitely don’t need to start from scratch!

In my next post, I’ll talk more about how to choose a conversational AI strategy and roadmap aligned to the business metrics you care most about. In the meantime, I’m excited to hear your stories about how you’ve optimized your development process to take the unique facets of conversational AI into account. Connect with me on Twitter (I’m @jbrenier).