Bipartite Graph Similarity Ranking via Subgraph Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Computing similarity rankings in large bipartite graphs is challenging due to the sheer amount of data, especially in lopsided graphs where one set of nodes is significantly smaller than the other, making real-time processing cost- and time-prohibitive.
Innovation Solution
The approach involves reducing a bipartite graph into multiple subgraphs using a reduction operator and aggregating these subgraphs using an aggregation operator to determine similarity rankings, allowing for pre-computation of minimal information needed for on-the-fly personalized similarity rankings, with flexibility in using various similarity metrics.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If similarity rankings are computed on large bipartite graphs using traditional methods, then measurement precision is maintained, but loss of time increases and productivity decreases
Solution Approach 1:
The patent divides the large bipartite graph into multiple smaller subgraphs based on connected components. Each subgraph contains a subset of nodes and edges from the original graph. By computing similarity rankings on these smaller subgraphs independently, the computation time is significantly reduced while maintaining the same ranking accuracy as computing on the full graph.
Solution Approach 2:
The patent performs preliminary processing by pre-computing and storing the subgraph structure, including node memberships and edge relationships, before similarity ranking computations are needed. This preprocessing step organizes the data in a way that enables efficient querying and computation, reducing the time required for actual similarity calculations.
2Measurement precision
If similarity rankings are computed on large bipartite graphs using traditional methods, then measurement precision is maintained, but productivity decreases
Solution Approach 1:
The patent segments the large graph into smaller subgraphs, allowing parallel processing and reducing the computational burden on single processing units. This segmentation enables faster computation while maintaining the precision of similarity measurements through proper handling of node relationships across subgraphs.
Solution Approach 2:
The patent computes similarity rankings only on the relevant subgraphs that contain the query nodes, rather than processing the entire graph. This partial action approach computes only the necessary portions of the graph needed to answer specific queries, significantly improving productivity while maintaining accuracy for the requested rankings.
3Speed
If the bipartite graph is processed in real-time, then speed improves, but device complexity increases
Solution Approach 1:
The patent performs preliminary organization of the bipartite graph into pre-defined subgraphs with stored node memberships and edge relationships. This preprocessing creates a structured format that enables real-time querying without requiring complex runtime graph processing, thus achieving speed improvement without proportionally increasing device complexity.
Solution Approach 2:
By segmenting the graph into smaller subgraphs, the patent reduces the complexity of real-time processing operations. Each subgraph can be processed independently with simpler algorithms, and the results are aggregated to provide real-time rankings. This segmentation makes the real-time system more manageable and less complex than processing the entire graph at once.
Data Source
AI summary
Systems and methods offer an efficient approach to computing similarity rankings in bipartite graphs. An example system includes at least one processor and memory storing a bipartite graph having a first set and a second set of nodes, with nodes in the first set being connected to nodes in the second set by edges. The memory also stores instructions that, when executed by the at least one processor, cause the system to assign each node in the second set to one of a plurality of categories and, for each of the plurality of categories, generate a subgraph. The subgraph comprises of a subset of nodes in the first set and edges linking the nodes in the subset, where the nodes in the subset are selected based on connection to a node in the second set that is assigned to the category. The system uses the subgraph to respond to queries.


