IP Library Granted Patent US 12,182,211
Granted Patent B2
US 12,182,211 · App. 17/678,872 · Granted Dec 31, 2024

Matching online accounts with overlapping characteristics based on non-homogenous data types

Inventors: Matthias Kretschmer (Chevy Chase, MD); Steven Baehr (Chevy Chase, MD)
Assignee: The Knot Worldwide Inc.
G06F16/951G06F16/90344G06F18/22G06F40/205
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,182,211
App. No.
17/678,872
Granted
Dec 31, 2024
Kind
B2
Abstract

In certain embodiments, a first plurality of values associated with a first account and a second plurality of values associated with a second account may be received. A first value of the first plurality of values that corresponds to an event date may be determined. An event date window may be determined based on the first value. The first plurality of values and the second plurality of values may be compared using a matching algorithm to determine a similarity likelihood. The matching algorithm may modify weights for matches detected between the first plurality of values and the second plurality of values based on the event date window. A match recommendation for the first account and the second account may be generated for display based on the similarity likelihood.

Claims (96)

1. A system for matching online registry accounts with overlapping characteristics based on non-homogenous data types featuring incomplete data and a temporal element, the system comprising:

cloud-based storage circuitry configured to:

store a first plurality of values for a first account, wherein the first plurality of values corresponds to respective data types;

store a second plurality of values for a second account, where in the second plurality of values corresponds to the respective data types;

store a matching algorithm; and

cloud-based control circuitry configured to:

determine a website corresponding to the first account;

execute a web-scraping routine on the website to determine the first plurality of values for the first account;

determine a first value of the first plurality of values that corresponds to a first respective data type of the respective data types, wherein the first respective data type corresponds to an event date;

determine an event date window based on the first value, wherein the event date window is a range of dates surrounding the event date; and

determine a similarity likelihood based on a comparison of the first plurality of values and the second plurality of values using the matching algorithm, wherein the matching algorithm modifies weights for matches detected between the respective data types of the first plurality of values and the second plurality of values based on comparing the event date window of the first account to another event date window of the second account, wherein the matching algorithm comprises an n-gram parser, and wherein determining the similarity likelihood based on the comparison of the first plurality of values and the second plurality of values using the matching algorithm, comprises:

determine a first string of n-grams based on the first plurality of values;

determine a second string of n-grams based on the second plurality of values;

parse the first string and the second string using the n-gram parser;

determine a number of n-grams that match in the first string and the second string;

divide the number by a total number of n-grams in the first string and the second string to determine a point value; and

determine the similarity likelihood based on the point value;

determine a current date;

determine a threshold similarity likelihood based on a proximity of the event date to the current date; and

compare the similarity likelihood to the threshold similarity likelihood to determine whether to generate for display a match recommendation; and

cloud-based input/output circuitry configured to:

generate for display, on a user interface, the match recommendation based on the first account and the second account based on the similarity likelihood.

2. A method for matching online registry accounts with overlapping characteristics based on non-homogenous data types featuring incomplete data and a temporal element, the method comprising:

receiving a first plurality of values for a first account, wherein the first plurality of values corresponds to respective data types;

receiving a second plurality of values for a second account, wherein the second plurality of values corresponds to the respective data types;

determining a first value of the first plurality of values that corresponds to a first respective data type of the respective data types, wherein the first respective data type corresponds to an event date;

determining an event date window based on the first value, wherein the event date window is a range of dates surrounding an event date; and;

determining a similarity likelihood based on a comparison of the first plurality of values and the second plurality of values using a matching algorithm, wherein the matching algorithm modifies weights for matches detected between the respective data types of the first plurality of values and the second plurality of values based on comparing the event date window of the first account to another event date window of the second account, wherein the matching algorithm comprises an n-gram parser, and wherein determining the similarity likelihood based on the comparison of the first plurality of values and the second plurality of values using the matching algorithm, comprises:

determining a first string of n-grams based on the first plurality of values;

determining a second string of n-grams based on the second plurality of values;

parsing the first string and the second string using the n-gram parser;

determining a number of n-grams that match in the first string and the second string;

dividing the number by a total number of n-grams in the first string and the second string to determine a point value; and

determining the similarity likelihood based on the point value;

determining a current date;

determining a threshold similarity likelihood based on a proximity of the event date to the current date;

comparing the similarity likelihood to the threshold similarity likelihood to determine whether to generate for display a match recommendation; and

generating for display, on a user interface, the match recommendation based on the first account and the second account based on the similarity likelihood.

3. The method of claim 2 , wherein modifying the weights for matches detected between the respective data types of the first plurality of values and the second plurality of values based on the event date window comprises:

determining a second value of the second plurality of values that corresponds to the first respective data type of the respective data types;

determining that the second value corresponds to the event date window; and

increasing the weights for matches detected between the respective data types of the first plurality of values and the second plurality of values based on the second value being included in the event date window.

4. The method of claim 2 , wherein modifying the weights for matches detected between the respective data types of the first plurality of values and the second plurality of values based on the event date window comprises:

determining a second value of the second plurality of values that corresponds to the first respective data type of the respective data types;

determining that the second value corresponds to the event date window; and

increasing the weights for matches detected between the respective data types of the first plurality of values and the second plurality of values based on a proximity of the second value to the event date within the event date window.

5. The method of claim 2 , wherein modifying the weights for matches detected between the respective data types of the first plurality of values and the second plurality of values based on the event date window comprises:

