Information processing program, information processing method, and information processing device

The method simplifies understanding of complex machine learning models by clustering and hierarchically organizing rules, making it easier for users to comprehend their operations through graphical representations.

JP7839437B2Active Publication Date: 2026-04-02FUJITSU LTD
View PDF 6 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-12-16
Publication Date
2026-04-02

AI Technical Summary

Technical Problem

Existing machine learning models, particularly black box models, are difficult for users to understand due to the increasing complexity and number of rules, leading to high workload and time consumption in comprehending their content.

Method used

An information processing method that acquires and classifies rules into clusters based on similarity and inclusion relationships, identifying hierarchical structures to facilitate understanding by generating graphical representations of these relationships.

Benefits of technology

Enables users to intuitively grasp the model's content by grouping similar rules and displaying hierarchical relationships, reducing the complexity and time required to understand the model's operations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007839437000001
    Figure 0007839437000001
  • Figure 0007839437000002
    Figure 0007839437000002
  • Figure 0007839437000003
    Figure 0007839437000003
Patent Text Reader

Abstract

This information processing device generates a feature vector for each rule represented by a model. The information processing device classifies each rule represented by the model into one of a plurality of clusters on the basis of the Euclidean distance between the generated feature vectors. The information processing device identifies the inter-cluster inclusion relationships between the plurality of clusters. The information processing device identifies the hierarchical relationships between the clusters on the basis of the inter-cluster inclusion relationships. The information processing device displays a graph (1000) showing the identified hierarchical relationships between the clusters. In response to designation of one of the nodes in the displayed graph (1000), the information processing device displays explanatory information (1010) relating to the one or more rules classified into the cluster represented by the designated node.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an information processing program, an information processing method, and an information processing apparatus.

Background Art

[0002] Conventionally, there is a technique of generating, by machine learning, a model that has a plurality of rules each representing a condition for classifying data using one or more explanatory variables and outputs a label representing a result of classifying data including a plurality of input explanatory variables.

[0003] As a prior art, for example, there is one that generates rules for describing the operation of a black box machine learning model by combining conditions identified based on the output of a proxy black box model that mimics the operation of the black box machine learning model.

Prior Art Documents

Patent Documents

[0004]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0005] However, in the prior art, it is difficult for a user to easily understand the content of the model. For example, when a list of a plurality of rules possessed by the model is output so that the user can refer to it, as the number of rules included in the model increases, the work load and work time required for the user to understand the content of the model tend to increase.

[0006] In one aspect, an object of the present invention is to make it easy for a user to understand the content of the model.

Means for Solving the Problems

[0007] According to one embodiment, an information processing program, information processing method, and information processing device are proposed that acquire multiple data containing values ​​of multiple explanatory variables, acquire a set of rules containing multiple rules representing conditions for classifying data using one or more explanatory variables, calculate feature quantities related to each rule based on one or more data from the acquired set of rules that satisfy the conditions represented by each rule, classify each rule into one of a plurality of clusters based on the similarity between the feature quantities of each calculated rule, identify the inclusion relationships between the clusters in the plurality of clusters based on the conditions represented by the rules classified into each of the plurality of clusters, identify the hierarchical relationships between the clusters in the plurality of clusters based on the identified inclusion relationships between the clusters, and output information indicating the hierarchical relationships between the clusters in the identified plurality of clusters. [Effects of the Invention]

[0008] In one embodiment, it becomes possible to make the contents of the model easier to understand. [Brief explanation of the drawing]

[0009] [Figure 1] Figure 1 is an explanatory diagram showing one embodiment of the information processing method according to the embodiment. [Figure 2] Figure 2 is an explanatory diagram showing an example of the information processing system 200. [Figure 3] Figure 3 is a block diagram showing an example of the hardware configuration of the information processing device 100. [Figure 4] Figure 4 is a block diagram showing an example of the functional configuration of the information processing device 100. [Figure 5] Figure 5 is an explanatory diagram showing the operation flow of the information processing device 100. [Figure 6] Figure 6 is an explanatory diagram illustrating an example of training model 600. [Figure 7] Figure 7 is an explanatory diagram showing an example of generating feature vectors for each rule. [Figure 8] Figure 8 is an explanatory diagram (part 1) showing an example of specifying the inclusion relationship between clusters. [Figure 9] Figure 9 is an explanatory diagram (part 2) showing an example of specifying the inclusion relationship between clusters. [Figure 10] Figure 10 is an explanatory diagram showing an example of displaying the hierarchical relationship between clusters. [Figure 11] Figure 11 is an explanatory diagram (part 1) showing a specific example of learning a model. [Figure 12] Figure 12 is an explanatory diagram (part 2) showing a specific example of learning a model. [Figure 13] Figure 13 is an explanatory diagram (part 1) showing a specific example of generating a feature vector for each rule. [Figure 14] Figure 14 is an explanatory diagram (part 2) showing a specific example of generating a feature vector for each rule. [Figure 15] Figure 15 is an explanatory diagram (part 1) showing a specific example of clustering a rule set. [Figure 16] Figure 16 is an explanatory diagram (part 2) showing a specific example of clustering a rule set. [Figure 17] Figure 17 is an explanatory diagram (part 1) showing a first specific example of generating explanatory information about a cluster. [Figure 18] Figure 18 is an explanatory diagram (part 2) showing a first specific example of generating explanatory information about a cluster. [Figure 19] Figure 19 is an explanatory diagram (part 1) showing a second specific example of generating explanatory information about a cluster. [Figure 20] Figure 20 is an explanatory diagram (part 2) showing a second specific example of generating explanatory information about a cluster. <000,0086> [Figure 21] Figure 21 is an explanatory diagram (part 1) showing a specific example of calculating the inclusion rate between clusters. [Figure 22] Figure 22 is an explanatory diagram (part 2) showing a specific example of calculating the inclusion rate between clusters. [Figure 23]FIG. 23 is an explanatory diagram showing a specific example of specifying the hierarchical relationship between clusters. [Figure 24] FIG. 24 is an explanatory diagram showing a specific example of displaying the hierarchical relationship between clusters. [Figure 25] FIG. 25 is a flowchart showing an example of the overall processing procedure. [[ID=⑨]]

Embodiments for Carrying Out the Invention

[0010] Hereinafter, embodiments of an information processing program, an information processing method, and an information processing apparatus according to the present invention will be described in detail with reference to the drawings.

[0011] (An Example of an Information Processing Method According to an Embodiment) FIG. 1 is an explanatory diagram showing an example of an information processing method according to an embodiment. The information processing apparatus 100 is a computer for providing information that makes it easy to grasp the content of the model. The information processing apparatus 100 is, for example, a server or a PC (Personal Computer).

[0012] The model has a function of outputting, for example, a label representing the result of classifying data including a plurality of input explanatory variables. Specifically, the model includes a plurality of rules each representing a condition for classifying data using one or more explanatory variables. The model is, for example, a type called a white box model. Specifically, the model is a type called a rule-based model.

[0013] The model is generated, for example, by machine learning. Specifically, the model includes rules generated by machine learning. More specifically, the model includes rules generated based on learning data in which a sample including values of a plurality of explanatory variables is associated with a correct label indicating the result of classifying the sample. Specifically, the model may further include rules generated manually.

[0014] In this context, users may want to understand the model's contents. The model's contents, for example, describe how the model uses multiple explanatory variables included in the input data to classify it. For instance, by understanding the model's contents, users may want to determine how reliable the model is, or how reliable the labels representing the classification results the model outputs are.

[0015] In response to this, one approach is to make it easier for users to understand the model's contents by outputting a list of the multiple rules included in the model for user reference. However, this approach may not always make it easy for users to understand the model's contents.

[0016] For example, the more complex the format of the data to be input, the more rules tend to be included in the model generated by machine learning. Specifically, the more explanatory variables there are in the data to be input, the more rules tend to be included in the model generated by machine learning. The more rules included in a model, the greater the workload and time it takes for the user to refer to a list of multiple rules included in the model and try to understand its contents.

[0017] Therefore, this embodiment describes an information processing method that makes it easier to understand the contents of the model.

[0018] The information processing device 100 acquires multiple data. The data includes, for example, the values ​​of multiple explanatory variables. Of the multiple data, any two may each contain values ​​of different types of explanatory variables. The information processing device 100 acquires multiple data by, for example, accepting input of multiple data based on user operation input. The information processing device 100 may also acquire multiple data by receiving them from another computer.

[0019] The information processing device 100 acquires a set of rules 110 that includes multiple rules. A rule represents a condition for classifying data using one or more explanatory variables. The set of rules 110 forms a model that outputs a label representing the result of classifying data containing the input multiple explanatory variables. The information processing device 100 acquires the set of rules 110 by generating it through machine learning based on multiple training data, for example. The training data is, for example, data that associates samples containing values ​​of multiple explanatory variables with the correct label indicating the result of classifying those samples. The information processing device 100 may also acquire the set of rules 110 by receiving it from another computer, for example. The information processing device 100 may also acquire the set of rules 110 by accepting input of the set of rules 110 based on user input, for example.

[0020] (1-1) The information processing device 100 calculates a feature vector for each rule based on one or more data points from the acquired set of rules 110 that satisfy the conditions represented by each rule. The feature vector is, for example, a feature vector for the rule, whose components are statistical values ​​for each of the multiple explanatory variables in one or more data points that satisfy the conditions represented by the rule. The statistical value is, for example, the proportion of data points where the value of the explanatory variable is a specific value out of one or more data points that satisfy the conditions represented by the rule. The statistical value may also be, for example, the maximum, minimum, mean, mode, or median of the value of the explanatory variable in one or more data points that satisfy the conditions represented by the rule. This allows the information processing device 100 to determine how similar the rules are and to obtain guidelines for clustering multiple rules.

[0021] (1-2) The information processing device 100 classifies each rule into one of several clusters based on the similarity between the features of the calculated features of each rule. The information processing device 100 uses the x-means method to classify each rule into one of several clusters based on the similarity between the features. This allows the information processing device 100 to group two or more similar rules into one cluster.

[0022] (1-3) The information processing device 100 identifies the inclusion relationships between clusters in the multiple clusters based on the conditions represented by the rules classified into each of the multiple clusters. For example, for each cluster, the information processing device 100 identifies a set of data from among the multiple data acquired that satisfies the conditions represented by one or more rules classified into that cluster. The data set is, for example, a group of data that satisfies at least one of the conditions represented by one or more rules. The data set may also be, for example, a group of data that satisfies a condition obtained by combining the conditions represented by one or more rules.

