WO2009107416A1 - グラフ構造変化検出装置、グラフ構造変化検出方法およびプログラム - Google Patents

グラフ構造変化検出装置、グラフ構造変化検出方法およびプログラム Download PDF

Info

Publication number
WO2009107416A1
WO2009107416A1 PCT/JP2009/050475 JP2009050475W WO2009107416A1 WO 2009107416 A1 WO2009107416 A1 WO 2009107416A1 JP 2009050475 W JP2009050475 W JP 2009050475W WO 2009107416 A1 WO2009107416 A1 WO 2009107416A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
graph
division
information
importance
Prior art date
Application number
PCT/JP2009/050475
Other languages
English (en)
French (fr)
Inventor
遼平 藤巻
健司 山西
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Publication of WO2009107416A1 publication Critical patent/WO2009107416A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists

Definitions

  • the present invention relates to a graph structure change detection device, a graph structure change detection method, and a program. For example, a change in the structure of a graph composed of points (nodes) and edges (links) is detected using the importance of each node.
  • the present invention relates to a graph structure change detection device, a graph structure change detection method, and a program.
  • Graph data is data represented by a node set and a link expressing a relationship between nodes.
  • Graph data includes, for example, data representing Web pages and hyperlinks, data representing SNS (social networking site) users and friendships, data representing network devices and traffic, and bases in protein structures. Data representing the interaction (interaction) between them can be mentioned.
  • each of the Web page, the user, the network device, and the base corresponds to a “node set”, and each of the hyperlink, friendship, traffic, and base interaction corresponds to a “link”.
  • Non-Patent Document 2 This property has been observed with regard to the importance of various nodes such as the number of links and page rank (Non-Patent Document 2).
  • the number of links of a node has a property that follows a ⁇ distribution (see FIG. 1)
  • the page rank has a property that follows a ⁇ distribution or a lognormal distribution.
  • Non-Patent Document 3 describes a technique for detecting a graph division change point based on a description length when a graph or a graph obtained in time series is encoded.
  • Non-Patent Document 5 describes a method according to the principle of minimum description length regarding an approximation method using a histogram.
  • Non-Patent Document 6 describes a method according to the Akaike information criterion for an approximation method using a histogram.
  • Non-Patent Document 7 describes a method of calculating a hub index or authority index for each node by a HITS (Hyperlink-Induced Topic Search) algorithm.
  • Non-Patent Document 8 describes a technique related to a framework for dynamic model selection. A. L. Barabasi and R. Albert. Emergence of scaling in random networks. Science, 286: 509-512, 1999. L. Page, S. Brin, R. Motwanim and T. Winograd.
  • the graph structure change point detection technique described above has a problem in that it cannot detect the graph structure change point according to the importance of the node.
  • An object of the present invention is to provide a graph structure change detection device, a graph structure change detection method, and a program capable of solving the above-described problems.
  • the graph structure change detection device of the present invention receives graph data represented by a plurality of nodes and a link indicating the degree of relationship between each of the plurality of nodes
  • the graph structure change detection device And calculating means for calculating importance information indicating the degree of importance of the node for each of the nodes, and assigning each of the nodes to one of a plurality of groups based on the importance information of the node. Dividing, comparing the node grouping result, the estimation means for outputting the graph data as graph structure information of the graph data, the graph structure information of the graph data, and the reference graph structure information for structure change detection, Detecting means for detecting a structural change of the graph data and outputting a detection result of the structural change of the graph data.
  • the graph structure change detection method of the present invention receives graph data represented by a plurality of nodes and a link indicating the degree of relationship between each of the plurality of nodes
  • the graph structure change detection method A calculation step for calculating importance information indicating the degree of importance of the node for each node, and each of the nodes is assigned to one of a plurality of groups based on the importance information of the node. Dividing, comparing the node grouping result as graph structure information of the graph data, the graph structure information of the graph data, and the reference graph structure information for structure change detection, Detecting a structural change of the graph data and outputting a detection result of the structural change of the graph data.
  • the program of the present invention is based on graph data when the computer receives graph data represented by a plurality of nodes and a link indicating the degree of relationship between each of the plurality of nodes.
  • calculating means for calculating importance information indicating the degree of importance of the node for each of the nodes, dividing each of the nodes into any of a plurality of groups based on the importance information of the node,
  • the estimation means for outputting the result of grouping the nodes as graph structure information of the graph data, and comparing the graph structure information of the graph data with the reference graph structure information for structure change detection, It is made to function as a detecting means for detecting the structural change of the graph data and outputting the detection result of the structural change of the graph data.
  • FIG. 2 is a block diagram showing the graph structure change point detection apparatus 100 according to the first embodiment of the present invention.
  • the graph structure change point detection apparatus 100 can be generally called a graph structure change detection apparatus.
  • the graph structure change point detection device 100 includes a node importance calculation device 110, a graph structure estimation device 120, a graph structure storage device 130, a structure change point detection device 140, and a structure change point output device. 150.
  • the graph structure storage device 130, the structure change point detection device 140, and the structure change point output device 150 are included in the detection unit 101.
  • the graph structure change point detection device 100 is a computer including a CPU, a memory, and an input / output device, for example.
  • the graph structure estimation apparatus 100 operates according to a program recorded on a hard disk or a memory.
  • a hard disk or memory can be generally called a computer-readable recording medium.
  • the graph structure change point detection device 100 reads and executes a program from a recording medium to thereby execute a node importance calculation device 110, a graph structure estimation device 120, a graph structure storage device 130, a structure change point detection device 140, and a structure change. It functions as a point output device 150.
  • the graph structure change point detection apparatus 100 accepts the graph data 160 and estimates the structure of the graph formed by the graph data 160.
  • the graph structure change point detection apparatus 100 compares the estimation result with the reference graph structure information for structure change detection, and outputs the comparison result as the structure change point detection result 170.
  • the graph data 160 is represented by a plurality of nodes and links indicating the degree (degree) of the relationship between the nodes among the plurality of nodes.
  • the link indicates the degree (degree) of the relationship between the nodes by numerical values.
  • the graph data 160 generally includes undirected graph data and directed graph data.
  • FIG. 3 is a diagram showing an example of undirected graph data.
  • the invalid graph data includes a plurality of nodes 2a and links 2b.
  • the numerical value “1” in the link 2b indicates that there is a link between corresponding nodes in the table shown in FIG.
  • the numerical value between the node 1 and the node 2 is “1”, which means that there is a link between the node 1 and the node 2.
  • the numerical value “0” in the link 2b indicates that there is no link between corresponding nodes in the table shown in FIG. For example, since the numerical value between the node 1 and the node n is “0”, it indicates that there is no link between the node 1 and the node n.
  • the link takes a binary value of “1” or “0”, but a real value representing the strength of the link may be used as a numerical value indicated by the link.
  • FIG. 4 is a diagram showing an example of directed graph data.
  • FIG. 4 shows that, for example, the strength of the link from the row node 1 to the column node 2 is “0.5”. Accompanying this, the number of rows (nr) and the number of columns (nc) need not be equal.
  • the node is each user, and the link may be a friend registration between users.
  • the node is each network device, and the link may be the traffic volume between the devices.
  • the graph data is denoted as G
  • the link from the (row) node i to the (column) node j is denoted as g ij .
  • G is a quantity representing the degree of density of the graph, and can be defined by, for example, the expression (1).
  • the node importance calculation device 110 can be generally referred to as calculation means.
  • the node importance calculation device 110 Upon receiving the graph data 160, the node importance calculation device 110 receives, based on the graph data 160, node importance indicating the importance or the degree (degree) of activity in the node graph for each node indicated in the graph data 160. Calculate the degree.
  • the node importance calculation device 110 receives the graph data 160 in time series, and each time the graph data 160 is received, the node importance calculation device 110 performs node importance for each node represented in the graph data 160 based on the received graph data 160. Calculate the degree.
  • the node importance is an example of importance information.
  • the node importance calculation device 110 may store a rule for calculating the node importance of each node in advance, and calculate the node importance of each node according to the rule.
  • the node importance it is possible to use any index for calculating the importance or the degree (degree) of activity in the node graph.
  • the node importance calculation apparatus 110 calculates, for each node, the sum of the numerical values related to the same node among the numerical values indicated by the links. calculate.
  • the node importance calculation device 110 uses the sum calculated for each node as the node importance of each node.
  • the node importance calculation apparatus 110 calculates the page rank for each node by the page rank algorithm shown in Non-Patent Document 2.
  • the node importance calculation device 110 uses the page rank calculated for each node as the node importance of each node.
  • the node importance calculation device 110 uses the hub index or authority index calculated for each node as the node importance of each node.
  • the node importance calculation apparatus 110 obtains the node importance x r, i for the row node i according to the equation (2). It is possible to calculate the absolute link frequency or the relative link frequency obtained according to the equation (3).
  • the node importance calculation device 110 stores, for example, Expressions (1), (2), and (3).
  • the node importance the page rank shown in Non-Patent Document 2 or the hub index or authority index shown in Non-Patent Document 7 can be used.
  • the node importance calculation device 110 stores a page rank calculation formula, a hub index, or an authority index calculation formula.
  • the node importance calculation device 110 provides importance information indicating the node importance of each node and the graph data 160 to the graph structure estimation device 120.
  • the graph structure estimation device 120 can be generally referred to as estimation means.
  • the graph structure estimation apparatus 120 divides each node into one of a plurality of groups based on importance information (node importance of each node).
  • Node grouping means that a graph composed of graph data 160 is divided into groups.
  • the graph structure estimation apparatus 120 outputs the result of grouping each node as graph structure information of the graph data 160.
  • the graph structure estimation apparatus 120 uses a node importance level range (from a minimum value to a maximum value that can be taken by the node importance level) using one or a plurality of dividing node importance levels (dividing node importance levels). By dividing, a plurality of groups (in this case, each divided area of node importance) and nodes included in the divided area are determined. It should be noted that determining the nodes included in the divided area means dividing each node into a plurality of groups.
  • the graph structure estimation device 120 assigns each node in the same graph data to a plurality of groups based on the importance information of the node.
  • the result of grouping nodes is output as graph structure information of graph data.
  • the graph structure estimation apparatus 120 stores the rules for division in advance, and divides each node into a plurality of groups based on the node importance and the graph data 160 according to the rules for division. Also good.
  • the graph structure estimation device 120 includes information related to a graph division result (for example, information indicating the number of graph divisions, a division method, and a divided region to which each node belongs), that is, graph structure information of the graph data 160,
  • the importance level information is provided to the graph structure storage device 130 or the structure change point detection device 140.
  • FIG. 5 is a block diagram showing a graph structure estimation apparatus 120A which is the first embodiment of the graph structure estimation apparatus 120.
  • Graph structure estimation apparatus 120A can generally be referred to as estimation means.
  • the graph structure estimation apparatus 120A includes a division data storage unit 120a and a graph division calculation unit 120b.
  • the division data storage unit 120a can be generally referred to as division data storage means.
  • the division data storage unit 120a stores rules (for example, node classification conditions) for dividing the graph formed by the graph data 160 using the node importance calculated by the node importance calculation device 110. To do.
  • the graph division calculation unit 120b can be generally called graph division calculation means.
  • the graph division calculation unit 120b divides the graph formed by the graph data 160 using the rules, the node importance levels, and the graph data 160 in the division data storage unit 120a.
  • the graph division calculation unit 120b sets one or more division node importance levels according to the rules in the division data storage unit 120a, and divides the node importance levels using the division node importance levels.
  • the node importance indicates the number of links of the node
  • the number of links 100 or more ⁇ area 1
  • the number of links is 50 or more and less than 100 ⁇ area 2
  • the number of links is A rule is also conceivable in which the node classification destination (area; group) is absolutely determined according to the number of links, such as “less than 50 ⁇ area 3”.
  • the node importance indicates the number of links of the node
  • “the number of links is in the upper 30% ⁇ area 1 the number of links is less than the upper 50% ⁇ area
  • the number of links corresponding to the top 30% and the number of links corresponding to the top 50% are the node importance for division.
  • FIG. 6 is a diagram schematically showing an example of dividing the node importance into three parts using the two node importance levels for division.
  • the vertical axis represents the number of nodes corresponding to the node importance on the horizontal axis.
  • the node belonging to region 1 is interpreted as a normal node having only a few links
  • the node belonging to region 3 is interpreted as a hub node having a large number of links
  • the node belonging to region 2 is interpreted as an intermediate node. Is possible.
  • FIG. 7 is a diagram showing how the graph is divided when the row direction and the column direction of the directed graph are divided using the node importance for division.
  • the graph division calculation unit 120b provides importance level information and information (graph structure information) on the graph division result to the graph structure storage device 130 and the structure change point detection device 140, for example.
  • FIG. 8 is a block diagram showing a graph structure estimation apparatus 120B, which is the second embodiment of the graph structure estimation apparatus 120.
  • Graph structure estimation apparatus 120B can generally be referred to as estimation means, division code length calculation means, and division control means.
  • the graph structure estimation apparatus 120B includes a division optimization data storage unit 120c and a node importance degree division optimization unit 120d.
  • the division optimization data storage unit 120c can be generally referred to as division optimization data storage means.
  • the node importance division optimization unit 120d can be generally referred to as node importance division optimization means.
  • the division optimization data storage unit 120c stores not a simple rule for dividing a graph but a calculation procedure for optimizing the division of the graph with respect to input data (graph data).
  • the graph structure estimation apparatus 120B calculates an optimal division model of the graph according to the calculation procedure in the division optimization data storage unit 120c.
  • Optimized parameters include, for example, the number of divisions and the size of each area. Based on this parameter, the node importance for division is determined.
  • the graph structure estimation apparatus 120B uses, as shown in FIG. 6, a node importance value range division model (setting of node importance for division) as an arbitrary optimization method (optimization criterion), for example, a minimum description length. It is possible to calculate based on graph data using the principle, Akaike information criterion, or Bayesian information criterion.
  • the node importance distribution (node importance distribution) in the node importance value range is approximated by a histogram, and the graph divided area is divided into each area of the histogram.
  • a method of making (group) correspond can be considered.
  • Non-Patent Document 5 a method according to the minimum description length principle (for example, Non-Patent Document 5) or a method according to the Akaike information criterion (for example, Non-Patent Document 6) is used. It is possible to use.
  • the graph structure estimation apparatus 120B uses the number of node importance levels for partitioning and the value of each node importance level for splitting (the result of partitioning the range of node importance levels) as a split model, and the node importance level for each different split model Then, the division description length necessary for encoding the division model is calculated. At this time, it should be noted that the divided description length includes the description length of the divided model itself.
  • the graph structure estimation device 120B specifies an optimized partition model that minimizes the partition description length from among different partition models, and each of the nodes is specified by the optimized partition model based on importance information. Divide into one of multiple groups.
  • the graph structure estimation device 120B can optimize the division by approximating each of the node importance distributions in the row direction and the column direction by a histogram. It is.
  • the graph structure estimation apparatus 120B calculates the node importance and the division description length necessary for encoding the division model for each different division model.
  • the graph structure estimation apparatus 120B specifies an optimized division model that minimizes the division description length from among different division models, and determines each of the nodes using the optimized division model based on the importance level information of the node. Divide into one of several identified groups.
  • the division model can be optimized.
  • the graph structure estimation apparatus 120B specifies an optimized division model using dynamic programming.
  • the graph structure estimation apparatus 120B may specify the optimized division model by repeatedly updating the division result in a direction of reducing the division description length.
  • the graph structure estimation apparatus 120B optimizes by repeatedly setting the division result calculated using dynamic programming as an initial value and updating the division result from the initial value in a direction of reducing the division description length.
  • a division model may be specified.
  • FIG. 10 is a block diagram showing a graph structure estimation apparatus 120 ⁇ / b> C that is the third embodiment of the graph structure estimation apparatus 120.
  • Graph structure estimation apparatus 120C can be generally referred to as estimation means.
  • the graph structure estimation device 120C includes a code length calculation unit storage device 311 and an optimum parameter calculation device 314.
  • the code length calculation unit storage device 311 stores a graph code length calculation unit 312 and a node importance degree division code length calculation unit 313.
  • the graph structure estimation apparatus 120C receives the graph data 160 and the node importance degree information 315 calculated by the node importance degree calculation apparatus 110, and outputs the graph structure information 180.
  • the code length calculation unit storage device 311 can be generally called code length calculation means.
  • the node importance division code length calculation unit 313 can be generally called division code length calculation means.
  • Graph code length calculation unit 312 can be generally called graph code length calculation means.
  • node importance division code length calculation unit 313 and the graph code length calculation unit 312 are programs that execute predetermined calculations when executed by a computer, for example.
  • the node importance division code length calculation unit 313 and the graph code length calculation unit 312 use the description length necessary for encoding the node importance information and the node importance division model in a certain parameter, and the source of the division. A procedure for calculating a description length for encoding a graph is shown.
  • the node importance division code length calculation unit 313 uses the division result of the node importance value range using the node importance for division as a division model, and codes the node importance information and the division model for each different division model.
  • the graph code length calculation unit 312 divides each of the nodes by grouping the nodes when dividing each of the nodes into any of a plurality of groups specified by the division model based on the node importance information.
  • the graph description length for encoding the graph is calculated for each division model.
  • the description length necessary for encoding the node importance degree division result can be calculated by a method similar to the method performed by the graph structure estimation apparatus 120B.
  • the graph G is split into several subgraphs (in FIG. 11, from G1,1 to G2,3 ) as shown in FIG.
  • the graph structure estimation apparatus 120C assigns a probability distribution in which a link is generated to each subgraph (from p 1,1 to p 2,3 in FIG. 11).
  • the probability distribution that the link is generated can be a Bernoulli distribution.
  • the probability distribution that the link is generated can be a beta distribution.
  • the link when it takes a value of “0” or more, it can be an exponential distribution or a gamma distribution.
  • the graph structure estimation apparatus 120C can assign an appropriate probability distribution according to the definition of the link.
  • the graph code length refers to the code length when the link of each subgraph is generated with the assigned probability (distribution).
  • each divided area has a different property as a node, it is natural to represent the interaction within each area and between each area using different models.
  • the optimum parameter calculation device 314 can be generally called a division control means.
  • the optimum parameter calculation device 314 When the optimum parameter calculation device 314 reads the graph data 160 and the node importance information 315, the optimum parameter calculation device 314 reads the calculation units 312 and 313 stored in the code length calculation unit storage device 311 and uses the calculation units 312 and 313 to read the graph. A parameter (division model) that minimizes the sum of the code length and the code length of node importance division is calculated.
  • nodes are sorted according to the node importance, that is, x 1 ⁇ ... ⁇ x n.
  • n represents the number of nodes.
  • x n x 1 ,..., X n and the value range of x i is [0, R].
  • R i a i ⁇ a i ⁇ 1
  • the number of data belonging to each region is n i
  • log * d is an amount obtained by adding positive loglog ... logd as log d + loglog d + ... and is known to give the minimum description length when the distribution of d is unknown. Yes.
  • Expression (5) represents a description length for encoding xn
  • Expressions (8) and (9) represent a description length necessary for describing a model.
  • the model here refers to the number of divisions (m) and the division method (k, r, d, ⁇ ).
  • the graph code length can be defined by equations (10) and (11).
  • G i, j is the total number of links included in subgraph G i, j , ⁇ i, j is the probability of 1 for Bernoulli distribution p i, j assigned to subgraph G i, j.
  • n i and n j must also be encoded, since the code length of n i and n j are included in equation (5), included in the L G Not.
  • the optimum parameter calculation device 314 determines the optimum division parameter (division model) by solving the optimization problem of the equation (12).
  • the optimization method of the expression (12) specifies the parameter ranges as m min ⁇ m ⁇ m max , d min ⁇ d ⁇ d max , ⁇ min ⁇ ⁇ ⁇ ⁇ max, and comprehensively covers the parameter combinations.
  • a method of calculating the optimum parameter by calculating equation (12) is conceivable.
  • k p min ⁇ k p-1 q +, k p-1 q- ⁇ to calculate the k p as.
  • k p q + (k p 1 , k p 2 ,..., k p q + 1,..., k p m-1 )
  • k p q- (k p 1 , k p 2 ,..., k p q ⁇ 1,..., k p m ⁇ 1 )
  • the optimum parameter calculation device 314 identifies the optimized division model by repeatedly updating the division result in a direction to reduce the sum of the division description length and the graph description length.
  • n (R) is the number of nodes included in the interval [0, R] with node importance.
  • Equation (13) and (14) can be minimized by solving the dynamic programming problem of equation (16).
  • G m + 1, j depends on a ′
  • Equations (13) and (14) cannot be strictly minimized, but an approximate solution can be obtained. It is.
  • Equation (12) The object of minimization of equation (12) is the sum of equations (13) and (14) plus L (k) and L (m, r, d, ⁇ ). It is possible to narrow down the search space for the minimization problem of equation (12).
  • the optimum parameter calculation device 314 sets the division result calculated using dynamic programming as an initial value, and updates the division result from the initial value in a direction of reducing the sum of the division description length and the graph description length.
  • an optimized division model is specified.
  • a description will be given of a case where a link takes a binary value of “1” or “0” and the number of divisions and the size of each region are optimized for a directed graph.
  • the first term and the second term on the right side of equation (17) are the row frequency and column node frequency distribution code lengths calculated in the same manner as equation (5), and the second term is the graph given by equation (18).
  • the fourth term to the seventh term represent the code length of the model calculated in the same manner as the equations (8) and (9).
  • the problem of minimizing the expression (17) can be reduced to a dynamic programming problem, and the optimum parameter calculation device 314 uses the dynamic programming method to obtain the optimum parameter. Can also be calculated.
  • the optimum parameter calculation device 314 calculates the sum of the description length necessary for encoding the division of the node importance range and the description length for encoding the graph under the division. Optimize the division parameters to be minimized (number of divisions, size of each area, etc.).
  • an example using the minimum description length principle is described as an optimization criterion, but other similar criteria such as Akaike information criterion and Bayesian information criterion are used as optimization criteria. It is also possible to use it.
  • the node importance division code length calculation unit 313 uses the division result of the range of node importance as a division model, and encodes the node importance information and the division model for each different division model. Calculate the required division description length.
  • the graph code length calculation unit 312 When the graph code length calculation unit 312 divides each of the nodes into any of a plurality of groups specified by the division model based on the node importance information, the graph code length calculation unit 312 displays the graph divided by the node grouping. The graph description length for encoding is calculated for each division model.
  • the optimum parameter calculation device 314 specifies an optimized division model that minimizes the sum of the division description length and the graph description length from among different division models, and optimizes each of the nodes based on the node importance information. It is divided into one of a plurality of groups specified by the generalized division model.
  • FIG. 12 is a block diagram showing a graph structure estimation apparatus 120D which is the fourth embodiment of the graph structure estimation apparatus 120.
  • Graph structure estimation apparatus 120D can generally be referred to as estimation means.
  • the graph structure estimation device 120D includes a code length calculation unit storage device 411 and an optimum parameter calculation device 413.
  • the code length calculation unit storage device 411 stores a node importance division code length calculation unit 313 and a subgraph division code length calculation unit 412.
  • the graph structure estimation apparatus 120D receives the graph data 160 and the node importance degree information 315 calculated by the node importance degree calculation apparatus 110, and outputs the graph structure information 180.
  • the functional difference from the graph structure estimation device 120C shown in FIG. 10 is that the graph structure estimation device 120D further divides a subgraph obtained by dividing the graph according to the node importance into subgraphs. Is a point.
  • the graph structure estimation device 120D can convert a node importance value range division model (setting of node importance for division) into an arbitrary optimization method (optimization criterion), for example, a minimum description length principle, an Akaike information criterion, or It is possible to calculate based on the graph data using the Bayes information criterion.
  • optimization criterion for example, a minimum description length principle, an Akaike information criterion, or It is possible to calculate based on the graph data using the Bayes information criterion.
  • FIG. 13 shows an example of graph division according to the present embodiment.
  • the left figure of FIG. 13 is an example of dividing the input graph according to the node importance, and the right figure shows that the partial graphs G 2 and 2 are further divided inside.
  • the code length calculation unit storage device 411 can be generally called code length calculation unit storage means.
  • the subgraph division code length calculation unit 412 can be generally called a subgraph division code length calculation means.
  • the node importance division code length calculation unit 313 and the subgraph division code length calculation unit 412 may be programs that execute predetermined calculations when executed by a computer, for example.
  • the node importance division code length calculation unit 313 and the subgraph division code length calculation unit 412 each have a description length necessary for encoding the division of the node importance value range in a certain parameter, and each part based on the division. The procedure for further dividing the graph and calculating the description length for encoding it is shown.
  • the subgraph division code length calculation unit 412 assigns each group generated when dividing each of the nodes into one of a plurality of groups specified by the division model based on the importance information of the node.
  • the subdivision code length necessary for encoding the subdivision state in each group is calculated for each division model.
  • the description length necessary for encoding the division of the node importance value range can be calculated by a method similar to the method performed by the graph structure estimation apparatus 120B shown in FIG.
  • Subgraph division and its encoding method are, for example, the division method proposed in Non-Patent Document 1 and its description length calculation means, the well-known division method using a tree structure and its description length calculation means, etc. Can be used.
  • the optimum parameter calculation device 413 can be generally called a division control means.
  • the optimum parameter calculation device 413 When the optimum parameter calculation device 413 reads the graph data 160 and the node importance information 315, the optimum parameter calculation device 413 reads the calculation units 313 and 412 stored in the code length calculation unit storage device 411, and uses the calculation units 313 and 412 to A parameter that minimizes the sum of the code length of the graph division and the code length of the division of the node importance value range is calculated.
  • the optimum parameter calculation device 413 identifies an optimized division model that minimizes the sum of the division description length and the subdivision code length from among different division models, and sets each of the nodes as node importance information. Based on the plurality of groups specified by the optimized division model.
  • the node importance division code length calculation unit 313 uses the division result of the node importance value range using the node importance for division as a division model, and sets the node importance and difference for each different division model. A division description length necessary for encoding the division model is calculated.
  • the subgraph division code length calculation unit 412 divides each group generated when each node is divided into any of a plurality of groups specified by the division model based on the node importance information of the node. When the subdivision is performed based on the relationship between the nodes, the subdivision code length necessary for encoding the subdivision state in each group is calculated for each division model.
  • the optimal parameter calculation device 413 identifies an optimized division model that minimizes the sum of the division description length and the re-division code length from among different division models, and determines each of the nodes based on the node importance information, It is divided into one of a plurality of groups specified by the optimized division model.
  • the detection unit 101 can be generally referred to as detection means.
  • the detection unit 101 detects the structural change of the graph data using the graph structure information from the graph structure estimation device 120 and the reference graph structure information designated in advance.
  • the reference graph structure information is a reference for detecting a change point of the graph structure.
  • the detection unit 101 may use the graph structure information output from the graph structure estimation apparatus 120 in the past as the reference graph structure information.
  • the detection unit 101 outputs the detection result of the structural change of the graph data.
  • the graph structure storage device 130 can be generally referred to as storage means.
  • the graph structure storage device 130 stores reference graph structure information for structure change detection. Note that the graph structure information from the graph structure estimation device 120 may be stored in the graph structure storage device 130.
  • the reference graph structure information may be a graph structure designated in advance, for example. Further, the reference graph structure information is, for example, graph structure information output from the graph structure estimation device 120 at a past time, a future side, or a time on the past side and the future side as viewed from a certain time (detection target time). It is also possible.
  • the graph structure storage device 130 stores the graph structure information 180 sequentially output by the graph structure estimation device 120 for a while.
  • the graph structure storage device 130 stores the time ( The graph structure information output by the graph structure estimation apparatus 120 at the detection target time) and the graph structure information output by the graph structure estimation apparatus 120 after that time are stored. Then, using the graph structure information in the graph structure storage device 130 (graph structure information at the detection target time and graph structure information obtained at a time later than the detection target time), the change in the graph structure at the detection target time Is detected.
  • the structure change point detection device 140 can be generally called structure change point detection means.
  • the structure change point detection device 140 reads the reference graph structure information from the graph structure storage device 130, and also reads the graph structure information 180 estimated by the graph structure estimation device 120. The structure change point detection device 140 detects a change in the graph structure by comparing the reference graph structure information with the graph structure information 180.
  • the structure change point detection device 140 operates according to a rule set in advance in order to detect a change in the graph structure.
  • the rule for detecting the change in the graph structure is, for example, comparing the division number of the graph at the time before the detection target time and the division number of the graph at the detection target time, and if there is a change in the division number, detecting the change, If there is no change in the number of divisions, a rule that no change is detected (that is, no change is detected) may be used.
  • the graph estimated by the graph structure estimation device 120 The structure information is not directly output to the structure change point detection device 140 but is stored in the graph structure storage device 130.
  • the structure change point detection device 140 uses the graph structure information of the detection target time and the graph structure information obtained at the future time of the detection target time stored in the graph structure storage device 130. Change point detection is performed.
  • the structure change point output device 150 can be generally called structure change point output means.
  • the structure change point output device 150 When a change is detected by the structure change point detection device 140, the structure change point output device 150 outputs the fact that the change has occurred and the type of change as a result of detecting the change in the structure of the graph data. To do. Even when no change is detected, the structure change point output device 150 can output the graph structure information and the like at that time.
  • the output destination of the graph structure change detection result may be an output device such as a display connected to the graph structure change point detection device 100, or an output device or a terminal device connected via a network. May be.
  • FIG. 14 is a flowchart for explaining the operation of the graph structure change point detection apparatus 100.
  • the node importance calculation device 110 inputs the graph data 160 (S100).
  • the node importance calculation device 110 calculates the node importance of each node indicated by the input graph data (S101).
  • the graph structure estimation device 120 calculates the node division (grouping of nodes) of the graph using the calculated node importance (S102).
  • the node grouping result is used as graph structure information of the graph data 160.
  • the graph structure estimation device 120 stores the calculated graph structure information (eg, division) in the graph structure storage device 130 (S103). .
  • the structural change point detection device 140 determines whether or not to detect a change (S104). For example, when the graph structure information on the future side is used for detecting the change in the graph structure, at this time, the change is not detected, the process returns to S100, and the graph data is further input.
  • the detection of the change can be performed not only with respect to the graph obtained at this time but also with respect to a change in the past time.
  • the structure change point detection device 140 When detecting a change, the structure change point detection device 140 reads the reference graph structure information for change point detection from the graph structure storage device 130 (S105), and the reference graph structure information and the graph structure estimation device 120 are read. Are compared with the graph structure information from the graph to detect the change point of the graph structure (S106).
  • graph structure information that is not used as the reference graph structure information (specifically, graph structure information to be compared with the reference graph structure information) is also included in the graph structure storage device 130. Is stored in the graph structure information to be compared with the reference graph structure information, and the graph structure information to be compared with the reference graph structure information. Then, the graph structure change point is detected by comparing the reference graph structure information.
  • the structural change point detection device 140 provides the structural change point output device 150 with the result of the change point detection.
  • the structural change point output device 150 outputs a change point detection result (S107).
  • the node importance calculation device 110 calculates importance information for each node.
  • the graph structure estimation apparatus 120 divides each node into one of a plurality of groups based on the importance level information of the node, and outputs the node grouping result as graph structure information of the graph data.
  • the detection unit 101 detects the structural change of the graph data using the graph structure information from the graph structure estimation device 120 and the reference graph structure information.
  • the change in the structure of the graph data detected by the detection unit 101 means that the graph structure specified based on the importance of the node has changed. That is, the change in the structure of the graph data detected by the detection unit 101 means that some change has occurred in the distribution that is a characteristic of the scale-free network.
  • This structural change occurs, for example, “when traffic suddenly concentrates on some nodes”, that is, “when a network attack is started”. For this reason, according to the present embodiment, it is possible to detect a network attack.
  • this structural change occurs, for example, when “a word network such as a blog, news, academic paper, or the like changes”, that is, when a big topic changes. For this reason, according to the present embodiment, it is possible to detect a large variation in the topic.
  • the node importance calculation device 110 receives the graph data 160 in time series, and each time the graph data 160 is received, the node importance calculation device 110 is important for each node represented in the graph data. Calculate degree information.
  • the graph structure estimation apparatus 120 assigns each node indicated in the same graph data to any one of a plurality of groups based on the importance level information of the node.
  • the result of node grouping is output as graph structure information of graph data.
  • the detection unit 101 uses the graph structure information output from the graph structure estimation device 120 in the past as the reference graph structure information.
  • the graph structure estimation apparatus 120 divides the node importance value range representing the minimum value to the maximum value that can be taken by the node importance information by using one or more dividing node importance values.
  • the plurality of divided regions obtained in this way are defined as a plurality of groups.
  • multiple groups can be set using the node importance for division.
  • FIG. 15 is a block diagram showing a graph structure change point detection apparatus 200 according to the second embodiment of the present invention.
  • the graph structure change point detection apparatus 200 can be generally called a graph structure change detection apparatus.
  • the graph structure change point detection apparatus 200 is compared with the graph structure change point detection apparatus 100 according to the first embodiment shown in FIG. Instead of the device 120, the graph structure storage device 130, and the structure change point detection device 140, the point having the node importance calculation device 210, the graph structure estimation device 220, and the structure change point detection device 230, and instead of the graph data 160
  • the difference is that the graph data 240 is input and the structure change point detection result 250 is output instead of the structure change point detection result 170.
  • the graph structure change point detection device 200 is a computer including a CPU, a memory, and an input / output device, for example.
  • the graph structure change point detection apparatus 200 operates according to a program recorded in a hard disk or memory.
  • the graph structure change point detection device 200 functions as a node importance calculation device 210, a graph structure estimation device 220, a structure change point detection device 230, and a structure change point output device 150 by reading and executing a program from a recording medium. To do.
  • the structure change point detection result 250 represents the presence or absence of change or the type of change at each time corresponding to the graph data 240, the structure of the graph at each estimated time, and the like.
  • the type of change is, for example, information that the number of divisions of the graph has changed to some, information on how the division position of the graph has changed, and the like.
  • the node importance calculation device 210 can be generally called a calculation means.
  • the node importance calculation device 210 receives graph data in time series, and calculates the node importance for each node represented in the graph data based on the graph data every time the graph data is received.
  • the node importance calculation apparatus 210 uses an arbitrary index (for example, link frequency, page rank, hub index, or authority index of each node) as described in the first embodiment. ) Can be used.
  • an arbitrary index for example, link frequency, page rank, hub index, or authority index of each node
  • the graph structure estimation device 220 can be generally referred to as estimation means.
  • the graph structure estimation apparatus 220 estimates the structure of the graph division at each time for the input graph string.
  • the graph structure estimation apparatus 220 can convert a node importance value range division model (setting of node importance for division) into an arbitrary optimization method (optimization criterion), for example, a minimum description length principle, an Akaike information criterion, or It is possible to calculate based on the graph data using the Bayes information criterion.
  • optimization criterion for example, a minimum description length principle, an Akaike information criterion, or It is possible to calculate based on the graph data using the Bayes information criterion.
  • the graph structure estimation device 220 converts the result of dividing the node importance value range into node importance information of each graph data received in time series according to an arbitrary optimization criterion. Optimize based on. Then, the graph structure estimation device 220 assigns each node to any one of the plurality of groups identified by the division result of the optimized node importance value range based on the importance information of the node. Dividing into any of the groups, the result of grouping the nodes is output as graph structure information of the graph data.
  • FIG. 16 is a block diagram illustrating an example of the graph structure estimation apparatus 220.
  • the graph structure estimation device 220 includes a graph sequence code length calculation unit storage device 511, a model sequence code length calculation unit storage device 512, and an optimum parameter calculation device 513.
  • the graph structure estimation device 220 receives the graph data 240 and the node importance information 514 calculated by the node importance calculation device 210, and outputs a structure change point detection result 250.
  • the optimum parameter calculation device 513 can be generally called a division control means.
  • the optimum parameter calculation device 513 uses the calculation unit read from the graph sequence code length calculation unit storage device 511 and the model sequence code length calculation unit storage device 512 for the input graph data 240 and node importance information 514.
  • the model (division model) that minimizes the sum of the code lengths of the graph sequence and the model sequence calculated in this way is selected.
  • the optimal parameter calculation device 513 can be realized by using the dynamic model selection framework proposed in Non-Patent Document 8, for example.
  • the model here refers to the division structure of the graph.
  • the optimum parameter calculation device 513 represents a code length for encoding the data sequence (in this embodiment, the graph sequence G t and the node importance sequence x t, n ) and the model sequence M t. (19) Select a model that minimizes the equation.
  • the code length of the graph sequence calculated by the graph sequence code length calculation unit 511 is the first term on the right side of the equation (19).
  • the equations (5) and (10) can be used, and when the graph data 240 is a directed graph, the equations (5) and (18) can be used. It is.
  • the graph sequence code length calculation unit 511 can also define and calculate the first term on the right side of the equation (19) using predictive probabilistic complexity. is there.
  • the code length of the model string calculated by the model string code length calculation unit storage device 512 is the second term on the right side of the equation (19), and can be calculated using, for example, the equations (8) and (9). Is possible.
  • the time transition model of the model is considered, and the second term on the right side of the equation (19) is defined and calculated using the predictive probabilistic complexity for the model. Is also possible.
  • the optimal parameter calculation device 513 sets a combination of candidate model sequences and parameters in advance as a method for calculating the model sequence and parameters for minimizing the formula (19), and calculates the formula (19) for each. Then, a method of selecting a model string and a parameter that are minimized can be considered.
  • Non-Patent Document 8 it is also possible to calculate a model sequence for minimizing the equation (19) using dynamic programming.
  • the detection unit 201 can be generally called detection means.
  • the detection unit 201 includes a structure change point detection device 230 and a structure change point output device 150.
  • the detection unit 201 compares the graph structure information of the graph data with the reference graph structure information, detects the structural change of the graph data, and outputs the detection result of the structural change of the graph data.
  • the detection unit 201 performs graph division at an arbitrary time (for example, past time) among graph division structures (graph structure information) at each time provided from the graph structure estimation device 220.
  • the structure (graph structure information) is used as the reference graph structure information.
  • the structure change point detection device 230 can be generally called structure change point detection means.
  • the structure change point detection device 230 receives graph structure information including a model sequence and a model parameter sequence and a graph sequence from the graph structure estimation device 220, and whether or not a change in the graph structure occurs at each time or It operates according to procedures or rules for calculating information about whether such changes have occurred.
  • the rule for detecting a change in the graph structure is, for example, comparing the number of divisions of the previous time with the number of divisions of the detection target time at each detection target time, and if there is a change in the number of divisions, detecting the change, If there is no change, the rule may be that no change is detected (that is, no change is detected).
  • the rule for detecting the change in the graph structure is, for example, the content of the sum of the right side of the equation (20) of -logP (Gj, x n i
  • a rule of monitoring a value (an example of graph structure information) and detecting a change when a preset threshold (corresponding to reference graph structure information) is exceeded may be used.
  • a rule for detecting a change in the graph structure is, for example, a time-series change point detection technique using a value of ⁇ logP (Gj, x n i
  • ⁇ i-1 Mj ) monitoring is easy to obtain the graph data obtained at the next time based on the model sequence estimated by a certain time I will be monitoring. If a change occurs, a graph that cannot be explained by the model estimated up to the previous time will be obtained, so this value, that is, -logP (Gj, x n i
  • FIG. 17 is a flowchart for explaining the operation of the graph structure change point detection apparatus 200.
  • the node importance calculation device 210 inputs graph string data (S200).
  • the node importance calculation device 210 calculates a node importance sequence of each node indicated by the input graph data (S201).
  • the graph structure estimation apparatus 220 calculates a graph structure sequence and its parameter sequence using the calculated node importance sequence (S202).
  • the structural change point detection device 230 performs change point detection (S203).
  • the structural change point output device 150 outputs a change point detection result (S204).
  • FIG. 18 is a block diagram showing a graph structure change point detection apparatus 300 according to the third embodiment of the present invention.
  • the graph structure change point detection device 300 can be generally referred to as a graph structure change detection device.
  • the graph structure estimation apparatus 300 is compared with the graph structure change point detection apparatus 100 according to the first embodiment shown in FIG. Instead of the structure change point detection device 140, a graph structure estimation device 310, a graph structure storage device 320, and a structure change point detection device 330 are different.
  • the graph structure change point detection device 300 is a computer including a CPU, a memory, and an input / output device, for example.
  • the graph structure change point detection apparatus 300 operates in accordance with a program recorded in a hard disk or memory.
  • the graph structure change point detection device 300 functions as a node importance calculation device 110, a graph structure estimation device 220, a structure change point detection device 230, and a structure change point output device 150 by reading and executing a program from a recording medium. To do.
  • the graph structure storage device 320 can be generally called storage means.
  • the parameters of the time transition model calculated up to the previous time (this parameter is the past optimized node distribution ( Node division value range) is stored.
  • the division of the graph and the parameters of the time transition model mentioned here correspond to, for example, M t , ⁇ Mt t , ⁇ t, etc. as described in the second embodiment.
  • the graph structure estimation device 310 reads the graph data 160, the node importance information calculated by the node importance calculation device 110, and the parameters stored in the graph structure storage device 320, and the node importance of the graph at that time. Calculate the division according to the information. For this calculation, for example, a sequential dynamic selection algorithm proposed in Non-Patent Document 4 can be applied.
  • the graph structure estimation device 310 divides the past optimized node importance value range stored in the graph structure storage device 320, node importance information for each node, and ,
  • the node importance value range partitioning model is optimized according to any optimization criterion (eg, minimum description length principle, Akaike information criterion, or Bayesian information criterion).
  • the graph structure estimation device 310 performs predictive probabilistic complexity represented by the equation (20) for all candidate models. Calculate Then, the graph structure estimation apparatus 310 selects and outputs a model corresponding to the minimum value as an optimum model for each time.
  • the division model can be optimized sequentially.
  • the change in the structure of the graph data detected in each of the above embodiments means that the graph structure specified based on the importance of the node has changed, as described in the first embodiment.
  • the structural change of the detected graph data means that some change has occurred in the distribution that is a characteristic of the scale-free network. Therefore, it is possible to detect a network attack or detect a large change in a topic.

Abstract

 ノードの活性度つまり重要度に基づいてグラフ構造の変化を検出可能なグラフ構造変化検出装置、グラフ構造変化検出方法およびプログラムを提供する。  グラフ構造変化検出装置100は、複数のノードと、複数のノードのうちの各ノード間の関係の程度を示すリンクと、によって表されるグラフデータを受け付けた場合に、グラフデータに基づいて、ノードごとに、ノードの重要性の程度を示す重要度情報を計算する計算手段110と、ノードのそれぞれを、ノードの重要度情報に基づいて、複数のグループのいずれかに分け、ノードのグループ分けの結果を、グラフデータのグラフ構造情報として出力する推定手段120と、グラフデータのグラフ構造情報と構造変化検出用の基準グラフ構造情報とを比較して、グラフデータの構造変化を検出し、グラフデータの構造変化の検出結果を出力する検出手段101と、を含む。

Description

グラフ構造変化検出装置、グラフ構造変化検出方法およびプログラム
 本発明は、グラフ構造変化検出装置、グラフ構造変化検出方法およびプログラムに関し、例えば、点(ノード)と辺(リンク)によって構成されるグラフの構造の変化を、各ノードの重要度を用いて検出するグラフ構造変化検出装置、グラフ構造変化検出方法およびプログラムに関する。
 グラフデータとは、ノード集合、および、ノード間の関係を表現するリンク、によって表されるデータである。
 グラフデータとしては、例えば、Web(ウェブ)ページとハイパーリンクとを表すデータ、SNS(ソーシャルネットワーキングサイト)のユーザーと友人関係とを表すデータ、ネットワーク機器とトラフィックとを表すデータ、タンパク質構造における塩基とその間のインタラクション(相互作用)とを表すデータなどが挙げられる。
 上記の例では、Webページとユーザーとネットワーク機器と塩基のそれぞれが「ノード集合」に該当し、ハイパーリンクと友人関係とトラフィックと塩基間のインタラクションのそれぞれが「リンク」に該当する。
 近年の研究から、グラフデータにて構成される多くのグラフ(ネットワーク)の構造には、スケールフリー性と呼ばれる性質が存在する事が確認されている(非特許文献1参照)。
 スケールフリー性を持つグラフの性質の1つとして、大多数のノードの重要度は低いが、グラフ中で「ハブ」として機能する重要度の高いノードが、少数(低い確率で)存在するという性質がある。これは、ノードに対する重要度に関する確率分布が裾の長い分布をしていると言い換える事が可能である(分布の裾はつまり重要度が高いノードに相当し、裾が長いため重要度の高いノードも低い確率で存在しうる)。
 このような性質は、ノードの持つリンク数やページランク(非特許文献2)などさまざまなノードの重要度に関して観測されている。例えば、スケールフリー性を持つグラフにおいて、ノードの持つリンク数は冪分布に従うという性質があり(図1参照)、ページランクは冪分布あるいは対数正規分布に従う性質がある。
 このようなグラフの構造は、一般にさまざまな要因によって経時変化し、その変化を監視することは重要である。
 例えば、あるコミュニティに対して広告をうつ場合には、そのコミュニティにおけるオピニオンリーダーに広告を出す事が効果的である。このため、重要ノードすなわちオピニオンリーダーに関する構造の変動をいち早く検出することは、効果的な広告を提供するために重要である。
 これらのグラフデータを、ノードの部分集合(クラスタ)に分割する事で特徴付け、そのグラフの構造の変化点を検出する方法が、幾つか提案されている。これらの方法は、例えば、Webコミュニティ構造の変化検出など、種々の利用分野で幅広く応用可能である。
 非特許文献3には、グラフまたは時系列的に得られるグラフを符号化する場合の記述長を基準としてグラフ分割の変化点を検出する技術が記載されている。
 この技術では、時間的に隣接するグラフの分割構造はグラフ構造に変化が起こらない限り同じであるという仮定のもとで、グラフ列の記述長と分割方法の記述長との和が最小となるようにグラフの分割が行われ、個々のグラフの分割方法が比較され、その比較の結果、分割方法の変化する点が検出される(GraphScope:グラフスコープ)。
 また、時間的に連続したグラフの列の、固定されたコミュニティの構造に対する、時間経過に伴う差分(変動)を推定する技術がある(非特許文献4参照)。
 非特許文献5には、ヒストグラムによる近似方法に関して、最小記述長原理に従った方法が記載されている。非特許文献6には、ヒストグラムによる近似方法に関して、赤池情報量基準に従った方法が記載されている。非特許文献7には、HITS(Hyperlink-Induced Topic Search)アルゴリズムによって、各ノードに対するハブ指標またはオーソリティ指標を計算する手法が記載されている。非特許文献8には、動的モデル選択の枠組みに関する技術が記載されている。
A. L. Barabasi and R. Albert. Emergence of scaling in random networks. Science, 286:509-512, 1999. L. Page, S. Brin, R. Motwanim and T. Winograd. The PageRank Citation Ranking: Bringing Order to the Web. Technical Report, Stanford Digital Library Technologies Project, 1998. J. Sun, P. S. Yu, S. Papadimitriou, and C. Faloutsos. Graphscope: Parameter-free mining of large time-evolving graphs. In Proceedings of the 13th ACM SIGKDD international conference on Knowledge discovery and data mining, 2007. Yun Chi, Shenghuo Zhu, Xiaodan Song, Jun'ichi Tatemura, Belle L. Tseng: Structural and temporal analysis of the blogosphere through community factorization. KDD 2007: 163-172 J. Rissanen, T. P. Speed, and B. Yu. Density estimation by stochastic complexity. IEEE Transactions on Information Theory, 38(2):315-323, 1992. C. C. Taylor. Akaike's information criterion and the histogram. Biometrika 74(3):636-639, 1987 J. M. Kleinberg. Authoritative sources in a hyperlinked environment. Journal of the ACM, 46:604-632, 2003. K. Yamanishi and Y. Maruyama. Dynamic model selection with its applications to novelty detection. IEEE Transactions on Information Theory, 53(6):2180-2189, 2007.
 上述したグラフ構造の変化点検出技術は、ノードの重要度に従ってグラフ構造の変化点を検出する事ができないという課題がある。
 その理由は、上述した技術には、ノードの重要度によってグラフの構造を特徴付けるという思想が無く、グラフの分割を計算する際に、ノードの重要度の情報が考慮されていないためである。
 本発明の目的は、上述した課題を解決することが可能なグラフ構造変化検出装置、グラフ構造変化検出方法およびプログラムを提供することである。
 本発明のグラフ構造変化検出装置は、複数のノードと、当該複数のノードのうちの各ノード間の関係の程度を示すリンクと、によって表されるグラフデータを受け付けた場合に、当該グラフデータに基づいて、前記ノードごとに、当該ノードの重要性の程度を示す重要度情報を計算する計算手段と、前記ノードのそれぞれを、当該ノードの重要度情報に基づいて、複数のグループのいずれかに分け、前記ノードのグループ分けの結果を、前記グラフデータのグラフ構造情報として出力する推定手段と、前記グラフデータのグラフ構造情報と、構造変化検出用の基準グラフ構造情報と、を比較して、前記グラフデータの構造変化を検出し、当該グラフデータの構造変化の検出結果を出力する検出手段と、を含む。
 本発明のグラフ構造変化検出方法は、複数のノードと、当該複数のノードのうちの各ノード間の関係の程度を示すリンクと、によって表されるグラフデータを受け付けた場合に、当該グラフデータに基づいて、前記ノードごとに、当該ノードの重要性の程度を示す重要度情報を計算する計算ステップと、前記ノードのそれぞれを、当該ノードの重要度情報に基づいて、複数のグループのいずれかに分け、前記ノードのグループ分けの結果を、前記グラフデータのグラフ構造情報として出力する推定ステップと、前記グラフデータのグラフ構造情報と、構造変化検出用の基準グラフ構造情報と、を比較して、前記グラフデータの構造変化を検出し、当該グラフデータの構造変化の検出結果を出力する検出ステップと、を含む。
 本発明のプログラムは、コンピュータを、複数のノードと、当該複数のノードのうちの各ノード間の関係の程度を示すリンクと、によって表されるグラフデータを受け付けた場合に、当該グラフデータに基づいて、前記ノードごとに、当該ノードの重要性の程度を示す重要度情報を計算する計算手段、前記ノードのそれぞれを、当該ノードの重要度情報に基づいて、複数のグループのいずれかに分け、前記ノードのグループ分けの結果を、前記グラフデータのグラフ構造情報として出力する推定手段、および、前記グラフデータのグラフ構造情報と、構造変化検出用の基準グラフ構造情報と、を比較して、前記グラフデータの構造変化を検出し、当該グラフデータの構造変化の検出結果を出力する検出手段、として機能させる。
 本発明によれば、ノードの活性度つまり重要度に基づいてグラフ構造の変化を検出することが可能になる。
入力データ関する、リンク数に対するノード頻度の冪分布の一例を示した図である。 本発明の第1の実施の形態に関わるグラフ構造変化点検出装置100を示したブロック図である。 無向グラフデータの一例を示す図である。 有向グラフデータの一例を示す図である。 グラフ構造推定装置120Aを示したブロック図である。 ノード重要度に対するノード重要度の冪分布の領域分割の一例を示す図である。 分割ルールに従って冪分布を分割した場合の、冪分布の分割に従ってグラフがどのように分割されるかを表す一例を示す図である。 グラフ構造推定装置120Bを示したブロック図である。 ノード重要度分布をヒストグラム近似によって分割する一例を示す図である。 グラフ構造推定装置120Cを示したブロック図である。 グラフの分割と各部分グラフに対する確率分布の割り当ての一例を示す図である。 本グラフ構造推定装置120Dを示したブロック図である。 ノード重要度分布に従った分割と、各部分グラフの分割の一例を示す図である。 グラフ構造変化点検出装置100の動作を説明するためのフローチャートである。 本発明の第2の実施の形態に関わるグラフ構造変化点検出装置200を示したブロック図である。 グラフ構造推定装置220の一例を示したブロック図である。 グラフ構造変化点検出装置200の動作を説明するためのフローチャートである。 本発明の第3の実施の形態に関わるグラフ構造変化点検出装置300を示したブロック図である。
符号の説明
   100、200、300 グラフ構造変化点検出装置
   101、201、301 検出部
   110、210 ノード重要度計算装置
   120、120A~120D、220、310 グラフ構造推定装置
   120a  分割用データ記憶部
   120b  グラフ分割計算部
   120c  分割最適化用データ記憶部
   120d  ノード重要度分割最適化部
   130、320 グラフ構造記憶装置
   140、230、330 構造変化点検出装置
   150   構造変化点出力装置
   311、411 符号長計算部記憶装置
   312   グラフ符号長計算部
   313   ノード重要度分割符号長計算部
   314、413、513 最適パラメータ計算装置
   412   部分グラフ分割符号長計算部
   511   グラフ列符号長計算部記憶装置
   512   モデル列符号長計算部記憶装置
 次に、本発明の実施の形態について、図面を参照して詳細に説明する。
 [第1の実施の形態]
 図2は、本発明の第1の実施の形態に関わるグラフ構造変化点検出装置100を示したブロック図である。なお、グラフ構造変化点検出装置100は、一般的にグラフ構造変化検出装置と呼ぶことができる。
 図2を参照すると、グラフ構造変化点検出装置100は、ノード重要度計算装置110と、グラフ構造推定装置120と、グラフ構造記憶装置130と、構造変化点検出装置140と、構造変化点出力装置150とを備えている。グラフ構造記憶装置130と構造変化点検出装置140と構造変化点出力装置150は、検出部101に含まれる。
 グラフ構造変化点検出装置100は、例えば、CPU、メモリおよび入出力装置を含むコンピュータである。グラフ構造推定装置100は、ハードディスクまたはメモリに記録されたプログラムに従って動作する。ハードディスクまたはメモリは、一般的に、コンピュータにて読み取り可能な記録媒体と呼ぶことができる。
 グラフ構造変化点検出装置100は、プログラムを記録媒体から読み取り実行することによって、ノード重要度計算装置110、グラフ構造推定装置120、グラフ構造記憶装置130、構造変化点検出装置140、および、構造変化点出力装置150として機能する。
 グラフ構造変化点検出装置100は、グラフデータ160を受け付け、グラフデータ160にて形成されるグラフの構造を推定する。グラフ構造変化点検出装置100は、その推定結果を、構造変化検出用の基準グラフ構造情報と比較し、その比較結果を、構造変化点検出結果170として出力する。
 グラフデータ160は、複数のノードと、複数のノードのうちの各ノード間の関係の程度(度合い)を示すリンクと、によって表される。以下では、リンクは、各ノード間の関係の程度(度合い)を数値で示すこととする。
 ここで、グラフデータ160について説明する。
 グラフデータ160としては、一般に、無向グラフデータと有向グラフデータが存在する。
 図3は、無向グラフデータの一例を示した図である。
 図3において、無効グラフデータは、複数のノード2aと、リンク2bと、を含む。
 リンク2b内の数値「1」は、図3に示した表中で対応するノード間にリンクがある事を表す。例えば、ノード1とノード2の間の数値は「1」なので、ノード1とノード2の間にリンクがあることが表される。
 リンク2b内の数値「0」は、図3に示した表中で対応するノード間にリンクがない事を表す。例えば、ノード1とノードnの間の数値は「0」なので、ノード1とノードnの間にリンクがないことが表される。
 無向グラフでは、ノード1からノード2へのリンクと、ノード2からノード1へのリンクの間に、区別はない。このため、無向グラフデータの表内(図3)のリンクにて表現される値は、ノード間のインデックス(ノード番号)が入れ替わっても同じ値となり、行の数(n)と列の数(n)は等しい。
 この例では、リンクは「1」または「0」の2値をとるが、リンクが示す数値として、リンクの強さを表す実数値が用いられてもよい。
 図4は、有向グラフデータの一例を示した図である。
 有向グラフでは、行と列が同じノードを表す必要はない。図4は、例えば、行ノード1から列ノード2へのリンクの強さが「0.5」である事を表している。これに付随し、行の数(nr)と列の数(nc)も等しい必要はない。
 グラフデータの具体的な例を挙げると、Webページのハイパーリンクを分析する場合、ノードは各Webページであり、リンクはWebページ間のハイパーリンクの有無とする事が考えられる。
 また、SNSネットワークの分析をする場合には、ノードは各ユーザーであり、リンクはユーザー間の友人登録の有無とする事が考えられる。
 また、LANの解析をする場合には、ノードは各ネットワーク機器であり、リンクは機器間のトラフィック量などとする事が考えられる。
 以降では、グラフデータはGと表記し、(行)ノードiから(列)ノードjへのリンクをgijと表記する。
 また、|G|は、グラフの疎密の度合いを表す量で、例えば(1)式で定義可能である。
 (1)式では、gijが「1」または「0」をとる場合には、|G|は、グラフ中のリンクの総数を意味する。
Figure JPOXMLDOC01-appb-M000001
 図2に戻って、ノード重要度計算装置110は、一般的に計算手段と呼ぶことができる。
 ノード重要度計算装置110は、グラフデータ160を受け付けると、グラフデータ160に基づいて、グラフデータ160に示されたノードごとに、ノードのグラフにおける重要性あるいは活性の程度(度合い)を示すノード重要度を計算する。
 例えば、ノード重要度計算装置110は、グラフデータ160を時系列で受け付け、グラフデータ160を受け付けるたびに、受け付けられたグラフデータ160に基づいて、そのグラフデータ160に表されたノードごとにノード重要度を計算する。なお、ノード重要度は、重要度情報の一例である。
 ノード重要度計算装置110は、予め、各ノードのノード重要度を計算するためのルールを記憶し、そのルールにしたがって、各ノードのノード重要度を計算してもよい。
 ノード重要度としては、ノードのグラフにおける重要性あるいは活性の程度(度合い)を計算するための任意の指標を利用することが可能である。
 例えば、ノード重要度として各ノードの持つリンクの頻度を利用する場合を説明すると、ノード重要度計算装置110は、リンクが示す数値のうち、同一のノードに関連する数値の総和を、ノードごとに計算する。ノード重要度計算装置110は、ノードごとに計算された総和を、各ノードのノード重要度として用いる。
 また例えば、ノード重要度として各ノードに対するページランクを利用する場合を説明すると、ノード重要度計算装置110は、非特許文献2に示されるページランクアルゴリズムによって、各ノードに対するページランクを計算する。ノード重要度計算装置110は、ノードごとに計算されたページランクを、各ノードのノード重要度として用いる。
 また例えば、ノード重要度として各ノードに対するハブ指標またはオーソリィテ指標(非特許文献7参照)を利用する場合を説明すると、ノード重要度計算装置110は、非特許文献7に示されるHITS(Hyperlink-Induced Topic Search)アルゴリズムによって、各ノードに対するハブ指標またはオーソリティ指標を計算する。ノード重要度計算装置110は、ノードごとに計算されたハブ指標またはオーソリティ指標を、各ノードのノード重要度として用いる。
 以下、具体的にノード重要度の計算方法の例を説明する。
 なお、ノード重要度の計算方法として、任意の方法を利用する事が可能である。
 例えば、ノード重要度として各ノードの持つリンクの頻度を利用する場合を説明すると、ノード重要度計算装置110は、行ノードiに対するノード重要度xr,iを、(2)式にしたがって求められる絶対リンク頻度、または、(3)式にしたがって求められる相対リンク頻度として計算する事が可能である。
 なお、ノード重要度計算装置110は、例えば、(1)式と(2)式と(3)式を記憶している。
Figure JPOXMLDOC01-appb-M000002
Figure JPOXMLDOC01-appb-M000003
 また例えば、ノード重要度としては、非特許文献2に示されるページランク、または、非特許文献7に示されるハブ指標またはオーソリティ指標などを利用することが可能である。その場合には、ノード重要度計算装置110は、ページランクの計算式、ハブ指標またはオーソリティ指標の計算式を記憶している。
 同様の手順で計算される列ノードjに対するノード重要度をxc,jと表記する事にする。無向グラフの場合には、行と列の区別がないため、ノードiのリンク頻度を単にxと表記する。
 ノード重要度計算装置110は、各ノードのノード重要度を示す重要度情報と、グラフデータ160とを、グラフ構造推定装置120に提供する。
 グラフ構造推定装置120は、一般的に推定手段と呼ぶことができる。
 グラフ構造推定装置120は、重要度情報(各ノードのノード重要度)に基づいて、各ノードを複数のグループのいずれかに分ける。ノードのグループ分けは、グラフデータ160にて構成されるグラフを、各グループに分割することを意味する。グラフ構造推定装置120は、各ノードのグループ分けの結果を、グラフデータ160のグラフ構造情報として出力する。
 例えば、グラフ構造推定装置120は、ノード重要度の値域(ノード重要度の取りうる最小値から最大値まで)を、1つまたは複数の分割用ノード重要度(分割用ノード重要度)を用いて分割することによって、複数のグループ(この場合、ノード重要度の各分割領域)、および、分割領域に含まれるノードを決定する。なお、分割領域に含まれるノードを決定することは、各ノードを複数のグループに分けることを意味する。
 また、グラフ構造推定装置120は、グラフデータ160ごとに各ノードの重要度情報が計算されるたびに、同一グラフデータ内の各ノードを、そのノードの重要度情報に基づいて、複数のグループのいずれかに分け、ノードのグループ分けの結果を、グラフデータのグラフ構造情報として出力する。
 なお、グラフ構造推定装置120は、予め、分割用のルールを記憶し、その分割用のルールにしたがって、ノード重要度と、グラフデータ160と、に基づいて、各ノードを複数のグループに分けてもよい。
 グラフ構造推定装置120は、グラフの分割結果に関する情報(例えば、グラフの分割数、分割方法、および、各ノードが属している分割領域を示す情報)、つまり、グラフデータ160のグラフ構造情報と、重要度情報とを、グラフ構造記憶装置130あるいは構造変化点検出装置140に提供する。
 以下、具体的にグラフの構造の推定方法の例を幾つか説明する。
 (グラフ構造推定装置120の第1実施形態)
 図5は、グラフ構造推定装置120の第1実施形態であるグラフ構造推定装置120Aを示したブロック図である。グラフ構造推定装置120Aは、一般的に推定手段と呼ぶことができる。グラフ構造推定装置120Aは、分割用データ記憶部120aと、グラフ分割計算部120bとを含む。
 分割用データ記憶部120aは、一般的に分割用データ記憶手段と呼ぶことができる。分割用データ記憶部120aは、ノード重要度計算装置110で計算されたノード重要度を用いて、グラフデータ160にて形成されるグラフを分割するためのルール(例えば、ノードの分類条件)を記憶する。
 グラフ分割計算部120bは、一般的にグラフ分割計算手段と呼ぶことができる。グラフ分割計算部120bは、分割用データ記憶部120a内のルールと、ノード重要度と、グラフデータ160とを用いて、グラフデータ160にて形成されるグラフを分割する。
 グラフ分割計算部120bは、分割用データ記憶部120a内のルールにしたがって、1つまたは複数の分割用ノード重要度を設定し、ノード重要度を、分割用ノード重要度を用いて分割する。
 グラフを分割するためのルールとしては、例えば、ノード重要度が、ノードの持つリンク数を表す場合、「リンク数が100以上→領域1、リンク数が50以上100未満→領域2、リンク数が50未満→領域3」などのように、ノードの分類先(領域;グループ)をリンク数に応じて絶対的に決めるルールも考えられる。この場合、リンク数=100、および、リンク数=50が、分割用ノード重要度となる。
 また、グラフを分割するためのルールとしては、例えば、ノード重要度が、ノードの持つリンク数を表す場合、「リンク数が上位30%に入る→領域1、リンク数が上位50%未満→領域2」などと、ノードの分類先(領域;グループ)をリンク数に応じて相対的に決めるルールも考えられる。この場合、上位30%に相当するリンク数、および、上位50%に相当するリンク数が、分割用ノード重要度となる。
 図6は、ノード重要度を2つの分割用ノード重要度を用いて、3分割する一例を模式的に示した図である。縦軸は、横軸のノード重要度に対応するノードの数を表している。
 この場合には、領域1に属するノードは、リンクを少数のみ持つ通常のノード、領域3に属するノードは、リンクを多数持つハブ的なノード、領域2に属するノードは、その中間のノードと解釈可能である。
 また、図7は、有向グラフの行方向と列方向のそれぞれを、分割用ノード重要度を用いて分割した場合に、グラフがどのように分割されるのかを表した図である。
 図7では、便宜的に、各行および列がノード重要度に従って整列されている事に注意する。
 図5に戻って、グラフ分割計算部120bは、重要度情報と、グラフの分割結果に関する情報(グラフ構造情報)を、例えば、グラフ構造記憶装置130と構造変化点検出装置140に提供する。
 (グラフ構造推定装置120の第2実施形態)
 図8は、グラフ構造推定装置120の第2実施形態であるグラフ構造推定装置120Bを示したブロック図である。グラフ構造推定装置120Bは、一般的に推定手段、分割符号長計算手段および分割制御手段と呼ぶことができる。グラフ構造推定装置120Bは、分割最適化用データ記憶部120cと、ノード重要度分割最適化部120dとを含む。
 分割最適化用データ記憶部120cは、一般的に分割最適化用データ記憶手段と呼ぶことができる。ノード重要度分割最適化部120dは、一般的にノード重要度分割最適化手段と呼ぶことができる。
 分割最適化用データ記憶部120cは、グラフを分割するための単純なルールではなく、入力データ(グラフデータ)に対してグラフの分割を最適化するための計算手順を記憶している。
 グラフ構造推定装置120B(具体的には、ノード重要度分割最適化部120d)は、分割最適化用データ記憶部120c内の計算手順に従って、グラフの最適な分割モデルを計算する。
 最適化の対象となるパラメータとしては、例えば、分割数、および、各領域の大きさなどがある。このパラメータによって、分割用ノード重要度が決定される。
 グラフ構造推定装置120Bは、図6であらわされるような、ノード重要度の値域の分割モデル(分割用ノード重要度の設定)を、任意の最適化方法(最適化基準)、例えば、最小記述長原理、赤池情報量基準、または、ベイズ情報量基準を利用して、グラフデータに基づき計算する事が可能である。
 分割モデルを決める方法としては、例えば、図9に示されるように、ノード重要度の値域におけるノード重要度の分布(ノード重要度分布)をヒストグラムによって近似し、ヒストグラムの各領域にグラフの分割領域(グループ)を対応させる方法が考えられる。
 ノード重要度分布をヒストグラムによって近似する方法に関しては、例えば、最小記述長原理に従った方法(例えば非特許文献5)、または、赤池情報量基準に従った方法(例えば非特許文献6)などを利用する事が可能である。
 例えば、グラフ構造推定装置120Bは、分割用ノード重要度の個数および各分割用ノード重要度の値(ノード重要度の値域の分割結果)を分割モデルとし、互いに異なる分割モデルごとに、ノード重要度および分割モデルを符号化するために必要な分割記述長を算出する。この際、分割記述長の中には、分割モデル自身の記述長も含まれていることに注意が必要である。
 グラフ構造推定装置120Bは、互いに異なる分割モデルの中から、分割記述長が最小になる最適化分割モデルを特定し、ノードのそれぞれを、重要度情報に基づいて、最適化分割モデルにて特定される複数のグループのいずれかに分ける。
 なお、入力されたグラフデータ160が有向グラフデータの場合には、グラフ構造推定装置120Bは、行方向と列方向のノード重要度の分布のそれぞれをヒストグラムによって近似して分割を最適化する事が可能である。
 この実施形態の場合、グラフ構造推定装置120Bは、互いに異なる分割モデルごとに、ノード重要度および分割モデルを符号化するために必要な分割記述長を算出する。グラフ構造推定装置120Bは、互いに異なる分割モデルの中から、分割記述長が最小になる最適化分割モデルを特定し、ノードのそれぞれを、ノードの重要度情報に基づいて、最適化分割モデルにて特定される複数のグループのいずれかに分ける。
 この場合、分割モデルの最適化が可能になる。
 なお、グラフ構造推定装置120Bは、動的計画法を用いて、最適化分割モデルを特定することが望ましい。
 また、グラフ構造推定装置120Bは、分割記述長を小さくする方向へ、分割結果を更新することを繰り返すことによって、最適化分割モデルを特定してもよい。
 また、グラフ構造推定装置120Bは、動的計画法を用いて計算された分割結果を初期値とし、初期値から分割記述長を小さくする方向へ分割結果を更新することを繰り返すことによって、最適化分割モデルを特定してもよい。
 なお、これらの特定方法については、後述するグラフ構造推定装置120の第3実施形態の説明内の「グラフ符号長とノード重要度分割の符号長の和」を「ノード重要度分割の符号長(分割記述長)」と読み代えることにより説明可能である。
 (グラフ構造推定装置120の第3実施形態)
 図10は、グラフ構造推定装置120の第3実施形態であるグラフ構造推定装置120Cを示したブロック図である。グラフ構造推定装置120Cは、一般的に推定手段と呼ぶことができる。グラフ構造推定装置120Cは、符号長計算部記憶装置311と、最適パラメータ計算装置314とを備えている。符号長計算部記憶装置311は、グラフ符号長計算部312およびノード重要度分割符号長計算部313を記憶している。
 グラフ構造推定装置120Cは、グラフデータ160と、ノード重要度計算装置110で計算されたノード重要度情報315とを入力とし、グラフ構造情報180を出力する。
 符号長計算部記憶装置311は、一般的に符号長計算手段と呼ぶことができる。
 ノード重要度分割符号長計算部313は、一般的に分割符号長計算手段と呼ぶことができる。また、グラフ符号長計算部312は、一般的にグラフ符号長計算手段と呼ぶことができる。
 なお、ノード重要度分割符号長計算部313とグラフ符号長計算部312は、例えば、コンピュータにて実行されたときに所定の計算を実行するプログラムである。
 ノード重要度分割符号長計算部313とグラフ符号長計算部312は、あるパラメータにおける、ノード重要度情報およびノード重要度の分割モデルを符号化するために必要な記述長と、その分割の元でグラフを符号化するための記述長を計算するための手順を示す。
 例えば、ノード重要度分割符号長計算部313は、分割用ノード重要度を用いたノード重要度の値域の分割結果を分割モデルとし、互いに異なる分割モデルごとに、ノード重要度情報および分割モデルを符号化するために必要な分割記述長を算出する。この際、分割記述長の中には、分割モデル自身の記述長も含まれていることに注意が必要である。
 また、グラフ符号長計算部312は、ノードのそれぞれを、ノード重要度情報に基づいて、分割モデルにて特定される複数のグループのいずれかに分けた際に、ノードのグループ分けによって分割されたグラフを符号化するためのグラフ記述長を、分割モデルごとに算出する。
 ノード重要度の分割結果を符号化するために必要な記述長は、グラフ構造推定装置120Bが行う方法と同様の方法で計算可能である。
 分割モデルが与えられると、グラフGは、図11で示されるように、幾つかの部分グラフへ分割される(図11では、G1,1からG2,3まで)。
 このとき、グラフ構造推定装置120Cは、各部分グラフに対して、リンクの発生する確率分布をそれぞれ割り当てる(図11ではp1,1からp2,3まで)。
 リンクが「1」または「0」の2値の場合には、リンクの発生する確率分布は、ベルヌーイ分布とする事ができる。
 また、リンクが「0」から「1」の間の値をとる場合には、リンクの発生する確率分布は、ベータ分布とする事が可能である。
 また、リンクが「0」以上の値をとる場合には、指数分布やガンマ分布とする事が可能である。
 このように、グラフ構造推定装置120Cは、リンクの定義によって、それぞれ適切な確率分布を割り当てる事ができる。
 グラフ符号長とは、各部分グラフのリンクを、割り当てられた確率(分布)によって生成した場合の符号長を指す。
 各分割領域はノードとしての性質が異なるため、各領域内および各領域間のインタラクションは異なるモデルで表現する事が自然である。
 ノード重要度情報だけでなく、グラフの符号化を考える事によって、それらのインタラクションを考慮した領域の分割を行なう事が可能となる。
 最適パラメータ計算装置314は、一般的に分割制御手段と呼ぶことができる。
 最適パラメータ計算装置314は、グラフデータ160とノード重要度情報315を読み込むと、符号長計算部記憶装置311に記憶されている計算部312および313を読み込み、計算部312および313を用いて、グラフ符号長とノード重要度分割の符号長の和を最小とするパラメータ(分割モデル)を計算する。
 以下で、具体的な計算手順に関する一例を無向グラフと有向グラフの場合に関してそれぞれ説明する。
[無向グラフの場合の一例] 
 本実施形態では、無向グラフに関し、リンクが「1」または「0」の2値をとり、分割数および各領域の大きさ(分割モデル)を最適化する場合を説明する。
 今、ノードはノード重要度に従ってソートされている、すなわちx≦…≦xとする。ただし、nはノード数をあらわす。
 また、x=x,…,xとし、xの値域は[0,R]とする。
 ノード重要度の分布をヒストグラムによって近似する場合には(グラフ構造推定装置120Bにも対応)、横軸(ノード重要度)を離散化する必要がある。このため、その最小刻み幅をdとする。この時、各領域の切れ目をa=kdと表す。ただし、a=(a,…,am-1)とし、k=(k,…,km-1)。
 この時、各領域は[0,a],(a,a],…,(am-1,R]と指定される。いま、a=0、a=Rと定義し、R=a-ai-1とする。また、各領域に属するデータの個数をnとする。また、領域の大きさの最小値をdκとし、r=R/dと定義する。
 ノード重要度の分割に必要な記述長は、(4)式から(9)式で定義する事が可能である。ただし、log*dは、log d+loglog d+・・・として正のloglog・・・log dを足した量で、dの分布が未知の場合に最小の記述長を与える量であることが知られている。
Figure JPOXMLDOC01-appb-M000004
Figure JPOXMLDOC01-appb-M000005
Figure JPOXMLDOC01-appb-M000006
Figure JPOXMLDOC01-appb-M000007
Figure JPOXMLDOC01-appb-M000008
Figure JPOXMLDOC01-appb-M000009
(5)式は、xを符合化するための記述長を表し、(8)式および(9)式がモデルを記述するために必要な記述長を表している。ここで言うモデルとは、分割の数(m)および分割方法(k,r,d,κ)を指す。
 m,r,d,κが与えられると,グラフ符号長は(10)式、(11)式で定義する事が可能である。ただし、|Gi,j|は、部分グラフGi,jに含まれるリンクの総数、θi,jは、部分グラフGi,jに割り当てられたベルヌーイ分布pi,jに関する1の確率を表す。
 また、グラフを符合化するためには、nおよびnも符合化する必要があるが、nおよびnの符号長は(5)式に含まれているため、Lには含めていない。
Figure JPOXMLDOC01-appb-M000010
Figure JPOXMLDOC01-appb-M000011
 最適パラメータ計算装置314は、(12)式の最適化問題を解く事によって最適な分割パラメータ(分割モデル)を決定する。
Figure JPOXMLDOC01-appb-M000012
 (12)式の最適化方法は、mmin≦m≦mmax、dmin≦d≦dmax、κmin≦κ≦κmaxとパラメータの範囲を指定し、パラメータの組み合わせに対して網羅的に(12)式を計算して最適なパラメータを計算する方法が考えられる。
 また例えば、効率的な局所最小化解を探索するために、以下の勾配法による手順に従って、Lh+LGを小さくする方向へパラメータを動かしながら解を探索する方法が考えられる。
 まず、分割ノード重要度kをk=k0と初期化する。
 次に、p回目の繰り返しにおける分割ノード重要度をkpとすると、kp=min{kp-1 q+, kp-1 q-} としてkpを計算する。ただし、kp q+=(kp 1, kp 2, …, kp q + 1, …, kp m-1) およびkp q-=(kp 1, kp 2, …, kp q - 1, …, kp m-1)であり、これはp回目の繰り返しにおけるq番目の分割ノード重要度を正または負の方向へ一つずらした分割ノード重要度を表す。このように探索を行なうと、(8)式から計算されるkの符号長はL(kp) <= L(kp-1)である。
 以上の繰り返しを、L(kp) = L(kp-1)が満たされるまで探索を行う事で、Lh+LGを局所的に最小する解を効率よく計算する事が可能である。
 以上の探索を、mmin≦m≦mmax、dmin≦d≦dmax、κmin≦κ≦κmaxで指定された範囲のパラメータの組み合わせに対して行い、(12)式を近似的に計算する。
 この場合、最適パラメータ計算装置314は、分割記述長とグラフ記述長の和を小さくする方向へ分割結果を更新することを繰り返すことによって、最適化分割モデルを特定することになる。
 また例えば、以下の手順に従って動的計画問題として再帰的に最適パラメータを近似計算する方法が考えられる。
 まず、a’=(a,τ)とすると、(5)式および(10)式は、(13)式および(14)式のように分解できる。ただし、n(R)はノード重要度が[0,R]区間に含まれるノードの数とする。
Figure JPOXMLDOC01-appb-M000013
Figure JPOXMLDOC01-appb-M000014
 この時、L(R)を(15)式によって定義すると、(13)式と(14)式の和は(16)式の動的計画問題を解く事によって最小化可能である。この動的計画問題は、Gm+1,jがa’に依存するため、(13)式と(14)式の和を厳密に最小化する事はできないが、近似解を得る事が可能である。
Figure JPOXMLDOC01-appb-M000015
Figure JPOXMLDOC01-appb-M000016
 (12)式の最小化の対象は、(13)式と(14)式の和に、L(k)とL(m,r,d,κ)を加えたものなので、動的計画法によって(12)式の最小化問題の探索空間を狭める事が可能である。
 さらに、前記勾配法による探索と動的計画法による探索を組み合わせる事も考えられる。これは、前述の動的計画問題を解いて得られた解を、勾配法による探索の初期値として利用する。これによって、初期値をランダムに決定するよりもよい初期値が得られ、よりよい局所解を得る事が可能となる。
 この場合、最適パラメータ計算装置314は、動的計画法を用いて計算された分割結果を初期値とし、初期値から分割記述長とグラフ記述長の和を小さくする方向へ分割結果を更新することを繰り返すことによって、最適化分割モデルを特定することになる。
[有向グラフの場合の一例] 
 本実施形態では、有向グラフに関し、リンクが「1」または「0」の2値をとり、分割数および各領域の大きさを最適化する場合を説明する。
 この例の説明では、無向グラフの場合の例と同様の表記を用い、rおよびcは、行および列に対する変数である事を表すとする。
 有向グラフの場合、ノード重要度、グラフ、モデルの符号長の総和は、(17)式で与えられる。
 (17)式の右辺の初項および第2項は、(5)式と同様に計算される行及び列のノード頻度分布符号長であり、第2項は(18)式で与えられるグラフの符号長であり、第4項から第7項は(8)式および(9)式と同様に計算されるモデルの符号長を表している。
Figure JPOXMLDOC01-appb-M000017
Figure JPOXMLDOC01-appb-M000018
 最適パラメータ計算装置314は、(17)式のLを最小化するパラメータmr,rr,drr, mc,rc,dcc,を計算する事で、最適なグラフ分割を計算可能である。
 最適化の方法は、パラメータの組み合わせに対して網羅的に(17)式を計算して、Lを最小とするパラメータの組み合わせを選択する方法が考えられる。
 また例えば、無向グラフと同様にして、列方向および行方向の分割に対して勾配法による探索を繰り返す事によって局所的な解を計算する事も可能である。
 また例えば、無向グラフと同様にして、(17)式を最小化する問題は動的計画問題に帰着させる事が可能であり、最適パラメータ計算装置314は、動的計画法を用いて最適パラメータを計算する事も可能である。
 最適パラメータ計算装置314は、最小記述長原理に基づき、ノード重要度の値域の分割を符号化するために必要な記述長と、その分割の元でグラフを符号化するための記述長の和を最小とする分割パラメータ(分割数や各領域の大きさなど)を最適化する。
 本実施の形態では、最適化の基準として、最小記述長原理を用いた例を説明しているが、最適化の基準として、赤池情報量基準やベイズ情報量基準など、その他の類似の基準を用いる事も可能である。
 本実施形態によれば、ノード重要度分割符号長計算部313は、ノード重要度の値域の分割結果を分割モデルとし、互いに異なる分割モデルごとに、ノード重要度情報および分割モデルを符号化するために必要な分割記述長を算出する。
 グラフ符号長計算部312は、ノードのそれぞれを、ノード重要度情報に基づいて、分割モデルにて特定される複数のグループのいずれかに分けた際に、ノードのグループ分けによって分割されたグラフを符号化するためのグラフ記述長を、分割モデルごとに算出する。
 最適パラメータ計算装置314は、互いに異なる分割モデルの中から、分割記述長とグラフ記述長の和が最小になる最適化分割モデルを特定し、ノードのそれぞれを、ノード重要度情報に基づいて、最適化分割モデルにて特定される複数のグループのいずれかに分ける。
 このため、グラフ符号長を考慮しながら、最適な分割モデルを特定することが可能になる。
 (グラフ構造推定装置120の第4実施形態)
 図12は、グラフ構造推定装置120の第4実施形態であるグラフ構造推定装置120Dを示したブロック図である。グラフ構造推定装置120Dは、一般的に推定手段と呼ぶことができる。グラフ構造推定装置120Dは、符号長計算部記憶装置411と、最適パラメータ計算装置413とを備えている。符号長計算部記憶装置411は、ノード重要度分割符号長計算部313および部分グラフ分割符号長計算部412を記憶している。
 グラフ構造推定装置120Dは、グラフデータ160と、ノード重要度計算装置110で計算されたノード重要度情報315とを入力とし、グラフ構造情報180を出力する。
 図10に示したグラフ構造推定装置120Cとの機能的な相違点は、グラフ構造推定装置120Dでは、グラフをノード重要度に従った分割をして得られる部分グラフを、さらに部分グラフへ分割する点である。
 グラフ構造推定装置120Dは、ノード重要度の値域の分割モデル(分割用ノード重要度の設定)を、任意の最適化方法(最適化基準)、例えば、最小記述長原理、赤池情報量基準、または、ベイズ情報量基準を利用して、グラフデータに基づき計算する事が可能である。
 図13は、本実施の形態のグラフ分割の一例を示している。図13の左図は、入力されたグラフをノード重要度に従って分割する例であり、右図は、部分グラフG2,2がさらにその内部で分割されている事を示している。
 符号長計算部記憶装置411は、一般的に符号長計算部記憶手段と呼ぶことができる。
 部分グラフ分割符号長計算部412は、一般的に部分グラフ分割符号長計算手段と呼ぶことができる。
 なお、ノード重要度分割符号長計算部313と部分グラフ分割符号長計算部412は、例えば、コンピュータにて実行されたときに所定の計算を実行するプログラムでもよい。
 ノード重要度分割符号長計算部313と部分グラフ分割符号長計算部412は、あるパラメータにおける、ノード重要度の値域の分割を符号化するために必要な記述長と、その分割の元で各部分グラフをさらに分割し、それを符号化するための記述長を計算するための手順を示す。
 例えば、部分グラフ分割符号長計算部412は、ノードのそれぞれを、ノードの重要度情報に基づいて、分割モデルにて特定される複数のグループのいずれかに分けた際に生じる各グループを、グループ内のノード間の関係に基づいて再分割した際に、各グループでの再分割の状態を符号化するために必要な再分割符号長を、分割モデルごとに算出する。
 ノード重要度の値域の分割を符号化するために必要な記述長は、図8に示したグラフ構造推定装置120Bが行う方法と同様の方法で計算可能である。
 部分グラフの分割とその符合化方法は、例えば非特許文献1で提案された分割手法とその記述長の計算手段や、公知技術である木構造を用いた分割手法とその記述長の計算手段などを利用する事が可能である。
 最適パラメータ計算装置413は、一般的に分割制御手段と呼ぶことができる。
 最適パラメータ計算装置413は、グラフデータ160とノード重要度情報315を読み込むと、符号長計算部記憶装置411に記憶されている計算部313および412を読み込み、計算部313および412を用いて、部分グラフ分割の符号長とノード重要度の値域の分割の符号長の和を最小とするパラメータを計算する。
 例えば、最適パラメータ計算装置413は、互いに異なる分割モデルの中から、分割記述長と再分割符号長の和が最小になる最適化分割モデルを特定し、ノードのそれぞれを、ノードの重要度情報に基づいて、最適化分割モデルにて特定される複数のグループのいずれかに分ける。
 本実施形態によれば、ノード重要度分割符号長計算部313は、分割用ノード重要度を用いたノード重要度の値域の分割結果を分割モデルとし、互いに異なる分割モデルごとに、ノード重要性および分割モデルを符号化するために必要な分割記述長を算出する。
 部分グラフ分割符号長計算部412は、ノードのそれぞれを、ノードのノード重要度情報に基づいて、分割モデルにて特定される複数のグループのいずれかに分けた際に生じる各グループを、グループ内のノード間の関係に基づいて再分割した際に、各グループでの再分割の状態を符号化するために必要な再分割符号長を、分割モデルごとに算出する。
 最適パラメータ計算装置413は、互いに異なる分割モデルの中から、分割記述長と再分割符号長の和が最小になる最適化分割モデルを特定し、ノードのそれぞれを、ノード重要度情報に基づいて、最適化分割モデルにて特定される複数のグループのいずれかに分ける。
 このため、部分グラフの再分割を考慮しながら、最適な分割モデルを特定することが可能になる。
 図2に戻って、検出部101は、一般的に検出手段と呼ぶことができる。
 検出部101は、グラフ構造推定装置120からのグラフ構造情報と、予め指定された基準グラフ構造情報と、を用いて、グラフデータの構造変化を検出する。なお、基準グラフ構造情報は、グラフ構造の変化点検出の基準となる。また、検出部101は、過去にグラフ構造推定装置120から出力されたグラフ構造情報を、基準グラフ構造情報として用いてもよい。検出部101は、そのグラフデータの構造変化の検出結果を出力する。
 グラフ構造記憶装置130は、一般的に記憶手段と呼ぶことができる。
 グラフ構造記憶装置130は、構造変化検出用の基準グラフ構造情報を記憶する。なお、グラフ構造推定装置120からのグラフ構造情報が、グラフ構造記憶装置130内に記憶されてもよい。
 基準グラフ構造情報は、例えば、事前に指定されたグラフ構造とすることも可能である。また、基準グラフ構造情報は、例えば、ある時刻(検出対象時刻)からみて、過去側、または、未来側、または過去側および未来側の時刻でグラフ構造推定装置120が出力したグラフ構造情報とすることも可能である。
 時間の経過に伴うグラフ構造の変化を検出する場合、グラフ構造記憶装置130は、しばらくの間、グラフ構造推定装置120が順次出力するグラフ構造情報180を記憶していく。
 例えば、ある時刻(検出対象時刻)におけるグラフ構造の変化を検出するために、その時刻より未来の時刻で得られたグラフ構造情報を利用する場合には、グラフ構造記憶装置130は、その時刻(検出対象時刻)にグラフ構造推定装置120が出力したグラフ構造情報と、その時刻以降にグラフ構造推定装置120が出力するグラフ構造情報と、を記憶していく。その後、グラフ構造記憶装置130内のグラフ構造情報(検出対象時刻のグラフ構造情報と、検出対象時刻より未来の時刻で得られたグラフ構造情報)を用いて、検出対象時刻でのグラフ構造の変化が検出される。
 構造変化点検出装置140は、一般的に構造変化点検出手段と呼ぶことができる。
 構造変化点検出装置140は、グラフ構造記憶装置130から基準グラフ構造情報を読み込み、また、グラフ構造推定装置120で推定されたグラフ構造情報180を読み込む。構造変化点検出装置140は、基準グラフ構造情報とグラフ構造情報180とを比較する事によって、グラフ構造の変化を検出する。
 なお、構造変化点検出装置140は、グラフ構造の変化を検出するために事前に設定されたルールに従って動作する。
 グラフ構造の変化を検出するためのルールは、例えば検出対象時刻前の時刻のグラフの分割数と検出対象時刻のグラフの分割数を比較し、分割数に変動があれば、変化を検出し、分割数に変動がなければ、変化なしを検出する(つまり、変化を検出しない)というルールであってもよい。
 なお、検出対象時刻のグラフ構造情報と、その前の時刻のグラフ構造情報だけを比較すると、ノイズなどに起因する外れ値を変化として検出してしまう場合がある。そのような誤検出を避けるために、検出対象時刻よりも過去側の任意の期間のグラフの分割数の平均と、未来側の任意の期間のグラフの分割数の平均を比較することなどもルールとして使用可能である。
 検出対象時刻のグラフ構造情報と、検出対象時刻の未来側の時刻で得られたグラフ構造情報と、を利用して変化点検出を行なう場合には、例えばグラフ構造推定装置120で推定されたグラフ構造情報は、直接、構造変化点検出装置140へ出力されるのではなく、グラフ構造記憶装置130へ記憶される。
 その後、構造変化点検出装置140は、グラフ構造記憶装置130に記憶された、検出対象時刻のグラフ構造情報、および、検出対象時刻の未来側の時刻で得られたグラフ構造情報、を利用して、変化点検出を行なう。
 構造変化点出力装置150は、一般的に構造変化点出力手段と呼ぶことができる。
 構造変化点出力装置150は、構造変化点検出装置140にて変化が検出された場合には、変化が起こった事、および、その変化の種類などを、グラフデータの構造変化の検出結果として出力する。なお、変化が検出されていない場合にも、構造変化点出力装置150は、その時のグラフ構造情報などを出力することが可能である。
 グラフデータの構造変化の検出結果の出力先は、グラフ構造変化点検出装置100に接続されたディスプレイなどの出力装置であってもよいし、ネットワークを介して接続された出力装置または端末装置であってもよい。
 図14は、グラフ構造変化点検出装置100の動作を説明するためのフローチャートである。
 図14を参照すると、ノード重要度計算装置110は、グラフデータ160を入力する(S100)。
 次に、ノード重要度計算装置110は、入力されたグラフデータが示す各ノードのノード重要度を計算する(S101)。
 次に、グラフ構造推定装置120は、計算されたノード重要度を利用して、グラフのノードの分割(ノードのグループ分け)を計算する(S102)。このノードのグループ分けの結果は、グラフデータ160のグラフ構造情報として用いられる。
 次に、各時刻におけるグラフ構造情報を変化検出の基準として用いる場合には、グラフ構造推定装置120は、計算されたグラフ構造情報(分割など)を、グラフ構造記憶装置130へ記憶する(S103)。
 次に、構造変化点検出装置140は、変化の検出を行うかどうかを判断する(S104)。例えば、グラフ構造の変化の検出に未来側のグラフ構造情報を利用する場合には、この時点では、変化の検出は行わず、処理がS100へもどり、さらにグラフデータが入力される。
 また、変化の検出は、この時刻に得られたグラフに関してだけでなく、過去の時刻に関する変化の検出を実行することも可能である。
 変化の検出を行う場合には、構造変化点検出装置140は、グラフ構造記憶装置130から、変化点検出の基準グラフ構造情報を読み込み(S105)、この基準グラフ構造情報と、グラフ構造推定装置120からのグラフ構造情報と、を比較して、グラフ構造の変化点検出を実施する(S106)。
 なお、グラフ構造推定装置120からのグラフ構造情報のうち、基準グラフ構造情報として使用されないグラフ構造情報(具体的には、基準グラフ構造情報と比較されるグラフ構造情報)も、グラフ構造記憶装置130が記憶している場合には、構造変化点検出装置140は、基準グラフ構造情報と比較されるグラフ構造情報も、グラフ構造記憶装置130から読み込み、基準グラフ構造情報と比較されるグラフ構造情報と、基準グラフ構造情報と、を比較して、グラフ構造の変化点検出を実施する。
 構造変化点検出装置140は、変化点検出の結果を、構造変化点出力装置150に提供する。
 次に、構造変化点出力装置150は、変化点検出結果を出力する(S107)。
 本実施形態によれば、ノード重要度計算装置110は、ノードごとに重要度情報を計算する。グラフ構造推定装置120は、ノードのそれぞれを、そのノードの重要度情報に基づいて、複数のグループのいずれかに分け、ノードのグループ分けの結果を、グラフデータのグラフ構造情報として出力する。検出部101は、グラフ構造推定装置120からのグラフ構造情報と、基準グラフ構造情報と、を用いて、グラフデータの構造変化を検出する。
 このため、ノードの活性度つまり重要度に基づいて、グラフ構造の変化を検出することが可能になる。
 なお、検出部101によって検出されるグラフデータの構造変化は、ノードの重要度に基づいて特定されるグラフ構造に変動が生じたことを意味する。つまり、検出部101によって検出されるグラフデータの構造変化は、スケールフリーネットワークの特徴である分布に何らかの変化が起こったことを意味する。
 この構造変化は、例えば、「幾つかのノードへ急激にトラフィックが集中するようになった場合」、つまり、「ネットワーク攻撃が開始された場合」に生じる。このため、本実施形態によれば、ネットワーク攻撃の検出が可能になる。
 また、この構造変化は、例えば、「ブログ、ニュース、学術論文などの単語ネットワークが変化した場合」、つまり、「話題の大きな変動が生じた場合」に生じる。このため、本実施形態によれば、話題の大きな変動の検出が可能になる。
 また、本実施形態では、ノード重要度計算装置110は、グラフデータ160を時系列で受け付け、グラフデータ160を受け付けるたびに、そのグラフデータに基づいて、そのグラフデータに表されたノードごとに重要度情報を計算する。
 グラフ構造推定装置120は、グラフデータごとに各ノードの重要度情報が計算されるたびに、同一グラフデータに示された各ノードを、そのノードの重要度情報に基づいて、複数のグループのいずれかに分け、ノードのグループ分けの結果を、グラフデータのグラフ構造情報として出力する。
 検出部101は、過去にグラフ構造推定装置120から出力されたグラフ構造情報を、基準グラフ構造情報として用いる。
 この場合、時間経過に伴うグラフ構造の変化を検出することが容易になる。また、基準グラフ構造情報の作成が容易になる。
 また、本実施形態では、グラフ構造推定装置120は、ノード重要度情報の取りうる最小値から最大値までを表すノード重要度の値域を、1つまたは複数の分割用ノード重要度を用いて分割して得られた複数の分割領域を、複数のグループとする。
 この場合、分割用ノード重要度を用いて複数のグループを設定することが可能になる。
 [第2の実施の形態]
 図15は、本発明の第2の実施の形態に関わるグラフ構造変化点検出装置200を示したブロック図である。なお、グラフ構造変化点検出装置200は、一般的にグラフ構造変化検出装置と呼ぶことができる。
 図15を参照すると、グラフ構造変化点検出装置200は、図2に示した第1の実施の形態に関わるグラフ構造変化点検出装置100と比較して、ノード重要度計算装置110およびグラフ構造推定装置120およびグラフ構造記憶装置130および構造変化点検出装置140に代えて、ノード重要度計算装置210およびグラフ構造推定装置220および構造変化点検出装置230を有する点、および、グラフデータ160に代えてグラフデータ240が入力される点、および、構造変化点検出結果170に代えて構造変化点検出結果250を出力する点で相違する。
 グラフ構造変化点検出装置200は、例えば、CPU、メモリおよび入出力装置を含むコンピュータである。グラフ構造変化点検出装置200は、ハードディスクまたはメモリに記録されたプログラムに従って動作する。
 グラフ構造変化点検出装置200は、プログラムを記録媒体から読み取り実行することによって、ノード重要度計算装置210、グラフ構造推定装置220、構造変化点検出装置230、および、構造変化点出力装置150として機能する。
 グラフデータ240は、時系列など順序をもって得られたグラフ列であり、G=G,G,・・・,Gとする。
 構造変化点検出結果250は、グラフデータ240に対応する各時刻において、変化の発生の有無あるいは変化の種類、また推定された各時刻におけるグラフの構造などを表す。ここで、変化の種類とは、例えばグラフの分割数が幾つから幾つに変わったという情報、および、グラフの分割位置がどのように変化したかという情報などのことである。
 ノード重要度計算装置210は、一般的に計算手段と呼ぶことができる。
 ノード重要度計算装置210は、入力されたグラフ列Gに対して、各時刻におけるノード重要度の列xt,n=x ,x ,・・・,x を計算する。例えば、ノード重要度計算装置210は、グラフデータを時系列で受け付け、グラフデータを受け付けるたびに、グラフデータに基づいて、グラフデータに表されたノードごとにノード重要度を計算する。
 なお、ノード重要度計算装置210は、ノード重要度として、第1の実施形態で説明したように、任意の指標(例えば、各ノードの持つリンクの頻度、ページランク、ハブ指標、または、オーソリィテ指標)を利用することが可能である。
 グラフ構造推定装置220は、一般的に推定手段と呼ぶことができる。
 グラフ構造推定装置220は、入力されたグラフ列に対して、各時刻におけるグラフ分割の構造を推定する。
 グラフ構造推定装置220は、ノード重要度の値域の分割モデル(分割用ノード重要度の設定)を、任意の最適化方法(最適化基準)、例えば、最小記述長原理、赤池情報量基準、または、ベイズ情報量基準を利用して、グラフデータに基づき計算する事が可能である。
 例えば、グラフ構造推定装置220は、グラフデータが受け付けられるたびに、ノード重要度の値域の分割結果を、任意の最適化基準にしたがって、時系列で受け付けられた各グラフデータのノード重要度情報に基づいて最適化する。そして、グラフ構造推定装置220は、最適化されたノード重要度の値域の分割結果にて特定される複数のグループのいずれかに、各ノードを、そのノードの重要度情報に基づいて、複数のグループのいずれかに分け、そのノードのグループ分けの結果を、グラフデータのグラフ構造情報として出力する。
 図16は、グラフ構造推定装置220の一例を示したブロック図である。
 図16において、グラフ構造推定装置220は、グラフ列符号長計算部記憶装置511と、モデル列符号長計算部記憶装置512と、最適パラメータ計算装置513とを備えている。
 グラフ構造推定装置220は、グラフデータ240と、ノード重要度計算装置210で計算されたノード重要度情報514とを入力とし、構造変化点検出結果250を出力する。
 最適パラメータ計算装置513は、一般的に分割制御手段と呼ぶことができる。
 最適パラメータ計算装置513は、入力されたグラフデータ240およびノード重要度情報514に対して、グラフ列符号長計算部記憶装置511およびモデル列符号長計算部記憶装置512から読み込まれた計算部を利用して計算されるグラフ列およびモデル列の符号長の和を最小とするモデル(分割モデル)を選択する。
 最適パラメータ計算装置513は、例えば非特許文献8で提案されている動的モデル選択の枠組みを利用する事によって実現可能である。
 今、時刻tにおけるモデルをMとし、モデルの列をM=M,M,・・・,Mとする。
 ここでいうモデルとは、グラフの分割構造の事を指す。
 動的モデル選択では、最適パラメータ計算装置513は、データ列(本実施形態では、グラフシーケンスGおよびノード重要度列xt,n)とモデル列Mを符号化するための符号長を表す(19)式を最小化するモデルを選択する。
Figure JPOXMLDOC01-appb-M000019
 グラフ列符号長計算部511で計算されるグラフ列の符号長とは、(19)式の右辺第1項である。例えば、グラフデータ240が無向グラフの場合には、(5)式および(10)式、グラフデータ240が有向グラフの場合には、(5)式および(18)式などを利用することが可能である。
 また、グラフ列符号長計算部511は、非特許文献8に示されるように、予測的確率的コンプレキシティを利用して(19)式の右辺第1項を定義し計算する事も可能である。
 その場合には、θMtを、時刻tにおいてモデルMを仮定した場合のデータの分布のパラメータとし、θMt t-1=θM1,θM2,…,θMt-1とすると、(19)式の右辺第1項は(20)式で与えられる。
Figure JPOXMLDOC01-appb-M000020
 モデル列符号長計算部記憶装置512で計算されるモデル列の符号長とは、(19)式の右辺第2項であり、例えば(8)式および(9)式を用いて計算することが可能である。
 また例えば、非特許文献8に示されるように、モデルの時間遷移モデルを考慮し、モデルに対する予測的確率的コンプレキシティを利用して(19)式の右辺第2項を定義し計算する事も可能である。
 その場合には、時刻tにおけるモデル遷移のパラメータをαとし、α,α,…,αとすると、(19)式の右辺第2項は、(21)式で与えられる。
Figure JPOXMLDOC01-appb-M000021
 最適パラメータ計算装置513は、(19)式を最小化するモデル列およびパラメータを計算する方法として、候補となるモデル列およびパラメータの組み合わせを事前に設定し、それぞれに対して(19)式を計算し、最小となるモデル列およびパラメータを選択する方法が考えられる。
 また、非特許文献8に示されるように、(19)式を最小化するためのモデル列を、動的計画法を利用して計算する事も可能である。
 図15に戻って、検出部201は、一般的に検出手段と呼ぶことができる。検出部201は、構造変化点検出装置230と構造変化点出力装置150を含む。検出部201は、グラフデータのグラフ構造情報と、基準グラフ構造情報と、を比較して、グラフデータの構造変化を検出し、グラフデータの構造変化の検出結果を出力する。
 なお、本実施形態では、検出部201は、グラフ構造推定装置220から提供される各時刻におけるグラフ分割の構造(グラフ構造情報)のうち、任意の時刻(例えば、過去の時刻)におけるグラフ分割の構造(グラフ構造情報)を、基準グラフ構造情報として用いる。
 構造変化点検出装置230は、一般的に構造変化点検出手段と呼ぶことができる。
 構造変化点検出装置230は、グラフ構造推定装置220から、モデル列およびモデルパラメータ列を含むグラフ構造情報と、グラフ列とを入力し、各時刻にグラフ構造の変化が起こっているかどうか、あるいはどのような変化が起こったかという情報を計算するための手順あるいはルールに従って動作する。
 グラフ構造の変化を検出するためのルールは、例えば各検出対象時刻において前の時刻の分割数と検出対象時刻の分割数を比較し、分割数に変動があれば、変化を検出し、分割数に変動がなければ、変化なしを検出する(つまり、変化を検出しない)というルールであってもよい。
 また、グラフ構造の変化を検出するためのルールは、例えば、(20)式の右辺の和の中身である、各時刻において得られる-logP(Gj,xn ii-1 Mj)の値(グラフ構造情報の一例)を監視し、事前に設定された閾値(基準グラフ構造情報に対応)を超えた場合に、変化を検出するというルールでもよい。
 また、グラフ構造の変化を検出するためのルールは、例えば、各時刻において得られる-logP (Gj,xn ii-1 Mj)の値を用いた時系列の変化点検出技術(公知技術)を適用して変化を検出するというルールでもよい。
 -logP (Gj,xn ii-1 Mj)を監視することは、ある時刻までに推定されたモデル列のもとで、次の時刻に得られたグラフデータがどの程度得られやすいかを監視している事になる。変化が起こった場合には、前の時刻までに推定されたモデルでは説明のできないグラフが得られることになるため、この値、つまり-logP (Gj,xn ii-1 Mj)が大きくなる。
 図17は、グラフ構造変化点検出装置200の動作を説明するためのフローチャートである。
 図17を参照すると、ノード重要度計算装置210は、グラフ列のデータを入力する(S200)。
 次に、ノード重要度計算装置210は、入力されたグラフデータが示す各ノードのノード重要度列を計算する(S201)。
 次に、グラフ構造推定装置220は、計算されたノード重要度列を利用して、グラフ構造列およびそのパラメータ列を計算する(S202)。
 次に、構造変化点検出装置230は、変化点検出を実施する(S203)。
 次に、構造変化点出力装置150は、変化点検出結果を出力する(S204)。
 本実施形態によれば、グラフデータ240として、時系列など順序をもつグラフ列であるグラフデータを用いても、ノードの活性度つまり重要度に基づいて、グラフ構造の変化を検出することが可能になる。
 [第3の実施の形態]
 図18は、本発明の第3の実施の形態に関わるグラフ構造変化点検出装置300を示したブロック図である。なお、グラフ構造変化点検出装置300は、一般的にグラフ構造変化検出装置と呼ぶことができる。
 図18を参照すると、グラフ構造推定装置300は、図2に示した第1の実施の形態に関わるグラフ構造変化点検出装置100と比較して、グラフ構造推定装置120およびグラフ構造記憶装置130および構造変化点検出装置140に代えて、グラフ構造推定装置310およびグラフ構造記憶装置320および構造変化点検出装置330を有する点で相違する。
 グラフ構造変化点検出装置300は、例えば、CPU、メモリおよび入出力装置を含むコンピュータである。グラフ構造変化点検出装置300は、ハードディスクまたはメモリに記録されたプログラムに従って動作する。
 グラフ構造変化点検出装置300は、プログラムを記録媒体から読み取り実行することによって、ノード重要度計算装置110、グラフ構造推定装置220、構造変化点検出装置230、および、構造変化点出力装置150として機能する。
 グラフ構造記憶装置320は、一般的に格納手段と呼ぶことができる。
 グラフ構造記憶装置320には、グラフ構造推定装置310で推定されたグラフの分割結果と共に、前の時刻までに計算された時間遷移モデルのパラメータ(このパラメータは、過去の最適化されたノード分布(ノード重要度の値域)の分割結果を示すことになる)が記憶されている。ここで言う、グラフの分割と時間遷移モデルのパラメータとは、例えば第2の実施の形態で言うところの、M,θMt ,αなどが相当する。
 グラフ構造推定装置310は、グラフデータ160、ノード重要度計算装置110で計算されたノード重要度情報、および、グラフ構造記憶装置320に記憶されているパラメータを読み込み、その時刻におけるグラフのノード重要度情報に従った分割を計算する。この計算には、例えば非特許文献4で提案されている逐次的動的選択アルゴリズムを適用する事が可能である。
 例えば、グラフ構造推定装置310は、グラフデータが受け付けられるたびに、グラフ構造記憶装置320に格納された過去の最適化されたノード重要度の値域の分割結果と、ノードごとのノード重要度情報と、に基づいて、ノード重要度の値域の分割モデルを、任意の最適化基準(例えば、最小記述長原理、赤池情報量基準、または、ベイズ情報量基準)にしたがって最適化する。
 この例では、各時刻においてグラフデータおよびノード重要度情報が入力されるごとに、グラフ構造推定装置310は、候補となる全てのモデルに関して(20)式で表される予測的確率的コンプレキシティを計算する。そして、グラフ構造推定装置310は、その最小値に対応するモデルを、各時刻に対する最適なモデルとして選択し出力する。
 本実施形態によれば、逐次的に、分割モデルを最適化できる。
 なお、上記各実施形態で検出されるグラフデータの構造変化は、第1の実施形態に関して説明したように、ノードの重要度に基づいて特定されるグラフ構造に変動が生じたことを意味する。つまり、検出されるグラフデータの構造変化は、スケールフリーネットワークの特徴である分布に何らかの変化が起こったことを意味する。よって、ネットワーク攻撃の検出、または、話題の大きな変動の検出が可能になる。
 以上、各実施形態を参照して本願発明を説明したが、本願発明は上記各実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 この出願は、2008年2月27日に出願された日本出願特願2008-46099を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 
 

Claims (40)

  1.  複数のノードと、当該複数のノードのうちの各ノード間の関係の程度を示すリンクと、によって表されるグラフデータを受け付けた場合に、当該グラフデータに基づいて、前記ノードごとに、当該ノードの重要性の程度を示す重要度情報を計算する計算手段と、
     前記ノードのそれぞれを、当該ノードの重要度情報に基づいて、複数のグループのいずれかに分け、前記ノードのグループ分けの結果を、前記グラフデータのグラフ構造情報として出力する推定手段と、
     前記グラフデータのグラフ構造情報と、構造変化検出用の基準グラフ構造情報と、を比較して、前記グラフデータの構造変化を検出し、当該グラフデータの構造変化の検出結果を出力する検出手段と、を含むグラフ構造変化検出装置。
  2.  前記計算手段は、前記グラフデータを時系列で受け付け、当該グラフデータを受け付けるたびに、当該グラフデータに基づいて、当該グラフデータに表されたノードごとに前記重要度情報を計算し、
     前記推定手段は、前記グラフデータごとに各ノードの重要度情報が計算されるたびに、前記各ノードを、当該ノードの重要度情報に基づいて、前記複数のグループのいずれかに分け、前記ノードのグループ分けの結果を、前記グラフデータのグラフ構造情報として出力し、
     前記検出手段は、過去に出力された前記グラフデータのグラフ構造情報を、前記基準グラフ構造情報として用いる、請求の範囲第1項に記載のグラフ構造変化検出装置。
  3.  前記リンクは、前記各ノード間の関係の程度を数値で示し、
     前記計算手段は、前記リンクが示す数値のうち同一のノードに関係する数値の総和を、前記ノードごとに計算し、当該総和を、当該ノードの重要度情報として用いる、請求の範囲第1項または第2項に記載のグラフ構造変化検出装置。
  4.  前記計算手段は、ページランクアルゴリズムにしたがって、前記グラフデータに基づいて、前記ノードごとに、当該ノードのページランクを計算し、当該ページランクを、当該ノードの重要度情報として用いる、請求の範囲第1項または第2項に記載のグラフ構造変化検出装置。
  5.  前記計算手段は、HITSアルゴリズムにしたがって、前記グラフデータに基づいて、前記ノードごとに、当該ノードのハブ指標を計算し、当該ハブ指標を、当該ノードの重要度情報として用いる、請求の範囲第1項または第2項に記載のグラフ構造変化検出装置。
  6.  前記計算手段は、HITSアルゴリズムにしたがって、前記グラフデータに基づいて、前記ノードごとに、当該ノードのオーソリティ指標を計算し、当該オーソリティ指標を、当該ノードの重要度情報として用いる、請求の範囲第1項または第2項に記載のグラフ構造変化検出装置。
  7.  前記推定手段は、さらに、前記ノード重要度情報の取りうる最小値から最大値までを表すノード重要度の値域を、1つまたは複数の分割用ノード重要度を用いて分割して得られた複数の分割領域を、前記複数のグループとする、請求の範囲第1項から第6項のいずれか1項に記載のグラフ構造変化検出装置。
  8.  前記推定手段は、前記ノード重要度の値域の分割結果を、任意の最適化基準にしたがって、前記グラフデータに基づき最適化する、請求の範囲第7項に記載のグラフ構造変化検出装置。
  9.  前記推定手段は、前記任意の最適化基準として、最小記述長原理、赤池情報量基準、または、ベイズ情報量基準を用いる、請求の範囲第8項に記載のグラフ構造変化検出装置。
  10.  前記推定手段は、
     前記ノード重要度の値域の分割結果を分割モデルとし、互いに異なる分割モデルごとに、前記ノード重要度情報および前記分割モデルを符号化するために必要な分割記述長を算出する分割符号長計算手段と、
     前記互いに異なる分割モデルの中から、前記分割記述長が最小になる最適化分割モデルを特定し、前記ノードのそれぞれを、当該ノードの重要度情報に基づいて、当該最適化分割モデルにて特定される前記複数のグループのいずれかに分け、前記ノードのグループ分けの結果を、前記グラフデータのグラフ構造情報として出力する分割制御手段と、を含む、請求の範囲第8項または第9項に記載のグラフ構造変化検出装置。
  11.  前記推定手段は、
     前記ノード重要度の値域の分割結果を分割モデルとし、互いに異なる分割モデルごとに、前記ノード重要度情報および前記分割モデルを符号化するために必要な分割記述長を算出する分割符号長計算手段と、
     前記ノードのそれぞれを、当該ノードの重要度情報に基づいて、前記分割モデルにて特定される前記複数のグループのいずれかに分けた際に、前記ノードのグループ分けによって分割されたグラフを符号化するためのグラフ記述長を、前記分割モデルごとに算出するグラフ符号長計算手段と、
     前記互いに異なる分割モデルの中から、前記分割記述長と前記グラフ記述長の和が最小になる最適化分割モデルを特定し、前記ノードのそれぞれを、当該ノードの重要度情報に基づいて、当該最適化分割モデルにて特定される前記複数のグループのいずれかに分け、前記ノードのグループ分けの結果を、前記グラフデータのグラフ構造情報として出力する分割制御手段と、を含む、請求の範囲第8項または第9項に記載のグラフ構造変化検出装置。
  12.  前記分割制御手段は、動的計画法を用いて、前記最適化分割モデルを特定する、請求の範囲第10項または第11項に記載のグラフ構造変化検出装置。
  13.  前記分割制御手段は、前記分割記述長を小さくする方向へ前記分割結果を更新することを繰り返すことによって、前記最適化分割モデルを特定する、請求の範囲第10項に記載のグラフ構造変化検出装置。
  14.  前記分割制御手段は、動的計画法を用いて計算された前記分割結果を初期値とし、前記初期値から前記分割記述長を小さくする方向へ前記分割結果を更新することを繰り返すことによって、前記最適化分割モデルを特定する、請求の範囲第10項に記載のグラフ構造変化検出装置。
  15.  前記分割制御手段は、前記分割記述長と前記グラフ記述長の和を小さくする方向へ前記分割結果を更新することを繰り返すことによって、前記最適化分割モデルを特定する、請求の範囲第11項に記載のグラフ構造変化検出装置。
  16.  前記分割制御手段は、動的計画法を用いて計算された前記分割結果を初期値とし、前記初期値から前記分割記述長と前記グラフ記述長の和を小さくする方向へ前記分割結果を更新することを繰り返すことによって、前記最適化分割モデルを特定する、請求の範囲第11項に記載のグラフ構造変化検出装置。
  17.  前記推定手段は、
     前記ノード重要度の値域の分割結果を分割モデルとし、互いに異なる分割モデルごとに、前記ノード重要度情報および前記分割モデルを符号化するために必要な分割記述長を算出する分割符号長計算手段と、
     前記ノードのそれぞれを、当該ノードの重要度情報に基づいて、前記分割モデルにて特定される前記複数のグループのいずれかに分けた際に生じる各グループを、当該グループ内のノード間の関係に基づいて再分割した際に、前記各グループでの再分割の状態を符号化するために必要な再分割符号長を、前記分割モデルごとに算出する部分グラフ分割符号長計算手段と、
     前記互いに異なる分割モデルの中から、前記分割記述長と前記再分割符号長の和が最小になる最適化分割モデルを特定し、前記ノードのそれぞれを、当該ノードの重要度情報に基づいて、当該最適化分割モデルにて特定される前記複数のグループのいずれかに分け、前記ノードのグループ分けの結果を、前記グラフデータのグラフ構造情報として出力する分割制御手段と、を含む、請求の範囲第8項または第9項に記載のグラフ構造変化検出装置。
  18.  前記計算手段は、前記グラフデータを時系列で受け付け、当該グラフデータを受け付けるたびに、当該グラフデータに基づいて、当該グラフデータに表されたノードごとに前記重要度情報を計算し、
     前記推定手段は、前記グラフデータが受け付けられるたびに、前記ノード重要度の値域の分割結果を、前記任意の最適化基準にしたがって、時系列で受け付けられた各グラフデータのノード重要度情報に基づいて最適化する、請求の範囲第8項または第9項に記載のグラフ構造変化検出装置。
  19.  前記計算手段は、前記グラフデータを時系列で受け付け、当該グラフデータを受け付けるたびに、当該グラフデータに基づいて、当該グラフデータに表されたノードごとに前記重要度情報を計算し、
     前記推定手段は、
     過去の最適化された前記ノード重要度の値域の分割結果を格納する格納手段と、
     前記グラフデータが受け付けられるたびに、前記ノード重要度の値域の分割結果を、前記格納手段に格納された前記過去の最適化されたノード重要度の値域の分割結果と、前記ノードごとの重要度情報と、に基づいて、前記任意の最適化基準にしたがって最適化する、分割制御手段と、を含む、請求の範囲第8項または第9項に記載のグラフ構造変化検出装置。
  20.  複数のノードと、当該複数のノードのうちの各ノード間の関係の程度を示すリンクと、によって表されるグラフデータを受け付けた場合に、当該グラフデータに基づいて、前記ノードごとに、当該ノードの重要性の程度を示す重要度情報を計算し、
     前記ノードのそれぞれを、当該ノードの重要度情報に基づいて、複数のグループのいずれかに分け、前記ノードのグループ分けの結果を、前記グラフデータのグラフ構造情報として出力し、
     前記グラフデータのグラフ構造情報と、構造変化検出用の基準グラフ構造情報と、を比較して、前記グラフデータの構造変化を検出し、当該グラフデータの構造変化の検出結果を出力する、グラフ構造変化検出方法。
  21.  前記計算することでは、前記グラフデータを時系列で受け付け、当該グラフデータを受け付けるたびに、当該グラフデータに基づいて、当該グラフデータに表されたノードごとに前記重要度情報を計算し、
     前記ノードのグループ分けの結果を出力することでは、前記グラフデータごとに各ノードの重要度情報が計算されるたびに、前記各ノードを、当該ノードの重要度情報に基づいて、前記複数のグループのいずれかに分け、前記ノードのグループ分けの結果を、前記グラフデータのグラフ構造情報として出力し、
     前記検出結果を出力することでは、過去に出力された前記グラフデータのグラフ構造情報を、前記基準グラフ構造情報として用いる、請求の範囲第20項に記載のグラフ構造変化検出方法。
  22.  前記リンクは、前記各ノード間の関係の程度を数値で示し、
     前記計算することでは、前記リンクが示す数値のうち同一のノードに関係する数値の総和を、前記ノードごとに計算し、当該総和を、当該ノードの重要度情報として用いる、請求の範囲第20項または第21項に記載のグラフ構造変化検出方法。
  23.  前記計算することでは、ページランクアルゴリズムにしたがって、前記グラフデータに基づいて、前記ノードごとに、当該ノードのページランクを計算し、当該ページランクを、当該ノードの重要度情報として用いる、請求の範囲第20項または第21項に記載のグラフ構造変化検出方法。
  24.  前記計算することでは、HITSアルゴリズムにしたがって、前記グラフデータに基づいて、前記ノードごとに、当該ノードのハブ指標を計算し、当該ハブ指標を、当該ノードの重要度情報として用いる、請求の範囲第20項または第21項に記載のグラフ構造変化検出方法。
  25.  前記計算することでは、HITSアルゴリズムにしたがって、前記グラフデータに基づいて、前記ノードごとに、当該ノードのオーソリティ指標を計算し、当該オーソリティ指標を、当該ノードの重要度情報として用いる、請求の範囲第20項または第21項に記載のグラフ構造変化検出方法。
  26.  前記ノードのグループ分けの結果を出力することでは、さらに、前記ノード重要度情報の取りうる最小値から最大値までを表すノード重要度の値域を、1つまたは複数の分割用ノード重要度を用いて分割して得られた複数の分割領域を、前記複数のグループとする、請求の範囲第20項から第25項のいずれか1項に記載のグラフ構造変化検出方法。
  27.  前記ノードのグループ分けの結果を出力することでは、前記ノード重要度の値域の分割結果を、任意の最適化基準にしたがって、前記グラフデータに基づき最適化する、請求の範囲第26項に記載のグラフ構造変化検出方法。
  28.  前記ノードのグループ分けの結果を出力することでは、前記任意の最適化基準として、最小記述長原理、赤池情報量基準、または、ベイズ情報量基準を用いる、請求の範囲第27項に記載のグラフ構造変化検出方法。
  29.  前記ノードのグループ分けの結果を出力することは、
     前記ノード重要度の値域の分割結果を分割モデルとし、互いに異なる分割モデルごとに、前記ノード重要度情報および前記分割モデルを符号化するために必要な分割記述長を算出することと、
     前記互いに異なる分割モデルの中から、前記分割記述長が最小になる最適化分割モデルを特定し、前記ノードのそれぞれを、当該ノードの重要度情報に基づいて、当該最適化分割モデルにて特定される前記複数のグループのいずれかに分け、前記ノードのグループ分けの結果を、前記グラフデータのグラフ構造情報として出力することと、を含む、請求の範囲第27項または第28項に記載のグラフ構造変化検出方法。
  30.  前記ノードのグループ分けの結果を出力することは、
     前記ノード重要度の値域の分割結果を分割モデルとし、互いに異なる分割モデルごとに、前記ノード重要度情報および前記分割モデルを符号化するために必要な分割記述長を算出することと、
     前記ノードのそれぞれを、当該ノードの重要度情報に基づいて、前記分割モデルにて特定される前記複数のグループのいずれかに分けた際に、前記ノードのグループ分けによって分割されたグラフを符号化するためのグラフ記述長を、前記分割モデルごとに算出することと、
     前記互いに異なる分割モデルの中から、前記分割記述長と前記グラフ記述長の和が最小になる最適化分割モデルを特定し、前記ノードのそれぞれを、当該ノードの重要度情報に基づいて、当該最適化分割モデルにて特定される前記複数のグループのいずれかに分け、前記ノードのグループ分けの結果を、前記グラフデータのグラフ構造情報として出力することと、を含む、請求の範囲第27項または第28項に記載のグラフ構造変化検出方法。
  31.  前記ノードのグループ分けの結果を出力することでは、動的計画法を用いて、前記最適化分割モデルを特定する、請求の範囲第29項または第30項に記載のグラフ構造変化検出方法。
  32.  前記ノードのグループ分けの結果を出力することでは、前記分割記述長を小さくする方向へ前記分割結果を更新することを繰り返すことによって、前記最適化分割モデルを特定する、請求の範囲第29項に記載のグラフ構造変化検出方法。
  33.  前記ノードのグループ分けの結果を出力することでは、動的計画法を用いて計算された前記分割結果を初期値とし、前記初期値から前記分割記述長を小さくする方向へ前記分割結果を更新することを繰り返すことによって、前記最適化分割モデルを特定する、請求の範囲第29項に記載のグラフ構造変化検出方法。
  34.  前記ノードのグループ分けの結果を出力することでは、前記分割記述長と前記グラフ記述長の和を小さくする方向へ前記分割結果を更新することを繰り返すことによって、前記最適化分割モデルを特定する、請求の範囲第30項に記載のグラフ構造変化検出方法。
  35.  前記ノードのグループ分けの結果を出力することでは、動的計画法を用いて計算された前記分割結果を初期値とし、前記初期値から前記分割記述長と前記グラフ記述長の和を小さくする方向へ前記分割結果を更新することを繰り返すことによって、前記最適化分割モデルを特定する、請求の範囲第30項に記載のグラフ構造変化検出方法。
  36.  前記ノードのグループ分けの結果を出力することは、
     前記ノード重要度の値域の分割結果を分割モデルとし、互いに異なる分割モデルごとに、前記ノード重要度情報および前記分割モデルを符号化するために必要な分割記述長を算出することと、
     前記ノードのそれぞれを、当該ノードの重要度情報に基づいて、前記分割モデルにて特定される前記複数のグループのいずれかに分けた際に生じる各グループを、当該グループ内のノード間の関係に基づいて再分割した際に、前記各グループでの再分割の状態を符号化するために必要な再分割符号長を、前記分割モデルごとに算出することと、
     前記互いに異なる分割モデルの中から、前記分割記述長と前記再分割符号長の和が最小になる最適化分割モデルを特定し、前記ノードのそれぞれを、当該ノードの重要度情報に基づいて、当該最適化分割モデルにて特定される前記複数のグループのいずれかに分け、前記ノードのグループ分けの結果を、前記グラフデータのグラフ構造情報として出力することと、を含む、請求の範囲第27項または第28項に記載のグラフ構造変化検出方法。
  37.  前記計算することでは、前記グラフデータを時系列で受け付け、当該グラフデータを受け付けるたびに、当該グラフデータに基づいて、当該グラフデータに表されたノードごとに前記重要度情報を計算し、
     前記ノードのグループ分けの結果を出力することでは、前記グラフデータが受け付けられるたびに、前記ノード重要度の値域の分割結果を、前記任意の最適化基準にしたがって、時系列で受け付けられた各グラフデータのノード重要度情報に基づいて最適化する、請求の範囲第27項または第28項に記載のグラフ構造変化検出方法。
  38.  前記計算することでは、前記グラフデータを時系列で受け付け、当該グラフデータを受け付けるたびに、当該グラフデータに基づいて、当該グラフデータに表されたノードごとに前記重要度情報を計算し、
     前記ノードのグループ分けの結果を出力することは、
     過去の最適化された前記ノード重要度の値域の分割結果を格納手段に格納することと、
     前記グラフデータが受け付けられるたびに、前記ノード重要度の値域の分割結果を、前記格納手段に格納された前記過去の最適化されたノード重要度の値域の分割結果と、前記ノードごとの重要度情報と、に基づいて、前記任意の最適化基準にしたがって最適化することと、を含む、請求の範囲第27項または第28項に記載のグラフ構造変化検出方法。
  39.  コンピュータを、
     複数のノードと、当該複数のノードのうちの各ノード間の関係の程度を示すリンクと、によって表されるグラフデータを受け付けた場合に、当該グラフデータに基づいて、前記ノードごとに、当該ノードの重要性の程度を示す重要度情報を計算する計算手段、
     前記ノードのそれぞれを、当該ノードの重要度情報に基づいて、複数のグループのいずれかに分け、前記ノードのグループ分けの結果を、前記グラフデータのグラフ構造情報として出力する推定手段、および、
     前記グラフデータのグラフ構造情報と、構造変化検出用の基準グラフ構造情報と、を比較して、前記グラフデータの構造変化を検出し、当該グラフデータの構造変化の検出結果を出力する検出手段、として機能させるためのプログラム。
  40.  前記計算手段は、前記グラフデータを時系列で受け付け、当該グラフデータを受け付けるたびに、当該グラフデータに基づいて、当該グラフデータに表されたノードごとに前記重要度情報を計算し、
     前記推定手段は、前記グラフデータごとに各ノードの重要度情報が計算されるたびに、前記各ノードを、当該ノードの重要度情報に基づいて、前記複数のグループのいずれかに分け、前記ノードのグループ分けの結果を、前記グラフデータのグラフ構造情報として出力し、
     前記検出手段は、過去に出力された前記グラフデータのグラフ構造情報を、前記基準グラフ構造情報として用いる、請求の範囲第39項に記載のプログラム。
PCT/JP2009/050475 2008-02-27 2009-01-15 グラフ構造変化検出装置、グラフ構造変化検出方法およびプログラム WO2009107416A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008046099 2008-02-27
JP2008-046099 2008-02-27

Publications (1)

Publication Number Publication Date
WO2009107416A1 true WO2009107416A1 (ja) 2009-09-03

Family

ID=41015822

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/050475 WO2009107416A1 (ja) 2008-02-27 2009-01-15 グラフ構造変化検出装置、グラフ構造変化検出方法およびプログラム

Country Status (1)

Country Link
WO (1) WO2009107416A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013020561A (ja) * 2011-07-14 2013-01-31 Konami Digital Entertainment Co Ltd 管理装置、携帯端末およびプログラム
JP2014225117A (ja) * 2013-05-16 2014-12-04 富士通株式会社 伝達情報変動検知方法、伝達情報変動検知装置および伝達情報変動検知プログラム
CN107092667A (zh) * 2017-04-07 2017-08-25 平安科技(深圳)有限公司 基于社交网络的群组查找方法和装置
CN115268936A (zh) * 2022-09-27 2022-11-01 之江实验室 一种用于计算图编译的优化方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005069158A2 (ja) * 2004-01-16 2005-07-28 Nec Corp テキスト処理方法/プログラム/プログラム記録媒体/装置
JP2005327293A (ja) * 2004-05-14 2005-11-24 Microsoft Corp 型内および型間の関係に基づいてオブジェクトを格付けする方法およびシステム
JP2006091971A (ja) * 2004-09-21 2006-04-06 Hewlett-Packard Development Co Lp ネットワークデータ表示方法・装置・プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005069158A2 (ja) * 2004-01-16 2005-07-28 Nec Corp テキスト処理方法/プログラム/プログラム記録媒体/装置
JP2005327293A (ja) * 2004-05-14 2005-11-24 Microsoft Corp 型内および型間の関係に基づいてオブジェクトを格付けする方法およびシステム
JP2006091971A (ja) * 2004-09-21 2006-04-06 Hewlett-Packard Development Co Lp ネットワークデータ表示方法・装置・プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KENJI YAMANISHI ET AL.: "Saishin! Data Mining Shuho Tokeiteki Ijo Kenshutsu 3 Shuho", JOHO SHORI, vol. 46, no. L, 15 January 2005 (2005-01-15) *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013020561A (ja) * 2011-07-14 2013-01-31 Konami Digital Entertainment Co Ltd 管理装置、携帯端末およびプログラム
JP2014225117A (ja) * 2013-05-16 2014-12-04 富士通株式会社 伝達情報変動検知方法、伝達情報変動検知装置および伝達情報変動検知プログラム
US10268655B2 (en) 2016-04-07 2019-04-23 Ping An Technology (Shenzhen) Co., Ltd. Method, device, server and storage medium of searching a group based on social network
CN107092667A (zh) * 2017-04-07 2017-08-25 平安科技(深圳)有限公司 基于社交网络的群组查找方法和装置
CN107092667B (zh) * 2017-04-07 2018-02-27 平安科技(深圳)有限公司 基于社交网络的群组查找方法和装置
CN115268936A (zh) * 2022-09-27 2022-11-01 之江实验室 一种用于计算图编译的优化方法及装置

Similar Documents

Publication Publication Date Title
Yun et al. Incremental mining of weighted maximal frequent itemsets from dynamic databases
CN112529168B (zh) 一种基于gcn的属性多层网络表示学习方法
Yun et al. Mining maximal frequent patterns by considering weight conditions over data streams
US7580813B2 (en) Systems and methods for new time series model probabilistic ARMA
Lee et al. Sliding window based weighted maximal frequent pattern mining over data streams
US7801924B2 (en) Decision tree construction via frequent predictive itemsets and best attribute splits
Pyun et al. Mining top-k frequent patterns with combination reducing techniques
Pirgazi et al. A robust gene regulatory network inference method base on Kalman filter and linear regression
Choudhury et al. Time-aware link prediction to explore network effects on temporal knowledge evolution
JP6915809B2 (ja) 事象予測装置、予測モデル生成装置および事象予測用プログラム
US20070219990A1 (en) Analyzing mining pattern evolutions using a data mining algorithm
Bhattacharya et al. Learning regularity in an economic time-series for structure prediction
EP3832487A1 (en) Systems and methods driven by link-specific numeric information for predicting associations based on predicate types
Li et al. An extended depth-first search algorithm for optimal triangulation of Bayesian networks
WO2009107416A1 (ja) グラフ構造変化検出装置、グラフ構造変化検出方法およびプログラム
CN112162860A (zh) 基于if-emd-lstm的cpu负载趋势预测方法
Kim et al. Real-time stream data mining based on CanTree and Gtree
CN108319628B (zh) 一种用户兴趣确定方法及装置
Zeng et al. Improved Population-Based Incremental Learning of Bayesian Networks with partly known structure and parallel computing
Gao et al. Clustering algorithms for detecting functional modules in protein interaction networks
WO2009107412A1 (ja) グラフ構造推定装置、グラフ構造推定方法およびプログラム
CN117035073B (zh) 一种基于分层事件发展模式归纳的未来气象事件预测方法
CN116304213B (zh) 基于图神经网络的rdf图数据库子图匹配查询优化方法
Liu et al. CSPM: Discovering compressing stars in attributed graphs
Chen et al. Community detection based on deepwalk model in large-scale networks

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09713693

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09713693

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP