Information processing system

The system allows non-experts to analyze periodically updated databases through natural language interaction, addressing the need for specialized knowledge in existing systems by using a processing and response unit with conversion definitions.

JP2026023583APending Publication Date: 2026-02-13TOSHIBA TEC KK
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024125568
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-08-01
Publication Date
2026-02-13

AI Technical Summary

Technical Problem

Existing systems require specialized knowledge to analyze information stored in periodically updated databases, limiting their usability by non-experts for tasks like demand forecasting and sales promotion.

Method used

An information processing system that includes a processing unit for extracting and updating structured database information, a reception unit for natural language input, and a response unit for generating answers based on unstructured data, using a conversion definition to associate instruction statements with sentences.

Benefits of technology

Enables non-experts to utilize periodically updated database information through natural language dialogue, facilitating tasks like demand forecasting and sales promotion without the need for specialized knowledge.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026023583000001_ABST
    Figure 2026023583000001_ABST
Patent Text Reader

Abstract

To provide an information processing system capable of using information stored in a periodically updated database by interaction in a natural language.SOLUTION: According to an aspect of the invention, there is provided an information processing system including a processing unit that periodically executes an instruction statement for extracting information accumulated in a structured database and performs a fill-up process of the statement in accordance with a conversion definition in which the instruction statement and a statement including a hole portion to be filled with information extracted by the execution of the instruction statement are associated with each other, and performs an update process of updating non-structured data with the statement on which the fill-up process has been performed; and a response unit that generates a natural language as an answer to the question based on the question and the non-structured data and returns the natural language to the terminal, from an terminal used by a user.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] FIELD An embodiment of the present invention relates to an information processing system. [Background technology]

[0002] Traditionally, analysis has been performed using information stored in DBs (databases) such as RDBs (relational databases), but to obtain appropriate analysis results, the person performing the analysis needs to have specialized knowledge and experience.

[0003] In recent years, technologies have emerged that use large-scale language models (LLMs) to enable appropriate analysis without specialized knowledge or experience.

[0004] However, in order to obtain the correct answer by directly using the information stored in a structured database such as an RDB through interaction with the LLM, it is necessary to have the LLM learn the data structure of the database (for example, the items contained in a data table).

[0005] For example, in the use of data in sales at retail stores and mass merchandisers, information on products handled by the store and information on transactions (sales) is often managed in a database such as an RDB and updated daily. If such daily updated information could be used by store clerks and customers who do not have specialized knowledge, it could be effective in demand forecasting and sales promotion. For this reason, there is a demand for a system that enables the use of database management information through dialogue in natural language. However, conventional technology (for example, Patent Document 1) does not solve this problem. Summary of the Invention [Problem to be solved by the invention]

[0006] The problem to be solved by the present invention is to provide an information processing system that enables information stored in a periodically updated database to be used through dialogue in natural language. [Means for solving the problem]

[0007] An information processing system according to an embodiment of the present invention includes a processing unit that periodically executes an instruction statement for extracting information stored in a structured database and a sentence containing a gap to be filled with information extracted by executing the instruction statement in accordance with a conversion definition that associates the instruction statement with a sentence, and performs an update process that updates unstructured data with the sentence after the gap filling process has been performed; a reception unit that receives a question input in natural language from a terminal device used by a user; and a response unit that generates a natural language answer to the question based on the question and the unstructured data and returns the natural language answer to the terminal device. [Brief explanation of the drawings]

[0008] [Figure 1] FIG. 1 is a diagram illustrating an example of a system configuration according to an embodiment. [Figure 2] FIG. 2 is a diagram illustrating an example of a hardware configuration of an information processing device. [Figure 3] FIG. 3 is a table showing examples of associations defined by a conversion definition file. [Figure 4] FIG. 4 is a block diagram illustrating an example of a hardware configuration of the input / output device. [Figure 5] FIG. 5 is a block diagram illustrating an example of functional units included in the system of the embodiment and information exchange between the functional units. [Figure 6] FIG. 6 is a flowchart showing an example of the flow of the conversion process by the processing unit. [Figure 7] FIG. 7 is a diagram showing an example of data extracted from the RDB. [Figure 8] FIG. 8 is a diagram showing an example of a text sentence after filling in the blanks. DETAILED DESCRIPTION OF THE INVENTION

