Dynamic community discovery method and system based on member migration information comparative learning

Through the method of comparative learning of member migration information, the migration information of community members in the dynamic network is detected, and combined with HSIC losses, the problem of difficulty in using community members' migration information in the existing technology is solved, and high-quality dynamic community discovery is achieved.

CN119939296AActive Publication Date: 2025-05-06SOUTH CHINA NORMAL UNIV
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202411866408.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-18
Publication Date
2025-05-06
Estimated Expiration
2044-12-18

AI Technical Summary

Technical Problem

When the existing dynamic community discovery method deals with sudden changes in the affiliation of node community affiliation in real scenarios, it is difficult to effectively utilize community members' migration information, resulting in the failure to fully explore the local unsmoothness of the network structure.

Method used

A dynamic community discovery method based on the comparison learning of member migration information is proposed. By formally representing the dynamic network, node embedding is obtained, community member migration information is detected, and HSIC loss is introduced in the comparison loss function, which constrains the embedding similarity between different snapshots and retains local nonsmoothness.

Benefits of technology

This method can effectively utilize community members to migrate information, enhance community discovery performance, discover high-quality dynamic communities, and improve the model's representation ability while maintaining local non-smoothness of the network structure.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119939296A_ABST
    Figure CN119939296A_ABST
Patent Text Reader

Abstract

The invention discloses a dynamic community discovery method and system based on member migration information comparative learning, and the method comprises the steps: carrying out the formalized expression of a dynamic network according to the snapshot number of the dynamic network, and enabling the dynamic network to be used for determining a node set and an edge set; obtaining node embedding according to the formalized representation of the dynamic network; detecting community member migration information according to the node embedding; when community member migration information is detected, keeping the unsmoothness of a local network structure so as to keep local unsmooth information of a snapshot; and constructing a contrast loss function training graph convolutional network of any two snapshots, and obtaining a dynamic community discovery result according to the trained graph convolutional network. According to the embodiment of the invention, the community member migration information can be fully utilized, the high-quality dynamic community can be effectively found, and the method can be widely applied to the technical field of social network data analysis.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of social network data analysis, and in particular to a dynamic community discovery method and system based on comparative learning of member migration information. Background Art

[0002] A dynamic network is a network in which nodes and edges increase and decrease over time. For example, new users will continue to join an online social network, and users will continue to establish or cancel follow-up relationships. Dynamic networks have become an important research direction in the field of network data analysis because they are more suitable for modeling various complex interactive relationships in the real world.

[0003] Community detection in dynamic networks (i.e., dynamic community detection) is an important dynamic network analysis task, which aims to identify node clusters that are densely connected internally and sparsely connected externally in any snapshot of a dynamic network. In recent years, with the rapid development of graph neural networks (GNNs), GNN-based dynamic community detection methods have shown strong performance and have become the mainstream technology for dynamic community detection, including dynamic graph convolutional network-based methods EvolveGCN, CTGCN, and DGCN, graph contrastive learning-based methods CGC and CLDG, and variational graph autoencoder-based methods VGRNN and VGRGMM. In general, although existing dynamic community detection methods have varying degrees of effectiveness, they still face the following problems: (1) Most methods are based on the smoothness assumption, that is, the community structure changes slowly in time. However, in real scenarios, the community affiliation of some nodes will suddenly change, that is, community members will migrate, resulting in local non-smoothness in the network structure. (2) Although existing methods have taken into account the local structural non-smoothness in dynamic networks, they have not been able to effectively mine and utilize community member migration information to further enhance community detection performance. Summary of the invention

[0004] The main purpose of the embodiments of the present invention is to propose a dynamic community discovery method and system based on comparative learning of member migration information, which can make full use of community member migration information and effectively discover high-quality dynamic communities.

[0005] To achieve the above object, an embodiment of the present invention proposes a dynamic community discovery method based on member migration information comparative learning, comprising the following steps:

[0006] Formally representing the dynamic network according to a number of snapshots of the dynamic network, wherein the dynamic network is used to determine a set of nodes and a set of edges;

[0007] Obtain node embeddings based on the formal representation of the dynamic network;

[0008] Detecting community member migration information based on the node embedding;

[0009] When detecting community member migration information, the non-smoothness of the local network structure is retained to preserve the local non-smoothness information of the snapshot;

[0010] A contrast loss function of any two snapshots is constructed to train the graph convolutional network, and dynamic community discovery results are obtained based on the trained graph convolutional network.

[0011] In some embodiments, the dynamic network is formally represented according to the number of snapshots of the dynamic network, specifically:

[0012] The dynamic network G (t) The formal expression is G = (G (1) , G (2) , ..., G (T) ), where T represents the number of snapshots of the dynamic network;

[0013] For a snapshot G at time t (t) =(V (t) , E (t) ), V (t) and E (t) Respectively represent G (t) The node set and edge set of .

[0014] In some embodiments, obtaining node embeddings according to the formal representation of the dynamic network comprises the following steps:

[0015] A multi-layer graph convolutional network GCN is used as the encoder, where the definition of the l-th layer GCN is as follows:

[0016]

[0017] in, and Represent the adjacency matrix and degree matrix of the input network respectively, I is the identity matrix, W l is a trainable weight matrix, σ is a nonlinear activation function; for the snapshot at time t, the node embedding corresponding to the encoder output is represented by the matrix H (t) ;

[0018] Add a projection head after the GCN encoder to perform nonlinear transformation on the embedding and obtain the node matrix P(t): P (t) =f proj (H (t) ), where f proj (·) It consists of two multi-layer perceptrons (MLPs);

[0019] GRU is introduced to integrate the historical information of the dynamic network into the embedded representation of the snapshot, generating the node embedding representation Z of each snapshot. (t) , the design of GRU is:

[0020] R (t) =σ(W r [Z (t-1) , P (t) ]),

[0021] Q (t) =σ(W u [Z (t-1) , P (t) ]),