[0023] The information processing device 100 calculates, for example, the inclusion rate of one cluster for each combination of clusters in multiple clusters. Specifically, the inclusion rate is a value that represents the proportion of the total data in the other data set that overlaps between the data set in one cluster that satisfies the conditions represented by one or more rules classified in that cluster and the data set in the other cluster that satisfies the conditions represented by one or more rules classified in that cluster.

[0024] The information processing device 100 determines, for example, whether the inclusion rate of one cluster to the other cluster is above a threshold for each combination of clusters in a plurality of clusters. For example, if the inclusion rate of one cluster to the other cluster is above a threshold for any combination of clusters, the information processing device 100 determines that one cluster in that combination is in an inclusion relationship that includes the other cluster.

[0025] In this way, the information processing device 100 identifies the inclusion relationships between clusters in multiple clusters by determining, for example, whether one cluster encompasses another cluster for each combination of clusters in multiple clusters. As a result, the information processing device 100 can identify the inclusion relationships between clusters in multiple clusters and identify the relationships between the rules that form the model.

[0026] (1-4) The information processing device 100 identifies the hierarchical relationships between clusters in the identified clusters based on the inclusion relationships between the clusters. For example, for each combination of clusters in the clusters, the information processing device 100 determines that if one cluster is in an inclusion relationship that includes the other cluster, then one cluster is in a higher hierarchical relationship than the other cluster.

[0027] In this way, the information processing device 100 identifies the hierarchical relationships between clusters in multiple clusters by determining, for each combination of clusters in multiple clusters, whether one cluster is higher in the hierarchy than the other cluster. As a result, the information processing device 100 can identify the hierarchical relationships between clusters in multiple clusters, identify the relationships between the rules that form the model, and obtain guidelines that make it easier to intuitively grasp the relationships between the rules that form the model.

[0028] (1-5) The information processing device 100 outputs information showing the hierarchical relationships between clusters in the identified clusters. For example, the information processing device 100 outputs a graph 120 showing the hierarchical relationships between clusters in the clusters. This makes it easier for the information processing device 100 to intuitively grasp the relationships between the rules that form the model, and makes it easier for the user to understand the contents of the model.

[0029] Here, we have described the case where the information processing device 100 operates independently, but it is not limited to this. For example, the information processing device 100 may collaborate with other computers. Specifically, the information processing device 100 may collaborate with other computers that learn rules representing conditions for classifying data using one or more explanatory variables. For example, multiple computers may implement the functions of the information processing device 100. Specifically, the functions of the information processing device 100 may be implemented on the cloud.

[0030] (An example of information processing system 200) Next, using Figure 2, we will describe an example of an information processing system 200 to which the information processing device 100 shown in Figure 1 is applied.

[0031] Figure 2 is an explanatory diagram showing an example of an information processing system 200. In Figure 2, the information processing system 200 includes an information processing device 100, a learning device 201, and a client device 202.

[0032] In the information processing system 200, the information processing device 100 and the learning device 201 are connected via a wired or wireless network 210. The network 210 can be, for example, a LAN (Local Area Network), a WAN (Wide Area Network), or the Internet. Also in the information processing system 200, the information processing device 100 and the client device 202 are connected via a wired or wireless network 210.

[0033] The information processing device 100 is a computer designed to make it easier for users of a model to understand the contents of that model. The information processing device 100 acquires multiple data sets. These data sets include, for example, the values ​​of multiple explanatory variables. The information processing device 100 acquires multiple data sets by, for example, accepting input of multiple data sets based on user input of its own device. The information processing device 100 may also acquire multiple data sets by receiving them from another computer. The other computer is, for example, the learning device 201.

[0034] The information processing device 100 acquires a set of rules, which includes multiple rules that form a model. Each rule represents a condition for classifying data using one or more explanatory variables. The set of rules forms a model that outputs labels representing the results of classifying data containing the input multiple explanatory variables. The information processing device 100 acquires the set of rules, for example, by receiving it from another computer. The other computer is, for example, the learning device 201.

[0035] The information processing device 100 calculates a feature vector for a rule based on one or more data points from the acquired set of rules that satisfy the conditions represented by that rule. The feature vector includes, for example, the statistical values ​​of each of the multiple explanatory variables in one or more data points that satisfy the conditions represented by the rule.

[0036] The information processing device 100 classifies each rule into one of several clusters based on the similarity between the feature vectors in the feature vectors of each rule that it has calculated. The information processing device 100 identifies the inclusion relationships between the clusters in the multiple clusters based on the conditions represented by the rules classified into each cluster in the multiple clusters. The information processing device 100 identifies the hierarchical relationships between the clusters in the multiple clusters based on the inclusion relationships between the clusters identified in the multiple clusters.

[0037] The information processing device 100 outputs information indicating the hierarchical relationships between clusters in the identified clusters. The information processing device 100 transmits the information indicating the hierarchical relationships between clusters to another computer. The other computer is, for example, a client device 202. The information processing device 100 is, for example, a server or a PC.

[0038] The learning device 201 is a computer for generating rules that represent conditions for classifying data using one or more explanatory variables. The learning device 201 acquires, for example, multiple training data. The training data is, for example, data that associates samples containing values ​​of multiple explanatory variables with correct labels that indicate the result of classifying those samples. Specifically, the learning device 201 acquires multiple training data by accepting input of multiple training data based on the operation input of the user of the device. The learning device 201 generates a set of rules by machine learning based on the multiple training data. The learning device 201 transmits the generated set of rules to the information processing device 100, for example. The learning device 201 is, for example, a server or a PC.

[0039] The client device 202 is a computer used by the model's user. The client device 202 receives, for example, information from the information processing device 100 indicating the hierarchical relationships between clusters in a set of identified clusters. The client device 202 then outputs the received information indicating the hierarchical relationships between clusters in a format accessible to the model's user. The client device 202 may be, for example, a PC, a tablet, or a smartphone.

[0040] Here, we have described a case where the information processing device 100 is a different device from the learning device 201, but this is not limited to this case. For example, the information processing device 100 may have the functionality of a learning device 201 and may also operate as a learning device 201.

[0041] This explanation describes a case where the information processing device 100 is a different device from the client device 202, but it is not limited to this case. For example, the information processing device 100 may have the functionality of a client device 202 and may operate as a client device 202.

[0042] (Examples of applications of Information Processing System 200) Next, we will describe an example of the application of the information processing system 200. The information processing system 200 can be applied, for example, to training a model that uses a dataset published on the internet as training data and outputs a label representing the result of classifying the input dataset. Specifically, the information processing system 200 can be applied to training a model that outputs a label indicating whether or not an animal is a mammal, depending on a dataset representing the characteristics of the input animal.

[0043] This allows the information processing system 200 to make it easier for users of the model to understand the validity or reliability of the learned model. It also makes it easier for users of the model to accept the classification results provided by the model. Furthermore, it allows users of the model to use the model with confidence.

[0044] Specifically, the information processing system 200 can be applied to training a model that has the function of outputting a label indicating whether or not a visitor will purchase a product, based on a dataset representing the characteristics of visitors to an input website. This allows the information processing system 200 to make it easier for users of the trained model to understand its validity or reliability in the field of marketing. The information processing system 200 makes it easier for users of the model to accept the classification results provided by the model. The information processing system 200 makes it easier for users of the model to use the model with confidence.

[0045] (Example of hardware configuration of information processing device 100) Next, an example of the hardware configuration of the information processing device 100 will be described using Figure 3.

[0046] Figure 3 is a block diagram showing an example of the hardware configuration of the information processing device 100. In Figure 3, the information processing device 100 includes a CPU (Central Processing Unit) 301, memory 302, network interface 303, recording medium interface 304, and recording medium 305. Each component is connected by a bus 300.

[0047] Here, the CPU 301 is responsible for the overall control of the information processing device 100. The memory 302 includes, for example, ROM (Read Only Memory), RAM (Random Access Memory), and flash ROM. Specifically, for example, flash ROM and ROM store various programs, and RAM is used as the work area for the CPU 301. Programs stored in memory 302 are loaded into the CPU 301, causing the CPU 301 to execute the coded processes.

[0048] The network interface 303 is connected to network 210 via a communication line, and then connects to other computers via network 210. The network interface 303 manages the internal interface with network 210 and controls the input and output of data from other computers. The network interface 303 is, for example, a modem or a LAN adapter.

[0049] The recording medium interface (I / F) 304 controls the reading and writing of data to the recording medium 305 according to the control of the CPU 301. The recording medium interface (I / F) 304 is, for example, a disk drive, an SSD (Solid State Drive), or a USB (Universal Serial Bus) port. The recording medium 305 is a non-volatile memory that stores the data written under the control of the recording medium interface (I / F) 304. The recording medium 305 is, for example, a disk, semiconductor memory, or USB memory. The recording medium 305 may be detachable from the information processing device 100.

[0050] In addition to the components described above, the information processing device 100 may also have, for example, a keyboard, mouse, display, printer, scanner, microphone, speaker, etc. Furthermore, the information processing device 100 may have multiple recording medium interfaces 304 and recording mediums 305. Alternatively, the information processing device 100 may not have recording medium interfaces 304 and recording mediums 305.

[0051] (Example hardware configuration of learning device 201) The hardware configuration example of the learning device 201 is specifically the same as the hardware configuration example of the information processing device 100 shown in Figure 3, so a detailed explanation will be omitted.

[0052] (Example hardware configuration for client device 202) The hardware configuration example for client device 202 is specifically the same as the hardware configuration example for information processing device 100 shown in Figure 3, so a detailed explanation is omitted.

[0053] (Example of the functional configuration of the information processing device 100) Next, an example of the functional configuration of the information processing device 100 will be described using Figure 4.

[0054] Figure 4 is a block diagram showing an example of the functional configuration of the information processing device 100. The information processing device 100 includes a storage unit 400, an acquisition unit 401, a learning unit 402, a calculation unit 403, a classification unit 404, a specific unit 405, a generation unit 406, and an output unit 407.

[0055] The storage unit 400 is implemented by a storage area such as the memory 302 or recording medium 305 shown in Figure 3. The following description will focus on the case where the storage unit 400 is included in the information processing device 100, but is not limited to this case. For example, the storage unit 400 may be included in a device different from the information processing device 100, and the contents of the storage unit 400 may be accessible from the information processing device 100.