[0009] (First embodiment) An embodiment will be described with reference to the drawings. FIG. 1 is a diagram showing an example of a system configuration in this embodiment. The system of this embodiment is, for example, a sales data management system used in a retail store. The system of this embodiment includes a cloud service 1, an information processing device 3, an input / output device 5, a sales data processing device 7, and networks 2 and 4.

[0010] The network 2 is, for example, the Internet, and the network 4 is, for example, a LAN provided within a store. The network 2 connects the information processing device 3 and the cloud service 1 so that they can communicate with each other. This allows the information processing device 3 to use various services provided as the cloud service 1. The network 4 also connects the information processing device 3 with the input / output device 5 and the sales data processing device 7 so that they can communicate with each other.

[0011] Various networks such as the Internet, a virtual private network (VPN), a local area network (LAN), a public communication network, and a mobile communication network can be used alone or in appropriate combination as the networks 2 and 4. Note that the number of devices included in the system is not limited to the example shown in the figure.

[0012] The information processing device 3 is, for example, a server device installed in the back yard of a store, and accumulates various information related to the store, such as information on products handled in the store and information on store sales. Note that the information processing device 3 may also be installed, for example, in a headquarters that manages the chain to which the store belongs, and accumulate information on multiple stores in the same chain. Also, in this embodiment, the type of store is a retail store, but this is not a limitation in implementation.

[0013] Furthermore, in this embodiment, the information processing device 3 is shown as a single device, but in practice, the information processing device 3 may be realized by the cooperation of multiple devices, and the information processing device 3 may also be a cloud server (or cloud system) realized by network-connected devices.

[0014] The input / output device 5 is a device for obtaining an output from the information processing device 3 and for providing an input for obtaining the output to the information processing device 3. The input / output device 5 is, for example, a mobile terminal device such as a PC (Personal Computer) installed in a store, a tablet terminal, or a smartphone.

[0015] The input / output device 5 may be the sales data processing device 7, or a printer or copier installed in the store. The input / output device 5 may be a stationary device installed in the store, such as inside the store (sales floor) or in the back yard, or may be a device that can be connected to the information processing device 3 from the user's home or wherever they are.

[0016] Users of the input / output device 5 are assumed to be store clerks, employees, or shoppers. A store clerk is a person (employee) who works in a store. An employee is a person who works in the head office.

[0017] The sales data processing device 7 is a device that manages point-of-sale information, including product registration processing and payment processing for registered products, and is, for example, a POS terminal or self-service POS terminal that has product registration and payment functions, a product registration terminal that has product registration function, or a payment terminal that has payment function. Here, "POS" is an abbreviation for "Point Of Sale," and means "point-of-sale information management."

[0018] The self-service POS terminal is a device that allows customers to perform registration and payment processing themselves. Other sales data processing devices 7 include registration devices and accounting devices that make up semi-self-service POS systems. The registration device is a device that performs registration processing through operation by a store clerk. The accounting device is a device that performs payment processing through operation by a customer.

[0019] 2 is a diagram illustrating an example of a hardware configuration of the information processing device 3. The information processing device 3 includes a CPU (Central Processing Unit) 31, a ROM (Read Only Memory) 32, a RAM (Random Access Memory) 33, a communication unit 34, a storage unit 39, an RDB (Relational Database) 40, a VectorDB (Vector Database) 45, and the like.

[0020] The communication unit 34 is a wired or wireless communication interface connectable to the networks 2 and 4. The communication unit 34 communicates with external devices such as the input / output device 5 and the cloud service 1 via the networks 2 and 4. The communication unit 34 exchanges information with a user who is logged in to the input / output device 5, for example, via an operation reception screen running on the input / output device 5.

[0021] The CPU 31 is an example of a processor, and controls the overall operation of the information processing device 3. The ROM 32 stores various programs. The RAM 33 is a workspace where programs and various data are expanded.

[0022] The CPU 31, ROM 32, and RAM 33 are connected via a bus or the like to form a computer-configured control unit 30. In the control unit 30, the CPU 31 operates in accordance with a program stored in the ROM 32 or the storage unit 39 and loaded into the RAM 33, thereby executing various processes.

[0023] The storage unit 39 is configured with a non-volatile storage medium such as a hard disk drive (HDD) or flash memory, and maintains its stored contents even when power is cut off. The storage unit 39 stores programs 391 that can be executed by the CPU 31 and various setting information. For example, the programs 391 include programs for realizing the functional configurations described below.

