IP Library Patent Application 14863144
Patent Application
App. No. 14/863,144

Techniques for Using Similarity to Enhance Relevance in Search Results

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
14/863,144
Abstract

Techniques include receiving a search query from a user device, performing a search for software applications using the search query, and generating a preliminary set of one or more software applications identified during the search. The techniques further include generating a similarity set of one or more software applications that are each similar to at least one of the one or more software applications of the preliminary set, generating a modified set of one or more software applications based on the preliminary set and the similarity set, and transmitting the modified set to the user device. In some examples, generating the modified set based on the preliminary set and the similarity set includes one or more of increasing a rank value of an existing software application included in the preliminary set, and adding a new software application not included in the preliminary set to the preliminary set.

Claims (75)

1 . A method comprising:

receiving a search query from a user device;

performing a search for software applications using the search query;

generating a preliminary set of one or more software applications identified during the search, wherein each of the one or more software applications of the preliminary set is associated with a rank value that indicates a relative rank of the software application among the one or more software applications of the preliminary set;

generating a similarity set of one or more software applications that are each similar to at least one of the one or more software applications of the preliminary set;

generating a modified set of one or more software applications based on the preliminary set, based on the similarity set, and based on the one or more rank values associated with the one or more software applications of the preliminary set; and

transmitting the modified set to the user device.

2 . The method of claim 1 ,

wherein performing the search for the software applications using the search query comprises identifying one or more application records included in a data store based on one or more matches between one or more terms of the search query and one or more terms included in the identified one or more application records, each application record including at least one software application, and

wherein generating the preliminary set comprises selecting the one or more software applications of the preliminary set from the identified one or more application records.

3 . The method of claim 1 , wherein generating the similarity set comprises:

for each of at least one of the one or more software applications of the preliminary set, identifying a software application;

determining a similarity value that indicates a degree of similarity of the identified software application relative to the software application of the preliminary set;

when the similarity value exceeds a threshold similarity value, including the identified software application in the similarity set; and

when the similarity value does not exceed the threshold similarity value, excluding the identified software application from the similarity set.

4 . The method of claim 1 , wherein generating the similarity set comprises generating the similarity set based on one or more of the search query and the preliminary set.

5 . The method of claim 4 , wherein generating the similarity set based on the search query comprises:

determining that the search query is sufficiently broad based on one or more terms of the search query; and

generating the similarity set in response to determining that the search query is sufficiently broad.

6 . The method of claim 4 , wherein generating the similarity set based on the preliminary set comprises at least one of:

determining that the one or more software applications of the preliminary set are sufficiently relevant to the search query based on one or more result scores associated with the preliminary set, and generating the similarity set in response to the determination; and

determining that the one or more software applications of the preliminary set are sufficiently similar to one another based on one or more similarity scores associated with the preliminary set, and generating the similarity set in response to the determination.

7 . The method of claim 1 , wherein generating the similarity set comprises:

identifying a plurality of software applications that are each similar to at least one of the one or more software applications of the preliminary set;

assigning a boost score to each of the plurality of software applications; and,

for each software application of the plurality of software applications:

when the boost score associated with the software application exceeds a threshold boost score, including the software application in the similarity set; and

when the boost score does not exceed the threshold boost score, excluding the software application from the similarity set.

8 . The method of claim 1 , wherein generating the similarity set comprises:

identifying a plurality of software applications that are each similar to at least one of the one or more software applications of the preliminary set; and

selecting the one or more software applications of the similarity set from the identified plurality of software applications based on a pre-defined set of one or more rules.

9 . The method of claim 1 , wherein generating the modified set based on the preliminary set, based on the similarity set, and based the one or more rank values comprises:

determining that a software application included in the preliminary set is also included in the similarity set;

increasing the rank value associated with the software application based on determining that the software application is included in the preliminary set and the similarity set; and

generating the modified set to include the one or more software applications of the preliminary set including the software application associated with the increased rank value.

10 . The method of claim 1 , wherein generating the modified set based on the preliminary set, based on the similarity set, and based on the one or more rank values comprises:

determining that a software application included in the similarity set is not included in the preliminary set;

adding the software application to the preliminary set based on the one or more rank values; and

