Information extraction support device, information extraction support method, and program
The information extraction support device with an AI chatbot generates queries from natural language inputs, addressing the challenges of non-technical users in extracting big data, enhancing efficiency and reducing costs.
Patent Information
- Application Number
- JP2024104846
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-06-28
- Publication Date
- 2026-01-16
- Estimated Expiration
- 2044-06-28
AI Technical Summary
Non-technical users face difficulties in extracting desired analytical information from big data using SQL statements, as they require daily updates and result in higher costs due to unnecessary queries.
An information extraction support device that uses an AI chatbot to generate queries from natural language inputs, allowing users to specify extraction targets and types of information, facilitating efficient data retrieval from external databases.
Enables users to easily and efficiently extract desired information, reducing costs and improving the accuracy of data retrieval processes.
Smart Images

Figure 2026006083000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to an information extraction support device, an information extraction support method, and a program. [Background technology]
[0002] In recent years, research has progressed into techniques for utilizing so-called big data, a variety of information accumulated through corporate activities. Big data is not only generated and accumulated in-house within companies, but services are also being provided that enable desired analytical information to be obtained online from big data (Non-Patent Document 1). For example, operators of electronic payment services accumulate payment information from affiliated stores that use the electronic payment service as big data, and sales representatives for the affiliated stores extract desired analytical information from the big data to promote sales at the affiliated stores. [Prior art documents] [Non-patent literature]
[0003] [Non-Patent Document 1] “BigQuery Overview”, [online], Google Cloud, [Retrieved May 20, 2024], Internet<URL:https: / / cloud.google.com / bigquery / docs / introduction?hl=ja> Summary of the Invention [Problem to be solved by the invention]
[0004] In this way, when trying to extract desired analytical information from big data, a structured language called SQL (Structured Query Language) is often used. In order to extract the desired analytical information from big data, the sales representative mentioned above individually edits SQL statements or attempts to extract analytical information using SQL statement templates. However, it is generally difficult for non-technical sales representatives to become proficient in editing SQL statements. Furthermore, because the type of analytical information required changes daily, it is not realistic to prepare SQL statement templates that anticipate every possible case. Furthermore, while support tools for extracting analytical information from big data are being developed, there is a tendency for more SQL statements than necessary to be issued, which results in the problem of higher costs for using big data services.
[0005] The present invention has been made in consideration of the above circumstances, and one of its objects is to provide an information extraction support device, an information extraction support method, and a program that can assist users in easily and efficiently extracting the information they desire. [Means for solving the problem]
[0006] One aspect of the present invention is an information extraction support device that extracts desired information desired by a user from an external database based on a message input on the user's terminal device and provides the information to the user, wherein the message includes at least first information that enables identification of an extraction target and second information regarding the type of information to be extracted related to the extraction target. The information extraction support device has: a reception unit that receives input of the message via the terminal device; an acquisition unit that acquires identification information of the extraction target based on the first information included in the input message; a query generation unit that generates a query to extract the desired information from the external database by inputting an instruction statement including the identification information and the second information to an AI chatbot that has been trained to respond when an instruction statement in natural language is input; and an output unit that uses the query to acquire the desired information from the external database and output information to the terminal device in response to the message for displaying the acquired desired information on the terminal device. [Effects of the Invention]
[0007] According to one aspect of the present invention, it is possible to provide an information extraction support device, an information extraction support method, and a program that can support a user in easily and efficiently extracting desired information. [Brief explanation of the drawings]
[0008] [Figure 1] FIG. 1 is a diagram mainly showing an example of a configuration for realizing an electronic payment service. [Figure 2] This is a sequence diagram (part 1) illustrating the general flow of electronic payment. [Figure 3] This is a sequence diagram (part 2) illustrating the general flow of electronic payment. [Figure 4] FIG. 2 is a configuration diagram of a payment server 100 according to the first embodiment. [Figure 5] FIG. 10 is a diagram showing an example of the contents of user information 172. [Figure 6] FIG. 10 is a diagram showing an example of the contents of affiliated store / store information 176. [Figure 7] FIG. 4 is a diagram for explaining the operation of the information extraction unit 150 in the first embodiment. [Figure 8] FIG. 10 is a diagram showing an example of definition information for calling a first external function and a second external function. [Figure 9] 10 is a diagram showing an example of a display of a sales support interface in the sales support terminal device 400. FIG. [Figure 10] 10 is a diagram showing an example of information output to a data storage area ST in response to a message input to a sales support terminal device 400. FIG. [Figure 11] FIG. 10 is a diagram showing an example of an instruction statement input by the request parameter acquisition unit 152 to the AI chatbot server 200. [Figure 12] FIG. 10 is a diagram illustrating an example of definition information of a table included in a directive. DETAILED DESCRIPTION OF THE INVENTION
[0009] Hereinafter, with reference to the drawings, embodiments of an information extraction support device, an information extraction support method, and a program according to the present invention will be described. The information extraction support device is realized by one or more processors. The information extraction support device cooperates with a service providing device that provides services such as electronic payment services via a network and a user's terminal device. In response to an input of an information request message written in natural language, the information extraction support device extracts and outputs the requested information from a database. The natural language message is input by the operator of the electronic payment service. The information extraction support device may be an internal function of the service providing device or a separate device. Hereinafter, the service providing device will be referred to as a "payment server," assuming that it provides electronic payment services. An application program runs on the user's terminal device. The application program and the payment server work together to provide the electronic payment service. In the following description, the application program will be referred to as a "payment app." An electronic payment service is a service that supports payments for the purchase of goods and services at a store. A store may be, for example, a physical store (real store) existing in real space, but may also include a virtual store for e-commerce. A virtual store may also be provided by an entity other than the operator of the electronic payment service. In this case, when paying for purchases at the virtual store, the user is controlled to transition to an interface screen for the electronic payment service. In an electronic payment service, the store is treated as belonging to, for example, an affiliated store (brand), and processing such as payment when a purchase is made at the store is mainly carried out between the user and the affiliated store. Alternatively, processing such as payment may be carried out between the user and the store.
[0010] <Embodiment> [Electronic payment service] FIG. 1 is a diagram mainly showing an example of a configuration for realizing an electronic payment service. The electronic payment service is realized mainly around a payment server 100. The payment server 100 communicates with, for example, one or more user terminal devices 10, one or more first store terminal devices 50, and one or more second store terminal devices 70 via a network NW. The network NW includes, for example, the Internet, a LAN (Local Area Network), a wireless base station, a provider device, etc. The network NW may also be connected to an AI chatbot server 200, an information source 300, a sales support terminal device 400, and a big data management server 500. These will be described later.
[0011] The user terminal device 10 is, for example, a portable terminal device such as a smartphone or tablet terminal. The user terminal device 10 is a computer device having at least an optical reading function, a communication function, a display function, an input acceptance function, and a program execution function. In the following description, components for realizing these functions are referred to as a camera, a communication device, a touch panel, a CPU (Central Processing Unit), etc. In the user terminal device 10, a processor such as a CPU executes a payment app 20, which operates in cooperation with the payment server 100 to provide electronic payment services to users. The payment app 20 is installed on the user terminal device 10 from, for example, an application store, and controls the camera, communication device, touch panel, etc.
[0012] The first store terminal device 50 is installed, for example, in a store. The first store terminal device 50 is a computer device having at least a product price acquisition function, an optical reading function, a program execution function, and a communication function. The first store terminal device 50 includes a so-called POS (Point of Sale) device, and the product price acquisition function and the optical reading function may be realized by the POS device. The store code image 60 is placed in the store and is a code image such as a QR code (registered trademark) printed on a paper or plastic medium. The store code image 60 may be displayed on a display placed in the store (which may be the display of a terminal device such as a smartphone).
[0013] The second store terminal device 70 is used by the operator of the affiliated store. The second store terminal device 70 is a smartphone, tablet terminal, personal computer, etc. An interface for affiliated stores 72 runs on the second store terminal device 70. The interface for affiliated stores 72 may be an app for affiliated stores or a browser. The interface for affiliated stores 72 accepts coupon settings and the like from the operator of the affiliated store and transmits them to the payment server 100. The second store terminal device 70, which is a smartphone, has the function of displaying a code image corresponding to a store code image and reading the code image displayed by the user terminal device 10 by executing the app for affiliated stores.
[0014] The payment server 100 realizes electronic payment based on payment information received from the user terminal device 10 or the first store terminal device 50. The first store terminal device 50 may include a POS device and an affiliated store server, in which case payment information is sent from the POS device via the affiliated store server to the payment server 100. In the following explanation, this distinction will not be made and it is assumed that payment information is sent from the first store terminal device 50.
[0015] 2 and 3 are sequence diagrams illustrating the general flow of electronic payment. There may be two patterns for electronic payment: Pattern 1 and Pattern 2.
[0016] In the case of pattern 1 (hereinafter referred to as user scan) shown in FIG. 2, the user terminal device 10, with the payment application 20 running, decodes the store code image 60 using its optical reading function (S1). The store code image 60 includes store URL (Uniform Resource Locator) information. This store URL is the domain of the electronic payment service to which store identification information has been added, and is associated with an affiliated store ID, store ID, etc. in the payment server 100 (described below). The payment application 20 sends first payment information including the store URL and account ID to the payment server 100 (S2). The payment server 100 searches for store information (described below) using the affiliated store ID and store ID corresponding to the store URL, acquires the affiliated store name and store name information (S3), and sends this to the payment application 20 (S4). The user enters the payment amount into the user terminal device 10 on the screen displaying the affiliated store name and store name (S5). Then, the user terminal device 10 generates second payment information including at least the payment amount and sends it to the payment server 100 (S6). The payment server 100 makes the electronic payment based on the received second payment information (S7). The payment server 100 then sends a payment completion notice (information for displaying a payment completion screen) to the payment app 20 (S8), and the payment app 20 displays the payment completion screen (S9). Note that when the store code image 60 is displayed on a display installed in the store, the store code image 60 may include information on the payment amount in addition to the store URL. In this case, the step of the user inputting the payment amount is omitted, and the payment amount information is included in the first payment information and sent to the payment server 100. Information on the affiliated store name and store name may be included and displayed on the payment completion screen.
[0017] In the case of pattern 2 (hereinafter referred to as store scan) shown in FIG. 3, the payment app 20 sends a request to issue a one-time code to the payment server 100 when the payment app 20 is launched, when a payment operation is performed in the payment app 20, at the automatic update timing (e.g., every minute), and at other timings (S11). The payment server 100 generates a one-time code (S12) and sends it to the payment app 20 (S13). The payment app 20 displays a code image, such as a QR code or barcode, generated based on the one-time code (S14). The user holds (presents) the display surface of the user terminal device 10 over the first in-store terminal device 50, and the first in-store terminal device 50 decodes the code image using its optical reading function and obtains the one-time code, etc. (S15). The first in-store terminal device 50 then generates payment information including the one-time code, payment amount, affiliated store ID, store ID, etc., and sends it to the payment server 100 (S16). The payment amount information is acquired in advance by reading a barcode, manually entering it, etc. Based on the received information, the payment server 100 identifies the user corresponding to the one-time code and performs electronic payment (S17). Then, the payment server 100 sends a payment completion notice to the payment application 20 (S18), and the payment application 20 displays a payment completion screen (S19).
[0018] Note that electronic payment may be performed using only one of the above patterns. Furthermore, the "account ID" described in FIG. 2 may be other information (e.g., a phone number) that can be used as user identification information. Furthermore, issuing a one-time code may be omitted in store scanning, and the payment application 20 may display a code image generated based on the user's account ID. In this case, the payment server 100 identifies the user corresponding to the account ID instead of identifying the user corresponding to the one-time code.
[0019] [Payment server] FIG. 4 is a configuration diagram of the payment server 100 according to the first embodiment. The payment server 100 includes, for example, a communication unit 110, a payment content providing unit 120, a payment processing unit 130, an information management unit 140, an information extraction unit 150, and a storage unit 170. The information extraction unit 150 is an example of an "information extraction support device." As described above, the information extraction support device may be a device separate from the payment server 100. The information extraction unit 150 includes, for example, a request parameter acquisition unit 152, a query generation unit 154, and an output unit 156. The components other than the communication unit 110 and the storage unit 170 are realized by, for example, a hardware processor such as a CPU executing a program (software). Some or all of these components may be realized by hardware (including circuitry) such as an LSI (Large Scale Integration), an ASIC (Application Specific Integrated Circuit), an FPGA (Field-Programmable Gate Array), or a GPU (Graphics Processing Unit), or may be realized by a combination of software and hardware. The program may be stored in advance in a storage device (a storage device with a non-transitory storage medium) such as an HDD (Hard Disk Drive) or flash memory, or may be stored in a removable storage medium (a non-transitory storage medium) such as a DVD or CD-ROM, and installed in the storage device by inserting the storage medium into a drive device.
[0020] The storage unit 170 is a HDD, flash memory, RAM (Random Access Memory), etc. The storage unit 170 may be a NAS (Network Attached Storage) device that the payment server 100 can access via a network. The storage unit 170 stores information such as user information 172, payment content information 174, and affiliated store / shop information 176.
[0021] The communication unit 110 is a communication interface for connecting to the network NW, and is, for example, a network interface card.
[0022] The payment content providing unit 120 has, for example, a function of a web server, and provides information (content) for displaying various screens of the electronic payment service to the user terminal device 10. The payment content providing unit 120 reads out necessary content from the payment content information 174 as appropriate and provides it to the user terminal device 10. The user terminal device 10 accepts various inputs from the user while content is being played by the payment application 20, and transmits the above-mentioned payment information and the like to the payment server 100.
[0023] The payment processing unit 130 performs payment processing based on the payment information transmitted by the user terminal device 10 or the first store terminal device 50. The payment processing unit 130 performs payment processing while referring to the user information 172.
[0024] FIG. 5 is a diagram showing an example of the contents of user information 172. User information 172 is an example of user registration information. User information 172 includes, for example, a user URL, account ID, telephone number, and password, as well as other information such as email address, user ID, name, address, date of birth, registration date, charge balance, deferred payment settings, deferred payment limit, deferred payment usage amount, deferred payment available amount, payment method settings, bank account, credit card number, charge history information, and payment history information. User information 172 may also include user-to-user remittance history and chat history. The user URL is used for remittance processing between users. Registration of a phone number and password is required when registering for an electronic payment service. The account ID is issued to the user by the payment server 100, and the user ID can be set arbitrarily by the user (or may not be set arbitrarily). Similarly, the email address, name, address, and date of birth are also information that can be set arbitrarily by the user (or may not be set arbitrarily). The registration date is the date on which the user registered with the electronic payment service (the date on which the account was created). Hereinafter, the user instance (electronic payment account) to which this information is associated will be referred to as the account.
[0025] The charge balance is information indicating the balance of electronic money that the user has set by transferring funds to the account in advance. Transfer methods include transfer from an ATM (Automatic Teller Machine) of a designated service provider (bank) or transfer from a registered bank account. The deferred payment setting is information indicating whether the settings for enabling deferred electronic payments have been completed, and is set to either "completed" or "not completed." The payment method setting is setting information indicating whether the user will make electronic payments using the charge balance or by deferred payment at that time. The bank account and credit card number are information on bank accounts or credit card numbers (account number, card number), respectively, that can be used to deposit funds into the electronic payment service. The charge history information is a history of the user transferring funds to the electronic payment service in advance to increase the charge balance. The payment history information is information indicating the details of each payment made by the user (date and time, store ID of the store where the purchase was made, payment amount, payment method, etc.).
[0026] 6 is a diagram showing an example of the contents of affiliated store / store information 176. The affiliated store / store information 176 includes, for example, a first table 176A in which an affiliated store ID and a store ID are associated with a store URL, a second table 176B in which an affiliated store ID is associated with an affiliated store name and sales amount (described above), and a third table 176C in which a store ID is associated with a store name. In addition to this information, the affiliated store / store information 176 may also include information such as the category of the affiliated store or store, the store's location, and payment patterns.
[0027] The information management unit 140 manages the user information 172 and the affiliated store / store information 176 based on information acquired from the user terminal device 10 and the second store terminal device 70. The information management unit 140 adds new records to, edits, deletes, etc. the user information 172 and the affiliated store / store information 176.
[0028] [Electronic Payment] When payment information is acquired from the user terminal device 10 or the first store terminal device 50, the payment processing unit 130 references the user information 172 to acquire the "payment method setting" of the user. For users whose "payment method setting" is set to "charge balance," the payment processing unit 130 performs electronic payment as follows: For example, the payment processing unit 130 performs electronic payment by decreasing the charge balance managed in association with the user ID and increasing the item value of the affiliated store's sales proceeds. The item value of the affiliated store's sales proceeds is not itself used as electronic money, for example, but rather the amount corresponding to the item value of the sales proceeds is transferred to a bank account in a cycle according to an agreement between the affiliated store and the electronic payment service.
[0029] The payment processing unit 130 performs electronic payments for users whose "setting information" is set to "deferred payment" as follows. Deferred payment is set separately from "credit card payment," which is set in cooperation with a credit card company, which is a separate entity from the operator of the electronic payment service. The operator of the electronic payment service acts as the creditor, and allows electronic payments within the deferred payment limit, independent of the remaining balance. To receive the deferred payment service, a user may be required to obtain a credit card provided by the operator of the electronic payment service. The amount used for deferred payment is settled in full on the following month's payment date, for example, by debit from a bank account. In this case, the payment processing unit 130 makes a provisional payment by adding the payment amount to the deferred payment amount and subtracting the same amount from the available deferred payment balance. On the closing date, the payment processing unit 130 performs the process described above to debit the current month's payment on the following month's payment date, or requests the credit card operator to perform this process. If the payment amount exceeds the available deferred payment balance at the time of provisional payment, an error notification is returned to the payment app 20.
[0030] [Big Data Management Server] The big data management server 500 is a server device that provides support functions for managing and analyzing big data. The big data management server 500 is known, for example, as Google BigQuery (registered trademark). The operator of the electronic payment service provides the big data management server 500 with various information related to the electronic payment service in advance as big data to be managed and analyzed. The big data may include, for example, user information 172, payment content information 174, and affiliated store / shop information 176. In this case, for example, the payment server 100 may be configured to provide newly generated data to the big data management server 500 at a predetermined frequency (e.g., once a day).
[0031] The big data management server 500 manages big data provided by users and extracts and provides specified data from the big data in response to a user request. The user in this case is an operator of an electronic payment service, and provides big data accumulated in relation to the electronic payment service to the big data management server 500. A request for data provision to the big data management server 500 may be made in the form of, for example, SQL (Structured Query Language). The SQL handled by the big data management server 500 may be general-purpose SQL used in a general RDB (Relational Database), or general-purpose SQL customized for the big data management server 500.
[0032] [Information extraction support] The information extraction unit 150 will be described below. The information extraction unit 150 cooperates with other functional units (service providing devices) of the payment server 100, the sales support terminal device 400, the AI chatbot server 200, and the big data management server 500. In response to an input of a message requesting information provision in natural language, the information extraction unit 150 extracts the requested information from the big data management server 500 and responds to the input. For example, a sales support interface installed in the sales support terminal device 400 is provided with a message input field, and a message entered by a user in the message input field is sent to the payment server 100 and provided to the information extraction unit 150. The user here is an operator of an electronic payment service who uses the sales support terminal device 400 to conduct sales activities toward affiliated stores (hereinafter referred to as a "sales representative"). The sales support terminal device 400 is a terminal device installed with a user interface (hereinafter referred to as a "sales support interface") for supporting the sales activities of the sales representative. More specifically, the sales support interface is used as a tool for sales representatives to obtain information useful for making more comprehensive proposals to affiliated stores. The message may be input in text format, or may be the result of speech recognition of the sales representative's speech. Figure 7 is a diagram for explaining the operation of information extraction unit 150. The following explanation will be made with reference to Figures 4 and 7. Note that although Figure 7 shows the processing flowing in one direction, in reality, the processing may include several iterative processes or round-trip processes.
[0033] First, a sales representative inputs a message requesting data extraction related to a target affiliated store (XX Bento) into the sales support interface of the sales support terminal device 400. The input message is sent to the payment server 100 (S21), and then provided to the AI chatbot server 200 by the information extraction unit 150 (S22). Next, in the information extraction unit 150, the request parameter acquisition unit 152 acquires parameters (hereinafter referred to as "request parameters") for requesting the big data management server 500 to extract data related to the message.
[0034] A request parameter is key information for narrowing down the data to be extracted to a specific target. More specifically, a request parameter is identification information for identifying a target by an attribute that can be recognized from the content of a message. For example, when narrowing down the data to be extracted to a specific affiliated store, the value of an attribute called an affiliated store ID can be used as a request parameter. Furthermore, when narrowing down the data to be extracted to a specific store, the value of an attribute called a store ID can be used as a request parameter. In this way, an attribute that serves as a key for narrowing down the data to be extracted is referred to below as a "target attribute." A request parameter may be represented by a single value of the target attribute, or by multiple values of the target attribute. Furthermore, a request parameter may be represented by a value of a single target attribute, or by multiple values of the target attribute.
[0035] FIG. 7 illustrates an example in which the target attribute is a member store ID. In this case, the request parameter acquisition unit 152 inputs, for example, an instruction statement (natural language) to the AI chatbot server 200 to specify the target member store for the input message. In response to this instruction statement, the AI chatbot server 200 performs the following process, extracting the information desired by the salesperson from the big data management server 500 and providing it to the salesperson. The AI chatbot server 200 periodically obtains information by crawling or otherwise from information sources 300, such as Internet sites, and provides an AI chatbot trained to generate various responses based on common sense. The AI chatbot may be trained to automatically generate and respond to messages input in natural language. Examples of AI chatbots include those known under names such as ChatGPT (registered trademark) and Llama3 (registered trademark).
[0036] Here, we will explain the case where the AI chatbot server 200 has a function to call an external function as necessary based on the content of the message (hereinafter referred to as the "external function call function"). The information extraction support function can be realized by the AI chatbot server 200 having such an external function call function and the payment server 100 executing the function called from the AI chatbot server 200. Note that this method of realizing the information extraction support function is just one example, and the information extraction support function may be realized in any other way as long as it can cooperate with the AI chatbot server 200 to generate a query for obtaining the information desired by the sales representative from the big data management server 500.
[0037] More specifically, the AI chatbot server 200 in the example of Fig. 7 is pre-registered with definition information for calling a first external function for obtaining the member store ID of a specified member store from the big data management server 500, and a second external function for extracting data desired by the sales representative from the big data management server 500. Fig. 8 is a diagram showing an example of definition information for calling the first external function and the second external function.
[0038] In FIG. 8, definition information CNF1 is an example of definition information in which a function named getJsonOfMidList() is defined as an external function, and definition information CNF2 is an example of definition information in which a function named getSheetOfMerchantsData() is defined as an external function. getJsonOfMidList() is an example of a first external function, and getSheetOfMerchantsData() is an example of a second external function. Each definition information CNF1 and CNF2 includes definition information such as the function name, a function description (such as notes and supplementary information regarding usage and execution), variables to be specified when calling the function, and how to specify the variables. The definition information may include natural language that explains these contents. Based on this definition information, the AI chatbot server 200 is trained to autonomously execute the necessary processing by determining, from the message context and the content of the definition information, the order in which external functions should be called to extract the desired data, and what variables should be specified when calling the external functions.
[0039] For example, definition information CNF1 indicates that a member store name can be specified using two variables, marchant_name and marchant_name2, as a method of specifying variables. For example, the example in FIG. 8 assumes that a salesperson will write the member store name separated by a delimiter such as a hyphen, and defines that the string before the delimiter and the string after the delimiter are stored in separate variables. Defining the method of specifying variables in this manner allows the AI chatbot server 200 to generate queries that can properly extract data for member stores whose names may be written separated by delimiters.
[0040] Returning to Figure 7, in this case, the AI chatbot server 200 recognizes the member store from which data is to be extracted from the message content (S23), and calls a first external function for the recognized member store (S24) to obtain a list of member store IDs for the member stores from which data is to be extracted. There may be one or more member stores. More specifically, the request parameter acquisition unit 152 executes the first external function called in S24 (S25), thereby obtaining a list of member store IDs (MIDList) for one or more member stores specified in the variable from the big data management server 500. The request parameter acquisition unit 152 provides the obtained MIDList to the AI chatbot server 200 as a return value of the function call (S27).
[0041] Next, the AI chatbot server 200 recognizes the data to be extracted from the content of the message (S28), and calls a second external function using the MIDList acquired in S27 and the data to be extracted recognized in S28 as variables (S29). In the information extraction unit 150, the query generation unit 154 executes the second external function called in S29 (S30). By executing the second external function, the query generation unit 154 generates a prompt to instruct the AI chatbot server 200 to generate an SQL statement for extracting the data desired by the sales representative from the big data management server 500, and inputs the prompt to the AI chatbot server 200 (S31).
[0042] Next, based on the prompt entered in S31, the AI chatbot server 200 generates an SQL statement to extract the data desired by the sales representative from the big data management server 500 and responds to the query generation unit 154 (S32).
[0043] Next, in the payment server 100, the query generation unit 154 generates an information extraction request (query) for the big data management server 500 based on the SQL statement returned in S32, and sends the query to the big data management server 500 (S33). The big data management server 500 executes the SQL statement specified in the information extraction request of S33, and sends the execution result to the information extraction unit 150 (S34). In the example of Fig. 7, an SQL statement that references a dataset of payment history information is generated and supplied to the big data management server 500 in order to extract sales performance data for the target affiliated store.
[0044] Next, in the payment server 100, the output unit 156 stores the execution result of the SQL statement received from the big data management server 500 in S34 in a predetermined data storage area ST (S35), and transmits a response message including access information for the data storage area ST to the sales support terminal device 400 as a response to the message input in S21 (S36). For example, if the data storage area ST is secured in an area accessible via a network, such as a spreadsheet provided by Google (registered trademark), a network address (e.g., a URL) indicating the location of the area may be generated as the access information. As a result, the sales representative can access the data storage area ST based on the access information displayed on the sales support terminal device 400 (S37) and refer to the data extracted by the SQL statement.
[0045] FIG. 9 is a diagram showing an example of a display of the sales support interface in the sales support terminal device 400 shown in FIG. 7. As shown, the display screen IM1 includes an area A1 where a message from the sales representative is displayed, an area A2 where the content of the response from the information extraction unit 150 is displayed, and an area A3 where a new message from the sales representative is input. The example in FIG. 9 shows a case where a message is input in area A1, such as "Please tell me the monthly sales figures for XX bento from January to March this year," and a response is displayed in area A2, such as "The webpage containing the monthly sales figures for XX bento from January to March this year is here: https: / / www.~.datasheetxx.html." In this case, the sales representative can access the sales figures by accessing the URL shown in the response in area A2.
[0046] FIG. 10 is a diagram showing an example of information output to the data storage area ST in response to a message input to the sales support terminal device 400. FIG. 10 shows an example of information from a first table TB1, a second table TB2, and a third table TB3 output to the data storage area ST. The first table TB1 stores information about the SQL statement created in response to the message input by the sales representative. The first table TB1 may include fields indicating the structure and parameters of the created SQL statement, such as the requested data extraction content, the start and end dates of the aggregation period, and the grouping unit using the groupby clause, as well as fields indicating the SQL statement itself. The output unit 156 can generate data for each field based on the SQL statement executed by the query generation unit 154 and store the data in the first table TB1.
[0047] The second table TB2 is a table that stores information about the target affiliated store identified from the message. This information may be included, for example, in affiliated store / store information. In this case, the output unit 156 can acquire data to be stored in the second table TB2 by searching for affiliated store / store information, etc., based on the affiliated store ID included in the MIDList acquired in S26 of FIG. 7. Note that the request parameter acquisition unit 152 may be configured to acquire the affiliated store ID along with data of items to be stored in the second table TB2 when acquiring the MIDList in S26 of FIG. 7. In this case, the output unit 156 may store the data included in the acquired MIDList in the second table TB2. The third table TB3 is a table that stores the execution results of the SQL statement executed by the query generation unit 154.
[0048] In this way, the output unit 156 may be configured to output supplemental information (first table TB1 or second table TB2) relating to the reason or background for obtaining the execution result of the SQL statement (third table TB3), in addition to the execution result of the SQL statement. This allows the sales representative to conduct sales activities while checking the validity of the response to the message he or she inputted.
[0049] FIG. 11 is a diagram showing an example of an instruction statement input by the request parameter acquisition unit 152 to the AI chatbot server 200. For example, instruction statement D10 includes natural language sentences D11 instructing the big data management server 500 to generate SQL for acquiring analytical data related to affiliated stores; natural language sentences D12 specifying the target data to be acquired as analytical data; natural language sentences D13 specifying the target affiliated stores from which analytical data is to be acquired; and natural language sentences D14 indicating definition information for a table storing the target data to be acquired as analytical data. FIG. 11 shows an example of acquiring "Last year's trend in the number of coupon usages (monthly)" as analytical data. In FIG. 11, the information in {} may be information indicating a link to the actual information. For example, natural language sentences D14 may directly describe definition information T10 of the table shown in FIG. 12, or may be described as link information indicating an area (such as a file or another table) that stores definition information T10. When such instruction statement D10 is input to the AI chatbot, the AI chatbot recognizes the tables and data strings required to acquire data for analysis, the target affiliated stores, output conditions, etc., and generates SQL for acquiring the specified target data from the big data management server 500, and provides this to the query generation unit 154. Here, the natural language statement D11 is an example of first information, the natural language statement D12 is an example of second information, and the natural language statement D13 is an example of third information. In addition to this information, the instruction statement may also include supplemental information such as precautions to take when generating SQL. This supplemental information is an example of fourth information.
[0050] The information extraction unit 150 configured in this manner enables sales representatives of electronic payment services to make more comprehensive proposals to affiliated stores. More specifically, since sales representatives can easily obtain necessary sales information in real time during sales activities, they can quickly obtain the necessary information and present it to affiliated stores. For example, in addition to the affiliated store's most recent sales, sales representatives can quickly obtain information on the trend in coupon usage over the same period from the big data management server 500. Sales representatives can make more comprehensive proposals to affiliated stores based on the effectiveness of coupons issued in the past. In this case, even if weekly or daily trends are needed in addition to monthly trends, the sales representative can quickly obtain additional information by simply entering that information in natural language into the sales support terminal device 400, thereby enabling sales activities to be conducted without missing an opportunity. Similarly, even if information other than the trend in coupon usage is needed, additional information can be quickly obtained by simply entering that information in natural language, allowing sales representatives to make more comprehensive proposals flexibly according to the situation in the sales field.
[0051] Furthermore, according to the information extraction support system of the embodiment, the validity of the SQL statement generated by the AI chatbot server 200 is checked before responding to the payment server 100, so more accurate information can be sent to the sales support terminal device 400. This allows sales representatives to make more accurate proposals to affiliated stores.
[0052] <Modification> The payment server 100 may be configured to execute a process of checking the SQL statement generated by the AI chatbot server 200 before executing a data extraction request to the big data management server 500. Here, the payment server 100 may check the character string of the SQL statement or the content of the data acquired by executing the SQL statement. For example, the payment server 100 may check that appropriate data corresponding to the request is referenced in the generated SQL statement. For example, the payment server 100 may check that the table name and item name included in the SQL statement match the table definition information. For example, the payment server 100 may check that appropriate tables and items are referenced for the request content based on the content of a message or instruction statement. For example, the payment server 100 may check that inappropriate data is not acquired by the generated SQL statement. For example, the payment server 100 may check that inappropriate (or unnecessary) tables and items are not referenced for the request content based on the content of a message or instruction statement. Here, if the check result is NG, the payment server 100 may be configured to make the AI chatbot server 200 re-generate the SQL statement a predetermined number of times (for example, up to three times). If the check result is OK, the payment server 100 sends a data extraction request to the big data management server 500 using the checked SQL statement. The payment server 100 may check the SQL statement using predetermined rule-based processing, or may be configured to input an instruction statement to the AI chatbot server 200 to check the SQL statement.
[0053] The example in FIG. 7 illustrates a mode in which the AI chatbot server 200 receives a message input in S22 and autonomously determines and executes tasks such as identifying the target affiliated store, identifying the data to be extracted, and calling the first and second external functions. The example in FIG. 7 also illustrates a mode in which the payment server 100 inputs an instruction statement generated by the second external function to the AI chatbot server 200 to obtain an SQL statement to be used in a data extraction request. That is, the example in FIG. 7 illustrates a case in which two prompts are used: one for inputting a message in S22 and the other for inputting an instruction statement in S31. However, the interaction between the payment server 100 and the AI chatbot server 200 may be realized using the same prompt or different prompts. For example, by separating the input prompts for the AI chatbot server 200, the call to the first external function and the call to the second external function may be implemented using different prompts. Conversely, for example, the input prompts for the AI chatbot server 200 may not be separated, so that the first external function, the second external function, and the SQL statement are all called by the same prompt. Furthermore, the AI chatbot server 200 may be configured to have the payment server 100 (information extraction unit 150) perform one or both of the target affiliated store recognition and the extraction target data recognition.
[0054] Also, in the example of Figure 7, we have assumed that there is one target affiliated store from which data is extracted, but if the message is intended for multiple affiliated stores, the AI chatbot server 200 may be configured to identify multiple affiliated stores as target affiliated stores.
[0055] Also, in the example of Figure 7, the payment server 100 responded to the sales representative's message by providing access information to the data storage area ST that stores the extraction results, rather than the data extraction results themselves, but the payment server 100 may be configured to respond by including the extraction result data itself or part of the data in the content of the response.
[0056] <Other> In an embodiment, the AI chatbot may be configured as an internal function of the information extractor 150.
[0057] The above describes the form for carrying out the present invention using an embodiment, but the present invention is not limited to such an embodiment, and various modifications and substitutions can be made within the scope that does not deviate from the gist of the present invention. [Explanation of symbols]
[0058] 10 User terminal device 20. Payment App 50 First store terminal device 60 Store Code Image 70 Second store terminal device 72 Merchant Interface 100 Payment Server 110 Communications Department 120 Payment Contents Department 130 Payment processing unit 140 Information Management Department 150 Information extraction section 152 Request parameter acquisition unit 154 Query Generation Unit 156 Output section 170 Storage section 172 User information 174 Payment Content Information 176 Affiliated Stores / Store Information 200 AI chatbot servers 300 sources 400 Sales support terminal equipment 500 Big Data Management Server
Claims
1. An information extraction support device that extracts desired information desired by a user from an external database based on a message input by the user's terminal device and provides the information to the user, the message includes at least first information that enables identification of an extraction target, and second information regarding the content of information to be extracted regarding the extraction target, a reception unit that receives input of the message via the terminal device; an acquisition unit that acquires identification information of the extraction target based on the first information included in the input message; a query generation unit that generates a query for extracting the desired information from the external database by inputting an instruction sentence including the identification information and the second information to an AI chatbot that has been trained to respond when an instruction sentence in natural language is input; an output unit that acquires the desired information from the external database using the query, and outputs information for displaying the acquired desired information on the terminal device as a response to the message to the terminal device; An information extraction support device comprising:
2. the instruction statement includes third information indicating how information extracted regarding the extraction target is managed in the external database; The information extraction support device according to claim 1 .
3. The acquisition unit inputs the message into the AI chatbot, thereby acquiring from the AI chatbot an extraction target identified by the AI chatbot based on the message, and acquires the identification information for the acquired extraction target from the external database. The information extraction support device according to claim 1 .
4. The acquisition unit inputs the message to the AI chatbot, and acquires from the AI chatbot the second information identified by the AI chatbot based on the message. The information extraction support device according to claim 3.
5. The query generation unit generates the instruction sentence including the identification information acquired for the extraction target identified by the AI chatbot based on the message and the second information identified by the AI chatbot based on the message. The information extraction support device according to claim 1 .
6. The query generation unit inputs an instruction sentence to the AI chatbot to confirm the validity of the generated query, and determines the validity of the query based on the response. The information extraction support device according to claim 1 .
7. the instruction to check the validity instructs checking the validity of a character string included in the generated query; The information extraction support device according to claim 6.
8. the instruction to check the validity instructs checking the validity of data obtained from the external database by the generated query; The information extraction support device according to claim 6.
9. the output unit stores the data extracted from the external database in a data storage area accessible via a network, and transmits a response message to the message including access information to the data storage area to the terminal device. The information extraction support device according to claim 1 .
10. 1. An information extraction support method implemented by an information extraction support device that extracts desired information desired by a user from an external database based on a message input by the user's terminal device and provides the information to the user, the message includes at least first information that enables identification of an extraction target, and second information regarding a type of information to be extracted regarding the extraction target; Accepting an input of the message via the terminal device; acquiring identification information of the extraction target based on the first information included in the input message; generating a query for extracting the desired information from the external database by inputting an instruction sentence including the identification information and the second information into an AI chatbot that has been trained to respond when an instruction sentence in natural language is input; acquiring the desired information from the external database using the query, and outputting information for displaying the acquired desired information on the terminal device to the terminal device as a response to the message; Information extraction support method.
11. A program executed by an information extraction support device that extracts desired information desired by a user from an external database based on a message input by the user's terminal device and provides the information to the user, the message includes at least first information that enables identification of an extraction target, and second information regarding a type of information to be extracted regarding the extraction target; The information extraction support device, a process of accepting input of the message via the terminal device; a process of acquiring identification information of the extraction target based on the first information included in the input message; generating a query for extracting the desired information from the external database by inputting an instruction sentence including the identification information and the second information to an AI chatbot that has been trained to respond to an instruction sentence in natural language; a process of acquiring the desired information from the external database using the query, and outputting information for displaying the acquired desired information on the terminal device as a response to the message to the terminal device; A program to execute.