Information processing method, information processing program, and information processing device
The information processing method effectively groups customers by converting data into binarized strings and classifying them based on priority and association, addressing the challenge of diverse values and big data in detecting behavioral patterns and improving KPIs.
Patent Information
- Application Number
- JP2023179158
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-10-17
- Publication Date
- 2025-04-30
AI Technical Summary
Existing methods struggle to effectively group customers based on diverse values and vast amounts of big data, which limits their ability to detect changes in behavioral patterns and improve Key Performance Indicators (KPIs).
An information processing method that involves acquiring and prioritizing multiple data items, generating binarized data strings for each ID, and classifying these strings into groups based on priority and association, to extract and output multiple groups from big data.
Enables the extraction of multiple groups from a large dataset, allowing for more accurate detection of behavioral patterns and improved KPIs, even in diverse customer populations.
Smart Images

Figure 2025068997000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to an information processing method, an information processing program, and an information processing device for extracting a plurality of groups from a plurality of data. [Background technology]
[0002] In the field of marketing, appropriate measures are taken for each customer in order to improve KPIs (Key Performance Indicators). In order to take appropriate measures, it is important to find changes in behavioral patterns that occur in common among customers with specific characteristics. Patent Document 1 proposes a behavioral pattern exploration system that aims to find changes in behavioral patterns that lead to improvement of KPIs among changes in behavioral patterns that occur in common among customers with specific characteristics. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2019-148897 A Summary of the Invention [Problem to be solved by the invention]
[0004] In order to find changes in behavioral patterns, it is necessary to group customers. In conventional technology, customers are grouped using customer attributes (age, gender, etc.) and purchase history. However, in recent years, as values have become more diverse, it is difficult to appropriately group customers using only customer attributes and purchase history. In addition, with the spread of IT communication technology, it has become possible to collect a wide variety of data related to daily life, so-called big data, but this has not been utilized for grouping customers.
[0005] The present invention has been made in view of the above circumstances. An object of the present invention is to provide an information processing method, an information processing program, and an information processing device for extracting a plurality of groups from a plurality of data such as big data. [Means for solving the problem]
[0006] An information processing method according to one embodiment of the present application includes a process in which a computer executes a process of acquiring a plurality of data items each including a plurality of items, acquiring priorities assigned to the items, generating a binary data string for each of a plurality of IDs by combining the plurality of variables into which each item has been binarized, classifying the generated binary data strings into a plurality of groups based on the priorities and the relevance of the combinations of the plurality of variables, defining and extracting characteristics of the groups, and outputting the extracted plurality of groups. Effect of the Invention
[0007] In one aspect of the present application, it is possible to extract a plurality of groups from a plurality of data. [Brief description of the drawings]
[0008] [Figure 1] FIG. 1 is an explanatory diagram illustrating an example of the configuration of an analysis system. [Diagram 2] FIG. 2 is a block diagram showing an example of a hardware configuration of a server. [Diagram 3] FIG. 2 is a block diagram showing an example of a hardware configuration of a user terminal. [Figure 4] FIG. 11 is an explanatory diagram showing an example of a region DB. [Diagram 5] FIG. 11 is an explanatory diagram illustrating an example of a model DB. [Figure 6] FIG. 13 is an explanatory diagram showing an example of a purpose DB. [Figure 7] FIG. 11 is an explanatory diagram showing an example of a data condition DB; [Figure 8] FIG. 2 is an explanatory diagram showing an example of a public data catalog DB. [Figure 9] FIG. 13 is an explanatory diagram showing an example of a other company's data catalog DB. [Figure 10]FIG. 2 is an explanatory diagram showing an example of a company data catalog DB. [Figure 11] 13 is a flowchart illustrating an example of a procedure for data acquisition processing. [Figure 12] 13 is a flowchart illustrating an example of a procedure for a main process. [Figure 13] 13 is a flowchart illustrating an example of an analysis process procedure. [Figure 14] 13 is a flowchart illustrating an example of an analysis process procedure. [Figure 15] 13 is a flowchart illustrating an example of an analysis process procedure. [Figure 16] 13 is a flowchart illustrating an example of an extraction process procedure. [Figure 17] FIG. 11 is an explanatory diagram showing an example of binarization. [Figure 18] FIG. 13 is an explanatory diagram showing an example of a condition setting screen. [Figure 19] FIG. 13 is an explanatory diagram showing an example of a data list screen. [Figure 20] FIG. 13 is an explanatory diagram showing an example of a priority setting screen. [Figure 21] FIG. 13 is an explanatory diagram showing an example of a result screen. [Figure 22] FIG. 13 is an explanatory diagram showing another example of the result screen. [Figure 23] FIG. 1 is an explanatory diagram showing an example of a customer journey map. [Figure 24] FIG. 13 is an explanatory diagram showing another example of the priority setting screen. [Diagram 25] FIG. 13 is an explanatory diagram showing an example of a customer loyalty fluctuation diagram. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0009] (Embodiment 1) Hereinafter, an embodiment will be described with reference to the drawings. Fig. 1 is an explanatory diagram showing an example of the configuration of an analysis system. The analysis system 100 includes an analysis server 1, a user terminal 2, a closed DB 3, and an open DB 4. Each component is connected to each other via a network N so as to be able to communicate with each other.
[0010] The analysis server 1 analyzes multiple data, extracts multiple groups, and transmits the results to the user terminal 2. The analysis server 1 is configured with a server computer, a workstation, a PC (Personal Computer), etc. The analysis server 1 may also be configured with a multicomputer consisting of multiple computers, a virtual machine virtually constructed by software, or a quantum computer. Furthermore, the functions of the analysis server 1 may be realized by a cloud service.
[0011] The user terminal 2 is used to select data to be used in the analysis and to set up the analysis. The user terminal 2 also receives and displays the results of the analysis from the analysis server 1. The user terminal 2 may be configured as a notebook computer, a panel computer, a tablet computer, a smartphone, or the like. Although only one user terminal 2 is illustrated in FIG. 1, two or more user terminals may be used.
[0012] The closed DB 3 stores data owned by the user that can be used for analysis. Hereinafter, the data stored in the closed DB 3 is referred to as in-house data. The in-house data is obtained from business systems such as a customer management system, a CRM (Customer Relationship Management) system, an SFA (Sales Force Automation) system, and an MA (Marketing Automation) system, and it is preferable that the data is processed so that individuals cannot be identified. In addition, attributes are assigned and the format is converted so that the data can be used by the present analysis system 100.
[0013] The open DB4 stores data that can be used for analysis, such as data made public by the nation, local governments, and public institutions, and data made public or sold by private companies such as research companies and think tanks. Hereinafter, of the data stored in the open DB4, data made public by the nation, local governments, and public institutions will be referred to as public data, and data made public or sold by private companies such as research companies and think tanks will be referred to as other company data. As with in-house data, the public data and other company data stored in the open DB4 are assumed to have attributes added and their formats converted so that they can be used by the present analysis system 100. Alternatively, the analysis server 1 is assumed to be equipped with a pre-processing tool that adds attributes to the public data and other company data and converts their formats.
[0014] The in-house data, public data, and other company data handled by the analysis system 100 include multiple types of data. Each data consists of multiple records. Each record includes multiple data items. An ID that can identify the record is assigned to each record. The ID is linked to a specific person, object, or event. The ID makes it possible to link records between different data sets. For example, by using a customer ID in in-house data and linking customer attributes stored in the customer DB with the sales details DB, it becomes possible to analyze what customers with certain attributes (age, gender, place of residence) purchased what products.
[0015] Also, each data may be consecutive in time. In this case, multiple records with the same ID exist in one data, and it is possible to determine the order of each record by sequence number or time. For example, it is possible to understand the customer's behavior leading up to conversion by using the customer ID and web browsing history including time information.
[0016] 2 is a block diagram showing an example of the hardware configuration of the server. The analysis server 1 includes a control unit 11, a main memory unit 12, an auxiliary memory unit 13, a communication unit 14, and a reading unit 15. Each component is connected by a bus B.
[0017] The control unit 11 has one or more arithmetic processing devices such as a CPU (Central Processing Unit), an MPU (Micro-Processing Unit), a GPU (Graphics Processing Unit), etc. The control unit 11 reads out and executes a control program 1P (program, program product) stored in the auxiliary storage unit 13, thereby performing various information processing, control processing, etc.
[0018] The main memory unit 12 is a static random access memory (SRAM), a dynamic random access memory (DRAM), a flash memory, etc. The main memory unit 12 mainly temporarily stores data necessary for the control unit 11 to execute arithmetic processing.
[0019] The auxiliary storage unit 13 is a hard disk or a solid state drive (SSD) or the like, and stores the control program 1P and various DBs (databases) necessary for the control unit 11 to execute processing. The auxiliary storage unit 13 stores an area DB 131, a model DB 132, a purpose DB 133, a data condition DB 134, a public data catalog DB 135, and a third party data catalog DB 136. The auxiliary storage unit 13 may be separate from the analysis server 1 and may be an external storage device connected externally. The various DBs and the like stored in the auxiliary storage unit 13 may be stored in a database server or cloud storage different from the analysis server 1.
[0020] The communication unit 14 communicates with the user terminal 2, the closed DB 3, or the open DB 4 via the network N. In addition, the control unit 11 may use the communication unit 14 to download the control program 1P from another computer via the network N or the like, and store it in the auxiliary storage unit 13.
[0021] The reading unit 15 reads the portable storage medium 1a including a CD (Compact Disc)-ROM and a DVD (Digital Versatile Disc)-ROM. The control unit 11 may read the control program 1P from the portable storage medium 1a via the reading unit 15 and store it in the auxiliary storage unit 13. The control unit 11 may also read the control program 1P from the semiconductor memory 1b.
[0022] 3 is a block diagram showing an example of the hardware configuration of a user terminal 2. The user terminal 2 includes a control unit 21, a main memory unit 22, an auxiliary memory unit 23, a communication unit 24, an input unit 25, and a display unit 26. Each component is connected by a bus B.
[0023] The control unit 21 has one or more arithmetic processing devices such as a CPU, an MPU, a GPU, etc. The control unit 21 provides various functions by reading and executing a control program 2P (program, program product) stored in the auxiliary storage unit 23.
[0024] The main memory unit 22 is an SRAM, a DRAM, a flash memory, etc. The main memory unit 22 mainly temporarily stores data necessary for the control unit 21 to execute arithmetic processing.
[0025] The auxiliary storage unit 23 is a hard disk or an SSD, etc., and stores various data necessary for the control unit 21 to execute processes. The auxiliary storage unit 23 may be a separate unit from the user terminal 2 and an external storage device externally connected.
[0026] The communication unit 24 communicates with the analysis server 1, the closed DB 3, and the open DB 4 via the network N. In addition, the control unit 21 may use the communication unit 24 to download the control program 2P from another computer via the network N or the like, and store it in the auxiliary storage unit 23.
[0027] The input unit 25 is a keyboard and a mouse. The display unit 26 includes a liquid crystal display panel or an organic EL (electroluminescence) display panel. The display unit 26 displays the analysis results output by the analysis server 1. The input unit 25 and the display unit 26 may be integrated to configure a touch panel display. The user terminal 2 may display on a separate display device such as a liquid crystal monitor that is externally connected.
[0028] The database used in the analysis system 100 will now be described. Fig. 4 is an explanatory diagram showing an example of a region DB. The region DB 131 stores information on regions that can be analyzed (analysis regions). The region DB 131 includes a region ID column and a region name column. The region ID column stores a region ID that can uniquely identify a region. The region name column stores a name that represents a region.
[0029] 5 is an explanatory diagram showing an example of a model DB. The model DB 132 stores information about models obtained by analysis. The model DB 132 includes a model ID column and a model name column. The model ID column stores a model ID that can uniquely identify a model. The model name column stores a model name that represents a model.
[0030] 6 is an explanatory diagram showing an example of a purpose DB. The purpose DB 133 stores information on purpose candidates that can be the purpose of analysis. The purpose DB 133 includes a purpose ID column and a purpose column. The purpose ID column stores a purpose ID that can uniquely identify a purpose. The purpose column stores a purpose.
[0031] FIG. 7 is an explanatory diagram showing an example of a data condition DB. The data condition DB 134 stores data selection conditions (data selection conditions) corresponding to the domain, model, and purpose related to the analysis. The data condition DB 134 includes a domain ID column, a model ID column, a purpose ID column, and a condition column. The domain ID column stores domain IDs. The model ID column stores model IDs. The purpose ID column stores purpose IDs. The condition column stores data selection conditions corresponding to domain IDs, model IDs, and purpose IDs. In the example shown in FIG. 7, the selection conditions are tags indicating the contents, features, etc. of the data.
[0032] FIG. 8 is an explanatory diagram showing an example of a public data catalog DB. The public data catalog DB 135 stores a catalog of public data stored in the open DB 4. The public data catalog DB 135 includes an ID column, a name column, and a tag column. The ID column stores an ID that can uniquely identify data. The name column stores the name of the data. The tag column stores tags that indicate the contents, characteristics, etc. of the data. The public data catalog DB 135 may store the total number of items included in each data, key items, the contents of each item, data formats, and expression formats.
[0033] FIG. 9 is an explanatory diagram showing an example of a third-party data catalog DB. The third-party data catalog DB 136 stores a catalog of other company data stored in the open DB 4. The third-party data catalog DB 136 includes an ID column, a name column, and a tag column. The ID column stores an ID that can uniquely identify data. The name column stores the name of the data. The tag column stores tags that indicate the content, characteristics, etc. of the data. Like the public data catalog DB 135, the third-party data catalog DB 136 may store the total number of items included in each data, key items, the content of each item, data format, and expression format.
[0034] FIG. 10 is an explanatory diagram showing an example of a private data catalog DB. The private data catalog DB 31 stores a catalog of private data stored in the closed DB 3 owned by each user. When using the analysis system 100, each user prepares the private data catalog DB 31 and stores it in the closed DB 3 or the auxiliary storage unit 23 of the user terminal 2. When using the analysis system 100, the private data catalog DB 31 is provided to the analysis server 1. A dedicated area for each user may be prepared in the auxiliary storage unit 13 of the analysis server 1 to store the private data catalog DB of each user. The private data catalog DB 31 includes an ID column, a name column, and a tag column. The ID column stores an ID that can uniquely identify data. The name column stores the name of the data. The tag column stores tags that indicate the contents, characteristics, etc. of the data. As with the public data catalog DB 135, the private data catalog DB 31 may store the total number of items included in each data, key items, the contents of each item, the data format, and the expression format.
[0035] Next, a description will be given of information processing performed by the analysis system 100. First, a description will be given of analysis in an initial state. The initial state here refers to a state in which the domain DB 131, the model DB 132, the objective DB 133, the data condition DB 134, the public data catalog DB 135, and the other company's data catalog DB 136 have not yet been prepared.
[0036] FIG. 11 is a flowchart showing an example of a procedure of a data acquisition process. A user sets a data input method. Here, two patterns are assumed: uploading a file and acquiring via the Internet. The control unit 21 of the user terminal 2 accepts the input setting (step S101). The control unit 21 transmits the setting to the server 1 (step S102). The control unit 11 of the server 1 receives the setting (step S103). The control unit 11 judges whether the input setting is uploading or not (step S104). When the control unit 11 judges that the input setting is not uploading (NO in step S104), it transmits an acquisition screen for specifying an acquisition destination to the user terminal 2 (step S105). The control unit 21 of the user terminal 2 receives and displays the acquisition screen (step S106). The user sets a data acquisition destination on the acquisition screen. The acquisition method is Web API, FTP (File Transfer Protocol), crawling of a Web page, or the like. The control unit 21 accepts the setting (step S107). The control unit 21 transmits the setting to the server 1 (step S108). The control unit 11 of the server 1 receives the setting (step S109). The control unit 11 acquires data according to the setting (step S110). The control unit 11 stores the acquired data in the auxiliary storage unit 13 or the like (step S111). When the control unit 11 determines that the input setting is upload (YES in step S104), it transmits a designation screen for designating data for uploading to the user terminal 2 (step S114). The control unit 21 of the user terminal 2 receives the designation screen and displays it (step S115). The user sets the data to be uploaded in the designation screen. It is desirable that the data name and the name of the data item are written in the header or the like for each data. The data to be set is assumed to be a file, but it may be text data pasted into a Web form. An ID for identifying an individual is assigned to each acquired data. The ID allows records of the same person to be combined into one. The control unit 21 accepts the designation (step S116). The control unit 21 transmits the specified data to the server 1 (step S117). The control unit 11 of the server 1 receives the data (step S118). The control unit 11 stores the data in the auxiliary storage unit 13 or the like (step S111).The control unit 11 creates a list of the names of the acquired data and the item names included in each data, and transmits it to the user terminal 2 (step S112). The control unit 21 of the user terminal 2 receives the list and displays it (step S113). The control unit 21 ends the process.
[0037] FIG. 12 is a flowchart showing an example of the procedure of the main process. The main process is executed following the data acquisition process. The list displayed in the data acquisition process includes the acquired data and the data items included in each data. The user inputs the priority of the data when performing the analysis. The priority can be set for each data item, and can also be set for each data item. It is not necessary to set the priority for all data and all data items. The control unit 21 of the user terminal 2 accepts the input (step S121). The control unit 21 transmits the accepted priority to the server 1 (step S122). The control unit 11 of the server 1 receives the priority (step S123). The control unit 11 rearranges the data and data items according to the priority. The control unit 11 updates the screen to one for setting a rank for each data item, and transmits it to the user terminal 2 (step S124). The control unit 21 of the user terminal 2 receives the screen and displays it (step S125). The user inputs a rank setting for each item. For example, if the data item is gender, the user inputs four rank settings: male, female, other, and no answer. It is not necessary to set ranks for all items. The control unit 21 accepts the rank setting (step S126). The control unit 21 transmits the rank setting to the server 1 (step S127). The control unit 11 of the server 1 receives the rank setting (step S128). The control unit 11 sets ranks for each data item (step S129). For data items for which the user has input a rank setting, the control unit 11 sets ranks according to the input, and for data items for which no rank setting has been set, the control unit 11 sets ranks. For example, for data items that take numerical values, four ranks are set at equal intervals based on the maximum and minimum values. The control unit 11 creates a screen for confirming the rank setting and transmits it to the user terminal 2 (step S130). The control unit 21 of the user terminal 2 receives and displays the confirmation screen (step S131). The user refers to the confirmation screen and inputs whether the rank setting is OK or whether correction is required. The control unit 21 judges whether the rank setting is OK or not based on the user input (step S132). If the control unit 21 determines that the class setting is not OK (NO in step S132), it accepts the class setting (step S126). If the control unit 21 determines that the class setting is OK (YES in step S132), it performs analysis processing (step S133) and ends the processing.
[0038] FIG. 13 is a flowchart showing an example of the procedure of the analysis process. The control unit 21 of the user terminal 2 transmits to the server 1 a message that the class setting is OK (step S141). The control unit 11 of the server 1 receives the message that it is OK (step S142). The control unit 11 binarizes all the data according to the class setting, and generates a binary data string that is combined for each ID (step S143). The value of each item is converted to a binary number with the same number of digits as the number of classes. Each bit is made to correspond to a class. Then, the bit of the class that the value before conversion corresponds to is set to 1, and the other bits are set to 0. The binarized data is combined for each ID to become a binary data string. Thereafter, each binary data string becomes one record.
[0039] The control unit 11 sorts the bit sequence of each binarized data string based on the priority (step S144). The control unit 11 performs clustering (step S145). The control unit 11 extracts topics from all records using topic modeling with LDA (Latent Dirichlet Allocation), for example. The number of topics is determined by BIC (Bayesian Information Criterion), etc. Items (bits) not selected as topics are deleted from all records to create records with reduced dimensions.
[0040] The control unit 11 classifies the created records (step S146). The control unit 11 classifies all the records using a text classification function of an LLM (Large Language Model). As described above, the binarized data string in which the bit sequence is sorted based on the priority is treated as a feature vector, and classification is performed. Therefore, it can be said that the classification is based on the priority and the relevance of the combination of multiple variables. Furthermore, each classification group is characterized by a bit pattern, and all the records are classified by the bit pattern. The process of determining the bit pattern for each classification group corresponds to defining the features. Classifying all the records into one of the classification groups corresponds to extracting a group.
[0041] The control unit 11 inputs the data into a hidden Markov model or the like, and calculates the transition probability between each group (step S147). The initial probability and the output probability may be calculated together with the transition probability. Note that the method of classifying records can be realized by known techniques as disclosed in JP 2021-89555 A.
[0042] The control unit 11 creates an output screen (step S148). The control unit 11 transmits the created screen to the user terminal 2 (step S149). The control unit 21 of the user terminal 2 receives and displays the screen (step S150). The control unit 21 returns to the caller of the process. The output screen will be described later.
[0043] The above process is a basic process for extracting multiple groups from multiple data items. When the data to be processed is customer behavior data in marketing, the above process makes it possible to extract multiple customer loyalty models.
[0044] The group extraction results will differ if the data entered is different, but they will also differ depending on the class and priority settings. After referring to the initial extraction results, the user can change the input data, class and priority settings and repeat the analysis to find a new customer loyalty model.
[0045] In this embodiment, when the data to be processed is customer behavior data in marketing, each resulting group is a customer behavior model. The method in this embodiment differs from the conventional technology in that it is not necessary to assume the resulting model, but rather a mechanism-based behavior model can be created from scratch.
[0046] The mechanism-based behavioral model is a model that is expressed by multiple royalty models for a target index, the constituent factors of the models, changes due to states, time and trigger factors, and interrelationships between the models. In this embodiment, by binarizing the data, it is possible to treat all data equally, and by using a dimensionality reduction method in clustering, it is possible to extract data and data items of interest and allow the user to confirm them. In other words, it is possible to quantitatively define multiple royalty models from data as a group of optimal combination variable patterns of all data involved (behavior, social environment, corporate and public policies, trends, etc.) by utilizing language models and mathematical science.
[0047] In this embodiment, the user is prompted to input a priority for each piece of data to be input and for data items contained in each piece of data. It is also possible to change the priority and perform processing again after obtaining the results. That is, in this embodiment, the purpose is not to create a behavioral model, but to create a behavioral model whose mechanism is understandable. Furthermore, through the process of creating a behavioral model, customer behavior and social activity can be analyzed in more detail, specifically, and quantitatively, and it becomes possible to obtain a quantitative basis for decision-making such as business decision marketing, conception and planning of social policies, and strategy planning.
[0048] (Embodiment 2) This embodiment relates to a form in which data that can be used for analysis is prepared and organized in advance. In this embodiment, information processing performed by the analysis system 100 will be described. FIGS. 14 and 15 are flowcharts showing an example of the procedure of analysis processing. A user operates the user terminal 2 to log in to the analysis system 100. When the user selects start of analysis on a menu screen or the like displayed after logging in, the control unit 21 of the user terminal 2 displays a condition setting screen. The user sets conditions for analysis using the condition setting screen. The conditions to be specified are an area, a model, and a purpose. The control unit 21 accepts the condition setting (step S1). The control unit 21 transmits the condition setting to the analysis server 1 (step S2). The control unit 11 of the analysis server 1 receives the condition setting (step S3). The condition setting includes an area ID, a model ID, and a purpose ID. The control unit 11 creates a list of data corresponding to the received condition setting (step S4). The control unit 11 refers to the data condition DB 134 and acquires data conditions corresponding to the area ID, model ID, and purpose ID included in the condition setting. The control unit 11 uses the data conditions to search the public data catalog DB 135 and the other company's data catalog DB 136, and creates a list of public data and other company's data that meet the conditions. The control unit 11 accesses the company's data catalog DB 31 stored in the closed DB 3, or accesses the company's data catalog DB 31 temporarily stored in the auxiliary storage unit 13, etc., via the network N, and creates a list of company's data that meets all or part of the conditions. For example, when the domain is marketing (domain ID=A0001), the model is consumer behavior and decision-making (model ID=M0001), and the purpose is to develop effective advertising and sales strategies (purpose ID=P0002), the data to be acquired is data with #marketing or #behavioral characteristics attached as tags. Therefore, from the public data, "social environment and social situation data" and "natural environment data" are selected. From the other company's data, "personal characteristic data", "behavioral data toward products, apps, services, etc.", "product and service side characteristic data", and "distribution and POS data" are selected.From the company's data, "personal characteristic data," "behavioral data for products, apps, services, etc.," "characteristic data for products and services," and "distribution and POS data" are selected. In each list, the order in which the data is displayed may be sorted according to the suitability of the conditions. For example, when the condition is made up of a plurality of tags, the data is sorted in descending order of the number of tags that match the conditions. Note that data that does not match the conditions may be added to the end of the list to be included. The control unit 11 creates a screen including a list of public data, a list of other company data, and a list of the company's data, and transmits it to the user terminal 2 (step S5). The control unit 21 of the user terminal 2 receives and displays the screen (step S6). Note that the data to be selected may be narrowed down by specifying the data type (company data, public data, or other company data) on the screen. The user selects data to be used for analysis from the data list displayed on the screen. The control unit 21 accepts the selection (step S7). The control unit 21 transmits the selection result to the analysis server 1 (step S8). The control unit 11 of the analysis server 1 receives the selection result (step S9). The control unit 11 creates a setting screen for setting the priority of data and data items, and transmits it to the user terminal 2 (step S10). In the analysis process, data and data items with a high priority are referenced more frequently, and data and data items with a low priority are referenced less frequently. The control unit 21 of the user terminal 2 receives and displays the setting screen (step S11). The user sets the priority. The control unit 21 accepts the setting (step S12). The control unit 21 transmits the setting to the analysis server 1 (step S13). The control unit 11 of the analysis server 1 receives the setting (step S14). The control unit 11 sets a rank for each data item (step S15).
[0049] For example, if the data item is gender, there will be four classes: male, female, other, and no response. If the data item is age and the data only contains records of people over the age of 20, there will be four classes: 20-34, 35-49, 50-64, and 65 and over. For example, if the data item indicates the interval between two points in time, there will be four classes: 1 week, 2-4 weeks, 5-12 weeks, and 13-52 weeks. For data items whose values are not known in advance, there will be four classes at equal intervals based on the maximum and minimum values, for example.
[0050] If the data item is purchased products and there are two main products, there will be three classes, such as Product 1, Product 2, and Other Products. If the data item is cumulative number of purchases, there will be two classes, such as 1 time and 2 times or more. If the data item is cumulative purchase amount, there will be four classes, such as under 50,000 yen, 50,010 to 100,000 yen, 100,010 to 200,000 yen, and 200,010 yen or more.
[0051] Since it would be a processing burden to obtain the maximum and minimum values of each data item each time, it may be possible to register the data in the catalog DB when registering new data or updating the data in the closed DB 3 or open DB 4. There may be data items for which no rank is set.
[0052] The control unit 11 creates a setting screen for setting or changing the rank for each data item, and transmits it to the user terminal 2 (step S16). The control unit 21 of the user terminal 2 receives and displays the setting screen (step S17). The user sets the rank. Note that since rank setting is necessary for all data items, the user must set at least the rank for data items for which the analysis server 1 has not set a rank. The control unit 21 accepts the rank setting (step S18). The control unit 21 transmits the setting (step S19). The control unit 11 of the analysis server 1 receives the setting (step S20). Moving to FIG. 15, the control unit 11 of the analysis server 1 performs an extraction process (step S21). The extraction process will be described later. The control unit 11 creates a screen including the extraction result (step S22). The control unit 11 transmits the screen to the user terminal 2 (step S23). The control unit 21 of the user terminal 2 receives and displays the screen (step S24). The control unit 21 ends the process.
[0053] Fig. 16 is a flowchart showing an example of the procedure for extraction processing. The control unit 11 of the analysis server 1 generates a binary data string by binarizing the value of each item for all records of all data to be processed according to the class setting (step S31). The value of each item is converted into a binary number with the same number of digits as the number of classes. Each bit is made to correspond to a class. Then, the bit of the class that the value before conversion corresponds to is set to 1, and the other bits are set to 0.
[0054] FIG. 17 is an explanatory diagram showing an example of binarization. In the case where the classes are set as described above, if a certain record is 56 years old, male, the period from accessing the product page to the purchase is 3 weeks, product 1 is purchased, the cumulative number of purchases is 1, and the cumulative purchase amount is 60,000 yen, the results will be as follows. Since age 56 corresponds to the class 50 to 64 years old, the age will be 0010. Since gender male corresponds to the class male, the gender will be 1000. Since the period until purchase is 3 weeks corresponds to the class 2 to 4 weeks, the period until purchase is 0100. Since product 1 corresponds to the class product 1, the product will be 100. Since the cumulative number of purchases is 1 corresponds to the class 1, the cumulative number of purchases is 10. Since the cumulative purchase amount is 60,000 yen corresponds to the class 50 to 100,000 yen, the cumulative purchase amount is 0100. Items other than those shown in FIG. 17 are also binarized using the class settings. Then, by concatenating all items (binary multiple variables) except for the ID, all records become binary numbers with the same number of bits (binary data).
[0055] Returning to FIG. 16, the control unit 11 sorts the bit sequence of each binarized data string based on the priority (step S32). The control unit 11 performs clustering of the records (step S33). The control unit 11 extracts topics from all records by topic modeling with, for example, LDA (Latent Dirichlet Allocation). The number of topics is determined by BIC (Bayesian Information Criterion) or the like. Items (bits) not selected as topics are deleted from all records to create records with reduced dimensions. The control unit 11 inputs the records with reduced dimensions into a variational autoencoder and classifies them into multiple groups. The above-mentioned data item groups and the priorities attached to each data item are used as weights, etc., in the process of extracting topics and classifying them into groups.
[0056] The control unit 11 classifies the created records (step S34). The control unit 11 classifies all the records using a sentence classification function of an LLM (Large Language Model). As described above, a bit pattern that characterizes each classification group is defined, and all the records are classified according to the requirement of the group that the record has the bit pattern.
[0057] The control unit 11 inputs the data into a hidden Markov model or the like, and calculates the transition probability between each group (step S35). The control unit 11 returns the process to the caller. The initial probability and the output probability may be calculated together with the transition probability. Note that the method of classifying records and the like can be realized by known techniques, as disclosed in JP 2021-89555 A.
[0058] Next, an example of a screen displayed by the user terminal 2 is shown. Fig. 18 is an explanatory diagram showing an example of a condition setting screen. The condition setting screen d01 is a screen for setting an analysis area, a behavior model, and a purpose, which are data selection conditions. The condition setting screen d01 includes an area column d011, a model column d012, and a purpose column d013. The user selects the analysis area using the area column d011. The user selects a behavior model using the model column d012. The user selects the purpose of the analysis using the purpose column d013.
[0059] Fig. 19 is an explanatory diagram showing an example of a data list screen. The data list screen d02 includes a company's own data column d021, a public data column d022, and a third-party data column d023. The company's own data column d021 allows the user to select the company's own data to be used for analysis. The public data column d022 allows the user to select the public data to be used for analysis. The third-party data column d023 allows the user to select the third-party data to be used for analysis.
[0060] Fig. 20 is an explanatory diagram showing an example of a priority setting screen. The priority setting screen d03 includes a setting table d031, a back button d032, and a next button d033. The setting table d031 allows the setting of priority for item groups and each item. Selecting the back button d032 returns to the previous screen (for example, the data list screen d02). Selecting the next button d033 moves to the next screen.
[0061] FIG. 21 is an explanatory diagram showing an example of a result screen. The result screen d04 shows that the state of a purchaser or potential purchaser of a certain product has been divided into five groups through analysis. The result screen d04 includes a customer journey map d041 (transition diagram) and a definition table d042. In the customer journey map d041, each node indicates customer loyalty. The arcs connecting the nodes and the numbers attached to them indicate the probability that customer loyalty will change from the node source to the node destination.
[0062] Definition table d042 shows the definition of customer loyalty. The leftmost column of definition table d042 shows the feature (group) focused on when grouping. As described above, all records to be grouped are binary numbers of the same length, so the feature of each group can be expressed as a binary number, that is, a bit pattern. The bit position of the binary number indicating the feature can specify the correspondence between the feature and the item. In FIG. 21, five groups are formed from seven item groups: "Purchase", "Interest in Use", "Consideration of Additional Purchase", "Interest in Photography Technique", "Community Level", "Style Active Level", and "Smart Control Level". In other words, the other group items are truncated in the grouping.
[0063] In the definition table d042, the column where each customer loyalty and feature intersects indicates the strength of correlation (relationship) between the customer loyalty and the feature. A black circle indicates a strong correlation. A triangle indicates a weak correlation. A blank column indicates almost no correlation.
[0064] When a grouped feature is selected on the result screen shown in FIG. 21, the included feature (subitem) can be displayed. FIG. 22 is an explanatory diagram showing another example of the result screen. FIG. 22 shows only the definition table d042 of the result screen d04. FIG. 22 shows that the feature of the group name "purchase" includes "feature 1", "feature 2", "feature 3", etc. The feature grouping may be a hierarchical structure, or "feature 1" may be a group of feature that groups multiple feature amounts. The correlation between each of "feature 1", "feature 2", "feature 3", etc. and each customer loyalty may also be shown in the definition table d042.
[0065] In the customer journey map d041 shown in FIG. 21, each customer loyalty is simply assigned a number to distinguish it from others. The characteristics of each customer loyalty need to be read by referring to the definition table d042. Therefore, the definition table d042 may be read into a large-scale language model to generate a name indicating the characteristics of each customer loyalty. The large-scale language model may be GPT-4, BERT, LLaMA, or the like.
[0066] An example of the correspondence between the feature amount having high or low correlation and the name indicating customer loyalty is stored in the database. The control unit 11 of the analysis server 1 acquires an example of the name of the feature amount having high correlation with customer loyalty from the database based on the definition table d042. For example, in the example of FIG. 21, in the case of customer loyalty I, the name of the customer loyalty having high correlation with the feature amount "customer" and the name of the customer loyalty having high correlation with the feature amount "interest in use" are acquired from the database. In addition, the control unit 11 sets "You are a marketing analyst" as the role. The control unit 11 sets "What is the name of the customer loyalty having high correlation with the feature amount: customer and the feature amount: interest in use" as the query. The control unit 11 inputs the query, the search result, and the role to the large-scale language model, and acquires the name of the customer loyalty from the language model.
[0067] In addition, the control unit 11 may use fine tuning to have a large-scale language model learn examples of correspondence relationships with names indicating customer loyalty, and then input the query and role into the large-scale language model to obtain the name of customer loyalty.
[0068] In the customer journey map d041 shown in FIG. 21, for example, the names are determined as follows. FIG. 23 is an explanatory diagram showing an example of a customer journey map. Customer loyalty I is "checking the basic performance after purchasing the product". Customer loyalty II is "making full use of the functions and searching for one's own style". Customer loyalty III is "low interest and using in conjunction with other products". Customer loyalty IV is "making full use of the latest functions and enjoying the most advanced style". V is "considering purchasing a new product".
[0069] This embodiment has the following advantages. It is possible to extract multiple customer loyalties (groups) from multiple data. In addition, when the name of each customer loyalty is generated using a large-scale language model, it is possible to determine the name of each customer loyalty without the help of an analyst who understands the correlation between each customer loyalty and the feature amount.
[0070] This embodiment is a server-client system, and the analysis server 1 is the entity that performs the main processing, but is not limited to this. The functions of the analysis server 1 may be realized by a user terminal 2, and all processing may be performed by a single computer in a stand-alone system.
[0071] Although the user is required to select the analysis area, behavior model, and purpose as the data selection conditions, this is not limiting. Only one or two of the area, behavior model, and purpose may be selected. Different viewpoints may be adopted as the selection conditions.
[0072] (Embodiment 3) This embodiment relates to a form in which a new extraction process is performed by referring to the relationship between the customer loyalty and the feature amount obtained in the extraction process.
[0073] The above-mentioned result screen is provided with a "Go to previous" button d043 and a "Go to start" button d044. When the "Go to previous" button d043 is selected, the screen returns to the priority setting screen d03, where it becomes possible to reset the priority. When the "Go to start" button d044 is selected, the screen returns to the condition setting screen d01, where it becomes possible to reset the analysis area, behavior model, and objective.
[0074] Fig. 24 is an explanatory diagram showing another example of the priority setting screen. In the setting table d031 shown in Fig. 24, among the six items included in the group items, the priority of the items other than "email newsletter" is set to "X". This makes it possible to use only "email newsletter" as a measure to extract customer loyalty. When returning to the priority setting screen d03 from the result screen, the order of display of the items may be the order of the selected priority. Also, the items may be displayed in order of the highest correlation with customer loyalty.
[0075] Alternatively, the screen may be returned to the data list screen d02 so that the user can select the data to be used again. In this case, the data may be displayed in order of the correlation with the customer loyalty.
[0076] In this embodiment, when returning from the result screen d04 to the condition setting screen d01 or the priority setting screen d03, a screen showing the current settings is displayed, so that the user can easily change some of the settings and re-extract customer loyalty.
[0077] Furthermore, when the user returns to the data list screen d02, a screen showing the current selection state is displayed, so that the user can easily change part of the data to be used and re-extract customer loyalty.
[0078] (Embodiment 4) This embodiment relates to a form in which a series of processes are executed using an interactive interface using a large-scale language model (language generation model). For example, ChatGPT is used as the interactive interface. The control unit 21 of the user terminal 2 accepts contents to be analyzed from the user. The control unit 21 extracts keywords from the accepted contents, and transmits a query to the analysis server 1 to extract records including the keywords in the data condition DB 134. The control unit 21 acquires the query result. The control unit 21 also sets "You are a marketing analyst" as the role. The control unit 21 then inputs the contents to be analyzed, search results, and role accepted from the user, into the large-scale language model to obtain candidates for data to be used. Note that, when the contents of the data condition DB 134 are learned by fine tuning into the large-scale language model, the role and the query are input into the large-scale language model to obtain candidates for data to be used.
[0079] The user selects the data to be used. The control unit 21 accepts the data selection. Based on the accepted selection result, the control unit 21 causes the analysis server 1 to search the public data catalog DB 135 and other company data catalog DB 136 to obtain the data items included in the selected data. The control unit 21 also searches the company's own data catalog DB 31 to obtain the data items included in the selected data. The control unit 21 sets the query as "Please set the priority for the data item group and each data item." The control unit 21 inputs the role, the query, and the database search results into the large-scale language model to obtain the priority. The user changes the priority as appropriate. The control unit 21 accepts the change and temporarily stores the priority of each data item group and each data item.
[0080] The control unit 21 performs settings so that the large-scale language model can access the closed DB 3 and the open DB 4. The control unit 21 sets a query saying, "Please set a statistical rank for each data item." The control unit 21 inputs the role, the query, and the access information to the database to the large-scale language model, and causes it to set the ranks. Next, the control unit 21 causes the large-scale language model to perform binarization processing of the data items using the rank settings, and obtains the binarized values of each record.
[0081] Then, the control unit 21 causes the large-scale language model to classify the binarized records to obtain a result. The control unit 21 obtains customer loyalty based on the classification result. The control unit 21 creates and outputs a result screen d04 including a customer journey map d041 and a definition table d042. Note that the transition probability between each customer loyalty is obtained using a hidden Markov model or the like in the same manner as above.
[0082] The control unit 21 provides the customer loyalty and the correlated data items to the large-scale language model, and generates the name of each customer loyalty. The control unit 21 creates a result screen and displays it on the display unit 26.
[0083] In this embodiment, it is possible to gain customer loyalty using a large-scale language model.
[0084] (Embodiment 5) This embodiment relates to a form in which fluctuations in customer loyalty are analyzed using multiple sets of data in a sequential order. For example, when a brand-related measure such as posting an advertisement is implemented, two sets of data are prepared: data before the measure is implemented and data after the measure is implemented. The two sets of data are sequential. Customer loyalty is calculated from each set of data. As a result, a customer journey map before the measure is implemented and a customer journey map after the measure is implemented are calculated. Each map is the same as the map shown in FIG. 23. As shown in FIG. 23, the transition probability between customer loyalties is calculated by analysis. It is possible to calculate the state change in customer loyalty due to the measure from the fluctuation in the transition probability before and after the measure and the movement of people included in each customer loyalty.
[0085] FIG. 25 is an explanatory diagram showing an example of a customer loyalty fluctuation diagram. In FIG. 25, state 0 to state V respectively represent customer loyalty. The right side is before the measure, and the left side is after the measure. The band-shaped figure connecting the customer loyalty on the left and right shows the fluctuation in customer loyalty before and after the measure. The width of the band indicates the percentage of people whose loyalty has changed. Note that a figure connecting customer loyalty with the same number does not indicate a change in customer loyalty, but rather no change. The fluctuation diagram in FIG. 25 makes it possible to visually grasp the effects of the measure. These analyses and predictions can be used as the basis for decisions on implementing various measures, marketing, product planning, development planning, and strategic decisions.
[0086] In the above explanation, we have used customer loyalty in marketing as an example, but the above analysis is not limited to the marketing field. The above is a method of analyzing human behavior, and analyzing customer loyalty is just one example. It can be applied to various fields such as finance and medicine, the effectiveness of social policies, the impact of social phenomena such as pandemics, and other analyses and predictions of various human behaviors.
[0087] For example, it can be applied to the analysis and prediction of stock price fluctuations. Factors that affect stock prices can be modeled as a combination of customer groups, financial and social environments, events, and fundamental and technical parameters. Input data includes financial transaction data (stocks, bonds, real estate, gold, FX, virtual currency, futures, etc.), purchase amounts, holdings, profits, etc. for each financial transaction customer (individuals, securities, foreign countries, Fonds, etc.), web marketing performance for individual customers, measures for email newsletter members, user information within the company's app, payment information, measures and reactions to products and services, actions, financial event dates and times (FOMC, Bank of Japan, etc.), social environment (inflation, pandemic, international situation, etc.), weather, trends, social conditions, etc. Input data can be primary data, secondary data, or tertiary data. Primary data refers to newly collected data. Secondary data refers to data that has been collected in advance by oneself or others. Tertiary data, also known as third-party data, is data that is collected, processed, and formatted for ease of use by third parties. Through analysis, target stock prices (value, growth, domestic or foreign, specific companies, etc.) and expected impact mechanisms are modeled. It is possible to clarify which variables will be affected to what extent as the situation changes. Then, by predicting the fluctuation of the target stock price in response to the impact, it becomes possible to make investment decisions and economic policy decisions.
[0088] The technical features (constituent elements) described in each embodiment can be combined with each other, and by combining them, new technical features can be formed. The embodiments disclosed herein are illustrative in all respects and should not be considered as limiting. The scope of the present invention is defined by the claims, not by the above meaning, and is intended to include all modifications within the scope and meaning equivalent to the claims. In addition, the claims are written in a format in which a claim cites two or more other claims (multiple claim format), but this is not limited to this format. The claims may be written in a format in which multiple claims cite at least one other claim (multi-multi claim format). [Explanation of symbols]
[0089] 100: Analysis system 1: Analysis server 11: Control section 12: Main memory 13: Auxiliary storage section 131: Area DB 132: Model DB 133: Purpose DB 134: Data Condition DB 135: Public Data Catalog DB 136: Other companies' data catalog DB 14: Communications Department 15: Reading section 1P: Control program 1a: Portable storage medium 1b: Semiconductor memory 2: User terminal 21: Control section 22: Main memory 23: Auxiliary storage section 24: Communications Department 25: Input section 26:Display section 2P: Control program 3: Closed database 31: In-house data catalog DB 4: Open Database B: Bus N: Network
Claims
1. Obtain multiple data items, each of which contains multiple items. Obtaining a priority assigned to the item; A binary data string is generated for each of the multiple IDs by combining the multiple variables obtained by binarizing each item. classifying the generated plurality of binary data strings into a plurality of groups based on the priority and the degree of association of the combination of the plurality of variables; defining characteristics of said groups and extracting said groups; Output the extracted groups. An information processing method in which processing is performed by a computer.
2. Calculating transition probabilities between the extracted groups; Output the calculated transition probability The information processing method according to claim 1 .
3. Output a table showing the relationship between the group and the item 3. The information processing method according to claim 1.
4. Define groups based on the relationships between groups and items, and output their requirements The information processing method according to claim 3.
5. Based on the relationships between the groups and items, a language generation model is used to define the groups. The information processing method according to claim 3.
6. inputting said table into a language generation model; obtaining a name indicating a characteristic of each group generated by the language generation model; Output the obtained name together with the above table. The information processing method according to claim 3.
7. A transition diagram showing the relationships between the extracted groups is output.
3. The information processing method according to claim 1.
8. Extracting a plurality of the groups from each of the plurality of sets of the data in an ordered relationship; Calculate and output state changes between the groups before and after the order relationship for the transition probability between each of the extracted groups. The information processing method according to claim 2 .
9. Obtain multiple data items, each of which contains multiple items. Obtaining a priority assigned to the item; A binary data string is generated for each of the IDs by integrating the multiple variables obtained by binarizing each item. classifying the generated plurality of binary data strings into a plurality of groups based on the priority and the degree of association of the combination of the plurality of variables; defining and extracting features of said group; Output the extracted groups. An information processing program that causes a computer to execute processing.
10. An information processing device including a control unit, The control unit is Obtain multiple data items, each of which contains multiple items. Obtaining the priority assigned to said item; A binary data string is generated for each of the multiple IDs by combining the multiple variables obtained by binarizing each item. classifying the generated plurality of binary data strings into a plurality of groups based on the priority and the degree of association of the combination of the plurality of variables; defining and extracting features of said group; Output the extracted groups. Information processing device.
Citation Information
Patent Citations
Behavior pattern search system and behavior pattern search method
JP2019148897A