IP Library Granted Patent US 12,725,686
Granted Patent B2
US 12,725,686 · App. 18/885,285 · Granted Sep 1, 2026

Maintaining state and context of conversations between a user and digital assistant using threads

Inventors: Steven Martijn Davelaar (Utrecht, NL); Jashanpreet Singh (Bengaluru, IN)
Assignee: ORACLE INTERNATIONAL CORPORATION
G16H10/60G06F3/0482G06F3/0483G06F9/453G06F9/546G06F40/30
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,725,686
App. No.
18/885,285
Granted
Sep 1, 2026
Kind
B2
Abstract

Techniques for maintaining state and context of conversations between a user and digital assistant using threads. In one aspect, a method includes receiving a natural language utterance from a user during a session, obtaining a topic context instance for the natural language utterance, and generating, by a GenAI model, a list comprising an executable action based on candidate actions associated with the topic context instance. The executable action is then executed to produce an output. The executing includes determining there is no thread running within the session that is associated with the topic context instance, the executable action, or both, and responsive to determining there is no thread running, creating a thread associated with the topic context instance, the executable action, or both, and executing, using the thread, the executable action to obtain the output. The output or a communication derived from the output is then sent to the user.

Claims (181)

1 . A computer-implemented method comprising:

receiving a natural language utterance from a user during a session between the user and a digital assistant;

obtaining a topic context instance for the natural language utterance, wherein the topic context instance is a context variable data structure that comprises one or more context variables;

invoking, based on the one or more context variables within the context variable data structure, a conversation flow between the user and a digital assistant;

generating, by a generative artificial intelligence (GenAI) model, a list comprising an executable action, wherein the generating the list comprises:

identifying the executable action from one or more candidate actions based on the natural language utterance and the topic context instance,

deriving, by the GenAI model, one or more parameters from the natural language utterance, the one or more context variables within the context variable data structure, or both, and

filling empty argument slots of the executable action with the one or more parameters;

executing the executable action to produce an output, wherein the executing comprises:

determining there is no thread running within the session that is associated with the topic context instance, the executable action, or both,

responsive to determining there is no thread running, creating a thread associated with the topic context instance, the executable action, or both, wherein creating the thread comprises specifying a thread identifier for the thread, and wherein the thread maintains the topic context instance, the executable action, or both as a separate context from that of context associated with any other conversations for a distinct conversation between the user and the digital assistant,

storing the thread identifier in association with the topic context instance in a context memory store such that the thread maintains state with the topic context instance for the conversation flow, and

executing, using the thread, the executable action to obtain the output; and

sending the output or a communication derived from the output to the user, wherein the output or the communication derived from the output includes the thread identifier.

2 . The computer-implemented method of claim 1 , further comprising:

receiving a subsequent natural language utterance from the user during the session between the user and the digital assistant;

obtaining the topic context instance for the subsequent natural language utterance;

invoking, based on the one or more context variables within the context variable data structure, the conversation flow between the user and the digital assistant;

generating, by the GenAI model, another list comprising another executable action, wherein the generating the another list comprises:

identifying the another executable action from one or more candidate actions based on the subsequent natural language utterance and the topic context instance,

deriving, by the GenAI model, one or more parameters from the subsequent natural language utterance, the one or more context variables within the context variable structure, or both, and

filling empty argument slots of the another executable action with the one or more parameters;

executing the another executable action, wherein the executing comprises:

identifying that the thread running within the session is associated with the topic context instance, the executable action, or both,

determining the another executable action should be executed using the thread based on the thread identifier, and

executing, using the thread, the another executable action to obtain another output; and

sending the another output or a communication derived from the another output to the user, wherein the another output or the communication derived from the another output includes the thread identifier.

3 . The computer-implemented method of claim 1 , further comprising:

receiving a subsequent natural language utterance from the user during the session between the user and the digital assistant;

obtaining a subsequent topic context instance for the subsequent natural language utterance, wherein the subsequent topic context instance is a context variable data structure that comprises one or more context variables;

invoking, based on the one or more context variables within the context variable data structure of the subsequent topic context instance, a conversation flow between the user and a digital assistant;

generating, by the GenAI model, another list comprising another executable action, wherein the generating the another list comprises:

identifying the another executable action from one or more candidate actions based on the subsequent natural language utterance and the context variable structure of the subsequent topic context instance,

deriving, by the GenAI model, one or more parameters from the subsequent natural language utterance, the one or more context variables within the context variable structure of the subsequent topic context instance, or both, and