[0024] The storage unit 39 stores a product master 392 that compiles information (product information) about products handled by the store, a conversion definition file 395 that associates conversion rules with SQL statements, and the like.

[0025] The RDB 40 and the VectorDB 45 are stored in a non-volatile storage medium such as a HDD or flash memory provided in the information processing device 3.

[0026] The RDB 40 is an example of a structured database, and stores the transaction information acquired from the sales data processing device 7.

[0027] VectorDB45 is a knowledge base in the Retrieval-Augmented Generation (RAG) technology that adds specific information to LLMs. Here, LLM stands for Large Language Models. The VectorDB 45 in this embodiment is a database in which the information stored in the RDB 40 is stored as unstructured data that can be extracted by the LLM.

[0028] The VectorDB 45 is constructed and updated by registering text sentences. The text sentences registered in the VectorDB 45 are information extracted from the RDB 40 converted into expressions in natural language according to predefined conversion rules. Information is extracted from the RDB 40 using predefined SQL sentences. These SQL sentences and the conversion rules are associated with each other by a conversion definition file 395.

[0029] These are just examples, and other information may also be stored in the storage unit 39, the RDB 40, and the VectorDB 45. The various pieces of information stored in the storage unit 39, the RDB 40, and the VectorDB 45 may be acquired in advance from the input / output device 5 or other external devices via the networks 2 and 4, or may be acquired and updated automatically.

[0030] Hereinafter, the product master 392 and transaction information may be referred to as “POS data.” In other words, the “POS data” that appears below is, for example, the product master 392 and transaction information 79.

[0031] <Product Master> The product master 392 is a compilation of information about products handled by the store, and is stored in the storage unit 39 in the form of a data table, for example. The data table serving as the product master 392 includes the following items, for example. Product code ·Product name ·unit price Handling period Product image data Verification data

[0032] A product code is information (identification information) that allows a product to be uniquely identified, such as a JAN (Japanese Article Number) code. Other information (product name, unit price, matching data, etc.) is stored in association with the product code. The "product name" field stores the name of the product. The "unit price" field stores the price of one product.

[0033] The "Handling Period" field stores the start and end dates, or the day of the week or date. For products that are continuously handled without any special arrangement, this field can be left blank. Also, when it is decided that the product will no longer be handled, the handling end date can be set in the "Handling Period" field.

[0034] If a handling start date is specified for the handling period, the product indicated by the product code in that record will be available in the store from the date indicated by the handling start date. Similarly, if a handling end date is specified for the handling period, the product indicated by the product code in that record will be available in the store until the date indicated by the handling end date, and will not be available from the day after that. Furthermore, if days of the week or dates are specified for the handling period, the product indicated by the product code in that record will be available in the store only on the specified days of the week or dates.

[0035] By defining the "Handling Period" field, you can find information about products that have been handled in the past and products that will be handled in the future. Also, for example, by creating records with the same product code but different "Handling Periods" and unit prices, you can vary the unit price of the product depending on the period.

[0036] The product image data is data for displaying an image showing the appearance of the product, etc. This data is also used for publishing in flyers.

[0037] The "matching data" field stores reference feature quantities. Each device that processes sales data compares the feature quantities of the product image contained in an image (captured image) captured and output by a camera or the like with the matching data, and obtains a product code associated with the matching matching data, thereby recognizing the product. The above-mentioned match determination is made, for example, by calculating the similarity between the feature quantities of the captured image and the matching data, comparing the calculated similarity with a threshold, and determining that the matching data matches if the similarity is equal to or greater than the threshold. Note that the product code may also be obtained by reading (scanning or decoding) a code symbol such as a barcode or two-dimensional code attached to the product.

[0038] <Transaction information> The transaction information stored in the RDB 40 is information about products purchased by customers, and is received from transaction information 79 (see FIG. 5) stored in the sales data processing device 7 in the store and accumulated (registered). Note that the transaction information may include not only information about the store itself, but also transaction information received from sales data processing devices of other stores.

[0039] The transaction information is compiled in the form of a data table, for example. The transaction information includes the following items, for example: Store ID Device ID Transaction ID Date and Time Member ID ·Product information Transaction amount

[0040] The "Store ID" field stores the store ID of the store where the transaction in the record took place. The "Terminal ID" field stores the terminal ID of the sales data processing device that performed the transaction in the record. The terminal ID is identification information for the sales data processing device, and is assigned so as not to be duplicated at least within the same store.

[0041] The transaction ID is identification information for the transaction, and is automatically assigned (numbered) when, for example, the first product registration process for the transaction is performed. The "Date and Time" field stores the date and time when the transaction for the record was performed.

[0042] The "Member ID" field stores the member ID of the customer who performed the transaction in the record if the customer provided one. The member ID is identification information for the customer who is a member, and is, for example, a unique number assigned to each member.

[0043] The item "transaction amount" stores the total price (total amount) of all the products purchased in the transaction of the record.

[0044] Here, for a combination of a store ID, a terminal ID, and a transaction ID, there is one transaction amount, but the number of product information is not limited to one, and multiple product information may be associated. Product information includes, for example, the following items: <Product information> Product code ·Product name ·unit price ·quantity ·price

[0045] The product code, product name, and unit price are as described above and will be omitted here. The "quantity" field stores the quantity (number, weight, volume, etc.) of the product indicated by the product code purchased in the transaction for that record. The "price" field stores the value obtained by multiplying the unit price (or selling price) by the quantity.

[0046] <conversion definition> The conversion definition file 395 defines the association between an SQL statement and a conversion rule for the information obtained by that SQL statement, and records one or more combinations of SQL statements and conversion rules, such as those illustrated in Figure 3, which will be explained next.

[0047] 3 is a table showing an example of the associations defined by the conversion definition file 395. The conversion definition file 395 associates SQL statements with conversion rules on a one-to-one basis. SQL is a language for operating databases. The SQL statement here is, for example, a directive beginning with "select" that instructs the retrieval of information, and specifies, for example, a data table stored in the RDB 40 and the items contained in that data table.

[0048] A conversion rule is a sentence (text sentence) written in natural language, and contains gaps (blanks) that are filled with information obtained by executing an SQL statement. A gap is indicated, for example, by enclosing an item (an item specified in the SQL statement) that should be filled in between "{" and "}".

[0049] The SQL statement is, for example, as shown in Figure 3, (1) or (2) below. (1)select top 5 ROW_NUMBER() OVER() as No, product name, unit price, sum(quantity) as total quantity, (unit price * sum(quantity)) as price from product master GROUP BY product code ORDER BY price DESC; (2) select top 5 ROW_NUMBER() OVER() as No, product name, unit price, sum(quantity) as total quantity, (unit price * sum(quantity)) as price from product information master GROUP BY product code

[0050] The above (1) and (2) are associated with natural language conversion rules such as the following (3) and (4). (3) The top-ranked product in sales is {Product Name}. The sales amount is {Price}. The unit price is {Unit Price} yen, and the sales quantity is {Total Quantity}. (4) The sales quantity ranked {No.} is {Product Name}. The sales quantity is {Total Quantity}. The unit price is {Unit Price} yen.

[0051] By performing the above-described correspondence, natural language is obtained in which each item (product name, unit price, total quantity, price, etc.) obtained by executing the SQL statement is fitted based on the conversion rules.

[0052] For convenience, FIG. 3 shows the association between the SQL statements and the conversion rules in a table format, but the conversion definition file 395 does not need to be information in a table format, and may be, for example, a text format file.

[0053] <vectordb> The VectorDB 45 is constructed and updated based on input text sentences. The text sentences are information extracted from the RDB 40 by SQL sentences predefined in the conversion definition file 395, and converted in accordance with conversion rules associated with the SQL sentences by the conversion definition file 395. Therefore, the VectorDB 45 is based on at least a portion of the information stored in the RDB 40, reflects the information in the RDB 40, and is a re-expression of the information in the RDB 40.

[0054] The various data stored in the storage unit 39, the RDB 40, and the VectorDB 45 of the information processing device 3 shown in FIG. 2 are merely examples, and are not limited to these.

[0055] 4 is a block diagram showing an example of the hardware configuration of the input / output device 5. The input / output device 5 includes a CPU 51, a ROM 52, a RAM 53, a communication unit 54, a display unit 55, an operation unit 56, a storage unit 59, etc. The CPU 51, the ROM 52, the RAM 53, the control unit 50, and the storage unit 59 correspond to the above-mentioned CPU 31, the ROM 32, the RAM 33, the control unit 30, and the storage unit 39, and therefore detailed description thereof will be omitted.

