After training a column encoder \(\mathcal {M}\)  using techniques from Section , we can then obtain the embedding vectors for all columns in data lake tables via model inference.
The column unionability score between two columns \(s\)  and \(t\)  can be calculated by using cosine similarity as \(\mathcal {F}\)  between those embedding vectors.
Next, we define the function \(\mathcal {A}\)  for aggregating the column unionability scores to compute the table unionability.
Motivated by the idea of \(c\) -alignment [1]} that aims to find a maximum set of one-to-one alignment between columns in two tables, we propose modeling table unionability as a weighted bipartite graph matching problem.
More formally, given two tables \(S\)  and \(T\)  with \(m\)  and \(n\)  columns respectively, we construct a bipartite graph \(G = \langle S, T ,E\rangle \)  where the nodes \(S\)  and \(T\)  are the two sets of columns.
The edges in \(E\)  denote the column unionability score between each pair of columns.
Then table unionability score \(U(S,T)\)  can be calculated by finding the maximum bipartite matching of graph \(G\) .
In order to remove the noise caused by dissimilar pairs of columns, we follow the de-noising strategy from fuzzy string matching [2]} by introducing a hyper-parameter \(\tau \)  as the
similarity lower bound: given two columns \(s \in S\)  and \(t \in T\) , there is an edge \(\langle s, t\rangle \in E\)  iff \(\mathcal {F}(s, t) \ge \tau \) .
<FIGURE>