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

By optimizing causal graphs to aggregate nodes with common connections, the method improves the readability of complex causal graphs, facilitating easier interpretation of relationships between items.

JP2026077518APending Publication Date: 2026-05-13FUJITSU LTD
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
FUJITSU LTD
Filing Date
2024-10-25
Publication Date
2026-05-13

AI Technical Summary

Technical Problem

Conventional causal graphs with a large number of nodes, such as those with tens of thousands, are difficult to interpret due to low readability, making it challenging for users to understand the causal relationships between items.

Method used

An information processing method that generates and updates causal graphs by optimizing an objective function to aggregate nodes with common connection destinations and sources into a single node, reducing the number of nodes and improving readability.

Benefits of technology

The method enhances the readability of causal graphs by reducing the number of nodes and edges, making it easier for users to understand the causal relationships between items.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026077518000001_ABST
    Figure 2026077518000001_ABST
Patent Text Reader

Abstract

To improve the readability of causal graphs. [Solution] In the causal graph 500, nodes A and B, which have common connection destinations and source connections, can be merged into a single node AB, and the causal graph 500 can be updated to a causal graph 510. Even after merging nodes A and B, the causal graph 510 will still represent the causal relationships between items in the same way as the causal graph 500. The information processing device generates a reducible causal graph 500 based on multiple data, and provides the user with a causal graph 510 that has been reduced in size for improved readability.
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 causal discovery technique for generating a causal graph representing a causal relationship between items in a plurality of items based on a plurality of data representing combinations of values of each of the plurality of items. The causal graph is, for example, a directed graph.

[0003] As a prior art, for example, when a graph in which each node has a factor degree indicating the degree of a factor for the state of the graph changes, any node of the graph after the change whose importance based on the factor degree of the nodes of the graph after the change is below a threshold value is deleted.

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, the readability of the causal graph may be low. For example, since the number of items is proportional to the number of nodes in the causal graph, when the number of items is in the tens of thousands, the user has to interpret a causal graph including tens of thousands of nodes, and it is difficult to appropriately interpret the causal graph.

[0006] In one aspect, an object of the present invention is to improve the readability of a causal graph.

Means for Solving the Problems

[0007] According to one embodiment, an information processing program, information processing method, and information processing device are proposed to generate a causal graph based on a plurality of data that form the basis for generating a causal graph in which nodes are connected by directed edges, so as to optimize the value of an objective function that includes a first term indicating that the evaluation is higher the more common the connection destinations and connection sources of different nodes in the causal graph are, and to update the generated causal graph so as to aggregate two or more nodes in the generated causal graph that have all of the same connection destination and connection source into a single node. [Effects of the Invention]

