Balancing Vector Clustering for Consistent Similarity Search Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing similarity calculation systems face varying processing times when determining the most similar target vector to a query vector, due to differing calculation costs across clusters, leading to inconsistent results.

Innovation Solution

A similarity calculation system that clusters target vectors based on estimated calculation amounts, ensuring a balanced distribution of calculation costs across clusters, thereby equalizing processing time for similarity searches.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If target vectors are clustered and similarity is calculated for all vectors in the selected cluster, then the most similar target vector can be determined, but the processing time varies greatly depending on the cluster selection

Engineering Contradiction:
Improvesimilarity calculation accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent segments the target vectors into multiple clusters based on their calculation costs. By dividing the large set of target vectors into smaller clusters with balanced calculation amounts, the system can process similarity calculations more efficiently while maintaining accuracy. The segmentation is performed by estimating calculation amounts for each vector and grouping them to minimize the difference in total calculation amounts between clusters.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new parameter - calculation amount estimation - to guide the clustering process. By estimating the calculation amount required for each target vector based on its characteristics (such as the number of non-zero elements), the system can create clusters with balanced computational loads, thereby equalizing processing time across different clusters while preserving similarity calculation accuracy.

Inventive Principle:
Principle #35Parameter changes

2Loss of time

If clustering is performed based on calculation amount estimation, then processing time is equalized across clusters, but additional calculation overhead is introduced for estimating calculation amounts

Engineering Contradiction:
Improveprocessing time equalityVSAvoidclustering complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent performs preliminary action by estimating the calculation amount for each target vector before the actual similarity calculation. This estimation is done once during the clustering phase, and the results are reused for subsequent queries. The preliminary estimation enables the system to create balanced clusters in advance, avoiding the need for complex real-time adjustments during similarity searches.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses the inherent characteristics of the target vectors (such as the number of non-zero elements) to estimate their own calculation amounts. Each vector's structure provides the information needed for its own clustering assignment, eliminating the need for external complex evaluation mechanisms. The vectors essentially self-categorize based on their computational requirements.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10140342B2Similarity calculation system, method of calculating similarity, and program
Publication Date: 2018.11.27 RAKUTEN GROUP INC
  • US10140342B2 patent drawing
  • US10140342B2 patent drawing
  • US10140342B2 patent drawing

AI summary

Provided is a similarity calculation system for equalizing the time for calculating a similarity between target vectors and a query vector. The similarity calculation system includes target vector acquisition part for acquiring a plurality of target vectors, and clustering part for clustering the plurality of target vectors based on a calculation amount to be estimated for each of the plurality of target vectors, the calculation amount being estimated when calculating a similarity between each of the plurality of target vectors and a given reference query vector, so that a difference in total calculation amount for a similarity between all of the target vectors belonging to each of a plurality of clusters and the given reference query vector among the plurality of clusters decreases.