filling empty argument slots of the another executable action with the one or more parameters;

executing the another executable action, wherein the executing comprises:

identifying that the thread running within the session is associated with the topic context instance for the natural language utterance, the executable action, or both,

determining there is no thread running within the session that is associated with the subsequent topic context instance for the subsequent natural language utterance, the another executable action, or both,

responsive to determining there is no thread running, creating another thread having an identifier associated with the subsequent topic context instance for the subsequent natural language utterance, the another executable action, or both, wherein creating the another thread comprises specifying another thread identifier for the another thread, and wherein the another thread maintains the subsequent topic context instance for the subsequent natural language utterance, the another executable action, or both as a separate context for another distinct conversation between the user and the digital assistant,

storing the another thread identifier in association with the subsequent topic context instance in a context memory store such that the another thread maintains state with the subsequent topic context instance for the conversation flow, and

executing, using the another thread, the another executable action to obtain another output; and

sending the another output or a communication derived from the another output to the user, wherein the another output or the communication derived from the another output includes the another thread identifier.

4 . The computer-implemented method of claim 3 , further comprising:

responsive to identifying the thread running within the session is associated with the topic context instance for the natural language utterance, the executable action, or both and determining there is no thread running within the session that is associated with the subsequent topic context instance for the subsequent natural language utterance, sending a confirmation communication to the user requesting confirmation of the subsequent natural language utterance, the subsequent topic context instance for the subsequent natural language utterance, or both; and

receiving, at the digital assistant, a confirmation utterance from the user that confirms the subsequent natural language utterance, the subsequent topic context instance for the subsequent natural language utterance, or both,

wherein responsive to determining there is no thread running and receipt of the confirmation utterance, creating the another thread.

5 . The computer-implemented method of claim 1 , further comprising:

receiving a message payload comprising: (i) a subsequent utterance or indication of an event, and (ii) application context, associated with an interaction between a user and an application;

identifying an identifier associated with (i) the subsequent utterance or the indication of the event, (ii) the application context, or (iii) both;

determining the identifier associated with the subsequent utterance or the indication of the event, (ii) the application context, or (iii) both is the same identifier associated with the topic context instance, the executable action, or both; and

responsive to determining the identifiers are the same, processing the message payload using the thread.

6 . The computer-implemented method of claim 1 , further comprising:

receiving a message payload comprising: (i) a subsequent utterance or indication of an event, and (ii) application context, associated with an interaction between a user and an application;

identifying an identifier associated with (i) the subsequent utterance or the indication of the event, (ii) the application context, or (iii) both;

determining the identifier associated with (i) the subsequent utterance or the indication of the event, (ii) the application context, or (iii) both is different from an identifier associated with the topic context instance, the executable action, or both; and

responsive to determining the identifiers are different, creating another thread having an identifier associated with (i) the subsequent utterance or the indication of the event, (ii) the application context, or (iii) both, wherein the another thread maintains (i) the subsequent utterance or the indication of the event, (ii) the application context, or (iii) both as a separate context for another distinct conversation between the user and the digital assistant; and

processing the message payload using the another thread.

7 . The computer-implemented method of claim 6 , further comprising:

responsive to determining the identifiers are different, sending a confirmation communication to the user requesting confirmation of (i) the subsequent utterance or the indication of the interface action, (ii) the application context, or (iii) both; and

receiving, at the digital assistant, a confirmation utterance from the user that confirms (i) the subsequent utterance or the indication of the interface action, (ii) the application context, or (iii) both,

wherein responsive to determining the identifiers are different and receipt of the confirmation utterance, creating the another thread.

8 . A system comprising:

one or more processors; and

one or more computer-readable media storing instructions which, when executed by the one or more processors, cause the system to perform operations comprising:

receiving a natural language utterance from a user during a session between the user and a digital assistant;

obtaining a topic context instance for the natural language utterance, wherein the topic context instance is a context variable data structure that comprises one or more context variables;

invoking, based on the one or more context variables within the context variable data structure, a conversation flow between the user and a digital assistant;

generating, by a generative artificial intelligence (GenAI) model, a list comprising an executable action, wherein the generating the list comprises:

identifying the executable action from one or more candidate actions based on the natural language utterance and the topic context instance,

deriving, by the GenAI model, one or more parameters from the natural language utterance, the one or more context variables within the context variable structure, or both, and

filling empty argument slots of the executable action with the one or more parameters;

