Patentable/Patents/US-12586112-B2
US-12586112-B2

Systems, non-transitory computer-readable storage mediums, and methods for obtaining product information via a conversational user interface

PublishedMarch 24, 2026
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical Abstract

Systems and methods for obtaining product information via a conversational user interface. The communication channel receives communication from a user, the intent and entities of which are deduced by the NLP. These are communicated by the fulfillment API to the knowledge engine which retrieves information that fulfills the intent. The information is communicated to the fulfillment API, which converts the intent into a response, which in turn is forwarded by the NLP to the communication channel, and back to the user.

Patent Claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

. A computer-implemented method for obtaining information related to a supply chain management Software as a Service (SAAS) product, the method comprising:

2

. The computer-implemented method of, wherein:

3

. The computer-implemented method of, wherein the follow-up response comprises at least one of an image, a video, a text and a document.

4

. The computer-implemented method of, wherein the communication from the user is at least one of a text-based communication, a verbal communication and an image-based communication.

5

. The computer-implemented method of, further comprising:

6

. The computer-implemented method of, wherein the associated context is deduced from content of the communication from the user.

7

. A system comprising:

8

. The system of, wherein:

9

. The system of, wherein the follow-up response comprises at least one of an image, a video, a text and a document.

10

. The system of, wherein the communication from the user is at least one of a text-based communication, a verbal communication and an image-based communication.

11

. The system of, wherein the instructions further configure the system to:

12

. The system of, wherein the instructions that configure the system to deduce the context associated with the intent and the one or more entities comprises instructions that configure the system to deduce the context from content of the communication from the user.

13

. A non-transitory computer-readable storage medium, the computer-readable storage medium including instructions that when executed by a computer, cause the computer to:

14

. The non-transitory computer-readable storage medium of, wherein:

15

. The non-transitory computer-readable storage medium of, wherein the follow-up response comprises at least one of an image, a video, a text and a document.

16

. The non-transitory computer-readable storage medium of, wherein the communication from the user is at least one of a text-based communication, a verbal communication and an image-based communication.

17

. The non-transitory computer-readable storage medium of, wherein the instructions further configure the computer to:

18

. The non-transitory computer-readable storage medium of, wherein the instructions that configure the computer to deduce, by the natural language processor, the context associated with the intent and the one or more entities comprises instructions that configure the computer to deduce the context from content of the communication from the user.

Detailed Description

Complete technical specification and implementation details from the patent document.

This is a continuation of U.S. application Ser. No. 16/944,262 filed on Jul. 31, 2020, which is hereby incorporated by reference in its entirety.

Users of software-as-a-service (SAAS) products often have questions about the product they are using. Often, the user is referred to a product manual, which is large. The user must search through the manual to find section(s) relevant to the user's questions. If a user wants to understand how to use certain aspects of the product, or needs help troubleshooting, s/he must wade through product documentation to find an appropriate answer. This is time-consuming, leading to a loss in efficiency.

There is a need for an intelligent non-human (i.e. virtual) agent that can answer questions posed by users, as well as guide users through more complicated processes. Furthermore, this agent should be available through a variety of communication channels, such as a browser chatbot, Google™ Assistant (voice), SMS, etc. The virtual agent should be able to process oral, written and image-based communications provided by a user, and provide answers and/or guidance in real time.

Disclosed herein are methods and systems that build over time, a body of related knowledge to answer questions and/or provide recommendations via a user interface (UI). The methods and systems relate to the use of a conversational user interface for obtaining information about a SAAS product and related product concepts. The methods and systems provide answers to general and specific questions about the product. In some embodiments, they provide step-by-step instructions on how to perform different tasks related to the SAAS product.

In some embodiments, the systems and methods use machine learning to build a knowledge base from SAAS product documentation, data models, etc. The systems and methods continuously learn from questions and interactions with users to improve responses, along with the knowledge base. In some embodiments, the systems and methods also apply analytics to identify frequent pain points experienced by users.

