Dynamic Error Recovery in Conversational Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conversational systems are limited by pre-defined templates, restricting their ability to perform complex or novel actions in response to user utterances, as they rely on hard-coded actions and lack flexibility in handling errors and ambiguities.

Innovation Solution

Implementing a method that uses a previously-trained code-generation machine to generate data-flow programs from user utterances, allowing for dynamic processing and error handling by suspending execution and generating error-handling programs, enabling the automated assistant to respond more effectively to diverse user inputs and resolve ambiguities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If pre-defined templates are used for processing user utterances, then the system structure is simple and reliable, but the adaptability and flexibility to handle complex or novel actions is limited

Engineering Contradiction:
ImproveadaptabilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the error handling process into distinct phases: error detection, suspension of current execution, generation of error-handling data-flow programs, and execution of corrected programs. This segmentation allows the system to maintain a relatively simple overall structure while introducing targeted complexity only where needed for error recovery, thus improving adaptability without proportionally increasing system complexity

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces dynamic elements by generating error-handling data-flow programs on-the-fly based on detected errors and user utterances. The system transitions from static pre-defined templates to dynamic program generation, allowing the system to adapt to novel errors and situations while maintaining a consistent architectural framework, thereby improving versatility without overwhelming complexity increase

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If pre-defined hard-coded actions are used, then the system is reliable and easy to operate, but the ability to perform complex or novel actions is restricted

Engineering Contradiction:
ImprovecapabilityVSAvoidease of operation
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The system employs self-service mechanisms where the code-generation machine automatically generates error-handling data-flow programs without requiring manual intervention or reconfiguration. When errors are detected, the system autonomously suspends execution, generates appropriate correction programs, and resumes execution, maintaining ease of operation while significantly enhancing capability to handle complex or novel actions

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent utilizes parameter changes by dynamically modifying the data-flow program parameters and structure based on detected errors and user inputs. The system changes execution parameters, generates alternative program paths, and adjusts operational parameters to handle errors and novel situations, thereby expanding capability while preserving ease of operation through automated parameter adaptation

Inventive Principle:
Principle #35Parameter changes

3Reliability

If error handling is added to the system, then reliability improves, but processing time and computational resources increase

Engineering Contradiction:
ImprovereliabilityVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by suspending execution immediately upon detecting an error condition, before the error can propagate and cause system failure. The code-generation machine is prepared to generate error-handling programs as soon as errors are detected, minimizing the time lost to error handling by having the infrastructure ready in advance

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent applies the skipping principle by rapidly generating and executing error-handling data-flow programs without extensive intermediate processing steps. The system rushes through the error handling process by directly generating corrected programs and resuming execution, reducing the time overhead of reliability mechanisms while maintaining high reliability

Inventive Principle:
Principle #21Skipping (Rushing through)

Data Source

PatentUS11106536B2Error recovery for conversational systems
Publication Date: 2021.08.31 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11106536B2 patent drawing
  • US11106536B2 patent drawing
  • US11106536B2 patent drawing

AI summary

A method, comprising recognizing a user utterance for processing. The method further comprises using a previously-trained code-generation machine to generate, from the user utterance, a data-flow program configured to produce a return value upon successful execution. The method further comprises beginning execution of the data-flow program. Responsive to reaching an error condition resulting from execution of the data-flow program, the method further comprises, prior to the data-flow program producing the return value, suspending execution of the data flow program. The method further comprises using the previously-trained code-generation machine to generate an error-handling data-flow program, wherein the error-handling data-flow program is configured to produce the return value; beginning execution of the error-handling data-flow program to produce the return value; and outputting the return value.