Information processing device, method, program and system

A chat-based system simplifies data analysis by managing user interactions and utilizing natural language models to guide users through BI tool usage, addressing skill barriers and reducing costs and time for analysis.

JP2025012800AActive Publication Date: 2025-01-24COLLINIA CO LTD
View PDF 9 Cites 0 Cited by

Patent Information

Application Number
JP2023115912
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-07-14
Publication Date
2025-01-24
Estimated Expiration
2043-07-14

AI Technical Summary

Technical Problem

Individuals without advanced data analysis skills face challenges in effectively utilizing BI tools, leading to high costs and lengthy analysis times, and existing solutions require design/analysis skills for setup.

Method used

A chat-based system that manages data analysis progress, identifies user intentions, and outputs analysis results through a client-server interaction, utilizing natural language models to guide users in selecting appropriate analysis methods and datasets.

Benefits of technology

Enables users to obtain data analysis results efficiently and cost-effectively, without requiring advanced skills, by simplifying the analysis process and providing clear, understandable outputs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025012800000001_ABST
    Figure 2025012800000001_ABST
Patent Text Reader

Abstract

To provide a technique for obtaining an appropriate data analysis result at low cost and in a short time regardless of a level of a user's data analysis skill.SOLUTION: A program causes a computer to execute means of: managing a progress state of a chat relating to data analysis performed with a user; specifying a purpose of the analysis of the user through the progress of the chat; analyzing an object data set according to the purpose of analysis; and outputting a result of the analysis of the object data set.SELECTED DRAWING: Figure 4
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates to an information processing device, a method, a program, and a system. [Background technology]

[0002] Conventionally, various BI (Business Intelligence) tools have been known that enable companies to collect, accumulate, analyze, and process huge amounts of data acquired by the companies, and to support decision-making for management strategies.

[0003] Furthermore, Patent Document 1 discloses a technical idea that aims to provide high-quality "managed model self-service BI" in a shorter period of time by using a common design framework, without relying on individual design skills. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] JP 2019-175236 A Summary of the Invention [Problem to be solved by the invention]

[0005] However, in many cases, it is not easy for people who do not have advanced data analysis skills, such as those in charge of the planning department of a company, to use BI tools on their own, and support from data analysis experts is often required. Receiving support from experts is costly and takes a long time to obtain analysis results. In addition, the technical idea of ​​Patent Document 1 also requires inputting the necessary information into a requirements definition template and an analysis model detailed definition document, so it is understood to be premised on a certain level of design and analysis skills.

[0006] An object of the present disclosure is to provide a technique for obtaining appropriate data analysis results at low cost and in a short time, regardless of the user's level of data analysis skill. [Means for solving the problem]

[0007] A program of one aspect of the present disclosure causes a computer to function as a means for managing the progress of a chat regarding data analysis conducted with a user, a means for identifying the user's purpose of analysis through the progress of the chat, a means for analyzing a target dataset in accordance with the purpose of the analysis, and a means for outputting the results of the analysis of the target dataset. [Brief description of the drawings]

[0008] [Figure 1] 1 is a block diagram showing a configuration of an information processing system according to an embodiment of the present invention; [Diagram 2] FIG. 2 is a block diagram showing a configuration of a client device according to the present embodiment. [Diagram 3] FIG. 2 is a block diagram showing a configuration of a server according to the present embodiment. [Figure 4] FIG. 1 is an explanatory diagram of one aspect of the present embodiment. [Diagram 5] FIG. 2 is a diagram showing an overall flow of information processing according to the present embodiment. [Figure 6] 11 is a flowchart of a process for setting an analysis objective according to the present embodiment. [Figure 7] 13A and 13B are diagrams illustrating an example of a screen displayed in the process of setting an analysis objective according to the present embodiment. [Figure 8] 13A and 13B are diagrams illustrating an example of a screen displayed in the process of setting an analysis objective according to the present embodiment. [Figure 9] 13A and 13B are diagrams illustrating an example of a screen displayed in the process of setting an analysis objective according to the present embodiment. [Figure 10] 13 is a flowchart of an analysis process according to the present embodiment. [Figure 11] FIG. 13 is a diagram showing an example of a screen displayed in the analysis process of the present embodiment. [Figure 12]FIG. 13 is a diagram showing an example of a screen displayed in the analysis process of the present embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0009] Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings. In the drawings for explaining the embodiment, the same components are generally designated by the same reference numerals, and the repeated description will be omitted.

[0010] (1) Information Processing System Configuration The configuration of the information processing system will be described below. Fig. 1 is a block diagram showing the configuration of the information processing system according to the present embodiment.

[0011] As shown in FIG. 1, the information processing system 1 includes a client device 10 and a server 30. The client device 10 and the server 30 are connected via a network (eg, the Internet or an intranet) NW.

[0012] The client device 10 is an example of an information processing device that transmits a request to the server 30. The client device 10 is, for example, a smartphone, a tablet terminal, or a personal computer. A user of the client device 10 is assumed to be a person who has a need for data analysis but often does not have the advanced skills to perform the data analysis, such as a member of a planning department of a company. However, the information processing system 1 of this embodiment is also useful when the user of the client device 10 is a data analysis expert with advanced skills.

