Supplementation of large language model knowledge via prompt modification — Sap Se (US20250094707A1)
Analyze & explore related research in Conceptio
Connect this record directly into your research workflow or AI agent. Explore citations across open repositories, query full text, and export structured proof bundles.
ABSTRACT
Abstract
The present disclosure provides techniques and solutions for automatically and dynamically supplementing user prompts to large language models with information to be used by the large language model in formulating a response. In particular, entities are identified in the original prompt. A semantic framework is searched for information about such entities, and such information is added to the original user prompt to provide a modified user prompt. In a particular example, the identified entities comprise triples, and verbalized triples are added to provide the modified user prompt. The modified prompt may be hidden from the user, so that a response of the large language model appears to be in response to the original prompt.
Description
FIELD
The present disclosure generally relates to interactions with large language models. Particular implementations relate to searching for information relevant to a prompt and modifying the prompt to include such information prior to submitting the prompt to a large language model.
BACKGROUND
Large language models are a revolutionary technology rapidly integrating into the daily lives of millions of people. These models, often referred to as âchatbots,â possess the remarkable ability to process and comprehend natural human language input. They can then generate responses in the same fluid human language, making interactions with them highly accessible. The user-friendly nature of these models, which facilitate effortless input and deliver understandable responses, combined with their remarkable accuracy, contributes to their exceptional power and ease of adoption.
Nonetheless, large language models do face certain challenges. One such challenge involves their accuracy being contingent on relevant training data. If the most pertinent data for a specific query is not publicly available, such as residing within corporate information repositories, the model may either fail to provide an answer or provide an answer that is incorrectâsometimes referred to as âhallucinating.â Further, considering the time and resources required for training, these models may not be updated frequently. Consequently, an information gap might arise between the model's last training instance and its actual usage. Accordingly, room for improvement exists.
SUMMARY
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
The present disclosure provides techniques and solutions for automatically and dynamically supplementing user prompts to large language models with information to be used by the large language model in formulating a response. In particular, entities are identified in the original prompt. A semantic framework is searched for information about such entities, and such information is added to the original user prompt to provide a modified user prompt. In a particular example, the identified entities comprise triples, and verbalized triples are added to provide the modified user prompt. The modified prompt may be hidden from the user, so that a response of the large language model appears to be in response to the original prompt.
In one aspect, the present disclosure provides a process of modifying user input to a large language model to include supplemental facts for use by the large language model prior to submitting the user input to the large language model. User input is received from a user. The user input includes a plurality of tokens. At least a portion of the plurality of tokens are analyzed. Based on the analyzing, one or more entities of a semantic framework are determined that are represented in the at least a portion of the plurality of tokens. One or more triples of the semantic framework are determined for at least a portion of the one or more entities or for associated entities. At least a portion of the one or more triples, or a representation thereof, is added to the user input to provide modified user input. The modified user input is submitted to a large language model. The modified user input is processed using the large language model to provide a response. The response is returned in response to the receiving the user input.
The present disclosure also includes computing systems and tangible, non-transitory computer readable storage media configured to carry out, or including instructions for carrying out, an above-described method. As described herein, a variety of other features and advantages can be incorporated into the technologies as desired.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 shows an exemplary directed graph.
FIG. 2 shows the domain and range of a property in a schema of a directed graph.
FIG. 3 shows an exemplary SPARQL query and results of the query.
FIG. 4 shows a block diagram notation for subsequent figures.
FIG. 5 shows Crow's Foot notation for annotation in subsequent figures.
FIG. 6 shows an exemplary system architecture for a method according to some embodiments.
FIG. 7 shows an algorithm for computing strings from a directed graph for input to a language model.
FIG. 8 shows a sorting algorithm for sorting statements of a directed graph.
FIG. 9 shows a directed graph that may be provided as input to the sorting algorithm.
FIG. 10 shows a relationship between a condition and one or more patterns.
FIG. 11 is a flowchart of a process of creating a domain data model, including mapping elements of the domain data model to elements of a core data model.
FIG. 12 shows the algorithm of FIG. 7 expanded to handle question patterns.
FIG. 13 shows an implementation of the method for providing data from a directed graph to a language model implemented as a remote service.
FIG. 14 shows a hybrid implementation of the method for providing data from a directed graph to a language model.
FIG. 15 shows an on-premises implementation of the method for providing data from a directed graph to a language model.
FIG. 16 illustrates results provided by a large language model when the model lacks sufficient information to properly respond to user input. FIG. 16 also illustrates how disclosed innovations can provide the large language model with additional information to be used in responding to the user input, and a response produced thereby.
FIG. 17 is a flowchart of a process of determining information relevant to user input to a large language model, supplementing the user input with such information, and linking an answer to the supplemented user input to entities in a knowledge graph.
FIG. 18 A illustrates how elements of modified user input can be mapped to: the original user input, facts retrieved from a search for information about entities identified in the original user input, and additional instructions that can be added to the original user input prior to submitting the modified user input to a large language model.
FIGS. 18 B and 18 C illustrate user interface screens that display information for a recognized entity in a response of a large language model in response to user selection of such an entity.
FIG. 19 illustrates an example knowledge graph query and example subject, object, predicate triples produced therefrom.
FIG. 20 illustrates an example function to verbalize knowledge graph triples, and example verbalized triples that can be generated using the knowledge graph triples of FIG. 19 .
FIG. 21 is an example knowledge graph.
FIGS. 22 A- 22 C provide example code for querying a knowledge graph.
FIG. 23 illustrates an example computing environment in which disclosed techniques can be implemented.
FIG. 24 is a flowchart of a process of modifying user input to a large language model to include supplemental facts for use by the large language model prior to submitting the user input to the large language model.
FIG. 25 is a diagram of an example computing system in which some described embodiments can be implemented.
FIG. 26 is an example cloud computing environment that can be used in conjunction with the technologies described herein.
DETAILED DESCRIPTION
Example 1âOverview
Large language models are a revolutionary technology rapidly integrating into the daily lives of millions of people. These models, often referred to as âchatbots,â possess the remarkable ability to process and comprehend natural human language input. They can then generate responses in the same fluid human language, making interactions with them highly accessible. The user-friendly nature of these models, which facilitate effortless input and deliver understandable responses, combined with their remarkable accuracy, contributes to their exceptional power and ease of adoption.
Nonetheless, large language models do face certain challenges. One such challenge involves their accuracy being contingent on relevant training data. If the most pertinent data for a specific query is not publicly available, such as residing within corporate information repositories, the model may either fail to provide an answer or provide an answer that is incorrectâsometimes referred to as âhallucinating.â Further, considering the time and resources required for training, these models may not be updated frequently. Consequently, an information gap might arise between the model's last training instance and its actual usage. Accordingly, room for improvement exists.
The present disclosure provides techniques that can be used to influence a result provided by a large language model. For example, the large language model can be provided with a set of âfactsâ that it can use in whole or part to generate a response. As used in this context, âfactsâ refers to information that the large language model will use in preparing a response, regardless of whether the information is actually true or not. In some cases, the large language model can be told to explicitly assume that the âfactsâ are true, such as to bypass functionality of the large language model that might otherwise question the veracity of the information. Similarly, if desired, the large language model can be told to provide a response only using the explicitly provided facts.
The present disclosure provides a technique where a set of facts are determined from an initial user input, and added to the user input to provided modified user input, and where the large language model will respond to the modifier user input. That is, the initial user input can be âinterceptedâ and modified before submission to a large language model. The user input includes a plurality of tokens that can be analyzed. As used herein, a âtokenâ of user input refers to a discrete unit of text or character sequence within the user input, including tokens that can be analyzed by a named entity recognition service. Tokenization can be achieved by scanning a text and segmenting it at specific boundaries, such as spaces or punctuation marks, to isolate distinct units, or tokens, which can then be subjected to various linguistic analyses or computational operations.
In a specific implementation, the user input is provided to a named entity recognition service that accesses one or more knowledge graphs. Information from the knowledge graphs can be the basis of the additional facts that are provided in the modified user input. In a specific example, information from the knowledge graphs can be âverbalizedâ before being added to the user input. That is, large language models are designed to work with normal, human language input. Converting ârawâ results from a search of a knowledge graph into a verbalized form, even a simple form, can improve the results obtained from the large language model using the modified user input.
The knowledge graph can also be used to enhance the usefulness of a response. For example, a response can be submitted to a named entity recognition service, and the response can be linked to particular information in the knowledge graph (or information outside of the knowledge graph that was identified using the knowledge graph, such as by performing a query of another data source, using results from searching the knowledge graph for entities identified by the named entity recognition service).
Example 2 provides a general discussion of knowledge graphs, as well as a specific technique that can be used to convert elements retrieved from a knowledge graph into a verbalized format. Examples 3-9 describe various techniques according to the present disclosure for modifying user input with content that may not be known to a large language model. The described innovations can be used in various other ways, for example, a set of âstipulated factsâ can be provided to the large language model regardless of whether the information may be part of the training corpus of the large language model.
While disclosed techniques are generally described with reference to knowledge graphs as the source of additional information to be added to a prompt, and used by a large language model in formulating a response, these techniques can use information maintained in another format.
FIELD
The present disclosure generally relates to interactions with large language models. Particular implementations relate to searching for information relevant to a prompt and modifying the prompt to include such information prior to submitting the prompt to a large language model.
BACKGROUND
Large language models are a revolutionary technology rapidly integrating into the daily lives of millions of people. These models, often referred to as âchatbots,â possess the remarkable ability to process and comprehend natural human language input. They can then generate responses in the same fluid human language, making interactions with them highly accessible. The user-friendly nature of these models, which facilitate effortless input and deliver understandable responses, combined with their remarkable accuracy, contributes to their exceptional power and ease of adoption.
Nonetheless, large language models do face certain challenges. One such challenge involves their accuracy being contingent on relevant training data. If the most pertinent data for a specific query is not publicly available, such as residing within corporate information repositories, the model may either fail to provide an answer or provide an answer that is incorrectâsometimes referred to as âhallucinating.â Further, considering the time and resources required for training, these models may not be updated frequently. Consequently, an information gap might arise between the model's last training instance and its actual usage. Accordingly, room for improvement exists.
SUMMARY
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
The present disclosure provides techniques and solutions for automatically and dynamically supplementing user prompts to large language models with information to be used by the large language model in formulating a response. In particular, entities are identified in the original prompt. A semantic framework is searched for information about such entities, and such information is added to the original user prompt to provide a modified user prompt. In a particular example, the identified entities comprise triples, and verbalized triples are added to provide the modified user prompt. The modified prompt may be hidden from the user, so that a response of the large language model appears to be in response to the original prompt.
In one aspect, the present disclosure provides a process of modifying user input to a large language model to include supplemental facts for use by the large language model prior to submitting the user input to the large language model. User input is received from a user. The user input includes a plurality of tokens. At least a portion of the plurality of tokens are analyzed. Based on the analyzing, one or more entities of a semantic framework are determined that are represented in the at least a portion of the plurality of tokens. One or more triples of the semantic framework are determined for at least a portion of the one or more entities or for associated entities. At least a portion of the one or more triples, or a representation thereof, is added to the user input to provide modified user input. The modified user input is submitted to a large language model. The modified user input is processed using the large language model to provide a response. The response is returned in response to the receiving the user input.
The present disclosure also includes computing systems and tangible, non-transitory computer readable storage media configured to carry out, or including instructions for carrying out, an above-described method. As described herein, a variety of other features and advantages can be incorporated into the technologies as desired.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 shows an exemplary directed graph.
FIG. 2 shows the domain and range of a property in a schema of a directed graph.
FIG. 3 shows an exemplary SPARQL query and results of the query.
FIG. 4 shows a block diagram notation for subsequent figures.
FIG. 5 shows Crow's Foot notation for annotation in subsequent figures.
FIG. 6 shows an exemplary system architecture for a method according to some embodiments.
FIG. 7 shows an algorithm for computing strings from a directed graph for input to a language model.
FIG. 8 shows a sorting algorithm for sorting statements of a directed graph.
FIG. 9 shows a directed graph that may be provided as input to the sorting algorithm.
FIG. 10 shows a relationship between a condition and one or more patterns.
FIG. 11 is a flowchart of a process of creating a domain data model, including mapping elements of the domain data model to elements of a core data model.
FIG. 12 shows the algorithm of FIG. 7 expanded to handle question patterns.
FIG. 13 shows an implementation of the method for providing data from a directed graph to a language model implemented as a remote service.
FIG. 14 shows a hybrid implementation of the method for providing data from a directed graph to a language model.
FIG. 15 shows an on-premises implementation of the method for providing data from a directed graph to a language model.
FIG. 16 illustrates results provided by a large language model when the model lacks sufficient information to properly respond to user input. FIG. 16 also illustrates how disclosed innovations can provide the large language model with additional information to be used in responding to the user input, and a response produced thereby.
FIG. 17 is a flowchart of a process of determining information relevant to user input to a large language model, supplementing the user input with such information, and linking an answer to the supplemented user input to entities in a knowledge graph.
FIG. 18 A illustrates how elements of modified user input can be mapped to: the original user input, facts retrieved from a search for information about entities identified in the original user input, and additional instructions that can be added to the original user input prior to submitting the modified user input to a large language model.
FIGS. 18 B and 18 C illustrate user interface screens that display information for a recognized entity in a response of a large language model in response to user selection of such an entity.
FIG. 19 illustrates an example knowledge graph query and example subject, object, predicate triples produced therefrom.
FIG. 20 illustrates an example function to verbalize knowledge graph triples, and example verbalized triples that can be generated using the knowledge graph triples of FIG. 19 .
FIG. 21 is an example knowledge graph.
FIGS. 22 A- 22 C provide example code for querying a knowledge graph.
FIG. 23 illustrates an example computing environment in which disclosed techniques can be implemented.
FIG. 24 is a flowchart of a process of modifying user input to a large language model to include supplemental facts for use by the large language model prior to submitting the user input to the large language model.
FIG. 25 is a diagram of an example computing system in which some described embodiments can be implemented.
FIG. 26 is an example cloud computing environment that can be used in conjunction with the technologies described herein.
DETAILED DESCRIPTION
Example 1âOverview
Large language models are a revolutionary technology rapidly integrating into the daily lives of millions of people. These models, often referred to as âchatbots,â possess the remarkable ability to process and comprehend natural human language input. They can then generate responses in the same fluid human language, making interactions with them highly accessible. The user-friendly nature of these models, which facilitate effortless input and deliver understandable responses, combined with their remarkable accuracy, contributes to their exceptional power and ease of adoption.
Nonetheless, large language models do face certain challenges. One such challenge involves their accuracy being contingent on relevant training data. If the most pertinent data for a specific query is not publicly available, such as residing within corporate information repositories, the model may either fail to provide an answer or provide an answer that is incorrectâsometimes referred to as âhallucinating.â Further, considering the time and resources required for training, these models may not be updated frequently. Consequently, an information gap might arise between the model's last training instance and its actual usage. Accordingly, room for improvement exists.
The present disclosure provides techniques that can be used to influence a result provided by a large language model. For example, the large language model can be provided with a set of âfactsâ that it can use in whole or part to generate a response. As used in this context, âfactsâ refers to information that the large language model will use in preparing a response, regardless of whether the information is actually true or not. In some cases, the large language model can be told to explicitly assume that the âfactsâ are true, such as to bypass functionality of the large language model that might otherwise question the veracity of the information. Similarly, if desired, the large language model can be told to provide a response only using the explicitly provided facts.
The present disclosure provides a technique where a set of facts are determined from an initial user input, and added to the user input to provided modified user input, and where the large language model will respond to the modifier user input. That is, the initial user input can be âinterceptedâ and modified before submission to a large language model. The user input includes a plurality of tokens that can be analyzed. As used herein, a âtokenâ of user input refers to a discrete unit of text or character sequence within the user input, including tokens that can be analyzed by a named entity recognition service. Tokenization can be achieved by scanning a text and segmenting it at specific boundaries, such as spaces or punctuation marks, to isolate distinct units, or tokens, which can then be subjected to various linguistic analyses or computational operations.
In a specific implementation, the user input is provided to a named entity recognition service that accesses one or more knowledge graphs. Information from the knowledge graphs can be the basis of the additional facts that are provided in the modified user input. In a specific example, information from the knowledge graphs can be âverbalizedâ before being added to the user input. That is, large language models are designed to work with normal, human language input. Converting ârawâ results from a search of a knowledge graph into a verbalized form, even a simple form, can improve the results obtained from the large language model using the modified user input.
The knowledge graph can also be used to enhance the usefulness of a response. For example, a response can be submitted to a named entity recognition service, and the response can be linked to particular information in the knowledge graph (or information outside of the knowledge graph that was identified using the knowledge graph, such as by performing a query of another data source, using results from searching the knowledge graph for entities identified by the named entity recognition service).
Example 2 provides a general discussion of knowledge graphs, as well as a specific technique that can be used to convert elements retrieved from a knowledge graph into a verbalized format. Examples 3-9 describe various techniques according to the present disclosure for modifying user input with content that may not be known to a large language model. The described innovations can be used in various other ways, for example, a set of âstipulated factsâ can be provided to the large language model regardless of whether the information may be part of the training corpus of the large language model.
While disclosed techniques are generally described with reference to knowledge graphs as the source of additional information to be added to a prompt, and used by a large language model in formulating a response, these techniques can use information maintained in another format. Generally, these techniques retrieve information from a âsemantic framework,â where the semantic framework can be a knowledge graph, or can instead use technologies such as ontologies, other types of semantic webs, semantic databases, graph databases, linked data, or taxonomies or folksonomies.
Similarly, aspects of the present disclosure are described as being implemented using the Resource Description Framework. However, other types of data structures or representations can be used that convey equivalent information about semantic relationships or associations, such as expressing two related entities and a relationship between such entities.
Example 2âExample Verbalization of Knowledge Graph Triples
An enterprise may have a variety of different products, services, and teams. The enterprise may also have a comprehensive knowledge graph, storing knowledge regarding skills, processes, experiences, capabilities, and insights that are relied upon in day-to-day operations of the enterprise. Contents of the knowledge graph may also include enterprise specific acronyms, departments of the enterprise, and product specifications. The knowledge may enable the enterprise to react to business situations in a fast, professional, and flexible manner. The knowledge graph may be expensive and labor intensive to construct and maintain. The knowledge graph (i.e., semantic web and/or web of linked data) may be specified using the Resource Description Framework (RDF).
In some cases, a user would like to ask questions of or provide tasks to a language model, e.g., a large language model based on a generative pre-trained transformer, such as ChatGPT. However, the language model is typically trained in an unsupervised manner on unlabeled human readable text. Hence, the language model may be unable to directly process a knowledge graph or use a knowledge graph as input, e.g., for training.
Accordingly, it may be desirable to maximize the usability of the knowledge graph, for example, using the knowledge graph as a basis for artificial intelligence applications, more particularly, to train or otherwise improve a language model. Upon training the language model, the language model may be used to answer questions or carry out tasks based on the knowledge stored in the knowledge graph.
In addition, it may be desirable to extract human readable text from the knowledge graph, e.g., for use in explaining answers provided by software (e.g., a process advisor) relying on the knowledge graph.
According to an aspect, a computer implemented method for providing data from a directed graph to a language model is provided. The method comprises defining a plurality of conditions and a plurality of patterns, wherein each of the conditions has at least one corresponding pattern. The method further comprises receiving a subset of the directed graph, wherein the subset of the directed graph includes a plurality of statements. Each of the statements includes a subject, an object and a predicate relating the subject to the object. For each of the statements in the subset of the directed graph, performing the following: when one of the conditions matches a respective statement and the pattern corresponding to the condition can be applied to the respective statement, computing a string for the respective statement using the pattern. Providing the computed strings as input to the language model.
Providing data from the directed graph to the language model may include extracting or reading the data from the directed graph and feeding or sending the data as input to the language model. The statements may be referred to as triples or triple statements, with subject, predicate and object components. A condition may correspond to a respective pattern in the sense that when the condition is determined to be true for a respective statement, it may be determined whether the respective pattern can be applied to the respective statement.
The clause, each of the conditions has at least one corresponding pattern, may be understood to mean that each of the conditions of the plurality of conditions has at least one corresponding pattern of the plurality of patterns. Hence, each one of the conditions of the plurality of conditions may be assigned at least one pattern of the plurality of patterns. Put another way, when a condition has at least one corresponding pattern, the at least one corresponding pattern is assigned to the condition. Moreover, each one of the conditions of the plurality of conditions may be assigned multiple patterns of the plurality of patterns.
The clause, when one of the conditions matches a respective statement and the pattern corresponding to the condition can be applied to the respective statement, may comprise determining whether the at least one pattern corresponding to the condition can be applied to the respective statement. Accordingly, determining whether the at least one pattern corresponding to the condition can be applied to the respective statement may involve determining whether the pattern corresponding to the condition matches the respective statement, i.e., testing whether the respective statement has the characteristics or elements specified by the pattern.
For example, determining whether a pattern can be applied to a statement including a subject may be carried out as follows:
The plurality of conditions may include a first condition:
<?s> <?p> <?o>. BIND (sap:BusinessActivity AS <?s>) BIND (rdf:type AS <?p>)
A first pattern may correspond to the first condition:
The <s.rdfs:label> is a business activity.
Since the first pattern includes a reference to a label of a subject s, if the statement including the subject fulfills the first condition, i.e., of being a BusinessActivity, but the subject of the statement does not have a label as required by the first pattern, then the first pattern could not be applied (i.e., would not match) the statement.
Computing the string from the respective statement using the pattern may involve directly outputting text of the pattern and matching pattern operators to components of the statement.
Moreover, when computing the string, not just the respective statement matching the condition but one or more further statements of the subset of the directed graph may be accessed by the pattern corresponding to the condition. In other words, the pattern can consider statements that do not match the condition. Accordingly, the condition may trigger pattern execution for the respective statement, which in turn may trigger processing of at least a portion of the subset of the directed graph (or the entire subset of the directed graph) using the pattern.
The subject, the object and the predicate may be referred to as components of their respective statement. The subject and/or the predicate may be an RDF resource (e.g., the subject and/or predicate may have the resource property of RDF, and may be a type or a label). The object may be a literal (e.g., an RDF literal) having a defined data type, such as string, integer, Boolean or double (as defined in the extensible markup language (XML) schema definition language (XSD)). Regarding RDF, please refer to the RDF specification, âConcepts and Abstract Syntaxâ, https://www.w3.org/TR/rdf11-concepts/
The computed strings may be provided directly to the language model (e.g., in the case of small strings, such as less than 1 GB) or may be serialized to a text file before being provided to the language model (e.g., in the case of terabytes of data computed from a comprehensive directed graph). In summary, the method accepts a subset of a directed graph as input and generates grammatically correct sentences as the computed strings. The method iterates over the input statements (i.e. triples) in the subset of the directed graph and uses the conditions filters to determine which patterns may be applicable to each of the statements. When a condition matches a statement and the statement has the elements required by a pattern corresponding to (e.g., assigned to) the condition, the pattern is applied to the condition. The result of the iteration may be a set of strings, such that a string is computed for each statement in the input. The syntax and interpretation of patterns is discussed in more detail below.
The statements of the directed graph may be close to human language.
Hence, providing the computed strings of as input to the language model may maximize the usability of the subset of the directed graph, for example, by using the subset of the directed graph as a basis for artificial intelligence applications. Once the language model has processed the computed strings, the language model may be used to answer questions or carry out tasks based on knowledge stored in the subset of the directed graph. Accordingly, the time, labor and expense invested to construct the directed graph may be exploited in further ways (e.g., to answer questions or by using the language model.
In addition or alternatively, it may be desirable to extract human readable text from the subset of the directed graph, e.g., for use in explaining answers provided by software (e.g., a process advisor) relying on the subset of the directed graph.
In some cases, each of the conditions includes at least three condition variables (variables appearing in a condition may be referred to as condition variables). Each of the condition variables may correspond to (e.g., store) a different component of a statement. For example, a first one of the condition variables matches the subject, a second one of the condition variables matches the predicate and a third one of the condition variables matches the object. At least one of the condition variables may be bound to at least one value, e.g., to an RDF property. In other words, at least one of the condition variables may specify at least one value (e.g., RDF property) that a component of a statement must have. Each of the condition variables may specify an instance of a class (e.g., an RDF class) or a literal e.g., an RDF literal). An instance of a class may be referred to as an instance. The instance may relate to a specific concept and have a definite article while the class may relate to a generic concept and have an indefinite article.
Each condition may be applied to a statement and may evaluate to TRUE or FALSE. In other words, a condition may return a Boolean value. For example, if the condition evaluates to TRUE, the condition matches the respective statement and it is determined whether the at least one pattern corresponding to the condition can be applied to the respective statement. The following are numbered examples of conditions that may be among the plurality of conditions:
1. <?s> <?p> <?o>. 2. <?s> <?p> <?o>. BIND (rdfs:label AS <?p>) 3. <?s> <?p> <?o>. <?s> rdf:type sap:BusinessActivity. BIND (rdfs:label AS <?p>) 4. <?s> <?p> <?o>. <?s> rdf:type sap:BusinessActivity. <?o> sap:requires <?r>. BIND (rdfs:label AS <?p>)
In the first condition, â<?s>â is a variable corresponding to a subject in the directed graph, â<?p>â is a variable corresponding to a predicate in the directed graph and â<?o>â is a variable corresponding to an object in the directed graph. Hence, the first condition specifies that (i.e., in order for the first condition to evaluate to TRUE) a statement must contain a subject, a predicate and an object. The second condition requires that a statement contains a subject, a predicate and an object and that the predicate is an rdfs:label. The third condition requires that a statement contains a subject, a predicate and an object, that the subject has the property (more specifically, is of type) sap:BusinessActivity and that the predicate is an rdfs:label. The fourth condition requires that a statement contains a subject, a predicate and an object, that the subject has the property (more specifically, is of type) sap:BusinessActivity, that the object has a relation (i.e., a subject-object relation) of âsap: requiresâ with the object â<?r>â and that the predicate is an rdfs:label. In this connection, â<?r>â is a variable bound to a requirement.
The conditions of the plurality of conditions may function to prevent patterns from being used to compute semantically incorrect strings. In other words, the conditions may be used to ensure that the computed strings are semantically and/or grammatically correct. Accordingly, by assigning patterns to conditions, the cases in which patterns are applied can be limited, thereby ensuring or facilitating computation of semantically correct strings, i.e., sentences. Without conditions, patterns could be applied to compute exemplary fantasy strings such as, âThe Harry Potter Book is a business activity.â, or âThe Star Wars Movie is a business activity.â However, the exemplary fantasy strings are semantically incorrect; therefore, the exemplary fantasy strings would not be helpful as input to the language model and could prolong the training of the language model or even cause the language model to produce incorrect output.
In some cases, at least one of the conditions has a plurality of corresponding patterns. Accordingly, computing a string from the respective statement using the pattern may comprise computing a plurality of strings from the respective statement using each pattern corresponding to the condition (i.e., the condition matching the respective statement) that can be applied to the respective statement.
Alternatively, computing a string from the respective statement using the pattern may comprise determining a random order of the patterns corresponding to the condition and computing a string from the respective statement only using a first one in the random order of the patterns that can be applied to the respective statement. For example, patterns 1 to 4 may be ordered 2, 4, 3, 1 and pattern 2 can be applied to the respective statement, hence, pattern 2 is applied to the respective statement.
For example, the plurality of conditions may include a sequenceID condition:
<?I1> <SequenceID> <?L1>.
The sequenceID condition may correspond to the following pattern (A):
(A) The sequence identifier of <?I1.rdf:type.rdfs:label> <?I1.rdfs:label> is <?L1>.
Continuing the example, the subset of the directed graph may include the following statements:
1. Emissions Management isA BusinessCapability. 2. BusinessCapability rdfs:label âBusiness Capabilityâ. 3. EmissionsManagement SequenceID â5â.
The sequenceID condition only matches statement (3), since statement (3) includes a âSequenceIDâ and statements (1) and (2) do not include a âSequenceIDâ.
Pattern (A) can be applied to statements (1), (2) and (3) to compute the following string:
The sequence identifier of Business Capability is 5.
All three statements are needed to compute the string above because statements (1) and (2) provide context information for statement (3).
Hence, as indicated above, when computing the string, not just the respective statement matching the condition but one or more further statements of the subset of the directed graph may be accessed by the pattern corresponding to the condition. In other words, the pattern can consider statements that do not match the condition. Accordingly, the condition triggers the pattern execution for the respective statement.
Moreover, the statements of the subset of the directed graph may be iteratively checked. Accordingly, in the example above statements (1) and (2) do not cause the pattern to be triggered but statement (3) does.
In the present example, determining whether pattern (A) can be applied to statement (3) may include determining context information items of pattern (A), namely:
the label of the type of variable <?I1| the label of variable <?I1>
Both context information items are not available in statement (3) itself, but instead elsewhere in the subset of the directed graph.
The contextual information exists in the subset of the directed graph in view of statement (3) and pattern (A) can be executed for statement (3).
Whenever the forward dot notation is used, we include additional information that is not existing in the triple itself.
In some cases, each pattern includes one or more of the following:
at least one variable, wherein the variable specifies (e.g., is bound to) a class, an instance of a class, a literal or a predicate; text, such as one or more articles (e.g., grammatical articles that are definite or indefinite); at least one property that applies to the variable.
Each pattern may further include a language filter. The literal may specify a numeric value or text, where the literal may conform to the RDF schema class of literal values.
Advantageously, the patterns may enable the combination of static text with variables specifying structures (e.g., the subject, the object and the predicate of one of the statements) of the subset of the directed graph, possibly supplemented with information resulting from materializing the subset of the directed graph.
In addition or alternatively, the patterns may include at least one specific pattern (i.e. custom pattern) and a plurality of default patterns. When a condition corresponding to the specific pattern matches a respective statement and the specific pattern can be applied to the respective statement, computing a string from the respective statement using the pattern may comprise using the specific pattern. When the condition corresponding to the specific pattern does not match the respective statement, the method may further comprise determining whether a condition corresponding to one of the default patterns matches the respective statement. When the condition corresponding to one of the default patterns matches the respective statement, computing a string from the respective statement using the one of the default patterns. Defining the plurality of conditions and the plurality of patterns may further comprise defining at least three conditions and at least three patterns, where at least one of the three patterns is a specific pattern and at least one of the three conditions corresponds to the specific pattern.
The following is an exemplary pattern that may be included in the plurality of patterns:
Text <?I1.rdf:type.rdfs:label> Text
The variable <?11> may be bound to sap:PrintReceipt. Patterns, such as the exemplary pattern above, may use forward dot notation (also referred to as dot notation) to refer to a field, component or sub-property of a property. This may provide the patterns with an advantage over conventional SPARQL, which does not support forward dot notation, since forward dot notation enables more compact expressions.
Accordingly, the exemplary pattern above could be applied to (e.g., the subset of the directed graph may include) the following three statements:
sap:PrintReceipt rdf:type sap:Task. sap:Task rdfs:label âTaskâ @en. sap:Task rdfs:label âProcess Taskâ @en.
In some cases, after a pattern is applied to a respective statement, the pattern is not applied to further statements matching the pattern, i.e., the further statements in the subset of the directed graph matching the pattern may be skipped. The matching of just one statement and skipping of further statements may be an option that can be configured. For example, as discussed below, the post operator may cause a Cartesian product to be computed.
For example, after a pattern is applied to a respective statement including an rdfs:label for an object, further statements including an rdfs:label for the object may be skipped, i.e., the pattern is not applied to the further statements. Accordingly, computing strings from the statements above using the exemplary pattern would yield the following: âText Task Textâ.
At least one of the patterns may include a filter condition and/or a post operator. The filter condition may specify a language. The post operator may cause a Cartesian product to be performed. As another example, the subset of the directed graph may include the following four statements:
sap:PrintReceipt rdf:type sap:Task. sap:Task rdfs:label âTaskâ @en. sap:Task rdfs:label âProcess Taskâ @en. sap:Task rdfs:label âSchrittâ @de.
The following further exemplary pattern may be included in the plurality of patterns and may be applied to the four statements above:
Text <?I1.rdf:type.rdfs:label(lang=âenâ)*> Text
The further exemplary pattern above includes a filter condition to specify a language and an asterisk post operator â*â that yields a cartesian product. The cartesian product may yield all possible combinations of the preceding elements. Accordingly, the following strings would be computed by applying the further exemplary pattern including the cartesian product, since the further exemplary pattern is directed to English labels and there are two English labels among the four statements above:
Text Task Text
Text Process Task Text
Hence, the statement above including ââSchrittâ@deâ would not be processed since the statement does not meet the filter condition in the further exemplary pattern (i.e., the statement is not in the English language). Without the asterisk post operator in the further exemplary pattern above, only the first string âText Task Textâ would be computed.
The exemplary pattern and further exemplary pattern above may be specific patterns, i.e., patterns applicable to one directed graph or a group of directed graphs.
The strings may be computed from the respective statements using only default patterns. However, use of the specific patterns may result in computed strings that more accurately and precisely describe the contents of the subset of directed graph.
Other post operators (i.e., operators provided at the end of a pattern, also referred to as postfix operators) in addition to the asterisk may also be used. For example, an additional post operator might limit the output of a cartesian product to a specified number of combinations, e.g., about 10 combinations.
As another example, the following requirement pattern may be applied to the four statements above:
The <?I1.rdf:type.rdfs:label(lang=âenâ)*> <?I1.rdfs:label> requires a <?I2.rdfs:label>.
In this example, <?I1> may be bound to sap:PrintReceipt and <?I2> may be bound to sap: Printer. Hence, by applying the requirement pattern to the four statements above, the following strings may be computed:
The Process Task Print Receipt requires a Printer. Task Print Receipt requires a Printer.
Without the asterisk post operator in the requirement pattern, only the first string, i.e., âThe Process Task Print Receipt requires a Printer.â would be computed.
In some cases, each of the computed strings is a grammatically correct sentence, wherein the conditions and/or patterns may ensure that the computed strings are grammatically correct sentences.
In addition or alternatively, the at least one specific pattern may include a plurality of specific patterns. Each of the specific patterns may be applicable to a group of directed graphs defined according to the resource description framework or a group of knowledge graphs defined according to the resource description framework. Each of the default patterns may be applicable to any directed graph defined according to the resource description framework or any knowledge graph defined according to the resource description framework.
Accordingly, each specific pattern may be defined for a single on premises network and a corresponding directed graph, or a group of on premises networks and a corresponding group of directed graphs, whereas default patterns may be applicable to any directed graph.
The patterns may include one or more of the following five patterns:
a pattern applicable to instance-to-instance statements, including variables <I1, p, I2> a pattern applicable to instance-to-class statements, including variables <I1, p, C1> a pattern applicable to class-to-class statements, including variables <C1, p, C2> a pattern applicable to instance-to-literal statements, including variables <I1, p, L1> a pattern applicable to class-to-literal statements, including variables <C1, p, L1>
The five patterns above may be made applicable to instance-to-instance statements, instance-to-class statements, class-to-class statements, instance-to-literal statements and class-to-literal statements via corresponding conditions including the respective variables <I1, p, I2>, <I1, p, C1>, <C1, p, C2>, <I1, p, L1>, <C1, p, L1>.
The five patterns mentioned above may be default patterns, in the sense that they are applicable to any directed graph, or more specifically, any knowledge graph.
For the five patterns mentioned above, â11â and â12â are variables referring to instances (i.e., instances of classes), âC1â and âC2â are variables referring to classes, âL1â is a variable referring to a literal, and âpâ is a variable referring to a predicate. A first one of the five patterns applicable to instance-to-instance statements may be implemented as follows:
The <?I1.rdf:type.rdfs:label> <?I1.rdfs:label> <?p.rdfs:label> the <?I2.rdf:type.rdfs:label> <?I2.rdfs:label>.
A second one of the five patterns applicable to instance-to-class statements may be implemented as follows:
The <?I1.rdf:type.rdfs:label> <?I1.rdfs:label> <?p.rdfs:label> a <?C1.rdfs:label>.
A third one of the five patterns applicable to class-to-class statements may be implemented as follows:
A <?C1.rdfs:label> <?p.rdfs:label> a <?C2.rdfs:label>.
A fourth one of the five patterns applicable to instance-to-literal statements may be implemented as follows:
The <?I1.rdfs:label> <?p.rdfs:label> <?L1>.
A fifth one of the five patterns applicable to class-to-literal statements may be implemented as follows:
A <?C1.rdfs:label> <?p> <?L1>.
A user or administrator may define further default patterns or change the exemplary default patterns provided above.
In addition or alternatively, the plurality of patterns may include at least one text pattern and at least one question pattern. The text pattern and/or the question pattern may be a specific pattern. The text pattern and/or the question pattern may be a default pattern. Each condition may correspond to at least one text pattern and at least one condition may correspond to at least one question pattern. For example, the conditions may be defined such that each condition must correspond to at least one text pattern and each condition may correspond to at least one question pattern. A configuration option may be set to apply question patterns in addition to or instead of text patterns. When one of the conditions matches a respective statement and the configuration option is set to apply question patterns and the question pattern corresponding to the condition can be applied to the respective statement, the method may comprise computing the string from the respective statement using the question pattern and/or computing a further string from the respective statement using the question pattern in addition to a string computed from the respective statement using the text pattern.
For example, the subset of the directed graph may include the following seven statements:
sap:PrintReceipt sap: requires sap: Printer. sap:PrintReceipt rdf:type sap:Task. sap:PrintReceipt rdfs:label âPrint Receiptâ. sap: Printer rdfs:label âPrinterâ. sap:Task rdfs:label âTaskâ@en. sap:Task rdfs:label âProcess Taskâ@en. sap:Task rdfs:label âSchrittâ@de.
Continuing the example, the plurality of patterns may include the following pattern (e.g., text pattern):
The <I1.rdf:type.label (lang=âenâ)*> <I1.rdfs:label> requires a <I2.rdfs:label>.
In addition, the plurality of patterns may include the following question pattern preceding the text pattern directly above:
What is required by <I1.rdf:type.label (lang=âenâ)*> <I1.rdfs:label>?
The â*â (asterisk) operator (i.e., post operator) in the question pattern causes a Cartesian product to be computed. In the text and question patterns above, <?11> is bound to (i.e., holds the value) sap:PrintReceipt, <?p> is bound to sap: requires, and <?12> is bound to sap: Printer. Accordingly, a configuration option may be set to apply both question patterns and text patterns. Hence, by applying
CLAIMS
Claims ( 20 )
What is claimed is:
1 . A computing system comprising:
at least one memory; one or more hardware processing units coupled to the at least one memory; and one or more computer readable storage media storing computer-executable instructions that, when executed, cause the computing system to perform operations comprising:
receiving, from a user, user input comprising a plurality of tokens;
analyzing at least a portion of the plurality of tokens;
based on the analyzing, determining one or more entities of a semantic framework represented in the at least a portion of the plurality of tokens;
determining one or more triples of the semantic framework for at least a portion of the one or more entities or for associated entities;
adding at least a portion of the one or more triples, or a representation thereof, to the user input to provide modified user input;
submitting the modified user input to a large language model;
processing the modified user input using the large language model to provide a response; and
returning the response in response to the receiving the user input.
2 . The computing system of claim 1 , wherein the analyzing the at least a portion of the plurality of tokens comprises providing the at least a plurality of tokens to a named entity recognition service.
3 . The computing system of claim 1 , wherein adding at least a portion of the one or more triples, or a representation thereof, to the user input to provide modified using input comprises:
submitting triples of the at least a portion of the plurality of triples to a verbalization function to provide the representation, the representation being verbalized triples.
4 . The computing system of claim 1 , wherein the semantic framework comprises a knowledge graph.
5 . The computing system of claim 1 , the operations further comprising:
identifying one or more associated entities for a subset of the one or more entities by traversing the semantic framework through one or more levels of indirection from each respective entity within the set of associated entities.
6 . The computing system of claim 5 , wherein the identifying is carried out up to a specified level of indirection.
7 . The computing system of claim 5 , wherein the identifying is carried out until a threshold number of entities has been identified.
8 . The computing system of claim 5 , wherein the triples are in the form of (subject, object, predicate), and the identifying one or more associated entities is carried out for relationships where a respective entity of the one or more entities serves as a subject and for relationships where a respective entity of the one or more entities serves as an object.
9 . The computing system of claim 1 , wherein the modified input is not provided to the user.
10 . The computing system of claim 1 , wherein the user input prior to modification is not provided to the large language model without the content of the modification.
11 . The computing system of claim 1 , the operations further comprising:
adding a length constraint to the modified user input.
12 . The computing system of claim 1 , the operations further comprising:
adding an instruction to the modified user input.
13 . The computing system of claim 1 , the operations further comprising:
adding a contextual instruction to the modified user input.
14 . The computing system of claim 1 , the operations further comprising:
adding a content constraint instruction to the modified user input.
15 . The computing system of claim 1 , wherein the one or more entities correspond to a first set of one or more entities, the operations further comprising:
identifying a second set of one or more entities in the response; linking one or more entities of the second set of one or more entities to supplemental content, wherein the displaying the response in response to the user input comprises displaying the response with one or more links to supplemental content; receiving user input selecting a linked entity; and displaying the supplemental content for the linked entity.
16 . The computing system of claim 1 , wherein the based on the analyzing, determining one or more entities of a semantic framework represented in the at least a portion of the plurality of tokens comprises analyzing multiple discrete semantic frameworks.
17 . The computing system of claim 1 , wherein the based on the analyzing, determining one or more entities of a semantic framework represented in the at least a portion of the plurality of tokens comprises sending an analysis request to be executed on a semantic framework located on a remote computing system.
18 . A method, implemented in a computing system comprising at least one hardware processor and at least one memory coupled to the at least one hardware processor, the method comprising:
receiving, from a user, user input comprising a plurality of tokens; analyzing at least a portion of the plurality of tokens; based on the analyzing, determining one or more entities of a semantic framework represented in the at least a portion of the plurality of tokens; determining one or more triples of the semantic framework for at least a portion of the one or more entities or for associated entities; adding at least a portion of the one or more triples, or a representation thereof, to the user input to provide modified user input; submitting the modified user input to a large language model; processing the modified user input using the large language model to provide a response; and returning the response in response to the receiving the user input.
19 . The method of claim 18 , wherein adding at least a portion of the one or more triples, or a representation thereof, to the user input to provide modified using input comprises:
submitting triples of the at least a portion of the plurality of triples to a verbalization function to provide the representation, the representation being verbalized triples.
20 . One or more computer-readable storage media comprising:
computer-executable instructions that, when executed by a computing system comprising at least one hardware processor and at least one memory coupled to the at least one hardware processor, cause the computing system to receive, from a user, user input comprising a plurality of tokens; computer-executable instructions that, when executed by the computing system, cause the computing system to analyze at least a portion of the plurality of tokens; computer-executable instructions that, when executed by the computing system, cause the computing system to, based on the analyzing, determine one or more entities of a semantic framework represented in the at least a portion of the plurality of tokens; computer-executable instructions that, when executed by the computing system, cause the computing system to determine one or more triples of the semantic framework for at least a portion of the one or more entities or for associated entities; computer-executable instructions that, when executed by the computing system, cause the computing system to add at least a portion of the one or more triples, or a representation thereof, to the user input to provide modified user input; computer-executable instructions that, when executed by the computing system, cause the computing system to submit the modified user input to a large language model; computer-executable instructions that, when executed by the computing system, cause the computing system to process the modified user input using the large language model to provide a response; and computer-executable instructions that, when executed by the computing system, cause the computing system to return the response in response to the receiving the user input.
US18/369,065
2023-09-15
2023-09-15
Supplementation of large language model knowledge via prompt modification
Pending
US20250094707A1
( en )
Priority Applications (3)
Application Number
Priority Date
Filing Date
Title
US18/369,065
US20250094707A1
( en )
2023-09-15
2023-09-15
Supplementation of large language model knowledge via prompt modification
EP24199105.8A
EP4538926A1
( en )
2023-09-15
2024-09-09
Supplementation of large language model knowledge via prompt modification
CN202411286185.7A
CN119669435A
( en )
2023-09-15
2024-09-13
Supplementing large language model knowledge through real-time modification
Applications Claiming Priority (1)
Application Number
Priority Date
Filing Date
Title
US18/369,065
US20250094707A1
( en )
2023-09-15
2023-09-15
Supplementation of large language model knowledge via prompt modification
Publications (1)
Publication Number
Publication Date
US20250094707A1
true
US20250094707A1 ( en )
2025-03-20
Family
ID=92712383
Family Applications (1)
Application Number
Title
Priority Date
Filing Date
US18/369,065
Pending
US20250094707A1
( en )
2023-09-15
2023-09-15
Supplementation of large language model knowledge via prompt modification
Country Status (3)
Country
Link
US
( 1 )
US20250094707A1
( en )
EP
( 1 )
EP4538926A1
( en )
CN
( 1 )
CN119669435A
( en )
Cited By (12)
* Cited by examiner, â Cited by third party
Publication number
Priority date
Publication date
Assignee
Title
US20250110973A1
( en )
*
2023-09-28
2025-04-03
Royal Bank Of Canada
Neural network for event prediction
US20250139112A1
( en )
*
2023-06-23
2025-05-01
Salesforce, Inc.
Systems and Methods for Federated Query Abstraction
CN120179811A
( en )
*
2025-05-20
2025-06-20
浪潮éç¨è½¯ä»¶æéå ¬å¸
Method, device and medium for dynamically building rule base based on large language model
US20250225335A1
( en )
*
2024-01-08
2025-07-10
Deep Water Point & Associates
Computer Program and Method for Annotated Document Processing Based on User-Defined Parameters
US12373649B1
( en )
*
2025-02-12
2025-07-29
U.S. Bancorp, National Association
Remediating hallucinations in language models
US20250323835A1
( en )
*
2024-04-12
2025-10-16
Ciena Corporation
Automated Discovery of Network Inventory From Raw Configuration Files Using Machine Learning
US12511282B1
( en )
2023-05-02
2025-12-30
Microstrategy Incorporated
Generating structured query language using machine learning
US12585683B1
( en )
*
2024-09-23
2026-03-24
International Business Machines Corporation
Solving multilingual queries using vector database
US20260087363A1
( en )
*
2024-09-24
2026-03-26
Microsoft Technology Licensing, Llc
Large language model (llm) hallucination reduction by adverserial prompt refinement
US12591825B2
( en )
*
2024-03-11
2026-03-31
Procore Technologies, Inc.
Computing system and method for progress tracking using a large language model
US12602421B1
( en )
2025-01-23
2026-04-14
Dell Products L.P.
Classifying retrieved context data for a relativistic response
US20260211917A1
( en )
*
2025-01-23
2026-07-23
Dell Products L.P.
Context data retrieval using implicit terms
Families Citing this family (2)
* Cited by examiner, â Cited by third party
Publication number
Priority date
Publication date
Assignee
Title
CN119918508B
( en )
*
2025-04-02
2025-07-01
å£åå®éªå®¤
Information extraction method, apparatus, storage medium, and program product
CN122086843A
( en )
*
2026-04-24
2026-05-26
ç»ä¿¡è½¯ä»¶ææ¯æéå ¬å¸
Skill hot update methods, devices, electronic devices, storage media and program products
Citations (20)
* Cited by examiner, â Cited by third party
Publication number
Priority date
Publication date
Assignee
Title
US20080010259A1
( en )
*
2006-07-10
2008-01-10
Nec (China) Co., Ltd.
Natural language based location query system, keyword based location query system and a natural language and keyword based location query system
US20150081663A1
( en )
*
2013-09-18
2015-03-19
First Principles, Inc.
System and method for active search environment
US20180276525A1
( en )
*
2015-12-03
2018-09-27
Huawei Technologies Co., Ltd.
Method and neural network system for human-computer interaction, and user equipment
US20190122111A1
( en )
*
2017-10-24
2019-04-25
Nec Laboratories America, Inc.
Adaptive Convolutional Neural Knowledge Graph Learning System Leveraging Entity Descriptions
US20190213258A1
( en )
*
2018-01-10
2019-07-11
International Business Machines Corporation
Machine Learning to Integrate Knowledge and Natural Language Processing
US10606958B2
( en )
*
2018-01-10
2020-03-31
International Business Machines Corporation
Machine learning modification and natural language processing
US20200380991A1
( en )
*
2019-06-03
2020-12-03
Microsoft Technology Licensing, Llc
Clarifying questions for rewriting ambiguous user utterance
US20210216819A1
( en )
*
2020-01-15
2021-07-15
Beijing Baidu Netcom Science And Technology Co., Ltd.
Method, electronic device, and storage medium for extracting spo triples
US11151320B1
( en )
*
2020-04-21
2021-10-19
Microsoft Technology Licensing, Llc
Labeled knowledge graph based priming of a natural language model providing user access to programmatic functionality through natural language input
US20220050964A1
( en )
*
2020-08-14
2022-02-17
Salesforce.Com, Inc.
Structured graph-to-text generation with two step fine-tuning
US20220138185A1
( en )
*
2020-11-03
2022-05-05
Adobe Inc.
Scene graph modification based on natural language commands
US20220230628A1
( en )
*
2021-01-20
2022-07-21
Microsoft Technology Licensing, Llc
Generation of optimized spoken language understanding model through joint training with integrated knowledge-language module
US20230177356A1
( en )
*
2020-07-29
2023-06-08
Samsung Electronics Co., Ltd.
System and method for modifying knowledge graph for providing service
US20240095460A1
( en )
*
2022-09-19
2024-03-21
Nvidia Corporation
Dialogue systems using knowledge bases and language models for automotive systems and applications
US11997056B2
( en )
*
2022-08-29
2024-05-28
Adobe Inc.
Language model with external knowledge base
US20240296285A1
( en )
*
2023-03-03
2024-09-05
NEC Laboratories Europe GmbH
Grouping and linking facts from text to remove ambiguity using knowledge graphs
US20240428044A1
( en )
*
2023-06-23
2024-12-26
Salesforce, Inc.
Systems and methods for retrieval based question answering using neura network models
US20250005299A1
( en )
*
2023-06-30
2025-01-02
Salesforce, Inc.
Language model prompt authoring and execution in a database system
US12602226B1
( en )
*
2023-09-14
2026-04-14
Amazon Technologies, Inc.
Complex code modification via chain of thought prompting
US12651599B2
( en )
*
2023-06-23
2026-06-09
Amazon Technologies, Inc.
Generating model output using a knowledge graph
2023
2023-09-15
US
US18/369,065
patent/US20250094707A1/en
active
Pending
2024
2024-09-09
EP
EP24199105.8A
patent/EP4538926A1/en
active
Pending
2024-09-13
CN
CN202411286185.7A
patent/CN119669435A/en
active
Pending
Patent Citations (23)
* Cited by examiner, â Cited by third party
Publication number
Priority date
Publication date
Assignee
Title
US20080010259A1
( en )
*
2006-07-10
2008-01-10
Nec (China) Co., Ltd.
Natural language based location query system, keyword based location query system and a natural language and keyword based location query system
US20150081663A1
( en )
*
2013-09-18
2015-03-19
First Principles, Inc.
System and method for active search environment
US20180276525A1
( en )
*
2015-12-03
2018-09-27
Huawei Technologies Co., Ltd.
Method and neural network system for human-computer interaction, and user equipment
US20190122111A1
( en )
*
2017-10-24
2019-04-25
Nec Laboratories America, Inc.
Adaptive Convolutional Neural Knowledge Graph Learning System Leveraging Entity Descriptions
US20190213258A1
( en )
*
2018-01-10
2019-07-11
International Business Machines Corporation
Machine Learning to Integrate Knowledge and Natural Language Processing
US10606958B2
( en )
*
2018-01-10
2020-03-31
International Business Machines Corporation
Machine learning modification and natural language processing
US20200380991A1
( en )
*
2019-06-03
2020-12-03
Microsoft Technology Licensing, Llc
Clarifying questions for rewriting ambiguous user utterance
US20210216819A1
( en )
*
2020-01-15
2021-07-15
Beijing Baidu Netcom Science And Technology Co., Ltd.
Method, electronic device, and storage medium for extracting spo triples
US20230141200A1
( en )
*
2020-04-21
2023-05-11
Microsoft Technology Licensing, Llc
Labeled knowledge graph based priming of a natural language model providing user access to programmatic functionality through natural language input
US11151320B1
( en )
*
2020-04-21
2021-10-19
Microsoft Technology Licensing, Llc
Labeled knowledge graph based priming of a natural language model providing user access to programmatic functionality through natural language input
US20220036001A1
( en )
*
2020-04-21
2022-02-03
Microsoft Technology Licensing, Llc
Labeled Knowledge Graph Based Priming Of A Natural Language Model Providing User Access To Programmatic Functionality Through Natural Language Input
US20230177356A1
( en )
*
2020-07-29
2023-06-08
Samsung Electronics Co., Ltd.
System and method for modifying knowledge graph for providing service
US20220050964A1
( en )
*
2020-08-14
2022-02-17
Salesforce.Com, Inc.
Structured graph-to-text generation with two step fine-tuning
US20220138185A1
( en )
*
2020-11-03
2022-05-05
Adobe Inc.
Scene graph modification based on natural language commands
US12399890B2
( en )
*
2020-11-03
2025-08-26
Adobe Inc.
Scene graph modification based on natural language commands
US20220230628A1
( en )
*
2021-01-20
2022-07-21
Microsoft Technology Licensing, Llc
Generation of optimized spoken language understanding model through joint training with integrated knowledge-language module
US11997056B2
( en )
*
2022-08-29
2024-05-28
Adobe Inc.
Language model with external knowledge base
US20240095460A1
( en )
*
2022-09-19
2024-03-21
Nvidia Corporation
Dialogue systems using knowledge bases and language models for automotive systems and applications
US20240296285A1
( en )
*
2023-03-03
2024-09-05
NEC Laboratories Europe GmbH
Grouping and linking facts from text to remove ambiguity using knowledge graphs
US20240428044A1
( en )
*
2023-06-23
2024-12-26
Salesforce, Inc.
Systems and methods for retrieval based question answering using neura network models
US12651599B2
( en )
*
2023-06-23
2026-06-09
Amazon Technologies, Inc.
Generating model output using a knowledge graph
US20250005299A1
( en )
*
2023-06-30
2025-01-02
Salesforce, Inc.
Language model prompt authoring and execution in a database system
US12602226B1
( en )
*
2023-09-14
2026-04-14
Amazon Technologies, Inc.
Complex code modification via chain of thought prompting
Cited By (14)
* Cited by examiner, â Cited by third party
Publication number
Priority date
Publication date
Assignee
Title
US12511282B1
( en )
2023-05-02
2025-12-30
Microstrategy Incorporated
Generating structured query language using machine learning
US20250139112A1
( en )
*
2023-06-23
2025-05-01
Salesforce, Inc.
Systems and Methods for Federated Query Abstraction
US12681946B2
( en )
*
2023-06-23
2026-07-14
Salesforce, Inc.
Systems and methods for federated query abstraction
US20250110973A1
( en )
*
2023-09-28
2025-04-03
Royal Bank Of Canada
Neural network for event prediction
US20250225335A1
( en )
*
2024-01-08
2025-07-10
Deep Water Point & Associates
Computer Program and Method for Annotated Document Processing Based on User-Defined Parameters
US12591825B2
( en )
*
2024-03-11
2026-03-31
Procore Technologies, Inc.
Computing system and method for progress tracking using a large language model
US20250323835A1
( en )
*
2024-04-12
2025-10-16
Ciena Corporation
Automated Discovery of Network Inventory From Raw Configuration Files Using Machine Learning
US12585683B1
( en )
*
2024-09-23
2026-03-24
International Business Machines Corporation
Solving multilingual queries using vector database
US20260087363A1
( en )
*
2024-09-24
2026-03-26
Microsoft Technology Licensing, Llc
Large language model (llm) hallucination reduction by adverserial prompt refinement
US12602421B1
( en )
2025-01-23
2026-04-14
Dell Products L.P.
Classifying retrieved context data for a relativistic response
US20260211917A1
( en )
*
2025-01-23
2026-07-23
Dell Products L.P.
Context data retrieval using implicit terms
US12462108B1
( en )
*
2025-02-12
2025-11-04
U.S. Bancorp, National Association
Remediating hallucinations in language models
US12373649B1
( en )
*
2025-02-12
2025-07-29
U.S. Bancorp, National Association
Remediating hallucinations in language models
CN120179811A
( en )
*
2025-05-20
2025-06-20
浪潮éç¨è½¯ä»¶æéå ¬å¸
Method, device and medium for dynamically building rule base based on large language model
Also Published As
Publication number
Publication date
CN119669435A
( en )
2025-03-21
EP4538926A1
( en )
2025-04-16
Similar Documents
Publication
Publication Date
Title
EP4538926A1
( en )
2025-04-16
Supplementation of large language model knowledge via prompt modification
US11693855B2
( en )
2023-07-04
Automatic creation of schema annotation files for converting natural language queries to structured query language
US20210294781A1
( en )
2021-09-23
Feature engineering with question generation
US9740685B2
( en )
2017-08-22
Generation of natural language processing model for an information domain
US11763095B2
( en )
2023-09-19
Creating apps from natural language descriptions
CN111475534B
( en )
2023-04-14
Data query method and related equipment
EP4700605A1
( en )
2026-02-25
Supplementation of large language model knowledge and responses with media content
US12619652B2
( en )
2026-05-05
Automated ontology creation
Levkivskyi et al.
2025
Agile methodology of information engineering for semantic annotations categorization and creation in scientific articles based on NLP and machine learning methods
US20260030274A1
( en )
2026-01-29
Systems and methods for generating structured conversational ai content from unstructured and structured data sources
EP4617900A1
( en )
2025-09-17
Customized information change notification using knowledge graphs
US20240411787A1
( en )
2024-12-12
Providing data from a directed graph to a language model
Bhatia et al.
2011
Semantic web mining: Using ontology learning and grammatical rule inference technique
US12572581B2
( en )
2026-03-10
Automated ontology creation
Pietranik et al.
2012
A method for ontology alignment based on semantics of attributes
Iqbal et al.
2013
A Negation Query Engine for Complex Query Transformations
Chornyi
2025
Development of a unified output format for text parsers in the ontology construction system from text documents
Kopp et al.
2023
Computational Technology and Software Tool for Translation of Business Rules into Database Creation Scripts.
Kuchmann-Beauger
2013
Question answering system in a business intelligence context
Kedwan
2023
NLP application: Natural language questions and SQL using computational linguistics
US20250292105A1
( en )
2025-09-18
Automated ontology maintenance
Gusmita et al.
2019
QUANT-Question Answering Benchmark Curator
Canim et al.
2017
A knowledge and reasoning toolkit for cognitive applications
Ngomo et al.
2019
QUANT-Question Answering Benchmark Curator
Laitio
2011
Semantic Web Data Quality Control
Legal Events
Date
Code
Title
Description
2023-09-18
AS
Assignment
Owner name : SAP SE, GERMANY
Free format text : ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:PORTISCH, JAN;COSTA, GUILHERME;HLADIK, MICHAEL;AND OTHERS;SIGNING DATES FROM 20230912 TO 20230915;REEL/FRAME:064936/0928
2023-10-02
STPP
Information on status: patent application and granting procedure in general
Free format text : DOCKETED NEW CASE - READY FOR EXAMINATION
2025-09-03
STPP
Information on status: patent application and granting procedure in general
Free format text : NON FINAL ACTION COUNTED, NOT YET MAILED
2025-09-04
STPP
Information on status: patent application and granting procedure in general
Free format text : NON FINAL ACTION MAILED
2025-12-05
STPP
Information on status: patent application and granting procedure in general
Free format text : RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER
2025-12-14
STPP
Information on status: patent application and granting procedure in general
Free format text : RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER
2026-03-07
STPP
Information on status: patent application and granting procedure in general
Free format text : FINAL REJECTION COUNTED, NOT YET MAILED
2026-03-11
STPP
Information on status: patent application and granting procedure in general
Free format text : FINAL REJECTION MAILED
2026-05-07
STPP
Information on status: patent application and granting procedure in general
Free format text : ADVISORY ACTION COUNTED, NOT YET MAILED
2026-05-12
STPP
Information on status: patent application and granting procedure in general
Free format text : ADVISORY ACTION MAILED
2026-06-08
STPP
Information on status: patent application and granting procedure in general
Free format text : DOCKETED NEW CASE - READY FOR EXAMINATION
2026-06-13
STPP
Information on status: patent application and granting procedure in general
Free format text : NON FINAL ACTION COUNTED, NOT YET MAILED
2026-06-17
STPP
Information on status: patent application and granting procedure in general
Free format text : NON FINAL ACTION MAILED
Related documents
- MA-SAPO: Multi-Agent Reasoning for Score-Aware Prompt Optimization#1118430
- Prompt ̸ = Knowledge: On the Epistemic Limits of In-Context Control in Large Language Models#728888
- Grammar Concept Annotation at Scale: Deployed Fine-Tuned Small Language Models Outperform Prompted Frontier Models#1247754
- Application of large language models as decision support tools in occupational health and safety management: a cohort study of industrial workers.#224848
- CPInj: Uncovering Prompt Injection Risks in Textual Collaborative Prompt Optimization#386751
Retrieved via Conceptio: every document is proof-bundled with source, license, and retrieval metadata.
Read the Docs → · View CLI source on GitHub · Conceptio Open Knowledge Archive