IP Library Granted Patent US 12,711,161
Granted Patent B1
US 12,711,161 · App. 19/215,711 · Granted Aug 18, 2026

Systems and methods predicting relationships from disparate data objects

Inventors: William Corey Wilson (Wilmington, NC); Andrea Layne Morton (Fort Mill, SC); Shaghayegh Ramezanian (Waxhaw, NC); Michelle Macko Prince (Charlotte, NC)
Assignee: LitPro LLC
G06F16/288G06F16/219G06F16/254
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,711,161
App. No.
19/215,711
Granted
Aug 18, 2026
Kind
B1
Abstract

Systems and methods are provided for automatically identifying and extracting relationships between disparate data structures received from different sources. Examples include obtaining a historical data structure comprising first data objects associated with second data objects; and building a weighted mapping based on mapping the first data objects to the second data objects by linking each of the first data objects to each of the second data and encoding the links with weights determined by, for each mapped pair, determining a weight for the link associated with the mapped pair based on tracking metadata associated with instance of the historical data object pairs corresponding to the mapped pair. Examples also include determining probabilistic relationships between second input data objects and a first input data object based on the weighted mapping and updating an input data structure comprising the second input data objects.

Claims (81)

1 . A method comprising:

obtaining a historical data structure, the historical data structure comprising historical data object pairs labeled with metadata, wherein the historical data object pairs comprise first data objects associated with second data objects that are disparate to the first data objects;

mapping a plurality of the first data objects to a plurality of the second data objects by linking each of the plurality of the first data objects to each of the plurality of the second data objects to generate data object pairs;

encoding the links with weights determined by, for each data object pair:

locating, in the historical data structure, a plurality of instances of the historical data object pairs corresponding to the data object pair; and

determining a weight for the link associated with the historical data object pair based on tracking the metadata associated with each of the plurality of instances of the historical data object pairs, wherein the weight is increased based on the metadata associated with instances of the plurality of instances of the historical data object pairs comprising a first indicator representative that first data objects and second data objects of the instances are related, and wherein the weight is reduced based on the metadata associated with the instance comprising a second indicator representative that the first data object and the second data object of the instance are not related;

building a weighted mapping comprising the data object pairs and associated weighted links;

receiving a first input data object from a first source and an input data structure from a second source, the input data structure comprising a plurality of second input data objects;

determining probabilistic relationships between each of the plurality of second input data objects and the first input data object by processing the first input data object and the plurality of second input data objects through the weighted mapping;

updating the input data structure based on the probabilistic relationships by generating labels for each of the plurality of second input data objects representative of the probabilistic relationships and tagging the plurality of second input data objects with the generated labels; and

transmitting the updated input data structure to the second source.

2 . The method of claim 1 , wherein mapping the plurality of the first data objects to the plurality of the second data objects comprises:

identifying first unique instances of the first data objects and extracting the first unique instances as the plurality of the first data objects;

identifying second unique instances of the second data objects and extracting the second unique instances as the plurality of the second data objects; and

mapping each of the first unique instances to each of the second unique instances as the data object pairs.

3 . The method of claim 2 , wherein building the weighted mapping comprises:

creating a data structure;

populating the data structure with the first unique instances of the first data objects and the second unique instances of the second data objects; and

connecting each of the first unique instances to each of the second unique instances using the weighted links.

4 . The method of claim 1 , wherein the metadata comprises one or more indicia of a relationship between a first data object and a second data object of a historical data object pair.

5 . The method of claim 4 , wherein the one or more indicia comprises one or more of:

the first indicator representative that a first data object and a second data object of a historical data object pair are related;

the second indicator representative that a first data object and a second data object of a historical data object pair are not related;

a third indicator representative of agreement with one of the first or second indicators; or

a fourth indicator representative of disagreement with one of the first or second indicators.

6 . The method of claim 5 , wherein determining the weight for the link associated with the data object pair comprises:

tracking the one or more indicia associated with each of the plurality of instances of the historical data object pairs; and

aggregating the tracked one or more indicia to compute a weight.

7 . The method of claim 6 , wherein tracking the one or more indicia comprises determining frequencies that the first, second, third, and fourth indicators occur across the plurality of instances of the historical data object pairs, and wherein determining the weight for the link comprises computing the weight based on the determined frequencies.

8 . The method of claim 7 , wherein computing the weight comprises:

computing a first sub-weight by multiplying a frequency that the first indicator occurs by a first multiplier;

computing a second sub-weight by multiplying a frequency that the second indicator occurs by a second multiplier;

computing a third sub-weight by multiplying a frequency that the first indicator and the third indicator occurs by a third multiplier;

computing a fourth sub-weight by multiplying a frequency that the second indicator and the third indicator occurs by a fourth multiplier; and

computing a fifth sub-weight by multiplying a frequency that the first indicator and the fourth indicator occurs by a fifth multiplier; and

