Disclaimer: Konfuzio.com bietet eine kommerzielle Alternative inkl. SLA zu den hier dargestellten Open Source Tools.
Welches Annotationstool ist das beste für Ihr nächstes Natural Language Processing Projekt, um Annotationen in Dokumenten zu ermöglichen?
Dieser Artikel wurde auf Deutsch verfasst und redaktionell überprüft. Weitere Sprachen stehen als automatische Übersetzung zur Verfügung. Wir freuen uns über Feedback am Ende des Artikels.
Annotationen in PDF Dokumenten für NLP und Computer Vision
Viele Annotations Tools sind kostenlos verfügbar. Ein aktueller Artikel stellt mehrere Dutzend vor. Wir ergänzen diesen wissenschaftlichen Artikel mit den Anforderungen im Unternehmenskontext an Tools für NLP Annotationen. Im zweiten Abschnitt werfen wir einen praktischen Blick auf einige der verfügbaren Tools.
Annotationen in verschiedenen Datenformaten
Ein Hacker News Artikel beschreibt die hohe Komplexität der PDF-Verarbeitung. Alle 700 Kommentare darunter spiegeln das Interesse an PDF-Dokumenten als Datenbasis für NLP-Training wider. Wer mehr über „What’s so hard about PDF text extraction?“, findet hier eine gute Übersicht. Man kann zusammenfassen, dass es für Unternehmensanwender schwierig ist, auf Text in PDFs oder Bildern zuzugreifen, um NLP Modelle zu trainieren.
Kontext durch Relationen von Annotationen
Erst das Verständnis von Abhängigkeiten führt in der Geschäftswelt zu einem Mehrwert durch NLP. Aus fachlicher Sicht reicht es oft nicht den Vornamen oder Nachnamen einer Person zu erkennen. Der Kontext dieser Person muss annotiert und später von der NLP gelernt werden. So ist es für das fachliche Verständnis wichtig, ob der Vorname des Verkäufers oder Käufers gemeint ist.
Dokumente annotieren im Team
In Unternehmen tragen verschiedene Personen zu einem hochwertigen Datensatz bei. Schon bei der Datenerfassung stellen meist verschiedene Abteilungen oder Personen Daten zur Verfügung. Auch beim annotieren im NLP-Projekt unterstützen verschiedene Benutzer die NLP-Experten bei der Erstellung der NLP-Daten. Erfahrene Nutzer müssen die Annotation von weniger erfahrenen Nutzern überprüfen. Erfahrene Annotatoren sollten in der Lage sein, Annotationen von weniger erfahrenen Benutzern zu überarbeiten. Dieses Verfahren kann die Datenqualität verbessern und beschleunigt das organisationale Lernen.
Automatisierte Annotation in Dokumenten
Sobald ein Experte ein NLP-Modell trainiert hat, sollten Annotatoren es verwenden, um Zeit zu sparen. Annotatoren sollten das Modell nutzen, um neue Annotationen automatisch zu generieren. Anstatt neue Annotationen zu erstellen, sollten sie diese überprüfen. Automatisierte Annotationen helfen den Annotatoren, konzentriert zu bleiben und mehr Rohdaten zu annotieren. Vorgeschlagenen Annotationen verkürzen die Bearbeitungszeit von Rohdaten, da Menschen falsche Annotationen schneller korrigiert haben als als fehlende Annotationen hinzufügt. Selbst bei weniger genauen Modellen helfen Data Scientists beim manuellen erstellen guten Datensätze.
Visuelle Merkmale für bessere NLP nutzen
Im Gegensatz zu Tweets enthält die Position von Text innerhalb eines Geschäftsdokuments Informationen. Zum Beispiel sind die Telefonnummern der Ansprechpartner meist in der oberen rechten Ecke aufgeführt. Das Annotationstool sollte jede Textsequenz in eine Bounding Box und eine Seitenzahl umwandeln umwandeln können. Visuelle Positionen ergänzen die NLP-Features und erhöhen die Genauigkeit des Modells.
Kostenlose NLP Annotationstools im Jahr 2023
Die folgenden Tools sind kostenlos, browserbasiert und installierbar. Diese kostenlosen Annotations-Tools haben sich bereits für viele Data Scientists bewährt. Wir bei Konfuzio haben großen Respekt vor den Entwicklern, die diese Tools geschaffen haben. Dennoch werden wir diese Tools auf Basis der Anforderungen von Unternehmensanwendern hinterfragen. Wir haben alle Tools nach der Installation und Konfiguration getestet.
brat
Das Tool brat ist browserbasiert und erlaubt die Annotation von Textdateien. Es hebt Beziehungen zwischen Annotationen hervor. Das Setup erlaubt es, Annotationen mit hoher Komplexität innerhalb des Textes zu kennzeichnen. Beim Hochladen der Textdatei verliert der Text zumindest in der Oberfläche das Format. Auch das Annotieren von Text über mehr als eine Zeile führt oft zu Fehlern. Das Tool brat steht unter der MIT-Lizenz auf der eigenen Homepage zum Download bereit.
Doccano
Doccano ist ein browserbasiertes Annotationswerkzeug zum Kategorisieren, Übersetzen und Annotieren von Sequenzen. Die Einrichtung über Docker ermöglicht ein einfaches Deployment. Doccano ist auf GitHub unter der MIT-Lizenz verfügbar. Derzeit ist nur die Annotation von Textdateien möglich. Es ist nicht möglich, einzelne Annotationen zu gruppieren. Über die API ist es möglich, Annotationen automatisch hinzuzufügen. Leider können Benutzer nicht nach automatisierten vs. überarbeiteten Annotationen filtern. Dies macht eine manuelle Kontrolle von automatisch erstellen Annotationen so gut wie unmöglich.
INCEpTION
Als Nachfolger von WebAnno bietet INCEpTION eine ausgereifte, aber komplexe Lösung. Das aus der wissenschaftlichen Forschung stammende Tool bietet eine Dokumentation und eine Live-Demo. Um vertrauliche Daten zu hosten, kann die Anwendung auf einem eigenen Server eingerichtet werden. INCEpTION verwendet die Open-Source Apache License v2.0. Die Bearbeitung von PDF scheint über PDF.js möglich zu sein. Leider geht bei dieser Textkonvertierung mit dem PDF-Viewer das Layout im Text verloren. Annotationen können laut Dokumentation nicht automatisch erstellt werden.
PDFAnno
Mit dem Fokus, dem Benutzer das annotieren von PDFs zu ermöglichen, bietet dieses Tool ein Webinterface. Es kann immer nur ein Benutzer eine Annotation in einem Dokument erstellen. Die Zusammenarbeit mit anderen ist nur über den Import oder Export der Daten möglich. Das Tool setzt auf PDF.js auf, um das PDF darzustellen. Da PDF.js vor Beginn der Bearbeitung das gesamte PDF lädt, führt die Annotation größerer PDFs zu langen Ladezeiten. Das GitHub-Projekt (MIT-Lizenz) ist archiviert.
Alle Tools für Annotationen finden Sie hier.
NLP Annotationen in Dokumenten mit Konfuzio





Kostenlose Annotationstools sind großartig und fokussieren meist den einzelnen Endanwender, z. B. einen Data Scientist, der an einem NLP-Projekt alleine arbeitet. Im Unternehmenskontext bilden die Funktionen dieser Tools die Anforderungen nur sehr heterogen ab. Dies hat uns im Jahr 2018 dazu veranlasst, Konfuzio zu entwickeln. Unser Ziel ist es, Unternehmen in die Lage zu versetzen, NLP-Modelle schnell, auf beliebigen Datenquellen und kollaborativ zu erstellen. Gerne nehmen wir auch Rezensionen für andere Tools auf. Unser Tool für Annotationen in Dokumenten kombiniert die die optische Ebene und den Text.
Konfuzio Module:
- Konfuzio Server: Der Konfuzio Server bietet einen Webservice zur Verarbeitung von Dokumenten. Die Ergebnisse des Verarbeitungsprozesses der Dokumente werden über mandantenfähige REST API Services im JSON-Format bereitgestellt. Die Applikation differenziert hierbei Nutzer nach Rollen und bietet die Möglichkeit, Create, Read, Update und Delete (CRUD) Berechtigungen zu konfigurieren. Closed Source Code, siehe Dokumentation.
- Konfuzio Python SDK: Das Konfuzio Software Development Kit (Konfuzio SDK) ist eine Sammlung von Programmierwerkzeugen und Programmbibliotheken, die zur Entwicklung von Software dient. Es unterstützt Softwareentwickler, darauf basierende Anwendungen zu erstellen und so benutzerdefinierte Dokumentenprozesse für die Klassifikation, Extraktion und Segmentierung von Dokumenten zu erstellen. Link zum GitHub Git Repository.
- Konfuzio Document Validation UI: Die Document Validation UI ist eine intuitive Benutzeroberfläche, um den Nutzern des Konfuzio Servers die Navigation durch die verschiedenen Schritte zu erleichtern, die mit der Überprüfung der Informationen verbunden sind, die aus einem bestimmten Dokument extrahiert wurden. Link zum GitHub Git Repository.
- Konfuzio Helm Chart: Der Konfuzio Helm Chart bietet die Konfiguration für den Betrieb des Konfuzio Servers, um diesen auf Kubernetes zu installieren, betreiben, updaten und zu skalieren. Link zum Git Repository.
Funktion | brat | Doccano | INCEpTION | PDFanno | Konfuzio |
Datenformate | ✗ | ✗ | ✓ | ✓ | ✓ |
Kontext | ✓ | ✗ | ✓ | ✗ | ✓ |
Team-First | ✗ | ✓ | ✓ | ✗ | ✓ |
Automatisierung | ✗ | ggf. | ✗ | ✗ | ✓ |
Visuelle Merkmale | ✗ | ✗ | ✗ | ✗ | ✓ |
Kostenfrei | ✓ | ✓ | ✓ | ✓ | ✗ |