[0008] According to one embodiment, it becomes possible to improve the readability of causal graphs. [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 an example of a retractable causal graph 500. [Figure 6] Figure 6 is an explanatory diagram showing an example of the contents stored in the data management table 600. [Figure 7] Figure 7 is an explanatory diagram showing an example of the operation of the information processing device 100. [Figure 8] Figure 8 is a flowchart showing an example of the overall processing procedure. [Modes for carrying out the invention]

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

[0011] (An embodiment of the information processing method according to the embodiment) Figure 1 is an explanatory diagram showing one embodiment of the information processing method according to the embodiment. It is a computer for improving the readability of causal graphs. The information processing device 100 is, for example, a server or a PC (Personal Computer).

[0012] A causal graph is a directed graph that contains multiple nodes, each representing a different item, connected by active edges. Items correspond to variables. Directed edges represent causal relationships between items corresponding to the nodes they connect. The value of the item represented by the node connected to the directed edge depends on the value of the item represented by the source node. A directed edge may have parameters representing a function that calculates the value of the item represented by the destination node from the value of the item represented by the source node.

[0013] Traditionally, there are causal exploration techniques that generate causal graphs based on multiple data sets representing combinations of values ​​for each of several items. Examples of such causal exploration techniques include LinGAM and No-tears. Multiple data sets can be grouped into, for example, tabular data. For example, each row of the tabular data corresponds to one data set. Specifically, multiple data sets may be a collection of data related to multiple attributes of a person and their disease risk. Multiple attributes of a person and disease risk correspond to items.

[0014] However, conventional technologies can result in poorly readable causal graphs. Readability refers to how easily users can interpret the causal graph and understand the causal relationships between items. The key factor is ease of interpretation. For example, the less cost it takes for a user to understand the causal relationships between items, the better the readability of the causal graph is considered to be. This cost can be, for example, time, fatigue, power, memory usage, or money.

[0015] For example, the number of items is proportional to the number of nodes in the causal graph. Therefore, when the number of items is in the order of ten thousand, a causal graph including the number of nodes in the order of ten thousand will be generated. In contrast, the user has to interpret a causal graph including the number of nodes in the order of ten thousand, making it difficult to appropriately interpret the causal graph and understand the causal relationship between items.

[0016] Also, for example, it is difficult to display a causal graph including the number of nodes in the order of ten thousand. Specifically, it is difficult to display a causal graph including the number of nodes in the order of ten thousand such that the overlap of each directed edge is small and each directed edge is easy to distinguish for easy visual recognition by the user. Therefore, it is difficult for the user to appropriately interpret the causal graph and understand the causal relationship between items.

[0017] Therefore, in the present embodiment, an information processing method capable of improving the readability of the causal graph will be described. According to this information processing method, the number of nodes in the causal graph can be reduced and the readability of the causal graph can be improved by updating the causal graph so that two or more nodes in the causal graph are aggregated into one node.

[0018] In FIG. 1, the information processing apparatus 100 stores a plurality of data 101 that are the basis for generating the causal graph 110. The causal graph 110 includes a plurality of nodes and connects the nodes with directed edges. The nodes represent any one of the plurality of items. In the example of FIG. 1, specifically, the causal graph 110 includes nodes 111 to 118.

[0019] The information processing apparatus 100 stores an objective function 102. The objective function 102 includes a first term. The first term indicates that, among the causal graph 110, the higher the evaluation is as the connection destinations and sources between different nodes are more common. For example, the first term indicates that, among the causal graph 110, the higher the evaluation is as the number of combinations of nodes with common connection destinations is larger and the number of combinations of nodes with common connection sources is larger. As shown in FIG. 1, for example, in the case where different nodes 112 and 113 have a common connection source at node 111 and common connection destinations at nodes 115 and 116, the first term indicates a high evaluation. The objective function 102 indicates that, for example, the lower the value, the higher the evaluation. The first term indicates that, for example, the lower the value, the higher the evaluation.

[0020] (1-1) The information processing apparatus 100 generates a causal graph 110 so as to optimize the value of the objective function 102 based on a plurality of data 101. The optimization is, for example, minimization. The information processing apparatus 100 repeatedly performs a process of updating the causal graph 110 in the direction of optimizing the value of the objective function, for example, to generate an appropriate causal graph 110 according to the objective function. Thereby, the information processing apparatus 100 can generate a causal graph 110 including two or more nodes that are likely to be aggregated into one node.

[0021] Here, the method of generating the causal graph 110 can be specifically realized by referring to the following Reference 1 and the following Reference 2, etc.

[0022] Reference 1: Zheng, Xun, et al. “Dags with no tears: Continuous optimization for structure learning.” Advances in neural information processing systems 31 (2018).

[0023] Reference 2: Zhong, Kai, et al. “Proximal quasi-newton for computationally intensive l1-regularized m-estimators.” Advances in Neural Information Processing Systems 27 (2014).

[0024] (1-2) The information processing device 100 updates the causal graph 110 so that two or more nodes in the generated causal graph 110 that have the same destination and source are consolidated into a single node. In the example in Figure 1, the information processing device 100 specifically updates the causal graph 110 to causal graph 120 by consolidating nodes 112 and 113 in the causal graph 110 into a single node 121. As a result, the information processing device 100 can reduce the number of nodes and directed edges in the causal graph 110, and obtain a causal graph 120 that is easier to read than the causal graph 110.

[0025] The information processing device 100 outputs the updated causal graph 110. The output format may be, for example, display on a screen, print to a printer, send to another computer, or store in memory. In the example in Figure 1, the information processing device 100 specifically outputs the causal graph 120 in a format that the user can refer to. This allows the information processing device 100 to make the user refer to a highly readable causal graph 120. Furthermore, the information processing device 100 makes it easier for the user to understand the causal relationships between items. The information processing device 100 can reduce the cost incurred by the user in understanding the causal relationships between items.

[0026] Here, we have described the case in which the objective function 102 contains only the first term, but it is not limited to this. For example, the objective function 102 may also include a second term that evaluates the likelihood of the causal graph 110 for multiple data points 101. The second term indicates, for example, that the smaller the absolute difference between the product of the data matrix representing multiple data points and the adjacency matrix of the causal graph 110 and the data matrix, the higher the evaluation. As a result, the information processing device 100 can generate the causal graph 110 in a way that accurately represents the causal relationships between items, including two or more nodes that are easily aggregated into a single node.

[0027] Here, we have described the case where the functions of the information processing device 100 are realized by a single computer, but this is not the only case. For example, the functions of the information processing device 100 may be realized through the collaboration of multiple computers. For example, the functions of the information processing device 100 may be realized on the cloud.

[0028] (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.

[0029] 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 and a client device 201.

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

[0031] The information processing device 100 is a computer for improving the readability of causal graphs. The information processing device 100 receives a processing request that requests the generation of a causal graph. The processing request includes, for example, multiple data that will be used to generate the causal graph. The information processing device 100 may receive a processing request, for example, by receiving it from a client device 201. The information processing device 100 may also receive a processing request, for example, by accepting input of a processing request based on user operation input.

[0032] The information processing device 100 stores multiple data sets that will be used to generate a causal graph based on a processing request. The data sets represent, for example, combinations of values ​​for each of multiple items. The multiple items include, for example, items corresponding to explanatory variables and items corresponding to dependent variables. The information processing device 100 stores, for example, tabular data that summarizes the multiple data sets. The information processing device 100 stores an objective function for evaluating the causal graph. The objective function includes, for example, a first term and a second term. The objective function indicates, for example, that a smaller value indicates a higher evaluation.

[0033] The first term acts to improve the evaluation of a causal graph as the number of nodes with common destinations and source connections increases. For example, the first term improves the evaluation of a causal graph as the number of combinations of nodes with common destinations and combinations of nodes with common source connections increases. For example, the first term indicates that a smaller value is better.

[0034] The second term evaluates the plausibility of the causal graph for multiple data points. The second term acts to increase the evaluation of the causal graph as the causal graph appears more plausible for multiple data points. For example, the second term acts to increase the evaluation of the causal graph as the smaller the absolute difference between the product of the data matrix representing the multiple data points and the adjacency matrix of the causal graph, and the data matrix. For example, the second term indicates that a smaller value indicates a higher evaluation.

[0035] The information processing device 100 generates a causal graph to optimize the value of the objective function in response to a processing request. The information processing device 100 updates the generated causal graph so that two or more nodes that share both a source and destination connection are consolidated into a single node. The information processing device 100 sends the updated causal graph to the client device 201. The information processing device 100 outputs the updated causal graph so that the user can refer to it. The information processing device 100 is, for example, a server or a PC.

[0036] The client device 201 is a computer that generates a processing request. The processing request requests the generation of a causal graph. The processing request includes, for example, multiple data sets that will be used to generate the causal graph. The client device 201 generates the processing request based, for example, on user input. The client device 201 transmits the generated processing request to the information processing device 100. The client device 201 receives the causal graph. The client device 201 outputs the received causal graph so that the user can refer to it. The client device 201 is, for example, a PC, a tablet terminal, or a smartphone.

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

[0038] (Examples of applications of Information Processing System 200) Next, we will describe an example of the application of the information processing system 200. For example, the information processing system 200 may be applied in the medical field. In this case, the information processing device 100 could generate a causal graph with improved readability based on multiple data sets, which are collections of data on a person's attributes and disease risk, and provide it to the user. The user can then refer to the causal graph to understand which attributes of people are at high risk of disease. In this case, the information processing device 100 can reduce the cost of understanding causal relationships between items by providing a causal graph with improved readability.

[0039] Furthermore, for example, the information processing system 200 could be applied to the industrial sector. In this case, the information processing device 100 could generate and provide to the user a causal graph with improved readability based on multiple data sets, specifically a collection of data on people's attributes and employee turnover rates. The user could then refer to the causal graph to understand which attributes of people have high employee turnover rates. In this process, the information processing device 100 can reduce the cost to the user in understanding the causal relationships between items by providing a causal graph with improved readability.

[0040] (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.

[0041] 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.

[0042] 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.

[0043] 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.

[0044] 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.

[0045] 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.

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

[0047] (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.

[0048] 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 generation unit 402, an update unit 403, and an output unit 404.

[0049] 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.

[0050] The acquisition unit 401 to the output unit 404 function as an example of a control unit. Specifically, the acquisition unit 401 to the output unit 404 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 interface 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.

[0051] The memory unit 400 stores various information that is referenced or updated during the processing of each functional unit. The memory unit 400 stores multiple data sets that form the basis for generating a causal graph. The data sets represent, for example, combinations of values ​​for each of multiple items. The multiple items include, for example, an item corresponding to the dependent variable and an item corresponding to the independent variable.

[0052] A causal graph represents the causal relationships between items. A causal graph is, for example, a directed graph containing multiple nodes, each representing a different item, connected by active edges. A directed edge represents the causal relationship between the corresponding items between the connected nodes. The value of the item represented by the node to which the directed edge is connected depends on the value of the item represented by the source node. A directed edge may have parameters representing a function that calculates the value of the item represented by the destination node from the value of the item represented by the source node.

[0053] The memory unit 400 stores an objective function for evaluating the causal graph. The objective function includes, for example, at least a first term. The objective function may also include, for example, a second term. The objective function indicates, for example, that a smaller value indicates a higher evaluation.

[0054] The first term acts to improve the evaluation of a causal graph as the number of common destinations and source connections between different nodes in the causal graph increases. For example, the first term acts to improve the evaluation of a causal graph as the number of combinations of nodes with common destinations and combinations of nodes with common source connections increases. For example, the smaller the value of the first term, the higher the evaluation of the causal graph. Specifically, the first term increases so that each node in the causal graph is either the destination or source of only one node in a pair of multiple pairs that include any two nodes in the causal graph that the evaluation of the causal graph deteriorates.

[0055] The second term evaluates the plausibility of the causal graph for multiple data points. The second term acts to ensure that the more plausible the causal graph is for multiple data points, the higher its evaluation. For example, the second term acts to ensure that the evaluation of the causal graph is higher the smaller the absolute difference between the product of the data matrix representing the multiple data points and the adjacency matrix of the causal graph, and the data matrix. For example, the second term indicates that a smaller value indicates a higher evaluation of the causal graph. The objective function is pre-set by the user, for example. The objective function may be obtained by the acquisition unit 401, for example.

[0056] 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.

[0057] The acquisition unit 401 acquires, for example, a processing request that requests the generation of a causal graph. The processing request includes, for example, multiple data. Specifically, the acquisition unit 401 acquires a processing request by accepting the input of the processing request. Specifically, the acquisition unit 401 may acquire a processing request by receiving a processing request from another computer. The other computer is, for example, a client device 201.

[0058] The acquisition unit 401 acquires multiple data, for example. Specifically, the acquisition unit 401 acquires multiple data by extracting multiple data from a processing request. Specifically, the acquisition unit 401 may acquire multiple data by accepting multiple data as input. Specifically, the acquisition unit 401 may acquire multiple data by receiving multiple data from another computer. The other computer is, for example, a client device 201.

[0059] The acquisition unit 401 acquires, for example, the objective function. Specifically, the acquisition unit 401 acquires the objective function by extracting it from the processing request. Specifically, the acquisition unit 401 may acquire the objective function by accepting the input of the objective function. Specifically, the acquisition unit 401 may acquire the objective function by receiving the objective function from another computer. The other computer is, for example, the client device 201.

[0060] 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. The acquisition unit 401 accepts, for example, the acquisition of a processing request as a start trigger to initiate processing in the generation unit 402 and the update unit 403.

[0061] The generation unit 402 generates a causal graph to optimize the value of the objective function based on multiple data points. The generation unit 402 generates an appropriate causal graph according to the objective function by repeatedly performing a process to update the causal graph in a direction that optimizes the value of the objective function. As a result, the generation unit 402 can generate a causal graph that includes two or more nodes that are easily aggregated into one node, based on an objective function that includes at least the first term. The generation unit 402 can generate a causal graph that accurately represents the causal relationships between items, based on an objective function that includes the second term.

[0062] The generation unit 402 may, for example, generate multiple candidate causal graphs and, based on the value of the objective function for each candidate, generate a causal graph using one of the candidates that shows the highest evaluation among the multiple candidates. In this way, the generation unit 402 can generate a causal graph that includes two or more nodes that are easily aggregated into one node, based on an objective function that includes at least the first term. The generation unit 402 can generate a causal graph that accurately represents the causal relationships between items, based on an objective function that includes the second term.

[0063] The update unit 403 updates the causal graph generated by the generation unit 402 so that two or more nodes that share both a destination and a source are consolidated into a single node. For example, the update unit 403 searches for groups of two or more nodes in the causal graph that share both a destination and a source. For example, the update unit 403 generates a single node that represents the items represented by each node in the discovered group and adds it to the causal graph.

[0064] The update unit 403 updates the causal graph, for example, by connecting directed edges from the source of each node in the discovered group to the generated node. The update unit 403 updates the causal graph, for example, by connecting directed edges from the generated node to the destination of each node in the discovered group. The update unit 403 deletes each node in the discovered group from the causal graph, for example. As a result, the update unit 403 can update the causal graph to reduce the number of nodes and directed edges, thereby improving the readability of the causal graph.

[0065] The output unit 404 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 404 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.

[0066] The output unit 404 outputs, for example, the causal graph updated by the update unit 403. Specifically, the output unit 404 outputs the causal graph in a way that the user can refer to. Specifically, the output unit 404 transmits the causal graph to another computer, such as the client device 201. This allows the output unit 404 to make the causal graph, with improved readability, accessible externally. As a result, the output unit 404 makes it easier for users to understand the causal relationships between items through the improved readability of the causal graph.

[0067] (Example of operation of the information processing device 100) Next, we will explain an example of the operation of the information processing device 100 using Figures 5 to 7. In this example, the information processing device 100 generates a reducible causal graph 500 based on multiple data points, and improves the readability of the causal graph 500 by reducing the generated causal graph 500 to aggregate two or more nodes. First, we will explain an example of a reducible causal graph 500 using Figure 5.

[0068] Figure 5 is an explanatory diagram showing an example of a reducible causal graph 500. In Figure 5, the causal graph 500 includes, for example, Node 1, Node 2, Node 3, Node 4, Node 5, Node 6, Node 7, Node 8, Node A, Node B, and Node C. Reducing means updating the causal graph 500 by aggregating two or more nodes that share common destinations and sources into a single node, while keeping the causal relationships between the items represented by the causal graph 500 unchanged. Reducible means that the causal graph 500 contains two or more nodes that share common destinations and sources.

[0069] In the example in Figure 5, nodes A and B in the causal graph 500 share common connected destinations and origins via directed edges. For example, both nodes A and B are connected to node 1 and node 3 via directed edges. For example, both nodes A and B are connected to node 6 and node 7 via directed edges. Therefore, the causal graph 500 can be reduced in size.

[0070] Here, it is conceivable to consolidate nodes A and B, which share common source and destination connections, into a single node AB in causal graph 500, thereby updating causal graph 500 to causal graph 510. Even after consolidating nodes A and B, causal graph 510 still represents the same causal relationships as causal graph 500: item A and item B depend on item 1 and item 3, and item 6 and item 7 depend on item A and item B. Therefore, causal graph 510 represents the causal relationships between items, just like causal graph 500.

[0071] Therefore, if the information processing device 100 can generate a reducible causal graph 500 based on multiple data, it is considered that it can provide the user with a causal graph 510 that is easier to read due to its reduced size. The following will specifically explain how the information processing device 100 generates the reducible causal graph 500.

[0072] The information processing device 100 acquires, for example, multiple data sets that form the basis for generating a causal graph. These data sets include, for example, values ​​for a person's attributes and values ​​for the risk of leaving their job. The attributes include, for example, age, gender, monthly income, number of outstanding loans, career aspirations, overtime hours, and salary differences with competitors in the same industry. The information processing device 100 stores the acquired multiple data sets using a data management table 600, which will be described later in Figure 6. Here, using Figure 6, an example of the contents of the data management table 600, which summarizes the multiple data sets, will be explained.

[0073] Figure 6 is an explanatory diagram showing an example of the contents of the data management table 600. The data management table 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, the data management table 600 has fields for employee turnover risk, gender, age, monthly income, and number of loans. The data management table 600 may also have fields for career orientation, overtime hours, and salary difference with competitors in the same industry.

[0074] The data management table 600 stores data as records by setting information in each field for each person. The turnover risk field is set to the person's turnover risk. The gender field is set to the person's gender. The age field is set to the person's age. The monthly income field is set to the person's monthly income. The number of loans field is set to the number of outstanding loans for the person. Next, using Figure 7, an example of the operation of the information processing device 100 that generates and updates a causal graph 700 based on multiple data will be described.

[0075] Figure 7 is an explanatory diagram showing an example of the operation of the information processing device 100. In Figure 7, the information processing device 100 sets an objective function to evaluate the causal graph 700 in order to generate a reducible causal graph 700. The objective function includes a first term H(W) and a second term ||X-XW||^2. For example, the objective function is ||X-XW||^2+λH(W). For example, a smaller value of the objective function indicates a higher evaluation of the causal graph 700. The information processing device 100 may also set the objective function so that a larger value indicates a higher evaluation of the causal graph 700.

[0076] X is a data matrix representing multiple data points. Each row of the data matrix corresponds to a data point. W is the adjacency matrix of the causal graph 700. The adjacency matrix contains, for example, functions as components that allow the value of one item to be calculated from the value of another item that has a causal relationship.

[0077] The first term H(W) is Σ_(i∈d)Σ_(j∈d)Σ_(k∈d)(|W[i][k]-W[j][k]|+|W[k][i]-W[k][j]|). W[x][y] is flag information indicating whether or not a directed edge exists from node x to node y. For example, a value of 1 indicates that a directed edge exists, and a value of 0 indicates that a directed edge does not exist.

[0078] Of the first term H(W), |W[i][k]-W[j][k]| has a value of 1 when either node i or node j has node k as its destination. |W[i][k]-W[j][k]| has a value of 0 when both node i and node j have node k as their destination, or when neither has node k as their destination. Therefore, the more pairs of nodes in the causal graph 700 that do not have a common destination, the larger the value of the first term H(W) tends to be, and the worse the evaluation of the causal graph 700 becomes.

[0079] Furthermore, in the first term H(W), |W[k][i]-W[k][j]| has a value of 1 when either node i or node j connects to node k. |W[k][i]-W[k][j]| has a value of 0 when both node i and node j connect to node k, or when neither connects to node k. For this reason, the more pairs of nodes in the causal graph 700 that do not share a common connection source, the larger the value of the first term H(W) tends to be, and the worse the evaluation of the causal graph 700 becomes.

[0080] Thus, the first term H(W) acts in such a way that the more nodes that can be aggregated and reduced in the causal graph 700 are, the smaller the value of H(W), and the better the evaluation of the causal graph 700. The fewer nodes that can be aggregated in the causal graph 700, the larger the value of H(W), and the worse the evaluation of the causal graph 700. For this reason, the first term H(W) represents the degree to which the causal graph 700 can be reduced and indicates how easy it is to reduce.

[0081] The second term, |X-XW||^2, represents the degree to which XW restores X. The second term, |X-XW||^2, represents the precision of the causal graph 700. Precision indicates, for example, how accurately the causal relationships between items are represented. λ is a hyperparameter that balances the first and second terms. λ controls, for example, how much emphasis is placed on either the ease of shrinking the causal graph 700 or the precision of the causal graph 700.

[0082] (7-1) The information processing device 100 generates a reducible causal graph 700 that minimizes the value of the objective function. Here, the larger the value of λ, the more the device prioritizes improving the ease with which the generated causal graph 700 can be reduced, and the smaller the value, the more the device prioritizes improving the accuracy of the generated causal graph 700. The information processing device 100 generates a reducible causal graph 700 by, for example, setting the causal graph 700 to an initial state and then repeatedly performing a process to update the causal graph 700 in a direction that minimizes the value of the objective function until a termination condition is met. The termination condition is, for example, that the causal graph 700 has been updated a specified number of times. The termination condition is, for example, that the value of the objective function falls below a predetermined threshold. The termination condition is, for example, that the rate of change of the value of the objective function falls below a predetermined threshold.

[0083] (7-2) The information processing device 100 updates the generated causal graph 700 to the causal graph 710 by shrinking the generated causal graph 700. For example, the information processing device 100 shrinks the causal graph 700 by consolidating nodes A and C, which have common connection destinations and connection sources, into a single node AC. The information processing device 100 outputs the causal graph 710 so that it can be viewed by the user.

[0084] As a result, the information processing device 100 can reduce the number of nodes in the causal graph 710 to less than the number of items. The information processing device 100 can obtain a causal graph 710 with improved readability. The information processing device 100 can generate a causal graph 700 that balances ease of reduction and accuracy using the objective function, and can provide it to the user. Therefore, the information processing device 100 can obtain a causal graph 710 that balances readability and accuracy from the causal graph 700, and can provide it to the user.

[0085] The information processing device 100 can obtain a causal graph 710 that represents causal relationships between items in the same way as the causal graph 700, but is easier to display than the causal graph 700. The information processing device 100 can make the causal graph 710 easier to display, for example, by reducing the overlap of each directed edge and making it easier to distinguish each directed edge, so that it is easier for the user to see. The information processing device 100 can reduce the cost incurred by the user when understanding causal relationships between items. This cost may be, for example, time, fatigue, power, memory usage, or money.

[0086] (Overall processing procedure) Next, an example of the overall processing procedure executed by the information processing device 100 will be explained using Figure 8. 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.

[0087] Figure 8 is a flowchart illustrating an example of the overall processing procedure. In Figure 8, the information processing device 100 acquires multiple data points (step S801). Then, the information processing device 100 generates a causal graph to optimize the value of the objective function (step S802).

[0088] Next, the information processing device 100 searches the causal graph for a set of two or more nodes that have both a connection destination and a connection source in common (step S803). Then, the information processing device 100 determines whether or not a set of two or more nodes that have both a connection destination and a connection source in common exists (step S804). If no such set of two or more nodes exists (step S804: No), the information processing device 100 proceeds to step S806. On the other hand, if a set of two or more nodes does exist (step S804: Yes), the information processing device 100 proceeds to step S805.

[0089] In step S805, the information processing device 100 updates the causal graph so that groups of two or more nodes that share both a source and destination connection are consolidated into a single node (step S805). Then, the information processing device 100 returns to the process in step S803. In step S806, the information processing device 100 outputs the causal graph (step S806). Then, the information processing device 100 terminates the entire process.

[0090] As explained above, the information processing device 100 can acquire multiple data points that form the basis for generating a causal graph in which nodes are connected by directed edges. Based on the multiple data points, the information processing device 100 can set an objective function that includes a first term indicating that the more common the connection destinations and source connections between different nodes in the causal graph, the higher the evaluation. The information processing device 100 can generate a causal graph to optimize the value of the objective function. The information processing device 100 can update the generated causal graph so that two or more nodes that have all common connection destinations and source connections are consolidated into a single node. As a result, the information processing device 100 can obtain a causal graph with improved readability.

[0091] According to the information processing device 100, in addition to the first term, an objective function can be set that further includes a second term that evaluates the plausibility of the causal graph for multiple data points. This makes it easier for the information processing device 100 to generate a causal graph with improved accuracy.

[0092] According to the information processing device 100, an objective function can be set that includes a first term indicating that the evaluation is higher the greater the number of combinations of nodes in the causal graph that share a common destination, and the greater the number of combinations of nodes that share a common source. This allows the information processing device 100 to appropriately evaluate how easily the causal graph can be reduced using the objective function.

[0093] According to the information processing device 100, an objective function can be set that includes a first term whose value increases each time a node in the causal graph is connected to or connected to only one node in each of multiple pairs of nodes in the causal graph, such that the evaluation worsens. According to the information processing device 100, a smaller value of the objective function is considered to indicate a higher evaluation. As a result, the information processing device 100 can appropriately generate a causal graph by minimizing the objective function.

[0094] According to the information processing device 100, an objective function can be set that includes a second term indicating that a smaller absolute difference between the product of a data matrix representing multiple data points and the adjacency matrix of the causal graph, and the data matrix, results in a higher evaluation. This makes it easier for the information processing device 100 to appropriately evaluate the accuracy of the causal graph using the objective function.

[0095] According to the information processing device 100, a causal graph can be generated by repeatedly performing a process to update the causal graph in a direction that optimizes the value of the objective function. This allows the information processing device 100 to generate an appropriate causal graph according to the objective function.

[0096] According to the information processing device 100, based on the value of the objective function for multiple candidate causal graphs, it generates a causal graph using one of the candidates that shows the highest evaluation among the multiple candidates. In this way, the information processing device 100 can generate an appropriate causal graph according to the objective function.

[0097] According to the information processing device 100, an updated causal graph can be output. This allows the information processing device 100 to make the causal graph, with improved readability, available for external use.

[0098] 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.

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

[0100] (Note 1) Based on multiple data that form the basis for generating a causal graph connecting nodes with directed edges, the causal graph is generated in such a way that the value of the objective function, which includes a first term indicating that the evaluation is higher the more common the connection destinations and connection sources of different nodes are, is optimized. The generated causal graph is updated so that two or more nodes that share both a connection destination and a connection source are consolidated into a single node. An information processing program characterized by having a computer perform the processing.

[0101] (Note 2) The information processing program according to Note 1, characterized in that the objective function further includes a second term for evaluating the plausibility of the causal graph for the plurality of data.

[0102] (Note 3) The information processing program described in Note 2, characterized in that the first item above indicates that the evaluation is higher the greater the number of combinations of nodes in the causal graph that share a common destination, and the greater the number of combinations of nodes that share a common source.

[0103] (Note 4) The objective function above indicates that a smaller value indicates a higher evaluation. The first item is an information processing program according to Appendix 3, characterized in that the value increases such that the evaluation worsens each time each node of the causal graph becomes the destination or source of only one node in each of the multiple pairs of nodes of the causal graph.

[0104] (Note 5) The information processing program described in Note 2 or 3, characterized in that the smaller the absolute difference between the product of the data matrix representing the plurality of data and the adjacency matrix of the causal graph and the data matrix, the higher the evaluation.

[0105] (Note 6) The above generation process is: An information processing program according to any one of the appendices 1 to 5, characterized in that it generates the causal graph by repeatedly performing a process to update the causal graph in a direction that optimizes the value of the objective function.

[0106] (Note 7) The above generation process is: An information processing program according to any one of the appendices 1 to 6, characterized in that, based on the value of the objective function for a plurality of candidates for the causal graph, it generates the causal graph using one of the candidates that shows the highest evaluation among the plurality of candidates.

[0107] (Appendix 8) An information processing program according to any one of Appendix 1 to 6, characterized by outputting the updated causal graph.

[0108] (Note 9) Based on multiple data that form the basis for generating a causal graph connecting nodes with directed edges, the causal graph is generated in such a way that the value of the objective function, which includes a first term indicating that the evaluation is higher the more common the connection destinations and connection sources of different nodes are, is optimized. The generated causal graph is updated so that two or more nodes that share both a connection destination and a connection source are consolidated into a single node. An information processing method characterized in that the processing is performed by a computer.

[0109] (Note 10) Based on multiple data that form the basis for generating a causal graph connecting nodes with directed edges, the causal graph is generated in such a way that the value of the objective function, which includes a first term indicating that the evaluation is higher the more common the connection destinations and connection sources of different nodes are, is optimized. The generated causal graph is updated so that two or more nodes that share both a connection destination and a connection source are consolidated into a single node. An information processing device characterized by having a control unit. [Explanation of symbols]

[0110] 100 Information Processing Devices 101 Data 102 Objective Function 110, 120, 500, 510, 700, 710 Causal graph Nodes 111-118,121 200 Information Processing Systems 201 Client Device 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 402 Generator 403 Update Department 404 Output Section 600 Data Management Tables

Claims

1. Based on multiple data sets that form the basis for generating a causal graph connecting nodes with directed edges, the causal graph is generated in such a way that the value of the objective function, which includes a first term indicating that the evaluation is higher the more common the connection destinations and source connections between different nodes are, is optimized. The generated causal graph is updated so that two or more nodes that share both a connection destination and a connection source are consolidated into a single node. An information processing program characterized by having a computer perform the processing.

2. The information processing program according to claim 1, wherein the objective function further includes a second term for evaluating the plausibility of the causal graph for the plurality of data.

3. The information processing program according to claim 2, characterized in that the first clause indicates that the evaluation is higher the greater the number of combinations of nodes in the causal graph that share a common destination, and the greater the number of combinations of nodes that share a common source.

4. The aforementioned objective function indicates that a smaller value results in a higher evaluation. The information processing program according to claim 3, characterized in that the value increases such that the evaluation worsens each time each node of the causal graph becomes the destination or source of only one node in each of the multiple pairs of nodes of the causal graph.

5. The information processing program according to claim 2 or 3, characterized in that the second clause indicates that the smaller the absolute difference between the product of the data matrix representing the plurality of data and the adjacency matrix of the causal graph and the data matrix, the higher the evaluation.

6. Based on multiple data sets that form the basis for generating a causal graph connecting nodes with directed edges, the causal graph is generated in such a way that the value of the objective function, which includes a first term indicating that the evaluation is higher the more common the connection destinations and source connections between different nodes are, is optimized. The generated causal graph is updated so that two or more nodes that share both a connection destination and a connection source are consolidated into a single node. An information processing method characterized in that the processing is performed by a computer.

7. Based on multiple data sets that form the basis for generating a causal graph connecting nodes with directed edges, the causal graph is generated in such a way that the value of the objective function, which includes a first term indicating that the evaluation is higher the more common the connection destinations and source connections between different nodes are, is optimized. The generated causal graph is updated so that two or more nodes that share both a connection destination and a connection source are consolidated into a single node. An information processing device characterized by having a control unit.