[0022]

[0023]

[0024] Among them, 1 is a full 1 matrix, [,] represents the concatenation operation, ⊙ represents the Hadamard product, W r , W u and W h is a trainable weight matrix; Z (0) Initialize to zero matrix; R (t) Represents the reset gate, which is used to control the contribution of historical snapshot information to the current candidate hidden state; Q (t) It is the update gate, which is used to balance the influence of the candidate hidden state at the current moment and the historical snapshot information; It is a candidate hidden state, which combines the adjustment results of the current snapshot information and the historical snapshot information to represent the potential state at the current moment.

[0025] In some embodiments, detecting community member migration information according to the node embedding comprises the following steps:

[0026] Embed Z for snapshot nodes at two different times (t) and Z (t′) The k-means clustering algorithm is applied separately to generate pseudo labels of the community to which each node belongs;

[0027] After one-hot encoding, we get the community membership matrix F (t) and F (t′) ;

[0028] F (t) Multiply it by its transpose to generate the common community indicator matrix O (t) ; F (t′) Multiply it by its transpose to generate the common community indicator matrix O (t′) ; The common community indicator matrix is ​​used to characterize the community affiliation of node pairs in the same snapshot;

[0029] The stable node matrix S is generated from the snapshots at time t and t′ by the following formula (t,t′) and the unstable node matrix U (t,t′) :

[0030] S (t,t′) =(O (t) ⊙O (t′) )-I,

[0031]

[0032] in, Denotes the matrix O (t) and O (t′) Element-wise XOR operation of ; I represents the identity matrix.

[0033] In some embodiments, when detecting community member migration information, retaining the non-smoothness of the local network structure includes the following steps:

[0034] HSIC is introduced to measure the embedding Z of two different snapshots (t) and Z (t′) The dependence between them, the expression of this process is: where tr(·) represents the trace of the matrix, K and L are embeddings of Z (t) and Z (t′) Gramian Matrix; M is the centering matrix, which is defined as N is the number of nodes in the current snapshot;

[0035] By minimizing HSIC, the embedding similarity between different snapshots is constrained, while preserving their uniqueness.

[0036] In some embodiments, constructing a contrast loss function of any two snapshots comprises the following steps:

[0037] Construct contrastive learning loss and HSIC loss;

[0038] Among them, for contrastive learning loss, intra-view contrastive learning and inter-view contrastive learning are designed; intra-view contrastive learning focuses on nodes within a single snapshot, considering nodes and their direct neighbors as positive samples and non-neighbor nodes as negative samples; inter-view contrastive learning focuses on stable nodes and unstable nodes, which are identified by community member migration detection mechanism in multiple snapshots;

[0039] A given node and its stable nodes are regarded as positive samples, and a given node and its unstable nodes are regarded as negative samples. Based on this, from the perspective of a given node i, the contrast loss function of any two snapshots at time t and t′ is defined as: Among them, pos and neg are calculated by the following methods:

[0040]

[0041]

[0042] in, is the temperature coefficient, which is used to control the distribution concentration. represents all neighbors of the i-th node in the t-th snapshot; pos and neg represent the similarity measures between a given node i and its positive and negative samples, respectively; and Respectively indicate whether node i and node j are mutually stable or unstable nodes at time t and t′; It is a similarity measure used to measure the similarity between different node embeddings;

[0043] A sliding window of size w is introduced to determine the number of snapshots for contrastive learning. The overall contrastive learning objective is designed as follows:

[0044]

[0045] The final loss function is obtained based on contrastive learning loss and HSIC loss.

[0046] In some embodiments, the training of the graph convolutional network and obtaining a dynamic community discovery result based on the trained graph convolutional network includes the following steps:

[0047] The final loss function is used as the objective function, and the sliding window, balancing parameters, number of iterations, number of graph convolutional network layers and dimensions of each layer, and the MLP dimension in the projection head are set;

[0048] Iteratively update the graph convolutional network parameters, and obtain the final embedding of each snapshot node after the training loss converges;

[0049] K-means clustering is used to determine the community where any snapshot node is located.

[0050] Another aspect of the embodiment of the present invention further provides a dynamic community discovery system based on comparative learning of member migration information, including:

[0051] A first module is used to formally represent a dynamic network according to a number of snapshots of the dynamic network, wherein the dynamic network is used to determine a node set and an edge set;

[0052] The second module is used to obtain node embeddings based on the formal representation of the dynamic network;

[0053] A third module is used to detect community member migration information based on the node embedding;

[0054] The fourth module is used to preserve the non-smoothness of the local network structure when detecting the migration information of community members, so as to preserve the local non-smoothness information of the snapshot;

[0055] The fifth module is used to construct a contrast loss function of any two snapshots to train the graph convolutional network, and obtain dynamic community discovery results based on the trained graph convolutional network.

[0056] To achieve the above objective, another aspect of an embodiment of the present invention provides an electronic device, the electronic device comprising a memory and a processor, the memory storing a computer program, and the processor implementing the above-mentioned method when executing the computer program.

[0057] To achieve the above objective, another aspect of an embodiment of the present invention provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the above-mentioned method is implemented.

[0058] The embodiment of the present invention also discloses a computer program product or a computer program, which includes a computer instruction stored in a computer-readable storage medium. A processor of a computer device can read the computer instruction from the computer-readable storage medium, and the processor executes the computer instruction, so that the computer device executes the above method.

[0059] The embodiments of the present invention include at least the following beneficial effects: the present invention provides a method and system for dynamic community discovery based on member migration information contrast learning, the scheme formally represents the dynamic network according to the number of snapshots of the dynamic network, the dynamic network is used to determine the node set and the edge set; according to the formal representation of the dynamic network, the node embedding is obtained; according to the node embedding, the community member migration information is detected; when detecting the community member migration information, the non-smoothness of the local network structure is retained to retain the local non-smoothness information of the snapshot; the contrast loss function of any two snapshots is constructed to train the graph convolution network, and the dynamic community discovery result is obtained according to the trained graph convolution network. The embodiments of the present invention can make full use of the community member migration information and effectively discover high-quality dynamic communities. BRIEF DESCRIPTION OF THE DRAWINGS

