Programmatic – a REPL for creating labeled data
Programmatic – a REPL for creating labeled data
Hey HN, I’m Jordan cofounder of Humanloop (YC S20) and I’m excited to show you Programmatic — an annotation tool for building large labeled datasets for NLP without manual annotation . Programmatic is like a REPL for data annotation. You: 1. Write simple rules/functions that can approximately label the data 2. Get near-instant feedback across your entire corpus 3. Iterate and improve your rules Finally, it uses a Bayesian label model [1] to convert these noisy annotations into a single, large, clean dataset, which you can then use for training machine learning models. You can programmatically label millions of datapoints in the time taken to hand-label hundreds. What we do differently from weak supervision packages like Snorkel/skweak[1] is to focus on UI to give near-instantaneous feedback. We love these packages but when we tried to iterate on labeling functions we had to write a ton of boilerplate code and wrestle with pandas to understand what was going on. Building a dataset programmatically requires you to grok the impact of labeling rules on a whole corpus of text. We’ve been told that the exploration tools and feedback makes the process feel game-like and even fun (!!). We built it because we see that getting labeled data remains a blocker for businesses using NLP today. We have a platform for active learning (see our Launch HN [2]) but we wanted to give software engineers and data scientists a way to build the datasets needed themselves and to make best use of subject-matter-experts’ time. The package is free and you can install it now as a pip package [2]. It supports NER / span extraction tasks at the moment and document classification will be added soon. To help improve it, we'd love to hear your feedback or any success/failures you’ve had with weak supervision in the past. [1]: We use a HMM model for NER tasks, and Naive-Bayes for classification using the two approaches given in the papers below: Pierre Lison, Jeremy Barnes, and Aliaksandr Hubin. "skweak: Weak Supervision Made Easy for NLP." https://arxiv.org/abs/2104.09683 (2021) Alex Ratner, Christopher De Sa, Sen Wu, Daniel Selsam, Chris Ré. "Data Programming: Creating Large Training Sets, Quickly" https://arxiv.org/abs/1605.07723 (NIPS 2016) [2]: Our Launch HN for our main active learning platform, Humanloop – https://news.ycombinator.com/item?id=23987353 [3]: Can install it directly here https://docs.programmatic.humanloop.com/tutorials/quick-star...
Share cardActual performance
Launch Intel predictions
Analyze your own launch →Correct prediction on native model
Similar products
We are creating the Venmo of Ethereum
Creating a Monorepo with Lerna and Yarn Workspaces
Hamilton, a Microframework for Creating Dataframes
The perks of creating dataflows with Hamilton
Binary JellyFish – A mistake while creating Newton Fractal
Dust – Creating Ephemeral Gestures on iOS8
Tic Tac Toe – Creating Unbeatable AI
FlouState – See if you're debugging, creating, or refactoring (free)
App for Creating Giveaways on Twitch
Creating a to Do App with VuetifyJS and Back EndLab