generating the modified set to include the one or more software applications of the preliminary set and the software application added to the preliminary set.

11 . The method of claim 10 , wherein adding the software application included in the similarity set to the preliminary set based on the one or more rank values comprises:

generating a new rank value associated with the software application, wherein the new rank value indicates a relative rank of the software application relative to the one or more software applications of the preliminary set; and

inserting the software application among the one or more software applications of the preliminary set based on the new rank value and the one or more rank values.

12 . The method of claim 1 , wherein generating the modified set comprises generating the modified set based on one or more of the search query, the preliminary set, and the similarity set.

13 . The method of claim 12 , wherein generating the modified set based on the search query comprises:

determining that the search query is sufficiently broad based on one or more terms of the search query; and

generating the modified set in response to determining that the search query is sufficiently broad.

14 . The method of claim 12 , wherein generating the modified set based on the preliminary set comprises at least one of:

determining that the one or more software applications of the preliminary set are sufficiently relevant to the search query based on one or more result scores associated with the preliminary set, and generating the similarity set in response to the determination; and

determining that the one or more software applications of the preliminary set are sufficiently similar to one another based on one or more similarity scores associated with the preliminary set, and generating the similarity set in response to the determination.

15 . The method of claim 12 , wherein generating the modified set based on the similarity set comprises:

determining that the one or more software applications of the similarity set are sufficiently similar to the one or more software applications of the preliminary set based on one or more similarity scores associated with the similarity set and the preliminary set; and

generating the modified set in response to the determination.

16 . The method of claim 1 , wherein transmitting the modified set to the user device comprises:

determining that the one or more software applications of the modified set are more relevant to the search query than the one or more software applications of the preliminary set; and

transmitting the modified set to the user device in response to the determination.

17 . The method of claim 16 , wherein determining that the one or more software applications of the modified set are more relevant to the search query than the one or more software applications of the preliminary set comprises determining based on one or more of the search query, the preliminary set, the similarity set, and the modified set.

18 . The method of claim 1 , wherein the search query comprises a first search query included in a set of one or more specified search queries, the method further comprising:

receiving a second search query not included in the set of the one or more specified search queries from the user device;

performing a search for software applications using the second search query;

generating a set of one or more software applications identified during the search; and

transmitting the generated set to the user device without modifying the generated set.

19 . A system comprising one or more computing devices configured to:

receive a search query from a user device;

perform a search for software applications using the search query;

generate a preliminary set of one or more software applications identified during the search, wherein each of the one or more software applications of the preliminary set is associated with a rank value that indicates a relative rank of the software application among the one or more software applications of the preliminary set;

generate a similarity set of one or more software applications that are each similar to at least one of the one or more software applications of the preliminary set;

generate a modified set of one or more software applications based on the preliminary set, based on the similarity set, and based on the one or more rank values associated with the one or more software applications of the preliminary set; and

transmit the modified set to the user device.

20 . A non-transitory computer-readable storage medium comprising instructions that cause one or more computing devices to:

receive a search query from a user device;

performing a search for software applications using the search query;

generating a preliminary set of one or more software applications identified during the search, wherein each of the one or more software applications of the preliminary set is associated with a rank value that indicates a relative rank of the software application among the one or more software applications of the preliminary set;

generating a similarity set of one or more software applications that are each similar to at least one of the one or more software applications of the preliminary set;

generating a modified set of one or more software applications based on the preliminary set, based on the similarity set, and based on the one or more rank values associated with the one or more software applications of the preliminary set; and

transmitting the modified set to the user device.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2017
From: QUIXEY, INC.
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 043957/0893 →
RELEASE OF SECURITY INTEREST Recorded Oct 23, 2017
From: ALIBABA.COM U.S. INVESTMENT HOLDING CORPORATION
To: QUIXEY, INC.
Reel/Frame 044575/0410 →
SECURITY INTEREST Recorded Aug 1, 2016
From: QUIXEY, INC.
To: ALIBABA.COM U.S. INVESTMENT HOLDING CORPORATION
Reel/Frame 039521/0041 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2015
From: GLOVER, ERIC J.
To: QUIXEY, INC.
Reel/Frame 036653/0651 →