Information processing device, information processing system, and information processing method

JP7898407B2Active Publication Date: 2026-07-31HITACHI LTD
View PDF 4 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
HITACHI LTD
Filing Date
2023-03-30
Publication Date
2026-07-31

AI Technical Summary

Benefits of technology

【0008】 本発明によれば、計算する対象のノード数の増加に応じて計算時間が長くなることを抑制することができる。なお、上記した以外の課題、構成および効果は、以下の発明を実施するための形態の説明により明らかにされる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007898407000001
    Figure 0007898407000001
  • Figure 0007898407000002
    Figure 0007898407000002
  • Figure 0007898407000003
    Figure 0007898407000003
Patent Text Reader

Abstract

To provide a technique for suppressing an increase in computation time in processing using a graph.SOLUTION: An information processing method includes the steps of: causing a processor to calculate an index value related to centrality of a node of interest with respect to the node of interest which is a node to be interested in included in graph data; causing the processor to add an edge connected to a node group reached by going through one edge from the node of interest to the node of interest and to store an attribute of the node of interest as the node group in a memory, when the index value of centrality satisfies a condition; causing the processor to extract a graph including the node of interest from a database related to node interaction between nodes, when the index value of centrality does not satisfy the condition; and causing the processor to integrate the extracted graph with the graph data.SELECTED DRAWING: Figure 4
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0004] , , , ,

[0005] , , , , ,

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

Background Art