[0060] Figure 1 It is a schematic diagram of an implementation environment provided by an embodiment of the present invention;

[0061] Figure 2 is a flow chart of the overall steps provided by an embodiment of the present invention;

[0062] Figure 3 It is a flowchart of specific implementation steps provided by an embodiment of the present invention;

[0063] Figure 4 is an example diagram of a dynamic network provided by an embodiment of the present invention;

[0064] Figure 5 is a result diagram of community discovery for a dynamic network example provided by an embodiment of the present invention;

[0065] Figure 6 It is a schematic diagram of the hardware structure of an electronic device provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0066] In order to make the purpose, technical solutions and advantages of the present invention more clearly understood, the present invention is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not intended to limit the present invention. When the following description refers to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the embodiments of the present invention. They are only examples of devices and methods consistent with some aspects of the embodiments of the present invention as detailed in the attached claims.

[0067] It is understood that the terms "first", "second", etc. used in the present invention may be used herein to describe various concepts, but unless otherwise specified, these concepts are not limited by these terms. These terms are only used to distinguish one concept from another. For example, without departing from the scope of the embodiments of the present invention, the first information may also be referred to as the second information, and similarly, the second information may also be referred to as the first information. Depending on the context, the words "if" and "if" as used herein may be interpreted as "at the time of" or "when" or "in response to determining".

[0068] The terms "at least one", "multiple", "each", "any", etc. used in the present invention, at least one includes one, two or more, multiple includes two or more, each refers to each of the corresponding multiple, and any refers to any one of the multiple.

[0069] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those commonly understood by those skilled in the art to which the present invention belongs. The terms used herein are only for the purpose of describing the embodiments of the present invention and are not intended to limit the present invention.

[0070] The dynamic community discovery method and system based on comparative learning of member migration information provided by the embodiment of the present invention relate to the technical field of social network data analysis. The dynamic community discovery method based on comparative learning of member migration information provided by the embodiment of the present invention can be applied to a terminal, can also be applied to a server, and can also be software running in a terminal or a server. In some embodiments, the terminal can be a smart phone, a tablet computer, a laptop computer, a desktop computer, a smart speaker, a smart watch, and a car terminal, etc., but is not limited to this; the server side can be configured as an independent physical server, or a server cluster or distributed system composed of multiple physical servers, and can also be configured as a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms. The server can also be a node server in a blockchain network; the software can be an application that implements a dynamic community discovery method based on comparative learning of member migration information, etc., but is not limited to the above forms.

[0071] The present invention can be used in many general or special computer system environments or configurations. For example: personal computers, server computers, handheld or portable devices, tablet devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronic devices, network PCs, minicomputers, mainframe computers, distributed computing environments including any of the above systems or devices, etc. The present invention can be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types. The present invention can also be practiced in distributed computing environments, in which tasks are performed by remote processing devices connected through a communication network. In a distributed computing environment, program modules can be located in local and remote computer storage media including storage devices.

[0072] like Figure 1 FIG. 1 is a schematic diagram of an implementation environment provided by an embodiment of the present invention. Figure 1 The implementation environment includes at least one terminal 102 and a server 101. The terminal 102 and the server 101 can be connected to a network wirelessly or wired to complete data transmission and exchange.

[0073] Server 101 can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers. It can also be a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN (Content Delivery Network), as well as big data and artificial intelligence platforms.

[0074] In addition, the server 101 can also be a node server in the blockchain network. Blockchain is a new application model of computer technologies such as distributed data storage, peer-to-peer transmission, consensus mechanism, and encryption algorithm.

[0075] The terminal 102 may be a smart phone, a tablet computer, a laptop computer, a desktop computer, a smart speaker, a smart watch, etc. The terminal 102 may also be a vehicle-mounted terminal of various device types described above, but is not limited thereto. The terminal 102 and the server 101 may be directly or indirectly connected via wired or wireless communication, which is not limited in this embodiment of the present invention.

[0076] Based on the example Figure 1 In the implementation environment shown, an embodiment of the present invention provides a dynamic community discovery method based on comparative learning of member migration information. The following is an example of applying the dynamic community discovery method based on comparative learning of member migration information to the server 101. It can be understood that the method can also be applied to the terminal 102.

[0077] Reference Figure 2 , Figure 2 The flowchart of the dynamic community discovery method based on member migration information comparative learning applied to the server provided in the embodiment of the present invention, the execution subject of the method can be any of the aforementioned computer devices (including servers or terminals). Figure 2 , the method may include the following steps:

[0078] Formally representing the dynamic network according to a number of snapshots of the dynamic network, wherein the dynamic network is used to determine a set of nodes and a set of edges;

[0079] Obtain node embeddings based on the formal representation of the dynamic network;

[0080] Detecting community member migration information based on the node embedding;

[0081] When detecting community member migration information, the non-smoothness of the local network structure is retained to preserve the local non-smoothness information of the snapshot;

[0082] A contrast loss function of any two snapshots is constructed to train the graph convolutional network, and dynamic community discovery results are obtained based on the trained graph convolutional network.

[0083] In some embodiments, the dynamic network is formally represented according to the number of snapshots of the dynamic network, specifically:

[0084] The dynamic network G (t) The formal expression is G = (G (1) , G (2) , ..., G (T) ), where T represents the number of snapshots of the dynamic network;

[0085] For a snapshot G at time t (t) =(V (t) , E (t) ), V (t) and E (t) Respectively represent G (t) The node set and edge set of .

[0086] In some embodiments, obtaining node embeddings according to the formal representation of the dynamic network comprises the following steps:

