Zum Inhalt springen

Docs / Anleitungen

Maschinell übersetzte Seite

Diese Seite wurde automatisch übersetzt und kann daher Fehler oder seltsame Formulierungen enthalten. Die englische Version ist die maßgebliche Quelle. Das englische Original lesen.

Nachweis maschineller Übersetzungen festhalten

Erstelle pro Key einen Nachweis, welche Übersetzungen eine Maschine schrieb und welche eine Person prüfte, und trag ihn in XLIFF- und TMX-Exporte.

Verfügbar ab 0.12.0

Das brauchst du, wenn jemand fragt, welchen deiner veröffentlichten Texte ein Provider oder ein KI-Agent übersetzt hat und ob eine Person ihn geprüft hat. verbatra hält das pro Key in verbatra.provenance.json fest; du holst es als Bericht zum Archivieren heraus oder als Markierungen in den XLIFF- und TMX-Dateien, die du an andere Tools weitergibst.

Unterstützender Nachweis, keine Rechtsberatung

Nach Artikel 50 der EU-KI-Verordnung wird Text, den eine Person unter redaktioneller Verantwortung geprüft hat, anders behandelt als Text, bei dem das nicht geschehen ist. Der Bericht und die Markierungen sind ein unterstützender Nachweis für die Person, die entscheidet, wie das für dein Produkt gilt. Sie sind keine Rechtsberatung, und ihr Einsatz macht ein Produkt mit nichts konform.

Was der Nachweis sagen kann und was nicht

Jeder Wert, den verbatra schreibt, wird mit seiner Herkunft (dem Schreibweg, der ihn erzeugt hat), einer etwaigen Review-Entscheidung und dem Namen der prüfenden Person festgehalten; siehe die Lock-Datei. Für einen Nachweis fallen die Herkünfte in zwei Klassen:

  • Maschinelle Klasse: machine, memory, fuzzy und agent. Der Speicher zählt als Maschine, weil er nicht festhält, wer einen Eintrag geschrieben hat.
  • Menschen: human (eine Bearbeitung über Studio oder das SDK) und import (die Übergabe einer Übersetzerin).

external, unrecorded und unknown gehören zu keiner der beiden. Eine Freigabe, die vor einer Änderung des Quelltexts erteilt wurde, gilt als ungeprüft.

Denk an die Grenzen, wenn du den Nachweis weitergibst:

  • Manipulationen fallen nicht auf. Wer deine Locale-Dateien bearbeiten kann, kann auch ihn bearbeiten; sein Wert kommt aus deiner Git-Historie und deinem Code-Review.
  • Er hat keine Zeitstempel. Wann ein Wert geschrieben oder freigegeben wurde, steht in der Git-Historie (git log -p verbatra.provenance.json).
  • Er neigt zur Maschine. Speichertreffer, unscharfe Treffer und Agent-Bearbeitungen zählen alle als Maschine, und ein maschineller Wert, den niemand freigegeben hat, zählt als ungeprüft, auch wenn sein Text in Ordnung ist.

Der Herkunftsbericht

verbatra report provenance gibt pro Ziel-Locale aus, wie viele Werte in jede Kategorie fallen.

verbatra report provenance
KategorieDer Wert wurde geschrieben vonGeprüft?
machine-unreviewedmachine, memory, fuzzy oder agentnicht freigegeben, einschließlich eines abgelehnten Werts, der wieder in der Datei steht
machine-reviewedmachine, memory, fuzzy oder agentvon einer Person freigegeben
humaneiner Person, über verbatrabeides möglich
importder Übergabe einer Übersetzerinbeides möglich
externaletwas außerhalb von verbatra, seit sein Eintrag geschrieben wurdeunbekannt
unrecordedniemandem, den verbatra kennt: Es gibt keinen Eintragunbekannt
unknownohne bekannte Urheberschaft festgehaltenbeides möglich

Gezählt werden nur Keys mit einem Wert sowohl in der Quelle als auch in der Ziel-Locale: Ein fehlender Key hat keinen Text, über den Rechenschaft abzulegen wäre. Ein Agent liest denselben Bericht über das MCP-Tool report.provenance.

Eine Audit-Datei aus der CI

Mit --json listet der Bericht jeden Key, was ihn zu einer Audit-Datei macht, die du mit jedem Release archivierst:

verbatra report provenance --json > provenance-report.json

Ist verbatra.provenance.json beschädigt oder von einer neueren verbatra-Version geschrieben, endet der Befehl mit 1, statt einen Bericht auszugeben, der jeden Wert als unrecorded listen würde. Ein CI-Job scheitert also, statt eine leere Audit-Datei zu archivieren.

Muss jede maschinelle Übersetzung vor einem Release geprüft sein, sichere zusätzlich mit verbatra check --require-reviewed ab.

Das JSON-Schema

Der Bericht ist das result der üblichen JSON-Hülle, mit command auf "report". SDK-Aufrufer bekommen dasselbe Objekt von provenanceReport.

