Information processing system, information processing method and program
The information processing system addresses inefficiencies in traditional RAG by generating metadata for tables and columns to selectively search relevant data, improving accuracy and reducing computational load in large-scale language models.
Patent Information
- Application Number
- JP2025115553
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2025-07-09
- Publication Date
- 2025-11-26
- Estimated Expiration
- 2045-07-09
AI Technical Summary
The traditional Retrieval-Augmented Generation (RAG) approach for large-scale language models faces challenges such as increased waste of computing resources, deterioration of response time, and reduced accuracy due to processing large amounts of irrelevant data, particularly with time-series data like IoT data and customer behavior logs.
An information processing system that generates metadata for tables and columns based on user queries, selectively searching relevant data to reduce computational load and improve accuracy by narrowing the search range and reducing noise information.
This system enhances search accuracy, reduces computational resource consumption, and shortens response time by limiting the search to relevant data, thereby optimizing the processing of large-scale language models.
Smart Images

Figure 0007776190000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to an information processing system, an information processing method, and a program. [Background technology]
[0002] Patent Document 1 discloses an information processing system that provides general-purpose ease of use and enables suppression of variations in output quality in a dialogue response in natural language using artificial intelligence. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Patent No. 7699729 Summary of the Invention [Problem to be solved by the invention]
[0004] The amount of data handled by companies is growing exponentially. It is becoming common for a single data table to have millions of rows and thousands of columns. This trend is particularly noticeable with time-series data such as IoT data, financial transaction records, and customer behavior logs. Meanwhile, with the improvement of the capabilities of large-scale language models (LLMs), businesses such as advanced data analysis through natural language interfaces are rapidly increasing. However, the traditional RAG (Retrieval-Augmented Generation) approach has the following challenges: -Increased waste of computing resources due to processing that includes unnecessary columns - Deterioration of response time due to processing large amounts of data Risk of reduced accuracy due to the use of irrelevant information [Means for solving the problem]
[0005] According to one aspect of the present invention, there is provided an information processing system for search expansion generation for a large-scale language model. The information processing system has at least one or more control units. The control unit generates metadata for each of a plurality of tables based on data for each of the plurality of tables related to search expansion generation. The control unit generates metadata for each of the columns of the plurality of tables based on data for each of the columns of the plurality of tables. The control unit accepts a query from a user who uses the large-scale language model. The control unit selects a table from the plurality of tables to be searched for data related to the query based on the user's query and the metadata for each of the plurality of tables. The control unit selects a column to be searched for data related to the query based on the user's query and the metadata for the column in the selected table to be searched for data related to the query. The control unit executes a search for data related to the query against the data of the selected column. [Brief explanation of the drawings]
[0006] [Figure 1] FIG. 1 is a diagram illustrating an example of a system configuration of an information processing system. [Figure 2] FIG. 2 is a diagram illustrating an example of a hardware configuration of the server device. [Figure 3] FIG. 3 is a diagram illustrating an example of a hardware configuration of the client device. [Figure 4] FIG. 4 is a sequence diagram illustrating an example of information processing in the information processing system. DETAILED DESCRIPTION OF THE INVENTION
[0007] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The following describes embodiments of the present invention with reference to the accompanying drawings. Various features shown in the following embodiments (including modified examples, which also apply hereinafter) can be combined with one another.
[0008] <Embodiment 1> 1. System configuration of information processing system FIG. 1 is a diagram illustrating an example of the system configuration of an information processing system 1000. As illustrated in FIG. 1, the information processing system 1000 includes, as a system configuration, a server device 100, an LLM server device 110, and a client device 120. The server device 100 is an example of a computer. The server device 100, the LLM server device 110, and the client device 120 are communicatively connected via a network 150. The network 150 is any one of a wide area network (WAN), a local area network (LAN), and the Internet, or any combination thereof. The network 150 is configured to enable communication between devices connected to the network 150 via wired and / or wireless connections. The information processing system 1000 is a system that provides so-called Software as a Service (SaaS) functionality. The information processing system 1000 is also an example of an information processing system for search expansion and generation of large-scale language models.
[0009] Retrieval-Augmented Generation (RAG) is a powerful technology that augments the knowledge of a large-scale language model with external data to generate up-to-date and accurate answers while suppressing hallucination. In this specification, the external data of RAG (hereinafter simply referred to as external data) is described as being stored in the memory unit of the server device 100 (memory unit 220, described later). As described above, the external data handled in this specification is stored in the memory unit as multiple data tables. A single data table is described as having millions of rows and thousands of columns. However, this is not intended to limit the specification. The external data may be stored in the memory unit of the LLM server device 110 or in the memory unit of another device that can communicate with the server device 100.
[0010] The server device 100 executes information processing related to search expansion generation of large-scale language models. The server device included in the information processing system 1000 may be one or more. When the information processing system 1000 includes multiple server devices, the functions of the server device 100 are provided as a so-called distributed system.
[0011] The LLM server device 110 is a server device that provides the functionality of a large-scale language model (LLM). A large-scale language model is an AI model trained on a large amount of text data. A large-scale language model excels at understanding and / or generating natural language, and is used for various tasks such as writing, translation, and question answering. The large-scale language model is stored in the memory unit of the LLM server device 110.
[0012] The client device 120 is an information processing device used by a user of the information processing system 1000. In the present specification, a PC (Personal Computer) is used as an example of the client device 120. However, this is not intended to limit the present specification. The client device 120 may be a portable tablet computer, a smartphone, or the like. The client device 120 may be any device that can communicate with the server device 100 via the network 150, input a query, and output the results of a received query.
[0013] Here, the claimed information processing system may be composed of multiple devices or may be composed of a single device. When the claimed information processing system is composed of a single device, an example of the device is, for example, server device 100. When the claimed information processing system is composed of a plurality of devices, an example of the plurality of devices is, for example, a distributed system that provides the functions of server device 100, or server device 100 and a server device that provides the functions of various trained models described below, or server device 100 and client device 120.
[0014] 2. Hardware configuration diagram (1) Hardware Configuration of Server Device 100 FIG. 2 is a diagram illustrating an example of a hardware configuration of the server device 100. As shown in FIG. As shown in FIG. 2, the server device 100 includes, as its hardware configuration, a control unit 210, a storage unit 220, and a communication unit 230.
[0015] The control unit 210 is a CPU (Central Processing Unit) or the like, and controls the entire server device 100 and executes processing in accordance with input information and the like.
[0016] The memory unit 220 is any one of an HDD (Hard Disk Drive), a ROM (Read Only Memory), a RAM (Random Access Memory), an SSD (Solid State Drive), etc., or any combination thereof, and stores programs and data used by the control unit 210 when executing processing based on the programs (for example, dictionary information, database schema, external data of RAG, etc., as described below).
[0017] The storage unit 220 is an example of a storage medium. In the present specification, the data used by the control unit 210 when executing processing based on a program is described as being stored in the storage unit 220, but the data may also be stored in a storage unit of another device that can communicate with the server device 100. In other words, the data may be stored in a storage unit of any device as long as the control unit 210 can refer to and / or acquire the data. The control unit 210 executes processing based on the program stored in the storage unit 220, thereby realizing the functions of the server device 100 and the processing of the server device 100 shown in the sequence diagram in FIG. 4, which will be described later.
[0018] The communication unit 230 connects the server device 100 to a network and controls communication with other devices.
[0019] The server device 100 may include a plurality of each hardware configuration shown in Fig. 1. For example, the server device 100 may have a plurality of control units. The same applies to the client device 120 described below.
[0020] (2) Hardware Configuration of the Client Device 120 FIG. 3 is a diagram illustrating an example of the hardware configuration of the client device 120. As shown in FIG. As shown in FIG. 3, the client device 120 includes, as its hardware configuration, a control unit 310, a storage unit 320, an input unit 330, an output unit 340, and a communication unit 350.
[0021] The control unit 310 is a CPU or the like, and controls the entire client device 120 .
[0022] The storage unit 320 is any one of an HDD, a ROM, a RAM, an SSD, etc., or any combination thereof, and stores programs, data used when the control unit 310 executes processing based on the programs, etc. The storage unit 320 is an example of a storage medium.
[0023] In the present specification, the data used by control unit 310 when executing processing based on a program is described as being stored in storage unit 320, but the data may also be stored in a storage unit of another device that can communicate with client device 120. The data may be stored in a storage unit of any device as long as it can be referenced and / or acquired by control unit 310. The functions and the like of client device 120 are realized by control unit 310 executing processing based on the program stored in storage unit 320.
[0024] The input unit 330 is a device that inputs information to the client device 120 in response to a user's operation. The input unit 330 accepts an operation input made by the user. The operation input is transferred as a command signal to the control unit 310 via the internal bus 360. The control unit 310 may execute predetermined control and / or calculation based on the transferred command signal as necessary. The input unit 330 may be included in the housing of the client device 120 or may be externally attached. For example, the input unit 330 may be implemented as a touch panel integrated with the output unit 340. When the input unit 330 is implemented as a touch panel, the user can input a tap operation, a swipe operation, or the like to the input unit 330. The input unit 330 may be a switch button, a mouse, a trackpad, a keyboard, or the like instead of a touch panel.
[0025] The output unit 340 is, for example, a display unit typified by a display, and is a device that outputs (displays) information as a screen of a graphical user interface (GUI) that can be operated by a user. The output unit 340 may be included in the housing of the client device 120 or may be externally attached. More specifically, the output unit 340 may be implemented as a display device such as a liquid crystal display, an organic EL (Electron-Luminescence) display, or a plasma display. It is preferable that these display devices are implemented and used appropriately depending on the type of client device 120.
[0026] The communication unit 350 connects the client device 120 to the network 150 and controls communication with other devices.
[0027] 3. Information Processing (1) Overview of the process The control unit 210 generates metadata for each of the plurality of tables based on the data in each of the plurality of tables related to search expansion generation. The control unit 210 generates metadata for each of the plurality of tables based on the data in each of the columns in the plurality of tables. The control unit 210 accepts a query from a user who uses a large-scale language model. Based on the user's query and the metadata of each of the tables, the control unit 210 then selects a table from the multiple tables to be searched for data related to the query. Based on the user's query and the metadata of a column in the selected table to be searched for data related to the query, the control unit 210 selects a column to be searched for data related to the query. The control unit 210 executes a search for data related to the query from the data in the selected column.
[0028] By performing such processing, it is possible to reduce the consumption of computational resources, shorten response time, and reduce noise information, thereby improving search accuracy. More specifically, by limiting the search target first by table and then by column, access to unnecessary data can be suppressed. Furthermore, by narrowing the search range, the computational load can be reduced and the associated consumption of computational resources can be suppressed. Furthermore, by reducing unnecessary data processing, the response time to queries can be shortened. Furthermore, by limiting the search target to data that is highly relevant to the query, noise information can be reduced and search accuracy can be improved.
[0029] (2) Details of the processing FIG. 4 is a sequence diagram showing an example of information processing related to search expansion generation of a large-scale language model executed by the information processing system 1000.
[0030] In sequence SQ401, the control unit 210 generates metadata for each of the tables based on the data for each of the tables related to search expansion generation. The metadata includes the purpose of the table, the time range of the data contained in the table, the characteristics of the data, and the update frequency of the data. An example of how to generate each piece of metadata is shown below. The control unit 210 associates the generated metadata with the table and stores it in a predetermined storage area such as the storage unit 220.
[0031] (Purpose of the table) The control unit 210 identifies the purpose of the table by performing at least one of the following processes. - Purpose determination processing based on table and column names The control unit 210 checks the name of the table and / or the names of the columns included in the table against predefined dictionary information. Here, the dictionary information refers to a correspondence table or rule set stored in the storage unit 220 or the like that predefines a relationship between specific words (keywords) and the business roles or purposes of the tables suggested by those words. Based on the collation result, the control unit 210 determines the main use of the table as, for example, "sales management" or "customer master" or the like. · Purpose determination processing based on query log analysis The control unit 210 acquires an access log including a plurality of SQL queries executed on a table from the storage unit 220 or the like. The control unit 210 analyzes the acquired access log and extracts the frequency or patterns of use of phrases such as JOIN, GROUP BY, and SELECT. Based on the extracted frequency or pattern of use, the control unit 210 identifies whether the table is a fact table that stores transaction data or a dimension table that stores master data, and determines the result of this identification as the purpose of the table.
[0032] (Time range of data contained in the table) The control unit 210 identifies, from among the multiple columns that make up the table, a column whose data type is date, time, or timestamp, as a time information column. When there are multiple time information columns, the control unit 210 preferentially selects a column that matches a predetermined naming rule, such as "updated date and time" or "created date and time." The control unit 210 extracts the minimum value indicating the earliest time and the maximum value indicating the latest time from all data values stored in the identified time information column. The control unit 210 determines the extracted minimum value as the start point of the time range and the maximum value as the end point of the time range.
[0033] (Data characteristics) The control unit 210 obtains the data type (for example, INTEGER, VARCHAR, FLOAT, BOOLEAN) from the database schema for each of the multiple columns included in the table. Here, the database schema is a design drawing that defines the structure of the database. Specifically, the database schema defines the logical structure and constraints of the data, such as what tables will be created in the database, what data (columns) will be stored in each table, in what format (data type), and how the tables are related to each other. The control unit 210 classifies each column into a numeric type or a categorical type based on the acquired data type. The control unit 210 counts the number of columns classified as numeric type and the number of columns classified as category type in the table. Based on the counting results, the control unit 210 calculates the distribution of numeric data and categorical data for the entire table (for example, numeric: 30%, categorical: 70%).
[0034] (Data update frequency) The control unit 210 identifies the column in the table that indicates the update date and time. The control unit 210 analyzes the distribution of data values in the column over a predetermined analysis period (for example, the past 90 days). As a result of the analysis, the control unit 210 detects periodicity, such as a concentration of updates in a particular time period (for example, 2 AM every day) or on a particular day of the week (for example, every Monday). Based on the detected periodicity, the control unit 210 determines the update frequency as a pattern such as "daily batch" or "weekly." Alternatively, the control unit 210 acquires the total number of rows or the checksum value of the table at predetermined time intervals (for example, every hour) as a snapshot and records it in the storage unit. The control unit 210 compares a plurality of recorded snapshots and analyzes the time series pattern of the timing at which the values change. The control unit 210 estimates the update frequency of the data based on the analyzed time series pattern.
[0035] In sequence SQ402, the control unit 210 generates metadata for each column of the multiple tables based on the data of each column in the multiple tables. For example, the control unit 210 individually analyzes the data content of each table and each column, and generates metadata for each column of the multiple tables. Examples of column metadata include "temperature value range -50 to 50, two decimal places," "customer identifier 5-digit value unique key," and "transaction date YYYY-MM-DD ISO format." The control unit 210 associates the generated metadata with the column of the corresponding table and stores it in a predetermined storage area such as the storage unit 220.
[0036] The processing of sequences SQ401 and SQ402 may be executed every time the data in the table is updated, or may be executed as batch processing at a predetermined date and time.
[0037] In sequence SQ403, the control unit 210 receives a user query using a large-scale language model from the client device 120. The query is an input signal from the user requesting the generation of a response using the large-scale language model. The input signal is text data including at least one word, sentence, symbol, number, or combination thereof. The text data is also referred to as a question, command, or sentence expressed in natural language.
[0038] In sequence SQ404, the control unit 210 generates vector data of the query based on the received query. The control unit 210 generates the vector data using, for example, an embedding model. The embedding model is an AI model specialized in understanding the meaning of words and converting them into vectors (arrays of numerical values). The embedded model may be configured to be stored in the storage unit 220, or may be stored in another server device and configured as a web service used by the server device 100 via an API (Application Programming Interface). In this specification, the embedded model will be described as being configured to be stored in the storage unit 220. More specifically, the control unit 210 inputs the query to the embedded model and receives the vector data of the query from the embedded model.
[0039] The control unit 210 generates vector data of the metadata based on the metadata of each of the multiple tables. The control unit 210 generates the vector data using, for example, an embedded model. More specifically, the control unit 210 inputs the metadata of each of the multiple tables into the embedded model and receives the vector data of each of the multiple tables from the embedded model.
[0040] The control unit 210 calculates the similarity between the vector data of the query (first vector data) and the vector data of each of the multiple tables (second vector data), and selects the table corresponding to the second vector data whose similarity is equal to or greater than a threshold value as the table to be searched. The control unit 210 may calculate the similarity between the vector data using cosine similarity, dot product (inner product), or the inverse of Euclidean distance.
[0041] Cosine similarity is a method that calculates the cosine value of the angle between two vectors. It is a method that can evaluate the directionality and relevance of content without being affected by the size of the vectors (for example, the number of characters in the metadata description). Similarity is calculated in a range from -1 to 1, with values closer to 1 indicating higher similarity. The dot product (inner product) is a method that adds the products of corresponding vector components, allowing for faster calculations. If each vector is normalized in advance (to a length of 1), the result of the dot product is equivalent to cosine similarity. Assuming normalization, this method has the advantage of lower computational costs than cosine similarity. If normalization is not performed, the magnitude of the vectors is also taken into account in the evaluation. The inverse of Euclidean distance is a method that calculates similarity based on the linear distance (Euclidean distance) between two vectors in n-dimensional space. The closer the distance, the more similar the vectors are evaluated to be. The value is calculated in a range from 0 to 1, with values closer to 1 indicating higher similarity (distance closer to 0). The difference is that cosine similarity evaluates the "direction" of a vector, while Euclidean distance evaluates the closeness of the absolute "position" in vector space.
[0042] The processing of sequence SQ404 is an example of a process in which the control unit 210 selects a table from multiple tables to search for data related to the query based on the similarity between the vector data of the user's query and the vector data of the metadata of each of the multiple tables. By performing this type of processing, it is possible to identify tables that are semantically related to the query, taking into account the intent and context of the query, rather than simply matching keywords. Furthermore, by narrowing down the related tables from among a large number of tables more accurately, the subsequent column selection process and search process can be made more efficient.
[0043] In sequence SQ405, control unit 210 generates vector data of metadata for each of the multiple columns of the table selected in sequence SQ404. Control unit 210 generates the vector data using, for example, an embedded model. More specifically, control unit 210 inputs the metadata for each of the multiple columns of the table selected in sequence SQ404 into the embedded model and receives the vector data of the metadata for each of the multiple columns of the table selected in sequence SQ404 from the embedded model.
[0044] The control unit 210 calculates the similarity between the vector data of the query (first vector data) and the vector data of the metadata of each of the multiple columns of the table selected in sequence SQ404 (third vector data), and selects columns corresponding to the third vector data whose similarity is equal to or greater than a threshold as candidate columns to be searched. The control unit 210 may calculate the similarity between the vector data using cosine similarity, dot product (inner product), or the inverse of Euclidean distance.
[0045] Furthermore, the control unit 210 may use a deep learning model (cross encoder) specialized in determining the relevance of two texts to determine the semantic relevance indicating the degree of semantic relevance between the query string and the metadata of each of the multiple columns of the table selected in sequence SQ404. For example, the control unit 210 may use a pair of the query string and the metadata of each of the multiple columns of the table selected in sequence SQ404, and the cross encoder may output the semantic relevance between the query string and the metadata of each of the multiple columns of the table selected in sequence SQ404.
[0046] The control unit 210 substitutes the similarity and semantic relevance into a predetermined formula, and selects columns for which the calculated value is equal to or greater than a threshold as columns to be searched for data related to the query. The predetermined formula is assumed to be stored in a predetermined storage area such as the storage unit 220. The same applies hereinafter. Alternatively, the control unit 210 substitutes the similarity and semantic relevance into a predetermined formula, and selects a predetermined number of columns in descending order of the calculated value as columns to be searched for data related to the query.
[0047] Here, the control unit 210 may calculate a complexity level indicating the degree of complexity of the user's query. The control unit 210, for example, uses natural language processing technology to count the number of unique concepts (personal names, place names, product names, etc.) (the number of entities) included in the query. The control unit 210 also uses natural language processing technology to extract relationships between entities. The control unit 210 calculates a complexity level indicating the degree of complexity of the query based on the number of entities and the relationships between the entities.
[0048] As another example, the control unit 210 may analyze the structure of the query character string and count the indexes. The indexes include the following: Number of search terms Number of logical operators such as AND, OR, NOT, etc. Number of clauses such as Where, Group By, Order By, etc. Nesting depth (how many levels of subqueries and parentheses) ·Whether functions are used A weighting is set for each index, and the control unit 210 calculates a total score based on the number of each index and the weighting of each index, and sets the total score as the complexity of the query.
[0049] The control unit 210 changes the number of columns to be searched for data related to a query based on the complexity of the query. For example, if the complexity is less than a threshold, the control unit 210 determines that the query is simple and reduces the number of columns to be searched below the threshold (for example, to a first number). For example, if the complexity is equal to or greater than the threshold, the control unit 210 determines that the query is complex and increases the number of columns to be searched above the threshold (for example, to a second number). The second number is greater than the first number.
[0050] These processes are an example of a process in which the control unit 210 determines the complexity level of the user's query and changes the number of columns to be searched for data related to the query based on the determined complexity level. By performing this process, the complexity of the user's query can be determined and the number of columns to be searched can be dynamically changed accordingly, optimizing the process. For simple queries, fewer columns are searched, which can speed up response speed and save computational resources. On the other hand, for complex queries, more columns are searched, which can achieve comprehensive searches and improve response accuracy. That is, a dynamic balance between computational resources and search quality can be adjusted according to the nature of the query.
[0051] The processing of sequence SQ405 is an example of a process in which the control unit 210 selects a column to be searched for data related to a query based on the similarity between the vector data of the user's query and the vector data of the metadata of the column in the table to be searched for data related to the selected query. By performing this process, you can select more focused and relevant data columns from within the table, thereby further improving search accuracy.
[0052] The processing of sequence SQ405 is also an example of a process for selecting columns to search for data related to a query based on the similarity between the vector data of the user's query and the vector data of the metadata of the columns in the table to be searched for data related to the selected query, and the semantic relevance indicating the degree of semantic relevance between the user's query and the metadata of the columns in the table to be searched for data related to the selected query. By performing such processing, the accuracy of column selection can be improved by combining a multifaceted index, namely, semantic relevance, in addition to the similarity of vector data. Even if the direct relevance to the query wording is low, it is possible to comprehensively and accurately select columns without overlooking semantically important columns that reflect knowledge of the business domain, etc.
[0053] In sequence SQ406, the control unit 210 executes a search for data (external data) related to the query on the data of the selected column.
[0054] In sequence SQ407, control unit 210 acquires the execution result of the search for data (external data) related to the query, that is, acquires external data of the RAG related to the query. The process of sequence SQ407 is an example of a process in which control unit 210 acquires the results of a search for data related to a query.
[0055] In sequence SQ408, the control unit 210 generates a prompt that is input to a large-scale language model, including the query and the external data of the RAG related to the obtained query. The processing of sequence SQ408 is an example of processing in which the control unit 210 generates a prompt based on the user's query and the execution result. In sequence SQ409, control unit 210 inputs the generated prompt into the large-scale language model. The processing of sequence SQ409 is an example of processing in which control unit 210 inputs a prompt into a large-scale language model.
[0056] Based on refined search results (RAG's external data related to the query) and the user's query, we generate prompts tailored to a large language model, which improves the quality of search expansion generation. In addition, by accurately providing the context necessary for answer generation to a large-scale language model, it is possible to suppress the generation of information that is not based on facts (hallucination). By generating prompts, rather than simply inputting search results, users can format them in a format that is easy for large-scale language models to interpret, thereby improving the logical consistency and accuracy of the final answer.
[0057] In sequence SQ410, the control unit 210 receives output data in response to a prompt from the large-scale language model. The processing of sequence SQ410 is an example of processing in which control unit 210 receives output data in response to a prompt from a large-scale language model. In sequence SQ411, control unit 210 transmits the received output data as a query result to client device 120 that made the request. The process of sequence SQ411 is an example of a process in which control unit 210 outputs received output data to the user.
[0058] It provides users with natural language answers in context, generated by large-scale language models, and answers users' questions in a direct and easy-to-understand format, rather than simply a list of data or search results.
[0059] According to the embodiment, it is possible to improve search accuracy by suppressing consumption of computational resources, shortening response time, and reducing noise information.
[0060] (Variation 1) In the first embodiment, the information processing system 1000 has been described as a system that provides so-called SaaS functions. However, some or all of the functions of the server device 100 may be executed by a client device.
[0061] <Additional Notes> The present embodiment includes the following disclosure.
[0062] (Appendix 1) An information processing system for search expansion generation of large-scale language models, comprising: having at least one or more control units, The control unit generating metadata for each of the plurality of tables based on data in each of the plurality of tables related to the search expansion generation; generating metadata for each of the columns of the plurality of tables based on the data of the columns of the plurality of tables; Accepting a user query using the large-scale language model; selecting a table from the plurality of tables to be searched for data related to the query based on the user's query and metadata of each of the plurality of tables; selecting columns to be searched for data related to the query based on the user's query and metadata of the columns in the selected tables to be searched for data related to the query; performing a search for data related to said query against the data in said selected columns; Information processing system. (Appendix 2) 10. The information processing system of claim 1, The control unit selecting a table to be searched for data related to the query from the plurality of tables based on the similarity between vector data of the user's query and vector data of metadata of each of the plurality of tables; Information processing system. (Appendix 3) 10. The information processing system according to claim 1, The control unit selecting a column to be searched for data related to the query based on a similarity between vector data of the user's query and vector data of metadata of the column of the table to be searched for data related to the selected query; Information processing system. (Appendix 4) 4. The information processing system according to claim 3, selecting a column to be searched for data related to the query based on a similarity between vector data of the user's query and vector data of metadata of the column of the table to be searched for data related to the selected query, and a semantic relevance indicating a degree of semantic relevance between the user's query and metadata of the column of the table to be searched for data related to the selected query; Information processing system. (Appendix 5) 10. The information processing system according to claim 1, further comprising: The control unit determining a complexity score indicative of the complexity of the user's query; Varying the number of columns to be searched for data related to the query based on the complexity. Information processing system. (Appendix 6) 6. An information processing system according to any one of claims 1 to 5, The control unit Obtaining results of performing a search for data related to the query; generating a prompt based on the user's query and the execution results; inputting the prompt into the large-scale language model; Information processing system. (Appendix 7) 7. The information processing system according to claim 6, receiving output data from the large-scale language model in response to the prompt; outputting the received output data to the user; Information processing system. (Appendix 8) An information processing method executed by an information processing system for search expansion generation of a large-scale language model, comprising: generating metadata for each of the plurality of tables based on data in each of the plurality of tables related to the search expansion generation; generating metadata for each of the columns of the plurality of tables based on the data of the columns of the plurality of tables; Accepting a user query using the large-scale language model; selecting a table from the plurality of tables to be searched for data related to the query based on the user's query and metadata of each of the plurality of tables; selecting columns to be searched for data related to the query based on the user's query and metadata of the columns in the selected tables to be searched for data related to the query; performing a search for data related to said query against the data in said selected columns; Information processing system. (Appendix 9) A program, Computer, A program for causing the information processing system according to any one of claims 1 to 7 to function as such.
[0063] Although the embodiments have been described above, they are presented as examples and are not intended to limit the scope of the invention. The novel embodiments may be embodied in various other forms, and various omissions, substitutions, and modifications may be made without departing from the spirit of the invention. The embodiments are intended to fall within the scope and spirit of the invention, and are also intended to fall within the scope of the inventions and their equivalents as defined in the accompanying claims. [Explanation of symbols]
[0064] 100: Server device 110: Client device 150: Network 210: Control unit 220: Storage section 230: Communications Department 1000: Information Processing Systems
Claims
1. An information processing system for search expansion generation of large-scale language models, comprising: having at least one or more control units, The control unit generating metadata for each of the plurality of tables based on data in each of the plurality of tables related to the search expansion generation; generating metadata for each of the columns of the plurality of tables based on the data of the columns of the plurality of tables; Accepting a user query using the large-scale language model; selecting a table from the plurality of tables to be searched for data related to the query based on the user's query and metadata of each of the plurality of tables; determining a complexity score indicative of the complexity of the user's query; selecting columns to be searched for data related to the query based on the user's query and metadata of the columns in the selected tables to be searched for data related to the query; Varying the number of columns to be searched for data related to the query based on the complexity; performing a search for data related to said query against the data in said selected columns; Information processing system.
2. 2. The information processing system according to claim 1, The control unit selecting a table to be searched for data related to the query from the plurality of tables based on the similarity between vector data of the user's query and vector data of metadata of each of the plurality of tables; Information processing system.
3. 2. The information processing system according to claim 1, The control unit selecting a column to be searched for data related to the query based on a similarity between vector data of the user's query and vector data of metadata of the column of the table to be searched for data related to the selected query; Information processing system.
4. 4. The information processing system according to claim 3, selecting a column to be searched for data related to the query based on a similarity between vector data of the user's query and vector data of metadata of the column of the table to be searched for data related to the selected query, and a semantic relevance indicating a degree of semantic relevance between the user's query and metadata of the column of the table to be searched for data related to the selected query; Information processing system.
5. 2. The information processing system according to claim 1, The control unit Obtaining results of performing a search for data related to the query; generating a prompt based on the user's query and the execution results; inputting the prompt into the large-scale language model; Information processing system.
6. 6. The information processing system according to claim 5, The control unit receiving output data from the large-scale language model in response to the prompt; outputting the received output data to the user; Information processing system.
7. An information processing method executed by an information processing system for search expansion generation of a large-scale language model, comprising: generating metadata for each of the plurality of tables based on data in each of the plurality of tables related to the search expansion generation; generating metadata for each of the columns of the plurality of tables based on the data of the columns of the plurality of tables; Accepting a user query using the large-scale language model; selecting a table from the plurality of tables to be searched for data related to the query based on the user's query and metadata of each of the plurality of tables; determining a complexity score indicative of the complexity of the user's query; selecting columns to be searched for data related to the query based on the user's query and metadata of the columns in the selected tables to be searched for data related to the query; Varying the number of columns to be searched for data related to the query based on the complexity; performing a search for data related to said query against the data in said selected columns; Information processing methods.
8. A program, Computer, A program for causing the information processing system according to any one of claims 1 to 6 to function.
Citation Information
Patent Citations
Natural language to SQL on custom enterprise data warehouse powered by generative artificial intelligence
US12321343B1
Method and system for retrieving information from table corpora using large language models
US20250061104A1
Method and system for context-aware telecommunications, cellular, and radio based generative pre-trained transformer
US20250139140A1
Information Processing System and Information Processing Program
JP7699729B1