[0087] A multi-layer graph convolutional network GCN is used as the encoder, where the definition of the l-th layer GCN is as follows:

[0088]

[0089] in, and Represent the adjacency matrix and degree matrix of the input network respectively, I is the identity matrix, W l is a trainable weight matrix, σ is a nonlinear activation function; for the snapshot at time t, the node embedding corresponding to the encoder output is represented by the matrix H (t) ;

[0090] Add a projection head after the GCN encoder to perform nonlinear transformation on the embedding to obtain the node matrix P (t) :P (t) =f proj (H (t) ), where f proj (·) It consists of two multi-layer perceptrons (MLPs);

[0091] GRU is introduced to integrate the historical information of the dynamic network into the embedded representation of the snapshot, generating the node embedding representation Z of each snapshot. (t) , the design of GRU is:

[0092] R (t) =σ(W r [Z (t-1) , P(t) ]),

[0093] Q (t) =σ(W u [Z (t-1) , P (t) ]),

[0094]

[0095]

[0096] Among them, 1 is a full 1 matrix, [,] represents the concatenation operation, ⊙ represents the Hadamard product, W r , W u and W h is a trainable weight matrix; Z (0) Initialize to zero matrix; R (t) Represents the reset gate, which is used to control the contribution of historical snapshot information to the current candidate hidden state; Q (t) It is the update gate, which is used to balance the influence of the candidate hidden state at the current moment and the historical snapshot information; It is a candidate hidden state, which combines the adjustment results of the current snapshot information and the historical snapshot information to represent the potential state at the current moment.

[0097] In some embodiments, detecting community member migration information according to the node embedding comprises the following steps:

[0098] Embed Z for snapshot nodes at two different times (t) and Z (t′) The k-means clustering algorithm is applied separately to generate pseudo labels of the community to which each node belongs;

[0099] After one-hot encoding, we get the community membership matrix F (t) and F (t′) ;

[0100] F (t) Multiply it by its transpose to generate the common community indicator matrix O (t) ; F (t′) Multiply it by its transpose to generate the common community indicator matrix O (t′) ; The common community indicator matrix is ​​used to characterize the community affiliation of node pairs in the same snapshot;

[0101] The stable node matrix S is generated from the snapshots at time t and t′ by the following formula (t,t′) and the unstable node matrix U (t,t′) :

[0102] S (t,t′) =(O (t) ⊙O (t′))-I,

[0103]

[0104] in, Denotes the matrix O (t) and O (t′) Element-wise XOR operation of ; I represents the identity matrix.

[0105] In some embodiments, when detecting community member migration information, retaining the non-smoothness of the local network structure includes the following steps:

[0106] HSIC is introduced to measure the embedding Z of two different snapshots (t) and Z (t′) The dependence between them, the expression of this process is: where tr(·) represents the trace of the matrix, K and L are embeddings of Z (t) and Z (t′) Gramian Matrix; M is the centering matrix, which is defined as N is the number of nodes in the current snapshot;

[0107] By minimizing HSIC, the embedding similarity between different snapshots is constrained, while preserving their uniqueness.

[0108] In some embodiments, constructing a contrast loss function of any two snapshots comprises the following steps:

[0109] Construct contrastive learning loss and HSIC loss;

[0110] Among them, for contrastive learning loss, intra-view contrastive learning and inter-view contrastive learning are designed; intra-view contrastive learning focuses on nodes within a single snapshot, considering nodes and their direct neighbors as positive samples and non-neighbor nodes as negative samples; inter-view contrastive learning focuses on stable nodes and unstable nodes, which are identified by community member migration detection mechanism in multiple snapshots;

[0111] A given node and its stable nodes are regarded as positive samples, and a given node and its unstable nodes are regarded as negative samples. Based on this, from the perspective of a given node i, the contrast loss function of any two snapshots at time t and t′ is defined as: Among them, pos and neg are calculated by the following methods:

[0112]

[0113]

[0114] in, is the temperature coefficient, which is used to control the distribution concentration. represents all neighbors of the i-th node in the t-th snapshot; pos and neg represent the similarity measures between a given node i and its positive and negative samples, respectively; and Respectively indicate whether node i and node j are mutually stable or unstable nodes at time t and t′; It is a similarity measure used to measure the similarity between different node embeddings;

[0115] A sliding window of size w is introduced to determine the number of snapshots for contrastive learning. The overall contrastive learning objective is designed as follows:

[0116]

[0117] The final loss function is obtained based on contrastive learning loss and HSIC loss.

[0118] In some embodiments, the training of the graph convolutional network and obtaining a dynamic community discovery result based on the trained graph convolutional network includes the following steps:

[0119] The final loss function is used as the objective function, and the sliding window, balancing parameters, number of iterations, number of graph convolutional network layers and dimensions of each layer, and the MLP dimension in the projection head are set;

[0120] Iteratively update the graph convolutional network parameters, and obtain the final embedding of each snapshot node after the training loss converges;

[0121] K-means clustering is used to determine the community where any snapshot node is located.

[0122] The following describes the specific implementation process of the embodiment of the present invention in detail by taking a specific application scenario as an example:

[0123] In view of the problems existing in the existing dynamic community discovery methods, the present invention proposes a method based on contrastive learning of member migration information. The method first obtains node embedding based on a graph convolutional network, and introduces a gated recurrent unit (GRU) to capture the historical information of node migration in the dynamic network. In order to make full use of the community member migration information, a community member migration detection mechanism is proposed, and this migration information is used as an additional contrastive learning self-supervision signal. At the same time, in order to capture the local non-smoothness of the snapshot network structure, the Hilbert-Schmidt independence criterion (HSIC) is used to constrain the similarity of node embeddings of different snapshots. Finally, the graph convolutional network is jointly optimized by contrastive learning loss and HSIC loss, thereby effectively discovering high-quality dynamic communities. The specific operation steps are as follows:

