×

Similarity search using progressive inner products and bounds

  • US 10,489,468 B2
  • Filed: 08/22/2017
  • Issued: 11/26/2019
  • Est. Priority Date: 08/22/2017
  • Status: Active Grant
First Claim
Patent Images

1. A method comprising, by one or more computing systems:

  • receiving a query associated with a user;

    determining a query vector representing the query;

    accessing a plurality of n object vectors representing a plurality of n objects, respectively;

    calculating, for each of object vectors 1 to k of the plurality of n object vectors, a complete inner product of the query vector and the object vector, wherein object vectors 1 to k are identified as a set of top object vectors;

    computing, for each of object vectors k+1 to n of the plurality of n object vectors, an estimated inner product of the query vector and each object vector, wherein the estimated inner product is computed progressively using one or more partial inner products by;

    checking whether to calculate a first partial inner product based on a comparison of a bound on the estimated inner product to a minimum inner product associated with the set of top object vectors;

    calculating one or more subsequent partial inner products until a complete inner product of the query vector and the object vector is computed, each subsequent partial inner product being calculated if an updated bound on the estimated inner product is greater than the minimum inner product associated with the set of top object vectors, the updated bound being calculated with each subsequent partial inner product; and

    substituting, in the set of top object vectors, the object vector associated with the complete inner product for the object vector associated with the minimum inner product if the complete inner product is greater than the minimum inner product associated with the set of top object vectors; and

    sending, to the client system of the user, a set of references to the objects corresponding to the set of top object vectors, respectively.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×