executing the executable action to produce an output, wherein the executing comprises:

determining there is no thread running within the session that is associated with the topic context instance, the executable action, or both,

responsive to determining there is no thread running, creating a thread associated with the topic context instance, the executable action, or both, wherein creating the thread comprises specifying a thread identifier for the thread, and wherein the thread maintains the topic context instance, the executable action, or both as a separate context from that of context associated with any other conversations for a distinct conversation between the user and the digital assistant,

storing the thread identifier in association with the topic context instance in a context memory store such that the thread maintains state with the topic context instance for the conversation flow, and

executing, using the thread, the executable action to obtain the output; and

sending the output or a communication derived from the output to the user, wherein the output or the communication derived from the output includes the thread identifier.

9 . The system of claim 8 , wherein the operations further comprise:

receiving a subsequent natural language utterance from the user during the session between the user and the digital assistant;

obtaining the topic context instance for the subsequent natural language utterance;

invoking, based on the one or more context variables within the context variable data structure, the conversation flow between the user and the digital assistant;

generating, by the GenAI model, another list comprising another executable action, wherein the generating the another list comprises:

identifying the another executable action from one or more candidate actions based on the subsequent natural language utterance and the topic context instance,

deriving, by the GenAI model, one or more parameters from the subsequent natural language utterance, the one or more context variables within the context variable structure, or both, and

filling empty argument slots of the another executable action with the one or more parameters;

executing the another executable action, wherein the executing comprises:

identifying tha the thread running within the session is associated with the topic context instance, the executable action, or both,

determining the another executable action should be executed using the thread based on the thread identifier, and

executing, using the thread, the another executable action to obtain another output; and

sending the another output or a communication derived from the another output to the user, wherein the another output or the communication derived from the another output includes the thread identifier.

10 . The system of claim 8 , wherein the operations further comprise:

receiving a subsequent natural language utterance from the user during the session between the user and the digital assistant;

obtaining a subsequent topic context instance for the subsequent natural language utterance, wherein the subsequent topic context instance is a context variable data structure that comprises one or more context variables;

invoking, based on the one or more context variables within the context variable data structure of the subsequent topic context instance, a conversation flow between the user and a digital assistant;

generating, by the GenAI model, another list comprising another executable action, wherein the generating the another list comprises:

identifying the another executable action from one or more candidate actions based on the subsequent natural language utterance and the context variable structure of the subsequent topic context instance,

deriving, by the GenAI model, one or more parameters from the subsequent natural language utterance, the one or more context variables within the context variable structure of the subsequent topic context instance, or both, and

filling empty argument slots of the another executable action with the one or more parameters;

executing the another executable action, wherein the executing comprises:

identifying that the thread running within the session is associated with the topic context instance for the natural language utterance, the executable action, or both,

determining there is no thread running within the session that is associated with the subsequent topic context instance for the subsequent natural language utterance, the another executable action, or both,

responsive to determining there is no thread running within the session that is associated with the subsequent topic context instance for the subsequent natural language utterance, creating another thread having an identifier associated with the subsequent topic context instance for the subsequent natural language utterance, the another executable action, or both, wherein creating the another thread comprises specifying another thread identifier for the another thread, and wherein the another thread maintains the subsequent topic context instance for the subsequent natural language utterance, the another executable action, or both as a separate context for another distinct conversation between the user and the digital assistant,

storing the another thread identifier in association with the subsequent topic context instance in a context memory store such that the another thread maintains state with the subsequent topic context instance for the conversation flow, and

executing, using the another thread, the another executable action to obtain another output; and

sending the another output or a communication derived from the another output to the user, wherein the another output or the communication derived from the another output includes the another thread identifier.

11 . The system of claim 10 , wherein the operations further comprise:

responsive to identifying that the thread running within the session is associated with the topic context instance for the natural language utterance, the executable action, or both and determining there is no thread running within the session that is associated with the subsequent topic context instance for the subsequent natural language utterance, sending a confirmation communication to the user requesting confirmation of the subsequent natural language utterance, the subsequent topic context instance for the subsequent natural language utterance, or both; and

receiving, at the digital assistant, a confirmation utterance from the user that confirms the subsequent natural language utterance, the subsequent topic context instance for the subsequent natural language utterance, or both,

wherein responsive to determining there is no thread running within the session that is associated with the subsequent topic context instance for the subsequent natural language utterance and receipt of the confirmation utterance, creating the another thread.