FeldTypBedeutung
availabletrueder Bericht wurde aus den committeten Dateien erstellt
generatedAtstringwann der Bericht erstellt wurde, ISO 8601 in UTC
toolVersionstringdie verbatra-Version, die ihn erstellt hat, oder unknown, wenn ein SDK-Aufrufer keine übergibt
sourceLocalestringdie konfigurierte Quell-Locale
locales[]arrayein Eintrag pro Ziel-Locale, in konfigurierter Reihenfolge, eingegrenzt durch --locales
locales[].localestringdie Ziel-Locale
locales[].totalnumberwie viele Keys für die Locale gelistet sind
locales[].countsobjectwie viele Keys in jede Kategorie fallen; alle sieben Kategorien sind immer vorhanden
locales[].entries[]arrayein Eintrag pro Key mit einem Wert in Quelle und Locale, in Quellreihenfolge
entries[].keystringder Übersetzungs-Key
entries[].bucketstringeine der Kategorien oben
entries[].originstringdie Herkunft, einschließlich unrecorded und external
entries[].reviewStatestringunreviewed, approved oder rejected
entries[].providerstring, optionaldie id des Providers, der geantwortet hat, bei einem machine-Wert
entries[].modelstring, optionaldas konfigurierte Modell, wenn der Eintrag eines nennt
entries[].reviewerstring, optionaldie mit der Entscheidung genannte prüfende Person, wenn eine angegeben wurde

Lässt sich die Herkunftsdatei nicht lesen, ist das Ergebnis { "available": false, "reason": "provenance-unreadable" }. Später können neue optionale Felder hinzukommen; vorhandene behalten ihre Bedeutung.

Markierungen in Exporten

Die Herkunft reist auch in die Dateien mit, die du an andere Tools weitergibst, damit die Gegenseite maschinelle Ausgabe von menschlicher Arbeit unterscheiden kann.

XLIFF

verbatra export mit --format xliff12 oder --format xliff2 markiert jede Unit mit einem Ziel:

Das Ziel istXLIFF 1.2XLIFF 2.0
maschinelle Klasse, nicht freigegebenstate-qualifier="mt-suggestion" auf <target><mda:meta type="origin"> und <mda:meta type="review-state">
maschinelle Klasse, freigegebenkein Qualifierdieselben zwei Meta-Einträge
human, import, external, unrecorded oder unknownkein Qualifierdieselben zwei Meta-Einträge

mt-suggestion ist der XLIFF-1.2-Wert für "von maschineller Übersetzung vorgeschlagen", den CAT-Tools auch so anzeigen, neben dem üblichen state. Ein Wert, den eine Person freigegeben hat oder für dessen Herkunft verbatra nicht bürgen kann, bekommt keinen Qualifier.

XLIFF 2.0 hat keinen Status-Qualifier, deshalb bekommt die verbatra-Metadatengruppe der Unit, die schon den Quell-Hash enthält, die vollständige Herkunft und den Review-Status:

<mda:metaGroup category="verbatra">
  <mda:meta type="source-hash">8f3a0c1e2b4d6f70</mda:meta>
  <mda:meta type="origin">machine</mda:meta>
  <mda:meta type="review-state">unreviewed</mda:meta>
</mda:metaGroup>

TMX

verbatra tmx export schreibt auf jedes Zielsegment eine Eigenschaft x-origin und neben ein machine-Segment zusätzlich x-review:

<tuv xml:lang="de"><prop type="x-origin">machine</prop><prop type="x-review">unreviewed</prop><seg>Zur Kasse</seg></tuv>

x-origin ist machine, human, import oder unknown; x-review ist approved, unreviewed oder rejected. Ein Speichereintrag ist ein Textpaar, kein Key, deshalb ist ein Segment machine, wenn irgendein Key mit genau diesem Text zur maschinellen Klasse gehört, und approved nur, wenn das für jeden solchen Key gilt. Ein Text, den kein Eintrag beschreibt, ist unknown.

Markierte Dateien importieren

Der Import ignoriert jede Markierung. Eine XLIFF-Unit wird nach ihrem Ziel und Status beurteilt, ein TMX-Segment nach seinem Text. Ein aus einer Übergabe importierter Wert wird als import festgehalten, und ein TMX-Import füllt nur den Übersetzungsspeicher. Eine Markierung, die ein Tool umgeschrieben, entfernt oder erfunden hat, kann deinen Nachweis also nicht ändern.

Wenn sich der Nachweis nicht lesen lässt

Ist verbatra.provenance.json beschädigt oder von einer neueren verbatra-Version (oder lässt sich bei TMX die Lock-Datei nicht lesen), gelingt der Export trotzdem, schreibt aber keine Markierungen statt solcher, die er nicht belegen kann. Die Zusammenfassung sagt das, und das --json-Ergebnis trägt provenanceMarkers: "unavailable" statt "written".

Siehe auch

Auf GitHub bearbeiten

Auf dieser Seite