{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# ipyannotate" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Widget for Jupyter Notebook to check and annotate data. A simplified version of Prodigy for Jupyter Notebook.\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Examples of markup tasks that can be solved using `ipyannotate`:\n", "- Assigning one or more topics to a group of news articles\n", "- Filtering out toxic reviews from your dataset\n", "- Marking adult content from a set of screenshots\n", "- Given a NER markup, count the number of errors grouped by type\n", "\n", "Examples of tasks for which `ipyannotate` is not suitable:\n", "- Drawing masks or selecting background vs foreground\n", "- Given a set of portraits, detecting eyes/ears/nose/etc\n", "- Other types of tasks which involved graphically annotating an image\n", "- Given a text, markup spans with names, locations, organizations.\n", "\n", "`ipyannotate` is well-suited for conveniently placing one or several labels for a set of objects (pictures, texts, anything that Jupyter can display).\n", "\n", "There is a number of tools that do the same thing: Prodigy, Yandex.Toloka, for example. `ipyannotate` is a Jupyter widget, and there are three reasons why it is convenient:\n", "\n", "1. Input, output\n", "\n", "Often the whole process of working with data occurs inside Jupyter Notebook. It is inconvenient to format the data in a json or xml file, send it to another service, upload and parse the results. With `ipyannotate` you can mark up the data directly in Jupyter:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "2a35d9287a28406c8b2dd8e4e5a75363", "version_major": 2, "version_minor": 0 }, "text/html": [ "
Failed to display Jupyter Widget of type Annotation
.
\n", " If you're reading this message in the Jupyter Notebook or JupyterLab Notebook, it may mean\n", " that the widgets JavaScript is still loading. If this message persists, it\n", " likely means that the widgets JavaScript library is either not installed or\n", " not enabled. See the Jupyter\n", " Widgets Documentation for setup instructions.\n", "
\n", "\n", " If you're reading this message in another frontend (for example, a static\n", " rendering on GitHub or NBViewer),\n", " it may mean that your frontend doesn't currently support widgets.\n", "
\n" ], "text/plain": [ "Annotation(canvas=OutputCanvas(), progress=Progress(atoms=[