[0124] Step 1: Formalize the dynamic network. The dynamic network is formally represented as G = (G (1), G (2) , ..., G (T) ), where T represents the number of snapshots of the dynamic network. For the snapshot G at time t (t) =(V (t) , E (t) ), V (t) and E (t) Respectively represent G (t) The node set and edge set of .

[0125] Step 2: Get node embedding. In order to map nodes to the latent space and effectively capture the complex relationship between nodes, a multi-layer graph convolutional network GCN is used as the encoder. The definition of the l-th layer GCN is as follows:

[0126]

[0127] in, and Represent the adjacency matrix and degree matrix of the input network respectively, I is the identity matrix, W l is a trainable weight matrix, and σ is a nonlinear activation function (such as ReLU). For the snapshot at time t, the node embedding corresponding to the encoder output is represented by the matrix H (t) In order to further enhance the distinguishability of node embeddings, a projection head is added after the GCN encoder to perform nonlinear transformation on the embeddings to obtain the node matrix P (t) :

[0128] P (t) =f proj (H (t) ),

[0129] Among them, f proj (·) consists of two multi-layer perceptrons (MLPs). Subsequently, by introducing GRU, the historical information of the dynamic network is integrated into the embedded representation of the snapshot, and finally the node embedding representation Z of each snapshot is generated. (t) , the design of GRU is as follows:

[0130] R (t) =σ(W r [Z (t-1) , P (t) ]),

[0131] Q (t) =σ(W u [Z (t-1) , P (t) ]),

[0132]

[0133]

[0134] Among them, 1 is a matrix of all 1s, [,] represents a concatenation operation, ⊙ represents the Hadamard product, and W r , W u and W h is a trainable weight matrix. In particular, Z (0) Initialize the matrix to zeros.

[0135] Step 3: Detect community member migration information. In order to identify stable nodes and unstable node sets in different snapshots, a community member migration detection mechanism is designed. The motivation for its design is to analyze the migration pattern of community member relationships over time. This migration information can be used as an additional supervisory signal in contrastive learning to enhance the model's ability to capture the dynamic behavior of the network. First, the snapshot nodes at two different times are embedded in Z. (t) and Z (t′) The k-means clustering algorithm is applied to generate pseudo labels for the communities to which each node belongs. After one-hot encoding, the community membership matrix F is obtained. (t) and F (t′) Then, F (t) (F (t′) ) and multiply it by its transpose to generate the common community indicator matrix O (t) (O (t′) ). This matrix intuitively represents the community affiliation of node pairs in the same snapshot, where 1 means that the two nodes belong to the same community and 0 means that they belong to different communities. Finally, the stable node matrix S ( t,t′ ) and the unstable node matrix U (t ,t′) :

[0136] S (t,t′) =(O (t) ⊙O (t′) )-I,

[0137]

[0138] in, Denotes the matrix O (t) and O (t′) Element-wise XOR operation.

[0139] Step 4: Preserve the non-smoothness of the local network structure. The migration behavior of community members will cause a sudden change in the local network structure of the snapshot, resulting in non-smooth changes in node embedding. To capture this non-smoothness, HSIC is further introduced to measure the embedding Z of two different snapshots. (t) and Z (t′) Dependencies between:

[0140]

[0141] where tr(·) represents the trace of the matrix, K and L are embeddings of Z (t) and Z (t′) The Gramian matrix (GramianMatrix). M is the centering matrix, which is defined as N is the number of nodes in the current snapshot. By minimizing HSIC, the embedding similarity between different snapshots can be constrained and their uniqueness can be retained, thereby preserving the local non-smooth information of the snapshot.

[0142] Step 5: Construct the loss function. The loss function mainly consists of two parts: contrastive learning loss and HSIC loss. Considering that a given dynamic graph consists of multiple snapshots (regarded as different views), two forms of contrastive learning are designed: intra-view contrastive learning and inter-view contrastive learning. Intra-view contrastive learning focuses on nodes within a single snapshot, considering nodes and their direct neighbors as positive samples and non-neighbor nodes as negative samples. This strategy can enhance the cohesion of the community structure. Inter-view contrastive learning focuses on stable nodes and unstable nodes, which are identified by a community member migration detection mechanism in multiple snapshots. Specifically, a given node and its stable nodes are regarded as positive samples, and a given node and its unstable nodes are regarded as negative samples. Based on this, from the perspective of a given node i, the contrastive loss function of any two snapshots at times t and t′ is defined:

[0143]

[0144] Among them, pos and neg are calculated by the following methods:

[0145]

[0146]

[0147] in, is the temperature coefficient, which is used to control the distribution concentration. represents the set of all neighbor nodes of the ith node in the tth snapshot. In order to improve computational efficiency, a sliding window of size w is introduced to determine the number of snapshots for contrastive learning. The overall contrastive learning objective is designed as follows:

[0148]

[0149] In addition to the above contrastive learning loss, the HSIC loss designed earlier is also combined to encourage node embedding to preserve the local non-smoothness of the network structure:

[0150]

[0151] By joint and Get the final loss function

[0152]

[0153] Among them, α is a hyperparameter used to balance contribution.

[0154] Step 6: Train the graph convolutional network and obtain dynamic community discovery results. As the objective function, set the sliding window w, the balance parameter α, the number of iterations epochs, the number of graph convolutional network layers and the dimensions of each layer, and the MLP dimension in the projection head. Iterate and update the graph convolutional network parameters, and obtain the final embedding of each snapshot node after the training loss converges. Then use k-means clustering to determine the community where any snapshot node is located.

[0155] Compared with the existing dynamic community discovery methods, the main advantage of this method is that it can effectively mine and utilize the migration information of community members and use it as supervisory information to guide the representation learning process of nodes. In addition, the introduction of HSIC constraints effectively retains the non-smoothness of the snapshot local network structure caused by the migration of community members, further enhancing the embedded representation of nodes, which is conducive to achieving high-quality dynamic community discovery.