12 . The system of claim 8 , wherein the operations further comprise:

receiving a message payload comprising: (i) a subsequent utterance or indication of an event, and (ii) application context, associated with an interaction between a user and an application;

identifying an identifier associated with the subsequent utterance or the indication of the event, (ii) the application context, or (iii) both;

determining the identifier associated with (i) the subsequent utterance or the indication of the event, (ii) the application context, or (iii) both is the same identifier associated with the topic context instance, the executable action, or both; and

responsive to determining the identifiers are the same, processing the message payload using the thread.

13 . The system of claim 8 , wherein the operations further comprise:

receiving a message payload comprising: (i) a subsequent utterance or indication of an event, and (ii) application context, associated with an interaction between a user and an application;

identifying an identifier associated with (i) the subsequent utterance or the indication of the event, (ii) the application context, or (iii) both;

determining the identifier associated with (i) the subsequent utterance or the indication of the event, (ii) the application context, or (iii) both is different from an identifier associated with the topic context instance, the executable action, or both; and

responsive to determining the identifiers are different, creating another thread having an identifier associated with (i) the subsequent utterance or the indication of the event, (ii) the application context, or (iii) both, wherein the another thread maintains (i) the subsequent utterance or the indication of the event, (ii) the application context, or (iii) both as a separate context for another distinct conversation between the user and the digital assistant; and

processing the message payload using the another thread.

14 . The system of claim 13 , wherein the operations further comprise:

responsive to determining the identifiers are different, sending a confirmation communication to the user requesting confirmation of (i) the subsequent utterance or the indication of the event, (ii) the application context, or (iii) both; and

receiving, at the digital assistant, a confirmation utterance from the user that confirms (i) the subsequent utterance or the indication of the event, (ii) the application context, or (iii) both,

wherein responsive to determining the identifiers are different and receipt of the confirmation utterance, creating the another thread.

15 . One or more non-transitory computer-readable media storing instructions which, when executed by one or more processors, cause the one or more processors to perform operations comprising:

receiving a natural language utterance from a user during a session between the user and a digital assistant;

obtaining a topic context instance for the natural language utterance, wherein the topic context instance is a context variable data structure that comprises one or more context variables;

invoking, based on the one or more context variables within the context variable data structure, a conversation flow between the user and a digital assistant;

generating, by a generative artificial intelligence (GenAI) model, a list comprising an executable action, wherein the generating the list comprises:

identifying the executable action from one or more candidate actions based on the natural language utterance and the topic context instance,

deriving, by the GenAI model, one or more parameters from the natural language utterance, the one or more context variables within the context variable data structure, or both, and

filling empty argument slots of the executable action with the one or more parameters;

executing the executable action to produce an output, wherein the executing comprises:

determining there is no thread running within the session that is associated with the topic context instance, the executable action, or both,

responsive to determining there is no thread running, creating a thread associated with the topic context instance, the executable action, or both, wherein creating the thread comprises specifying a thread identifier for the thread, and wherein the thread maintains the topic context instance, the executable action, or both as a separate context from that of context associated with any other conversations for a distinct conversation between the user and the digital assistant,

storing the thread identifier in association with the topic context instance in a context memory store such that the thread maintains state with the topic context instance for the conversation flow, and

executing, using the thread, the executable action to obtain the output; and

sending the output or a communication derived from the output to the user, wherein the output or the communication derived from the output includes the thread identifier.

16 . The one or more non-transitory computer-readable media of claim 15 , wherein the operations further comprise:

receiving a subsequent natural language utterance from the user during the session between the user and the digital assistant;

obtaining the topic context instance for the subsequent natural language utterance;

invoking, based on the one or more context variables within the context variable data structure, the conversation flow between the user and the digital assistant;

generating, by the GenAI model, another list comprising another executable action, wherein the generating the another list comprises:

identifying the another executable action from one or more candidate actions based on the subsequent natural language utterance and the topic context instance,

deriving, by the GenAI model, one or more parameters from the subsequent natural language utterance, the one or more context variables within the context variable structure, or both, and

filling empty argument slots of the another executable action with the one or more parameters;

executing the another executable action, wherein the executing comprises:

identifying that the thread running within the session is associated with the topic context instance, the executable action, or both,

determining the another executable action should be executed using the thread based on the thread identifier, and

executing, using the thread, the another executable action to obtain another output; and

sending the another output or a communication derived from the another output to the user, wherein the another output or the communication derived from the another output includes the thread identifier.