[0013] The server 30 is an example of an information processing device that provides the client device 10 with a response in response to a request transmitted from the client device 10. The server 30 is, for example, a web server.

[0014] (1-1) Client device configuration The configuration of the client device will now be described with reference to Fig. 2, which is a block diagram showing the configuration of the client device of this embodiment.

[0015] 2, the client device 10 includes a storage device 11, a processor 12, an input / output interface 13, and a communication interface 14. The client device 10 is connected to a display 21.

[0016] The storage device 11 is configured to store programs and data. The storage device 11 is, for example, a combination of a Read Only Memory (ROM), a Random Access Memory (RAM), and a storage (for example, a flash memory or a hard disk).

[0017] The programs include, for example, the following programs: ·OS (Operating System) programs Programs for applications that process information (e.g. web browsers or applications for data analysis, etc.)

[0018] The data includes, for example, the following data: Databases referenced in information processing Data obtained by performing information processing (i.e., the results of performing information processing)

[0019] The processor 12 is a computer that realizes the functions of the client device 10 by running a program stored in the storage device 11. The processor 12 is, for example, at least one of the following: ·CPU(Central Processing Unit) ·GPU(Graphic Processing Unit) ·ASIC(Application Specific Integrated Circuit) ·FPGA(Field Programmable Gate Array)

