  Structured data, or data that adheres to a pre-defined schema, can suffer
from fragmented context: information describing a single entity can be
scattered across multiple datasets or tables tailored for specific business
needs, with no explicit linking keys (e.g., primary key-foreign key
relationships or heuristic functions). Context enrichment, or rebuilding
fragmented context, using keyless joins is an implicit or explicit step in
machine learning (ML) pipelines over structured data sources. This process is
tedious, domain-specific, and lacks support in now-prevalent no-code ML systems
that let users create ML pipelines using just input data and high-level
configuration files. In response, we propose Ember, a system that abstracts and
automates keyless joins to generalize context enrichment. Our key insight is
that Ember can enable a general keyless join operator by constructing an index
populated with task-specific embeddings. Ember learns these embeddings by
leveraging Transformer-based representation learning techniques. We describe
our core architectural principles and operators when developing Ember, and
empirically demonstrate that Ember allows users to develop no-code pipelines
for five domains, including search, recommendation and question answering, and
can exceed alternatives by up to 39% recall, with as little as a single line
configuration change.