In one aspect, there is provided a computer-implemented method for obtaining knowledge related to a product, the method comprising: receiving, by a communication channel, a communication from a user; deducing, by a natural language processor, an intent and one or more entities of the communication; communicating, by a fulfillment API, the intent and the one or more entities to a knowledge engine; preparing, by the knowledge engine, one or more queries to fulfill the intent; retrieving, by the knowledge engine, information that fulfills the intent; communicating, by the knowledge engine, the information that fulfills the intent to the fulfillment API; converting, by the fulfillment API, the information that fulfils the intent into a response; forwarding, by the natural language processor, the response from the fulfilment API to the communication channel; and communicating, by the communication channel, the response to the user.

In some embodiments of the computer-implemented method, the knowledge engine comprises a query engine and a knowledge base providing information about the product, the method further comprising: receiving, by the query engine, the intent and entities from the fulfillment API; composing, by the query engine, a set of requests related to the intent and the entities to send to the knowledge base; retrieving, by the query engine, one or more units of information from the knowledge base; and composing, by the query engine, a second response based on the one or more units of information. The knowledge base can comprise structured data, semi-structured data, unstructured data and communication with one or more external data sources. Furthermore, the one or more units of information can be at least one of an image, a video, a text and a document.

In some embodiments of the computer-implemented method, the user seeks a set of instructions, and the method further comprises: preparing, by the knowledge engine, a query for the set of instructions; retrieving, by the knowledge engine, information about one or more actions related to the set of instructions; assembling, by the knowledge engine, a sequence of steps to execute the one or more actions; and communicating, by the knowledge engine, the sequence of steps to the fulfilment API.

In some embodiments of the computer-implemented method, the method further comprises: deducing, by the natural language processor, a context associated with the intent and one or more entities of the communication; preparing, by the knowledge engine, a query for searching one or more solutions for an issue related to the context; retrieving, by the knowledge engine, information matching the context; and communicating, by the knowledge engine, the information matching the context to the fulfilment API.

In some embodiments of the computer-implemented method, the method further comprises: deducing, by the natural language processor, a context associated with the intent and one or more entities of the communication; preparing, by the knowledge engine, a query for providing the user, information about a topic; retrieving, by the knowledge engine, information matching the context; following, by the knowledge engine, a learning workflow related to the topic; and communicating, by the knowledge engine, the information matching the context to the fulfilment API. In some embodiments, the communication is at least one of textual, verbal and image-based.

In another aspect, there is provided a system for obtaining knowledge related to a product, the system comprising: a processor; and a memory storing instructions that, when executed by the processor, configure the system to: receive, by a communication channel, a communication from a user; deduce, by a natural language processor, an intent and one or more entities of the communication; communicate, by a fulfillment API, the intent and the one or more entities to a knowledge engine; prepare, by the knowledge engine, one or more queries to fulfill the intent; retrieve, by the knowledge engine, information that fulfills the intent; communicate, by the knowledge engine, the information that fulfills the intent to the fulfillment API; convert, by the fulfillment API, the information that fulfils the intent into a response; forward, by the natural language processor, the response from the fulfilment API to the communication channel; and communicate, by the communication channel, the response to the user.

In some embodiments of the system, the knowledge engine comprises a query engine and a knowledge base providing information about the product, and the instructions further configure the system to: receive, by the query engine, the intent and entities from the fulfillment API; compose, by the query engine, a set of requests related to the intent and the entities to send to the knowledge base; retrieve, by the query engine, one or more units of information from the knowledge base; and compose, by the query engine, a second response based on the one or more units of information. The knowledge base can comprise structured data, semi-structured data, unstructured data and communication with one or more external data sources. Furthermore, the one or more units of information can be at least one of an image, a video, a text and a document.

In some embodiments of the system, the user seeks a set of instructions, and the instructions stored in memory further configure the system to: prepare, by the knowledge engine, a query for the set of instructions; retrieve, by the knowledge engine, information about one or more actions related to the set of instructions; assemble, by the knowledge engine, a sequence of steps to execute the one or more actions; and communicate, by the knowledge engine, the sequence of steps to the fulfilment API.

In some embodiments of the system, the instructions further configure the system to: deduce, by the natural language processor, a context associated with the intent and one or more entities of the communication; prepare, by the knowledge engine, a query for searching one or more solutions for an issue related to the context; retrieve, by the knowledge engine, information matching the context; and communicate, by the knowledge engine, the information matching the context to the fulfilment API.