determining a current date;

determining that the current date corresponds to the event date window; and

increasing the weights for matches detected between the respective data types of the first plurality of values and the second plurality of values based on the current date being included in the event date window.

6. The method of claim 2 , wherein determining an event date window based on the first value comprises determining an absolute date range for a match with a second value of the second plurality of values that corresponds to the first respective data type of the respective data types.

7. The method of claim 2 , wherein determining an event date window based on the first value comprises determining a series of weight amounts for weighting matches detected between the respective data types of the first plurality of values and the second plurality of values based on the event date window, wherein the amount of each of the series of weight amounts corresponds to a day within the event date window and is based on a proximity to the event date.

8. The method of claim 2 , wherein the respective data types further comprise:

a second respective data type that corresponds to a first partial identifier;

a third respective data type that corresponds to a second partial identifier;

a fourth respective data type that corresponds to a first location identifier; and

a fifth respective data type that corresponds to a second location identifier.

9. The method of claim 2 , further comprising:

determining a website corresponding to the first account;

executing a web-scraping routine on the website; and

determining the first plurality of values for the first account based on the web-scraping routine.

10. A non-transitory, computer-readable medium for matching online registry accounts with overlapping characteristics based on non-homogenous data types featuring incomplete data and a temporal element, comprising instructions that, when executed by one or more processors, cause operations comprising:

receiving a first plurality of values for a first account, wherein the first plurality of values corresponds to respective data types;

receiving a second plurality of values for a second account, wherein the second plurality of values corresponds to the respective data types;

determining a first value of the first plurality of values that corresponds to a first respective data type of the respective data types, wherein the first respective data type corresponds to an event date;

determining an event date window based on the first value, wherein the event date window is a range of dates surrounding the event date;

determining a similarity likelihood based on a comparison of the first plurality of values and the second plurality of values using a matching algorithm, wherein the matching algorithm modifies weights for matches detected between the respective data types of the first plurality of values and the second plurality of values based on comparing the event date window of the first account to another event date window of the second account, wherein the matching algorithm comprises an n-gram parser, and wherein determining the similarity likelihood based on the comparison of the first plurality of values and the second plurality of values using the matching algorithm, comprises:

determining a first string of n-grams based on the first plurality of values;

determining a second string of n-grams based on the second plurality of values;

parsing the first string and the second string using the n-gram parser;

determining a number of n-grams that match in the first string and the second string;

dividing the number by a total number of n-grams in the first string and the second string to determine a point value; and

determining the similarity likelihood based on the point value;

determining a current date;

determining a threshold similarity likelihood based on a proximity of the event date to the current date;

comparing the similarity likelihood to the threshold similarity likelihood to determine whether to generate for display a match recommendation; and

generating for display, on a user interface, the match recommendation based on the first account and the second account based on the similarity likelihood.

11. The non-transitory, computer-readable medium of claim 10 , wherein modifying the weights for matches detected between the respective data types of the first plurality of values and the second plurality of values based on the event date window comprises:

determining a second value of the second plurality of values that corresponds to the first respective data type of the respective data types;

determining that the second value corresponds to the event date window; and

increasing the weights for matches detected between the respective data types of the first plurality of values and the second plurality of values based on the second value being included in the event date window.

12. The non-transitory, computer-readable medium of claim 10 , wherein modifying the weights for matches detected between the respective data types of the first plurality of values and the second plurality of values based on the event date window comprises:

determining a second value of the second plurality of values that corresponds to the first respective data type of the respective data types;

determining that the second value corresponds to the event date window; and

increasing the weights for matches detected between the respective data types of the first plurality of values and the second plurality of values based on a proximity of the second value to the event date within the event date window.

13. The non-transitory, computer-readable medium of claim 10 , wherein modifying the weights for matches detected between the respective data types of the first plurality of values and the second plurality of values based on the event date window comprises:

determining a current date;

determining that the current date corresponds to the event date window; and

increasing the weights for matches detected between the respective data types of the first plurality of values and the second plurality of values based on the current date being included in the event date window.

14. The non-transitory, computer-readable medium of claim 10 , wherein determining an event date window based on the first value comprises determining an absolute date range for a match with a second value of the second plurality of values that corresponds to the first respective data type of the respective data types.

15. The non-transitory, computer-readable medium of claim 10 , wherein determining an event date window based on the first value comprises determining a series of weight amounts for weighting matches detected between the respective data types of the first plurality of values and the second plurality of values based on the event date window, wherein the amount of each of the series of weight amounts corresponds to a day within the event date window and is based on a proximity to the event date.

16. The non-transitory, computer-readable medium of claim 10 , wherein the respective data types further comprise:

a second respective data type that corresponds to a first partial identifier;

a third respective data type that corresponds to a second partial identifier;

a fourth respective data type that corresponds to a first location identifier; and

a fifth respective data type that corresponds to a second location identifier.

Assignments (2)
SECURITY INTEREST Recorded Mar 14, 2022
From: XO GROUP INC.; THE KNOT WORLDWIDE INC.
To: JPMORGAN CHASE BANK, N.A. AS COLLATERAL AGENT
Reel/Frame 059252/0280 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 23, 2022
From: KRETSCHMER, MATTHIAS; BAEHR, STEVEN
To: THE KNOT WORLDWIDE INC.
Reel/Frame 059081/0932 →
Continuity (1)
Related Publication 20230267155A1 · Aug 24, 2023