IP Library Granted Patent US 12,373,404
Granted Patent B2
US 12,373,404 · App. 18/462,239 · Granted Jul 29, 2025

Schema matching of disparate data sources using embedding-based similarity scores

Inventors: Saman Feghhi (Dublin, IE); Riccardo Mattivi (Dublin, IE)
Assignee: Optum Services (Ireland) Limited
G06F16/213
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,373,404
App. No.
18/462,239
Granted
Jul 29, 2025
Kind
B2
Abstract

Embodiments provide for schema matching between multiple disparate data sources using multi-dimensional matrices, external embeddings, transformation operations, and similarity metrics.

Claims (56)

1. A system comprising one or more processors and at least one memory storing processor executable instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising:

generating, for a first data structure associated with a first data set and based at least in part on an external embeddings data structure comprising a lookup table, a first embeddings set by appending, for each (1) first code of the first data structure or (2) first portion of the first data structure and to the first data structure, a corresponding embedding of one or more first corresponding embeddings in the lookup table for the first code of the first data structure or the first portion of the first data structure;

generating, for a second data structure associated with a second data set and based at least in part on the lookup table of the external embeddings data structure, a second embeddings set by appending, for each (1) second code of the second data structure or (2) second portion of the second data structure and to the second data structure, a corresponding embedding of the one or more second corresponding embeddings in the lookup table for the second code of the second data structure or the second portion of the second data structure;

generating a plurality of first row representations for the first embeddings set by aggregating the one or more first corresponding embeddings in the first embeddings set such that each row in the first data structure is aggregated into a first single row representation;

generating a plurality of second row representations for the second embeddings set by aggregating the one or more second corresponding embeddings in the second embeddings set such that each row in the second data structure is aggregated into a second single row representation;

generating a first column representation for the first embeddings set by aggregating the plurality of first row representations;

generating a second column representation for the second embeddings set by aggregating the plurality of second row representations;

generating a similarity metric based on the first column representation and the second column representation;

based on the similarity metric, generating a similarity indication element associated with the first data structure and the second data structure; and

providing the similarity indication element associated with the first data structure and the second data structure while restricting access to raw data contained in the first data structure and the second data structure.

2. The system of claim 1 , wherein the operations further comprise:

receiving the first data structure from a first data source; and

receiving the second data structure from a second data source.

3. The system of claim 1 , wherein the first data structure comprises a first plurality of first records arranged according to a first matrix and the second data structure comprises a second plurality of second records arranged according to a second matrix.

4. The system of claim 3 , wherein the first data structure is associated with a first unknown schema.

5. The system of claim 4 , wherein the second data structure is associated with a second unknown schema.

6. The system of claim 1 , wherein the similarity metric is generated based on a cosine similarity metric, a Euclidean distance, or a Jaccard similarity metric.

7. The system of claim 1 , wherein the lookup table contains a first column representing terms or codes and a second column representing corresponding embeddings associated with the terms or codes.

8. The system of claim 1 , wherein the external embeddings data structure is generated based on a trained embeddings machine learning model.

9. The system of claim 1 , wherein:

the first code of the first data structure or the first portion of the first data structure includes a first medical code;

the second code of the second data structure or the second portion of the second data structure includes a second medical code; and

the first medical code and the second medical code are either (1) codes of a same diagnosis but from different levels in a taxonomy or (2) a same code but one of the first medical code or the second medical code has a missing value relative to the other.

10. A computer-implemented method, comprising:

generating, by one or more processors and for a first data structure associated with a first data set and based at least in part on an external embeddings data structure comprising a lookup table, a first embeddings set by appending, for each (1) first code of the first data structure or (2) first portion of the first data structure and to the first data structure, a corresponding embedding of one or more first corresponding embeddings in the lookup table for the first code of the first data structure or the first portion of the first data structure;

