Chatbots with non-linear conversations
The method enables non-linear conversation management in chatbot systems by allowing users to create and navigate multiple paths, addressing context preservation and efficiency challenges in complex dialogues.
Patent Information
- Authority / Receiving Office
- DE · DE
- Patent Type
- Utility models
- Current Assignee / Owner
- POWERCLAIM GMBH
- Filing Date
- 2025-11-26
- Publication Date
- 2026-05-07
AI Technical Summary
Current conversational AI systems face challenges in managing complex, non-linear conversations, leading to difficulties in preserving context, navigating long dialogues, and efficiently exploring multiple topics, with limited mechanisms for users to intuitively visualize and manage diverging conversation threads.
A method for managing non-linear conversations by allowing users to create and switch between multiple conversation paths within a chatbot interface, where user prompts can be modified to generate separate responses, preserving the original path and enabling simultaneous display of both paths for comparison and navigation.
This approach enhances usability by allowing users to explore alternative dialogue scenarios efficiently, maintaining context integrity, reducing errors, and improving interaction efficiency through state-aware processing and resource optimization.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[0001] The utility models intended to protect and the subject matter of the utility model, in accordance with the requirements of the Utility Model Act, are only devices as defined in the accompanying claims, but not methods. In cases where the description refers to methods, these references serve solely to describe the device or devices for which protection is sought under the accompanying claims. TECHNICAL AREA
[0002] This disclosure concerns the area of dialogue-oriented user interfaces and, in particular, the management of non-linear conversations with chatbots. BACKGROUND
[0003] Conversational artificial intelligence (AI) systems, commonly known as chatbots, have become increasingly important. These systems enable natural language interaction between humans and machines, allowing users to engage in text-based, voice-based, or multimodal dialogues to complete tasks, retrieve information, or simply communicate.
[0004] With the advancement of chatbot technology, interactions have become increasingly complex and lengthy. Users frequently engage in multi-part conversations that span several topics, contexts, and questions. These extended dialogues create a rich pool of information exchanged between the user and the chatbot. However, managing these conversations presents a number of challenges for both users and developers.
[0005] In traditional chatbot interfaces, conversations typically proceed linearly, with each user input followed by a corresponding chatbot response in chronological order. While this linear structure mirrors traditional human conversations, it can limit the natural exploration of ideas, which often involves revisiting previous points, considering alternatives, or pursuing multiple questions simultaneously.
[0006] When users want to explore an alternative approach to a previously discussed topic, they often face two choices: either starting a completely new conversation and thus losing the conversational context established in the original exchange, or attempting to steer the existing conversation in a different direction, which can lead to confusion as the discussion jumps between different topics. Managing the conversation flow and context becomes increasingly complex as the length and diversification of topics grow.
[0007] Navigating long conversations presents additional challenges. The longer dialogues become, the more tedious it can be to find specific information or return to earlier discussion points. Users may have to scroll through numerous conversations to find relevant information, which can interrupt their train of thought or workflow.
[0008] Organizing conversation content also presents a challenge. Unlike structured documents, which can be organized with headings, sections, or indexes, conversational interfaces typically present information in a simple chronological order. This temporal organization may not reflect the conceptual or thematic relationships between different parts of the conversation, making it difficult for users to develop a coherent understanding of complex topics discussed across multiple rounds.
[0009] Context management in longer conversations leads to further complications. As a conversation progresses, earlier information can lose relevance or even contradict the current discussion. However, it remains difficult to determine which earlier conversation threads should influence subsequent responses. The chatbot might retain information that is no longer accurate or fail to consider relevant context from earlier conversation threads.
[0010] When users want to compare different approaches or answers to a specific user query, they typically have to make several separate queries and manually compare the results. This process can be inefficient and may fail to preserve the broader conversational context in which these alternatives are being considered.
[0011] Current conversational interfaces often offer users limited mechanisms to indicate the relative importance of different parts of a conversation or to direct the chatbot's attention to specific previous exchanges. This can lead to responses that overlook important information or give undue weight to tangential points.
[0012] US 2025 / 0068258 A1, filed by Google LLC, discloses conversational interfaces with multimodal inputs and mind-map-like interactions. It describes a "mind map" chat interface where selecting a previous prompt and adding a new input creates a non-linear branch with linked user inputs. However, the interface still maintains a fundamentally linear response flow and cannot fully capture or represent the complexity of non-linear, multi-path conversations. As a result, users are unable to intuitively visualize or manage diverging conversation threads, which can be particularly problematic in scenarios with ambiguous prompts or the need to explore multiple stylistic or contextual options.
[0013] US 2020 / 0356237 A1 from International Business Machines Corp. discloses the interaction with a chatbot of a computer system. Based on a user request, several predicted chatbot paths are generated, forming a hierarchy of predicted chatbot content for user-chatbot interaction. A user selection of a predicted chatbot path is received, and user interaction with the chatbot along the selected predicted chatbot path is facilitated. Accordingly, the document discloses a predictive system that generates potential or predicted chatbot paths. The user's interaction is limited to selecting one of these pre-calculated future routes.
[0014] US patent 11,095,579 B1, filed by YSEOP SA, discloses a method for summarizing a chatbot interaction with a user. The user-chatbot interaction is strictly linear.
[0015] US patent 11,550,565 B1, filed by State Farm Mutual Automobile Insurance Company, discloses a system in which an administrator can rearrange elements in a backend workflow editor. This allows the workflow template to be configured at design time. At runtime, the end user follows the predefined path.
[0016] US patent 10.901.603 B2 from Nextwave Software Inc. and Conversant Teamware Inc. discloses techniques for the visual organization of multiple parallel chat topics to allow more than two participants to take part in a group messaging conversation.
[0017] US 10,628,775 B2 from SAP SE discloses techniques for the visual representation of information in user-definable Sankey diagrams in a graphical user interface.
[0018] US Patent 2004 / 0267701 A1 by E. Horvitz et al. discloses techniques for facilitating the efficient and automated presentation of information to users. A decomposition component automatically decomposes a piece of information into sets of subcomponents in a two- or three-dimensional isometric space and generates visualizations with interactive graphics that allow users to examine the respective subcomponents.
[0019] US 12,210,849 B1 by K. Coursey discloses a virtual AI language agent with self-improvement capabilities that uses language modeling and tree search techniques.
[0020] US 2022 / 0158962 A1 by A. Antonov reveals the grouping of contacts who have a common conversation in an email program.
[0021] US 2023 / 0308536 A1 from Fujifilm Business Innovation Corp. discloses a side-by-side representation of two lines of simultaneous conversations in the context of conversations between different users.
[0022] IBM's US patent 20242 / 44026 A1 discloses techniques for creating a prioritized global conversation thread in a data processing system. The method can combine received messages to form a multitude of conversation threads. Important messages can be extracted from these conversation threads and displayed to a user based on message priority.
[0023] Despite continuous progress in the field of dialogue-oriented AI, challenges remain in addressing some of these problems, particularly in developing interfaces that support more flexible and natural patterns of human-computer dialogue while ensuring usability and coherence. SUMMARY OF THE REVELATION
[0024] The objective of the embodiments of this disclosure is to provide advanced conversational interfaces that manage nonlinear dialogue flows in chatbot interactions and enable users to interact more naturally and flexibly. This objective is achieved by the subject matter defined in the independent claims. Advantageous modifications of embodiments of this disclosure are defined in the dependent claims, as well as in the description and drawings.
[0025] In its first aspect, the present disclosure relates to a method for managing a non-linear conversation with a chatbot. The method may be computer-implemented. A chatbot is to be understood as a computer program or an artificial intelligence system configured to provide human users with a human-like conversational partner, typically including text or speech interactions.
[0026] In embodiments, the method comprises displaying a conversation between a user and a chatbot on a conversational user interface. The conversational user interface is preferably a graphical or textual interface that represents the ongoing exchange between the user and the chatbot and allows the user to input and view responses in real time, i.e., during the conversation. The conversation can comprise any number of messages. The messages can include any number, in particular a multitude, of user prompts and any number of corresponding chatbot responses. The user prompts and chatbot responses can form an initial conversation path, which can be visualized as a linear structure within the user interface.The term “first” conversation path refers to the initial dialogue flow, where each user request is followed by a chatbot response and the sequence continues as the user continues to interact with the chatbot.
[0027] In embodiments, the method includes the ability for the user to revisit parts of the conversation and create a second conversation path separate from the first. In this way, the conversation can have multiple conversation paths (also called branches) radiating from a common starting point. The common starting point can be any message within the conversation, such as a specific user prompt or a particular chatbot response.
[0028] In some embodiments, the creation of the second conversation path can occur in response to a user request. The user request can include actions such as selecting a message within the conversation, including any user prompt or chatbot response, and indicating that a second conversation path should be created. Such an indication might include, for example, selecting the appropriate user interface element to create a second conversation path, instructing the chatbot to create a second conversation path, or similar actions.
[0029] In embodiments, the method involves modifying a user prompt within the conversation on the conversational user interface. The modification can occur in response to a user request. Accordingly, the method allows the user to change a previously entered user prompt within the conversation. The user request can include actions such as selecting a user prompt and editing its content. Thus, modifying a user prompt is another example of how a second conversation path can be created. In the example above, "modifying" can include editing a user prompt directly within the first conversation path.In another example, “changing a user prompt within the conversation in response to a user request” may involve editing a user prompt within the second conversation path, for example by copying a user prompt that exists in the first conversation path, creating a second conversation path, e.g., as described in the previous paragraph, pasting the copied user prompt into the newly created second conversation path, and editing its content there.
[0030] Regardless of how the second conversation path was created, after such creation the conversation will have multiple paths branching off from a common starting point. This common starting point can be any message, such as any user prompt or chatbot response within the conversation.
[0031] In embodiments, the method includes displaying a chatbot response to the modified user prompt on the conversational user interface. Accordingly, when the user prompt is changed, a new chatbot response for the modified prompt is generated and displayed on the conversational user interface.
[0032] In some embodiments, the chatbot's response to the modified user prompt is displayed in a second conversation path, separate from the first. Preferably, the second conversation path is regenerated in response to the change in the user prompt. The term "second" conversation path refers to a conversation path that is visually distinguishable to the user when displayed in the conversational user interface. By displaying the second conversation path separately from the first, the user can view both the original and the modified dialogue flow simultaneously or by switching between them.
[0033] Separating conversation paths within the dialog-oriented user interface significantly simplifies the management of non-linear conversations. Users can explore alternative dialogue scenarios by modifying previous prompts—for example, by directly editing an existing user prompt within the first conversation path or by creating a modified copy of an existing user prompt within the second conversation path—and observe the resulting chatbot responses without losing the order and context of the original conversation. This approach increases the flexibility and usability of chatbot systems, particularly in applications where users might want to revisit and revisit earlier parts of the conversation to achieve different outcomes or clarify information.By allowing users to modify previous prompts and create different conversation paths, the method offers a more dynamic and user-driven conversation experience.
[0034] The exposed user interface and processing scheme provide a computer-implemented mechanism that reliably assists the user in performing a technical task through a continuous and guided human-machine interaction process. A previous user prompt within an ongoing conversation can be edited; in response, the system creates a separate ("second") conversation path and displays a corresponding chatbot response in this second path, while maintaining and simultaneously displaying the original ("first") conversation path. Furthermore, a subsequent user prompt can be appended to either the first or the second conversation path, depending on which one has been selected as the active conversation path.
[0035] In one embodiment, the second conversation path is automatically selected as the active conversation path, so that a subsequent user prompt is appended to the second conversation path. In other embodiments, the user can change which of the paths should be the active conversation path in response to appropriate user input. These functions control the machine's downstream computation in a deterministic, state-aware manner. This non-destructive branching and path-bound continuation constitute a specific input protocol and state management scheme that modifies how the computer accepts, uniquely identifies, and processes input over time, rather than merely changing the visual appearance of information.
[0036] The exposed arrangement produces objective, machine-verifiable technical effects. First, state integrity is improved because the original ("first") conversation path is preserved; destructive overwrites are avoided, and previous states are reproducibly recoverable. Second, input accuracy is increased because subsequent prompts are unambiguously bound to the selected, active path, reducing misbindings and erroneous processing in the wrong context. Third, interaction efficiency is improved because the user can reach a desired alternative dialog state in fewer steps by selecting and continuing the appropriate branch at the fork, rather than having to reconstruct the conversation history.Fourth, the internal functioning of the computer can be improved through technical implementations that naturally support the branching interface: A conversation graph data structure (e.g., a directed acyclic graph with shared prefixes and branch identifiers) can facilitate functional access to the state and control system operation; delta inference and reusing the cached model state for shared prefixes can reduce computational overhead, memory traffic, and latency; streaming only delta tokens to the client can reduce bandwidth; and platform-aware load balancing (e.g., scheduling generation on accelerators while keeping UI and branch management on CPU threads) can improve resource utilization and throughput.Optional embodiments can include branch-related write permissions and transactional updates to prevent race conditions and lost updates during parallelism and to further improve robustness. If the interface accepts speech input, the speech-to-text mapping to form the processed or subsequent prompts is itself a technical process integrated into the overall guided interaction. The combined effect is a causally related improvement in computer operation (lower latency, reduced bandwidth and processing power, higher throughput, improved parallelism safety) and the reliability of human-machine interaction (fewer state loss incidents, fewer input binding errors), all resulting from the claimed mechanisms of non-destructive branch creation, parallel path replay, and / or explicit path-bound continuation.
[0037] From a computer technology perspective, the disclosed approach improves the functionality of the computer itself and its user interface. The nonlinear conversation, which includes a first conversation path and a second conversation path, implies a specific data structure that enables faster retrieval of the dialog state and more efficient storage / transmission through reference-based updates; an explicit branching identifier can provide a machine-interpretable constraint that governs subsequent processing flows; delta generation and cache reuse can lead to measurable reductions in end-to-end latency and computational overhead; and an architecture-aware division of labor can improve system throughput.These improvements are not merely an automation of a mental process or an abstract organization of human activities, but are achieved through specific technical means that control how the computer captures, stores, retrieves, and processes conversational inputs and states over time.
[0038] Accordingly, the disclosed embodiments offer a technical character and a technical contribution by defining specific computer-implemented mechanisms for input processing, state management, simultaneous display, and resource-efficient processing that credibly support the user in a continuous and guided human-machine interaction ( ). These mechanisms lead to objectively verifiable improvements in internal computer functionality and interaction reliability. The claims describe a specific improvement in computer interfaces and data processing that is integrated into a practical application and encompasses significantly more than a generic computer implementation.
[0039] In some implementations, the first conversation path can be linked to a first chat, and the second conversation path to a second chat. This allows the user to switch between conversation paths by viewing either the first chat hosting the first conversation path or the second chat hosting the second conversation path. In this way, the ability to create multiple conversation paths can be seamlessly integrated into chat-based, dialog-oriented user interfaces.
[0040] In some implementations, the first and second conversation paths can be displayed simultaneously on the dialog-oriented user interface. This allows users to view and compare multiple conversation threads at once, thereby improving context awareness.
[0041] In some implementations, simultaneous display can be achieved by rendering the paths in vertical and / or adjacent sequences within the dialog-oriented user interface. Each sequence can list the user prompts and corresponding chatbot responses for that path in sequential order.
[0042] In some implementations, the first and second conversation paths can be displayed as a tree structure. This visualization clarifies the relationship between different conversation branches and makes navigation more intuitive.
[0043] In an implementation, the tree structure can include a root node, corresponding to an initial user prompt in the conversation, and / or a child node for each subsequent chatbot response and user prompt. The modified user prompt can be located on a branch representing the second conversation path. This branch can extend from a branch representing the first conversation path. The user interface can visually differentiate the various branches, for example, through lines, connectors, color coding, and / or the positioning of user prompts and chatbot responses.
[0044] In some embodiments, the creation of the second conversation path automatically selects the second conversation path as the active conversation path, for example, by prompting the display of the second chat associated with the second conversation path, and a subsequent user prompt is appended to the conversation path currently selected as the active conversation path until the user changes the selection via a path selection control displayed on the conversation user interface, such as a chat list from which the user can select the chat to become the active chat.
[0045] In some implementations, both the first and second conversation paths can be displayed in an expanded state. This provides a comprehensive overview of all conversation branches simultaneously, thus enabling better comparison and analysis.
[0046] In embodiments, the method may further include transferring a display of the first conversation path to a reduced state, while the second conversation path is displayed in an expanded state. This reduces visual clutter while maintaining focus on the currently relevant conversation branch. In one implementation, the reduced state may, instead of the user prompts and chatbot responses of a conversation path, include one or more of the following: a summary, a representative element (e.g., the initial user prompt or a branching point), or a symbolic representation of at least some of the user prompts and chatbot responses of the branch. Such a display of a summary, representative element, or the like may be in a chat list if the conversation user interface includes one.In this case, the summary, representative element, or the like can take the form of a label that is linked to the respective chat and / or conversation path.
[0047] In some embodiments, the first conversation path in the collapsed state can be represented by a summary element or other minimized representation. Detailed nodes of this path can be omitted from the layout and drawing until they are expanded, thereby reducing the rendering workload and memory consumption.
[0048] In embodiments, the method can further include automatically generating a multitude of alternative chatbot responses to a user request and presenting each alternative in a separate, simultaneously visible conversation branch. Each alternative can be identified by a unique style parameter selected from a predefined set. A selector can be provided that allows the continuation of any one of the branches while preserving the others.
[0049] In embodiments, the method may further include displaying at least one first label associated with the first conversation path and / or at least one second label associated with the second conversation path on the conversation user interface. This improves navigation and identification of different conversation threads through clear visual markers.
[0050] In some embodiments, at least one of the first labels or the second label can be a chatbot-generated label. This automates the organizational process and reduces the cognitive load on users by providing AI-generated contextual information.
[0051] In certain implementations, the chatbot-generated label reflects the subject, intent, and / or distinguishing feature of the corresponding conversation path, for example, by summarizing the user-modified prompt or highlighting a key topic discussed in that path. The chatbot-generated label may be customizable by the user.
[0052] In some implementations, at least one of the first or second labels can be a user-generated label. This gives users control over how conversation branches are categorized and allows for personalized organization.
[0053] In embodiments, the method can further include maintaining different conversation contexts for the first and second conversation paths. This ensures contextual integrity across all branches, prevents mutual influence of topics, and improves the relevance of the responses.
[0054] In an implementation, a conversation context comprises a set of background information, knowledge, and / or states associated with the corresponding conversation path. This can include one or more of the following: the stored variables of a conversation, topics, or the previous discussion history that are relevant for subsequent chatbot responses within that conversation path.
[0055] In embodiments, the method may further include receiving a user request to merge the second conversation path into the first. The method may also include generating a merged conversation context. Furthermore, the method may include displaying a subsequent chatbot response within a merged conversation path, based on the merged context, on the conversation user interface. This enables the integration of insights from multiple conversation threads while maintaining a coherent dialogue.
[0056] In some implementations, generating the merged conversation context can involve creating an automated summary of the second conversation path and inserting the summary into a conversation context of the first conversation path. This efficiently combines information without cluttering the context window, preserving key insights while reducing token usage.
[0057] In some implementations, the user request to merge can be received via a drag-and-drop operation of a user prompt or chatbot response from the second conversation path to the first conversation path on the conversation user interface. This provides an intuitive and direct manipulation interface for managing the conversation flow and improves usability.
[0058] In embodiments, the method can further include receiving a user selection to exclude selected user prompts or chatbot responses from a current conversation context. The method can also include generating a subsequent chatbot response based solely on the included previous user prompts and chatbot responses. This enables focused conversations by removing irrelevant or outdated information, thereby improving response quality and relevance.
[0059] In embodiments, the method may further include displaying a navigable timeline slider representing the conversation. The timeline slider may include nodes for the first conversation path and / or the second conversation path. The slider may be configured to navigate the display to each user prompt or chatbot response on each conversation path. This creates a visual time map of the conversation and enables rapid navigation through complex, branching dialogues.
[0060] In various implementations, the timeline slider can include a variety of visual markers. Each marker can correspond to a key message or a summary within the conversation. This highlights important moments in the conversation history, enabling efficient review and navigation to critical points.
[0061] In embodiments, the method can further include displaying a semantic map of the conversation. The semantic map can comprise a multitude of nodes grouped by topic. Each node can represent a group of related user prompts and chatbot responses from one or more conversation paths. This organizes information according to conceptual relationships rather than chronology, making thematic connections between different branches visible.
[0062] In embodiments, the method may further include receiving a user selection of two or more conversation paths, including the first and second conversation paths. The method may further include receiving a weighting for each of the selected conversation paths. The method may also include generating a consensus chatbot response by synthesizing content from the selected conversation paths according to their respective weightings. This allows for nuanced control over how multiple conversation threads influence the final output, thereby generating balanced responses that incorporate different perspectives.
[0063] In embodiments, the method can further include displaying the consensus chatbot response with inline origin indicators that link parts of the consensus response to their source conversation path. This creates transparency by showing which parts of the response originate from which conversation branches, building trust and facilitating verification.
[0064] In embodiments, the method may further include inserting a capsule thread. The capsule thread may open a side window, decoupled from the main conversation context, for up to a predetermined number of back-and-forth exchanges. The capsule thread may be compressed into a single inline capsule symbol, possibly with an attached extract and / or a badge for unread messages when closed. The method may include excluding the capsule contents from the main branch unless they are explicitly merged.
[0065] In some implementations, off-screen segments of the conversation paths are virtualized so that they are only rendered or transmitted when they are scrolled into view, thereby reducing rendering workload, memory usage, and network bandwidth.
[0066] Another aspect of the present disclosure relates to a data processing system, device, or apparatus. The data processing system, device, or apparatus may include means for performing any combination of steps of the described procedures. The data processing system, device, or apparatus may include a display. The data processing system, device, or apparatus may include at least one processor. The data processing system, device, or apparatus may include a memory. The memory may store instructions which, when executed by the at least one processor, cause the system to perform any combination of steps of the described procedures.The method can involve displaying a conversation between a user and a chatbot on a conversational user interface, where the conversation comprises a variety of user prompts and corresponding chatbot responses, forming an initial conversation path. The method can also involve modifying a user prompt within the conversation on the conversational user interface in response to a user request. Finally, the method can involve displaying a chatbot response to the modified user prompt on the conversational user interface, with the chatbot response to the modified user prompt being displayed in a second conversation path separate from the initial conversation path.
[0067] Another aspect of the present disclosure relates to a computer program. Another aspect of the present disclosure relates to a non-transitory, computer-readable medium on which a computer program is stored. In both cases, the computer program may include instructions which, when the program is executed by a computer, such as the aforementioned data processing system, device, or apparatus, cause the computer to perform any combination of steps of the described “procedure.” The procedure may include displaying a conversation between a user and a chatbot on a dialog-oriented user interface, the conversation comprising a variety of user prompts and corresponding chatbot responses that form an initial conversation path.The procedure can involve modifying a user prompt within the conversation on the dialog-oriented user interface in response to a user request. The procedure can also involve displaying a chatbot response to the modified user prompt on the dialog-oriented user interface, with the chatbot response appearing in a second conversation path separate from the first. A computer program can also be referred to as a program, software, software application, app, module, software module, script, or code. A computer program can be written in a programming language, including compiled or interpreted languages.A computer program may be provided in any form, including as a standalone product or as a module, component, subprogram or other unit suitable for use in a computer environment, such as on the aforementioned data processing system, device or apparatus.
[0068] One advantage of the embodiments of the present disclosure is that several alternative conversation paths can be maintained simultaneously, thereby preserving state integrity and enabling a reproducible restoration of previous dialogue states as an objective, machine-verifiable effect.
[0069] Another advantage of embodiments of the present disclosure is that a user can navigate between diverging dialog branches with fewer interaction steps, for example via path-aware selection controls, thereby providing guided human-machine interaction that reduces input errors and speeds up access to the intended state.
[0070] Another advantage of the embodiments of the present disclosure is that changes to previous input prompts no longer delete or obscure subsequent exchanges, since non-destructive branching prevents overwriting and preserves data consistency and verifiability.
[0071] Another advantage of embodiments of the present disclosure is that the structured visualization of conversation paths improves overall clarity by maintaining an overview while allowing focused details, thereby eliminating limitations regarding screen space and improving retrieval time.
[0072] Another advantage of the embodiments of the present disclosure is that the lack of clarity in long chats can be reduced by selectively hiding parts of the dialogue, thereby reducing the rendering workload, memory consumption and bandwidth for off-screen segments.
[0073] Another advantage of the embodiments of the present disclosure is that individual branches can maintain an isolated context state to prevent mutual contamination of information, for example by using explicit branch identifiers and context-related windows for deterministic processing.
[0074] Another advantage of the embodiments of the present disclosure is that users can explore alternative solutions in parallel without duplicating manual work, and thus reduce redundant calculations and latency with fewer inputs, i.e., human-computer interactions.
[0075] Another advantage of embodiments of the present disclosure is that the retrieval of relevant information is facilitated by an organized marking of conversation segments, which serves as an index to reduce search complexity and access delay.
[0076] Another advantage of the embodiments of the present disclosure is that merging separate branches can provide a unified perspective when necessary, with deduplication and coordination resulting in a consistent state representation and less redundant data transmissions.
[0077] Another advantage of embodiments of the present disclosure is that the selective inclusion or exclusion of previous messages allows a focused continuation of the dialogue, creating a deterministic context window that can reduce the latency of model inference and error rates.
[0078] Another advantage of embodiments of the present disclosure is that navigation controls using jump indices and virtualization enable rapid traversal of the conversation flow, thereby reducing interaction events and redraws.
[0079] Another advantage of embodiments of the present disclosure is that the semantic grouping of related messages supports thematic understanding through clustering, thereby improving retrieval ranking and compressing the representation for efficient storage and transmission.
[0080] Another advantage of embodiments of the present disclosure is that maintaining discrete branches promotes more reliable and consistent chatbot responses by preserving a stable, unambiguous context, thereby reducing deviations and processing errors.
[0081] Another advantage of embodiments of the present disclosure is that resource consumption can be optimized by processing only the active branch context, thereby reducing CPU / GPU computing power, memory bandwidth and network I / O, and thus improving throughput and latency.
[0082] Another advantage of the embodiments of the present disclosure is that consensus synthesis from multiple branches can help users make informed decisions by reducing manual cross-checking and streamlining data processing through algorithmic aggregation (e.g., ranking, voting, deduplication).
[0083] Another advantage of the embodiments of the present disclosure is that improved traceability of the conversation development is provided for audit or verification purposes, for example by using immutable branch identifiers and origin logs to enable reproducible replications and forensic analysis.
[0084] Another advantage of embodiments of the present disclosure is that the user's creative exploration is encouraged by simply branching and recombining ideas, with the optional reuse of common prefixes and delta storage reducing the computational and storage overhead per alternative.
[0085] A further advantage of the embodiments of the present disclosure is that the overall user satisfaction is increased by improved control and transparency of the conversation experience, as evidenced by objective metrics such as fewer status loss incidents, lower latency and bandwidth, and greater robustness provided by the aforementioned technical means.
[0086] Unless explicitly stated otherwise, the terms used herein are generally to be understood as they would be understood by an average person skilled in the art. The following explanations may aid understanding: Unless otherwise specified, the term "computer-implemented procedure" refers to a sequence of operations that are performed, at least in part, by one or more processors under the control or guidance of computer-executable instructions. Examples include algorithms running on servers, personal computers, or cloud-based systems that execute software routines or services to perform specific tasks.
[0087] Unless otherwise specified, the term "managing a non-linear conversation" refers to the coordination and monitoring of a conversation that includes branches or multiple conversation paths, allowing a user to revisit and modify portions of the conversation and create separate but interconnected threads. Examples include enabling users to modify a previous prompt to initiate a new path, merge separate paths into a single thread, or selectively include or exclude specific prompts.
[0088] Unless otherwise specified herein, the term "chatbot" refers to a software-based conversational agent capable of interpreting user input and providing responses using techniques that may include rule-based processing, natural language processing, artificial intelligence, machine learning, or (large-scale) language models. Examples include chatbots deployed on messaging platforms, embedded in mobile applications, or integrated into websites.
[0089] Unless otherwise specified herein, the term "conversation" refers to an exchange of messages between a user and a chatbot. Such an exchange generally includes user input (user prompts) and corresponding chatbot output (chatbot responses). In some embodiments, a conversation may be stored or displayed as a chronological sequence, while in other embodiments it may be displayed in a branched format.
[0090] Unless otherwise specified herein, the term "dialogue-oriented user interface" refers to a graphical or text-based interface that represents interactions between a user and a chatbot. This interface may display user input, chatbot responses, and related controls that allow the user to navigate, modify, or manage the conversation. Examples include web-based chat windows, chat interfaces of mobile applications, and standalone desktop chat applications.
[0091] Unless otherwise specified herein, the terms "user input" or "user prompt" refer to any input provided by the user, such as a question, command, or statement directed to the chatbot. Examples include text entered into a chat window, speech commands converted to text, or menu selections that instruct the chatbot to perform a specific task.
[0092] Unless otherwise specified herein, the term "chatbot response" refers to any output generated by the chatbot in response to one or more user requests. This output may consist of text, speech, images, suggestions, or other forms of content. Examples include direct answers, clarifying questions, or action confirmations.
[0093] Unless otherwise specified herein, the term "conversation path" refers to a sequence of user prompts and chatbot responses that follows a specific logical or thematic flow. A conversation can have multiple paths branching off from a common starting point or from intermediate prompts within the conversation. Examples include branched discussions where a user modifies a previous question or where the chatbot offers several topics to choose from.
[0094] Unless otherwise specified herein, the term "first conversation path" refers to an initial or primary sequence of user requests and chatbot responses before additional or alternative branches are created. Examples include the main dialogue between a user and the chatbot, from the earliest request to the last response in that thread.
[0095] Unless otherwise specified herein, the term "second conversation path" refers to a separate or alternative sequence of user prompts and chatbot responses that diverges from another path. This path can begin at any point in an existing sequence of interactions. Examples include paths initiated when a user revisits and modifies a previous prompt, creating a new line of discussion that both coexists with and is separate from a previous path. In certain scenarios, the second conversation path may also include the user prompts and chatbot responses that led to the previously modified prompt, so the original user prompts and chatbot responses that existed before the creation of the additional branch are considered to belong to both paths.
[0096] Unless otherwise specified herein, the term "display" refers to the visual presentation of content on a screen or other presentation medium that enables a user to perceive the conversational user interface, user prompts, chatbot responses, conversation paths, labels, or other relevant information. Examples include the display of text, icons, graphic elements, or interactive components on a computer screen, mobile screen, or head-mounted or otherwise wearable device.
[0097] Unless otherwise specified herein, the term "change" or "modify" refers to altering the content, structure, or parameters of a user prompt or other conversation element. Such modification may include editing text, adding additional data, or partially removing or updating existing information. Examples include changing the wording of a user prompt to refine a request or adding new details to a previous prompt to customize subsequent chatbot responses.
[0098] Unless otherwise specified herein, the term "tree structure" refers to a visual or conceptual arrangement of elements in a branching or hierarchical layout, where each node can branch into one or more child nodes. Examples include diagrams of conversation paths that originate from a single root request and branch out into multiple requests and responses.
[0099] Unless otherwise specified herein, the term "extended state" refers to a display mode in which all or most elements of a conversation path or conversation structure are visible to the user. Examples include displaying all prompts and responses in a conversation tree without hidden or reduced branches, or at least those currently visible.
[0100] Unless otherwise specified herein, the term "reduced" or "collapsed" refers to a display mode in which certain elements of a conversation path or conversation structure are hidden or summarized. Examples include a minimized conversation node that displays only a graphical icon, or a general summary or partial preview of the topics within that node.
[0101] Unless otherwise specified herein, the term "label" refers to a textual or graphical marker associated with a conversation path, node, or segment. Labels can identify or categorize conversation content, topics, or contexts.
[0102] Unless otherwise specified herein, the term "chatbot-generated label" refers to a label automatically created by the chatbot or an associated algorithm based on an analysis of the conversation's content or topics. Examples include machine-generated tags such as "shipping delay" when the conversation relates to delivery issues.
[0103] Unless otherwise specified herein, the term "user-generated label" refers to a label added or specified by a user to categorize or comment on conversation content. Examples include custom tags such as "Urgent" or "Follow-up request".
[0104] Unless otherwise specified herein, the term "conversation context" refers to a set of background information, knowledge, or states associated with a conversation path or branch, preferably kept separate from other paths. Examples include the stored variables, topics, or previous discussion history of a conversation that apply to subsequent chatbot responses along that path.
[0105] Unless otherwise specified herein, the term "merged conversation context" refers to a combination of information from two or more previously separate conversation paths or contexts, allowing subsequent prompts or responses to draw upon the aggregated information. An example of this is taking the key points from a secondary conversation path and integrating them into the contextual knowledge of the main path, enabling the chatbot to respond from a unified perspective.
[0106] Unless otherwise specified herein, the term "automated summary" refers to a condensed representation of content generated by an automated process to highlight key elements, themes, or motifs without reproducing the entire text. Examples include AI-generated summaries that extract the most important questions and answers from a long conversation thread.
[0107] Unless otherwise specified herein, the term "current conversation context" refers to the active or relevant historical data that the chatbot uses when generating a response. Examples include recent user requests and chatbot responses that remain within the context of the conversation's argumentation.
[0108] Unless otherwise specified herein, the term "navigable timeline slider" refers to an interactive user interface element that displays a chronological or logical series of nodes or markers corresponding to relevant points in one or more conversation paths. Examples include a horizontal bar of markers representing key user queries or chatbot responses, which can be navigated by dragging to a specific marker to revisit or review the associated conversation status.
[0109] Unless otherwise specified herein, the term "semantic map" refers to a visual or data-driven representation of topics or themes within a conversation, with related content grouped or clustered according to their contextual similarities. Examples include a topology of nodes arranged by deep-learning-based clustering, where nodes representing similar topics appear closer together.
[0110] Unless otherwise specified, the term "node" here refers to a point or cluster in a representation of a conversation, such as a semantic map or a tree structure. Each node can represent one or more user queries and chatbot responses, or a set of related conversation content. For example, nodes labeled "Price Updates" contain all relevant user queries and responses regarding updated pricing models.
[0111] Unless otherwise specified herein, the term "consensual chatbot response" refers to a single response synthesized by analyzing multiple conversation threads, each with its own content or viewpoints, possibly weighted by importance or relevance. Examples include generating a consolidated response that incorporates ideas or solutions presented in different threads, resulting in a unified response that reflects the significance of each thread.
[0112] Unless otherwise specified herein, the term "inline origin indicators" refers to annotations embedded in a chatbot's response that identify the origin path or source of specific information. Examples include small reference markers, color-coded highlights, or hyperlinks that connect a phrase in a consolidated response to one of the original conversation paths.
[0113] Particular and preferred aspects of the present disclosure are set forth in the attached independent and dependent claims. Features from the dependent claims may be combined with features from the independent claims and with features from other dependent claims, to the extent appropriate and not merely expressly set forth in the claims.
[0114] The aforementioned and other features, characteristics, and advantages of the present revelation will become apparent from the following detailed description in conjunction with the accompanying drawings, which exemplify the principles of the revelation. This description serves only as an example and does not limit the scope of the revelation. BRIEF DESCRIPTION OF THE DRAWINGS
[0115] The present revelation can be better understood with the help of the following drawings: Fig. Figure 1 shows a schematic view of a system with a chatbot for providing a dialogue-oriented user interface on a user device according to one embodiment. Fig. Figure 2 shows an example of a dialog-oriented user interface that displays part of a linear conversation between a user and a chatbot according to one embodiment. Fig. Figure 3 shows a method for managing a non-linear conversation with a chatbot according to one embodiment. Fig. Figure 4 shows an example of a dialog-oriented user interface that displays part of a non-linear conversation between a user and a chatbot according to one embodiment. Fig. Figure 5 shows an example of a dialog-oriented user interface that displays part of a non-linear conversation with a reduced conversation path and an extended conversation path according to one embodiment. Fig. Figure 6 shows an example of a conversational user interface that displays part of a nonlinear conversation with labels according to one embodiment. Fig. Figure 7 shows a schematic block diagram of computer hardware on which embodiments of the present disclosure can be implemented. DETAILED DESCRIPTION
[0116] The following describes representative embodiments, which are illustrated in the accompanying drawings. It is understood that the illustrated embodiments and the following descriptions are examples and do not serve to limit the embodiments to a preferred embodiment.
[0117] Several embodiments disclosed herein introduce nonlinear conversations with a chatbot, allowing users to modify their prompts and receive new responses, thereby creating separate conversation paths. In a first conversation path, a user can request a change to a user prompt, which is then updated in the conversational user interface. The chatbot responds to the modified user prompt in a second conversation path, separate from the first. This allows users to explore different conversation paths and receive tailored responses from the chatbot. In this way, various embodiments enable an interactive and adaptive conversational experience, providing a more effective and engaging human-machine interaction.
[0118] Fig. Figure 1 shows a schematic view of a system with a chatbot for providing a conversational user interface on a user device according to one embodiment. In the depicted system, a user device 102 presents a conversational user interface 104 on its display. The conversational user interface 104 renders a conversation 106 between a user 108 and a chatbot 112. The user device 102 communicates via a network 114, e.g., the Internet, with backend computing resources, including a data processing system 110 that hosts the chatbot 112. In operation, the chatbot 112 is configured to generate chatbot responses to user requests.
[0119] Fig. Figure 2 shows an example of a dialog-oriented user interface 200, which displays part of a linear conversation 106 between the user 108 and the chatbot 112. In this example, the conversation 106 is already underway and includes several user prompts 202, 206, 210 and corresponding chatbot responses 204, 208, 212. The dialog-oriented user interface 200 also includes a text input field 214, which the user 108 can use to enter a new user prompt, and a button 216 to send the new user prompt to the chatbot 112.
[0120] In the depicted conversation 106, user 108 asks chatbot 112 in an initial user prompt 202 for a haiku about inventions, and chatbot 112 responds with a haiku in a corresponding initial chatbot response 204. Subsequently, user 108 clarifies in a second user prompt 206 that they are interested in haiku from the perspective of a TRIZ expert, whereupon chatbot 112 responds with another haiku in a corresponding second chatbot response 208. Finally, in a third user prompt 210, user 108 asks chatbot 112 to make the haiku more humorous, and chatbot 112 responds with yet another haiku in a third chatbot response 212.
[0121] Implementations offer an advanced mechanism for managing non-linear dialogue flows, which refers to Fig. Figure 3 describes a procedure 300 for managing a non-linear conversation with the chatbot 112. In step 302, the procedure 300 displays a conversation 106 between the user 108 and the chatbot 112 on a dialog-oriented user interface 104. The conversation 106 comprises a variety of user prompts and corresponding chatbot responses, forming an initial conversation path. In step 304, the procedure 300 modifies a user prompt within the conversation 106 on the dialog-oriented user interface 104 in response to a user request. In step 306, the procedure 300 displays a chatbot response to the modified user prompt on the dialog-oriented user interface 104.
[0122] The chatbot's response to the modified user request is displayed in a second conversation path, separate from the first. Accordingly, the presented method 300 establishes the creation of an alternative conversation path while maintaining the original conversation path, thus enabling non-linear exploration without overwriting previous conversation content.
[0123] Fig. Figure 4 shows an example of a dialog-oriented user interface 400, which displays part of a non-linear conversation 106 between the user 108 and the chatbot 112. The example is the same as in Fig. 2, except that user 108 changed the second user prompt 206 to a modified user prompt 402, which tells chatbot 112 that user 108 wants haikus written more from the perspective of a patent attorney. The conversational user interface 400 displays a corresponding fourth chatbot response 404 with a corresponding haiku. The fourth chatbot response 404, i.e., the response to the modified user prompt 402, is displayed in a second conversation path separate from the first conversation path.
[0124] By dividing conversation 106 into a first conversation path and a second conversation, a non-linear conversation flow is created, allowing user 108 to explore both conversation paths simultaneously.
[0125] In the illustrated embodiment, the fourth chatbot response 404 was appended to the modified user prompt 402.
[0126] In the illustrated embodiment, the first conversation path and the second conversation path are displayed simultaneously on the conversation user interface 400. Accordingly, it is possible for the conversation user interface 104 to display both the original sequence of user prompts and chatbot responses and the alternative sequence resulting from a modification of a user prompt at the same time. This simultaneous display can be achieved, for example, by arranging the conversation paths in parallel columns, in a branched tree structure, or in separate fields within the same interface.
[0127] Displaying both conversation paths simultaneously allows users to compare the original and modified dialogues side-by-side. This arrangement can help users understand how changes to a user request affect the chatbot's responses and the overall flow of the conversation. In certain implementations, the interface could visually differentiate the various paths through color coding, labels, or graphical connectors, thereby improving clarity and navigation between the conversation branches.
[0128] In the illustrated embodiment, conversation 106 shows both the original user prompt 206 and the modified user prompt 402. In alternative embodiments, the original user prompt 206 can be replaced by the modified user prompt 402.
[0129] In the illustrated embodiment, both the first and second conversation paths are displayed in an expanded state. Displaying the conversation paths in an expanded state means that all user prompts and corresponding chatbot responses along each path are simultaneously visible to the user, without requiring additional user interaction to reveal hidden or obscured parts of the dialogue. This approach allows users to see the entire sequence of exchanges in each conversation path at a glance, facilitating comparison between the original and the modified dialogue. The expanded view can be particularly beneficial in scenarios where users want to analyze the differences between conversation branches or follow the conversation's flow in detail.
[0130] As an alternative to displaying the first and second conversation paths simultaneously on the conversation user interface 104, only one of the first conversation paths can be displayed at any given time, and the user 108 can switch between the first and second conversation paths, e.g., by selecting a corresponding chat in a chat list of the conversation user interface 104 (in Fig. 4 not shown).
[0131] Alternatively, the user interface could provide options to show or hide individual conversation paths or segments thereof, allowing users to focus on specific parts of the dialogue as needed. In such embodiments, Method 300 can further include transferring the display of the first conversation path to a hidden state while the second conversation path remains displayed. An example is given in Fig. Figure 5 shows an example conversation user interface 500, which displays a part of the nonlinear conversation 106 in which a segment of the first conversation path has been minimized and the second conversation path has been extended.
[0132] In some implementations, the conversational user interface can be configured so that, either by the user or automatically in response to certain actions, the original conversation path is minimized or hidden, displaying only a summary or a single representative element, such as the initial user prompt or a branching point. Simultaneously, the alternative conversation path resulting from a change in a user prompt can remain fully visible in an expanded state, displaying all associated user prompts and chatbot responses. This arrangement can be advantageous in situations where the user wants to focus their attention on the changed conversation path without being distracted from the original dialogue.Hiding the first conversation path can reduce visual clutter and facilitate analysis or interaction with the second, expanded path. The system can provide controls or options to toggle the display status of each conversation path, allowing users to show or hide paths as needed, according to their preferences.
[0133] Alternatively, the interface can automatically hide the initial conversation path when a change is made and a new branch is created, or it can prompt the user to select which paths should be displayed in expanded or hidden form. In some implementations, the hidden state can be indicated by a graphical icon, a summary bar, or a clickable element, which can be expanded again if the user wishes to resume the original conversation flow.
[0134] The ability to selectively shorten and lengthen conversation paths can improve the system's usability, especially in complex or lengthy dialogues where multiple branches may exist. This feature can also enhance navigation and comparison between different conversation outcomes, as users can quickly switch between paths without losing context.
[0135] In the illustrated embodiment, the first and second conversation paths are displayed as a tree structure within the conversation user interface. The conversation can be visualized such that each user request and the corresponding chatbot response form a node or branch in the tree, with subsequent changes or alternative requests leading to new branches that branch off from earlier points in the dialogue. This tree-based representation allows users to intuitively follow the course of the conversation, including any non-linear developments resulting from changes to previous requests.
[0136] The tree structure can be implemented in various ways. For example, the root of the tree can correspond to the initial user prompt, with each subsequent prompt and response forming child nodes. If a user modifies a previous prompt, a new branch can be created from the corresponding node, representing the alternative conversation path. In some implementations, the user interface can visually distinguish different branches using lines, connectors, or color coding, thus improving the clarity of the conversation structure.
[0137] Optionally, the tree structure can be interactive, allowing users to expand or collapse branches, navigate between different conversation paths, or select specific nodes to view detailed information about the corresponding prompts and responses. This approach can facilitate the exploration of multiple conversation outcomes and provide a clear overview of how the dialogue evolves in response to user changes.
[0138] Alternatively, the tree structure can be displayed alongside other visualizations, such as linear or column-based layouts, allowing users to choose their preferred method for viewing conversations. Using a tree structure to display conversation paths is particularly advantageous in applications where tracking the relationships between different dialogue branches is important, such as decision support systems, educational tools, or interactive storytelling platforms.
[0139] In embodiments, the method 300 may further comprise displaying at least one first label associated with the first conversation path, at least one second label associated with the second conversation path, or both on the conversation user interface 104. An example is given in Fig. Figure 6 shows an example conversation user interface 600, which displays a part of the nonlinear conversation 106, in which the first conversation path is connected to a first label 602 and the second conversation path to a second label 604. In addition, node 210 is connected to a third label 606.
[0140] The use of such labels can be implemented in various ways. For example, a first label could be displayed next to or within the visual representation of the first conversation path, while a second label could be similarly associated with the second conversation path. These labels can serve to identify or differentiate each conversation path, or to provide additional context, thereby improving the clarity and usability of the interface.
[0141] The labels can include textual identifiers such as "Original Path," "Alternative Path," or user-defined names that help users identify the purpose or origin of each path. Alternatively, the labels can include symbols, color codes, timestamps, or other graphical elements that visually differentiate the conversation paths. In certain implementations, the system may allow users to customize the labels, for example, by entering descriptive text or selecting from a predefined list of options.
[0142] Optionally, the labels can be interactive, allowing users to select a label to navigate directly to the corresponding conversation path or access additional information about that path. In some cases, the interface may display both the first and second labels simultaneously, or, depending on the current focus or display mode, only one label at a time. The mapping of labels to conversation paths can be implemented in a variety of layouts, such as by positioning the labels at the beginning of each path, next to individual prompts and answers, or within a navigation pane.
[0143] Providing labels for conversation paths can be particularly beneficial in scenarios with multiple branches or complex dialogues, as it helps users keep track of different conversation outcomes and enables efficient navigation between paths. However, it is also conceivable that the system could operate without such labels or use alternative mechanisms to distinguish between conversation paths, depending on user preferences or application requirements.
[0144] In embodiments, at least one of the first label 602, the second label 604, or the third label 606 can be a chatbot-generated label. For example, the system can be configured so that when a new conversation path or branch is created, the chatbot analyzes the content or context of the conversation and suggests a suitable label for that path. This chatbot-generated label can reflect the subject, intent, or distinguishing feature of the conversation branch, for example, by summarizing the user's modified prompt or highlighting a key topic discussed in that path.
[0145] Alternatively, the label generated by the chatbot could be based on predefined templates or rules, with the chatbot selecting or creating a label according to the type of change made, the user's input, or the result of the chatbot's response. In some cases, the label might include a brief summary, a suggested title, or a categorization to help the user quickly understand the nature of the conversation. For example, depending on the context of the change, the chatbot could generate labels such as "Clarification requested," "Alternative solution," or "Follow-up question."
[0146] In embodiments, at least one of the first labels 602, the second labels 604, or the third labels 606 can be a user-generated label. For example, the system can allow a user to manually assign a label to a conversation path, either at the time the path is created or at any later time during the interaction. The user-generated label can include a textual identifier, such as a descriptive title, a summary of the conversation branch, or any other notation that the user considers helpful for distinguishing between different paths.
[0147] Alternatively, the interface can offer users an option to edit or override an existing label, including those that may have been automatically generated by the system or chatbot. This allows users to personalize conversation path labels according to their own preferences, workflow, or organizational requirements. The user-generated label can be entered via a dedicated input field, a dialog box, or an inline editing function within the conversation user interface.
[0148] It is also conceivable that the system offers both chatbot-generated and user-defined labels, allowing users to accept, edit, or replace the automatically generated label as they see fit. In certain implementations, the chatbot-generated label can be displayed as the default, which the user can then customize for clarity or according to personal preference. Using chatbot-generated labels can improve the usability of the conversational user interface by providing immediate, context-aware identifiers for each conversation path, especially in multi-branching or complex dialogue scenarios.
[0149] It should be noted, however, that the generation of labels by the chatbot is not mandatory, and in some variants, all labels can be provided exclusively by the user or another system component. The option to use chatbot-generated labels can be enabled or disabled depending on system configuration, user preferences, or application requirements. This flexibility allows the process to accommodate a range of use cases and user preferences regarding the labeling and organization of conversation paths within the interface.
[0150] In embodiments, Method 300 can further include maintaining different conversation contexts for the first conversation path and the second conversation path. It is possible for the system to manage separate conversation states or histories for each path, so that the chatbot's responses within a path are generated based on the unique sequence of prompts and responses specific to that path and are not influenced by the dialogue in another conversation path. This separation of contexts can enable the chatbot to provide contextually appropriate and coherent responses in each conversation branch, even if the branches diverge from a common starting point.
[0151] Alternatively, the system can be configured to store and retrieve conversation context data independently for each path. For example, if a user modifies a previous prompt and initiates a new conversation branch, the system can create a new context instance that reflects the changed sequence of interactions. This approach can ensure that all subsequent user input or chatbot responses within the second conversation path are interpreted and generated only with reference to the information and history relevant to that path.
[0152] In some possible implementations, maintaining distinct conversation contexts might involve separately tracking variables, user preferences, or other state information for each path. This can be particularly beneficial in applications where the outcome of the conversation depends on the collected context, such as decision support, troubleshooting, or interactive narrative scenarios. By maintaining independent contexts, the system can allow users to explore alternative conversation outcomes without any cross-referencing of information between branches.
[0153] It is also conceivable that the system provides users with options to view, compare, or switch between the contexts associated with different conversation paths. In certain cases, the interface can display indicators or summaries of the current context for each path, thus improving transparency and user control. However, maintaining different conversation contexts is not mandatory in all implementations; in some variants, the system can instead use a common or partially common context across multiple paths, depending on the desired functionality or application requirements.
[0154] In embodiments, the method 300 can further include receiving a user request to merge the second conversation path into the first conversation path, generating a merged conversation context, and displaying a subsequent chatbot response in a merged conversation path based on the merged context on the conversation user interface 104. For example, the conversation user interface can be configured to allow a user to select an option or activate a control to merge two conversation paths. This request can be initiated in various ways, such as by clicking a merge button, by selecting both paths and confirming a merge action, or by issuing a specific command within the interface.Upon receiving such a user request, the system can be adapted to generate a merged conversation context. This merged context can be created by combining relevant conversation histories, user prompts, and chatbot responses from the first and second conversation paths. Various strategies can be employed for merging the contexts, such as prioritizing the most recent changes, reconciling conflicting information, or integrating user-defined elements from each path. In some cases, if the conversation paths diverge, the system may prompt the user to clarify ambiguities or select preferred responses.
[0155] After generating the merged conversation context, the process can include displaying a subsequent chatbot response in a merged conversation path based on the merged context within the conversational user interface. The merged conversation path can be represented as a new branch within the interface, visually distinct from the original and alternative paths, or it can replace one or both of the previous paths, depending on user preference or system configuration. The chatbot response generated in this merged path can incorporate the combined information and context from both conversation branches, thus enabling a coherent continuation of the dialogue.
[0156] Alternatively, the interface can offer options that allow users to review or edit the merged context before proceeding, or to compare the merged path with the original conversation branches. In certain implementations, the merged conversation path can be labeled or annotated to indicate its origin, such as "Merged Path" or with a user-defined name. The ability to merge conversation paths and generate a unified context can be particularly beneficial in scenarios where users want to consolidate insights, resolve divergent results, or optimize the conversation flow after exploring multiple alternatives.
[0157] It should be noted that merging conversation paths is not a mandatory feature and can be provided as an optional tool within the system. The specific mechanisms for merging contexts, handling conflicts, and displaying the merged path can be customized according to the application's requirements and the user's preferences.
[0158] In some implementations, generating the merged conversation context can involve creating an automated summary of the second conversation path and inserting the summary into the conversation context of the first conversation path. For example, if a user requests the merging of two conversation paths, the system can be configured to analyze the sequence of user requests and chatbot responses within the second conversation path and automatically create a condensed representation or summary of its content. This summary can capture key themes, decisions, or outcomes that occurred along the second path and can be generated using natural language processing techniques, rule-based algorithms, or other summarization methods.The automated summary could then be inserted, pasted, or otherwise integrated into the conversation context associated with the first conversation path. This integration can take various forms. In some cases, the summary can be appended as a separate message or note within the conversation, providing a concise overview of the alternative dialogue branch. Alternatively, the summary can be embedded at a specific point in the conversation, such as immediately after the divergence between the first and second paths, or at a user-selected location.
[0159] By integrating a summary of the second conversation path into the context of the first, the system can enable the chatbot to reference or consider information from both paths when generating subsequent responses. This approach can be particularly useful when the user wants to consolidate insights or results from an alternative branch without merging every single prompt and response. The summarization process can be fully automated, or the system can offer the user the option to review, edit, or approve the generated summary before it is added to the conversation context.
[0160] Optionally, the user interface can display the inserted summary in a visually distinguishable way, for example, with a different font, color, or label to indicate its origin as a summarized representation of another conversation path. In some implementations, the system could allow users to select the level of detail in the summary or to choose between multiple summary strategies depending on their preferences or the complexity of the conversation.
[0161] Using automated summaries to merge conversation contexts can improve the clarity and manageability of non-linear dialogues, especially in applications where users explore multiple conversation outcomes and want to retain relevant information from alternative branches. However, it is also conceivable that the system could support other methods for merging contexts, such as directly chaining conversation histories or selectively including specific prompts and responses, depending on the application's requirements and the user's needs.
[0162] In some implementations, the user request to merge can be received via a drag-and-drop operation of a user prompt or chatbot response from the second conversation path to the first conversation path on the conversational user interface. For example, the interface might support a function that allows a user to select a user prompt or chatbot response from the second conversation path and drag it to a location within the first conversation path. Upon completion of this drag-and-drop action, the system can interpret the operation as a request to merge the two conversation paths, thereby initiating the previously described process of generating a merged conversation context.
[0163] Alternatively, the drag-and-drop operation could involve moving an entire segment or branch of the conversation instead of a single prompt or response. In certain implementations, the interface could provide visual cues, such as highlights or animations, to indicate that a merge action is available when a prompt or response is dragged over a compatible location in another conversation path. The user can drop the selected item anywhere within the first conversation path, allowing for flexible integration of content from the second path.
[0164] It is also conceivable that after the drag-and-drop action, the system offers additional options or confirmation prompts, allowing the user to review or adjust the merged conversation context before the final merge. In some variations, the drag-and-drop functionality can be supplemented by other methods for initiating a merge, such as context menus, keyboard shortcuts, or dedicated merge buttons, thus providing users with a range of interaction options.
[0165] Using a drag-and-drop function to merge conversation paths can improve the intuitiveness and efficiency of the user interface, especially in applications where users frequently explore and consolidate multiple dialog branches. However, it's important to note that this approach is not mandatory, and other mechanisms for requesting a merge can be supported depending on user preference or system configuration. The drag-and-drop functionality can be enabled or disabled depending on the application's requirements or the complexity of the conversation environment.
[0166] In embodiments, the method can further include receiving a user selection to exclude selected user prompts or chatbot responses from a current conversation context and generating a subsequent chatbot response based only on the included previous user prompts and chatbot responses. For example, the conversational user interface can provide a function that allows a user to mark or otherwise select specific prompts or responses within the ongoing conversation that should not be considered in subsequent chatbot interactions. This selection process can be implemented through various means, such as checkboxes, context menus, right-click actions, or special exclusion controls next to each prompt or response.
[0167] Alternatively, the interface can also support bulk selection or filter options, allowing users to exclude multiple prompts or responses at once, or to define exclusion criteria based on content, timestamps, or other attributes. The exclusion of specific conversation elements can be visually indicated within the interface, for example, by graying out, striking through, or otherwise distinguishing the excluded elements from those that remain active in the conversation context.
[0168] After the user has selected the input prompts or answers to be excluded, the system can be configured to generate a subsequent chatbot response based only on the previous user input and chatbot responses that were not excluded. This allows the chatbot's understanding of the conversation and its response generation process to be dynamically adjusted to reflect only the included elements, effectively enabling the user to customize the context considered by the chatbot at any given time.
[0169] This feature can be particularly beneficial in scenarios where users want to ignore irrelevant, erroneous, or outdated parts of the conversation, or explore how the chatbot would respond under alternative context assumptions. In some possible implementations, the system could provide feedback or a summary indicating which elements are currently included in the active context and which are excluded, thereby improving transparency and user control.
[0170] It is also conceivable that the interface allows users to undo or change their exclusion selections at any time and to reintroduce previously excluded prompts or responses into the conversation context as needed. The exclusion function can be offered as an optional tool, the use of which is entirely at the user's discretion. In certain variations, the system could support additional options, such as saving or labeling different context configurations or comparing chatbot responses generated from alternative sets of included conversation elements.
[0171] Overall, the ability to selectively exclude user prompts or chatbot responses from the current conversation context can offer users more flexibility in managing non-linear dialogues and exploring multiple conversation outcomes within the same interface.
[0172] In embodiments, the method may further include displaying a navigable timeline slider representing the conversation, wherein the timeline slider includes nodes for the first conversation path and the second conversation path. It is possible for the timeline slider to visually distinguish between different conversation paths, for example, by using separate branches, color coding, or different node shapes for each path.
[0173] The slider can be configured to navigate to each user prompt or chatbot response on each conversation path. Accordingly, the timeline slider can be interactive, allowing users to navigate to any point in the conversation by selecting or dragging a specific node. This enables users to quickly access any user prompt or chatbot response on any conversation path, facilitating efficient review and exploration of the dialogue history. The slider can support various navigation mechanisms, such as clicking individual nodes, dragging a handle along the timeline, or using keyboard shortcuts to switch between nodes.
[0174] Alternatively, the timeline slider could be designed to show or hide segments of the conversation, allowing users to focus on specific branches or gain a general overview of the entire conversation structure. In some implementations, hovering the mouse pointer over a node or selecting a node can display additional information, such as the full text of the prompt or reply, timestamps, or associated labels. The timeline slider can also be synchronized with the main conversation view, so that navigating to a node on the slider automatically scrolls or highlights the corresponding exchange in the main interface.
[0175] It is also conceivable that the timeline slider includes filter or search functions, allowing users to find specific prompts, responses, or conversation paths based on keywords, participants, or other criteria. In certain variations, the timeline slider may be positioned at the top, bottom, or side of the conversation interface, or it may be displayed as a floating or collapsible element that can be shown or hidden according to user preference.
[0176] Providing a navigable timeline slider as part of the dialog-oriented user interface can improve the system's usability, particularly in scenarios with long or complex non-linear conversations. However, the inclusion and specific design of the timeline slider are not mandatory, and depending on the application requirements and user needs, other navigation tools or visualizations can be used as an alternative or in addition to the slider.
[0177] In various implementations, the timeline slider can include a variety of visual markers, each representing a key message or summary within the conversation. These markers can serve as visual indicators along the slider, highlighting important points or summarized content within one or more conversation paths. For example, a marker can be positioned at a node representing a key user prompt, a crucial chatbot response, or a summarized section of the dialogue. The system can automatically generate these markers, for example, by identifying messages that meet predefined importance criteria, such as user-marked highlights, chatbot-generated summaries, or diverging conversation paths.Alternatively, users may be allowed to manually assign tags to specific prompts or responses that they consider noteworthy or wish to easily recall.
[0178] In some variations, the highlights could be visually distinguished based on their type or origin. For example, highlights representing user-created annotations could be displayed in one color, while those corresponding to automated summaries or key chatbot responses could appear in another. The interface could also provide tooltips, pop-up previews, or labels that appear when a user hovers over or selects a highlight, offering additional contextual information or a brief excerpt from the associated message or summary.
[0179] Optionally, the timeline slider can allow users to filter or navigate directly to highlighted points, facilitating quick access to critical moments or summarized content within complex or branching conversations. In other implementations, the density or highlighting of the highlights could be dynamically adjusted, for example, by zooming in or out on the timeline or by applying custom filters to display only specific categories of key messages or summaries.
[0180] Integrating visual markers into the timeline slider can improve the clarity and navigability of the dialog-oriented user interface, especially in scenarios with long or non-linear dialogues. However, it is understood that the use of markers is not mandatory, and the system can be configured to operate with or without this feature, depending on user preferences or application requirements.
[0181] In embodiments, the method may further include displaying a semantic map of the conversation. The semantic map may comprise a multitude of nodes grouped by topic. Each node may represent a group of related user prompts and chatbot responses from one or more conversation paths. The semantic map may be generated automatically by analyzing the content of the conversation and identifying topics, keywords, or semantic relationships between the various exchanges. In certain implementations, nodes with similar topics or intentions may be grouped into clusters that visually represent the main topics or discussion areas of the conversation. Clustering nodes by topic can help users quickly identify and navigate between different areas of interest or questions within the dialogue.
[0182] Alternatively, the semantic map can allow manual customization or user-driven organization, enabling users to merge, split, or relabel clusters as desired. In some cases, the nodes within the semantic map can be interactive, allowing users to select a node to view the underlying user prompts and chatbot responses on that topic. The map can also support zoom, pan, or filter functionality, allowing users to focus on specific clusters or gain an overview of the entire conversation landscape.
[0183] The nodes themselves could be visually distinguished by color, size, or shape, depending on factors such as the number of messages they contain, the recency of the discussion, or the importance of the topic as determined by the system or user. In certain variations, the semantic map could be displayed alongside other conversation visualizations, such as tree structures or timeline sliders, to offer multiple perspectives on the structure and content of the dialogue.
[0184] Displaying a semantic map of the conversation can be particularly beneficial in scenarios with complex or non-linear dialogues, as it can help users understand the overall flow of topics, revisit specific areas of interest, or identify connections between different conversation paths. However, including a semantic map is not mandatory in all implementations, and the process can be carried out without this feature or with alternative forms of topic-based visualization, depending on the application's requirements and the user's preferences.
[0185] In embodiments, the method may further include receiving a user selection of two or more conversation paths, including the first and second conversation paths. This selection may be made through various mechanisms, such as checkboxes, multiple-choice controls, or by clicking on visual representations of the conversation paths within the interface. The method may also include receiving a weight for each of the selected conversation paths and generating a consensus-based chatbot response by synthesizing content from the selected conversation paths according to their respective weights. Accordingly, if multiple conversation paths are selected, the system could prompt the user to assign a weight to each of the selected paths.Weights can be provided as numerical values, percentage assignments, or via an interactive slider or knob for each path. These weights can be used to indicate the relative importance, influence, or priority that the user wishes to assign to the content of each conversation path when generating a subsequent response. Based on the selected conversation paths and their assigned weights, the process can further include generating a consensus chatbot response. This consensus response can be synthesized by the system using content from the selected conversation paths, with the synthesis process taking into account the respective weights specified by the user. Various algorithms or strategies can be used to combine the information, such as...the weighted averaging of the proposed answers, the prioritization of content from paths with higher weighting, or the mixing of key elements from each path according to their assigned influence.
[0186] Optionally, the consensus chatbot response can be displayed as a new branch or node within the conversational user interface, visually distinct from the original conversation paths. In some implementations, the system can display an explanation or summary of how the consensus response was derived, including the weightings used and the most important contributions from each path. Alternatively, the user can be given the opportunity to review or edit the consensus response before it is finalized and displayed.
[0187] This approach can be particularly advantageous in scenarios where users want to reconcile differing results, perspectives, or information from multiple conversation branches and receive a unified answer that reflects their chosen priorities. However, it is not essential for every implementation to include weighting or consensus functions, and the system can be configured to operate with or without these features depending on user preference or application requirements. The method can also support alternative mechanisms for synthesizing answers from multiple conversation paths, such as simple selection, majority voting, or user-driven editing, in addition to or instead of weighted synthesis.
[0188] In embodiments, the method can further include displaying the consensus chatbot response with inline origin indicators that link parts of the consensus response to their source conversation path. For example, if a consensus response is generated by synthesizing content from multiple conversation paths, the conversational user interface can display the response such that individual segments, phrases, or elements are marked with visual indicators. These indicators can serve to identify the origin of each part of the response, allowing users to trace specific content back to the conversation path from which it originated.
[0189] Origin indicators could take various forms. In some implementations, they might be color-coded highlights, superscript icons, footnotes, or interactive tooltips embedded in the consensus response text. Selecting or hovering the mouse pointer over an indicator could display additional information, such as the name, label, or identifier of the source conversation path, a summary of the relevant dialogue, or a direct link to the corresponding segment within the original path. Alternatively, the origin information could be displayed in a sidebar, a popup window, or as part of a summary section alongside the consensus response.
[0190] It is also conceivable that the system offers users the option to customize the appearance or behavior of the origin indicators, for example, by selecting different colors, symbols, or annotation styles for each conversation path. In certain variations, the indicators could be automatically generated by the system based on the synthesis process, or users could be given the option to manually adjust or refine the origin links as needed.
[0191] Providing inline origin indicators can be particularly beneficial in scenarios where transparency and traceability of the consensus response are important. For example, users might want to understand how different perspectives or information from multiple conversation branches contributed to the final answer, or to verify the accuracy and relevance of specific content. However, it is not essential for every implementation to include inline origin indicators, and the feature can be offered as an optional extension or configurable setting within the system. In some cases, the system may support alternative approaches to origin tracking, such as generating a separate origin report, displaying a summary of source contributions, or allowing users to toggle the visibility of origin information according to their preferences.
[0192] In some implementations, the system can automatically generate a variety of alternative chatbot responses to a user prompt and present each alternative in its own, simultaneously visible conversation branch. With such automatic parallel response generation, the method can characterize each alternative response by a unique style parameter selected from a predefined set, optionally displaying a visual selector so the user can continue to any one branch independently. When the system detects that a user prompt is open, it can generate three chatbot responses, labeled "formal," "creative," and "concise," respectively, display them side-by-side, and allow the user to extend any branch while retaining the unused branches for later selection.
[0193] In some implementations, conversation paths can be visualized as a radial mind map radiating outwards from an origin node representing the first prompt. Each subsequent user prompt or chatbot response can be represented as a node positioned within an angular range determined by its branching identifier and at a radial distance proportional to its sequence number within that branch. This radial mind map conversation view can display divergence points as central nodes, connect child nodes with curved lines, and allow zoom gestures to enlarge a selected area while automatically hiding unselected areas, thus reducing visual clutter.
[0194] In some implementations, the conversation can be displayed on a single chronological timeline while simultaneously storing alternative prompts or responses for a given turn in vertically stacked layers with the same timestamp, creating a multi-layered timeline with alternative "takes." The interface can provide controls for each layer to solo, mute, lock, or delete a selected layer, allowing the user to curate a preferred linear display while preserving the alternatives. By default, one layer can be displayed for each turn; additional layers can be hidden behind a tabbed view. Selecting the view allows the alternatives to be displayed in a window resembling a multi-track video editing interface, enabling the selected layer to be exported as the "final cut" of the dialogue.
[0195] In some implementations, the system can allow the insertion of an inline capsule containing a sub-conversation decoupled from the main conversation context, referred to here as "capsule threads embedded in the main transcript." Each capsule can appear in the transcript as a single hidden line, which, when activated, opens a side window displaying the contained exchange. The capsule's contents do not affect the main branch unless explicitly merged. A user can select a sentence within the main transcript, choose "Open Capsule," and engage in up to ten back-and-forth exchanges with the chatbot in a side window. Upon closing, the capsule can be compressed into an icon with an attached excerpt and an indicator for unread messages.
[0196] In some implementations, the dialog-oriented user interface includes a difference highlighting mode in which answers from two or more branches are displayed side by side, with textual differences automatically highlighted, for example, by colored highlights or underlining. This has the advantage that the user can recognize differing content at a glance, thus reducing the cognitive load when comparing alternative answers.
[0197] In some implementations, the dialog-oriented user interface is configured to display a preview of the branch content when the mouse pointer hovers over a branch label or taps and holds the button. The preview may include a recent answer, an automatically generated summary, or similar information. This advantageously improves navigation efficiency, as the user can quickly retrieve the branch content without opening the full transcript.
[0198] In some embodiments, the dialog-oriented user interface includes a focus mode in which one active branch is displayed at full opacity, while other branches are dimmed or hidden. This advantageously reduces distractions while maintaining context awareness, allowing the user to concentrate on one branch without losing sight of others.
[0199] In some implementations, the system is configured to accept multiple prompt variants simultaneously and generate a separate branch for each variant, with the branches optionally displayed in parallel columns. This advantageously supports rapid A / B or A / B / C testing of user prompts, chatbot responses, or messages, saving the user time and interaction effort.
[0200] In some implementations, the system is configured to respond to negative user feedback on a message, such as a thumbs-down, by automatically creating a new branch with an alternative chatbot response to the same user request. This advantageously streamlines troubleshooting and reduces the need for users to manually re-enter requests.
[0201] In some implementations, the dialog-oriented user interface allows selected user prompts or chatbot responses to be pinned, so that the pinned elements are permanently included in subsequent context windows of a branch. This advantageously ensures that important facts or limitations are not forgotten by the system, thereby improving the relevance of the responses.
[0202] In some embodiments, the system is configured to automatically summarize earlier parts of a branch when a context length threshold is reached and inserts the summary into the branch instead of the full text, while maintaining extensibility. This advantageously expands the effective storage capacity of the conversation while controlling token usage and bandwidth. In other embodiments, the system is configured to generate a combined summary report from several selected branches. The report can include a comparison of the key points, differences, or advantages and disadvantages of each branch. This advantageously supports decision-making by synthesizing divergent explorations into a coherent overview.
[0203] In some implementations, the system includes a cross-branch search and filter function that allows users to retrieve conversation content across all branches. The results can be grouped by branch and linked to the original message. This allows users to quickly find specific topics or facts within complex, branched dialogues.
[0204] In some implementations, the dialog-oriented user interface supports synchronized scrolling of two or more branches, ensuring that corresponding user prompts and chatbot responses are aligned during navigation. This allows users to advantageously compare long answers line by line without manual alignment, reducing the effort required to evaluate alternative solutions.
[0205] In some implementations, the system is configured to generate a visual comparison view where content from different branches is marked with branch-specific identifiers such as colors or tags. This has the advantage of preserving the origin during branch merging, enabling transparent consolidation of divergent content.
[0206] In various implementations, the system is adapted for mobile use with swipe-based branching navigation and pinch gestures for expanding or collapsing conversation threads. This makes branching management advantageous for small touchscreens and enables fast and intuitive navigation in mobile environments.
[0207] In some implementations, the dialog-oriented user interface includes a zoomable bird's-eye view where the conversation diagram can be zoomed out to display all branches as nodes and zoomed in to show detailed conversation histories. This offers the advantage of providing both an overview and details, thus supporting efficient navigation in complex, multi-branch dialogues.
[0208] In some embodiments, the system is configured to detect ambiguities in a user prompt and suggest the creation of multiple alternative branches that reflect different interpretations of the prompt. This advantageously ensures that all plausible meanings are explored in parallel, thereby reducing misunderstandings and increasing response coverage.
[0209] In some implementations, the system is configured to automatically create branching checkpoints at predefined milestones, such as after a predetermined number of turns or when topics change, thus preserving intermediate states. This advantageously allows users to return to previous dialog states without manual branching, improving recoverability.
[0210] In some implementations, the dialog-oriented user interface allows the user to highlight a portion of a message and create a new branch focused solely on the highlighted content. This advantageously facilitates the targeted exploration of subtopics, such as branching to a technical term within a long answer.
[0211] In some implementations, the system is configured to automatically generate branches with different parameter settings, such as levels of creativity or conciseness, and optionally execute responses in parallel. This has the advantage that users can compare stylistic or configurational variations of an answer without having to repeatedly enter manual input.
[0212] In some implementations, the system is configured to analyze the mood of the branching content and display corresponding indicators, such as symbols or color codes, on the branching labels. This gives users the advantage of being able to get an overview of the emotional tone of the branches at a glance, which helps them choose appropriate tones or contexts.
[0213] In some implementations, the system is configured to provide user annotations for branches, with the annotations being separate from the chatbot responses and not processed as context. This advantageously allows users to add notes, reminders, or tags to branches for personal organization without influencing the AI's reasoning.
[0214] Fig. Figure 7 shows a schematic block diagram of the computer hardware on which embodiments of the present disclosure can be implemented. As can be seen, a data processing system 702 comprises one or more processors 704 and a memory 706. The one or more processors 704 are communicatively coupled to the memory 706. The memory 706 stores a computer program 708. The computer program 708 can implement some or all aspects of the disclosed methods and functions.
[0215] In various implementations, the chatbot can be implemented using any type of generative response engine with natural language processing capabilities. For example, the chatbot can include a machine learning model, in particular a (large-scale) language model, more precisely a Transformer model, or even more precisely a generatively pre-trained Transformer model. Example 1: Multimodal branched conversations with cross-branch asset usage
[0216] In this example, an enhanced implementation of the nonlinear conversation system supports multimodal content in branching conversations, including images, audio clips, videos, and interactive elements. When a user starts a conversation about interior design, they upload photos of their living room, and the system integrates these images into the conversation context. If the user creates a branch to explore different color schemes, the original images are automatically carried over to the new branch but now processed with real-time color overlays that showcase the alternative designs. Each branch manages separate collections of generated design assets, but the system implements an "asset library" feature that allows elements from each branch to be reused throughout the conversation.For example, if the user creates a third branch focused on furniture arrangement, they can access a gallery displaying all images from all branches and select specific elements to integrate into the current context. The system tracks the origin of the assets and maintains a graphical representation showing where each element came from and how it has been modified across branches. This multimodal branching significantly reduces design iteration cycles compared to linear conversational approaches, as users can develop and compare multiple concepts simultaneously while sharing common elements. The system extends this capability to other media types, allowing audio samples in music composition branches and code snippets in programming helper branches to be similarly tracked and reused throughout the conversation graph. Example 2: Collaborative team branching with role-based access control
[0217] In this example, the system implements an enterprise-oriented version that supports collaborative branched conversations, where multiple team members interact with the same conversation graph, but with role-based permissions and visibility controls. In a product development scenario, an eight-person team of designers, engineers, marketers, and executives uses the system to explore product features and market positioning. The conversation begins with a common root, but team members create specialized branches focused on their respective areas. The engineering team creates branches for technical feasibility, while marketing develops positioning branches, and the design team explores aesthetic directions.The system manages a unified conversation graph but implements role-based access controls, allowing department heads to restrict certain branches to specific team members or departments. As the conversation progresses, the system offers dedicated merging options for collaborative decision-making, including a stakeholder voting feature that allows team members to endorse specific branches or solutions, with the voting results visualized directly in the conversation graph. A branch comparison tool highlights differences between approaches and automatically identifies points of consensus and disagreement. The collaborative system also implements a branch lock to prevent changes to final decisions while still allowing further exploration of open areas.Analytics dashboards provide key performance indicators (KPIs) on branching patterns, team engagement, and decision progress. The collaborative branching approach significantly reduces decision cycles compared to traditional, meeting-based approaches and improves cross-functional knowledge sharing. Example 3: Temporal what-if analysis with counterfactual branches and scenario modeling
[0218] In this example, the system implements an advanced "what-if" analysis framework that extends branching conversations into sophisticated temporal modeling for business forecasting, scientific research, and policy planning. Users interact with a special version of the interface that adds simulation capabilities to the branching structure. In a business forecasting scenario, a financial analyst creates a base conversation branch discussing market forecasts and then generates counterfactual branches representing different interest rate scenarios, supply chain disruptions, or competitor actions. Each branch not only maintains the conversational context but is also connected to a computational backend that adjusts the financial models according to the assumptions in that branch.The system offers specialized visualization tools that display quantitative results across all branches, such as sales forecasts or cost models, enabling a direct comparison of scenarios. A sensitivity analysis function automatically creates multiple micro-branches with slight variations in key parameters to identify inflection points and critical thresholds. The temporal modeling function includes branch fusion, where the system can simulate the effects of assumptions made in one branch when applied at different points in time within the timeline of another branch. For scientific research applications, the system can integrate with external datasets and generate branches representing different experimental designs or parameter selections, with the ability to simulate expected outcomes based on existing research literature. Example 4: Personalized learning paths with adaptive branching and competency-based progression
[0219] In this example, the system implements an educational application of branching conversations, creating personalized learning experiences through adaptive path generation and competency-based progress tracking. A student engaging with the system on a complex topic such as quantum physics begins with an assessment conversation that determines their current level of knowledge. As the conversation progresses, the system automatically generates branches representing different learning approaches tailored to the understanding patterns demonstrated by the student: one branch might emphasize visual explanations, another mathematical formalisms, and a third practical applications. Unlike user-initiated branching, these system-generated learning paths are created by a specific educational model that maps concept dependencies and optimal learning sequences.The user interface includes a "concept map" that visualizes the student's progress across different knowledge areas within the topic, with branches color-coded according to mastery level. A "challenge branch" feature recognizes when a student consistently demonstrates strong knowledge and automatically generates a branch with more advanced content to test the limits of their understanding. The system also implements "reinforcement branches" that periodically branch off from the main conversation to revisit previous concepts in new contexts, thus supporting knowledge retention.For group learning environments, an "explanation exchange" feature allows learners to bookmark effective explanations from their personal branches and share them with peers, creating a collaborative knowledge network that accommodates the non-linear nature of each learner's learning path. This adaptive branching approach significantly improves concept retention compared to linear explanations and increases interaction time. Example 5: Cross-reality branched conversations with environment-aware context switching
[0220] In this example, the system extends branching conversations beyond traditional interfaces to mixed-reality environments, implementing context-aware branching that encompasses virtual, augmented, and physical spaces. Users interact with the conversational system through a combination of voice commands, gesture control, and traditional text input across various devices and reality contexts. A user planning a home renovation starts a conversation on their smartphone, creating initial branches to explore different design concepts. Upon entering the relevant room, an augmented reality (AR) component is activated, projecting virtual elements representing the various branches onto the physical space.As the user walks through their home, the system automatically switches between conversation branches based on location context, displaying kitchen renovation options in the kitchen and bathroom designs in the bathroom. The user creates new branches through gesture control, "grabbing" elements from one design branch and "placing" them in another, with the system maintaining the logical conversational structure behind these spatial interactions. A "reality capture" feature allows real-world elements to be scanned and integrated into the conversational context, with separate branches retaining different virtual modifications of these physical objects.The system implements "cross-reality persistence," meaning that branches created in one reality context (virtual, augmented, or physical) remain accessible even when the user switches contexts, with appropriate adjustments to the display. In collaborative scenarios, multiple users can interact simultaneously with the same branched conversation graph from different locations and across different reality contexts, with the system ensuring appropriate perspective rendering and context synchronization. This approach significantly reduces the client's decision time compared to traditional design presentations and improves the spatial understanding of the proposed changes. Other versions:
[0221] Embodiment 1. A computer-implemented method for managing a non-linear conversation with a chatbot, comprising: • Displaying a conversation between a user and a chatbot on a conversational user interface, where the conversation includes a variety of user prompts and corresponding chatbot responses that form an initial conversational path; • Changing a user prompt within the conversation on the conversation user interface in response to a user request; and • Displaying a chatbot response to the modified user prompt on the conversation user interface, with the chatbot response to the modified user prompt being displayed in a second conversation path separate from the first conversation path.
[0222] Embodiment 2. The method of embodiment 1, wherein the first conversation path and the second conversation path are displayed simultaneously on the conversation user interface by rendering the paths in vertical, adjacent sequences within the conversation user interface, each sequence listing the user prompts and corresponding chatbot responses of the respective path in sequence.
[0223] Embodiment 3. The method of one of the preceding embodiments, wherein the first conversation path and the second conversation path are displayed in a tree structure, the tree structure comprising a root node corresponding to an initial user prompt of the conversation and a child node for each subsequent chatbot response and user prompt, wherein the modified user prompt is located on a branch representing the second conversation path extending from a branch representing the first conversation path; • where the user interface visually distinguishes different branches through lines, connecting elements, color coding, or positioning of user prompts and chatbot responses.
[0224] Embodiment 4. The method of one of the preceding embodiments, wherein, upon creation of the second conversation path, the second conversation path is automatically selected as the active conversation path, and a subsequent user prompt is appended to the conversation path that is currently selected as the active conversation path until the user changes the selection via a path selection control displayed on the conversation user interface.
[0225] Embodiment 5. The method of one of the preceding embodiments, wherein the first conversation path and the second conversation path are both displayed in an expanded state.
[0226] Embodiment 6. The method of one of the foregoing embodiments, further comprising transferring a display of the first conversation path to a collapsed state, while the second conversation path is displayed in an expanded state; • where the reduced state includes displaying a summary, a representative element such as the initial user prompt or branching point, or a symbolic representation of at least some of the user prompts and chatbot responses of the branch instead of the user prompts and chatbot responses of a conversation path.
[0227] Embodiment 7. The method according to one of the preceding embodiments, further comprising displaying at least one first label associated with the first conversation path and / or at least one second label associated with the second conversation path on the conversation user interface.
[0228] Embodiment 8. The method of embodiment 7, wherein at least one of the first labels or the second labels is a label generated by the chatbot; • where the label generated by the chatbot reflects the subject, intent or distinguishing feature of the corresponding conversation path, for example by summarizing the user's modified prompt or highlighting a key topic discussed in that path; • where the label generated by the chatbot is customizable by the user.
[0229] Embodiment 9. The method of one of the foregoing embodiments, further comprising maintaining different conversation contexts for the first conversation path and the second conversation path; • where a conversation context comprises a set of background information, knowledge, or states associated with the relevant conversation path, including one or more of the following: retained variables, topics, or previous discussion histories of the conversation that apply to subsequent chatbot responses in the conversation path.
[0230] Embodiment 10. The method of one of the foregoing embodiments, which further comprises: • Receiving a user request to merge the second conversation path into the first conversation path; • Creating a unified conversational context; and • Displaying a subsequent chatbot response in a merged conversation path based on the merged context on the conversation user interface.
[0231] Embodiment 11. The method of embodiment 10, wherein generating the merged conversation context comprises generating an automated summary of the second conversation path and inserting the summary into a conversation context of the first conversation path.
[0232] Embodiment 12. The method of embodiment 10 or 11, wherein the user request to merge is received via a drag-and-drop operation of a user prompt or chatbot response from the second conversation path to the first conversation path on the conversation user interface.
[0233] Embodiment 13. Method according to one of the foregoing embodiments, further comprising: • Receiving a user selection to exclude selected user prompts or chatbot responses from a current conversation context; and • Generating a subsequent chatbot response based solely on contained previous user prompts and chatbot responses.
[0234] Embodiment 14. The method of one of the foregoing embodiments, further comprising: displaying a navigable timeline slider representing the conversation, wherein the timeline slider includes nodes for the first conversation path and the second conversation path, wherein the slider is configured to navigate the display to each user prompt or chatbot response on each conversation path; • where the timeline slider includes a variety of visual markers, each marker corresponding to a key message or summary within the conversation.
[0235] Embodiment 15. Method according to one of the preceding embodiments, wherein off-screen segments of the conversation paths are virtualized so that they are only rendered or transmitted when they are scrolled into the visible area.
[0236] Embodiment 16. The method of one of the foregoing embodiments, further comprising displaying a semantic map of the conversation, wherein the semantic map comprises a plurality of nodes grouped by topic, and wherein each node represents a group of related user prompts and chatbot responses from one or more conversation paths.
[0237] Embodiment 17. The method according to one of the foregoing embodiments, which further comprises: • Receiving a user selection of two or more conversation paths, including the first conversation path and the second conversation path; • Receiving a specific weighting for each of the selected conversation paths; and • Generating a consensus chatbot response by synthesizing content from the selected conversation paths according to their respective weightings.
[0238] Embodiment 18. The method of one of the foregoing embodiments, further comprising: inserting a capsule thread that opens a side window decoupled from the main conversation context for up to a predetermined number of back-and-forth switches, compressing it to a single inline capsule symbol with an attached extract and an unread count marker when closed, and excluding the capsule contents from the main branch unless explicitly merged.
[0239] Design 19. A data processing system, device or apparatus comprising: • an advertisement; • at least one processor; and • a memory that stores instructions which, when executed by the at least one processor, cause the system to • to display a conversation between a user and a chatbot on a dialog-oriented user interface, where the conversation includes a variety of user prompts and corresponding chatbot responses that form an initial conversation path; • to change a user prompt within the dialog in response to a user request on the dialog-oriented user interface; and • Displaying a chatbot response to the modified user prompt on the dialog-oriented user interface, with the chatbot response to the modified user prompt being displayed in a second conversation path separate from the first conversation path.
[0240] 20. Non-transitory, computer-readable medium on which computer-executable instructions are stored to implement a procedure for managing a non-linear conversation with a chatbot, comprising: • Displaying a conversation between a user and a chatbot on a conversational user interface, where the conversation includes a variety of user prompts and corresponding chatbot responses that form an initial conversational path; • Modifying a user prompt within the conversation on the conversational user interface in response to a user request; and • Displaying a chatbot response to the modified user prompt on the conversation user interface, with the chatbot response to the modified user prompt being displayed in a second conversation path separate from the first conversation path.
[0241] Although various aspects and embodiments have been presented and described in detail in the foregoing description and the drawings, these presentations and descriptions are for illustrative or exemplary purposes only and are not limiting. Variations of the disclosed embodiments can be understood and implemented by those skilled in the art when implementing the claimed subject matter with reference to the drawings, the disclosure, and the accompanying claims.
[0242] Although some aspects relating to a product, device, apparatus, or system have been described, these aspects also constitute a description of the corresponding process, procedure, or use, where a block or component corresponds to a process step or a feature of a process step. Similarly, aspects described in relation to a process step also constitute a description of a corresponding block, component, or feature of a corresponding product, device, apparatus, or system.
[0243] The order in which the operations are performed in the described embodiments is not essential unless otherwise specified. That is, the operations can be performed in any order unless otherwise specified, and the embodiments may include additional or fewer operations than those mentioned.
[0244] In the claims, the word "comprising" does not exclude other elements or steps, and the indefinite article "a" or "an" does not exclude a plurality. A single unit can perform the functions of several units listed in the claims. The mere fact that certain measures are listed in differing dependent claims does not mean that a combination of these measures cannot be used advantageously. Reference symbols in the claims should not be interpreted as limiting the scope.
[0245] Embodiments of the present disclosure can be implemented in hardware, software, or both. The implementation can be carried out using a non-transient storage medium, such as a digital storage medium, for example, a floppy disk, DVD, Blu-ray disc, CD, ROM, PROM and EPROM, EEPROM, or FLASH memory, on which electronically readable control signals are stored that interact (or can interact) with a programmable computer system to carry out the respective method. Therefore, the digital storage medium can be computer-readable.
[0246] Embodiments of the present disclosure can be implemented on a computer system. The computer system can be a local computing device (e.g., a personal computer, a laptop, a tablet computer, or a mobile phone) with one or more processors and one or more memory devices, or a distributed computing system (e.g., a cloud computing system with one or more processors and one or more memory devices distributed across different locations, such as a local client and / or one or more remote server farms and / or data centers). The computer system can comprise any circuit or combination of circuits. In one embodiment, the computer system can comprise one or more processors, which can be of any type.As used here, "processor" can mean any type of computing circuit, such as, but not limited to, a microprocessor, a microcontroller, a complex instruction set (CISC) microprocessor, a reduced instruction set (RISC) microprocessor, a very long instruction word (VLIW) microprocessor, a graphics processing unit (GPU), a digital signal processor (DSP), a multi-core processor, a field-programmable gate array (FPGA), or any other type of processor or processing circuit. Other types of circuitry that may be included in the computer system could be a custom-designed circuit, an application-specific integrated circuit (ASIC), or the like, such as one or more circuits (like a communications circuit) for use in wireless devices such as mobile phones, tablet computers, laptop computers, radios, and similar electronic systems.The computer system may include one or more storage devices, which may contain one or more storage elements suitable for the application, such as main memory in the form of random-access memory (RAM), one or more hard disk drives, and / or one or more drives that handle removable media such as compact discs (CDs), flash memory cards, digital video discs (DVDs), and the like. The computer system may also include a display device, one or more speakers, and a keyboard and / or a control device, which may include a mouse, trackball, touchscreen, speech recognition device, or any other device that enables a system user to input information into and receive information from the computer system.Some or all of the process steps can be performed by (or using) a hardware device, such as a processor, a microprocessor, a programmable computer, or an electronic circuit. In some embodiments, some or all of the described process steps can be performed by such a device. Another embodiment is a device described herein that comprises a processor and a storage medium.
[0247] Embodiments of the present disclosure can be implemented as a computer program (product) with program code, wherein the program code serves to execute one of the methods when the computer program product is executed on a computer. The program code can, for example, be stored on a machine-readable medium. Other embodiments include a computer program for executing one of the methods described herein, which is stored on a machine-readable medium. Another embodiment is a computer program with program code for executing one of the methods described herein when the computer program is executed on a computer. A further embodiment is a storage medium (or a data carrier or a computer-readable medium) on which the computer program for executing one of the methods described herein is stored when executed by a processor.The data carrier, digital storage medium, or recording medium is typically tangible and / or non-perishable. Another embodiment is a computer on which the computer program for executing one of the methods described herein, or individual steps thereof, is installed.
[0248] Another embodiment is a data stream or a sequence of signals that represents the computer program for carrying out one of the methods described herein. The data stream or sequence of signals can, for example, be configured to be transmitted via a data communication link, such as the Internet.
[0249] Another embodiment is a device or system configured to transmit a computer program for performing one of the methods described herein (e.g., electronically or optically) to a receiver. The receiver may, for example, be a computer, a mobile device, a storage device, or the like. The device or system may, for example, include a file server for transmitting the computer program to the receiver. QUOTES INCLUDED IN THE DESCRIPTION
[0000] This list of documents cited by the applicant was automatically generated and is included solely for the reader's convenience. The list is not part of the German patent or utility model application. The DPMA accepts no liability for any errors or omissions. Cited patent literature
[0000] US 2025 / 0068258 A1
[0012] US 2020 / 0356237 A1
[0013] US 11,095,579 B1
[0014] US 11,550,565 B1
[0015] US 10.901.603 B2
[0016] US 10.628.775 B2
[0017] US 2004 / 0267701 A1
[0018] US 12,210,849 B1
[0019] US 2022 / 0158962 A1
[0020] US 2023 / 0308536 A1
[0021] US 20242 / 44026 A1
[0022]
Claims
[1] A computer program with instructions which, when executed on a computer, cause it to: Displaying a conversation between a user and a chatbot on a dialogue-oriented user interface, wherein the displayed conversation comprises a plurality of displayed user prompts and corresponding displayed chatbot responses, forming an initial conversation path; to allow the user to revisit and modify previous parts of the conversation and to non-destructively create a second conversation path separate from the first conversation path, which coexists with and is independent of the first conversation path, so that the conversation has multiple paths branching off from a common starting point; wherein the creation of the second conversation path: (1) automatically selects the second conversation path as the active conversation path and appends a subsequent user prompt to the currently selected conversation path until the user changes the selection via a path selection control displayed on the dialog-oriented user interface; and (2) displays the second conversation path; Transitioning the display of the first conversation path into a reduced visual state, while the second conversation path is displayed in an expanded visual state, the reduced visual state including displaying a summary or representative element instead of the user prompts and chatbot responses of a conversation path, which can be expanded again if the user wishes to revisit the first conversation path; Displaying a label associated with the second conversation path on the dialogue-oriented user interface, wherein the label is a chatbot-generated label that reflects the subject of the second conversation path by highlighting a key topic discussed in that path, wherein the chatbot-generated label is customizable by the user; and Maintaining different entertainment contexts for the first entertainment path and the second entertainment path. [2] The computer program according to claim 1, wherein a conversation context comprises a set of background information, knowledge or states associated with the corresponding conversation path, including one or more stored variables, topics or previous discussion histories of a conversation that apply to the subsequent chatbot responses of the conversation path. [3] A storage medium on which the computer program according to claim 1 or 2 is stored. [4] A computer system configured to run the computer program according to claim 1 or 2.
Citation Information
Patent Citations
US10.628.775B2
US10.901.603B2
US11,095,579B1
US11,550,565B1
US12,210,849B1