IP Library › Granted Patent US 12,724,769
Granted Patent B2
US 12,724,769 · App. 18/917,786 · Granted Sep 1, 2026

Search-result explanation systems and methods

Inventors: Gann Bierner (Oakland, CA); Robert Weis (Oakland, CA); Kevan Craig McGowan (Oakland, CA); Joel Edward Hobson (Daly City, CA)
Assignee: Ancestry.com Operations Inc.
G06F16/24535G06F16/2228G06F16/24575G06F16/24578
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,724,769
App. No.
18/917,786
Filed
Oct 16, 2024
Granted
Sep 1, 2026
Kind
B2
Art Unit
2164
USPC
707/722
Abstract

Search-result explanation systems, methods, and computer-program products receive a user search query, expand the search query into a plurality of sub-queries, perform a database search using the expanded user search query, and determine which sub-queries of the plurality of sub-queries matched with a particular search result. Results from the database search are re-indexed in an index generated on-the-fly and in-memory, within which the results are searched using the sub-queries to determine matching fields and match types. A score is determined based on the type of match(es) with a particular search result based on one or more predefined weights and normalized using a denominator comprising a fictitious, on-the-fly record configured to receive a perfect score according to the received user search query. A user interface showing ranked results and explanations for the ranking, including a score for the result based on the expanded user search query.

Claims (54)

1 . A computer-implemented method comprising:

generating an expanded search query by expanding a search query into a plurality of sub-queries, each sub-query comprising a query component of the search query;

determining, from the expanded search query, a search result for a first sub-query of the plurality of sub-queries, the search result comprising a field value;

generating, based on the search result from the expanded search query, a new in-memory index by re-indexing the search result in computer memory for refined searching;

determining, utilizing a machine learning model or a rule-based model to process the new in-memory index, a match score for the field value and a corresponding query component of the first sub-query based at least on a match type between the field value and the corresponding query component;

generating, utilizing a search-result explanation module based on the match score, a search-result explanation indicating why the search result matched the search query; and

generating an explanation interface to be displayed for the search result, the explanation interface comprising the search-result explanation.

2 . The computer-implemented method of claim 1 , further comprising calculating a second match score for a second field value associated with the search result, the second field value matching a second query component corresponding to a second sub-query, wherein the second match score is calculated for the second field value and the second query component based at least on a second match type between the second field value and the second query component.

3 . The computer-implemented method of claim 2 , wherein the explanation interface additionally comprises the second field value, the second query component, the match score, and the second match score.

4 . The computer-implemented method of claim 3 , further comprising:

determining the match type and the second match type from among a set of possible match types comprising exact matches and fuzzy matches; and

causing the explanation interface to additionally display the match type and the second match type.

5 . The computer-implemented method of claim 3 , further comprising:

calculating a total score for the search result based at least on the match score and the second match score; and

causing the explanation interface to additionally display the total score.

6 . The computer-implemented method of claim 2 , further comprising causing a section to be displayed in the explanation interface that summarizes a number of different match types associated with the search result.

7 . The computer-implemented method of claim 6 , further comprising causing a section body to be displayed in the explanation interface, the section body comprising the field value, the match type, the second field value, and the second match type.

8 . A non-transitory computer-readable medium comprising instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising:

generating an expanded search query by expanding a search query into a plurality of sub-queries, each sub-query comprising a query component of the search query;

determining, from the expanded search query, a search result for a first sub-query of the plurality of sub-queries, the search result comprising a field value;

generating, based on the search result from the expanded search query, a new in-memory index by re-indexing the search result in computer memory for refined searching;

determining, utilizing a machine learning model or a rule-based model to process the new in-memory index, a match score for the field value and a corresponding query component of the first sub-query based at least on a match type between the field value and the corresponding query component;

generating, utilizing a search-result explanation module based on the match score, a search-result explanation indicating why the search result matched the search query; and

generating an explanation interface to be displayed for the search result, the explanation interface comprising the search-result explanation.

9 . The non-transitory computer-readable medium of claim 8 , wherein the operations further comprise calculating a second match score for a second field value associated with the search result, the second field value matching a second query component corresponding to a second sub-query, wherein the second match score is calculated for the second field value and the second query component based at least on a second match type between the second field value and the second query component.

10 . The non-transitory computer-readable medium of claim 9 , wherein the explanation interface additionally comprises the second field value, the second query component, the match score, and the second match score.

11 . The non-transitory computer-readable medium of claim 10 , wherein the operations further comprise:

determining the match type and the second match type from among a set of possible match types comprising exact matches and fuzzy matches; and

causing the explanation interface to additionally display the match type and the second match type.

12 . The non-transitory computer-readable medium of claim 10 , wherein the operations further comprise:

calculating a total score for the search result based at least on the match score and the second match score; and

causing the explanation interface to additionally display the total score.

13 . The non-transitory computer-readable medium of claim 9 , further comprising causing a section to be displayed in the explanation interface that summarizes a number of different match types associated with the search result.

14 . The non-transitory computer-readable medium of claim 13 , further comprising causing a section body to be displayed in the explanation interface, the section body comprising the field value, the match type, the second field value, and the second match type.

15 . A computer system comprising:

one or more processors; and

one or more hardware storage devices having stored thereon computer-executable instructions that, when executed by the one or more processors, cause the computer system to:

generate an expanded search query by expanding a search query into a plurality of sub-queries, each sub-query comprising a query component of the search query;

determine, from the expanded search query, a search result for a first sub-query of the plurality of sub-queries, the search result comprising a field value;

generate, based on the search result from the expanded search query, a new in-memory index by re-indexing the search result in computer memory for refined searching;

determine, utilizing a machine learning model or a rule-based model to process the new in-memory index, a match score for the field value and a corresponding query component of the first sub-query based at least on a match type between the field value and the corresponding query component;

generate, utilizing a search-result explanation module based on the match score, a search-result explanation indicating why the search result matched the search query; and

generate an explanation interface to be displayed for the search result, the explanation interface comprising the search-result explanation.

16 . The computer system of claim 15 , wherein the computer-executable instructions are further executable by the one or more processors to cause the computer system to calculate a second match score for a second field value associated with the search result, the second field value matching a second query component corresponding to a second sub-query, wherein the second match score is calculated for the second field value and the second query component based at least on a second match type between the second field value and the second query component.

17 . The computer system of claim 16 , wherein the explanation interface additionally comprises the second field value, the second query component, the match score, and the second match score.

18 . The computer system of claim 17 , wherein the computer- executable instructions are further executable by the one or more processors to cause the computer system to:

determine the match type and the second match type from among a set of possible match types comprising exact matches and fuzzy matches; and

cause the explanation interface to additionally display the match type and the second match type.

19 . The computer system of claim 17 , wherein the computer- executable instructions are further executable by the one or more processors to cause the computer system to:

calculate a total score for the search result based at least on the match score and the second match score; and

cause the explanation interface to additionally display the total score.

20 . The computer system of claim 16 , wherein the computer- executable instructions are further executable by the one or more processors to cause the computer system to:

cause a section to be displayed in the explanation interface that summarizes a number of different match types associated with the search result; and

cause a section body to be displayed in the explanation interface, the section body comprising the field value, the match type, the second field value, and the second match type.

Assignments (3)
PATENT SECURITY AGREEMENT Recorded Aug 3, 2026
From: ANCESTRY.COM OPERATIONS INC.; ANCESTRY.COM DNA, LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 076116/0447 →
PATENT SECURITY AGREEMENT Recorded Aug 3, 2026
From: ANCESTRY.COM OPERATIONS INC.; ANCESTRY.COM DNA, LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 076144/0726 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 14, 2025
From: BIERNER, GANN; WEIS, ROBERT; MCGOWAN, KEVAN CRAIG; HOBSON, JOEL EDWARD
To: ANCESTRY.COM OPERATIONS INC.
Reel/Frame 070830/0919 →
Continuity (4)
Continuation 17950897 · Sep 22, 2022
Provisional Application 63316090 · Mar 3, 2022
Provisional Application 63247550 · Sep 23, 2021
Related Publication 20250036618A1 · Jan 30, 2025
References Cited (16)
US 7571157B2 · Chowdhury · 2009 [cited by examiner]
US 7603348B2 · He et al. · 2009 [cited by applicant]
US 7752195B1 · Hohwald et al. · 2010 [cited by applicant]
US 8185544B2 · Oztekin et al. · 2012 [cited by applicant]
US 9098569B1 · Bhagat · 2015 [cited by applicant]
US 9405823B2 · Mamou · 2016 [cited by examiner]
US 20020065863A1 · Fruensgaard · 2002 [cited by examiner]
US 20080005106A1 · Schumacher et al. · 2008 [cited by applicant]
US 20080010268A1 · Liao · 2008 [cited by examiner]
US 20100023509A1 · Adachi et al. · 2010 [cited by applicant]
US 20100299317A1 · Uy · 2010 [cited by examiner]
US 20150347417A1 · Hohwald · 2015 [cited by examiner]
US 20170213127A1 · Duncan · 2017 [cited by examiner]
US 20210256061A1 · Janakiraman · 2021 [cited by examiner]
U.S. Appl. No. 17/950,897, filed Apr. 11, 2024, Office Action. [cited by applicant]
U.S. Appl. No. 17/950,897, filed Jul. 17, 2024, Notice of Allowance. [cited by applicant]