[0056] The acquisition unit 401 to the output unit 407 function as an example of a control unit. Specifically, the acquisition unit 401 to the output unit 407 realize their functions, for example, by having the CPU 301 execute a program stored in a storage area such as the memory 302 or recording medium 305 shown in Figure 3, or by using the network I / F 303. The processing results of each functional unit are stored in a storage area such as the memory 302 or recording medium 305 shown in Figure 3.

[0057] The storage unit 400 stores various types of information that are referenced or updated during the processing of each functional unit. The storage unit 400 stores, for example, multiple input data. Each of the multiple input data includes, for example, the values ​​of multiple explanatory variables. Each of the multiple input data is acquired, for example, by the acquisition unit 401.

[0058] The memory unit 400 stores, for example, a set of rules. The set of rules includes, for example, a number of rules that represent conditions for classifying data using one or more explanatory variables. Specifically, the set of rules includes rules generated by machine learning. Specifically, the set of rules may further include rules generated manually. The set of rules is generated, for example, by the learning unit 402. The set of rules may be acquired, for example, by the acquisition unit 401.

[0059] The memory unit 400 stores, for example, multiple training data. The training data is, for example, data that associates a sample containing the values ​​of multiple explanatory variables with a correct label indicating the result of classifying that sample. The training data is acquired, for example, by the acquisition unit 401.

[0060] The acquisition unit 401 acquires various types of information used in the processing of each functional unit. The acquisition unit 401 stores the acquired information in the storage unit 400 or outputs it to each functional unit. The acquisition unit 401 may also output the information stored in the storage unit 400 to each functional unit. The acquisition unit 401 acquires various types of information, for example, based on user input. The acquisition unit 401 may also receive various types of information from a device other than the information processing device 100, for example.

[0061] The acquisition unit 401 acquires multiple input data. The acquisition unit 401 acquires multiple input data, for example, by receiving them from another computer. The other computer is, for example, the learning device 201. The acquisition unit 401 may also acquire multiple input data by accepting input of multiple input data based on the operation input of the user of its own device.

[0062] The acquisition unit 401 acquires a set of rules. The acquisition unit 401 acquires the set of rules, for example, by receiving it from another computer. The other computer is, for example, the learning device 201. The acquisition unit 401 may also acquire the set of rules by accepting input of a set of rules based on the operation input of a user of its own device.

[0063] The acquisition unit 401 acquires multiple training data. The acquisition unit 401 acquires multiple training data, for example, by receiving them from another computer. The other computer is, for example, the learning device 201. The acquisition unit 401 may also acquire multiple training data by accepting input of multiple training data based on the operation input of the user of its own device. For example, training data may be used as input data.

[0064] The acquisition unit 401 may receive a start trigger to initiate processing in any of the functional units. A start trigger may be, for example, a predetermined operation input by a user. A start trigger may also be, for example, the receipt of predetermined information from another computer. A start trigger may also be, for example, the output of predetermined information by any of the functional units.

[0065] The acquisition unit 401 may, for example, accept the acquisition of multiple training data as a start trigger to begin processing in the learning unit 402. The acquisition unit 401 may, for example, accept the acquisition of multiple input data as a start trigger to begin processing in the calculation unit 403, the classification unit 404, the identification unit 405, and the generation unit 406.

[0066] The learning unit 402 generates a set of rules. The set of rules includes, for example, multiple rules that represent conditions for classifying data using one or more explanatory variables. The learning unit 402 generates multiple rules by machine learning based on multiple training data acquired by the acquisition unit 401, and generates a set of rules containing multiple rules. This enables the learning unit 402 to generate the set of rules on its own, making it easier for the information processing device 100 to operate independently.

[0067] The calculation unit 403 calculates feature quantities for each rule included in the rule set acquired by the acquisition unit 401 or generated by the learning unit 402. Feature quantities are, for example, feature vectors related to the rules. The calculation unit 403 calculates feature quantities for a rule based on, for example, one or more input data from among the multiple input data acquired by the acquisition unit 401 that satisfy the conditions represented by each rule included in the rule set acquired by the acquisition unit 401 or generated by the learning unit 402.

[0068] Specifically, the calculation unit 403 identifies one or more input data from among the multiple input data acquired by the acquisition unit 401 that satisfy the conditions represented by each rule included in the rule set acquired by the acquisition unit 401 or generated by the learning unit 402. Specifically, for each rule included in the rule set, the calculation unit 403 calculates a feature vector for that rule, with the statistical values ​​of each of the multiple explanatory variables in the identified one or more input data as its components. This allows the calculation unit 403 to evaluate the similarity between rules based on a comparison of features.

[0069] The classification unit 404 classifies each rule included in the rule set acquired by the acquisition unit 401 or generated by the learning unit 402 into one of several clusters. For example, the classification unit 404 classifies each rule into one of several clusters based on the similarity between the features of the calculated features of each rule.

[0070] Specifically, the classification unit 404 calculates the similarity score by summing the squared differences of the components for each explanatory variable between the feature vectors in the feature vector of each calculated rule. Specifically, the classification unit 404 classifies each rule included in the rule set into one of several clusters based on the calculated similarity score. In this way, the classification unit 404 can group two or more similar rules into one cluster. The classification unit 404 makes it possible for users of the model to understand two or more rules as a group. The classification unit 404 makes it possible for users of the model to understand two or more rules as a group in order to understand the content of the model.

[0071] The identification unit 405 identifies the inclusion relationships between clusters in a plurality of clusters based on the conditions represented by the rules classified into each cluster of the plurality of clusters. For example, for each cluster, the identification unit 405 identifies a set of data from among the plurality of input data acquired by the acquisition unit 401 that satisfies the conditions represented by one or more rules classified into that cluster. Specifically, for each cluster, the identification unit 405 identifies a set of data from among the plurality of input data acquired by the acquisition unit 401 that contains input data that satisfies at least one of the conditions represented by one or more rules classified into that cluster. Specifically, the identification unit 405 may identify a set of data from among the plurality of input data acquired by the acquisition unit 401 that contains input data that satisfies a condition obtained by combining the conditions represented by one or more rules classified into that cluster.

[0072] The specific unit 405 calculates, for example, the inclusion rate of one cluster for each combination of clusters in a plurality of clusters. The inclusion rate is a value that represents the proportion of the total data set of the other cluster that overlaps between the data set of one cluster that satisfies the conditions represented by one or more rules classified in one cluster and the data set of the other cluster that satisfies the conditions represented by one or more rules classified in the other cluster.

[0073] The inclusion rate may, for example, represent the proportion of the total set of conditions represented by the one or more rules classified in one cluster that overlaps with the set of conditions represented by the one or more rules classified in the other cluster.

[0074] The identification unit 405 determines, for example, whether the inclusion rate of one cluster to the other cluster is greater than or equal to a threshold for each combination of clusters in a plurality of clusters. For example, if the inclusion rate of one cluster to the other cluster is greater than or equal to a threshold for any combination of clusters, the identification unit 405 determines that one cluster in that combination is in an inclusion relationship that includes the other cluster.

[0075] The identification unit 405 identifies the inclusion relationships between clusters in multiple clusters by, for example, determining for each combination of clusters whether one cluster encompasses the other cluster. This allows the identification unit 405 to identify the inclusion relationships between clusters in multiple clusters and to identify the relationships between the rules that form the model.

[0076] The generation unit 406 identifies the hierarchical relationships between clusters in the identified clusters based on the inclusion relationships between the clusters. For example, for each combination of clusters in the clusters, the generation unit 406 determines that if one cluster is in an inclusion relationship that includes the other cluster, then one cluster is in a higher hierarchical relationship than the other cluster.

[0077] The generation unit 406 identifies the hierarchical relationships between clusters in multiple clusters by determining, for example, whether one cluster is in a higher hierarchical relationship than the other cluster for each combination of clusters in multiple clusters. As a result, the generation unit 406 can identify the hierarchical relationships between clusters in multiple clusters, identify the relationships between the rules that form the model, and obtain guidelines that make it easier to intuitively understand the relationships between the rules that form the model.

[0078] The generation unit 406 generates information showing the hierarchical relationships between clusters in the identified clusters. For example, the generation unit 406 generates a graph showing the hierarchical relationships between clusters in the identified clusters. The graph is formed, for example, by nodes representing clusters and edges connecting the nodes representing each cluster that have a hierarchical relationship above and below it. Specifically, the graph includes the node representing the top-level cluster as the root node. Specifically, the graph is a tree structure. This allows the generation unit 406 to obtain reference information that makes it easier for users of the model to intuitively grasp the hierarchical relationships between clusters.

[0079] The generation unit 406 generates information for each cluster that shows the characteristics of one or more rules classified into that cluster. For example, the generation unit 406 generates a graph that shows the characteristics of one or more rules classified into a cluster. The graph is formed, for example, by nodes representing rules and edges connecting the nodes representing each rule that have a connection relationship. Specifically, the graph is a tree structure. This allows the generation unit 406 to obtain reference information that makes it easier for users of the model to intuitively understand one or more rules classified into a cluster.

[0080] The output unit 407 outputs the processing result of at least one of the functional units. The output format can be, for example, display on a screen, print to a printer, transmit to an external device via the network interface 303, or store in a storage area such as the memory 302 or recording medium 305. This allows the output unit 407 to notify the user of the processing result of at least one of the functional units, thereby improving the usability of the information processing device 100.

[0081] The output unit 407 outputs information indicating the hierarchical relationships between clusters in the multiple clusters generated by the generation unit 406. For example, the output unit 407 outputs information indicating the hierarchical relationships between clusters in the multiple clusters in a way that can be referenced by users of the model. Specifically, the output unit 407 transmits information indicating the hierarchical relationships between clusters in the multiple clusters to the client device 202. This makes it easier for users of the model to intuitively grasp the hierarchical relationships between clusters and the relationships between the rules that make up the model.

[0082] When the output unit 407 receives a specification for one of several clusters, it outputs information generated by the generation unit 406 that shows the characteristics of one or more rules classified into one of the specified clusters. For example, the output unit 407 outputs information showing the characteristics of one or more rules classified into one of the specified clusters in a way that can be referenced by the model user. Specifically, the output unit 407 transmits information showing the characteristics of one or more rules classified into one of the specified clusters to the client device 202. This makes it easier for the model user to intuitively grasp the connection relationships between rules in one or more similar rules that make up the model.

