Skip to content
Announcements5 min read

Potato 2.2: Ereignisse, Entity Linking, Export und 55 Erhebungsinstrumente

Potato 2.2.0 ergänzt 9 neue Annotationsschemata, ein erweiterbares Exportsystem, Kompetenzschätzung mit MACE, 55 validierte Erhebungsinstrumente und entfernte Datenquellen.

Potato Team

Hinweis: Dieser Beitrag beschreibt Potato 2.2 im Zustand zum Release. Einige Konfigurationsschlüssel und Funktionen haben sich in späteren Versionen geändert. Die aktuelle Konfigurationssyntax steht in der aktuellen Dokumentation.

Potato 2.2.0 ist da und erweitert beides: was du annotieren kannst und wie du die Qualität im Griff behältst. Dazugekommen sind 9 neue Annotationsschemata, ein erweiterbares Exportsystem, Kompetenzschätzung mit MACE, 55 validierte Erhebungsinstrumente und entfernte Datenquellen.

Neue Annotationsschemata

Ereignisannotation

Der größte Zugang bei den Schemata in 2.2 ist die n-äre Ereignisannotation. Ein Ereignis besteht aus einem Trigger-Span (dem Wort, das das Ereignis anzeigt) und Argument-Spans mit typisierten semantischen Rollen. Eine Bogendarstellung nach Nabe-Speiche-Prinzip verbindet jeden Trigger mit seinen Argumenten.

yaml
annotation_schemes:
  - annotation_type: event_annotation
    name: events
    span_schema: entities
    event_types:
      - type: "ATTACK"
        trigger_labels: ["EVENT_TRIGGER"]
        arguments:
          - role: "attacker"
            entity_types: ["PERSON", "ORGANIZATION"]
            required: true
          - role: "target"
            entity_types: ["PERSON", "ORGANIZATION", "LOCATION"]
            required: true

Damit sind Informationsextraktion, semantische Rollenannotation und der Aufbau von Wissensgraphen abgedeckt, für die man bisher eigene Werkzeuge brauchte.

Zur Dokumentation der Ereignisannotation →

Entity Linking

Span-Annotationen können jetzt auf externe Wissensbasen verweisen. Eine annotierende Person markiert Text, vergibt ein Label und sucht dann in einem Dialogfenster die passende Entität aus Wikidata, UMLS oder einer eigenen Wissensbasis heraus und verknüpft sie.

yaml
annotation_schemes:
  - annotation_type: span
    name: ner
    labels: [PERSON, ORGANIZATION, LOCATION]
    entity_linking:
      enabled: true
      knowledge_bases:
        - name: wikidata
          type: wikidata
          language: en

Für mehrdeutige Entitäten gibt es außerdem einen Mehrfachauswahl-Modus, und du kannst mehrere Wissensbasen in einer Aufgabe anbinden.

Zur Dokumentation von Entity Linking →

Triage, paarweiser Vergleich, Koreferenz und mehr

Sechs weitere Annotationstypen vervollständigen die Zugänge in v2.2:

  • Triage bietet eine Oberfläche mit Annehmen, Ablehnen und Überspringen, um Daten schnell zu sichten, mit automatischem Weiterspringen und Tastenkürzeln
  • Der paarweise Vergleich stellt eine A/B-Auswahl oder einen Schieberegler bereit, für Preference Learning und RLHF-Daten
  • Gesprächsbäume erlauben hierarchische Baumannotation mit Bewertungen je Knoten und Pfadauswahl
  • Koreferenzketten fassen koreferierende Erwähnungen zusammen, mit visuellen Markierungen für die Ketten
  • Segmentierungsmasken bringen Füll-, Radier- und Pinselwerkzeug für die Bildannotation auf Pixelebene
  • Diskontinuierliche Spans (allow_discontinuous: true) erfassen nicht zusammenhängende Textauswahlen

Klügere Annotation

Kompetenzschätzung mit MACE

MACE schätzt mit einem Variational-Bayes-EM-Algorithmus zugleich die wahren Labels und die Kompetenz jeder annotierenden Person (ein Wert zwischen 0.0 und 1.0). Es weist auf verlässliche Annotierende hin, erkennt Spammer und liefert bessere vorhergesagte Labels.