[0056] The communication unit 54 is a communication interface that connects the control unit 50 and an external device (for example, the information processing device 3) via the network 4 so that they can communicate with each other.

[0057] The display unit 55 and the operation unit 56 realize a GUI (Graphical User Interface). The GUI is an example of an operation reception screen that receives user operations. The display unit 55 has a display device such as an LCD, and displays various information under the control of the CPU 51. The operation unit 56 has input devices such as a touch panel overlaid on the surface of the display unit 55, a keyboard, and a pointing device, and outputs operation details input via the input devices to the CPU 51.

[0058] The storage unit 59 stores a program 591 that can be executed by the CPU 51. When the CPU 51 executes the program 591, the control unit 50 realizes various functional units.

[0059] For example, the control unit 50 executes the program 591 to cause a web browser to function. The input / output device 5 of this embodiment provides the user with a GUI for interacting with the interface unit 301 (FIG. 5, described later) of the information processing device 3 via a web browser displayed on the display unit 55. In other words, the interface unit 301 of the information processing device 3 provides a web page that can be displayed by the web browser of the input / output device 5, and includes the GUI on the web page. In practice, the input / output device 5 may be configured to interact with the interface unit 301 via a GUI provided by application software dedicated to this system.

[0060] <Functional section> FIG. 5 is a block diagram showing an example of functional units included in the system of this embodiment and the exchange of information between the functional units. In the information processing device 3, the control unit 30 operates in accordance with a program 391 stored in the storage unit 39, thereby realizing various functional units such as an interface unit 301 and a processing unit 305. More specifically, the program 391 executed by the information processing device 3 has a modular configuration including the above-mentioned units (the interface unit 301 and the processing unit 305). The CPU (processor) 31 reads the program 391 from a storage medium such as the storage unit 39 and loads the above-mentioned units into a main storage device such as the RAM 33. As a result, various functional units such as the interface unit 301 and the processing unit 305 are generated in the main storage device. Note that these functional units are merely examples, and the information processing device 3 may further include other functions.

[0061] The program of this embodiment may be stored in the storage unit 39 in advance, or may be stored on another computer connected to a network such as the Internet and provided by being downloaded to the information processing device 3 via the network. The program executed by the information processing device 3 may be provided or distributed via a network such as the Internet. The program executed by the information processing device 3 may be provided as a file recorded on a computer-readable recording medium in an installable or executable format. Some or all of the functional configuration of the information processing device 3 may be a hardware configuration realized by a dedicated circuit or the like mounted on the information processing device 3.

[0062] First, in this embodiment, the cloud service 1 provides the LLM 11. However, this is not a limitation in practice, and the information processing device 3 may also be equipped with an LLM. An LLM (Large Scale Language Model) is a type of generative AI (Artificial Intelligence) specialized for natural language processing. The LLM 11 may be an existing general-purpose LLM or a dedicated LLM that has been independently developed.

[0063] The input / output device 5 accepts a question from a user and transmits the question to the information processing device 3. The question may be accepted by inputting characters or voice. The question is transmitted to the information processing device 3 as, for example, character information (text data).

[0064] The interface unit 301 transmits a question received from the input / output device 5 to the LLM 11 and receives a response to the question from the LLM 11.

[0065] The LLM 11 acquires information from the VectorDB 45 based on a user request (question or instruction) that the interface unit 301 receives in a text format in a natural language called a prompt, and outputs the information to the interface unit 301 .

[0066] More specifically, when the LLM 11 receives a prompt from the interface unit 301, it searches the VectorDB 45 based on the prompt to obtain search results, uses the prompt and the search results to generate an answer to the prompt in natural language, and outputs the generated answer to the interface unit 301.

[0067] Here, the interface unit 301 is an example of a receiving unit and a responding unit. The interface unit 301 as a receiving unit receives, for example, an input of a request for executing an analysis of data related to transaction information in natural language from the input / output device 5. The received natural language is also called a prompt.

[0068] Based on the prompt received by the interface unit 301, the LLM 11 acquires information from the VectorDB 45, generates a natural language response (answer) to the request (question), and outputs it. The interface unit 301 as a response unit then returns the output from the LLM 11 to the input / output device 5 via the communication units 34 and 54 as a response to the request.

