0%

Conversational AI is a guide to creating AI-driven voice and text agents for customer support and other conversational tasks. This practical and entertaining book combines design theory with techniques for building and training AI systems. In it, you’ll learn how to find training data, assess performance, and write dialog that sounds human. You’ll go from building simple chatbots to designing the voice assistant for a complete call center.

Table of Contents

  1. inside front cover
  2. Conversational AI
  3. Copyright
  4. dedication
  5. brief contents
  6. contents
  7. front matter
    1. preface
    2. acknowledgments
    3. about this book
    4. Who should read this book
    5. How this book is organized: A roadmap
    6. About the code
    7. liveBook discussion forum
    8. Other online resources
    9. about the author
    10. about the cover illustration
  8. Part 1. Foundations
  9. 1 Introduction to conversational AI
    1. 1.1 Introduction to AI assistants and their platforms
    2. 1.1.1 Types of AI assistants
    3. 1.1.2 A snapshot of AI assistant platforms
    4. 1.2 Primary use cases for AI assistant technology
    5. 1.2.1 Self-service assistant
    6. 1.2.2 Agent assist
    7. 1.2.3 Classification and routing
    8. 1.3 Follow along with this book
    9. 1.3.1 What you need to create your assistant
    10. 1.3.2 Useful spreadsheet software
    11. 1.3.3 Recommended programming language and code repository
    12. Summary
  10. 2 Building your first conversational AI
    1. 2.1 Building a conversational AI for Fictitious Inc.
    2. 2.2 What’s the user’s intent?
    3. 2.2.1 What’s an utterance?
    4. 2.2.2 What’s a response?
    5. 2.2.3 How does the assistant understand what the user means?
    6. 2.2.4 Why machine learning?
    7. 2.2.5 What’s an intent?
    8. 2.2.6 What’s an entity?
    9. 2.2.7 Combining intents and entities
    10. 2.2.8 intents to the Fictitious Inc. assistant
    11. 2.3 Responding to the user
    12. 2.3.1 Simple question-and-answer responses
    13. 2.3.2 Contextualizing a response by using entities
    14. 2.3.3 An alternative way to provide contextual responses
    15. 2.3.4 Responding with a process flow
    16. 2.4 Other useful responses
    17. 2.4.1 Detecting low confidence
    18. 2.4.2 Counting misunderstandings
    19. 2.4.3 Implementing confidence detection and the two-strikes rule
    20. 2.5 Try to build this conversational AI yourself
    21. Summary
  11. Part 2. Designing for success
  12. 3 Designing effective processes
    1. 3.1 What processes will the assistant handle?
    2. 3.1.1 Designing for the most common user needs
    3. 3.1.2 Assembling a plan and a dream team
    4. 3.1.3 Managing the design process
    5. 3.1.4 Cross-cutting design aspects
    6. 3.2 Choosing the channel to implement first
    7. 3.2.1 How users receive information in voice and web
    8. 3.2.2 How the assistant receives information in voice and web
    9. Summary
  13. 4 Designing effective dialogue
    1. 4.1 Writing dialogue
    2. 4.1.1 Take a conversational tone
    3. 4.1.2 Don’t repeat yourself (much)
    4. 4.1.3 Acknowledge the user
    5. 4.2 Asking questions
    6. 4.3 What if the assistant doesn’t understand?
    7. 4.3.1 Reprompting
    8. 4.3.2 Disambiguation
    9. 4.3.3 Escalation
    10. Summary
  14. 5 Building a successful AI assistant
    1. 5.1 AI assistant use cases
    2. 5.2 Conversational AI success metrics
    3. 5.2.1 Containment
    4. 5.2.2 Time to resolution
    5. 5.2.3 Net promoter score
    6. 5.2.4 Coverage
    7. 5.2.5 Instrumenting your conversational AI
    8. 5.3 Command interpreter success metrics
    9. 5.3.1 Usage
    10. 5.3.2 Stickiness
    11. 5.3.3 Instrumenting your command interpreter
    12. 5.4 Event classifier success metrics
    13. 5.4.1 Time to resolution
    14. 5.4.2 Number of hand-offs
    15. 5.4.3 Other customer satisfaction metrics
    16. 5.4.4 Instrumenting your classifier
    17. Summary
  15. Part 3. Training and testing
  16. 6 Training your assistant
    1. 6.1 Training an AI assistant
    2. 6.2 Finding training data
    3. 6.2.1 Production logs
    4. 6.2.2 A mock user interface
    5. 6.2.3 Subject-matter experts
    6. 6.2.4 Organizing training data into intents
    7. 6.3 Assessing whether you have the right training data
    8. 6.3.1 Training data variety
    9. 6.3.2 Training data volume
    10. 6.3.3 Training data veracity
    11. Summary
  17. 7 How accurate is your assistant?
    1. 7.1 Testing an AI assistant for accuracy
    2. 7.1.1 Testing a single utterance
    3. 7.1.2 Testing multiple utterances
    4. 7.1.3 Selecting a test data set
    5. 7.2 Comparing testing methodologies
    6. 7.2.1 Blind testing
    7. 7.2.2 k-folds cross-validation test
    8. 7.3 Selecting the right accuracy metric for the job
    9. Summary
  18. 8 Testing your dialogue flows
    1. 8.1 Functionally testing a dialogue flow
    2. 8.1.1 Manually testing a conversation flow
    3. 8.1.2 Automating a conversation flow test
    4. 8.1.3 Testing the dialogue flowchart
    5. 8.1.4 Testing the unexpected error paths
    6. 8.2 Nonfunctionally testing a dialogue flow
    7. 8.2.1 User experience testing
    8. 8.2.2 Load testing
    9. Summary
  19. Part 4. Maintenance
  20. 9 Deployment and management
    1. 9.1 Where to store your code
    2. 9.1.1 Taking the Wild West approach
    3. 9.1.2 Using source control for code
    4. 9.2 Where to run your code
    5. 9.2.1 Development environment
    6. 9.2.2 Test environment
    7. 9.2.3 Production environment
    8. 9.2.4 After the first production deployment
    9. 9.3 Using source control for other assets
    10. Summary
  21. 10 Improving your assistant
    1. 10.1 Using a success metric to determine where to start improvements
    2. 10.1.1 Improving the first flow to fix containment problems
    3. 10.1.2 Inspecting other process flows for containment problems
    4. 10.2 Analyzing the classifier to predict future containment problems
    5. 10.2.1 Representative baseline
    6. 10.2.2 Finding gaps in the training data
    7. 10.3 When and why to improve your assistant
    8. 10.3.1 You can’t fix everything at once
    9. 10.3.2 You can’t always predict how users will react
    10. 10.3.3 User needs will change
    11. 10.3.4 Not every problem is technical
    12. Summary
  22. Part 5. Advanced/optional topics
  23. 11 Building your own classifier
    1. 11.1 Why build your own classifier?
    2. 11.1.1 Classification is a differentiator
    3. 11.1.2 Classification is a core competency
    4. 11.1.3 Traceability
    5. 11.1.4 To learn
    6. 11.1.5 Build or buy?
    7. 11.2 Build a simple classifier from first principles
    8. 11.2.1 The simplest text classifier
    9. 11.2.2 The mathematics behind a simple classifier
    10. 11.3 Expanding the simple classifier
    11. 11.3.1 Predicting more than one class
    12. 11.3.2 An all-in-one classifier
    13. 11.3.3 Comparing binary classifiers to all-in-one classifiers
    14. 11.4 Extending even further
    15. 11.4.1 What happens when you add more training data?
    16. 11.4.2 Exercise: Experiment on your own
    17. Summary
  24. 12 Additional training for voice assistants
    1. 12.1 Collecting data to test a speech-to-text model
    2. 12.1.1 Call recordings as speech training data
    3. 12.1.2 Generating synthetic speech data
    4. 12.2 Testing the speech-to-text model
    5. 12.2.1 Word error rate
    6. 12.2.2 Intent error rate
    7. 12.2.3 Sentence error rate
    8. 12.3 Training a speech-to-text model
    9. 12.3.1 Custom training with a language model
    10. 12.3.2 Custom training with an acoustic model
    11. 12.3.3 Custom training with grammars
    12. Summary
  25. Appendix. Glossary of terms and abbreviations
  26. index
  27. inside back cover
3.138.69.45