yaml
mace:
  enabled: true
  trigger_every_n: 10
  min_annotations_per_item: 3

Es läuft eigenständig im Hintergrund und ist an das Admin-Dashboard und die Adjudikation angebunden.

Zur Dokumentation von MACE →

Hervorhebung von Optionen

Diese neue KI-Funktion liest den Inhalt und hebt bei diskreten Aufgaben die Optionen hervor, die am ehesten zutreffen. Die Top-k-Optionen erscheinen in voller Deckkraft und mit einem Stern daneben, der Rest wird abgedunkelt.

yaml
ai_support:
  option_highlighting:
    enabled: true
    top_k: 3
    dim_opacity: 0.4

Zur Dokumentation der Optionshervorhebung →

Sortierung nach Vielfalt

Embeddings aus Sentence Transformers gruppieren ähnliche Elemente zu Clustern, danach zieht ein Round-Robin-Verfahren abwechselnd Elemente aus verschiedenen Clustern. Annotierende bekommen mehr Abwechslung zu sehen, was wach hält und den Themenraum besser abdeckt.

yaml
assignment_strategy: diversity_clustering
diversity_ordering:
  enabled: true
  prefill_count: 100

Zur Dokumentation der Sortierung nach Vielfalt →

Exportsystem

Die neue Export-CLI (python -m potato.export) wandelt Annotationen mit einem Befehl in 6 gängige Formate um:

bash
python -m potato.export --config config.yaml --format coco --output ./export/
python -m potato.export --config config.yaml --format yolo --output ./export/
python -m potato.export --config config.yaml --format conll_2003 --output ./export/

Unterstützte Formate: COCO, YOLO, Pascal VOC, CoNLL-2003, CoNLL-U und Segmentierungsmasken. Fehlt ein Format, leitest du eine eigene Klasse von BaseExporter ab.

Zur Dokumentation der Exportformate →

Entfernte Datenquellen

Annotationsdaten lassen sich aus URLs, S3, Google Drive, Dropbox, Hugging-Face-Datensätzen, Google Sheets und SQL-Datenbanken laden:

yaml
data_sources:
  - type: huggingface
    dataset: "squad"
    split: "train"
 
  - type: s3
    bucket: "my-annotation-data"
    key: "datasets/items.jsonl"

Für große Datensätze gibt es teilweises und schrittweises Laden, die Daten werden lokal zwischengespeichert, und Zugangsdaten liegen in Umgebungsvariablen statt in der Konfiguration.

Zur Dokumentation der entfernten Datenquellen →

Erhebungsinstrumente

Eine Sammlung von 55 validierten Fragebögen, die du in Vor- und Nachbefragungen einsetzen kannst:

yaml
phases:
  prestudy:
    type: prestudy
    instrument: "tipi"      # 10-item personality questionnaire
 
  poststudy:
    type: poststudy
    instrument: "phq-9"     # 9-item depression screening

Sie decken 8 Bereiche ab: Persönlichkeit (BFI-2, TIPI), psychische Gesundheit (PHQ-9, GAD-7), Affekt (PANAS), Selbstkonzept (RSE), soziale Einstellungen (SDO-7, MFQ), Antwortstil, Kurzformen und Demografieblöcke aus großen Erhebungen (ANES, GSS, ESS).

Zur Dokumentation der Erhebungsinstrumente →

Kleinere Korrekturen

  • Objektverfolgung im Video mit Keyframe-Interpolation
  • Bounding-Box-Annotation auf PDF-Seiten
  • Unterstützung für eine externe KI-Konfigurationsdatei
  • Verbesserungen am Raster für Formularlayouts

Umstieg auf v2.2

bash
pip install --upgrade potato-annotation

Deine Konfigurationen für v2.0 und v2.1 laufen unverändert weiter. Alles Neue schaltest du über zusätzliche Konfigurationsblöcke selbst dazu.

Loslegen

Das vollständige Changelog samt aller geänderten Konfigurationsschlüssel steht in den Release Notes zu v2.2.0 im Repository.


Fragen oder Rückmeldungen? Komm in unseren Discord oder eröffne ein Issue auf GitHub.