[0083] (Operation flow of the information processing device 100) Next, we will explain the operation flow of the information processing device 100 using Figure 5.

[0084] Figure 5 is an explanatory diagram showing the operation flow of the information processing device 100. In Figure 5, the information processing device 100 receives input 500 of multiple training data. The training data is, for example, data that associates a sample containing the values ​​of multiple explanatory variables with a label representing the correct answer resulting from classifying the sample by the model.

[0085] The information processing device 100 learns a model containing a set of rules based on multiple training data by machine learning through the "rule creation" process 501. The model has the function of outputting a label representing the result of classifying data in response to input data containing values ​​of multiple explanatory variables. A rule is information that represents the conditions for classifying data using one or more explanatory variables. The model is an AI (Artificial Intelligence) model. The model is, for example, an XAI (eXplainable AI) model. The model is, for example, a rule-based model.

[0086] The information processing device 100 generates feature vectors corresponding to each rule in the set of rules included in the model by performing a "vectorization" process 502. For example, for each rule, the information processing device 100 identifies one or more training data from among multiple training data that satisfy the conditions represented by that rule. For example, for each rule, the information processing device 100 generates feature vectors that include statistical values ​​for each explanatory variable in the identified one or more training data as components. The statistical values ​​are, for example, the maximum value, minimum value, mean, median, or mode. The statistical values ​​may also be, for example, the variance.

[0087] The information processing device 100 classifies each rule in the rule set into one of several clusters by performing a "clustering" process 503. For example, the information processing device 100 classifies each rule in the rule set into one of several clusters based on the Euclidean distance between feature vectors calculated by the x-means method.

[0088] The information processing device 100 generates explanatory information for each of the multiple clusters by performing the "explanation generation" process 504. The explanatory information is information about one or more rules that have been classified into a cluster. For example, the explanatory information is information that describes the characteristics of the one or more rules that have been classified into a cluster. For example, for each cluster, the information processing device 100 identifies one or more training data from among multiple training data that satisfies at least one of the conditions represented by the one or more rules that have been classified into that cluster. For example, for each cluster, the information processing device 100 generates new training data by assigning labels representing positive examples to the values ​​of multiple explanatory variables included in the identified one or more training data. For example, for each cluster, the information processing device 100 generates a decision tree that classifies data as explanatory information based on the newly generated training data. For example, for each cluster, the information processing device 100 may generate a rule-based model that classifies data as explanatory information based on the newly generated training data.

[0089] The information processing device 100 calculates the inclusion rate between clusters by performing the "inclusion rate calculation" process 505. For example, for each combination of clusters, the information processing device 100 calculates the inclusion rate of one cluster for the other cluster. Specifically, for each cluster, the information processing device 100 identifies a set of training data from among multiple training data that satisfies the conditions represented by one or more rules classified into that cluster. Specifically, for each combination of clusters, the information processing device 100 identifies overlapping training data between the set of training data that satisfies the conditions represented by one or more rules classified into one cluster and the set of training data that satisfies the conditions represented by one or more rules classified into the other cluster. Specifically, for each combination of clusters, the information processing device 100 calculates the proportion of the identified overlapping training data in the total set of training data that satisfies the conditions represented by one or more rules classified into the other cluster as the inclusion rate.

[0090] The information processing device 100 identifies the inclusion relationships between clusters by performing the "hierarchical structure acquisition" process 506, and identifies the hierarchical relationships between clusters based on the inclusion relationships between clusters. For each combination of clusters, the information processing device 100 determines whether one cluster is higher in the hierarchy than the other cluster, based on whether the inclusion rate of one cluster over the other cluster is above a threshold. For any combination of clusters, the information processing device 100 identifies that one cluster is higher in the hierarchy than the other cluster if the inclusion rate of one cluster over the other cluster is above a threshold. The information processing device 100 identifies the hierarchical relationships between clusters by determining whether one cluster is higher in the hierarchy than the other cluster for each combination of clusters.

[0091] The information processing device 100 displays a graph on the display that represents the hierarchical relationships between the identified clusters by performing the "screen output" process 507. This allows the information processing device 100 to make it easier for users of the model to intuitively grasp the relationships between the rules that make up the model, and to understand the contents of the model.

[0092] (An example of the operation of the information processing device 100) Next, we will explain an example of the operation of the information processing device 100 using Figures 6 to 10. First, we will explain an example of how the information processing device 100 learns the model 600 using Figure 6.

[0093] Figure 6 is an explanatory diagram illustrating an example of training model 600. In Figure 6, the information processing device 100 acquires multiple training data representing characteristics of animals. The training data, for example, shows multiple features related to animals, each of which serves as an explanatory variable, associated with a correct label indicating whether or not the animal is a mammal. The features represent, for example, the size of the animal, the presence or absence of fur, the presence or absence of feathers, whether or not it is carnivorous, whether or not it breathes with lungs, or whether or not it is oviparous. The information processing device 100 acquires, for example, 93 training data. There are, for example, 15 explanatory variables. The information processing device 100 trains model 600 based on the acquired 93 training data.

[0094] Model 600 is, for example, a rule-based model and includes multiple rules, each representing a condition for classifying whether an animal is a mammal or not using one or more explanatory variables. Model 600 is implemented, for example, by a storage area such as the memory 302 or recording medium 305 of the information processing device 100 shown in Figure 3. As shown in Figure 6, Model 600 has fields for chunk, label, weight, len, npos, nneg, supp, and conf. In Model 600, rules are stored as records 600-a by setting information in each field for each rule, where a is an arbitrary integer.

[0095] The `chunk` field contains the rule. The `label` field contains flag information indicating whether the rule represents a mammal. For example, a value of 1 indicates that the rule represents a mammal, and a value of 0 indicates that the rule does not represent a mammal. The `weight` field contains the weight of the rule. The `len` field contains the number of conditions that make up the rule.

[0096] The npos field contains the number of training data sets that satisfy the above rule and match the flag information. For example, if the value of the flag information is 1, the npos field contains the number of training data sets that satisfy the above rule and contain the correct label indicating that the subject is a mammal. For example, if the value of the flag information is 0, the npos field contains the number of training data sets that satisfy the above rule and contain the correct label indicating that the subject is not a mammal.

[0097] The nneg field contains the number of training data sets that satisfy the above rule and do not match the above flag information. For example, if the value of the above flag information is 1, the nneg field contains the number of training data sets that satisfy the above rule and contain the correct label indicating that it is not a mammal. For example, if the value of the above flag information is 0, the nneg field contains the number of training data sets that satisfy the above rule and contain the correct label indicating that it is a mammal.

[0098] The `supp` field is set to `npos / total_npos`. `total_npos` is the sum of the npos values ​​for each rule. The `conf` field is set to `npos / (npos+nneg)`. Model 600 represents, for example, 321 rules. The information processing device 100 may remove from Model 600, for example, rules that represent conditions not satisfied by at least x% of the 93 training data. x is, for example, 1. The information processing device 100 may also remove from Model 600, for example, rules where `npos / (npos+nneg)` is less than y. y is, for example, 0.9.

[0099] Next, using Figure 7, we will explain an example in which the information processing device 100 generates feature vectors for each rule represented by the model 600 based on multiple training data.

[0100] Figure 7 is an explanatory diagram illustrating an example of generating feature vectors for each rule. In Figure 7, the information processing device 100 identifies one or more training data from among multiple training data that satisfy one or more conditions represented by the rule for each rule represented by the model 600. For each rule represented by the model 600, the information processing device 100 generates a feature vector that includes the statistical values ​​for each explanatory variable in the identified one or more training data as components. The information processing device 100 may also generate the feature vector by replacing the values ​​'present' and 'absent' of the explanatory variables with values ​​1 and 0.

[0101] Specifically, the information processing device 100 generates a feature vector 711 that includes statistical values ​​for each explanatory variable in one or more training data sets that satisfy rule 701 from among multiple training data sets. Specifically, the information processing device 100 generates a feature vector 712 that includes statistical values ​​for each explanatory variable in one or more training data sets that satisfy rule 702 from among multiple training data sets.

[0102] The information processing device 100 classifies each rule represented by the model 600 into one of several clusters based on the Euclidean distance between the generated feature vectors using the x-means method. Specifically, the information processing device 100 classifies each rule represented by the model 600 into one of 20 clusters. In the following explanation, the i-th cluster may be referred to as "cluster i," where i is, for example, between 0 and 19.

[0103] Next, using Figures 8 and 9, we will explain an example of how the information processing device 100 identifies the inclusion relationships between clusters in the multiple classified clusters.

[0104] Figures 8 and 9 are explanatory diagrams illustrating an example of identifying inclusion relationships between clusters. In Figure 8, the information processing device 100 calculates the inclusion rate between clusters. For each combination of clusters, the information processing device 100 calculates the inclusion rate of one cluster for the other cluster and the inclusion rate of the other cluster for the first cluster. The inclusion rate of one cluster for the other cluster is defined, for example, as (A∩B) / A. A is a group of training data that satisfies at least one of the conditions represented by one or more rules classified into the other cluster. B is a group of training data that satisfies at least one of the conditions represented by one or more rules classified into the first cluster.

[0105] The information processing device 100 calculates the inclusion rate between clusters, for example, as shown in Table 800. Specifically, for the combination of cluster 1 and cluster 2, the information processing device 100 calculates the inclusion rate of cluster 1 for cluster 2 and the inclusion rate of cluster 2 for cluster 1. Specifically, for the combination of cluster 1 and cluster 3, the information processing device 100 calculates the inclusion rate of cluster 1 for cluster 3 and the inclusion rate of cluster 3 for cluster 1. Specifically, for the combination of cluster 2 and cluster 3, the information processing device 100 calculates the inclusion rate of cluster 2 for cluster 3 and the inclusion rate of cluster 3 for cluster 2. Next, we will move on to the explanation of Figure 9.

[0106] In Figure 9, the information processing device 100 calculates the inter-cluster coverage rate in 20 clusters, as shown in Table 900. The horizontal axis represents the cluster number. The vertical axis also represents the cluster number. Table 900 shows the coverage rate of the clusters with numbers on the vertical axis relative to the clusters with numbers on the horizontal axis. White indicates that the coverage rate belongs to the first range, which is closest to 1 among multiple ranges that divide coverage rates from 0 to 1. The upper end of the first range is, for example, 1.