In some embodiments of the system, the instructions further configure the system to: deduce, by the natural language processor, a context associated with the intent and one or more entities of the communication; prepare, by the knowledge engine, a query for providing the user, information about a topic; retrieve, by the knowledge engine, information matching the context; follow, by the knowledge engine, a learning workflow related to the topic; and communicate, by the knowledge engine, the information matching the context to the fulfilment API. In some embodiments, the communication is at least one of textual, verbal and image-based.

In yet another aspect, there is provided a non-transitory computer-readable storage medium for obtaining knowledge related to a product, the computer-readable storage medium including instructions that when executed by a computer, configure the computer to: receive, by a communication channel, a communication from a user; deduce, by a natural language processor, an intent and one or more entities of the communication; communicate, by a fulfillment API, the intent and the one or more entities to a knowledge engine; prepare, by the knowledge engine, one or more queries to fulfill the intent; retrieve, by the knowledge engine, information that fulfills the intent; communicate, by the knowledge engine, the information that fulfills the intent to the fulfillment API; convert, by the fulfillment API, the information that fulfils the intent into a response; forward, by the natural language processor, the response from the fulfilment API to the communication channel; and communicate, by the communication channel, the response to the user.

In some embodiments of the non-transitory computer-readable storage medium, the knowledge engine comprises a query engine and a knowledge base providing information about the product, and the instructions further configure the computer to: receive, by the query engine, the intent and entities from the fulfillment API; compose, by the query engine, a set of requests related to the intent and the entities to send to the knowledge base; retrieve, by the query engine, one or more units of information from the knowledge base; and compose, by the query engine, a second response based on the one or more units of information. The knowledge base can comprise structured data, semi-structured data, unstructured data and communication with one or more external data sources. Furthermore, the one or more units of information can be at least one of an image, a video, a text and a document.

In some embodiments of the non-transitory computer-readable storage medium, the user seeks a set of instructions, and the instructions included in the non-transitory computer-readable storage medium further configure the computer to: prepare, by the knowledge engine, a query for the set of instructions; retrieve, by the knowledge engine, information about one or more actions related to the set of instructions; assemble, by the knowledge engine, a sequence of steps to execute the one or more actions; and communicate, by the knowledge engine, the sequence of steps to the fulfilment API.

In some embodiments of the non-transitory computer-readable storage medium, the instructions further configure the computer to: deduce, by the natural language processor, a context associated with the intent and one or more entities of the communication; prepare, by the knowledge engine, a query for searching one or more solutions for an issue related to the context; retrieve, by the knowledge engine, information matching the context; and communicate, by the knowledge engine, the information matching the context to the fulfilment API.

In some embodiments of the non-transitory computer-readable storage medium, the instructions further configure the computer to: deduce, by the natural language processor, a context associated with the intent and one or more entities of the communication; prepare, by the knowledge engine, a query for providing the user, information about a topic; retrieve, by the knowledge engine, information matching the context; follow, by the knowledge engine, a learning workflow related to the topic; and communicate, by the knowledge engine, the information matching the context to the fulfilment API. In some embodiments, the communication is at least one of textual, verbal and image-based.

The details of one or more embodiments of the subject matter of this specification are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages of the subject matter will become apparent from the description, the drawings, and the claims.

illustrates an overviewin accordance with one embodiment.

In the block overview, a userrefers to an individual who is requesting information or instructions related to a SAAS (not shown).

Userconveys a message to communication channel. Communication channel, refers to a connection between userand virtual agentwhich comprises a Natural Language Processor NLP. The communication channeltakes communication from the user and converts it into a form that can be processed by NLP. For example, if the user provides a verbal communication, communication channelconverts the verbal form to text; the textual form is processed by the NLP. If the user provides a textual communication, communication channelsimply passes on the text to the virtual agent. In some embodiments, the communication channelcan include a communications application.

The communication channelalso returns information (i.e. a response) to user. The response can be verbal, written or image-based. In some embodiments, the response can comprise a link to a video.

