Conversational Patterns
by Joseph Tyler, Maaike Coppens, Ronald Ashri, Inge De Bleecker
Patterns help us make sense of the world. They identify and describe where there is regularity in a design. They make the design process and the outcomes more predictable. Patterns help us scale our thinking about a complex system through categorization and encapsulation of complex behavior under a simplified label. Patterns provide shared understanding between a team from design to development and deployment.
This library was created to make your life as a conversation designer easier and your conversational applications better. It collects insights about the nature of conversation, distills them into their most useful essence, and describes them through conversational patterns to make conversation design simpler and more robust.
Why a Pattern Library for Conversation Design?
Conversation is systematic
Conversations between humans show immense variation, but within all that variation there are consistent patterns.
People have studied these patterns: scholars of sociology, linguistics, anthropology and many other disciplines have studied the patterns of everyday talk under the banner of conversation analysis, discourse analysis, interactional sociolinguistics, and other terms.
These patterns have been recorded, analyzed and documented, showing the systematic nature of everyday conversational interaction. Being able to carry on a conversation involves the competent use of these conversational patterns.
The process of building a conversational application to carry on a conversation can be facilitated by understanding and using those patterns.
Most people don’t think about the details of everyday conversation while talking. We don’t deliberate on every word choice, the details of timing, how to transition between topics, or how to wrap up a conversation. We communicate everyday and generally the mechanics of conversation feel second-nature. But bots don’t know any of these things without being explicitly trained, and conversation designers need to know what to tell the bot to do. We can make the conversation design process easier AND more robust by collecting the many conversational patterns in everyday talk into a library.
Patterns capture conversation’s systematic nature
For our purposes, a conversational pattern is a sequence of conversational actions that can generalize beyond a single instance. As an example, a single conversation may start with each person saying “Hello”. That is, one conversational pattern is the conversation opening, which features each participant giving a greeting. Using the label “greeting” is a way of abstracting away from specific word choice to the social action (a greeting). Having a greeting-greeting conversation opening pattern means that a single pattern can be realised in thousands of ways, for example:
A: Hello
B: Hello
Less formally:
A: Howdy
B: Yo
More formally:
A: Greetings
B: Good day
In other languages:
A: Bonjour
B: Bonjour
The pattern exists independent of specific words. For conversation design, this means you can build a conversation structure one time but realize that structure in infinitely different ways. Patterns offer the structural strength for generalizability.
Patterns can help conversation designers
Now that we have established the patterned nature of human conversation, we can leverage this knowledge to make it easier to do conversation design. You are not starting from scratch! With a library of standard patterns, pre-built components, fleshed out to meet the common ways those patterns are used in everyday conversation, your design process can be more efficient, since you do not have to rebuild these patterns each time. Your designs also end up more robust, since you are less likely to leave out key components. The library of patterns is here to make it fast and easy to include a breadth of conversational competence. You’re not starting from zero. You’re starting with the basics already there.
OpenDialog wins with patterns
This library is useful for any conversation designer working on any platform. It is especially useful if you are on the OpenDialog platform! OpenDialog is a pattern-centric framework, able to leverage patterns for robust conversation design.
Select resources
Software Engineering
Last updated