[0002] Techniques related to data processing using graphs are known. Patent Document 1 discloses a technique capable of searching for the relevance between elements that cannot be examined from only a single database. That is, Patent Document 1 discloses "a method for searching for relevance that combines a plurality of databases each including a plurality of elements and relevance information indicating the direct relevance between two elements among the plurality of elements to create a combined database, uses the combined database to search for the relevance between two elements that are not directly relevant, and the structure of the combined database is a graph structure having the elements as nodes and the relevance information as edges." Further, Patent Document 2 describes that "the structure of the combined database is a graph structure having the elements as nodes and the relevance information as edges."

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] In data processing using a graph, the calculation time can become longer as the number of nodes to be calculated increases. Therefore, there is a problem in providing a technique for suppressing the calculation time. [[ID=3​​​​According to a first aspect of the present invention, the following information processing device is provided. This information processing device comprises a processor and a memory. The processor calculates an index value related to the centrality of a node of interest, which is a node of interest included in the graph data. If the index value of centrality meets the conditions, the processor stores the data of each node reached by traversing one edge from the node of interest in the memory and constructs new graph data in which the node of interest and each node that was connected to the aforementioned node are connected. If the index value of centrality does not meet the conditions, the processor detects the interaction between the node of interest and another node based on a graph including the node of interest extracted from a database of node interactions. If no interaction is detected, the processor stores the data of each node reached by traversing one edge from the node of interest in the memory and constructs new graph data in which the node of interest and each node that was connected to the aforementioned node are connected. On the other hand, if an interaction is detected, the processor integrates the interaction into graph data, stores the data of each node reached by traversing one edge from the node of interest in memory, and constructs new graph data in which each node that was connected to the node of interest in the integrated graph data is connected. Furthermore, a system is provided that includes a display device and is capable of displaying information.

[0006] According to a second aspect of the present invention, the following information processing device is provided. This information processing device comprises a processor and a memory. The processor executes processes A and B in parallel on a first node and a second node, which are nodes of interest included in graph data. In process A, the processor calculates an index value related to the centrality of the first node. If the centrality index value meets the condition, it stores the data of each node reached by traversing one edge from the first node in memory. If the centrality index value does not meet the condition, it detects interactions between the first node and other nodes based on a graph including the first node extracted from a database of node interactions. If no interactions are detected, the processor stores the data of each node reached by traversing one edge from the first node in memory. If interactions are detected, the processor integrates the interactions into the graph data and then stores the data of each node reached by traversing one edge from the node of interest in memory. In process B, the processor calculates an index value related to the centrality of the second node. If the centrality index value meets the condition, it stores the data of each node reached by traversing one edge from the second node in memory. If the centrality index value does not meet the condition, it detects interactions between the second node and other nodes based on a graph including the second node extracted from a database of node interactions. If no interactions are detected, the processor stores the data of each node reached by traversing one edge from the second node in memory. If interactions are detected, the processor integrates the interactions into the graph data and then stores the data of each node reached by traversing one edge from the second node in memory. Furthermore, if no interactions are detected in processes A and B, the processor constructs new graph data in which the nodes connected to the first node and each node reached by traversing one edge from the first node are connected, and the nodes connected to the second node and each node reached by traversing one edge from the second node are connected.On the other hand, if an interaction is detected in process A and / or process B, the processor constructs new graph data in which the interactions have been integrated, in which each node that was connected to the first node and each node reached from the first node by traversing one edge is connected, and each node that was connected to the second node and each node reached from the second node by traversing one edge is connected.

[0007] A third aspect of the present invention provides the following information processing method. This information processing method includes the steps of: a processor calculating an index value related to the centrality of a node of interest, which is a node of interest included in graph data; if the index value of centrality satisfies a condition, the processor adding edges connected to a group of nodes reached by traversing one edge from the node of interest to the node of interest, and storing the attributes of the node of interest as a group of nodes in memory; if the index value of centrality does not satisfies a condition, the processor extracting a graph including the node of interest from a database relating to node interactions; and the processor integrating the extracted graph with the graph data. [Effects of the Invention]

[0008] According to the present invention, it is possible to suppress the increase in computation time that occurs with increasing numbers of nodes to be computed. Other problems, configurations, and effects will be clarified by the following description of embodiments for carrying out the invention. [Brief explanation of the drawing]

[0009] [Figure 1] A diagram showing an example of the configuration of an information processing system. [Figure 2] A diagram illustrating an example of a graph data structure. [Figure 3] A diagram showing an example of a settings screen. [Figure 4] A flowchart illustrating an example of processing performed by an information processing device according to the first embodiment. [Figure 5A] Figure 4 shows an example of the state of S401. [Figure 5B] Figure 4 shows an example of the state of S406. [Figure 5C] Figure 4 shows an example of the state of S407. [Figure 6] A diagram showing an example of the output screen. [Figure 7] A diagram showing an example of the output screen. [Figure 8] A flowchart illustrating an example of processing performed by an information processing device according to a second embodiment. [Figure 9] This figure illustrates an example of a state in which no node exists between two nodes of interest, related to the processing of S803 in Figure 8. [Figure 10] A diagram showing an example of the output screen. [Figure 11] A diagram showing an example of a formula for calculating the centrality score. [Modes for carrying out the invention]

[0010] Embodiments of the present invention will be described below with reference to the drawings. The embodiments are illustrative examples for explaining the present invention, and have been omitted and simplified as appropriate for clarity of explanation. The present invention can also be implemented in various other forms. Unless otherwise specified, each component may be singular or plural. The positions, sizes, shapes, and ranges of the components shown in the drawings may not represent their actual positions, sizes, shapes, and ranges in order to facilitate understanding of the invention. Therefore, the present invention is not necessarily limited to the positions, sizes, shapes, and ranges disclosed in the drawings. Examples of various types of information may be described using terms such as "table," "list," and "queue," but these types of information may also be represented by other data structures. For example, various types of information such as "XX table," "XX list," and "XX queue" may be referred to as "XX information." When describing identification information, terms such as "identification information," "identifier," "name," "ID," and "number" are used, and these terms are interchangeable. When there are multiple components with the same or similar function, they may be described using the same symbol but with different subscripts. Furthermore, when it is not necessary to distinguish between these multiple components, the subscripts may be omitted in the description. In embodiments, processing performed by executing a program may be described. Here, the computer executes the program using a processor (e.g., CPU, GPU) and performs processing defined by the program using memory resources (e.g., memory) and interface devices (e.g., communication ports). Therefore, the main entity performing the processing by executing the program may be the processor. Similarly, the main entity performing the processing by executing the program may be a controller, device, system, computer, or node having a processor. The main entity performing the processing by executing the program may be an arithmetic unit, and may include dedicated circuits that perform specific processing. Here, dedicated circuits include, for example, FPGAs (Field Programmable Gate Arrays), ASICs (Application Specific Integrated Circuits), CPLDs (Complex Programmable Logic Devices), etc. The program may be installed on the computer from the program source. The program source may be, for example, a program distribution server or a storage medium readable by the computer. If the program source is a program distribution server, the program distribution server includes a processor and storage resources for storing the program to be distributed, and the processor of the program distribution server may distribute the program to other computers. In addition, in some embodiments, two or more programs may be implemented as a single program, or one program may be implemented as two or more programs.

[0011] In this embodiment, we describe a technique that can reduce computation time in processing graph data including nodes and edges.

[0012] <First Embodiment> Referring to FIGS. 1-7, the first embodiment will be described. First, referring to FIG. 1, a configuration example of the system will be described. As shown in FIG. 1, the information processing system 1 includes an information processing apparatus 100, an input unit 106, and an output unit 107.

[0013] The information processing apparatus 100 is configured as an appropriate computer and includes an arithmetic unit 101, a memory 102, a storage unit 103, and a network adapter 109. The information processing apparatus 100 also includes an input / output interface (not shown) that is an interface used for input / output of data. These components are connected via a bus 108.

[0014] The arithmetic unit 101 is the main body that executes calculation processing. The arithmetic unit 101 is configured using a processor, and as an example, is configured using a CPU (Central Processing Unit). Note that the arithmetic unit 101 may be any main body that executes predetermined calculation processing, and for example, may be configured using other semiconductor devices.

[0015] The memory 102 is a main memory device, and as an example, can be a RAM (Random Access Memory). When executing predetermined processing, the arithmetic unit 101 temporarily stores necessary data in the memory 102.

[0016] The storage unit 103 is an auxiliary storage device, and as an example, can be a HDD (Hard Disk Drive). Note that the storage unit 103 may be configured using other types of devices. The storage unit 103 stores appropriate data such as programs used for processing. In this embodiment, the storage unit 103 stores information related to graph data. That is, the storage unit 103 stores, for example, network information 104 and information 105 of a target node. These pieces of information (104, 105) will be described in detail later.

[0017] The network adapter 109 is configured for communication with external devices, and in this embodiment, wireless communication with the external database 111 is possible via the network adapter 109 and the internet 110.

[0018] The input unit 106 is configured for user data input and is configured using an appropriate input device such as a keyboard or mouse. The display unit 107 is configured to present information to the user and is configured using an appropriate display (display device). Alternatively, the input unit 106 and the display unit 107 may be integrated into a single unit; for example, the input unit 106 and the display unit 107 may be configured using a touch panel. Data input and output with the information processing device 100 are performed via an input / output interface.

[0019] Next, we will explain the network information 104 and the information 105 of the node of interest. The network information 104 is data that defines the network structure of the graph data used for data processing. As shown in Figure 2, the network information 104 includes, for example, edge data related to edges and node data related to nodes. The edge data includes, for example, the names of the nodes connected to the start and end points of an edge, and is data that indicates each edge in the graph data 200. The node data includes, for example, the names of each node in the graph data 200, and is data that indicates each node in the graph data 200.

[0020] Note that as long as the network structure of the graph data 200 is appropriately represented, other data such as edge types may be omitted in the edge data. Similarly, as long as the network structure of the graph data is appropriately represented, other data such as node types may be omitted in the node data. Figure 2 is an example, and as long as the graph data 200 can be appropriately defined, the data structure may be changed as appropriate. For example, in Figure 2, the graph data 200 is defined by edge data and node data, but the graph data may also be defined based on a single table.

[0021] The information 105 for the node of interest is data that indicates an important node in the graph data 200. The information 105 for the node of interest may include, for example, data relating to the name of the node. In this embodiment, the information processing device 100 can perform calculations related to this important node (sometimes called the node of interest), as will be described later.

[0022] Furthermore, the storage unit 103 may store multiple different graph data, and a database may be constructed using these multiple graph data. That is, the storage unit 103 may store network information 104 and information 105 of the node of interest related to each graph data.

[0023] The information processing device 100 can perform data processing on graph data stored in the storage unit 103. In this embodiment, an example of calculating centrality scores for important nodes selected by the user will be described. First, the initial settings will be described with reference to Figure 3. Figure 3 shows an example of a settings screen.

[0024] As shown in Figure 3, the information processing device 100 (specifically, the calculation unit 101) outputs the setting screen 300 to the display unit 107. The user of the information processing device 100 can use this setting screen 300 to input data as appropriate.

[0025] The settings screen 300 includes a field 301 and a load button 302. Field 301 is a field for entering the graph data to be processed, and the user enters the graph data to be processed. When the user presses the load button 302, the graph data entered in field 301 is read from the storage unit 103. Alternatively, by pressing "Browse" in field 301, a list of graph data stored in the storage unit 103 is output, and the user may use this list to enter the graph data to be processed.

[0026] The settings screen 300 includes a field 303. Field 303 contains data listing the target node to be processed, thus setting the target node. The user may also press "Browse" to display a list of files in the local folder for selection. Furthermore, graph data may be entered, and the user pressing "Browse" may display a graph based on this data. The user can then specify the target node on the displayed graph, for example, using a cursor. The graph may also display a format that distinguishes the target node from other nodes using highlighting based on appropriate characteristics such as color. Additionally, information indicating that a node is a target node may be displayed when the cursor is hovered over it.

[0027] The settings screen 300 includes a field 304. In field 304, the user enters a keyword to search for nodes of interest. When the user presses "Search," nodes of interest containing this keyword (i.e., nodes of interest that match the keyword) are extracted from the graph data to be processed, and a list of the extracted nodes of interest is displayed. The user can then use the displayed list to select a node of interest.

[0028] The user can specify a node of interest using fields 303 or 304. Field 305 is where the user enters the hop count. The hop count indicates the range of nodes to be calculated from the node of interest. For example, if the hop count is 3, the calculation will cover nodes reached by traversing three edges from the node of interest. The user then presses the settings button 306 to set the specified node of interest and hop count.

[0029] The above settings screen 300 is merely an example; the user only needs to be able to read the graph data to be processed, set the node of interest within this graph data, and set the number of hops. The display format of the settings screen 300 may be changed as appropriate. Appropriate text information may also be displayed on the settings screen 300.

[0030] Next, an example of data processing will be explained with reference to Figure 4. This data processing involves calculating the centrality score of the node of interest and supplementing the graph data as appropriate, repeating this operation for a set number of hops to expand the graph data.

[0031] Data processing begins (S400), and the information processing device 100 (specifically, the calculation unit 101) reads the node of interest set by the user and adds information about the node of interest to the node's attributes (S401). The node's attributes are data that indicates the node's properties and settings, and this data is stored in memory 102. The calculation unit 101 also sets the number of times the processes related to S402 to S408 will be repeated (hop count i) to an initial value.

[0032] Next, the calculation unit 101 calculates a centrality score for the node of interest (S402). Here, the centrality score may be calculated using all nodes of the graph or only some of the nodes.

[0033] Next, the calculation unit 101 determines whether the centrality score calculated in S402 meets the conditions (S403). In this example, the calculation unit 101 determines whether the centrality score satisfies a predetermined threshold. If the calculation unit 101 determines in S403 that the centrality score calculated in S402 satisfies the predetermined threshold, the process proceeds to S407, which will be described later (S403-YES). On the other hand, if the calculation unit 101 determines that the centrality score calculated in S402 does not satisfy the predetermined threshold, the process proceeds to S404 (S403-NO).

[0034] The calculation unit 101 performs information completion regarding the relationship between the node of interest and other nodes (i.e., nodes that do not interact with the node of interest in the current graph data or nodes not included in the attribute nodes) (S404), and detects other nodes that interact with the node of interest (S405). If another node that interacts with the node of interest is detected, the process proceeds to S406 (S405-YES), and if no other node that interacts with the node of interest is detected, the process proceeds to S407 (S405-NO).

[0035] The calculation unit 101 complements the edges (i.e., edges connecting the detected node and the node of interest) and generates graph data in which these edges are integrated. The calculation unit 101 also adds this edge data to the extracted list described later (S406). In addition, the calculation unit 101 stores this edge information in the network information 104, and the network information 104 is updated.

[0036] The calculation unit 101 reconstructs the graph by adding the side of the edge connected to the arrived node to the node of interest for each edge connecting the group of nodes reached by traversing one edge from the node of interest, and the nodes reached by traversing another edge that are neither the arrived node nor the node of interest. Furthermore, it deletes the group of nodes reached by traversing one edge from the node of interest and the edges connected to those nodes. The calculation unit 101 also saves the attributes of the nodes reached by traversing one edge from the node of interest to memory 102, and uses the attributes of the node of interest as a group of nodes. In other words, the calculation unit 101 saves the data of each node reached by traversing one edge from the node of interest to memory 102, and constructs new graph data in which the node of interest and each node that was connected to each of the aforementioned nodes are connected. The calculation unit 101 also increments the value set in S401 (S407).

[0037] The calculation unit determines whether the value set in S401 is greater than a predetermined value (S408). This predetermined value is related to the number of hops set by the user, and is set so that the centrality score of the target node is calculated for the number of hops set. If the centrality score of the target node up to the set number of hops has been calculated (S408-YES), the process ends (S409). If the centrality score of the target node for the number of hops set has not yet been calculated (S408-NO), the process returns to S402.

[0038] Next, with reference to Figure 5, we will explain in detail an example of the graph data state in S401, S406, and S407. In Figure 5, node A is set as the node of interest.

[0039] As shown in Figure 5A, in S401, information about node A is added to the attributes of node A, and the attributes of node A are stored in memory. If information is completed in S404 and an interacting edge (AF) is detected in S405, then in S406, graph data with this edge integrated is generated, as shown in Figure 5B. The method of information completion in S404 can be, for example, a known method, and is not particularly limited as long as it is a method that appropriately evaluates the relationship with the node of interest.

[0040] Furthermore, the arithmetic unit 101 may, for example, obtain graph data containing the node of interest from an external database 111 relating to nodes, and use the obtained graph data to supplement the information. In this way, even if the graph data containing the node of interest is frequently updated externally, it becomes easier to build a database in the storage unit 103 based on the latest graph data. Thus, it is possible to enrich the database.

[0041] The information processing device 100 may also use the network adapter 109 to acquire graph data from an external database 111 and perform the process of extracting interactions. Alternatively, a storage device (for example, a USB memory stick) on which the database is built may be connected to the information processing device 100, and the information processing device 100 may acquire graph data from this storage device and perform the process of extracting interactions.

[0042] As shown in Figure 5C, in S407, a new graph data is reconstructed by connecting node A to each node (E, G, H, K, L, M) that is connected to the group of nodes (B, C, D, F) reached from node A. In addition, information about the explored nodes (B, C, D, F) is stored in memory 102 as an attribute of node A.

[0043] Then, if the process is repeated based on the determination in S408, the calculation unit 101 calculates the centrality score between the node (E, G, H, K, L, M) reached by traversing one edge from the node of interest A, based on the reconstructed graph. The calculation unit 101 also stores information about the node group (E, G, H, K, L, M) as attributes of the node of interest in the memory 102, and reconstructs graph data by connecting each node connected to this node group to the node of interest A. If a new interaction with the node of interest A is detected, information about the nodes involved through this interaction is stored in the memory 102, and graph data integrating this interaction is constructed. Furthermore, if a new interaction is detected, the network information 104 in the storage unit 103 is updated.

[0044] Next, with reference to Figures 6 and 7, an example of an output screen that the information processing device 100 (specifically, the calculation unit 101) can display on the display unit 107 will be described. As shown in Figure 6, the output screen 600 contains information about the extracted list 601, which is a list of edges extracted in S406. By checking the extracted list 601, the user can grasp the new interactions integrated into the graph data.

[0045] Furthermore, the output screen 600 displays a graph based on the graph data being processed (i.e., the graph data at the start of processing). If there are edges extracted in S406, a graph based on the graph data with these edges integrated will be displayed. Here, the node of interest may be displayed in a manner that highlights it compared to other nodes. Similarly, the extracted edges may be displayed in a manner that highlights them compared to other edges. Note that the graph display manner in Figure 6 is just an example and can be changed as appropriate. Appropriate text information may also be displayed on the output screen 600.

[0046] As shown in Figure 7, the nodes in the graph displayed on the output screen 600 can be selected using a cursor, and the user can select a node in the graph and refer to the information of the selected node. The information 700 displayed when the user selects a node may include, for example, the distance from the node of interest and the centrality score of the node of interest. In the example in Figure 7, the distance to the node of interest includes the number of hops from the node of interest and the centrality score of the node of interest up to the set number of hops. Information about the selected node (for example, the name of the node, supplementary information about the node, etc.) may also be included.

[0047] In graph processing, computation time can increase as the number of nodes to be computed increases. For example, if you traverse one, two, ... edges from a node of interest, the number of related nodes increases exponentially with distance, and the computation time for the node of interest increases. To address this problem of increased computation time, this embodiment reduces computation time by reconstructing the graph by combining already explored data. Therefore, even if the number of related nodes increases exponentially when traversing one, two, ... edges from a node of interest, the increase in computation time can be suppressed. As a result of suppressing the increase in computation time, an economic contribution is possible.

[0048] Furthermore, if the centrality score does not meet the threshold, detecting new interactions can facilitate the construction of a database with good centrality scores for the target node.

[0049] Furthermore, by reconstructing the graph, the determination of whether or not to perform a centrality-based search (S403) can be made more efficiently. Also, for example, when estimating missing interactions, evaluating the centrality of each node would be extremely time-consuming, but according to this embodiment, the time required to estimate missing interactions is suppressed.

[0050] <Second Embodiment> Next, a second embodiment will be described with reference to Figures 8-11. Note that details of the differences from the first embodiment will be explained in detail, while explanations of the same aspects as the first embodiment may be omitted. Also, in the drawings, the same reference numerals may be used for parts similar to those in the first embodiment. The hardware configuration of the second embodiment can be the same as the hardware configuration described in the first embodiment.

[0051] In the second embodiment, multiple nodes can be set as nodes of interest, for example, the first node and the second node can be set as nodes of interest. The setting screen can be any form that allows setting the nodes of interest and the number of hops. The setting screen can be the same as in the first embodiment, and for example, it may be possible to set multiple nodes of interest based on a format using a graph or list. In addition, the setting screen may allow input of the number of hops for each node of interest.

[0052] An example of data processing in the second embodiment will be described with reference to Figure 8. This data processing calculates the centrality score for the first node and the second node, respectively.

[0053] Data processing begins (S800), and the information processing device (specifically, the arithmetic unit 101) reads the first and second nodes set by the user, adds the information of the first node to the attributes of the first node, and adds the information of the second node to the attributes of the second node (S801). The attributes of each node are stored in memory. The arithmetic unit 101 also sets the number of times the processes related to S802-S803 are repeated to an initial value.

[0054] The calculation unit 101 performs the same processing as in S402 to S407 for each of the nodes of interest, both the first and second nodes, in parallel. That is, the calculation unit 101 executes processing A for the first node and processing B for the second node in parallel. In processing A, the calculation unit 101 calculates the centrality score of the first node and stores the attributes of each node reached by traversing one edge from the first node in memory 102. If a new interaction is detected in processing A, the attributes of the nodes involved in this interaction are stored in memory 102. In processing B, the calculation unit 101 calculates the centrality score of the second node and stores the attributes of each node reached by traversing one edge from the second node in memory 102. If a new interaction is detected in processing B, the attributes of the nodes involved in this interaction are stored in memory 102.

[0055] Furthermore, the calculation unit 101 constructs new graph data in which the nodes connected to the first node and each node reached by traversing one edge from the first node are connected, and the nodes connected to the second node and each node reached by traversing one edge from the second node are also connected. If a new interaction is detected at this point, graph data is constructed that integrates the new interaction. The calculation unit 101 also increments the value set in S801 (S802).

[0056] The calculation unit 101, similar to the first embodiment, (1) determines whether the value set in S801 is greater than a predetermined value. The calculation unit 101 also determines (2) whether a node exists between the nodes of interest (in this example, the first node and the second node) (S803). If neither (1) nor (2) above is satisfied (i.e., the value set in S801 is less than or equal to the predetermined value, and a node exists between the first node and the second node), the process returns to S802 (S803-NO). On the other hand, if at least one of (1) and (2) above is satisfied (i.e., the value set in S801 is greater than a predetermined value, and / or a node does not exist between the first node and the second node), the process proceeds to S804 (S803-YES). Then the process ends (S804).

[0057] Here, with reference to Figure 9, an example of a state in which there is no node between two nodes of interest related to S803 will be described. By the arithmetic unit 101 reconstructing the graph, graph data in which the first node R and the second node S are connected can be constructed, as shown in Figure 9. When graph data in this state (i.e., a state in which there is no node between the first node R and the second node S) is constructed, the arithmetic unit 101 does not perform any further processing and the process ends.

[0058] Next, with reference to Figure 10, an example of an output screen that the information processing device (specifically, the arithmetic unit 101) can display on the display unit 107 will be described. The output screen 600, as in the first embodiment, includes information about the extracted list 601, which is a list of extracted edges (new interactions detected in processes A and B).

[0059] Furthermore, the output screen 600 displays a graph based on the graph data to be processed (i.e., the graph data at the start of processing). If there are extracted edges, a graph based on the graph data with these edges integrated will be displayed. Similar to the first embodiment, the display may highlight the node of interest, or it may highlight the extracted edges. Also, similar to the first embodiment, it is possible to display information about the selected node, and in this embodiment, the output screen 600 displays information 900 such as the distance from the first node and the second node, and the centrality score. In this example, the centrality score of one of the first or second nodes is displayed, but the centrality scores of both the first and second nodes may be displayed. The graph display mode in Figure 10 is an example and can be changed as appropriate.

[0060] Although embodiments have been described above, the present invention is not limited to the embodiments described above, and includes various modifications and equivalent configurations within the spirit of the attached claims. For example, the embodiments described above are described in detail for the purpose of explaining the present invention in an easy-to-understand manner, and the present invention is not necessarily limited to having all the configurations described. Furthermore, some of the configurations of the embodiments may be added, deleted, or replaced with other configurations.

[0061] The calculation unit 101 can calculate an index value related to centrality (centrality score) based on one or more of the following, for example, degree, eigenvector, closeness, betweenness, and pagerank. In the above embodiment, as shown in equation 1 of Figure 11, the calculation unit 101 calculates the centrality score based on pagerank.

[0062] The graph data processed by the information processing device may be a directed graph or an undirected graph.

[0063] Although an example of an information processing device using the network adapter 109 for wireless communication has been described, the information processing device may also use the network adapter 109 for wired communication.

[0064] If a node in the graph data represents a named entity, the information processing device evaluates the relationship between the node of interest and other nodes in the information completion step S404, based on known natural language processing.

[0065] The threshold used for S403 determination can be set by the user as appropriate. For example, the user may set a centrality threshold that results in a dense neighborhood around a node of interest, with the aim of building a database that stores data with good centrality scores for nodes of interest. [Explanation of symbols]

[0066] 1. Information Processing System 100 Information Processing Devices 101 Arithmetic section 102 memory 107 Display section

Claims

1. Equipped with a processor and memory, The aforementioned processor, A node of interest is included in the graph data, and for the node of interest set by the user, an index value related to the centrality of the node of interest is calculated. When the centrality index value satisfies a predetermined threshold, the data of each node reached by traversing one edge from the node of interest is stored in the memory, and new graph data is constructed in which the node of interest and each node that was connected to each of the aforementioned nodes are connected. If the centrality index value does not meet a predetermined threshold, a graph including the node of interest is obtained from a database of node interactions, and the relationship between the node of interest and other nodes in the obtained graph is evaluated to detect interactions related to the connection between the node of interest and other nodes. If no such interaction is detected, the data of each node reached by traversing one edge from the node of interest is stored in the memory, and new graph data is constructed in which the node of interest and each node that was connected to each of the aforementioned nodes are connected. When the aforementioned interaction is detected, the edges corresponding to the interaction are integrated into the graph data, and the data of each node reached by traversing one edge from the node of interest is stored in the memory. In the graph data in which the edges corresponding to the interaction have been integrated, a new graph data is constructed in which the nodes that were connected to the node of interest and each of the aforementioned nodes are connected. An information processing device characterized by the following:

2. An information processing apparatus according to claim 1, The aforementioned processor, The process of calculating an index value related to the centrality of the node of interest included in the graph data, saving the data of each node reached by traversing one edge from the node of interest to the memory, constructing new graph data in which the node of interest and each node that was connected to the aforementioned node are connected, calculating an index value related to the centrality of the node of interest in the new graph data, saving the data of each node reached by traversing one edge from the node of interest in the new graph data to the memory, and constructing new graph data in which the node of interest and each node that was connected to the aforementioned node are connected is repeated a predetermined number of times. An information processing device characterized by the following:

3. The information processing device according to Claim 1, Display device and Equipped with, The aforementioned processor, Generate a list containing information on the detected interactions. The detected interaction information included in the list is output to the display device. An information processing system characterized by the following:

4. The information processing device according to Claim 1, Display device and Equipped with, The aforementioned processor, If the aforementioned interaction is not detected, a graph based on the graph data is output to the display device. When the aforementioned interaction is detected, a graph based on graph data in which the edges corresponding to the aforementioned interaction are integrated is output to the display device. An information processing system characterized by the following:

5. The information processing system according to claim 4, The aforementioned processor, The graph in which the detected interaction is emphasized compared to other interactions is output to the display device. An information processing system characterized by the following:

6. An information processing apparatus according to claim 1, The aforementioned processor, The index value related to centrality is calculated based on one or more of the following: degree, egenector, closeness, betweenness, pagerank. An information processing device characterized by the following:

7. Equipped with a processor and memory, The aforementioned processor, Process A and Process B are executed in parallel on the first and second nodes, which are included in the graph data and are set by the user. In the above process A, An index value related to the centrality of the first node is calculated, When the centrality index value satisfies a predetermined threshold, the data of each node reached by traversing one edge from the first node is stored in the memory. If the centrality index value does not meet a predetermined threshold, a graph including the first node is obtained from a database of node interactions, and the relationship between the first node and another node in the obtained graph is evaluated to detect the interaction regarding the connection between the first node and another node. If the aforementioned interaction is not detected, the data of each node reached by traversing one edge from the first node is stored in the memory. When the aforementioned interaction is detected, the edge corresponding to the interaction is integrated into the graph data, and the data of each node reached by traversing one edge from the first node is stored in the memory. In the above process B, An index value related to the centrality of the second node is calculated, When the centrality index value satisfies a predetermined threshold, the data of each node reached by traversing one edge from the second node is stored in the memory. If the centrality index value does not meet a predetermined threshold, a graph including the second node is obtained from a database of node interactions, and the relationship between the second node and another node in the obtained graph is evaluated to detect the interaction regarding the connection between the second node and another node. If the aforementioned interaction is not detected, the data of each node reached by traversing one edge from the second node is stored in the memory. When the aforementioned interaction is detected, the edge corresponding to the interaction is integrated into the graph data, and the data of each node reached by traversing one edge from the second node is stored in the memory. If the interaction is not detected in processes A and B, a new graph data is constructed in which the first node and each node that was connected to the first node by traversing one edge from the first node are connected, and the second node and each node that was connected to the second node by traversing one edge from the second node are connected. If the interaction is detected in process A and / or process B, a new graph data is formed in which the edges corresponding to the interaction are integrated, and the nodes that were connected to the first node and each node reached by traversing one edge from the first node are connected, and the nodes that were connected to the second node and each node reached by traversing one edge from the second node are connected. An information processing device characterized by the following:

8. The information processing apparatus according to claim 7, The aforementioned processor, In processes A and B, an index value related to the centrality of the first node and the second node included in the graph data is calculated, the data of each node reached by traversing one edge from the first node and the second node is stored in the memory, and new graph data is constructed in which the first node and each of the nodes that were connected to the first node are connected, and the second node and each of the nodes that were connected to the second node are connected, the index value related to the centrality of the first node and the second node in the new graph data is calculated, the data of each node reached by traversing one edge from the first node and the second node in the new graph data is stored in the memory, and new graph data is constructed in which the first node and each of the nodes that were connected to the first node are connected, and the second node and each of the nodes that were connected to the second node are connected, and this process is repeated a predetermined number of times or until the first node and the second node are connected. An information processing device characterized by the following:

9. The information processing device according to claim 7, Display device and Equipped with, The aforementioned processor, Generate a list containing information on the detected interactions. The detected interaction information included in the list is output to the display device. An information processing system characterized by the following:

10. The information processing device according to claim 7, Display device and Equipped with, The aforementioned processor, If the interaction is not detected in process A and process B, the graph based on the graph data is output to the display device. If the interaction is detected in process A and / or process B, a graph based on graph data in which the edges corresponding to the interaction are integrated is output to the display device. An information processing system characterized by the following:

11. An information processing system according to claim 10, The aforementioned processor, The graph in which the detected interaction is emphasized compared to other interactions is output to the display device. An information processing system characterized by the following:

12. An information processing device according to claim 7, The aforementioned processor, The index value related to centrality is calculated based on one or more of the following: degree, egenector, closeness, betweenness, pagerank. An information processing device characterized by the following:

13. The process involves a processor calculating an index value related to the centrality of a node of interest, which is a node included in graph data and set by the user. If the centrality index value satisfies a predetermined threshold, the processor adds the edges connected to the group of nodes reached by traversing one edge from the node of interest to the node of interest, and saves the attributes of the node of interest as a group of nodes in memory. If the centrality index value does not satisfy a predetermined threshold, the processor extracts a graph containing the node of interest from a database of node interactions in which a database of multiple graph data has been constructed. The processor includes the step of integrating the extracted graph with the graph data, An information processing method characterized by the following: