IP Library Granted Patent US 12,360,849
Granted Patent B2
US 12,360,849 · App. 18/353,612 · Granted Jul 15, 2025

Automated search evaluation

Inventors: Piyush Prahladka (Los Altos, CA); Eddie Zhou (Redwood City, CA); Arjun Landes (San Francisco, CA); Sumeet Sobti (Fremont, CA); Rui Wu (Sunnyvale, CA); Divyansh Agarwal (San Francisco, CA); Sagar Vare (Mountain View, CA); Nikhil Mandava (Fremont, CA); James Ma (Sunnyvale, CA); Mrinal Mohit (San Francisco, CA); Calvin Qi (San Francisco, CA); Chau Hai Tran (New York, NY); Lauren Zhu (San Francisco, CA); Neil Dhruva (San Francisco, CA); Justin Nicholas Borromeo (San Mateo, CA)
Assignee: Glean Technologies, Inc.
G06F11/1433G06F11/3466G06F21/6218G06F2221/2113G06F2221/2141
View Patent ↗
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 12,360,849
App. No.
18/353,612
Granted
Jul 15, 2025
Kind
B2
Abstract

Methods and apparatuses for dynamically generating and applying automated search evaluation sets to improve search results and to automatically detect and correct search system issues are described. A search evaluation set may comprise a set of search evaluation vectors that each map a search query and corresponding properties of the search query to a canonical search result. To detect search system issues over time, baseline search result rankings may be periodically generated or automatically generated after software updates to the search system have been made. Two consecutive baseline search result rankings using the same search evaluation set may then be compared to detect result deviations in search result rankings. If the search system detects that at least a threshold number of result deviations have occurred, then the search system may perform subsequent actions to automatically detect and correct search system issues.

Claims (55)

1. A search system, comprising:

a storage device configured to store a set of search evaluation vectors; and

one or more processors in communication with the storage device configured to:

generate a first set of search result rankings at a first point in time using the set of search evaluation vectors;

generate a second set of search result rankings at a second point in time subsequent to the first point in time using the set of search evaluation vectors;

compute a set of search result deviations between the first set of search result rankings and the second set of search result rankings based on degree of confidence values associated with the set of search evaluation vectors;

detect that an anomaly has occurred to the search system based on the set of search result deviations; and

undo an update to the search system occurring between the first point in time and the second point in time in response to detection that the anomaly has occurred to the search system based on the set of search result deviations, the update to the search system comprises a software update to the search system.

2. The system of claim 1 , wherein:

the one or more processors are configured to update the second set of search result rankings using the set of search evaluation vectors subsequent to the update to the search system being undone, recompute the set of search result deviations using the first set of search result rankings and the updated second set of search result rankings, and detect that at least a threshold number of result deviations exist within the recomputed set of search result deviations.

3. The system of claim 2 , wherein:

the one or more processors are configured to test for a loss of access to a data source in response to detection that at least the threshold number of result deviations exist within the set of search result deviations.

4. The system of claim 1 , wherein:

the one or more processors are configured to detect that a first search evaluation vector of the set of search evaluation vectors has not been renewed within a threshold period of time and remove the first search evaluation vector from the set of search evaluation vectors.

5. The system of claim 1 , wherein:

the one or more processors are configured to detect that a document corresponding with a canonical search result for a second search evaluation vector of the set of search evaluation vectors is no longer accessible by the search system and remove the second search evaluation vector from the set of search evaluation vectors.

6. A method for operating a search system, comprising:

acquiring a set of search evaluation vectors;

generating a first set of search result rankings at a first point in time using the set of search evaluation vectors;

detecting an update to the search system subsequent to the first point in time;

generating a second set of search result rankings at a second point in time subsequent to the first point in time using the set of search evaluation vectors in response to detecting the update to the search system;

computing a set of search result deviations using the first set of search result rankings and the second set of search result rankings, the computing the set of search result deviations includes computing the set of search result deviations based on degree of confidence values for each of the set of search evaluation vectors;

detecting that an anomaly has occurred to the search system based on the set of search result deviations; and

undoing the update to the search system in response to detecting that the anomaly has occurred to the search system, the undoing the update to the search system includes rolling back a software update to the search system.

7. The method of claim 6 , further comprising:

regenerating the second set of search result rankings using the set of search evaluation vectors subsequent to undoing the update to the search system;

recomputing the set of search result deviations using the first set of search result rankings and the regenerated second set of search result rankings; and

detecting that at least a threshold number of result deviations exist within the set of search result deviations.

8. The method of claim 7 , further comprising:

testing for a loss of access to a data source in response to detecting that at least the threshold number of result deviations exist within the set of search result deviations.

9. The method of claim 6 , further comprising:

modifying the set of search evaluation vectors prior to generating the first set of search result rankings at the first point in time.

10. The method of claim 9 , wherein:

the modifying the set of search evaluation vectors includes acquiring user feedback from a first user of the search system for a particular search result, detecting that a first search evaluation vector should be added to the set of search evaluation vectors based on the user feedback, and adding the first search evaluation vector to the set of search evaluation vectors.

11. The method of claim 10 , wherein:

the user feedback includes detecting that the first user edited a document referenced by the particular search result.

12. The method of claim 10 , wherein:

the user feedback includes detecting that the first user starred the particular search result.

13. The method of claim 9 , wherein:

the modifying the set of search evaluation vectors includes detecting that a first search evaluation vector of the set of search evaluation vectors has not been renewed within a threshold period of time and removing the first search evaluation vector from the set of search evaluation vectors.

14. The method of claim 9 , wherein:

the modifying the set of search evaluation vectors includes detecting that a document corresponding with a canonical search result for a second search evaluation vector of the set of search evaluation vectors has been removed from the search system and removing the second search evaluation vector from the set of search evaluation vectors.

15. The method of claim 6 , wherein:

the set of search evaluation vectors includes a search evaluation triplet comprising a search query, a group identifier associated with the search query, and a canonical search result for the search query and the group identifier.

16. The method of claim 9 , wherein:

the modifying the set of search evaluation vectors includes detecting that at least two different search users of the search system assigned to a common group identifier have starred a particular search result for a search query and adding a new search evaluation vector to the set of search evaluation vectors that comprises the search query, the common group identifier, and the particular search result.

17. The method of claim 7 , wherein:

the detecting that at least the threshold number of result deviations exist within the set of search result deviations includes detecting that at least a threshold number of negative deviations exist within the set of search result deviations.

18. One or more storage devices containing processor readable code for configuring one or more processors to perform a method for operating a search system, wherein the processor readable code configures the one or more processors to:

acquire a set of search evaluation vectors;

generate a first set of search result rankings at a first point in time using the set of search evaluation vectors;

generate a second set of search result rankings at a second point in time subsequent to the first point in time using the set of search evaluation vectors;

compute a set of search result deviations based on degree of confidence values associated with the set of search evaluation vectors, the first set of search result rankings, and the second set of search result rankings;

detect that an anomaly has occurred to the search system based on the set of search result deviations; and

undo a software update to the search system in response to detection that the anomaly has occurred to the search system.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 19, 2023
From: PRAHLADKA, PIYUSH; ZHOU, EDDIE; LANDES, ARJUN; SOBTI, SUMEET; WU, RUI; AGARWAL, DIVYANSH; VARE, SAGAR; MANDAVA, NIKHIL; MA, JAMES; MOHIT, MRINAL; QI, CALVIN; TRAN, CHAU HAI; ZHU, LAUREN; DHRUVA, NEIL; BORROMEO, JUSTIN NICHOLAS
To: GLEAN TECHNOLOGIES, INC.
Reel/Frame 064312/0973 →
Continuity (2)
Provisional Application 63485534 · Feb 16, 2023
Related Publication 20240281332A1 · Aug 22, 2024
References Cited (9)
US 10732869B2 · Striegel · 2020 [cited by examiner]
US 12072843B1 · Jain · 2024 [cited by examiner]
US 20190294524A1 · Gupta · 2019 [cited by examiner]
US 20190391901A1 · Gupta · 2019 [cited by examiner]
US 20210055926A1 · Fox · 2021 [cited by examiner]
US 20220269577A1 · Gechman · 2022 [cited by examiner]
US 20230393963A1 · Mangat · 2023 [cited by examiner]
US 20250061791A1 · Baker, Jr. · 2025 [cited by examiner]
US 20250086521A1 · Farnan · 2025 [cited by examiner]