[0156] The implementation process is further described below with reference to the accompanying drawings:

[0157] like Figure 3 As shown, in this example, the number of snapshots is 3, the number of communities is 2, and the number of graph convolutional network layers is 2.

[0158] Step 1: Formalize the dynamic network. The dynamic network is formally represented as G = (G (1) , G (2) , G (3) ). (1) =(V (1) , E (1) ), G (2) =(V (2) , E (2) ), G (3) =(V (3) , E (3) ). Node set V (1) =V (2) =V (3) = {v1, v2, v3, v4, v5, v6, v7, v8), the edge set changes with time, and is E (1) ={e 14 , e 15 , e 23 , e25 , e 45 , e 47 , e 56 , e 67 , e 68 , e 78}, E (2) ={c 14 , e 23 , e 35 , e 36 , e 45 , e 57 , e 68 , e 78} and E (3) ={e 14 , e 15 , e 23 , e 36 , e 45 , e 56 , e 67 , e 68 , e 78}. Figure 4 is an example of a dynamic network where the topology of the graph changes over time.

[0159] Step 2: Get node embedding. Let the number of layers of the graph convolutional network be l = 2, and initialize the embedding H (0) =I, G is obtained based on the following function (t) The node embedding matrix of is:

[0160]

[0161]

[0162] For the snapshot at time t, the corresponding node embedding output by the graph convolutional network encoder is represented by the matrix H (t) . (t) Perform nonlinear transformation to obtain the node matrix P (t) :

[0163] P (t) =f proj (H (t) )

[0164] Finally, embed the nodes of each snapshot obtained by GRU into Z (1) , Z (2) and Z (3) :

[0165] R (t) =σ(W r [Z (t-1) , P (t) ]),

[0166] Q (t) =σ(W u [Z (t-1) , P (t) ]),

[0167]

[0168]

[0169] Step 3: Detect community member migration information. Use the k-means algorithm to embed the obtained nodes and use one-hot encoding to obtain the community membership matrix F (t) . (t) (F (t′) ) and its transpose to obtain the common community indicator matrix O (t) (O (t′) ). Finally, we can get the stable node matrix S (t,t′) and the unstable node matrix U (t,t′) :

[0170] S (t,t′) =(O (t) ⊙O (t′) )-I,

[0171]

[0172] Step 4: Preserve the non-smoothness of the local network structure. Based on the obtained node embedding, calculate the HSIC between different snapshots in the sliding window:

[0173]

[0174]

[0175] Step 5: Construct the loss function. From the perspective of a given node i, the comparison loss function of any two snapshots at time t and t′ is:

[0176]

[0177] Among them, pos and neg are calculated by the following methods:

[0178]

[0179]

[0180] The total contrastive learning loss is:

[0181]

[0182] In addition, the design of HSIC loss is as follows:

[0183]

[0184] By joint and Get the final loss

[0185]

[0186] Step 6: Train the graph convolutional network and obtain dynamic community discovery results. Set the number of iterations to 200, the learning rate to 0.001, and train the graph convolutional network to obtain the final representation Z of each snapshot. (1) , Z (2) and Z (3) , and apply k-means clustering to obtain dynamic community discovery results, where:

[0187] For G (1) and G (2) The stable matrix and unstable matrix of are:

[0188]

[0189] For G (2) and G (3) The stable matrix and unstable matrix of are:

[0190]

[0191] Node embedding Z of the 3 snapshots (1) , Z (2) and Z (3) for:

[0192]

[0193]

[0194]

[0195] Based on Z (1) , Z (2) and Z (3) , the community division results of each snapshot are obtained through k-means clustering: C1 (1) ={v1, v2, v3, v4, v5}, C2 (1) ={v6, v7, v8}, C1 (2) ={v1, v4, v5, v7}, C2 (2) ={v2, v3, v6, v8}, C1 (3) = {v1, v4, v5} and C2 (3) ={v2, v3, v6, v7, v8}.

[0196] like Figure 5 As shown, for Figure 4 The dynamic network example shown is a result of community discovery obtained by the method of the embodiment of the present invention, wherein different colors represent different communities.

[0197] Another aspect of the embodiment of the present invention further provides a dynamic community discovery system based on comparative learning of member migration information, including:

[0198] A first module is used to formally represent a dynamic network according to a number of snapshots of the dynamic network, wherein the dynamic network is used to determine a node set and an edge set;

[0199] The second module is used to obtain node embeddings based on the formal representation of the dynamic network;

[0200] A third module is used to detect community member migration information based on the node embedding;

[0201] The fourth module is used to preserve the non-smoothness of the local network structure when detecting the migration information of community members, so as to preserve the local non-smoothness information of the snapshot;

[0202] The fifth module is used to construct a contrast loss function of any two snapshots to train the graph convolutional network, and obtain dynamic community discovery results based on the trained graph convolutional network.

[0203] It can be understood that the contents of the above method embodiments are all applicable to the present system embodiments, the functions specifically implemented by the present system embodiments are the same as those of the above method embodiments, and the beneficial effects achieved are also the same as those achieved by the above method embodiments.

[0204] The embodiment of the present invention further provides an electronic device, the electronic device includes a memory and a processor, the memory stores a computer program, and the processor implements the above-mentioned dynamic community discovery method based on comparative learning of member migration information when executing the computer program. The electronic device can be any intelligent terminal including a tablet computer, a car computer, etc.

[0205] It can be understood that the contents of the above method embodiments are all applicable to the present device embodiments, the functions specifically implemented by the present device embodiments are the same as those of the above method embodiments, and the beneficial effects achieved are also the same as those achieved by the above method embodiments.

[0206] See also Figure 6 , Figure 6 The hardware structure of an electronic device of another embodiment is illustrated, and the electronic device includes:

