Enabling Cognitive Intelligence Queries in Relational Databases using Low-dimensional Word Embeddings
This work addresses the challenge of extracting semantic information from relational databases for users needing more intuitive, meaning-based queries, though it appears incremental as it builds on existing NLP embedding methods.
The paper tackles the problem of enabling cognitive intelligence queries in relational databases by applying low-dimensional word embeddings to database tokens, allowing algebraic quantification of semantic relationships like similarities and analogies. They implemented a prototype system on Spark using SQL UDFs to demonstrate the enhanced query expressiveness beyond traditional text extensions.
We apply distributed language embedding methods from Natural Language Processing to assign a vector to each database entity associated token (for example, a token may be a word occurring in a table row, or the name of a column). These vectors, of typical dimension 200, capture the meaning of tokens based on the contexts in which the tokens appear together. To form vectors, we apply a learning method to a token sequence derived from the database. We describe various techniques for extracting token sequences from a database. The techniques differ in complexity, in the token sequences they output and in the database information used (e.g., foreign keys). The vectors can be used to algebraically quantify semantic relationships between the tokens such as similarities and analogies. Vectors enable a dual view of the data: relational and (meaningful rather than purely syntactical) text. We introduce and explore a new class of queries called cognitive intelligence (CI) queries that extract information from the database based, in part, on the relationships encoded by vectors. We have implemented a prototype system on top of Spark to exhibit the power of CI queries. Here, CI queries are realized via SQL UDFs. This power goes far beyond text extensions to relational systems due to the information encoded in vectors. We also consider various extensions to the basic scheme, including using a collection of views derived from the database to focus on a domain of interest, utilizing vectors and/or text from external sources, maintaining vectors as the database evolves and exploring a database without utilizing its schema. For the latter, we consider minimal extensions to SQL to vastly improve query expressiveness.