The type of communication channelmay depend on the service that is used to build the virtual agent, For example, if DialogFlow™ (from Google™) is used to for both the virtual agentand NLP, the communication channelcan be Google™ Assistant (Google™ Home, Mini, Android™ and iPhone™ mobiles) and others. In another example, when Microsoft™ Bot Service is used for the virtual agentand Microsoft™ Luis used for the NLP, the channels can be Alexa™ Microsoft Cortana™, Facebook Messenger™ Kik™, and Slack™, as well as several others.

Virtual agentreceives input from userthrough the communication channel; the NLPdeduces an intent, and any entities associated with the intent. The NLPhandles a conversation with a user and translates the end-user text into structured data, such that backend services can understand. That is, the NLPtranslates the conversation into intents and entities. The virtual agentand NLPare trained beforehand, in order to map intents and entities. Training is part of a standard procedure, and it is customized for a particular domain or application. Training comprises providing the NLPwith sample phrases, definition of intents and entities, and one or more workflows, each of which include context. Example of an NLP service that can be used include Google DialogFlow™; Microsoft™ Bot Service in combination with Microsoft Luis™; and Amazon Lex™.

The training of the NLPin the virtual agentincludes inputting a plurality of phrases for a given intent. Different sets of phrases are used with respect to different intents. Each intent is customized for a particular domain. Furthermore, the NLPis trained to extract one or more parameters from a phrase; parameters can be grouped into different types, or entities. Furthermore, the NLPcan be trained to include context about a dialogue; the dialogue can be linear or non-linear.

The fulfillment APIsubsequently communicates data associated with the intent and entities to a knowledge engine, which receives the intent and obtains the information to fulfill the intent. Once the fulfillment APIreceives the information from the knowledge engine, the fulfillment APIreturns the retrieved information to the virtual agent.

The fulfillment APIis constructed according to methods known in the art. In some embodiments, a webhook is built using any programming language to build an HTTP Web API, such as Python, Java, C#, etc.

Knowledge enginethen supplies the information to the fulfillment API, which converts the information to a conversational form that is sent via the virtual agentback to the communication channeland ultimately, back to user.

illustrates a block diagramof a knowledge enginein accordance with one embodiment. Knowledge enginecomprises a query engineand a knowledge base.

The query engineinterprets the intent (provided by the fulfillment APIin) and queries the knowledge basefor information. The query enginestructures that information in a way that the fulfillment APIcan send back to the communication channel.

Knowledge baserefers to technology that stores complex structure and unstructured information about software. That is, knowledge baseis where knowledge (that is, data) is stored. Such information can include, for example, manuals, data models, a repository of frequent asked questions (FAQs) and concepts related to the product.

Further details of the query engineand knowledge baseare discussed below.

illustrates a flowchartrelated to an operation of a query enginein accordance with one embodiment.

According to the flowchart, at step, query enginereceives an intent and entities related to the intent. Entities can be, for example, details that refine the intent. An example of an intent and a related entity is described from the following question from a user: “what is the weather tomorrow?”. The intent is to obtain the weather, while a related entity is the date, as specified by the word “tomorrow”. Another example of an intent is from the following question about an exemplary platform: “how do I get a projection for a part for next year?”, in which the intent is instructions or steps on obtaining certain information that the product can provide. As shown below, this type of information can be contained in a user's guide for the product. Often times, user guides are voluminous and require time to find particular information. In the methods and systems disclosed herein, answers to specific questions are found and relayed to a user almost instantaneously. Note that a user cannot ask the question: “what is the projection for a part next year”, since this requires execution of the SAAS product to obtain the answer (i.e. next year's projection).

At step, query enginecomposes a set of requests (related to the intent and entities), to retrieve units of information from the knowledge base (not shown) that are needed to fulfill the intent. These units can be different types of data; non-limiting examples include text, images, video, or a documents (e.g. word, excel, pdf, etc.).

At step, query enginegathers the units of information required to fulfill the intent, from the knowledge base. At step, query enginethen composes a response using natural language processing and, if needed, images.

illustrates a block diagramof a knowledge basein accordance with one embodiment. As seen in, knowledge basecontains different types of data. As an example, there is structured data. This can include, for example, simple concepts stored in a table with headers such as concept and description; data model schemas and properties of the SaaS product; and structures to answer simple/common questions—for example: a UI tree that can be used to answer questions such as ‘Where can I find scheduled tasks?’ Another type of data stored in knowledge baseis semi-structured data. This can include, for example, help documents (i.e. documents that provide troubleshooting information, instruction manuals, and the like) stored in formats known in the art, such as JSON, HTML and XML. Yet another type of data stored in knowledge baseis also unstructured data. This can include, for example, raw documents such as user guides, FAQ (Frequent Asked Questions), troubleshooting documents, release notes or other documents.