17 . The one or more non-transitory computer-readable media of claim 15 , wherein the operations further comprise:

receiving a subsequent natural language utterance from the user during the session between the user and the digital assistant;

obtaining a subsequent topic context instance for the subsequent natural language utterance, wherein the subsequent topic context instance is a context variable data structure that comprises one or more context variables;

invoking, based on the one or more context variables within the context variable data structure of the subsequent topic context instance, a conversation flow between the user and a digital assistant;

generating, by the GenAI model, another list comprising another executable action, wherein the generating the another list comprises:

identifying the another executable action from one or more candidate actions based on the subsequent natural language utterance and the context variable structure of the subsequent topic context instance,

deriving, by the GenAI model, one or more parameters from the subsequent natural language utterance, the one or more context variables within the context variable structure of the subsequent topic context instance, or both, and

filling empty argument slots of the another executable action with the one or more parameters;

executing the another executable action, wherein the executing comprises:

identifying that the thread running within the session is associated with the topic context instance for the natural language utterance, the executable action, or both,

determining there is no thread running within the session that is associated with the subsequent topic context instance for the subsequent natural language utterance, the another executable action, or both,

responsive to determining there is no thread running within the session that is associated with the subsequent topic context instance for the subsequent natural language utterance, creating another thread having an identifier associated with the subsequent topic context instance for the subsequent natural language utterance, the another executable action, or both, wherein creating the another thread comprises specifying another thread identifier for the another thread, and wherein the another thread maintains the subsequent topic context instance for the subsequent natural language utterance, the another executable action, or both as a separate context for another distinct conversation between the user and the digital assistant,

storing the another thread identifier in association with the subsequent topic context instance in a context memory store such that the another thread maintains state with the subsequent topic context instance for the conversation flow, and

executing, using the another thread, the another executable action to obtain another output; and

sending the another output or a communication derived from the another output to the user, wherein the another output or the communication derived from the another output includes the another thread identifier.

18 . The one or more non-transitory computer-readable media of claim 17 , wherein the operations further comprise:

responsive to identifying that the thread running within the session is associated with the topic context instance for the natural language utterance, the executable action, or both and determining there is no thread running within the session that is associated with the subsequent topic context instance for the subsequent natural language utterance, sending a confirmation communication to the user requesting confirmation of the subsequent natural language utterance, the subsequent topic context instance for the subsequent natural language utterance, or both; and

receiving, at the digital assistant, a confirmation utterance from the user that confirms the subsequent natural language utterance, the subsequent topic context instance for the subsequent natural language utterance, or both,

wherein responsive to determining there is no thread running within the session that is associated with the subsequent topic context instance for the subsequent natural language utterance and receipt of the confirmation utterance, creating the another thread.

19 . The one or more non-transitory computer-readable media of claim 15 , wherein the operations further comprise:

receiving a message payload comprising: (i) a subsequent utterance or indication of an event, and (ii) application context, associated with an interaction between a user and an application;

identifying an identifier associated with (i) the subsequent utterance or the indication of the event, (ii) the application context, or (iii) both;

determining the identifier associated with (i) the subsequent utterance or the indication of the event, (ii) the application context, or (iii) both is the same identifier associated with the topic context instance, the executable action, or both; and

responsive to determining the identifiers are the same, processing the message payload using the thread.

20 . The one or more non-transitory computer-readable media of claim 15 , wherein the operations further comprise:

receiving a message payload comprising: (i) a subsequent utterance or indication of an event, and (ii) application context, associated with an interaction between a user and an application;

identifying an identifier associated with (i) the subsequent utterance or the indication of the event, (ii) the application context, or (iii) both;

determining the identifier associated with (i) the subsequent utterance or the indication of the event, (ii) the application context, or (iii) both is different from an identifier associated with the topic context instance, the executable action, or both; and

responsive to determining the identifiers are different, creating another thread having an identifier associated with (i) the subsequent utterance or the indication of the interface action, (ii) the application context, or (iii) both, wherein the another thread maintains (i) the subsequent utterance or the indication of the event, (ii) the application context, or (iii) both as a separate context for another distinct conversation between the user and the digital assistant; and

