The Basic Anatomy of a Chatbot Conversation

Original article can be found here (source): Artificial Intelligence on Medium

The Essence Of Conversation

In a conversation two humans are naturally taking turns in exchanging information while organizing the conversational dialog turns sequentially.

The key elements your chatbot must make provision for are:

  • Recognize Common Conversational Actions
  • Persist the Sequential Context; Across Previous Turns, Into Future Turns


A sequence is the smallest unit of a human conversation. There are two types of sequences:

  • Adjacent Pair Sequences
  • Storytelling Sequences

Adjacent Pair Sequences refers to social action pairs, which is relatively easy to cater for. These include, Greeting & Greeting, Good Bye & Good Bye, Question & Answer, Offer & Accept/Reject, Request & Grant/Deny, Invite, Accept/Decline etc.

Example of An Adjacent Pair Sequence

When the first part of the pair is initiated, it creates an expectation for the second part to be fulfilled and often an obligation.

The initiation of an Adjacent Pair Sequence constrains the user in their response, but it should not determine it.

This should be seen as a collaborative effort between the user and the chatbot.

When designing a conversational interface, don’t restrict the user to the expected adjacent pair.

This will most probably lead to fallback proliferation; a snare most chatbot designers step into.

This is a classic case of Chatbot Fallback Proliferation

Here is the challenge, Adjacent Pair Sequences should be expandable.

Think of expansion as nested turns.

An expansion can bee seen as a sequence on a sequence. Base adjacent pairs stand on their own; while expansions do not.

They are dependent on the base. Should a chatbot design not allow for expansion, continuity is lost in the conversation.

Have a look at this example of simple expansion:

A Simple Example of Minimal Sequence Expansion

Here thanks is responsive to something which happened earlier…it actually closes a prior sequence.

5 Sequence Expansion Types According to R.J. Moore

Sequence expansion types are screening, repeat, base, elicit and close.

Expansion can be seen as the elasticity of your conversational design, to what extend can the conversation be expanded by the user while context and logic is maintained in the conversation.

The expansion element I find most interesting is screening. That is the common process of initial exploration of the chatbot by the user. It is crucial in engaging the user and ensuring the intent of the user is accurately determined.

Storytelling Sequence is an elongated conversation with a set of numerous instructions. The user is guided along the journey from instruction to instruction. The next instruction can be given by the chatbot after a user pause, or confirmation by the user.

The storytelling sequence must not be too rigid; it should allow for digression, breakout to another journey and navigation upwards and downwards.

Capability Check

During the screening phase of the conversation, the user is checking the capability of the chatbot, understanding the unseen conversational landscape of the conversational interface.

Irrelevance detection is important, and the chatbot must be able to see if user requests are irrelevant to the designed domain and advise the user accordingly.


Much focus is given to entity extraction, intent recognition and natural language processing; but sequential context is an important design consideration.