[0107] A thin, mesh-like hatch indicates that the coverage belongs to the second range, which is the next closest to 1 after the first range, among several ranges that divide coverage from 0 to 1. A dotted hatch indicates that the coverage belongs to the third range, which is the next closest to 1 after the second range, among several ranges that divide coverage from 0 to 1. A dense, mesh-like hatch indicates that the coverage belongs to the fourth range, which is the next closest to 1 after the third range and the closest to 0, among several ranges that divide coverage from 0 to 1. The lower end of the fourth range is, for example, 0.

[0108] The information processing device 100 determines whether one cluster encompasses the other cluster for each combination of clusters, based on whether the inclusion rate of one cluster over the other cluster is above a threshold. The threshold is, for example, 0.9. The threshold is set in advance by the model user, for example. Specifically, the information processing device 100 determines that one cluster encompasses the other cluster if the inclusion rate of one cluster over the other cluster is above a threshold for any combination of clusters. By determining whether one cluster encompasses the other cluster for each combination of clusters, the information processing device 100 identifies the inclusion relationships between clusters in multiple clusters.

[0109] Next, using Figure 10, we will describe an example in which the information processing device 100 displays the hierarchical relationships between clusters based on the inclusion relationships between the identified clusters.

[0110] Figure 10 is an explanatory diagram showing an example of displaying hierarchical relationships between clusters. In Figure 10, the information processing device 100 identifies hierarchical relationships between clusters based on the inclusion relationships between clusters in the multiple clusters. For example, for each combination of clusters, the information processing device 100 determines whether one cluster is superior to the other cluster in a hierarchical relationship, and whether the other cluster is superior to the first cluster in a hierarchical relationship. Specifically, for any combination of clusters, the information processing device 100 identifies a hierarchical relationship where one cluster is superior to the other cluster if one cluster is in an inclusion relationship where one cluster includes the other cluster.

[0111] The information processing device 100 generates a graph 1000 that shows the hierarchical relationships between the identified clusters. The graph 1000 includes nodes 1001, 1011-1015, 1021-1028, 1031-1035, and 1041 that represent clusters. In the example in Figure 10, nodes 1001, 1011-1015, 1021-1028, 1031-1035, and 1041 are indicated, for example, by circles. The numbers attached below nodes 1001, 1011-1015, 1021-1028, 1031-1035, and 1041 are the cluster numbers that the nodes represent. Graph 1000 includes edges connecting nodes that represent combinations of clusters with hierarchical relationships among nodes 1001, 1011-1015, 1021-1028, 1031-1035, and 1041.

[0112] The information processing device 100 displays graph 1000. In this case, the information processing device 100 may display graph 1000 such that the size of the circles increases as the number of rules classified into clusters represented by nodes 1001, 1011~1015, 1021~1028, 1031~1035, and 1041 increases.

[0113] The information processing device 100 accepts the designation of any of the nodes 1001, 1011-1015, 1021-1028, 1031-1035, and 1041 of the displayed graph 1000. For example, the information processing device 100 accepts the click of any of the nodes 1001, 1011-1015, 1021-1028, 1031-1035, and 1041 of the displayed graph 1000 as the designation of that node.

[0114] The information processing device 100 may, depending on the designation of any node, display descriptive information 1010 relating to one or more rules classified into clusters represented by any of the designated nodes. The descriptive information 1010 is, for example, information representing the characteristics of one or more training data from among multiple training data that satisfy at least one of the conditions represented by one or more rules classified into clusters.

[0115] The explanatory information 1010 is, for example, a decision tree that can classify one or more training data from among multiple training data that satisfy at least one of the conditions represented by one or more rules that classify them into clusters as positive examples. The explanatory information 1010 may also be, for example, a feature vector whose components include statistical values ​​for each explanatory variable in one or more training data from among multiple training data that satisfy at least one of the conditions represented by one or more rules that classify them into clusters.

[0116] This allows the information processing device 100 to intuitively grasp the relationships between the rules that form the model, making it easier for users to understand the contents of the model. The information processing device 100 can also easily grasp the contents of one or more rules classified into clusters.

[0117] (Specific example of the operation of the information processing device 100) Next, we will explain specific examples of the operation of the information processing device 100 using Figures 11 to 24. First, we will explain specific examples of how the information processing device 100 acquires multiple training data and trains a model using Figures 11 and 12.

[0118] Figures 11 and 12 are explanatory diagrams illustrating specific examples of model training. In Figures 11 and 12, the information processing device 100 acquires the animal data management table 1100. For convenience, the contents of the animal data management table 1100 are shown in separate parts in Figures 11 and 12. The animal data management table 1100 is implemented, for example, by a storage area such as the memory 302 or recording medium 305 of the information processing device 100 shown in Figure 3.

[0119] As shown in Figure 11, the animal data management table 1100 has fields for ID, Name, Hair, Feathers, Oviparous, Flying, Aquatic, Carnivorous, Teeth, Spine, and Lung Respiration. As shown in Figure 12, the animal data management table 1100 further has fields for Poison, Fins, Feet, Tail, Domesticated, Fel-like Size, and Label.

[0120] The animal data management table 1100 stores animal data as record 1100-b by setting information in each field for each animal. b is an arbitrary integer. In the examples in Figures 11 and 12, there are, for example, 93 animal data entries. Therefore, b can be, for example, 1 to 93.

[0121] The ID field is set to the ID, which is the number assigned to the animal. The Name field is set to the name of the animal. The Fur field is set to information indicating whether the animal has fur or not. The Feather field is set to information indicating whether the animal has feathers or not. The Oviparous field is set to information indicating whether the animal is oviparous or not. The Flight field is set to information indicating whether the animal can fly or not. The Aquatic field is set to information indicating whether the animal is aquatic or not.

[0122] The carnivore field contains information indicating whether the animal is carnivorous or not. The teeth field contains information indicating whether the animal has teeth or not. The spine field contains information indicating whether the animal has a spine or not. The lung respiration field contains information indicating whether the animal breathes with lungs or not.

[0123] The "Poison" field contains information indicating whether the animal possesses poison. The "Fin" field contains information indicating whether the animal has fins. The "Legs" field contains information indicating the number of legs the animal has. The "Tail" field contains information indicating whether the animal has a tail. The "Human Care" field contains information indicating whether there is a record of the animal being kept by humans. The "Feline Size" field contains information indicating whether the animal is roughly the size of a feline.

[0124] The label field is set with flag information indicating whether the animal is a mammal or not. For example, a value of 1 indicates that the animal is a mammal, and a value of 0 indicates that the animal is not a mammal. The information processing device 100 generates training data based on the respective animal data in the animal data management table 1100.

[0125] Specifically, the information processing device 100 generates training data for each animal data set, including the values ​​of fields other than the ID, name, and label of the animal data as explanatory variables, and the value of the label field of the animal data as the correct label. There are, for example, 15 explanatory variables. As a result, the information processing device 100 can generate 93 training data sets.

[0126] The information processing device 100 trains the model 600 based on the 93 training data points it has generated. The model 600 represents, for example, 321 rules. A rule represents, for example, one or more conditions that classify whether an animal is a mammal or not using one or more explanatory variables. The contents of the model 600 are the same as those shown in Figure 6, so no further explanation is provided.

[0127] The information processing device 100 may, for example, remove rules from the model 600 that represent conditions not satisfied by at least x percent of the 93 training data. For example, x is 1. The information processing device 100 may also remove rules from the model 600 that state npos / (npos+nneg) is less than y. For example, y is 0.9. As a result, the information processing device 100 can train the model 600.

[0128] Next, using Figures 13 and 14, we will describe a specific example in which the information processing device 100 generates feature vectors for each rule represented by the model 600.

[0129] Figures 13 and 14 are explanatory diagrams illustrating specific examples of generating feature vectors for each rule. In Figures 13 and 14, the information processing device 100 generates feature vectors for each rule represented by the model 600 based on multiple training data. The information processing device 100 may, for example, replace the values ​​of explanatory variables such as 'present' and 'absent' with values ​​1 and 0 before generating the feature vectors. For example, for each rule represented by the model 600, the information processing device 100 identifies one or more training data from among multiple training data that satisfy one or more conditions represented by that rule.

[0130] The information processing device 100 generates a feature vector for each rule represented by the model 600, for example, that includes statistical values ​​for each explanatory variable in one or more identified training data sets as components. The statistical value is, for example, the proportion of training data sets that satisfy one or more conditions represented by the rule, where the value of a particular explanatory variable is a specific value or range. The statistical value may also be, for example, the maximum, minimum, mean, mode, or median of the explanatory variable's value.

[0131] In the examples shown in Figures 13 and 14, the information processing device 100 calculates, for each rule represented by the model 600, the proportion of training data where hair = 'present' among the one or more training data that satisfy one or more conditions represented by that rule, as a component of the feature vector. The information processing device 100 also calculates, for each rule represented by the model 600, the proportion of training data where hair = 'absent' among the one or more training data that satisfy one or more conditions represented by that rule, as a component of the feature vector.

[0132] Furthermore, for each rule represented by the model 600, the information processing device 100 calculates the proportion of training data where feathers = 'present' among the one or more training data that satisfy one or more conditions represented by the rule, as a component of the feature vector. Furthermore, for each rule represented by the model 600, the information processing device 100 calculates the proportion of training data where feathers = 'absent' among the one or more training data that satisfy one or more conditions represented by the rule, as a component of the feature vector.

[0133] Furthermore, for each rule represented by the model 600, the information processing device 100 calculates the proportion of training data where oviparous = 'no' among the one or more training data that satisfy one or more conditions represented by the rule, as a component of the feature vector. Furthermore, for each rule represented by the model 600, the information processing device 100 calculates the proportion of training data where oviparous = 'yes' among the one or more training data that satisfy one or more conditions represented by the rule, as a component of the feature vector.

[0134] Furthermore, for each rule represented by the model 600, the information processing device 100 calculates the proportion of training data where the number of legs < 3 is represented among the one or more training data that satisfy one or more conditions represented by the rule, as a component of the feature vector. Furthermore, for each rule represented by the model 600, the information processing device 100 calculates the proportion of training data where the number of legs ≥ 3 is represented among the one or more training data that satisfy one or more conditions represented by the rule, as a component of the feature vector.