processing the message payload using the another thread.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 27, 2024
From: DAVELAAR, STEVEN MARTIJN; SINGH, JASHANPREET
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 069423/0553 →
Continuity (2)
Provisional Application 63583161 · Sep 15, 2023
Related Publication 20250095808A1 · Mar 20, 2025
References Cited (28)
US 10540661B2 · Lange et al. · 2020 [cited by applicant]
US 11893356B1 · Yannam et al. · 2024 [cited by applicant]
US 12430329B2 · Hoang · 2025 [cited by examiner]
US 20180068082A1 · Brown · 2018 [cited by examiner]
US 20180324116A1 · Vaduva · 2018 [cited by applicant]
US 20210225507A1 · Van Kollenburg · 2021 [cited by examiner]
US 20210257110A1 · Barkol · 2021 [cited by examiner]
US 20210303798A1 · Duong · 2021 [cited by examiner]
US 20220308718A1 · Klein · 2022 [cited by examiner]
US 20220374605A1 · Sethi · 2022 [cited by examiner]
US 20220415320A1 · Zheng · 2022 [cited by examiner]
US 20230135179A1 · Mielke · 2023 [cited by examiner]
US 20230306205A1 · Maeder · 2023 [cited by examiner]
US 20230419952A1 · Desai · 2023 [cited by examiner]
CN 111258479B · 2023 [cited by applicant]
Multipurpose Intelligent Process Automation via Conversational Assistant Alena Moiseeva1 , Dietrich Trautmann1 , Michael Heimann2 , Hinrich Schutze {umlaut over ( )} 1 arXiv:2001.02284v2 [cs.CL] May 21, 2020 (Year: 2020… [cited by examiner]
W. A. H. Weerathunga, G. N. Lokugamage, H. V, A. D. N. H. Yahampath and D. Kasthurirathna, “Domain Specific Conversational Intelligence: Voice Based E-Channeling System,” 2020 2nd International Conference on Advancement… [cited by examiner]
Mairittha T, Mairittha N, Inoue S. Automatic Labeled Dialogue Generation for Nursing Record Systems. J Pers Med. Jul. 16, 2020; 10(3):62. doi: 10.3390/jpm10030062. PMID: 32708593; PMCID: PMC7564988. (Year: 2020). [cited by examiner]
Empowering Healthcare Professionals and Patients with ChatGPT: Applications and Challenges, Fatemeh Mosaiyebzadeh, Seyedamin Pouriyeh, Reza M. Pariził, Meng Han 8, Nasrin Dehbozorgi ,Mohsen Dorodchill, Daniel Macêdo Bat… [cited by examiner]
Mosaiyebzadeh , et al., “Empowering Healthcare Professionals and Patients With Chatgpt: Applications and Challenges”, 2023 Congress in Computer Science, Computer Engineering, & Applied Computing (CSCE), Jul. 24, 2023, 7… [cited by applicant]
International Application No. PCT/US2024/046761 , “International Search Report and Written Opinion”, Dec. 6, 2024, 14 pages. [cited by applicant]
“ACL Chatbot”, ALTEN Calsoft Labs Chatbot Solutions, Product Innovation, ALTEN Calsoft Labs Digital, Available online at: https://www.acldigital.com/offerings/product-innovation-and-engineering/acl-chatbot, Accessed fro… [cited by applicant]
“Get Better Answers by Setting the Context for Github Copilot Chat in Visual Studio”, Tips & Tricks for GitHub Copilot Chat in Visual Studio—Visual Studio (Windows), Available online at: https://learn.microsoft.com/en-u… [cited by applicant]
“MicroStrategy AI”, MicroStrategy AI Apps—AI Chatbots, AI Dashboards, AI Analytics, Available online at: https://www.microstrategy.com/enterprise-analytics/ai-chatbot-for-apps, Accessed from Internet on May 8, 2024, pp.… [cited by applicant]
“The askNivi Platform”, Nivi, Available online at: https://www.nivi.io/platform, Accessed from Internet on May 8, 2024, pp. 1-3. [cited by applicant]
Hong, et al., “Conversational AI Threads for Visualizing Multidimensional Datasets”, Available online at: https://arxiv.org/pdf/2311.05590, Nov. 9, 2023, pp. 1-37. [cited by applicant]
Manske, “Building a Micro Chatbot Platform”, Available online at: https://innv.northwesternmutual.com/blog/building-a-micro-chatbot-platform, Jan. 3, 2019, pp. 1-5. [cited by applicant]
Yu, et al., “Chatlang: A Two-window Approach to Chatbots for Language Learning”, Available online at: https://anrg.usc.edu/www/papers/chatlang.pdf, Sep. 21, 2023, pp. 1-6. [cited by applicant]