US-12625912-B2 - System and method for dynamic query management using meta-descriptions in a conversational search engine
Abstract
The present specification provides a search engine server comprising a network interface, a processor, and a memory for storing and executing programming instructions. These instructions enable the server to establish a conversational session with a client device over a network, determine parameters from the client's request intention, and select nodes representing sources within a full domain, including APIs, databases, and large language models. The server can adjust node selection based on additional parameters and create a query graph with nodes corresponding to identified sources. This graph facilitates the execution of network queries based on the client's request intention, thereby optimizing the data retrieval process across various sources.
Inventors
- Yannick DEVAUX
- Alex Prengere
- Kevin HAMON
- Thibault Toledano
- Julien BIANCHI
- Romain MEYNARD
Assignees
- AMADEUS S.A.S.
Dates
- Publication Date
- 20260512
- Application Date
- 20240430
Claims (19)
- 1 . A search engine server including a network interface, a processor and a memory for storing programming instructions executable on the processor; the network interface for connecting the processor to a network; the programming instructions when executed by the processor cause the processor to: establish a conversational session over the network with a client device via the network interface, the conversational session including a plurality of messages between the client device and the search engine server; determine at least one parameter from a request intention within the conversational session based on natural language processing of at least one message of the plurality of messages; determine a meta-description based on the at least one parameter; select, based on the at least one parameter and the meta-description, a first plurality of nodes representing sources within a full domain of sources; the sources including at least one of a function call via an application programming interface (API); a database; and a large language model; determine at least one additional parameter based on natural language processing of at least one further message of the plurality of messages; adjust, based on criteria, the first plurality of nodes into a second plurality of nodes; create a query graph including the second plurality of nodes respective to a plurality of identified sources; and, execute a query to the plurality of identified sources over the network, the query based on the request intention using the query graph; wherein the criteria includes: the at least one additional parameter; and, a selected number of tokens for creation of the query graph; the selected number of tokens being: i) less than an original number of tokens for the first plurality of nodes, such that the query produces an equivalent result using either the first plurality of nodes or the second plurality of nodes; and, ii) determined by a token limitation algorithm that configures a large language model engine to operate within a predefined token range; the token limitation algorithm dynamically reallocating saved tokens to represent additional sources within the query graph without necessitating multiple calls.
- 2 . The search engine server of claim 1 wherein the meta-description is used by the large language model engine to select the plurality of nodes.
- 3 . The search engine server of claim 1 wherein the at least one additional parameter is based on a missing, overly broad or unstructured parameter from the at least one parameter determined from the request intention.
- 4 . The search engine server of claim 3 wherein the request intention is planning a travel itinerary and the plurality of sources includes selecting the API and/or the database hosted by a subset of a plurality of online travel solution providers within the full domain of sources.
- 5 . The search engine server of claim 4 wherein selecting is further based on one or more of a number of travel actor options, price, and availability of travel packages.
- 6 . The search engine server of claim 4 wherein adjusting includes adding an additional node to the selected nodes representing at least one of: a) a travel database of a travel website and b) a general knowledge large language model that includes general knowledge of activities associated with a destination in the travel itinerary.
- 7 . The search engine server of claim 6 wherein adjusting includes removing a superfluous one of the selected nodes in the query graph based on content of the additional node.
- 8 . The search engine of claim 4 wherein the at least one additional parameter is based on at least one of a destination, a travel period, a budget and an activity.
- 9 . The search engine server of claim 3 wherein the at least one additional parameter is determined based on limitation of content available from the selected nodes in comparison to the request intention.
- 10 . The search engine server of claim 1 wherein the request intention includes planning a dining excursion.
- 11 . The search engine server of claim 1 wherein the request intention includes planning an entertainment activity.
- 12 . The search engine server of claim 1 wherein the request intention includes defining an investment portfolio.
- 13 . The search engine server of claim 1 wherein the request intention includes planning a renovation.
- 14 . A computer implemented method for searching comprising: establishing a conversational session over the network with a client device via a network interface, the conversational session including a plurality of messages between the client device and a search engine server; determining at least one parameter from a request intention within the conversational session based on natural language processing of at least one message of the plurality of messages; determining a meta-description based on the at least one parameter; select, based on the at least one parameter and the meta-description, a first plurality of nodes representing sources within a full domain of sources; the sources including at least one of a function call via an application programming interface (API); a database; and a large language model; determining at least one additional parameter based on natural language processing of at least one further message of the plurality of messages; adjusting, based on criteria, the first plurality of nodes into a second plurality of nodes; creating a query graph including the second plurality of nodes respective to a plurality of identified sources; and, executing a query to the plurality of identified sources over the network, the query based on the request intention using the query graph; wherein the criteria includes: the at least one additional parameter; and, a selected number of tokens for creation of the query graph; the selected number of tokens being: i) less than an original number of tokens for the first plurality of nodes, such that the query produces an equivalent result using either the first plurality of nodes or the second plurality of nodes; and, ii) determined by a token limitation algorithm that configures a large language model engine to operate within a predefined token range; the token limitation algorithm dynamically reallocating saved tokens to represent additional sources within the query graph without necessitating multiple calls.
- 15 . The method of claim 14 wherein the at least one additional parameter is based on a missing, overly broad or unstructured parameter from the at least one parameter determined from the request intention.
- 16 . The method of claim 15 wherein the request intention is planning a travel itinerary and the plurality of sources includes selecting the API and/or the database hosted by a subset of a plurality of online travel solution providers within the full domain of sources.
- 17 . A non-transitory computer readable medium storing a plurality of programming instructions for a search engine server implementing a method for: establishing a conversational session over a network with a client device via a network interface, the conversational session including a plurality of messages between the client device and the search engine server; determining at least one parameter from a request intention within the conversational session based on natural language processing of at least one message of the plurality of messages; determining a meta-description based on the at least one parameter; select, based on the at least one parameter and the meta-description, a first plurality of nodes representing sources within a full domain of sources; the sources including at least one of a function call via an application programming interface (API); a database; and a large language model; determining at least one additional parameter based on natural language processing of at least one further message of the plurality of messages; adjusting, based on criteria, the first plurality of nodes into a second plurality of nodes; creating a query graph including the second plurality of nodes respective to a plurality of identified sources; and, executing a query to the plurality of identified sources over the network, the query based on the request intention using the query graph; wherein the criteria includes: the at least one additional parameter; and, a selected number of tokens for creation of the query graph; the selected number of tokens being: i) less than an original number of tokens for the first plurality of nodes, such that the query produces an equivalent result using either the first plurality of nodes or the second plurality of nodes; and, ii) determined by a token limitation algorithm that configures a large language model engine to operate within a predefined token range; the token limitation algorithm dynamically reallocating saved tokens to represent additional sources within the query graph without necessitating multiple calls.
- 18 . The non-transitory computer readable media of claim 17 wherein the at least one additional parameter is based on a missing, overly broad or unstructured parameter from the at least one parameter determined from the request intention.
- 19 . The non-transitory computer readable media of claim 18 wherein the request intention is planning a travel itinerary and the plurality of sources includes selecting the API and/or the database hosted by a subset of a plurality of online travel solution providers within the full domain of sources.
Description
PRIORITY CLAIM The present specification claims priority from U.S. Provisional Patent Application 63/463,146, filed May 1, 2023, the contents of which are incorporated herein by reference. FIELD The present disclosure generally relates to network computing and more particularly to searches over the network. BACKGROUND The growing complexity of data across multiple domains has presented significant challenges in retrieving relevant information efficiently. Traditional search engine architectures often struggle to handle the diverse data types and sources, such as databases, APIs, and extensive language models. These systems can lack the flexibility to adapt to the nuances of different data sources, leading to inefficiencies in data retrieval and processing. Furthermore, the increasing demand for real-time, accurate search results necessitates a more dynamic approach to data integration and querying, which existing systems are often not equipped to handle effectively. Moreover, the interaction between client devices and search engines typically relies on static query mechanisms that do not adjust to the changing context or specificity of user requests. This can result in the retrieval of non-optimal information, requiring further searches and therefore wasting computing resources. U.S. Pat. No. 9,318,108B2 provides a structured approach to automated assistance via computing devices, but it exhibits limitations in adapting dynamically to an extensive and varied data environment. Such predefined interactions do not fully address the complexities of real-time data integration from multiple and potentially unstructured data sources. This restricts the system's ability to refine and optimize search results or actions based on evolving data sets or user contexts, which could hinder the system's overall performance and accuracy in providing relevant responses. Furthermore, the system's dependency on static user input and service calls limits its flexibility in handling asynchronous data flows and adapting outputs to changing information or user needs. U.S. Pat. No. 10,776,189 introduces a method for constructing a unified data graph to streamline queries across multiple APIs. However, U.S. Pat. No. 10,776,189 primarily focuses on optimizing application programming interface (“API”) calls within a predefined framework of endpoints and API specifications. This approach can lack the flexibility to dynamically integrate and process data from emerging or less structured data sources. Additionally, the reliance on static endpoint filtering and API specifications can hinder the ability to respond in real-time to changes in data security, availability, or relevance, which can be critical in environments where data integrity and timeliness are paramount. U.S. Pat. No. 11,056,107B2 outlines a method for integrating micro-services into conversational applications, focusing on structured dialogue and workflow orchestration. However, it primarily addresses workflow management within predefined parameters and does not offer a solution for dynamically adjusting to unexpected user inputs or changes in dialogue context. This fixed approach can restrict the system's ability to handle more complex or non-linear interactions. U.S. Pat. No. 11,271,803B2 outlines a method for managing device capabilities within a network to form a virtual device controlled via a virtual finite state machine. This approach, however, focuses on configuration and control processes based on static capability assessments and does not adapt to changes in network conditions or device availability in real-time. Additionally, the method does not address scalability issues or dynamically optimize resource allocation, which are crucial for efficiency in heterogeneous networks. The reliance on a centralized controller device for managing operations introduces bottlenecks or points of failure, affecting the system's overall performance and robustness. SUMMARY An aspect of the specification provides a search engine server including a network interface, a processor and a memory for storing programming instructions executable on the processor; the network interface for connecting the processor to a network; the programming instructions including: establishing a conversational session over the network with a client device via the network interface; determining at least one parameter from a request intention within the conversational session; determining a meta-description based on the parameter; selecting, based on the at least one parameter and the meta-description, a plurality of nodes representing sources within a full domain of sources; the sources including at least one of a function call via an application programming interface (API); a database; and a large language model; determining at least one additional parameter; adjusting, based on the additional parameter, the selection of nodes; creating a query graph including nodes respective to the identified sources;