14 Using context and data to create smarter conversations

 

This chapter covers

  • Understanding the relevance of context within and across conversations
  • Designing for short- and long-term contexts
  • Implementing context and conditions
  • Using proactive data and domain knowledge for better user experiences
  • Working with dynamic data and ever-changing real-world contexts

Context refers to all the knowledge, perception, language and environment that affect the exact interpretation of an utterance and conversation. To understand context, think of a simple request you’d make of someone. Maybe “Open the window upstairs,” or “Turn down the volume,” or “What time do we need to leave?” What assumptions do you make when saying this? How does your wording change depending on who you’re talking to, their current location as well as your own, how well they know you and the topic, who else is nearby, what they’re doing and what else is happening around you? How might the response differ depending on the assumptions you make?

14.1  Why there’s no conversation without context

14.2  Reading and writing data

14.2.1    External accounts and services

14.2.2    External data from a system perspective

14.3  Persistence within and across conversations

14.4  Context-aware and context-dependent dialogs

14.4.1    Discourse markers and acknowledgments

14.4.2    Anaphora resolution

14.4.3    Follow-up dialogs and linked requests

14.4.4    Proactive behaviors

14.4.5    Topic, domain and world knowledge

14.4.6    Geo location-based behavior

14.4.7    Proximity and relevance

14.4.8    Number and type of devices

14.4.9    Time and day

14.4.10                        User identity, preferences and account types

14.4.11                        User utterance wording

14.4.12                        System conditions

14.5  Tracking context in modular and multiturn dialogs

14.5.1    Fulfillment

14.6  What’s next?

14.7  Summary