Unsupervised error detection in data tables using semantic-domain constraints
Systems and methods discussed herein generate a semantic-domain constraint corpus that detects data errors within columns of any data table, without requiring domain-experts to manually specify constraints on a per-table basis. A large body of semantic-domain constraint candidates is generated from test datasets, after which high-quality constraints within those candidates are identified. The systems and methods further pare the remaining semantic-domain constraints down based on size and false-positive rate constraints. The resulting semantic-domain constraint corpus can be applied to any structured dataset to automatically detect errors within columns of that dataset.
1 . A method for unsupervised error detection in data tables comprising:
generating a plurality of semantic-domain constraint candidates including rules associated with identifying errors within unlabeled column domains, wherein generating the plurality of semantic-domain constraint candidates includes applying semantic column-type detection methods to columns of training data tables to learn the plurality of semantic-domain constraint candidates, the semantic column-type detection methods including one or more column-type annotation methods, embedding-based methods, pattern-based methods, or function-based methods;
determining high-quality semantic-domain constraint candidates within the plurality of semantic-domain constraint candidates based on a false-positive confidence level determined for each semantic-domain constraint candidate of the plurality of semantic-domain constraint candidates;
determining a subset of semantic-domain constraints from the high-quality semantic-domain constraint candidates that satisfy a plurality of constraints including:
a size constraint associated with a semantic-domain constraint applying to a threshold number of columns from the training data tables; and
a false-positive rate constraint associated with a minimum threshold of false positives identified within the training data tables; and
causing the subset of semantic-domain constraints to be applied to columns of a user-selected data table to identify data errors within the columns of the user-selected data table; and
causing a display of the user-selected data table to be updated to highlight the identified data errors.
2 . The method as recited in claim 1 , wherein generating the semantic-domain constraint corpus occurs in an offline mode and applying the semantic-domain constraint corpus occurs in an online mode.
3 . The method as recited in claim 1 , wherein each of the plurality of semantic-domain constraint candidates comprises a domain type, a pre-condition, and a post-condition.
4 . The method as recited in claim 1 , wherein determining high-quality semantic-domain constraint candidates from the plurality of semantic-domain constraint candidates comprises determining semantic-domain constraint candidates from the plurality of semantic-domain constraint candidates that:
satisfy the false-positive confidence level;
satisfy triggering frequencies associated with covered columns and non-covered columns; and
have p-values below a predetermined threshold.
5 . The method as recited in claim 1 , further comprising detecting a user selection of the user-selected data table via a data table display comprising a listing of unknown data tables.
6 . The method as recited in claim 5 , wherein causing the display of the user-selected data table to be updated to highlight to identified data errors comprises:
modifying the data table display to show the user-selected data table;
identifying table cells within the user-selected data table that correspond to the identified data errors; and
highlighting the identified table cells to indicate the data errors within.
7 . The method as recited in claim 3 , further comprising optimizing the semantic-domain constraint corpus by paring the semantic-domain constraint corpus down to include semantic-domain constraints with unique pre-conditions.
8 . A system comprising:
at least one processor;
memory in electronic communication with the at least one processor; and
instructions stored in memory, the instructions being executable by the at least one processor to:
generating a plurality of semantic-domain constraint candidates including rules associated with identifying errors within unlabeled column domains, wherein generating the plurality of semantic-domain constraint candidates includes applying semantic column-type detection methods to columns of training data tables to learn the plurality of semantic-domain constraint candidates, the semantic column-type detection methods including one or more column-type annotation methods, embedding-based methods, pattern-based methods, or function-based methods;
determining high-quality semantic-domain constraint candidates within the plurality of semantic-domain constraint candidates based on a false-positive confidence level determined for each semantic-domain constraint candidate of the plurality of semantic-domain constraint candidates; and
determining a subset of semantic-domain constraints from the high-quality semantic-domain constraint candidates that satisfy a plurality of constraints including:
a size constraint associated with a semantic-domain constraint applying to a threshold number of columns from the training data tables; and
a false-positive rate constraint associated with a minimum threshold of false positives identified within the training data tables; and
causing the subset of semantic-domain constraints to be applied to columns of a user-selected data table to identify data errors within the columns of the user-selected data table; and
cause a display of the user-selected data table to be updated to highlight the identified data errors.
9 . The system as recited in claim 8 , further storing instructions in memory that are executable by the at least one processor to generate the semantic-domain constraint corpus occurs in an offline mode and apply the semantic-domain constraint corpus occurs in an online mode.
10 . The system as recited in claim 8 , wherein each of the plurality of semantic-domain constraint candidates comprises a domain type, a pre-condition, and a post-condition.
11 . The system as recited in claim 8 , wherein determining high-quality semantic-domain constraint candidates from the plurality of semantic-domain constraint candidates comprises determining semantic-domain constraint candidates from the plurality of semantic-domain constraint candidates that:
satisfy the false-positive confidence level;
satisfy triggering frequencies associated with covered columns and non-covered columns; and
have p-values below a predetermined threshold.
12 . The system as recited in claim 8 , wherein causing the display of the user-selected data table to be updated to highlight to identified data errors comprises:
modifying the display to show the user-selected data table;
identifying table cells within the user-selected data table that correspond to the identified data errors; and
highlighting the identified table cells to indicate the data errors within.
13 . The system as recited in claim 12 , further storing instructions in memory that are executable by the at least one processor to optimize the semantic-domain constraint corpus by paring the semantic-domain constraint corpus down to include semantic-domain constraints with unique pre-conditions.
14 . A method for unsupervised error detection in data tables comprising:
generating a semantic-domain constraint corpus by:
generating a plurality of semantic-domain constraint candidates including rules associated with identifying errors within unlabeled column domains, wherein generating the plurality of semantic-domain constraint candidates includes applying semantic column-type detection methods to columns of training data tables to learn the plurality of semantic-domain constraint candidates, the semantic column-type detection methods including one or more column-type annotation methods, embedding-based methods, pattern-based methods, or function-based methods;
determining high-quality semantic-domain constraint candidates within the plurality of semantic-domain constraint candidates based on a false-positive confidence level determined for each semantic-domain constraint candidate of the plurality of semantic-domain constraint candidates; and
determining a subset of semantic-domain constraints from the high-quality semantic-domain constraint candidates that satisfy a plurality of constraints including:
a size constraint associated with a semantic-domain constraint applying to a threshold number of columns from the training data tables; and
a false-positive rate constraint associated with a minimum threshold of false positives identified within the training data tables;
causing the semantic-domain constraint corpus to be applied to columns of a user-selected data table to identify data errors within the columns of the user-selected data table;
generating one or more graphical user interface overlays including suggestions associated with the identified data errors within the columns of the user-selected data table; and
causing a display of the user-selected data table to be updated to include the one or more graphical user interface overlays in connection with the user-selected data table.
15 . The method as recited in claim 14 , wherein generating the semantic-domain constraint corpus occurs in an offline mode and applying the semantic-domain constraint corpus occurs in an online mode.
16 . The method as recited in claim 14 , wherein each of the plurality of semantic-domain constraint candidates comprises a domain type, a pre-condition, and a post-condition.
17 . The method as recited in claim 14 , wherein determining high-quality semantic-domain constraint candidates from the plurality of semantic-domain constraint candidates comprises determining semantic-domain constraint candidates from the plurality of semantic-domain constraint candidates that:
satisfy the false-positive confidence level;
satisfy triggering frequencies associated with covered columns and non-covered columns; and
have p-values below a predetermined threshold.