wherein the weight is computed as a sum of the first, second, third, fourth, and fifth sub-weights.

9 . The method of claim 8 , wherein the second multiplier is a negative of the first multiplier, wherein the fourth and fifth multipliers are negatives of the third multiplier, and wherein magnitudes of the third, fourth and fifth multipliers are greater than the first multiplier.

10 . The method of claim 1 , wherein determining probabilistic relationships between a plurality of second input data objects and a first input data object comprises, for each second input data object:

locating, in the weighted mapping, a data object pair corresponding to a respective second input data object and the first input data object;

identifying a link associated with the located data object pair; and

computing a score from a weight encoded onto the identified link,

wherein the probabilistic relationship for the respective second input data object is based on the computed score.

11 . The method of claim 10 , wherein determining probabilistic relationships between a plurality of second input data objects and a first input data object further comprises:

responsive to a determination that the computed score is equal to or greater than a first threshold, determining that the respective second input data object is related to the first input data object;

responsive to a determination that the computed score is equal to or less than a second threshold, determining that the respective second input data object is not related to the first input data object; and

responsive to a determination that the computed score is between the first and second thresholds, triggering a user interface to prompt a user to input a relationship between the respective second input data object is not related to the first input data object.

12 . The method of claim 1 , further comprising:

updating the weights encoded to the links based on the generated labels.

13 . A system, comprising:

a memory storing instructions; and

a processor communicably connected to the memory and configured to execute the instructions to:

obtain a historical data structure, the historical data structure comprising historical data object pairs labeled with metadata, wherein the historical data object pairs comprise first data objects associated with second data objects that are disparate to the first data objects;

map a plurality of the first data objects to a plurality of the second data objects by linking each of the plurality of the first data objects to each of the plurality of the second data objects to generate data object pairs;

encode the links with weights determined by, for each data object pair:

locating, in the historical data structure, a plurality of instances of the historical data object pairs corresponding to the data object pair; and

determining a weight for the link associated with the historical data object pair based on tracking the metadata associated with each of the plurality of instances of the historical data object pairs, wherein the weight is increased based on the metadata associated with instances of the plurality of instances of the historical data object pairs comprising a first indicator representative that first data objects and second data objects of the instances are related, and wherein the weight is reduced based on the metadata associated with the instance comprising a second indicator representative that the first data object and the second data object of the instance are not related;

build a weighted mapping comprising the data object pairs and associated weighted links;

receiving a first input data object from a first source and an input data structure from a second source, the input data structure comprising a plurality of second input data objects;

determine probabilistic relationships between each of the plurality of second input data objects and the first input data object by processing the first input data object and the plurality of second input data objects through the weighted mapping;

update the input data structure based on the probabilistic relationships by generating labels for each of the plurality of second input data objects representative of the probabilistic relationships and tagging the plurality of second input data objects with the generated labels; and

transmitting the updated input data structure to the second source.

14 . The system of claim 13 , wherein mapping the plurality of the first data objects to the plurality of the second data objects comprises:

identifying first unique instances of the first data objects and extracting the first unique instances as the plurality of the first data objects;

identifying second unique instances of the second data objects and extracting the second unique instances as the plurality of the second data objects; and

mapping each of the first unique instances to each of the second unique instances as the data object pairs.

15 . The system of claim 14 , wherein building the weighted mapping comprises:

creating a data structure;

populating the data structure with the first unique instances of the first data objects and the second unique instances of the second data objects; and

connecting each of the first unique instances to each of the second unique instances using the weighted links.

16 . The system of claim 13 , wherein the metadata comprises one or more indicia of a relationship between a first data object and a second data object of a historical data object pair, wherein the one or more indicia comprises the first indicator, the second indicator, a third indicator representative of agreement with one of the first or second indicators; or a fourth indicator representative of disagreement with one of the first or second indicators.

17 . The system of claim 13 , wherein determining probabilistic relationships between a plurality of second input data objects and a first input data object comprises, for each second input data object:

locating, in the weighted mapping, a data object pair corresponding to a respective second input data object and the first input data object;

identifying a link associated with the located data object pair; and

computing a score from a weight encoded onto the identified link,

wherein the probabilistic relationship for the respective second input data object is based on the computed score.

18 . The system of claim 13 , wherein the processor is further configured to execute the instructions to:

update the weights encoded to the links based on the generated labels.

19 . The system of claim 13 , wherein determining the weight for the link associated with the data object pair comprises:

tracking at least the first and second indicators associated with each of the plurality of instances of the historical data object pairs; and

aggregating the tracked indicators to compute a weight.

20 . The system of claim 19 , wherein tracking at least the first and second indicators comprises determining frequencies that the first and second indicators occur across the plurality of instances of the historical data object pairs, and wherein determining the weight for the link comprises computing the weight based on the determined frequencies.