[0020] The input / output interface 13 is configured to obtain information (eg, a user's instruction) from an input device connected to the client device 10, and to output information (eg, an image) to an output device connected to the client device 10.

[0021] The input device is, for example, a keyboard, a pointing device, a touch panel, or a combination thereof. The output device is, for example, a display 21, a speaker, or a combination thereof.

[0022] The communication interface 14 is configured to control communications between the client device 10 and an external device (eg, a server 30).

[0023] The display 21 is configured to display an image (a still image or a moving image). The display 21 is, for example, a liquid crystal display or an organic EL display.

[0024] (1-2) Server configuration The configuration of the server will now be described with reference to Fig. 3, which is a block diagram showing the configuration of the server according to this embodiment.

[0025] As shown in FIG. 3, the server 30 includes a storage device 31, a processor 32, an input / output interface 33, and a communication interface .

[0026] The storage device 31 is configured to store programs and data, and is, for example, a combination of a ROM, a RAM, and a storage (for example, a flash memory or a hard disk).

[0027] The programs include, for example, the following programs: -OS programs Application programs that perform information processing

[0028] The data includes, for example, the following data: Databases referenced in information processing Results of information processing

[0029] The processor 32 is a computer that realizes the functions of the server 30 by starting a program stored in the storage device 31. The processor 32 is, for example, at least one of the following. ·CPU GPU ·ASIC FPGA

[0030] The input / output interface 33 is configured to obtain information (eg, a user's instruction) from an input device connected to the server 30, and to output information (eg, an image) to an output device connected to the server 30.

[0031] The input device is, for example, a keyboard, a pointing device, a touch panel, or a combination thereof. The output device is, for example, a display.

[0032] The communication interface 34 is configured to control communication between the server 30 and an external device (e.g., the client device 10). The server 30 may be configured to access an external system to utilize some functions of a natural language model (hereinafter simply referred to as a "natural language model") represented by a large-scale language model or a data analysis tool.

[0033] (2) One aspect of the embodiment An embodiment of the present invention will now be described with reference to Fig. 4, which is an explanatory diagram of an embodiment of the present invention.

[0034] As shown in FIG. 4, the information processing system 1 performs data analysis required by the user US1 mainly on a chat basis between the user US1 and a data analysis agent AG2, and ultimately provides the results of the analysis to the user US1.

[0035] Specifically, the server 30 manages the progress of a chat regarding data analysis between the user US1 and the data analysis agent AG2. The management of the progress of the chat may include understanding the intent of the user's instruction, generating a system response based on the intent of the user's instruction and a data analysis scenario, and outputting the system response. In managing the progress of the chat, the server 30 can appropriately use a natural language model. On the other hand, the client device 10 accepts user instructions from the user US1 and outputs them to the server 30, and displays a UI (User Interface) for the user US1 based on the system response received from the server 30.

[0036] The server 30 identifies (verbalizes) the purpose of the data analysis of the user US1 through the progress of the chat. The verbalized purpose is stored in the storage device 31 as a guideline for subsequent analysis and is referred to by the server 30. The server 30 also accepts provision of a data set from the user US1 via the client device 10. The server 30 analyzes a target data set based on the accepted data set, and outputs a system response including the results of the analysis to the client device 10. The client device 10 displays a UI showing the results of the analysis to the user US1.

[0037] As a result, the user US1 can obtain the analysis results that the user US1 needs (which may include the results of the analysis that the user US1 potentially needed) simply by answering questions from the data analysis agent AG2 or by performing actions requested by the data analysis agent AG2 (e.g., specifying a data set, etc.). In particular, the user US1 does not need to prepare solutions in advance before starting the chat, such as what purpose the analysis should be performed for, what analysis method should be selected, or what data set should be prepared, as these elements can be determined through the chat and the user US1 can perform the required analysis.

[0038] (3) Information processing The information processing of this embodiment will be described below with reference to Fig. 5, which is a diagram showing the overall flow of the information processing of this embodiment.

[0039] The information processing of this embodiment is started when a predetermined start condition is satisfied. The start condition may be, for example, a user starting a new analysis project.

[0040] As shown in FIG. 5, the server 30 executes acquisition of a data set (S100). Specifically, the server 30 obtains a system response (eg, a chat message) that requests the user to provide a data set that will be used as material for analysis, and transmits it to the client device 10. The client device 10 displays a UI based on the received system response on the display 21. The client device 10 accepts a data set designation from the user and acquires the designated data set. The client device 10 transmits the acquired data set to the server 30.

[0041] After step S100, the server 30 executes setting of the purpose of the analysis (S110). Specifically, the server 30 starts a chat to identify the purpose of the user's analysis. The server 30 identifies (verbalizes) the purpose of the user's analysis based on an exchange of messages between the user and the data analysis agent. The server 30 stores the identified purpose of the analysis in the storage device 31 and transmits it to the client device 10. The client device 10 provides the user with a UI that allows the user to refer to the received purpose of the analysis. The setting of the analysis objective (S110) will be described in detail later.

[0042] After step S110, the server 30 performs an analysis (S120). Specifically, the server 30 performs an analysis on the data set acquired in step S100 or a data set obtained by processing the data set (e.g., by performing preprocessing such as data cleansing) in accordance with the purpose of the analysis set in step S110. The server 30 transmits the results of the analysis to the client device 10. The client device 10 displays a UI showing the received analysis results on the display 21. The analysis (S120) will be described in detail later.

[0043] (3-1) Setting the purpose of the analysis The analysis goal setting process of this embodiment will be described. FIG. 6 is a flowchart of the analysis goal setting process of this embodiment. FIG. 7 is a diagram showing an example of a screen displayed in the analysis goal setting process of this embodiment. FIG. 8 is a diagram showing an example of a screen displayed in the analysis goal setting process of this embodiment. FIG. 9 is a diagram showing an example of a screen displayed in the analysis goal setting process of this embodiment.

[0044] As shown in FIG. 6, the server 30 generates a system response (S111). Specifically, the server 30 generates a system response (message) that asks the user about the analysis target, and transmits the system response (message) to the client device 10.

[0045] As a first example of generating a system response (S111), the server 30 may identify (extract) candidates to be analyzed based on the data item names (variable names) included in the data set acquired in step S100, and generate a system response including a question regarding the candidates. The question may ask the user which of the candidates is the analysis target, or may ask the user whether each candidate is the analysis target or not.

[0046] In the following description, unless otherwise specified, the server 30 may generate a system response by using one or both of a predetermined template and a natural language model. For example, the server 30 may generate a system response by inserting a phrase generated by a natural language model into a template.

[0047] As a second example of generating a system response (S111), the server 30 may generate a standard message as the system response, regardless of the data item names included in the data set acquired in step S100.

[0048] After step S111, the client device 10 executes screen display (S211). Specifically, the client device 10 receives the system response transmitted from the server 30 in step S111. The client device 10 displays a screen based on the received system response on the display 21. An example of such a screen is shown in FIG.

[0049] The screen in FIG. 7 includes objects J20 to J27. Object J20 indicates which of multiple phases that define the progress of the chat (i.e., the progress of the analysis project) the chat is currently in. In the example of Fig. 7, object J20 indicates that the chat is currently in the "setting the goal of the analysis" state.

[0050] The object J21 displays the main UI. The object J21 displays chat between the user and the data analysis agent, or the results of analysis (in other words, system responses and user instructions). The object J21 is configured to be capable of displaying at least the latest system responses or user instructions. Furthermore, the object J21 may be configured to be capable of displaying past system responses or user instructions in response to, for example, a scroll operation.

[0051] In the example of Fig. 7, object J21 displays the system response, "What would you like to analyze?" Furthermore, in the example of Fig. 7, objects J210a to J210b are arranged in object J21.

[0052] The object J210a receives a user instruction to select candidates for analysis. In the example of Fig. 7, the object J210a corresponds to a drop-down list, but can be replaced with any selection-based GUI component such as a list box, a check box, or a radio button.

[0053] The object J210b accepts a user instruction to confirm the selection of the object J210a. When the object J210b is selected, the client device 10 transmits to the server 30 information capable of identifying the candidate selected by the object J210a.

[0054] The object J22 accepts a user instruction. The client device 10 transmits the user instruction accepted by the object J22 to the server 30. In the example of Fig. 7, by using the object J22, the user can directly specify the analysis target without selecting the object J210a.

[0055] The object J23 displays a sub-UI. The object J23 is configured to be capable of displaying information on the main points of the analysis project, such as the data set used in the analysis, the purpose of the analysis (text), the results of the analysis, chat history, etc. The object J23 has objects J24 to J27 arranged therein.

[0056] The object J24 accepts a user instruction to switch between displaying and hiding information about the dataset used in the analysis. When the object J24 is selected, the client device 10 displays the information about the dataset used in the analysis in the object J23, or closes the information that has already been displayed. The information about the dataset used in the analysis may include, for example, at least one of the following pieces of information: The name of the file in which the dataset is stored -Names of data items (variables) included in the dataset (e.g., sales, date and time, etc.) - The type of data items (variables) included in the dataset (e.g., integer type, date type, etc.) -Examples of values ​​of data items (variables) included in the dataset

[0057] The object J25 accepts a user instruction to switch between displaying and hiding the purpose of analysis. When the object J25 is selected, the client device 10 displays the purpose of analysis in the object J23, or closes the information that has already been displayed. However, when the purpose of analysis has not been set, the client device 10 can use fixed text or an image such as "Undecided" instead of the purpose of analysis. Optionally, when the object J25 is selected, in addition to the purpose of analysis, an object that accepts a user instruction to edit the purpose may be displayed.

[0058] The object J26 accepts a user instruction to switch between displaying and hiding the results of an analysis that has already been performed in the current analysis project. When the object J26 is selected, the client device 10 displays the results of the analysis in the object J23, or closes the information that has already been displayed. However, when the analysis has not been performed, the client device 10 can use a fixed text or image, such as "none", in place of the results of the analysis. Optionally, when the object J26 is selected, in addition to the results of the analysis, an object that accepts a user instruction to edit the visual representation of the results (e.g., the format of a graph, etc.) may be displayed in an expanded manner.

[0059] The object J27 accepts a user instruction to switch between displaying and hiding the chat history. When the object J27 is selected, the client device 10 displays the chat history on the object J23 or closes the information that has already been displayed.

[0060] After step S211, the client device 10 executes reception of a user instruction (S212). Specifically, the client device 10 receives a user instruction to select or specify an analysis target from the user. In the example of Fig. 7, the user can select or specify an analysis target by operating the objects J210a to J210b or the object J22. The client device 10 transmits the received user instruction to the server 30.

[0061] After step S212, the server 30 executes identification of an analysis target (S112). Specifically, the server 30 receives the user instruction transmitted from the client device 10 in step S212. The server 30 identifies the analysis target based on the received user instruction. Here, for example, when a user instruction is obtained that specifies the analysis target by text, the server 30 may identify the analysis target by providing a model input based on the text to the natural language model. Optionally, when sufficient information to identify the analysis target is not obtained from the user instruction, the server 30 may re-execute steps S111 to S112.

[0062] After step S111, the server 30 executes generation of a system response (S113). Specifically, the server 30 generates a system response (message) asking the user what kind of analysis he / she wants to perform on the analysis target (i.e., the direction of the analysis), and transmits it to the client device 10. For example, the server 30 may generate the system response by inserting text corresponding to the analysis target identified in step S112 (which may include text generated by a natural language model based on the text) into a predefined message template. The system response may also include information indicating candidate analysis directions that can be taken on the analysis target. The information indicating the candidate analysis directions may include text that verbalizes the direction, an image (e.g., a graph) that helps understand the concept of the direction, or a combination thereof. The candidate analysis directions may be predefined according to, for example, the type of data item of the analysis target, the type of data item other than the analysis target, other elements, or a combination thereof.

[0063] After step S113, the client device 10 executes screen display (S213). Specifically, the client device 10 receives the system response transmitted from the server 30 in step S113. The client device 10 displays a screen based on the received system response on the display 21. An example of such a screen is shown in FIG.

[0064] The screen in FIG. 8 includes objects J20 to J27. In the example of FIG. 8, object J21 displays the system response, "The analysis subject is 'sales', isn't it? Next, please choose what kind of analysis you would like to perform. If there is no corresponding option, please enter it in the chat." Furthermore, in the example of FIG. 8, objects J211a to J211b are placed in object J21.

[0065] The object J211b receives a user instruction to select a candidate for the analysis direction. In the example of Fig. 8, the object J211a corresponds to a radio button, but can be replaced with any selection-based GUI component such as a drop-down list, a list box, or a radio button.

[0066] The object J211b accepts a user instruction to confirm the selection of the object J211a. When the object J211b is selected, the client device 10 transmits to the server 30 information capable of identifying the candidate selected by the object J211a.

[0067] In the example of FIG. 8, by using object J22, the user can directly specify the direction of analysis without selecting object J211a.

[0068] After step S213, the client device 10 executes reception of a user instruction (S214). Specifically, the client device 10 receives a user instruction to select or specify the direction of analysis from the user. In the example of Fig. 8, the user can select or specify the direction of analysis by operating the objects J211a to J211b or the object J22. The client device 10 transmits the received user instruction to the server 30.

[0069] After step S214, the server 30 executes the specification of the purpose of the analysis (S114). Specifically, the server 30 receives the user instruction transmitted from the client device 10 in step S214. The server 30 identifies the purpose of the analysis (i.e., a combination of the analysis target and the direction of the analysis) based on the received user instruction. That is, the server 30 obtains text indicating the purpose of the analysis. Here, for example, when a user instruction is obtained that specifies the direction of the analysis by text, the server 30 may provide a model input based on the text (which may further include text indicating the analysis target) to the natural language model to identify the purpose of the analysis. Optionally, when sufficient information is not obtained from the user instruction to identify the purpose of the analysis, the server 30 may re-execute steps S113 to S114.

[0070] After step S114, the server 30 executes generation of a system response (S115). Specifically, the server 30 generates a system response including the purpose of the analysis identified (verbalized) in step S114, and transmits the system response to the client device 10. For example, the server 30 may generate the system response by inserting text corresponding to the purpose of the analysis identified in step S114 into a predefined message template.

[0071] After step S115, the client device 10 executes screen display (S215). Specifically, the client device 10 receives the system response transmitted from the server 30 in step S115. The client device 10 displays a screen based on the received system response on the display 21. An example of such a screen is shown in FIG.

[0072] The screen in FIG. 9 includes objects J20 to J27. In the example of FIG. 9, object J212 is placed on object J21.

[0073] The object J212 displays a system response that informs the user of the purpose of the analysis identified in step S114. Thereafter, the purpose of the analysis can be expanded and displayed in the object J23 via the object J25 as necessary.

[0074] (3-2) Analysis and processing The analysis process of this embodiment will be described. Fig. 10 is a flowchart of the analysis process of this embodiment. Fig. 11 is a diagram showing an example of a screen displayed in the analysis process of this embodiment. Fig. 12 is a diagram showing an example of a screen displayed in the analysis process of this embodiment.

[0075] As shown in FIG. 10, the server 30 executes prediction of a suitable analysis method (S121). Specifically, the server 30 predicts an appropriate analysis method for the purpose of the analysis identified in step S110, based on the user input in the chat and the system response.

[0076] As an example, the server 30 may provide the natural language model with model input based on information obtained by user input, and infer an analysis method suitable for the purpose of the analysis. The analysis method may be, for example, regression (which may include future prediction) for the analysis target, classification, clustering, dimensionality reduction (e.g., principal component analysis), or a combination thereof. In addition, the specification of the analysis method may include the specification of data items to be used as explanatory variables.

[0077] As another example, an analysis method suitable for the purpose of the analysis may be identified, and available methods may be narrowed down from the analysis methods. The analysis method suitable for the purpose of the analysis may be defined in advance, for example. Whether each analysis method is available may be determined based on the name or type of the data item included in the data set acquired in step S100, the number of data samples included in the data set, etc.

[0078] As an option for predicting a suitable analysis method (S121), when there is insufficient information to predict an analysis method suitable for the purpose of the analysis, the server 30 may generate a system response to ask the user a question or to prompt the user to take a predetermined action, and output the system response to the chat. As an example, the server 30 may generate a system response to ask the user whether there is an additional data set related to the analysis, or to prompt the user to provide the additional data set.

[0079] After step S121, the server 30 executes generation of a system response (S122). Specifically, the server 30 generates a system response (message) asking the user whether to adopt the analysis method predicted in step S121. As an example, the system response may ask the user which of a plurality of analysis methods to select (multiple selections may be possible), or may ask the user whether to adopt each analysis method. For example, the server 30 may generate the system response by inserting text corresponding to the analysis method predicted in step S121 into a predefined message template. In addition, the system response may include, as information indicating possible analysis method candidates, text verbalizing the method, an image (e.g., a graph) that helps understand the concept of the method, or a combination thereof.

[0080] After step S122, the client device 10 executes screen display (S221). Specifically, the client device 10 receives the system response transmitted from the server 30 in step S122. The client device 10 displays on the display 21 a screen based on the received system response.

[0081] After step S221, the client device 10 executes reception of a user instruction (S222). Specifically, the client device 10 receives a user instruction to select or specify an analysis method from the user. The client device 10 transmits the received user instruction to the server 30.

[0082] After step S222, the server 30 executes determination of an analysis method (S123). Specifically, the server 30 receives the user instruction transmitted from the client device 10 in step S222. The server 30 determines the analysis method based on the received user instruction. Here, for example, when a user instruction is obtained that specifies the analysis method by text, the server 30 may determine the analysis method by providing a model input based on the text (which may further include text indicating the analysis target, the direction of the analysis, or a combination thereof) to the natural language model. Optionally, when sufficient information is not obtained from the user instruction to determine the analysis method, the server 30 may re-execute steps S121 to S123.

[0083] After step S123, the server 30 performs an inspection (S124) of the data set. Specifically, the server 30 checks the data set provided by the user with a predetermined algorithm in step S100 or at another timing. The algorithm may be determined differently depending on the analysis method determined in step S123. The check of the data set may include, for example, at least one of the following: Detecting data imperfections (e.g., missing values, outliers, inappropriate variation, inappropriate granularity, or a combination of these) -Judgement of whether the application conditions for the specified pre-processing are met

[0084] After step S125, the server 30 executes generation of a system response (S125). Specifically, the server 30 generates a system response based on the results of the check in step S124. The system response may include, for example, at least one of the following: A system response that prompts correction of imperfections in the data set discovered by the inspection in step S124 (e.g., removal of samples that contain missing values ​​or outliers). A system response proposing the implementation of a predetermined pre-processing (if it is determined in step S124 that the conditions for applying the predetermined pre-processing are met) A system response that searches for another dataset from an external source to compensate for the deficiencies in the dataset found by the inspection in step S124 and suggests using the dataset found from the external source.

[0085] The predetermined pre-processing may include, for example, at least one of the following: · Name matching -Exclusion of missing values Feature engineering (e.g., variable transformation, removal of similar (highly correlated) variables) Here, the server 30 may acquire inference results regarding the types of variables, hypotheses about relationships between variables, and the like from the natural language model, and perform preprocessing (particularly, feature engineering) based on the inference results.

[0086] After step S125, the client device 10 executes screen display (S223). Specifically, the client device 10 receives the system response transmitted from the server 30 in step S125. The client device 10 displays on the display 21 a screen based on the received system response.

[0087] After step S223, the client device 10 executes reception of a user instruction (S224). Specifically, the client device 10 accepts a user instruction corresponding to a response from the user to the screen displayed in step S223. The client device 10 transmits the accepted user instruction to the server 30.

[0088] As an example, the client device 10 may accept at least one of the following user instructions: User instructions to correct deficiencies identified by the system response (e.g., edit the data set) - User instructions to provide (upload) a data set that corrects deficiencies identified by the system response - User instruction to implement or not implement pre-processing suggested by the system response

[0089] After step S224, the server 30 executes acquisition of the target data set (S126). Specifically, the server 30 receives the user instruction transmitted from the client device 10 in step S224. In response to the received user instruction, the server 30 acquires a data set actually used for analysis (hereinafter referred to as a "target data set").

[0090] As a first example of acquiring the target data set (S126), when a user instruction to correct a deficiency pointed out by the system response is obtained, the server 30 acquires the target data set by editing the data set inspected in step S124 in accordance with the user instruction.

[0091] As a second example of acquiring the target data set (S126), when a user instruction is received to provide a data set in which the deficiencies pointed out by the system response have been corrected, the server 30 acquires the data set provided by the user instruction as the target data set. Alternatively, the server 30 may re-execute the data set inspection (S124) on the data set provided by the user instruction.

[0092] As a third example of acquiring a target data set (S126), when a user instruction is obtained requesting the implementation of pre-processing suggested by the system response, the server 30 acquires the target data set by performing the pre-processing on the data set inspected in step S124.

[0093] As a fourth example of acquiring the target dataset (S126), when a user instruction is obtained requesting not to perform the preprocessing suggested by the system response, the server 30 acquires the dataset inspected in step S124 as the target dataset as is.

[0094] If the inspection in step S124 finds no defects in the dataset and determines that the dataset does not satisfy any of the conditions for applying preprocessing, steps S125 to S126 can be omitted. That is, the server 30 can acquire the dataset inspected in step S124 as the target dataset as is.

[0095] After step S126, the server 30 performs an analysis (S127). Specifically, the server 30 performs analysis on the target data set acquired in step S126 using the analysis method determined in step S123.

[0096] The server 30 may also generate a graph illustrating the results of the analysis. As an example, the server 30 may obtain the graph by giving a command generated by the natural language model to a data analysis tool. The type of graph (e.g., line graph, bar graph, scatter plot, pie chart, bubble chart, radar chart, stacked graph, box plot, etc.) may be determined according to the purpose and method of analysis. The server 30 may determine important points in the graph according to the purpose and method of analysis.

[0097] Furthermore, the server 30 may generate text representing suggestions obtained from the results of the analysis. As an example, the server 30 may obtain the suggestions by providing a model input based on the results of the analysis to a natural language model. The suggestions may include, for example, at least one of the following information: Information describing the dependent variable, explanatory variables, or a combination of them (i.e., the variables selected according to the purpose of the analysis) (e.g., information summarizing the variables, such as the spread of the distribution or typical values) Information explaining the relationship between the objective variable and the explanatory variables (i.e., the results of the analysis) Information that explains the relationship between different explanatory variables Information explaining the statistical treatment of the analysis results (for example, if the analysis results are not statistically significant, a message stating that the results of this analysis may be due to chance, or if the analysis results are statistically significant, a message stating that the results of this analysis are unlikely to be due to chance (i.e., there is a certain degree of confidence)) Information explaining statistically significant explanatory variables (e.g., the explanatory variable with the lowest significance level, or the explanatory variable with the largest absolute value of the correlation coefficient among the significant explanatory variables) (e.g., the value of the correlation coefficient between the explanatory variable and the objective variable) Information describing the outliers (e.g. where they occur, what their magnitude is, etc.) Information explaining important points in the graph Information that recommends the implementation of other analytical methods

[0098] The topics covered by the suggestions may be narrowed down depending on the purpose of the analysis. 30 may score topics that may be addressed by suggestions using a natural language model, and generate suggestions only for topics whose scores meet a criterion.

[0099] The suggestions may be generated, for example, by inserting the results of the analysis (numerical values) into a pre-prepared template. The template is preferably a text that describes the results of the analysis without using statistical or data analysis terminology. This can help the user understand and assist them in applying the suggestions to concrete business actions.

[0100] After step S127, the server 30 executes generation of a system response (S128). Specifically, the server 30 generates a system response based on the results of the analysis generated in step S127. The system response may include, for example, a graph, a portion of the graph determined to be important, a suggestion, or a combination thereof.

[0101] After step S125, the client device 10 executes screen display (S225). Specifically, the client device 10 receives the system response transmitted from the server 30 in step S127. The client device 10 displays a screen based on the received system response on the display 21. An example of such a screen is shown in Figs. 11 and 12.

[0102] The screen in FIG. 11 includes objects J20 to J27. In the example of FIG. 11, object J20 indicates that the chat progress status is "analysis."

[0103] In the example of FIG. 11, objects J213a, J213a1, and J213b are placed on object J21.

[0104] Object J213a displays a line graph showing the relationship between the objective variable "sales volume" and the explanatory variable "date." Object J213a1 displays information indicating outliers as important points in the graph shown in object J213a.

[0105] The object J213b displays a suggestion. Specifically, the object J213b includes information about a summary of the objective variable and information explaining the outlier, such as "Sales volume generally fluctuates between about 100 and 400 units per day. During the New Year holidays and Golden Week, the sales volume increases to about 600 units per day, which is an outlier."

[0106] In the example of FIG. 12, objects J214a, J214a1, and J214b are placed on object J21.

[0107] Object J214a displays a box plot showing the relationship between the objective variable "sales volume" and the explanatory variable "neighborhood events."

[0108] Object J214a1 displays information indicating the difference between a value of interest (the median sales volume for the nearby event "nationwide") and the baseline (in the example of Figure 12, the median sales volume for the nearby event "none") as an important point in the graph shown in object J214a.

[0109] The object J214b displays a suggestion. Specifically, the object J214b includes information explaining the relationship between the objective variable and the explanatory variable, such as "When there is a nearby event 'nationwide,' the number of sales tends to be larger than when there is no nearby event. When comparing with the median, the increase in the number of sales is 30 units / day."

[0110] The server 30 may perform the analysis (S127) stepwise across multiple phases (e.g., aggregation, simple analysis, machine learning, etc.). That is, the client device 10 may accept a user instruction on the analysis result after step S225, and the server 30 may perform further analysis (S127), generate a system response (S128), and display the screen (S225). In this case, the server 30 may change at least one of the graph and the suggestion in response to the transition of the phase.

[0111] (4) Summary As described above, the server 30 of this embodiment manages the progress of chats regarding data analysis conducted with the user, and identifies the purpose of the user's analysis through the progress of the chat. The server 30 analyzes the target data set according to the purpose of the analysis, and outputs the results of the analysis of the target data set. This allows the user to obtain the analysis results he or she needs simply by answering questions given in the chat or performing actions requested in the chat. Therefore, even if a user is resistant to the CUI (Character User Interface) or GUI (Graphical User Interface), which are often found in conventional BI tools, he or she can freely try analysis from the perspective of interest without feeling any technical or psychological hurdles.

[0112] The progress of the chat may be defined using a number of predetermined phases. In each of the multiple phases, the server 30 may provide predetermined information or output a response to the chat to prompt the user to take a predetermined action without relying on input from the user. This allows the user to determine the purpose of the analysis, the analysis method to be selected, the data set to be prepared, and other such factors before starting the chat, and perform the necessary analysis.

[0113] The server 30 may predict an analysis method suitable for the purpose of the analysis based on the user input on the chat and the system response, and output information on the analysis method suitable for the predicted purpose of the analysis. This allows a user to perform an analysis according to the intended purpose and obtain the required results, even if the user does not have sufficient skills to incorporate the purpose of the analysis into the analysis design.

[0114] When the server 30 does not have enough information to predict an analysis method suitable for the purpose of the analysis, the server 30 may ask the user a question or output a system response to the chat to prompt the user to take a predetermined action. This makes it possible to appropriately predict the analysis method required by the user.

[0115] The server 30 may acquire a first dataset provided by a user, detect defects in the first dataset based on the purpose of the analysis, and output a response to the chat prompting the user to correct the defects in the first dataset according to the detection result. In this way, when a highly accurate analysis cannot be obtained as it is because the dataset provided by the user has defects or an appropriate dataset has not been provided, the defects can be corrected to perform a more accurate analysis.

[0116] The server 30 may acquire a first data set, which is a data set provided by a user, and output a response to the chat suggesting the implementation of pre-processing corresponding to the condition when the first data set matches a predetermined condition. This allows a user to select a necessary pre-processing even if the user does not have sufficient knowledge about pre-processing such as data cleansing. In other words, the man-hours of pre-processing can be reduced.

[0117] The server 30 may output information for displaying an area for displaying chat and an area for displaying the results of the analysis of the target data set on a single screen or in a switchable manner. This allows the user to refer to the results of the analysis and the chat simultaneously or alternately, to consider the next instruction to the system, or to deepen their understanding of the results of the analysis.

[0118] The results of the analysis of the target dataset may include a graph illustrating the results of the analysis of the target dataset and text that represents suggestions based on the results of the analysis of the target dataset. This allows a user to check the graph without performing command operations, and to understand the gist of the results of the analysis even if the user does not have sufficient statistical knowledge. In other words, it is possible to prevent a situation in which a user subjectively interprets the results of the analysis and takes something that cannot be shown to be objectively correct as if it were true, or overlooks something that can be shown to be objectively correct.

[0119] The suggestions may provide a description of the variables selected for the purpose of the analysis, or a description of the relationships between two or more variables, allowing the user to gain a deeper understanding of the variables (data items) that are the subject of the analysis.

[0120] The server 30 may determine the type of graph according to the purpose of the analysis and the analysis method used in the analysis. This allows the user to check the type of graph suitable for checking the results of the analysis without performing command operations or the like.

[0121] The server 30 may determine important points in the graph according to the purpose of the analysis and the analysis method used in the analysis, and output information indicating the points in the graph that are determined to be important, thereby allowing a user to understand the gist of the graph even if the user does not have sufficient background knowledge to properly interpret the graph.

[0122] The analysis of the target data set may be performed step by step across multiple phases. The server 30 may change at least one of the graph and the suggestions in response to the transition of the phases. In this way, even for a complex analysis, the results are presented step by step, so that a user can follow the steps to understand the gist of the results of the analysis, even if the user does not have sufficient background knowledge to properly interpret the results of the analysis.

[0123] (5) Other modifications The storage device 11 may be connected to the client device 10 via a network NW. The display 21 may be integrated with the client device 10. The storage device 31 may be connected to the server 30 via the network NW.

[0124] Each step of the above information processing can be performed by either the client device 10 or the server 30. For example, processing described as being performed by any device may be performed by another device, and processing described as being performed by the interaction of multiple devices may be performed by a single device.

[0125] In the above description, an example of executing each step in a specific order in each process is shown, but the execution order of each step is not limited to the example described above as long as there is no dependency between the steps. For example, in the above description, an example of setting the purpose of the analysis after acquiring a data set is shown. However, the two may be performed in the reverse order or in parallel.

[0126] Although the embodiment of the present invention has been described in detail above, the scope of the present invention is not limited to the above embodiment. Furthermore, the above embodiment can be improved or modified in various ways without departing from the spirit of the present invention. Furthermore, the above embodiment and the modified examples can be combined. [Explanation of symbols]

[0127] 1: Information processing system 10: Client device 11:Storage device 12: Processor 13: Input / Output Interface 14: Communication interface 21: Display 30: Server 31:Storage device 32 : Processor 33: Input / Output Interface 34: Communication interface

Claims

1. Computer, A means for managing the progress of chats regarding data analysis conducted between users; means for identifying a purpose of analysis of the user through the progress of the chat; means for analyzing a subject data set according to a purpose of said analysis; means for outputting the results of the analysis of said target dataset; A program that functions as a

2. The progress of the chat is defined using a plurality of predetermined phases; causing the computer to function as a means for providing predetermined information or outputting a response to the chat for prompting the user to take a predetermined action without an input from the user in each of the plurality of phases; The program according to claim 1.

3. The computer, A means for predicting an analysis method suitable for the purpose of the analysis based on a user input and a system response on the chat; A means for outputting information on an analysis method suitable for the predicted purpose of the analysis; To function as The program according to claim 2.

4. The computer is caused to function as a means for outputting a system response to the chat to ask the user a question or to prompt the user to take a predetermined action when there is insufficient information for making a judgment to predict an analysis method suitable for the purpose of the analysis. The program according to claim 3.

5. The computer, means for obtaining a first data set, the first data set being a data set provided by the user; means for detecting deficiencies in the first data set based on the objective of the analysis; means for outputting a response to the chat in response to a result of the detection, the response prompting the user to correct the deficiency in the first data set; To function as The program according to claim 2.

6. The computer, means for obtaining a first data set, the first data set being a data set provided by the user; means for outputting, when the first data set meets a predetermined condition, a response to the chat suggesting the execution of a preprocessing corresponding to the condition; To function as The program according to claim 2.

7. The output means outputs information for displaying the area displaying the chat and the area displaying the result of the analysis of the target dataset on a single screen or in a switchable manner. The program according to claim 1.

8. The results of the analysis of the target dataset include a graph illustrating the results of the analysis of the target dataset and text presenting suggestions based on the results of the analysis of the target dataset. The program according to claim 7.

9. The suggestion provides a description of variables selected for the purpose of the analysis, or a description of relationships between two or more variables. The program according to claim 8.

10. causing the computer to function as a means for determining the type of the graph in accordance with a purpose of the analysis and an analysis method used in the analysis; The program according to claim 8.

11. The computer, a means for determining important points in the graph according to a purpose of the analysis and an analysis method used in the analysis; means for outputting information indicating points determined to be important in the graph; To function as The program according to claim 8.

12. The analysis of the subject dataset is conducted in a stepwise manner over multiple phases; The output means changes at least one of the graph and the suggestion in response to a transition of the phase. The program according to claim 8.

13. The computer Managing the progress of a chat regarding data analysis conducted with a user; Identifying an objective of the user's analysis through the progress of the chat; Analysing a target dataset according to a goal of said analysis; outputting the results of the analysis of the target data set; How to do it

14. A means for managing a progress state of a chat regarding data analysis conducted with a user; A means for identifying an objective of the user's analysis through the progress of the chat; means for analyzing a subject data set according to a purpose of said analysis; means for outputting the results of the analysis of the target data set; An information processing device comprising:

15. A system composed of a plurality of computers, A means for managing a progress state of a chat regarding data analysis conducted with a user; A means for identifying an objective of the user's analysis through the progress of the chat; means for analyzing a subject data set according to a purpose of said analysis; means for outputting the results of the analysis of the target data set; A system comprising:

Citation Information

Patent Citations

  • Information processor for game parlor

    JP1997140895A

  • System and method for distributing electronic merchandise and program

    JP2003242372A

  • Guided analytics system and method

    JP2018005883A

  • Method and system for applying predictive model to generate watchlist

    JP2022161031A

  • SYSTEM AND METHOD FOR FACILITAING BOT COMMUNICATIONS - Patent application

    JP2022547470A