[0069] Returning to Fig. 5, the interface unit 301 provides a GUI to the input / output device 5. The GUI is provided in the form of a web page, for example. The interface unit 301 interacts with a user of the input / output device 5 via the GUI displayed by the input / output device 5. The interface unit 301 outputs a natural language input from the input / output device 5 to the LLM 11, and outputs a natural language input from the LLM 11 to the input / output device.

[0070] The processing unit 305 periodically executes a directive for extracting information stored in a structured database in accordance with a conversion definition that associates the directive with a sentence containing a gap (blank) to be filled with the information extracted by executing the directive, performs a filling process to fill the gap in the sentence with the information obtained by executing the directive, and performs an update process to update the unstructured data with the sentence with the gap filled.

[0071] The processing unit 305 converts the information stored in the RDB 40 into VectorDB 45 in accordance with the definitions of the conversion definition file 395. This conversion process is executed periodically during daily operations, for example, by registering a schedule in a scheduler. The conversion process is executed, for example, once a week or once a month. This causes the VectorDB to be updated periodically.

[0072] For example, suppose you want to retrieve the following information (11) to (13) from RDB40 and add it to VectorDB45 once a week. (11) Information on the top 10 products ranked by sales amount from "one week before the current date" to "the current date" (12) Information on the top 10 products in terms of sales from "one week before the current date" to "the current date" (13) Information on the top 10 products with the highest increase in sales from "one week before the current date" to "the current date"

[0073] In the above example, the following three conversion rules (21) to (23) are prepared. (21): A combination of the SQL statement to obtain the information in (11) and the rules for converting the SQL execution results into natural language. (22): A combination of the SQL statement to obtain the information in (12) and the rules for converting the SQL execution results into natural language. (23): A combination of the SQL statement to obtain the information in (13) and the rules for converting the SQL execution results into natural language.

[0074] The processing unit 305 executes the conversion rules (21) to (23) once a week to create three natural language sentences to be added to the VectorDB 45. After creation, the processing unit 305 combines the three natural language sentences and adds them to the existing VectorDB 45.

[0075] <Processing flow> 6 is a flowchart showing an example of the flow of conversion processing by the processing unit 305. The processing unit 305 first determines whether it is time to execute the processing and waits for the timing (No in step S1). When it is time to execute the processing (Yes in step S1), the processing unit 305 acquires the conversion definition file 395, that is, reads it from the storage unit 39 (step S2).

[0076] Next, the processing unit 305 executes the SQL statement defined by the conversion definition file 395 to extract (obtain) data from the RDB 40 (step S3). Here, Fig. 7 is a diagram showing an example of data extracted from the RDB 40. In the example of Fig. 7, as a result of executing the SQL statement, data for the items "product name," "unit price," "sales units," and "sales amount" are obtained.

[0077] Next, the processing unit 305 converts the data acquired from the RDB 40 in accordance with the conversion rules defined in the conversion definition file 395. Specifically, the processing unit 305 fills in the text sentence with information acquired by executing the SQL sentence (step S4). Here, Fig. 8 is a diagram showing an example of the text sentence after filling in the blanks.

[0078] The example shown in FIG. 8 is the result of converting the data shown in FIG. 7 into natural language in accordance with the conversion rules defined in the conversion definition file 395. The data shown in FIG. 7 is fitted into the part of the text sentence that is the conversion rule, where the item name is enclosed in "{" and "}". That is, if the text sentence associated with the SQL sentence executed in step S3 is "The sales amount {No.} place is {product name}. The sales amount is {sales amount} yen. The unit price is {unit price} yen, and the number of sales points is {sales points} points," "{product name}" is replaced with "AAAA." Similarly, "{sales amount}" is replaced with "1500," "{unit price}" with "500," and "{sales points}" with "3." The ranking is fitted into "{No.}."

[0079] The text sentence converted by this process might be, for example, "The top-selling item is AAAA. The sales amount is 1,500 yen. The unit price is 500 yen, and the number of sales points is 3." The same number of text sentences as the number of lines in the execution result of the SQL statement shown in FIG. 7 are generated. In the example of FIG. 7, there are three lines. By executing the above process for all SQL statements and conversion rules contained in the conversion definition file 395, the text sentence shown in FIG. 8, for example, can be obtained.

