Programmatic Labeling of Dark Data for Artificial Intelligence in Spatial Informatics
Authors: Meil Jason 
Published: March 2021

&lt;p&gt;Data preparation process generally consumes up to 80% of the Data Scientists time, with 60% of that being attributed to cleaning and labeling data.[1]&amp;#160; Our solution is to use automated pipelines to prepare, annotate, and catalog data. The first step upon ingestion, especially in the case of real world&amp;#8212;unstructured and unlabeled datasets&amp;#8212;is to leverage Snorkel, a tool specifically designed around a paradigm to rapidly create, manage, and model training data. Configured properly, Snorkel can be leveraged to temper this labeling bottle-neck through a process called weak supervision. Weak supervision uses programmatic labeling functions&amp;#8212;heuristics, distant supervision, SME or knowledge base&amp;#8212;scripted in python to generate &amp;#8220;noisy labels&amp;#8221;. The function traverses the entirety of the dataset and feeds the labeled data into a generative&amp;#8212;conditionally probabilistic&amp;#8212;model. The function of this model is to output the distribution of each response variable and predict the conditional probability based on a joint probability distribution algorithm. This is done by comparing the various labeling functions and the degree to which their outputs are congruent to each other. A single labeling function that has a high degree of congruence with other labeling functions will have a high degree of learned accuracy, that is, the fraction of predictions that the model got right. Conversely, single labeling functions that have a low degree of congruence with other functions will have low learned accuracy. Each prediction is then combined by the estimated weighted accuracy, whereby the predictions of the higher learned functions are counted multiple times. The result yields a transformation from a binary classification of 0 or 1 to a fuzzy label between 0 and 1&amp;#8212; there is &amp;#8220;x&amp;#8221; probability that based on heuristic &amp;#8220;n&amp;#8221;, the response variable is &amp;#8220;y&amp;#8221;. The addition of data to this generative model multi-class inference will be made on the response variables positive, negative, or abstain, assigning probabilistic labels to potentially millions of data points. Thus, we have generated a discriminative ground truth for all further labeling efforts and have improved the scalability of our models. Labeling functions can be applied to unlabeled data to further machine learning efforts.&lt;br&gt;&amp;#160;&lt;br&gt;Once our datasets are labeled and a ground truth is established, we need to persist the data into our delta lake since it combines the most performant aspects of a warehouse with the low-cost storage for data lakes. In addition, the lake can accept unstructured, semi structured, or structured data sources, and those sources can be further aggregated into raw ingestion, cleaned, and feature engineered data layers.&amp;#160; By sectioning off the data sources into these &amp;#8220;layers&amp;#8221;, the data engineering portion is abstracted away from the data scientist, who can access model ready data at any time.&amp;#160; Data can be ingested via batch or stream.&amp;#160;&lt;br&gt;&amp;#160;&lt;br&gt;The design of the entire ecosystem is to eliminate as much technical debt in machine learning paradigms as possible in terms of configuration, data collection, verification, governance, extraction, analytics, process management, resource management, infrastructure, monitoring, and post verification.&amp;#160;&lt;/p&gt;