[0135] Furthermore, for each rule represented by the model 600, the information processing device 100 calculates the proportion of training data where the number of legs < 5 is represented among the one or more training data that satisfy one or more conditions represented by the rule, as a component of the feature vector. Furthermore, for each rule represented by the model 600, the information processing device 100 calculates the proportion of training data where the number of legs ≥ 5 is represented among the one or more training data that satisfy one or more conditions represented by the rule, as a component of the feature vector.

[0136] Furthermore, for each rule represented by the model 600, the information processing device 100 calculates the proportion of training data where tail = 'present' among the one or more training data that satisfy one or more conditions represented by the rule, as a component of the feature vector. Also, for each rule represented by the model 600, the information processing device 100 calculates the proportion of training data where tail = 'absent' among the one or more training data that satisfy one or more conditions represented by the rule, as a component of the feature vector. Specifically, the information processing device 100 generates a feature vector containing the calculated components and stores it using the feature vector management table 1300. The feature vector management table 1300 is implemented, for example, by a storage area such as the memory 302 or recording medium 305 of the information processing device 100 shown in Figure 3.

[0137] As shown in Figure 13, the feature vector management table 1300 has fields for rules, hair='yes', hair='no', feathers='yes', feathers='no', and oviparous='no'. As shown in Figure 14, the feature vector management table 1300 further has fields for oviparous='yes', legs<3, legs≧3, legs<5, legs≧5, tail='yes', and tail='no'. The feature vector management table 1300 stores the feature vectors as records 1300-c by setting information in each field for each rule, where c is an arbitrary integer.

[0138] The rule field is where the rule is set. In the field for Hair='Present', the proportion of training data that satisfy one or more conditions represented by the above rule and are Hair='Present' is set as a component of the feature vector. In the field for Hair='Absent', the proportion of training data that satisfy one or more conditions represented by the above rule and are Hair='Absent' is set as a component of the feature vector.

[0139] In the field for Feathers = 'Present', the proportion of training data that satisfy one or more conditions represented by the above rule, specifically those with Feathers = 'Present', is set as a component of the feature vector. In the field for Feathers = 'Absent', the proportion of training data that satisfy one or more conditions represented by the above rule, specifically those with Feathers = 'Absent', is set as a component of the feature vector.

[0140] In the field for oviparous='no', the proportion of training data that satisfies one or more conditions represented by the above rule, and for which oviparous='no', is set as a component of the feature vector. In the field for oviparous='yes', the proportion of training data that satisfies one or more conditions represented by the above rule, and for which oviparous='yes', is set as a component of the feature vector.

[0141] In the field for legs < 3, the proportion of training data with fewer than 3 legs among the one or more training data that satisfy one or more conditions represented by the above rule is set as a component of the feature vector. In the field for legs ≥ 3, the proportion of training data with more than 3 legs among the one or more training data that satisfy one or more conditions represented by the above rule is set as a component of the feature vector.

[0142] In the field for legs < 5, the proportion of training data with fewer than 5 legs among the one or more training data that satisfy one or more conditions represented by the above rule is set as a component of the feature vector. In the field for legs ≥ 5, the proportion of training data with more than 5 legs among the one or more training data that satisfy one or more conditions represented by the above rule is set as a component of the feature vector.

[0143] In the field for tail='present', the proportion of training data that satisfies one or more conditions expressed by the above rule, and that has a tail='present', is set as a component of the feature vector. In the field for tail='absent', the proportion of training data that satisfies one or more conditions expressed by the above rule, and that has an tail='absent', is set as a component of the feature vector.

[0144] Next, using Figures 15 and 16, we will describe a specific example of how the information processing device 100 clusters the rule set by referring to the feature vector management table 1300.

[0145] Figures 15 and 16 are explanatory diagrams illustrating a specific example of clustering a set of rules. In Figure 15, the information processing device 100 refers to the feature vector management table 1300 and uses the x-means method to classify each rule represented by the model 600 into one of several clusters based on the Euclidean distance between the feature vectors. Specifically, the information processing device 100 classifies each rule represented by the model 600 into one of 20 clusters. In the following explanation, the i-th cluster may be referred to as "cluster i," where i is, for example, between 0 and 19.

[0146] Graph 1520 in Figure 15 shows the result of arranging each rule represented by Model 600 in a two-dimensional space using principal component analysis. Specifically, the information processing device 100 classifies the rule group 1500 shown in Graph 1520 into cluster 0. Furthermore, the information processing device 100 classifies the rule group 1501 shown in Graph 1520 into cluster 1. Furthermore, the information processing device 100 classifies the rule group 1502 shown in Graph 1520 into cluster 2. Furthermore, the information processing device 100 classifies the rule group 1503 shown in Graph 1520 into cluster 3. Furthermore, the information processing device 100 classifies the rule group 1504 shown in Graph 1520 into cluster 4.

[0147] Furthermore, the information processing device 100 specifically classifies the rule group 1505 shown in Graph 1520 into cluster 5. Furthermore, the information processing device 100 specifically classifies the rule group 1506 shown in Graph 1520 into cluster 6. Furthermore, the information processing device 100 specifically classifies the rule group 1507 shown in Graph 1520 into cluster 7. Furthermore, the information processing device 100 specifically classifies the rule group 1508 shown in Graph 1520 into cluster 8. Furthermore, the information processing device 100 specifically classifies the rule group 1509 shown in Graph 1520 into cluster 9.

[0148] Furthermore, the information processing device 100 specifically classifies the rule group 1510 shown in graph 1520 into cluster 10. Furthermore, the information processing device 100 specifically classifies the rule group 1511 shown in graph 1520 into cluster 11. Furthermore, the information processing device 100 specifically classifies the rule group 1512 shown in graph 1520 into cluster 12. Furthermore, the information processing device 100 specifically classifies the rule group 1513 shown in graph 1520 into cluster 13. Furthermore, the information processing device 100 specifically classifies the rule group 1514 shown in graph 1520 into cluster 14.

[0149] Furthermore, the information processing device 100 specifically classifies the rule group 1515 shown in Graph 1520 into cluster 15. Furthermore, the information processing device 100 specifically classifies the rule group 1516 shown in Graph 1520 into cluster 16. Furthermore, the information processing device 100 specifically classifies the rule group 1517 shown in Graph 1520 into cluster 17. Furthermore, the information processing device 100 specifically classifies the rule group 1518 shown in Graph 1520 into cluster 18. Furthermore, the information processing device 100 specifically classifies the rule group 1519 shown in Graph 1520 into cluster 19. Next, we will move on to the explanation of Figure 16.

[0150] Table 1600 in Figure 16 shows the number of rules classified into each cluster from among the multiple rules represented by Model 600, in descending order. Specifically, Table 1600 has a KC number field corresponding to the cluster number. The KC number field is set to the number of rules classified into the cluster.

[0151] Next, using Figures 17 and 18, we will describe a first specific example in which the information processing device 100 generates descriptive information about the cluster.

[0152] Figures 17 and 18 are explanatory diagrams showing a first specific example of generating descriptive information about a cluster. As shown in Figure 17, the information processing device 100 specifically acquires a group of rules 1502 classified as cluster 2 when generating descriptive information about cluster 2. Next, we will move on to the explanation of Figure 18.

[0153] In Figure 18, the information processing device 100 specifically identifies one or more training data from among multiple training data that satisfies at least one of the conditions represented by one or more rules included in the acquired rule group 1502. The information processing device 100 may also specifically identify one or more training data from among multiple training data that satisfies all of the conditions represented by one or more rules included in the acquired rule group 1502. The information processing device 100 may also specifically identify one or more training data from among multiple training data that satisfies all of the conditions represented by z% or more of the rules included in the acquired rule group 1502, where z is, for example, 10.

[0154] Specifically, the information processing device 100 generates new training data by assigning labels representing positive examples to the values ​​of multiple explanatory variables contained in one or more identified training data. Specifically, the information processing device 100 generates a decision tree 1800 for classifying data as explanatory information about cluster 2 based on the newly generated training data.

[0155] Next, using Figures 19 and 20, a second specific example of how the information processing device 100 generates descriptive information about the cluster will be described.

[0156] Figures 19 and 20 are explanatory diagrams showing a second specific example of generating descriptive information about a cluster. As shown in Figure 19, the information processing device 100 specifically acquires a group of rules 1511 classified under cluster 11 when generating descriptive information about cluster 11. Next, we will move on to the explanation of Figure 20.

[0157] In Figure 20, the information processing device 100 specifically identifies one or more training data from among multiple training data that satisfies at least one of the conditions represented by one or more rules included in the acquired rule group 1511. The information processing device 100 may specifically identify one or more training data from among multiple training data that satisfies all of the conditions represented by one or more rules included in the acquired rule group 1511. The information processing device 100 may specifically identify one or more training data from among multiple training data that satisfies all of the conditions represented by z% or more of the rules included in the acquired rule group 1511, where z is, for example, 10.

[0158] Specifically, the information processing device 100 generates new training data by assigning labels representing positive examples to the values ​​of multiple explanatory variables contained in one or more identified training data. Specifically, the information processing device 100 generates a decision tree 2000 for classifying data as explanatory information for cluster 11, based on the newly generated training data. The information processing device 100 similarly generates explanatory information for other clusters.

[0159] Next, using Figures 21 and 22, we will describe a specific example of how the information processing device 100 calculates the inter-cluster coverage ratio in multiple clusters.

[0160] Figures 21 and 22 are explanatory diagrams illustrating specific examples of calculating inter-cluster inclusion rates. In Figures 21 and 22, the information processing device 100 calculates the inter-cluster inclusion rates. For each combination of clusters, the information processing device 100 calculates the inclusion rate of one cluster for the other cluster and the inclusion rate of the other cluster for the first cluster. The inclusion rate of one cluster for the other cluster is defined, for example, as (A∩B) / A. A is a group of training data that satisfies at least one of the conditions represented by one or more rules classified into the other cluster. B is a group of training data that satisfies at least one of the conditions represented by one or more rules classified into the first cluster.

[0161] The information processing device 100 calculates the inclusion rate between clusters, for example, as shown in Table 2100. The rows in Table 2100 correspond to clusters, for example. The columns in Table 2100 correspond to clusters, for example. The element in row i and column j of Table 2100 shows the inclusion rate of cluster j for cluster i. The information processing device 100 may also calculate the inclusion rate between clusters by comparing the rules classified into each cluster. For example, for each combination of clusters, the information processing device 100 may calculate the inclusion rate between clusters based on the overlapping conditions between one or more conditions represented by one or more rules classified into one cluster and one or more conditions represented by one or more rules classified into the other cluster.

