Skip to main content

Data annotation done right: easy, fun, hyper-productive, and inducing insight.

Project description

Hover

Imagine editing a picture layer by layer, not pixel by pixel, nor by splashing paint.

That has come to machine teaching.

PyPI Stage PyPI Version Build Workflow Codacy Grade Codacy Coverage

Demo


Hover is a machine teaching library that enables intuitive and effecient supervision. In other words, it provides a map where you hover over and label your data... differently. For instance, you can:

  • Binder :seedling: annotate an intuitively selected group of data points at a time
  • Binder :ferris_wheel: throw a model in the loop and exploit active learning
  • Binder :whale: cross-check with Snorkel-based distant supervision

Check out @phurwicz/hover-binder for a complete list of demo apps.

Quick Start

Hover uses bokeh to build its annotation interface:

# app-annotator.py

from hover.core.explorer import BokehCorpusAnnotator
from bokeh.io import curdoc

# df is a pandas dataframe with 2D embedding
# which hover can help you compute

annotator = BokehCorpusAnnotator({"raw": df})
annotator.plot()

curdoc().add_root(annotator.view())
curdoc().title = "Simple-Annotator"
bokeh serve app-annotator.py

The most exciting features of Hover employ lots of Python callbacks, for which bokeh serve comes into play.

Installation

To get the latest release version, you can use pip:

pip install hover

Installation through conda is not yet supported.

Features

Here we attempt a quick comparison with a few other packages that do machine teaching:

Package Hover Prodigy Snorkel
Core idea supervise like editing a picture scriptable active learning programmatic distant supervision
Annotates per batch of just the size you find right piece predicted to be the most valuable the whole dataset as long as it fits in
Supports all classification (text only atm) text & images, audio, vidio, & more text classification (for the most part)
Status open-source proprietary open-source
Devs indie Explosion AI Stanford / Snorkel AI
Related many imports of the awesome Bokeh builds on the Thinc/SpaCy stack Variants: Snorkel Drybell, MeTaL, DeepDive
Vanilla usage define a vectorizer and annotate away choose a base model and annotate away define labeling functions and apply away
Advanced usage combine w/ active learning & snorkel patterns / transformers / custom models transforming / slicing functions
Hardcore usage exploit hover.core templates custom @prodigy.recipe the upcoming Snorkel Flow

Hover claims the best deal of scale vs. precision thanks to

  • the flexibility to use, or not use, any technique beyond annotating on a "map";
  • the speed, or coarseness, of annotation being literally at your fingertips;
  • the interaction between multiple "maps" that each serves a different but connected purpose.

Resources

Dependencies

  • ./requirements-test.txt lists additional dependencies for the test suite.
  • ./requirements-dev.txt lists recommended packages for developers.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hover-0.2.4.tar.gz (27.0 kB view details)

Uploaded Source

Built Distribution

hover-0.2.4-py3-none-any.whl (31.7 kB view details)

Uploaded Python 3

File details

Details for the file hover-0.2.4.tar.gz.

File metadata

  • Download URL: hover-0.2.4.tar.gz
  • Upload date:
  • Size: 27.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.1.post20200323 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.10

File hashes

Hashes for hover-0.2.4.tar.gz
Algorithm Hash digest
SHA256 879d6c5bcaf8316981a074443365f32b63ad8afdd2096ec2c0c7f4552a98b9b8
MD5 41d09eb47c9dd3c92472106685b63b29
BLAKE2b-256 2ef01985904596c9b9c1736db517b7a830f9f023ad16a440a70a05d07e37d121

See more details on using hashes here.

File details

Details for the file hover-0.2.4-py3-none-any.whl.

File metadata

  • Download URL: hover-0.2.4-py3-none-any.whl
  • Upload date:
  • Size: 31.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.1.post20200323 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.10

File hashes

Hashes for hover-0.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 8ed5464e7a663de9498acf96baad90980d3d844633db4f43fd7ecba900af6751
MD5 5b447f87344ea692a58d460c3a27d638
BLAKE2b-256 95f1d6fa4d250396df7810a3705d9e2fb7b65da2dcfdaa3481224f81a0d5bc1a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page