generating, by the one or more processors and for a second data structure associated with a second data set and based at least in part on the lookup table of the external embeddings data structure, a second embeddings set by appending, for each (1) second code of the second data structure or (2) second portion of the second data structure and to the second data structure, a corresponding embedding of the one or more second corresponding embeddings in the lookup table for the second code of the second data structure or the second portion of the second data structure;

generating, by the one or more processors, a plurality of first row representations for the first embeddings set by aggregating the one or more first corresponding embeddings in the first embeddings set such that each row in the first data structure is aggregated into a first single row representation;

generating, by the one or more processors, a plurality of second row representations for the second embeddings set by aggregating the one or more second corresponding embeddings in the second embeddings set such that each row in the second data structure is aggregated into a second single row representation;

generating, by the one or more processors, a first column representation for the first embeddings set by aggregating the plurality of first row representations;

generating, by the one or more processors, a second column representation for the second embeddings set by aggregating the plurality of second row representations;

generating, by the one or more processors, a similarity metric based on the first column representation and the second column representation;

based on the similarity metric, generating, by the one or more processors, a similarity indication element associated with the first data structure and the second data structure; and

providing, by the one or more processors, the similarity indication element associated with the first data structure and the second data structure while restricting access to raw data contained in the first data structure and the second data structure.

11. The computer-implemented method of claim 10 , further comprising:

receiving the first data structure from a first data source; and

receiving the second data structure from a second data source.

12. The computer-implemented method of claim 10 , wherein the first data structure comprises a first plurality of first records arranged according to a first matrix and the second data structure comprises a second plurality of second records arranged according to a second matrix.

13. The computer-implemented method of claim 12 , wherein the first data structure is associated with a first unknown schema and wherein the second data structure is associated with a second unknown schema.

14. The computer-implemented method of claim 10 , wherein the similarity metric is generated based on a cosine similarity metric, a Euclidean distance, or a Jaccard similarity metric.

15. The computer-implemented method of claim 10 , wherein the lookup table contains a first column representing terms or codes and a second column representing corresponding embeddings associated with the terms or codes.

16. The computer-implemented method of claim 10 , wherein the external embeddings data structure is generated based on a trained embeddings machine learning model.

17. One or more non-transitory computer-readable storage media storing instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising:

generating, for a first data structure associated with a first data set and based at least in part on an external embeddings data structure comprising a lookup table, a first embeddings set by appending, for each (1) first code of the first data structure or (2) first portion of the first data structure and to the first data structure, a corresponding embedding of one or more first corresponding embeddings in the lookup table for the first code of the first data structure or the first portion of the first data structure;

generating, for a second data structure associated with a second data set and based at least in part on the lookup table of the external embeddings data structure, a second embeddings set by appending, for each (1) second code of the second data structure or (2) second portion of the second data structure and to the second data structure, a corresponding embedding of the one or more second corresponding embeddings in the lookup table for the second code of the second data structure or the second portion of the second data structure;

generating a plurality of first row representations for the first embeddings set by aggregating the one or more first corresponding embeddings in the first embeddings set such that each row in the first data structure is aggregated into a first single row representation;

generating a plurality of second row representations for the second embeddings set by aggregating the one or more second corresponding embeddings in the second embeddings set such that each row in the second data structure is aggregated into a second single row representation;

generating a first column representation for the first embeddings set by aggregating the plurality of first row representations;

generating a second column representation for the second embeddings set by aggregating the plurality of second row representations;

generating a similarity metric based on the first column representation and the second column representation;

based on the similarity metric, generating a similarity indication element associated with the first data structure and the second data structure; and

providing the similarity indication element associated with the first data structure and the second data structure while restricting access to raw data contained in the first data structure and the second data structure.

18. The one or more non-transitory computer-readable storage media of claim 17 , wherein the operations further comprise:

receiving the first data structure from a first data source; and

receiving the second data structure from a second data source.

19. The one or more non-transitory computer-readable storage media of claim 17 , wherein the first data structure comprises a first plurality of first records arranged according to a first matrix and the second data structure comprises a second plurality of second records arranged according to a second matrix.

20. The one or more non-transitory computer-readable storage media of claim 19 , wherein the first data structure is associated with a first unknown schema and wherein the second data structure is associated with a second unknown schema.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 6, 2023
From: FEGHHI, SAMAN; MATTIVI, RICCARDO
To: OPTUM SERVICES (IRELAND) LIMITED
Reel/Frame 064820/0050 →
Continuity (1)
Related Publication 20250077483A1 · Mar 6, 2025
References Cited (25)
US 9418085B1 · Shih et al. · 2016 [cited by applicant]
US 11526523B2 · Somani · 2022 [cited by examiner]
US 11960484B2 · Agrawal · 2024 [cited by examiner]
US 20050050053A1 · Thompson · 2005 [cited by applicant]
US 20060212860A1 · Benedikt et al. · 2006 [cited by applicant]
US 20060259458A1 · Hunter et al. · 2006 [cited by applicant]
US 20080313219A1 · Benfield et al. · 2008 [cited by applicant]
US 20130091184A1 · Alexe et al. · 2013 [cited by applicant]
US 20170206256A1 · Tsirogiannis et al. · 2017 [cited by applicant]
US 20200097504A1 · Sequeda et al. · 2020 [cited by applicant]
US 20210232908A1 · Xian et al. · 2021 [cited by applicant]
US 20210334250A1 · Desmarets · 2021 [cited by applicant]
US 20220050813A1 · Fridman · 2022 [cited by examiner]
US 20220100714A1 · Zhao et al. · 2022 [cited by applicant]
Efthymiou, et al., “Matching Web Tables with Knowledge Base Entities: From Entity Lookups to Entity Embeddings,” (16 pages), Retrieved on Feb. 27, 2023 from https://iswc2017.ai.wu.ac.at/wpcontent/uploads/papers/MainProc… [cited by applicant]
Gao, et al., Medical Schema Matching using Knowledge Graph Embedding. [cited by applicant]
Hattasch, et al., “It's AI Match: A Two Step Approach for Schema Matching Using Embeddings”, Mar. 8, 2022, (13 pages), arXiv:2203.04366v1. [cited by applicant]
Koutras, et al., “Valentine: Evaluating Matching Techniques for Dataset Discovery”, Feb. 13, 2021, (12 pages), arXiv:2010.07386v2. [cited by applicant]
Portisch, et al., “Background Knowledge in Schema Matching: Strategy vs. Data”, Jun. 29, 2021, (17 pages), arXiv:2107.00001v1. [cited by applicant]
Rahm, “A Survey of Approaches to Automatic Schema Matching”, The VLDB Journal, Dec. 2001, (18 pages), DOI: 10.1007/s007780100057. [cited by applicant]
Rodrigues, et al., “A Study on Machine Learning Techniques for the Schema Matching Network Problem”, Journal of the Brazilian Computer Society, vol. 27:14, (2021), 29 pages, doi.org/10.1186/s13173-021-00119-5. [cited by applicant]
Sahay, et al., “Schema Matching using Machine Learning”, Nov. 24, 2019, (7 pages), arXiv:1911.11543v1. [cited by applicant]
Venkatesh, “Automatic Schema Detection and Matching”, Mar. 5, 2020, (5 pages), Retrieved from https://dbadminnews.substack.com/p/automatic-schema-detection-and-matching. [cited by applicant]
Wikipedia, “Schema Matching”, (4 pages), Retrieved from the Internet on Jun. 10, 2024, https://en.wikipedia.org/wiki/Schema_matching. [cited by applicant]
Zhang, et al., “Novel Entity Discovery from Web Tables,” Feb. 1, 2020, (11 pages), arXiv:2002.00206v1. [cited by applicant]
Cited By (1)
US 12,711,180