[0207] The processor 601 may be implemented by a general-purpose CPU (Central Processing Unit), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided in the embodiments of the present invention;

[0208] The memory 602 can be implemented in the form of a read-only memory (ROM), a static storage device, a dynamic storage device, or a random access memory (RAM). The memory 602 can store an operating system and other application programs. When the technical solution provided in the embodiment of this specification is implemented by software or firmware, the relevant program code is stored in the memory 602, and the processor 601 calls and executes the dynamic community discovery method based on member migration information comparative learning of the embodiment of the present invention;

[0209] Input / output interface 603, used to implement information input and output;

[0210] Communication interface 604, used to realize communication interaction between the device and other devices, which can be realized through wired mode (such as USB, network cable, etc.) or wireless mode (such as mobile network, WI FI, Bluetooth, etc.);

[0211] Bus 605 , which transmits information between various components of the device (e.g., processor 601 , memory 602 , input / output interface 603 , and communication interface 604 );

[0212] The processor 601 , the memory 602 , the input / output interface 603 and the communication interface 604 are connected to each other in communication within the device via a bus 605 .

[0213] An embodiment of the present invention further provides a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the above-mentioned dynamic community discovery method based on comparative learning of member migration information.

[0214] It can be understood that the contents of the above method embodiments are all applicable to the present storage medium embodiments, the functions specifically implemented by the present storage medium embodiments are the same as those of the above method embodiments, and the beneficial effects achieved are also the same as those achieved by the above method embodiments.

[0215] The memory, as a non-transient computer-readable storage medium, can be used to store non-transient software programs and non-transient computer executable programs. In addition, the memory may include a high-speed random access memory, and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some embodiments, the memory may optionally include a memory remotely disposed relative to the processor, and these remote memories may be connected to the processor via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0216] It should be noted that in various specific embodiments of the present invention, when it comes to the need to perform relevant processing based on data related to user identity or characteristics such as user information, user behavior data, user historical data, and user location information, the user's permission or consent will be obtained first, and the collection, use, and processing of these data will comply with relevant laws, regulations, and standards. In addition, when the embodiment of the present invention needs to obtain the user's sensitive personal information, it will obtain the user's separate permission or consent through a pop-up window or jump to a confirmation page, and after clearly obtaining the user's separate permission or consent, it will obtain the necessary user-related data for the normal operation of the embodiment of the present invention.

[0217] The embodiments described in the embodiments of the present invention are intended to more clearly illustrate the technical solutions of the embodiments of the present invention, and do not constitute a limitation on the technical solutions provided by the embodiments of the present invention. Those skilled in the art can appreciate that with the evolution of technology and the emergence of new application scenarios, the technical solutions provided by the embodiments of the present invention are also applicable to similar technical problems.

[0218] Those skilled in the art will appreciate that the technical solutions shown in the figures do not limit the embodiments of the present invention and may include more or fewer steps than shown in the figures, or a combination of certain steps, or different steps.

[0219] The device embodiments described above are merely illustrative, and the units described as separate components may or may not be physically separated, that is, they may be located in one place or distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0220] Those skilled in the art will appreciate that all or some of the steps in the methods disclosed above, and the functional modules / units in the systems and devices may be implemented as software, firmware, hardware, or a suitable combination thereof.

[0221] The terms "first", "second", "third", "fourth", etc. (if any) in the specification of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0222] It should be understood that in the present invention, "at least one (item)" refers to one or more, and "plurality" refers to two or more. "And / or" is used to describe the association relationship of associated objects, indicating that three relationships may exist. For example, "A and / or B" can represent: only A exists, only B exists, and A and B exist at the same time, where A and B can be singular or plural. The character " / " generally indicates that the previous and next associated objects are in an "or" relationship. "At least one of the following items" or similar expressions refers to any combination of these items, including any combination of single items or plural items. For example, at least one of a, b or c can represent: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, c can be single or multiple.

[0223] In the several embodiments provided by the present invention, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the above units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0224] The units described above as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0225] In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.

[0226] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product. The computer software product is stored in a storage medium, including multiple instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the methods of various embodiments of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), disk or optical disk, etc., various media that can store programs.

[0227] The preferred embodiments of the present invention are described above with reference to the accompanying drawings, but the scope of the rights of the embodiments of the present invention is not limited thereby. Any modification, equivalent substitution and improvement made by those skilled in the art without departing from the scope and essence of the embodiments of the present invention shall be within the scope of the rights of the embodiments of the present invention.

Claims

1. A dynamic community discovery method based on comparative learning of member migration information, characterized in that: The following steps are involved: Formally representing the dynamic network according to a number of snapshots of the dynamic network, wherein the dynamic network is used to determine a set of nodes and a set of edges; Obtain node embeddings based on the formal representation of the dynamic network; Detecting community member migration information based on the node embedding; When detecting community member migration information, the non-smoothness of the local network structure is retained to preserve the local non-smoothness information of the snapshot; A contrast loss function of any two snapshots is constructed to train the graph convolutional network, and dynamic community discovery results are obtained based on the trained graph convolutional network.

2. According to claim 1, a dynamic community discovery method based on comparative learning of member migration information is characterized in that: The dynamic network is formally represented according to the number of snapshots of the dynamic network, specifically: The dynamic network G (t) The formal expression is G = (G (1) , G (2) , ..., G (T) ), where T represents the number of snapshots of the dynamic network; For a snapshot G at time t (t) =(V (t) , E (t) ), V (t) and E (t) Respectively represent G (t) The node set and edge set of .