In addition, knowledge basecan also use external data source(s)to provide information related to the context of the product. This can include, for example, web services that provide information such as a thesaurus web service (to get synonyms to match similar words), or an industry dictionary service related to the product of the SAAS, in order to get common industry acronym definitions.

illustrates a flowchartin accordance with one embodiment.

At step, a user starts a conversation, either verbally or through text. A communication channel receives the communication from the user at step. This communication is converted to data format via a NLP at step. At step, the NLP also deduces the intent and entities of the conversation. All of this information is sent to a fulfillment API, which communicates the data associated with the intent and entities to a knowledge engine at step. The knowledge engine then retrieves information that fulfills the intent at step. The knowledge engine sends the retrieved information back to the fulfillment API at step, which converts the information (i.e. response) into conversational form at step. The response is conveyed to the NLP at step, which is then conveyed to the user via the communication channel at step. At this point, if the user is satisfied with the answer and has no further questions (at decision block), the procedure ends at step. On the other hand, if the user still has another question at decision block, the method reverts back to step, and the entire procedure is repeated.

illustrates a flowchartfor obtaining information about a specific concept in accordance with one embodiment.

A conversation is started at step. The communication channel receives the communication and converts it into a form that can be processed, at step, The NLP identifies the intent at stepand entities associated with the intent, at step. These are passed onto the knowledge engine, where one or more queries are prepared to fulfill the intent (deduced at step), at step. At step, information is gathered from the knowledge base in order to fulfill the intent. The information is then provided to the fulfillment API, and eventually conveyed to the user at step. If the user is done (decision block), then the conversation ends at step. However, if the user is not done (at decision block), then the program reverts to stepwhere a subsequent communication begins. An example of a conversation based on flowchartis shown in.

illustrates a conversationin accordance with the embodiment shown in.

A user begins a conversation at. In this embodiment a Google™-based communication channel is being used. The user wishes to interact with a virtual agent (equivalent to virtual agentin), referred to as “Kinaxis Brain™” at. The Google™-based assistant then turns to the virtual agent who is ready to assist in answering the user's question, at. The user asks a to know the definition of a specific concept at; namely, what is an “Independent Demand”—a concept related to supply-chain management in a SaaS product. The question posed by the user is answered at. The virtual agent is trained to ask a follow-up question at; namely, if there is any further question by the user. At, the user indicates satisfaction with the answer. The conversation ends at.

The conversation is a result of the procedure shown in. The intent and any associated entities are deduced by the NLP, based on the question asked by the user at. These are used to prepare one or more queries to fulfill the intent in the knowledge engine, which then retrieves the information from the knowledge base in order to fulfill the intent. This information, or response is then conveyed to the user via the fulfillment API, the NLP and the communication channel, at.

illustrates a flowchartfor obtaining a set of instructions in accordance with one embodiment.

A conversation is started at step. The communication channel receives the communication and converts it into a form that can be processed, at step, The NLP identifies the intent at stepand entities associated with the intent, at step. These are passed onto the knowledge engine, where a query is prepared for a specific set of instructions at step. At step, information is gathered about the action from the knowledge base. A sequence of steps required to execute the action is assembled at step. The response is then conveyed to the user via the fulfillment API, the NLP and the communication channel, at stepIf the user is done (decision block), then the conversation ends at step. However, if the user is not done (at decision block), then the program reverts to stepwhere a subsequent communication begins. An example of a conversation based on flowchartis shown in.

Patent Metadata

Filing Date

Unknown

Publication Date

March 24, 2026

Inventors

Unknown

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Systems, non-transitory computer-readable storage mediums, and methods for obtaining product information via a conversational user interface” (US-12586112-B2). https://patentable.app/patents/US-12586112-B2

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.

Systems, non-transitory computer-readable storage mediums, and methods for obtaining product information via a conversational user interface | Patentable