[0162] Next, using Figure 23, we will explain a specific example of how the information processing device 100 identifies hierarchical relationships between clusters.

[0163] Figure 23 is an explanatory diagram illustrating a specific example of identifying hierarchical relationships between clusters. In Figure 23, the information processing device 100 determines whether one cluster encompasses the other cluster for each combination of clusters, based on whether the inclusion rate of one cluster over the other cluster is above a threshold. The threshold is, for example, 0.9. The threshold is set in advance by the model user. Specifically, the information processing device 100 determines that one cluster encompasses the other cluster if the inclusion rate of one cluster over the other cluster is above a threshold for any combination of clusters. The information processing device 100 identifies the inclusion relationships between clusters in multiple clusters by determining whether one cluster encompasses the other cluster for each combination of clusters, and whether the other cluster encompasses one cluster.

[0164] The information processing device 100 identifies the hierarchical relationships between clusters in a plurality of clusters based on the inclusion relationships between clusters in the plurality of clusters. For example, for each combination of clusters, the information processing device 100 determines whether one cluster is superior to the other cluster in a hierarchical relationship, and whether the other cluster is superior to the first cluster in a hierarchical relationship. Specifically, for any combination of clusters, the information processing device 100 identifies that one cluster is superior to the other cluster in a hierarchical relationship if one cluster is inclusion in the other cluster.

[0165] The information processing device 100 generates a graph 2300 that shows the hierarchical relationships between the identified clusters. The graph 2300 includes nodes 2301, 2311-2315, 2321-2328, 2331-2335, and 2341 that represent clusters. In the example in Figure 23, nodes 2301, 2311-2315, 2321-2328, 2331-2335, and 2341 are each indicated by, for example, circles. The numbers attached below nodes 2301, 2311-2315, 2321-2328, 2331-2335, and 2341 are the cluster numbers that the nodes represent. Graph 2300 includes edges connecting nodes that represent combinations of clusters with hierarchical relationships among nodes 2301, 2311-2315, 2321-2328, 2331-2335, and 2341. Graph 2300 shows, for example, that cluster 2 encompasses all other clusters. Graph 2300 also shows, for example, that cluster 18 is encompassed by clusters 2, 15, 17, 4, and 13.

[0166] Next, using Figure 24, we will explain a specific example of how the information processing device 100 displays hierarchical relationships between clusters.

[0167] Figure 24 is an explanatory diagram illustrating a specific example of displaying the hierarchical relationships between clusters. In Figure 24, the information processing device 100 displays the generated graph 2300.

[0168] The information processing device 100 accepts the designation of any node among nodes 2301, 2311-2315, 2321-2328, 2331-2335, and 2341 of the displayed graph 2300. For example, the information processing device 100 accepts the click of any node among nodes 2301, 2311-2315, 2321-2328, 2331-2335, and 2341 of the displayed graph 2300 as the designation of that node.

[0169] The information processing device 100 displays descriptive information about one or more rules classified into clusters represented by any of the specified nodes, depending on the node specified. For example, depending on the node specified as 2301, the information processing device 100 displays a decision tree 1800 which is descriptive information about cluster 2 represented by node 2301. Depending on the node specified as 2315, the information processing device 100 displays a decision tree 2000 which is descriptive information about cluster 11 represented by node 2315.

[0170] This allows the information processing device 100 to intuitively grasp the relationships between the rules that make up the model, making it easier for users to understand the contents of the model. The information processing device 100 can easily grasp the contents of one or more rules classified into clusters. For example, the information processing device 100 can allow users to check the contents of one or more rules classified into each cluster represented by the node group 2350, which includes nodes 2311 to 2315. Therefore, for example, the information processing device 100 can allow users to check the contents of each cluster that belong to the same hierarchical level and have a similar level of granularity in parallel. Specifically, the information processing device 100 can allow users to grasp that there are relatively broad categories for mammals, such as herbivores, carnivores, or domesticated animals.

[0171] The information processing device 100 can, for example, allow a user to verify that they are traversing nodes 2301, 2311, 2321, 2331, and 2341 downwards, as shown by arrow 2360. The information processing device 100 can, for example, allow a user to understand how animals are being classified step by step. In this way, the information processing device 100 can allow a user to verify and compare clusters located horizontally, and clusters located vertically, and can verify the contents of the model at a desired level of granularity.

[0172] (Overall processing procedure) Next, an example of the overall processing procedure executed by the information processing device 100 will be described using Figure 25. The overall processing is realized, for example, by the CPU 301 shown in Figure 3, storage areas such as memory 302 and recording medium 305, and network I / F 303.

[0173] Figure 25 is a flowchart showing an example of the overall processing procedure. In Figure 25, the information processing device 100 acquires multiple training data (step S2501).

[0174] Next, the information processing device 100 generates a set of rules based on the acquired training data (step S2502). Then, the information processing device 100 generates feature vectors corresponding to each rule in the generated set of rules based on the acquired training data (step S2503).

[0175] Next, the information processing device 100 clusters the generated set of rules based on the generated feature vectors, thereby classifying each rule in the generated set into one of the multiple clusters (step S2504). Then, the information processing device 100 generates explanatory information corresponding to each of the multiple clusters (step S2505).

[0176] Next, the information processing device 100 calculates the inter-cluster coverage ratio in the multiple clusters (step S2506). Then, the information processing device 100 identifies the hierarchical structure between the multiple clusters (step S2507).

[0177] Next, the information processing device 100 outputs information representing the hierarchical structure between clusters (step S2508). Then, the information processing device 100 terminates the entire process.

[0178] As explained above, the information processing device 100 can acquire multiple data sets containing values ​​of multiple explanatory variables. The information processing device 100 can acquire a set of rules containing multiple rules that represent conditions for classifying data using one or more explanatory variables. The information processing device 100 can calculate feature quantities related to each rule based on one or more data sets from the acquired set of rules that satisfy the conditions represented by each rule. The information processing device 100 can classify each rule into one of several clusters based on the similarity between the feature quantities of each calculated rule. The information processing device 100 can identify the inclusion relationships between clusters in the multiple clusters based on the conditions represented by the rules classified into each cluster. The information processing device 100 can identify the hierarchical relationships between clusters in the multiple clusters based on the inclusion relationships between clusters in the multiple clusters. The information processing device 100 can output information showing the hierarchical relationships between clusters in the multiple clusters. This makes it easier for users to understand the contents of the set of rules.

[0179] According to the information processing device 100, it can accept the designation of any of several clusters. According to the information processing device 100, it can output information indicating the characteristics of one or more rules classified into any of the designated clusters. This makes it easier for users to understand the contents of the clusters.

[0180] According to the information processing device 100, rules to be included in a rule set can be generated by machine learning based on training data that associates samples containing values ​​of multiple explanatory variables with correct labels indicating the results of classifying those samples. This allows the information processing device 100 to appropriately generate a rule set. The information processing device 100 can generate the rule set itself and can easily operate independently.

[0181] According to the information processing device 100, it is possible to identify one or more data points from among multiple acquired data that satisfy the conditions represented by each rule included in the acquired rule set. According to the information processing device 100, it is possible to calculate a feature vector relating to the rule in the identified one or more data points, with the statistical values ​​of each of the multiple explanatory variables as components. As a result, the information processing device 100 can accurately evaluate the similarity of the rules and cluster the rule set.

[0182] According to the information processing device 100, for each cluster, it is possible to identify a set of data from among the acquired data that satisfies the conditions represented by one or more rules classified into that cluster. According to the information processing device 100, for each combination of clusters in multiple clusters, it is possible to calculate the inclusion rate of one cluster for the other cluster. According to the information processing device 100, if the inclusion rate of the first cluster for the second cluster is above a threshold, it is possible to determine that the first cluster is inclusion of the second cluster. According to the information processing device 100, it is possible to identify the inclusion relationships between clusters in multiple clusters. As a result, the information processing device 100 can accurately identify the inclusion relationships between clusters. The information processing device 100 can also evaluate the inclusion relationships between clusters even when the types of rules included in each cluster are different.

[0183] According to the information processing device 100, for each combination of clusters in multiple clusters, the inclusion rate of one cluster for another cluster can be calculated. According to the information processing device 100, if the inclusion rate of the first cluster for the second cluster is above a threshold, it can be determined that the first cluster is inclusion of the second cluster. According to the information processing device 100, the inclusion relationships between clusters in multiple clusters can be identified. As a result, the information processing device 100 can accurately identify the inclusion relationships between clusters. The information processing device 100 can also evaluate the inclusion relationships between clusters even when the types of rules included in each cluster are different.

[0184] According to the information processing device 100, if the third cluster contains the fourth cluster among multiple clusters, it can be determined that the third cluster is in a higher hierarchical relationship than the fourth cluster. According to the information processing device 100, the hierarchical relationships between clusters in multiple clusters can be identified. As a result, the information processing device 100 can accurately identify the hierarchical relationships between clusters.

[0185] The information processing method described in this embodiment can be implemented by executing a pre-prepared program on a computer such as a PC or workstation. The information processing program described in this embodiment is recorded on a computer-readable recording medium and executed by being read from the recording medium by the computer. The recording medium can be a hard disk, flexible disk, CD (Compact Disc)-ROM, MO (Magneto Optical Disc), DVD (Digital Versatile Disc), etc. Furthermore, the information processing program described in this embodiment may be distributed via a network such as the Internet.

[0186] With regard to the embodiments described above, the following additional information is disclosed.

[0187] (Note 1) Obtain multiple data sets containing values ​​for multiple explanatory variables, Obtain a set of rules containing multiple rules that represent conditions for classifying data using one or more explanatory variables. From the multiple data points obtained, a feature quantity related to each rule is calculated based on one or more data points that satisfy the conditions represented by each rule included in the obtained set of rules. Based on the similarity between the features in the calculated features of each of the aforementioned rules, each of the aforementioned rules is classified into one of the clusters of multiple clusters. Based on the conditions represented by the rules that classify each of the aforementioned clusters, the inclusion relationships between the clusters in the aforementioned clusters are identified. Based on the inclusion relationships between the clusters in the identified plurality of clusters, the hierarchical relationships between the clusters in the plurality of clusters are identified. Output information showing the hierarchical relationships between clusters in the identified clusters. An information processing program characterized by having a computer perform the processing.

