Die besten kostenlosen Labeling-Tools für NLP-Textannotationen


Fabian Gringel


Highlighter pens for text annotation

In diesem Blogbeitrag stelle ich die drei besten kostenlosen Annotationswerkzeuge für die manuelle Annotation von Dokumenten in NLP-Projekten (Natural Language Processing) vor. Sie werden lernen, wie man sie installiert, konfiguriert und benutzt, und Sie werden herausfinden, welches von ihnen am besten für Ihre Zwecke geeignet ist.

Die Werkzeuge, die ich vorstellen werde, sind

Die Auswahl basiert auf diesem umfassenden wissenschaftlichen Übersichtsartikel und unserer praktischen Erfahrungen innerhalb unserer dida NLP-Projekte.

Ich werde die Werkzeuge nacheinander besprechen.

Für jedes von ihnen werde ich zunächst einen allgemeinen Überblick darüber geben, wofür das Werkzeug geeignet ist, und dann Einzelheiten (oder Links) zur Installation, Konfiguration und Verwendung angeben. Möglicherweise ist auch unsere Sammlung von NLP-Inhalten interessant für Sie.


brat rapid annotation tool


Was Sie damit machen können

brat ist eine Online-Umgebung für kollaborative Textnnotation, die auf einem (möglicherweise lokalen) Server ausgeführt und dann in einem Browser verwendet werden kann. 

brat ist eher dazu gedacht, einzelne Ausdrücke und Beziehungen zwischen ihnen zu annotieren, wie die Beispiele zeigen:

Das Annotieren von wesentlich längeren Textabschnitten (d.h. Absätzen) erweist sich als sehr umständlich (siehe Verwendung unten).

Die Eingabedokumente müssen als Textdateien vorliegen. Die Darstellung der Textdatei in der Benutzeroberfläche (UI) ist nicht unbedingt originalgetreu. Aus diesen beiden Gründen ist Brat kein sehr geeignetes Werkzeug für die Annotation strukturierter Dokumente, wo man eher direkt PDFs annotieren möchte.

Das Konfigurieren eines Annotationsschemas ist einfach und flexibel. Sie können Span-Elemente, Beziehungen und Attribute sowie Einschränkungen für diese definieren, die von brat automatisch überprüft werden. Darüber hinaus gibt es spezielle Konfigurationsdateien zur Definition einer nicht standardmäßigen visuellen Konfiguration (z.B. Farben von Labels) und Werkzeuge wie Satzsegmentierung (Splitting) oder Tokenisierung.

Die Annotationen werden ebenfalls in Textdateien gespeichert. Wir haben festgestellt, dass das Parsen der Annotationen reibungslos funktioniert, wenn die beschrifteten Einheiten Wörter oder Untersatzausdrücke sind, aber bei längeren spans ermüdend wird.

brat bietet einige Funktionen für das kollaborative Labeling: Mehrere Benutzer werden unterstützt, und es gibt einen integrierten Annotationsvergleich.

Installation

brat kommt mit einer detaillierten Anleitung zur Installation. Sie finden sie hier.

Lassen Sie mich nur ein paar Hinweise hinzufügen, die Ihnen das Leben leichter machen könnten:

  • Wenn Sie Brat nur auf Ihrem lokalen Rechner installieren und ausführen wollen, dann ist der Standalone-Server genau das, was Sie wollen.

  • Schauen Sie sich unbedingt den Abschnitt Detailed Instructions -> Placing Data in der Anleitung an, um zu erfahren, wie die Annotationsdateien eingerichtet werden.

  • brat ist nicht kompatibel mit Python 3. Daher müssen Sie möglicherweise den Befehl python standalone.py in python2 standalone.py ändern.

  • Wir haben festgestellt, dass brat am besten mit Google Chrome funktioniert.

Konfiguration