3. According to claim 1, a dynamic community discovery method based on comparative learning of member migration information is characterized in that: The step of obtaining node embedding according to the formal representation of the dynamic network includes the following steps: A multi-layer graph convolutional network GCN is used as the encoder, where the definition of the l-th layer GCN is as follows: in, and Represent the adjacency matrix and degree matrix of the input network respectively, I is the identity matrix, W l is a trainable weight matrix, σ is a nonlinear activation function; for the snapshot at time t, the node embedding corresponding to the encoder output is represented by the matrix H (t) ; Add a projection head after the GCN encoder to perform nonlinear transformation on the embedding to obtain the node matrix P (t) :P (t) =f proj (H (t) ), where f proj (·) It consists of two multi-layer perceptrons (MLPs); GRU is introduced to integrate the historical information of the dynamic network into the embedded representation of the snapshot, generating the node embedding representation Z of each snapshot. (t) , the design of GRU is: R (t) =σ(W r [WITH (t-1) ,P (t) ]), Q (t) =σ(W u [Z (t-1) ,P (t) ]), Among them, 1 is a full 1 matrix, [,] represents the concatenation operation, ⊙ represents the Hadamard product, W r , W u and W u is a trainable weight matrix; Z (0) Initialize to zero matrix; R (t) Represents the reset gate, which is used to control the contribution of historical snapshot information to the current candidate hidden state; Q (t) It is the update gate, which is used to balance the influence of the candidate hidden state at the current moment and the historical snapshot information; It is a candidate hidden state, which combines the adjustment results of the current snapshot information and the historical snapshot information to represent the potential state at the current moment.

4. According to claim 1, a dynamic community discovery method based on comparative learning of member migration information is characterized in that: The detecting community member migration information according to the node embedding comprises the following steps: Embed Z for snapshot nodes at two different times (t) and Z (t′) The k-means clustering algorithm is applied separately to generate pseudo labels of the community to which each node belongs; After one-hot encoding, we get the community membership matrix F (t) and F (t′) ; F (t) Multiply it by its transpose to generate the common community indicator matrix O (t) ; F (t′) Multiply it by its transpose to generate the common community indicator matrix O (t′) ; The common community indicator matrix is ​​used to characterize the community affiliation of node pairs in the same snapshot; The stable node matrix S is generated from the snapshots at time t and t′ by the following formula (t,t′) and the unstable node matrix U (t,t′) : S (t,t′) =(O (t) ☉O (t′) )-I, in, Denotes the matrix O (t) and O (t′) Element-wise XOR operation of ; I represents the identity matrix.

5. The method for dynamic community discovery based on comparative learning of member migration information according to claim 1, characterized in that: When detecting community member migration information, retaining the non-smoothness of the local network structure includes the following steps: HSIC is introduced to measure the embedding Z of two different snapshots (t) and Z (t′) The dependence between them, the expression of this process is: where tr(·) represents the trace of the matrix, K and L are embeddings of Z (t) and Z (t′) Gramian Matrix; M is the centering matrix, which is defined as N is the number of nodes in the current snapshot; By minimizing HSIC, the embedding similarity between different snapshots is constrained, while preserving their uniqueness.

6. A dynamic community discovery method based on comparative learning of member migration information according to claim 1, characterized in that: The step of constructing a comparison loss function of any two snapshots includes the following steps: Construct contrastive learning loss and HSIC loss; Among them, for contrastive learning loss, intra-view contrastive learning and inter-view contrastive learning are designed; intra-view contrastive learning focuses on nodes within a single snapshot, considering nodes and their direct neighbors as positive samples and non-neighbor nodes as negative samples; inter-view contrastive learning focuses on stable nodes and unstable nodes, which are identified by community member migration detection mechanism in multiple snapshots; A given node and its stable nodes are regarded as positive samples, and a given node and its unstable nodes are regarded as negative samples. Based on this, from the perspective of a given node i, the contrast loss function of any two snapshots at time t and t′ is defined as: Among them, pos and neg are calculated by the following methods: Where τ is the temperature coefficient, which is used to control the distribution concentration. represents all neighbors of the i-th node in the t-th snapshot; pos and neg represent the similarity measures between a given node i and its positive and negative samples, respectively; and Respectively indicate whether node i and node j are mutually stable or unstable nodes at time t and t′; It is a similarity measure used to measure the similarity between different node embeddings; A sliding window of size w is introduced to determine the number of snapshots for contrastive learning. The overall contrastive learning objective is designed as follows: The final loss function is obtained based on contrastive learning loss and HSIC loss.

7. The method for dynamic community discovery based on comparative learning of member migration information according to claim 1, characterized in that: The training of the graph convolutional network and obtaining a dynamic community discovery result according to the trained graph convolutional network includes the following steps: The final loss function is used as the objective function, and the sliding window, balancing parameters, number of iterations, number of graph convolutional network layers and dimensions of each layer, and the MLP dimension in the projection head are set; Iteratively update the graph convolutional network parameters, and obtain the final embedding of each snapshot node after the training loss converges; K-means clustering is used to determine the community where any snapshot node is located.

8. A dynamic community discovery system based on comparative learning of member migration information, characterized in that: include: A first module is used to formally represent a dynamic network according to a number of snapshots of the dynamic network, wherein the dynamic network is used to determine a node set and an edge set; The second module is used to obtain node embeddings based on the formal representation of the dynamic network; A third module is used to detect community member migration information based on the node embedding; The fourth module is used to preserve the non-smoothness of the local network structure when detecting the migration information of community members, so as to preserve the local non-smoothness information of the snapshot; The fifth module is used to construct a contrast loss function of any two snapshots to train the graph convolutional network, and obtain dynamic community discovery results based on the trained graph convolutional network.

9. An electronic device, characterized in that: including a processor and a memory; The memory is used to store programs; The processor executes the program to implement the method according to any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that: The storage medium stores a program, and the program is executed by a processor to implement the method according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Dynamic social user alignment method based on GCN

    CN112487305A

  • Media content recommendation method, system and equipment based on dynamic network representation learning

    CN117312651A

  • Ocean data online prediction and detection method and system based on time convolutional network

    CN118395204A

  • Systems and methods for prediction of anomalies

    US20200136923A1