[0188] (Note 2) The system accepts the designation of any of the above clusters, Output information indicating the characteristics of one or more rules classified into any of the aforementioned clusters that have received the aforementioned designation. The information processing program described in Appendix 1, characterized in that it causes the computer to perform the processing.

[0189] (Note 3) The information processing program according to Note 1 or 2, characterized in that the set of rules includes rules generated by machine learning based on training data that associates samples containing values ​​of multiple explanatory variables with correct labels indicating the results of classifying the samples.

[0190] (Note 4) The calculation process described above is: The information processing program according to Appendix 1 or 2, characterized in that it calculates a feature vector relating to a rule, in which, among the acquired multiple data, one or more data satisfying the conditions represented by each rule included in the acquired rule set, the statistical values ​​of each of the multiple explanatory variables are the components of the rule.

[0191] (Note 5) For each of the clusters mentioned above, identify a set of data from the acquired data that satisfies the conditions represented by one or more rules classified into that cluster. For each combination of clusters in the aforementioned plurality of clusters, the inclusion rate of one cluster to the other cluster is calculated, which represents the proportion of the total data set satisfying the conditions represented by one or more rules in the other cluster that overlaps with the data set satisfying the conditions represented by one or more rules in the other cluster. The computer is made to perform the process, The process of identifying the inclusion relationships between clusters in the aforementioned multiple clusters is as follows: The information processing program according to Appendix 1 or 2, characterized in that, among the plurality of clusters, if the inclusion rate of the first cluster with respect to the second cluster is greater than or equal to a threshold, it is determined that the first cluster is in an inclusion relationship with respect to the second cluster, thereby identifying the inclusion relationships between clusters in the plurality of clusters.

[0192] (Note 6) For each combination of clusters in the plurality of clusters, calculate the inclusion rate of one cluster for the other cluster, which represents the proportion of the total set of conditions represented by the one or more rules classified in the other cluster that overlaps with the set of conditions represented by the one or more rules classified in the other cluster. The computer is made to perform the process, The process of identifying the inclusion relationships between clusters in the aforementioned multiple clusters is as follows: The information processing program according to Appendix 1 or 2, characterized in that, among the plurality of clusters, if the inclusion rate of the first cluster with respect to the second cluster is greater than or equal to a threshold, it is determined that the first cluster is in an inclusion relationship with respect to the second cluster, thereby identifying the inclusion relationships between clusters in the plurality of clusters.

[0193] (Note 7) The process for identifying the hierarchical relationships between clusters in the above-mentioned clusters is as follows: The information processing program according to Appendix 5, characterized in that, when the third cluster among the plurality of clusters is in an inclusion relationship that includes the fourth cluster, the third cluster is in a hierarchical relationship that is higher than the fourth cluster, thereby identifying the hierarchical relationship between clusters in the plurality of clusters.

[0194] (Note 8) Obtain multiple data sets containing values ​​for multiple explanatory variables, Obtain a set of rules containing multiple rules that represent conditions for classifying data using one or more explanatory variables. From the multiple data points obtained, a feature quantity related to each rule is calculated based on one or more data points that satisfy the conditions represented by each rule included in the obtained set of rules. Based on the similarity between the features in the calculated features of each of the aforementioned rules, each of the aforementioned rules is classified into one of the clusters of multiple clusters. Based on the conditions represented by the rules that classify each of the aforementioned clusters, the inclusion relationships between the clusters in the aforementioned clusters are identified. Based on the inclusion relationships between the clusters in the identified plurality of clusters, the hierarchical relationships between the clusters in the plurality of clusters are identified. Output information showing the hierarchical relationships between clusters in the identified clusters. An information processing method characterized in that the processing is performed by a computer.

[0195] (Note 9) Obtain multiple data sets containing values ​​for multiple explanatory variables, Obtain a set of rules containing multiple rules that represent conditions for classifying data using one or more explanatory variables. From the multiple data points obtained, a feature quantity related to each rule is calculated based on one or more data points that satisfy the conditions represented by each rule included in the obtained set of rules. Based on the similarity between the features in the calculated features of each of the aforementioned rules, each of the aforementioned rules is classified into one of the clusters of multiple clusters. Based on the conditions represented by the rules that classify each of the aforementioned clusters, the inclusion relationships between the clusters in the aforementioned clusters are identified. Based on the inclusion relationships between the clusters in the identified plurality of clusters, the hierarchical relationships between the clusters in the plurality of clusters are identified. Output information showing the hierarchical relationships between clusters in the identified clusters. An information processing device characterized by having a control unit. [Explanation of Symbols]

[0196] 100 Information Processing Devices 110 Rule Set 120, 1000, 1520, 2300 graph 200 Information Processing Systems 201 Learning device 202 Client Devices 210 Network 300 bus 301 CPU 302 memory 303 Network I / F 304 Recording medium interface 305 Recording media 400 Storage section 401 Acquisition Department Room 402, Learning Department 403 Calculation Unit 404 Classification Department 405 Specific section 406 Generation part 407 Output section 500 inputs Processing 501, 502, 503, 504, 505, 506, 507 600 Model 701,702 Rules 711,712 Feature vectors 800,900,1600,2100 table 1001,1011,1012,1013,1014,1015,1021,1022,1023,1024,1025,1026,1027,1028,1031,1032,1033,1034,1035,1041,2301,2311,2312,2313,2314,2315,2321,2322,2323,2324,2325,2326,2327,2328,2331,2332,2333,2334,2335,2341 nodes 1010 Explanation Information 1100 Animal Data Management Table 1300 Feature Vector Management Table 1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,1515,1516,1517,1518,1519 Rule group 1800,2000 decision trees

Claims

1. Obtain multiple data points containing values ​​for multiple explanatory variables, Obtain a set of rules containing multiple rules that represent conditions for classifying data using one or more explanatory variables. From the multiple data points obtained, a feature quantity related to the rule is calculated based on one or more data points that satisfy the conditions represented by each rule included in the obtained set of rules. Based on the similarity between the features in the calculated features of each of the aforementioned rules, each of the aforementioned rules is classified into one of the clusters of multiple clusters. Based on the conditions represented by the rules that classify each of the aforementioned clusters, the inclusion relationships between the clusters in the aforementioned clusters are identified. Based on the inclusion relationships between the clusters in the identified plurality of clusters, the hierarchical relationships between the clusters in the plurality of clusters are identified. Output information showing the hierarchical relationships between clusters in the identified clusters. An information processing program characterized by having a computer perform the processing.

2. The system accepts the selection of one of the aforementioned clusters. Output information indicating the characteristics of one or more rules classified into any of the aforementioned clusters that have received the aforementioned designation. The information processing program according to claim 1, characterized in that it causes the computer to perform the processing.

3. The information processing program according to claim 1 or 2, characterized in that the set of rules includes rules generated by machine learning based on training data that associates samples containing values ​​of multiple explanatory variables with correct labels indicating the results of classifying the samples.

4. The calculation process described above is: The information processing program according to claim 1 or 2, characterized in that it calculates a feature vector relating to a rule, in which, among the acquired plurality of data, one or more data satisfying the conditions represented by each rule included in the acquired rule set, the statistical values ​​of each of the plurality of explanatory variables are the components of the rule.

5. For each of the aforementioned clusters, identify a set of data from the acquired data that satisfies the conditions represented by one or more rules that classified it into that cluster. For each combination of clusters in the aforementioned plurality of clusters, the inclusion rate of one cluster to the other cluster is calculated, which represents the proportion of the total data set satisfying the conditions represented by one or more rules in the other cluster that overlaps with the data set satisfying the conditions represented by one or more rules in the other cluster. The computer is made to perform the process, The process of identifying the inclusion relationships between clusters in the aforementioned multiple clusters is as follows: The information processing program according to claim 1 or 2, characterized in that, among the plurality of clusters, if the inclusion rate of the first cluster with respect to the second cluster is greater than or equal to a threshold, it is determined that the first cluster is in an inclusion relationship with respect to the second cluster, thereby identifying the inclusion relationships between clusters in the plurality of clusters.

6. The process of identifying the hierarchical relationships between clusters in the aforementioned multiple clusters is as follows: The information processing program according to claim 5, characterized in that, when the third cluster among the plurality of clusters has an inclusion relationship that includes the fourth cluster, the third cluster has a hierarchical relationship that places it above the fourth cluster, thereby identifying the hierarchical relationships between clusters in the plurality of clusters.

7. Obtain multiple data points containing values ​​for multiple explanatory variables, Obtain a set of rules containing multiple rules that represent conditions for classifying data using one or more explanatory variables. From the multiple data points obtained, a feature quantity related to the rule is calculated based on one or more data points that satisfy the conditions represented by each rule included in the obtained set of rules. Based on the similarity between the features in the calculated features of each of the aforementioned rules, each of the aforementioned rules is classified into one of the clusters of multiple clusters. Based on the conditions represented by the rules that classify each of the aforementioned clusters, the inclusion relationships between the clusters in the aforementioned clusters are identified. Based on the inclusion relationships between the clusters in the identified plurality of clusters, the hierarchical relationships between the clusters in the plurality of clusters are identified. Output information showing the hierarchical relationships between clusters in the identified clusters. An information processing method characterized in that the processing is performed by a computer.

8. Obtain multiple data points containing values ​​for multiple explanatory variables, Obtain a set of rules containing multiple rules that represent conditions for classifying data using one or more explanatory variables. From the multiple data points obtained, a feature quantity related to the rule is calculated based on one or more data points that satisfy the conditions represented by each rule included in the obtained set of rules. Based on the similarity between the features in the calculated features of each of the aforementioned rules, each of the aforementioned rules is classified into one of the clusters of multiple clusters. Based on the conditions represented by the rules that classify each of the aforementioned clusters, the inclusion relationships between the clusters in the aforementioned clusters are identified. Based on the inclusion relationships between the clusters in the identified plurality of clusters, the hierarchical relationships between the clusters in the plurality of clusters are identified. Output information showing the hierarchical relationships between clusters in the identified clusters. An information processing device characterized by having a control unit.

Citation Information

Patent Citations

  • Knowledge analytic system. method for setting analytic condition, saving analytic condition and re-analyzing processing in the system

    JP2003044491A

  • Information processing device, control method thereof, and program

    JP2010282431A

  • Rule extracting apparatus, information processing apparatus, rule extracting method, and rule extracting program

    JP2021018466A

  • System and methods for managing rules

    US20090144217A1

  • Optimal rule set management

    US20120158619A1