[0080] 3, 7, and 8, the data obtained from the RDB 40 is not divided by period, but in practice, it goes without saying that it is possible to set an appropriate period, for example, by specifying the dates of the most recent week. In that case, it is preferable that the specified period is also described in the text statement associated with the SQL statement.

[0081] Returning to the flowchart (FIG. 6), the processing unit 305 then compiles and documents the filled-in text sentences to create a text file (step S5). Next, the processing unit 305 uses the created text file to add (update) information to VectorDB (step S6). The processing unit 305 then returns the process to step S1.

[0082] 8 is used to update VectorDB 45, it is possible to obtain VectorDB 45 that reflects the information in RDB 40. By periodically executing such processing, it is possible to maintain consistency between the information in RDB 40 and VectorDB 45.

[0083] <Providing transformation definition> The following is a supplementary explanation regarding the provision (creation and maintenance) of the conversion definition file 395. For example, when the system is first introduced, the developer prepares a base conversion definition file 395. Alternatively, the developer prepares templates according to the business type or operation, such as SQL statements and conversion rules for use in retail analysis, and SQL statements and conversion rules for use in mass-market analysis.

[0084] At the time of introduction, select a template suitable for the business type and operations of the destination, and customize the base or template by partially modifying, deleting, or adding according to the usage purposes and requirements of the destination. In this way, a conversion definition file 395 is created in which the data to be acquired and the manner of answering are adjusted according to the content of the analysis desired by the destination.

[0085] After introduction, the conversion definition file 395 is preferably maintained as appropriate according to the wishes of the destination. For example, when new information to be analyzed is generated during the operation of the system, replace or newly add existing conversion rules.

[0086] Note that in this embodiment, there are two types of SQL statements and conversion rules (Figure 3), and one type of execution result (Figure 7) and text statement (Figure 8). However, in implementation, it is considered that a larger number of types of SQL statements will be prepared and executed.

[0087] When preparing the initial conversion definition file 395 as a base, although it is necessary to create a large number of SQL statements and conversion rules, since they are reusable in similar fields, high efficiency can be obtained in the long term.

[0088] <Regarding the answer by analysis based on VectorDB> When the RDB 40 stores, for example, the accumulation of transaction information and reflects it in the VectorDB 45, for example, whether to store (rewrite) only the information for the most recent one week in the VectorDB 45 or to accumulate the information by adding it at the time of update is selected according to the policy of the store where the system is introduced.

[0089] If the VectorDB 45 is configured to rewrite every time it is updated regularly, the capacity can be suppressed, but the amount of information is limited. Also, if the VectorDB 45 accumulates information based on past SQL execution results, abundant information can be used to answer user questions, but the capacity will increase.

[0090] For example, the LLM 11 may not be able to return an appropriate answer if the answer to a user's question requires the use of data that does not exist in VectorDB 45. In such a case, the LLM 11 may return an answer to the effect of "I don't know," or may return an estimate using similar information or a similar answer.

[0091] In such an embodiment, suppose that a user visiting a clothing store uses an input / output device 5 installed in the sales floor to ask a question such as, "What are the top three most popular items?" In this case, the input / output device 5 transmits the user's question to the information processing device 3. Upon receiving the user's question, the information processing device 3 obtains an answer to the question via the LLM 11 and transmits the obtained answer to the input / output device 5. The input / output device 5 presents the answer to the user, for example, by means of a GUI displayed on the display unit 55.

[0092] When the LLM 11 receives a question, it retrieves information from the VectorDB 45 based on the content of the question and generates a natural language answer. More specifically, if the user's question is the above-mentioned "What are the top three most popular products?", the LLM 11 retrieves, for example, information on the three products currently available in the store that have the highest sales figures in the most recent specified period. The specified period may be, for example, one week or one month. The LLM 11 then generates a natural language answer from the retrieved information.

[0093] In this way, according to this embodiment, answers to questions about analysis using information stored in a database can be obtained through natural language dialogue via LLM. In other words, according to this embodiment, information stored in a periodically updated database can be used through natural language dialogue.

[0094] Furthermore, if information were to be obtained directly from the RDB 40 without using VectorDB 45, the LLM would need to learn the data structure of the RDB 40, but this is not necessary in this embodiment. According to this embodiment, by setting appropriate SQL statements and conversion rules and periodically updating them during operation, it is possible to make available the information in the RDB 40 that is updated daily. Even if there are changes to the data table configuration of the RDB 40, the changes can be easily reflected by adjusting the conversion definition file 395.

[0095] In the above embodiment, the information managed by the RDB 40 is, for example, sales data used in a retail store, but the present invention is not limited to this. In other words, the configuration of the above embodiment may be applied to systems used in other business types and industries. For example, when applied to an information processing system for logistics and delivery, the RDB 40 manages logistics data that compiles information related to the delivery of goods, and users can ask questions and receive answers about the date and time of receipt, shipment, and arrival of goods, the size and type of goods, delivery means, personnel, etc.

[0096] (Variation) A modification of the above embodiment will be described. In the description of the modification, differences from the above embodiment will be described, and a description of the same parts as the above embodiment will be omitted.

[0097] The conversion definition file 395 may include a specification of the time when the SQL statement should be executed, such as "execute only in July and August," "execute only on January 1st to 3rd," or "execute only for data on days when the temperature was 30°C or higher." This helps reduce periodic processing by preventing the execution of processes that attempt to obtain data that is not needed at that time or data that does not exist.

[0098] The conversion definition file 395 may also reflect information about events held near the store. For example, it may include a specification for executing an SQL statement, such as "execute only on data for the day when event A was held." Event information can be obtained externally, for example, via network 2 (the Internet).

[0099] Furthermore, the conversion definition file 395 may be divided into multiple files for use at different times. For example, the conversion definition file 395 may be divided into one for year-round use and one for a specific season. This reduces the processing load by selecting and using an appropriate conversion definition file 395 rather than reading out a conversion definition file 395 in which many SQL statements are listed together with their execution conditions.

[0100] The programs executed by each device in the above-described embodiments are provided in advance in a ROM, etc. The programs executed by each device in the above-described embodiments may be provided by being recorded in an installable or executable file format on a computer-readable recording medium such as a CD-ROM, a flexible disk (FD), a CD-R, or a digital versatile disk (DVD).

[0101] Furthermore, the programs executed by each device in the above-described embodiments may be stored on a computer connected to a network such as the Internet and provided by being downloaded via the network. Also, the programs executed by each device in the above-described embodiments may be provided or distributed via a network such as the Internet.

[0102] Although several embodiments of the present invention have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. These novel embodiments can be embodied in various other forms, and various omissions, substitutions, modifications, and combinations can be made without departing from the spirit of the invention. These embodiments and their modifications are included within the scope and spirit of the invention, and are also included in the scope of the invention and its equivalents as defined in the claims. [Explanation of symbols]

[0103] 1...Cloud Services, 11...LLM, 2,4…Network, 3...information processing device, 30...control unit, 301...interface unit, 305...processing unit, 31...CPU, 32...ROM, 33...RAM, 34...Communication section, 39...storage unit, 391...program, 392...product master, 395...conversion definition file, 40...RDB, 45...VectorDB, 5...input / output device, 50...control unit, 51...CPU, 52...ROM, 53...RAM, 54...Communication section, 55...display section, 56...operation section, 59...Memory unit, 591...Program, 7...Sales data processing equipment, 79...Transaction information. [Prior art documents] [Patent documents]

[0104] [Patent Document 1] Patent No. 7396582< / vectordb>

Claims

1. a processing unit that periodically executes a directive for extracting information stored in a structured database and a sentence containing a blank to be filled with information extracted by executing the directive, in accordance with a conversion definition that associates the directive and the sentence, and performs an update process that updates unstructured data with the sentence after the blank filling process has been performed; a reception unit that receives a question input in natural language from a terminal device used by a user; a response unit that generates a natural language response to the question based on the question and the unstructured data and returns the natural language response to the question to the terminal device; An information processing system comprising:

2. the conversion definition includes information specifying when to execute the directives that the conversion definition defines associating; The processing unit executes the directive statement, fills in the statement, and updates the statement only at the execution time included in the conversion definition. The information processing system according to claim 1 .

3. The conversion definition is recorded in multiple files with different usage times. The information processing system according to claim 1 .

4. The information managed by the structured database is either sales data that compiles information on products handled by retail stores or mass retailers and transaction information, or logistics data that compiles information on the delivery of goods. The information processing system according to claim 1 .

5. The structured database is a relational database, and the unstructured data is a vector database. The information processing system according to claim 1 .

Citation Information

Patent Citations

  • Examination work document creation support device, examination work document creation support method, and examination work document creation support program

    JP7396582B1