brat allows for the configuration of a project-specific labeling scheme via .conf files (which are actually plain text files in brat's own standoff format). How to do it is explained here.

Verwendung

Die Verwendung von Brat ist ziemlich unkompliziert: Das Markieren einer Textspanne öffnet ein Pop-up-Menü. Die Optionen in diesem Menü hängen von der Konfiguration des Labeling-Schemas ab.

Sie können dies selbst ausprobieren, ohne dass Sie brat installieren müssen.
Es ist nicht immer einfach, genau die gewünschte Spanne zu markieren. Außerdem passt das Popup-Menü nicht mehr auf den Bildschirm, wenn die markierte Spanne zu lang ist.

Weitere Informationen über die Grundfunktionalität von brat finden Sie hier.


doccano


Was Sie damit machen können

doccano ist ein weiteres Annotationswerkzeug ausschließlich für Textdateien. Es ist einfacher zu benutzen und schlichter als Brat.

 doccano logo

Genau wie brat läuft es serverbasiert und hat eine Browser-UI.

Die Hauptunterschiede im Vergleich zu brat sind:

  • die gesamte Konfiguration wird in der Web-Benutzeroberfläche vorgenommen

  • der Anwendungsfall ist auf die Dokumentenklassifizierung, die Sequenzkennzeichnung und die Sequenz-zu-Sequenz beschränkt.

Das bedeutet, dass doccano anfängerfreundlicher (und wahrscheinlich im Allgemeinen benutzerfreundlicher) ist als Brat, aber im Gegensatz zu Brat kann man keine Beziehungen oder Attribute definieren. Je nach Wahl des Anwendungsfalles gibt es nur Beschriftungen auf Dokument- oder Spannenebene.

Der Projekttyp bestimmt auch die Optionen für das Annotationsexportformat, das entweder CSV- oder JSON-basiert ist.

doccano lässt mehrere Benutzer zu, aber darüber hinaus gibt es keine zusätzlichen Funktionen für kollaboratives Labeling.

Es gibt zwei zusätzliche Funktionen, die Sie in brat nicht finden: Sie können direkt in der App (in Markdown) Richtlinien für die Beschriftung schreiben und speichern, und Sie erhalten eine grundlegende schematische Übersicht über Labeling-Statistiken.

Installation

Die Installation ist einfach und vollständig auf doccano's GitHub Repo beschrieben.

Sie müssen nicht verstehen, was Docker ist und tut, um doccano zu installieren und zu benutzen. Stellen Sie einfach sicher, dass Docker installiert ist.

Konfiguration

In doccano gibt es nicht viel zu konfigurieren. Sie können Labels direkt in der Browser-Benutzeroberfläche erstellen und bearbeiten, ebenso wie Labeling-Richtlinien.

Verwendung

Ich empfehle, die Live-Demos von doccano auszuprobieren, um sich mit der Funktionsweise vertraut zu machen.


INCEpTION


Was Sie damit machen können

INCEpTION ist das Nachfolgeprojekt von WebAnno, das in dem oben erwähnten Review die höchste Gesamtpunktzahl erhalten hat. 

Wie die ersten beiden Tools verwendet es eine Browser-UI. Es kann für eine Gruppe von Benutzern auf einem Server oder als eigenständige Version eingerichtet werden.

INCEpTION ist ein weitaus umfangreicheres Werkzeug als doccano oder brat:

  • Es kann sowohl mit Textdateien als auch mit PDF-Dateien umgehen, die Textinformationen enthalten (z.B. weil sie aus Textdateien oder durch OCR-Software erstellt wurden), und verfügt über einen umfangreichen Abschnitt "Einstellungen", in dem Sie praktisch alles konfigurieren können, was Sie sich wünschen,

  • bietet Funktionen zur Erleichterung des kollaborativen Labelings und zur statistischen Auswertung der Annotationen,

  • kann Anmerkungen in einer breiten Palette gängiger NLP-Annotationsformate exportieren.

Dies vorausgeschickt, könnte INCEpTION anfangs etwas überwältigend sein. Ich empfehle Ihnen, die Funktionen von INCEpTION zu ignorieren, bei denen Sie nicht wissen, was Sie mit ihnen tun sollen, und sich auf das zu konzentrieren, was Sie für Ihr Projekt benötigen.

Installation

INCEpTION kommt mit einem umfassenden Benutzerhandbuch, in dem insbesondere beschrieben wird, wie es ausgeführt wird (siehe Abschnitt "Getting started").

Das Ausführen von INCEpTION ist besonders einfach, da Sie die heruntergeladene JAR-Datei ausführen können, ohne sie zu installieren.

Konfiguration und Verwendung

In INCEpTION gibt es so viel zu konfigurieren, dass ich hier nicht einmal ansatzweise auf alle Möglichkeiten eingehen kann. 

Wahrscheinlich sind Sie jedoch an INCEpTION wegen des PDF-Labelings interessiert. Deshalb möchte ich Ihnen zumindest zeigen, wie man das macht. Im folgenden Video werde ich

  • ein neues Projekt erstellen,

  • ein Dokument importieren,

  • ein Label definieren,

  • die Einstellungen des Dokumentbetrachters ändern, um das Dokument als PDF-Datei anzuzeigen,

  • das Dokument annotieren.

Um zu verstehen, was INCEpTION sonst noch zu bieten hat und wie man es benutzt, müssen Sie wirklich etwas Zeit damit verbringen, Dinge auszuprobieren und das Benutzerhandbuch zu lesen.

Sie können mit der Online-Demo-Version beginnen.


Fazit


Ich habe die drei besten kostenlosen NLP-Labeling-Tools vorgestellt und darauf hingewiesen, wie sie zu verwenden sind.

Zum Schluss gebe ich Ihnen eine grobe Richtlinie, wie Sie unter den drei vorgestellten Werkzeugen das für Sie richtige auswählen können:

  • Wenn Sie mit Textdateien arbeiten, wobei das, was Sie tun wollen, entweder als Dokumentenklassifikation, Sequenz-Labeling oder Sequenz-zu-Sequenz kategorisiert werden kann und Sie keine Relationen benötigen, aber so schnell wie möglich ohne langwierige Konfigurationen mit dem Labeling beginnen wollen, dann wählen Sie doccano.

  • Wenn Sie mit Textdateien arbeiten, die Dinge so einfach wie möglich halten wollen, aber mehr Funktionalität benötigen, als doccano bietet, dann probieren Sie brat aus.

  • Wenn Sie aus irgendeinem Grund mit (nativen) PDF-Dateien arbeiten wollen, oder wenn Sie sich nicht vor einem komplexeren Annotationswerkzeug scheuen, das zwar einige Zeit zum Kennenlernen benötigt, Ihnen aber eine umfangreiche Palette an Funktionen bietet, dann ist INCEpTION das Richtige für Sie.

Falls diese Labeling Tools nicht ausreichen um Ihr Machine Learning Projekt erfolgreich umzusetzen, können Sie gerne einen kostenlosen KI-Austausch mit uns buchen.