Stack-Based Conversation Engine for Virtual Assistant Context Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current virtual assistance technologies face challenges in managing complex, naturally flowing human conversations due to the need for explicit management of context variables and intents, leading to fragile, inflexible, and costly development processes.

Innovation Solution

The implementation of a stack-based conversation engine that organizes user-initiated intents into an implicit context using a stack data structure, allowing for flexible composition of intents and loose coupling between skills, thereby avoiding the complexities of explicit context management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If explicit context management is used to track intents and conversation state, then conversation accuracy can be maintained, but system complexity and development cost increase significantly

Engineering Contradiction:
Improveconversation accuracyVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a stack data structure as an intermediary between the conversation processor and intent handlers. This stack automatically manages context variables and intent state, serving as a mediator that eliminates the need for complex explicit context management while maintaining conversation accuracy. The stack's LIFO (Last-In-First-Out) structure naturally handles nested intents and conversation state transitions.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The conversation system uses self-service by allowing the stack data structure to automatically manage its own state. When intents are pushed onto the stack and later popped, the system self-manages context without requiring external intervention or complex management logic. Each intent handler can independently push and pop items from the stack, making the system self-organizing and reducing overall complexity.

Inventive Principle:
Principle #25Self-service

2Productivity

If transactional models are used to structure virtual assistant interactions, then task completion can be achieved, but flexibility in handling natural conversation flows is reduced

Engineering Contradiction:
Improvetask completionVSAvoidconversation flexibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamics by allowing the conversation structure to be flexible and adaptive rather than rigid. The stack data structure enables dynamic addition and removal of intents based on natural conversation flow, allowing the system to adapt to user inputs in real-time while still completing tasks efficiently. This dynamic structure supports both transactional completeness and natural conversation flexibility.

Inventive Principle:
Principle #15Dynamics

3Measurement precision

If multiple context variables are tracked explicitly to maintain conversation state, then intent processing accuracy improves, but development time and cost increase

Engineering Contradiction:
Improveintent processing accuracyVSAvoiddevelopment time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent extracts the complexity of context variable management from the intent processing logic and places it into the stack data structure. By separating these concerns, the system maintains precise intent processing while reducing development time, as developers no longer need to manually manage complex context variables. The stack automatically handles state tracking, freeing developers from this burden.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11748122B2Stack-based communications systems and methods
Publication Date: 2023.09.05 CITRIX SYSTEMS INC
  • US11748122B2 patent drawing
  • US11748122B2 patent drawing
  • US11748122B2 patent drawing

AI summary

A stack-based conversation engine is provided. The conversation engine enables a voice or text based virtual assistant to create interactive, conversational experiences in an extensible manner. The conversation engine can be used to support a conversation between a user and a virtual assistant. The conversation engine can be configured to receive, from the virtual assistant, a fulfillment request specifying an intent from the virtual assistant; push an item onto a conversation stack stored, the item including an identifier of the intent; execute an action handler associated with the intent to generate instructions to manipulate the conversation stack; manipulate the conversation stack according to the instructions; and store the conversation stack for subsequent processing in support of the conversation.