Extrahieren Sie die detaillierte Tabelle. Lassen Sie nicht zu, dass die Sortierung die Übereinstimmung zwischen den Zeilen und dem Originaltext stört
Die gleiche Menge an Details in den beiden Zeilen bedeutet nicht, dass es sich um doppelte Daten handelt; Die sortierte Tabelle ist zwar aufgeräumter, bedeutet aber nicht, dass sie zeilenweise am Originaltext ausgerichtet werden kann. Was beim Extrahieren von Details am leichtesten verloren geht, ist häufig die Übereinstimmung zwischen jeder Zeile und der Quelle. In diesem Artikel wird erläutert, wie Sie es behalten.
– Die uniqueItems des JSON-Schemas entsprechen nicht der Einzigartigkeit eines bestimmten Felds und die Eindeutigkeit auf Feldebene muss separat überprüft werden.
- Es müssen erklärbare Regeln für das Löschen seitenübergreifender Überschriften, Fortsetzungstabellenanweisungen und Zwischensummenzeilen sowie für das Beibehalten der ausgeschlossenen Zeilen und Überprüfungsgründe vorhanden sein.
Nur weil die Beträge in den beiden Zeilen gleich sind, heißt das nicht, dass es sich um doppelte Daten handelt. Nur weil die Tabelle sortiert ist, heißt das nicht, dass sie Zeile für Zeile immer noch dem Originaltext entspricht. Beim Extrahieren von Details geht oft nicht das Feld selbst verloren, sondern die Entsprechung zwischen jeder Zeile und der Quelle.
Dieser Artikel eignet sich für Personen, die Details aus Dokumenten wie Verträgen, Angeboten, Finanztabellen usw. extrahieren müssen. Er eignet sich auch für Entwickler, die nachgelagerte Verarbeitungsprozesse erstellen. Nach dem Lesen wissen Sie, wie Sie die Quellinformationen für jedes Detail beibehalten, wie Sie mit den Problemen umgehen, die durch die gleiche Menge, seitenübergreifende Überschriften und Sortierung verursacht werden, und welche Ausrichtung bei der Überprüfung nach der Übersetzung verwendet werden sollte.
Wie kann beim Extrahieren von Details die Korrespondenz zwischen Zeilen und Quellen beibehalten werden? Fazit in einem Satz
Speichern Sie für jedes Detail eine stabile Quellenkennung. Die Sortierung dient nur der Anzeige und überschreibt nicht die ursprüngliche Zeilennummer.
| Ihre Situation | Empfohlene Praktiken | Grund |
|---|---|---|
| Beide Zeilen haben den gleichen Betrag | Überprüfen Sie zunächst die Quellseite und die Quellzeilennummer und entfernen Sie Duplikate nicht überstürzt. | Derselbe Betrag stellt keine doppelten Daten dar |
| Muss nach Betrag sortiert angezeigt werden | Erstellen Sie eine Anzeigeansicht und behalten Sie die ursprüngliche Zeilennummer bei | Die sortierten Seriennummern sollten nicht in die Quelle zurückgeschrieben werden |
| In der Tabelle werden doppelte Überschriften oder Zwischensummen angezeigt | Nach interpretierbaren Regeln ausschließen und ausgeschlossene Zeilen und Gründe beibehalten | Machen Sie es Prüfern leichter, versehentliche Löschungen zu erkennen |
| Mehrsprachige Angaben müssen abgeglichen werden | Ausrichtung nach Quell-ID, nicht nur nach übersetztem Produktnamen | Sowohl der Produktname als auch die Menge können wiederholt werden |
Speichern Sie zuerst die stabile Zeilenidentität
Behalten Sie für jedes Detail die Quellseite, die Tabellennummer und die Quellzeilennummer oder eine aus diesen Informationen zusammengesetzte stabile Kennung bei. Der Produktname und die Menge können wiederholt werden und sind nicht als separate Identitäten geeignet.
Wenn der Downstream nach Menge sortieren muss, können Sie eine Anzeigeansicht erstellen, aber die sortierten Seriennummern nicht versehentlich in die Originalquelle zurückschreiben.
Es gibt mehrere Möglichkeiten, es als Zeilenidentität zu verwenden
| Weg | Ist es als Identität geeignet? | Der Grund |
|---|---|---|
| Quellseite + Tabellennummer + Quellzeilennummer | Fitting | Sie kann die Zeile im Originaltext zuverlässig lokalisieren |
| Produktname | Nicht allein geeignet | Mögliche Wiederholungen |
| Betrag | Nicht allein geeignet | Mögliche Wiederholungen |
| Die sortierte Anzeigenummer | Nicht geeignet als Quelle | Die Sortierung ändert sich nach dem Sortieren |
Beachten Sie die Eindeutigkeit des JSON-Schemas
JSON-Arrays behalten die Reihenfolge, aber uniqueItems im Schema ist keine Abkürzung für "ein Feld ist eindeutig." Wenn sich die anderen Körper zweier Objekte unterscheiden, können sie dennoch als unterschiedliche Objekte betrachtet werden. Die Feld-Eindeutigkeit muss separat überprüft werden.
Eine Sammlung von Details mit derselben Menge, aber unterschiedlichen Quellen
from collections import Counter
rows = [{"source_id": "p1-t1-r1", "item": "Bolt", "amount": "10.00"},
{"source_id": "p1-t1-r2", "item": "Nut", "amount": "10.00"}]
def check_ids(items):
counts = Counter(row["source_id"] for row in items)
return [key for key, count in counts.items() if count > 1]
assert check_ids(rows) == []
assert len(rows) == 2
assert check_ids(rows + [dict(rows[0])]) == ["p1-t1-r1"]
display = sorted(rows, key=lambda row: row["item"], reverse=True)
assert [r["source_id"] for r in rows] == ["p1-t1-r1", "p1-t1-r2"]
assert {r["source_id"] for r in display} == {r["source_id"] for r in rows}
Dies ist eine Identitätsprüfung für synthetische Daten, kein Tabellenleser. Der Code verdoppelt absichtlich nicht die gleiche Menge, noch behandelt er die Anzeigereihenfolge als Quelle.
Die Regeln zur Generierung von True Source IDs müssen die Dateiversion berücksichtigen. Andernfalls kann dieselbe Seite oder Zeile in beiden Versionen mit demselben Beweisstück verwechselt werden.
Wenn die Anzahl der Zeilen falsch ist, identifizieren Sie zuerst das fehlende Glied
| Phänomen | Es sollte überprüft werden | Sie sollte nicht sofort eingenommen werden |
|---|---|---|
| Die Beträge werden doppelt verdoppelt | Egal, ob es ein anderes Projekt oder eine andere Quellbank ist | Duplikate werden nach Betrag entfernt |
| Quell-ID wiederholt | Ob es wiederholte Importe oder falsche Abbildungen gibt | Fügen Sie zufällig eine neue ID hinzu |
| Weniger Linien | Zusammenführende Zellen, leere Zeilen und Filterregeln | Verwenden Sie die vorherige Zeile, um die Lücke zu füllen. |
| Sequenzänderungen | Ist es nur für das Sortieren von Displays? | Decke die ursprüngliche Zeilennummer ab |
Seitenübergreifende Kopfzeilen sind keine gewöhnlichen Datenzeilen
Doppelte Header, fortlaufende Tabellenbeschreibungen und Subtotal-Zeilen können alle in das Nebenarray aufgenommen werden. Das Löschen erfordert interpretierbare Regeln; man kann nicht einfach auf den vorderen oder kurzen Text schauen.
Das Behalten ausgeschlossener Linien und deren Gründe kann helfen, Fehler zu überprüfen und Löschungen zu erkennen. Andernfalls wird das Problem erst untersucht, wenn die Endsumme nicht übereinstimmt.
Quellenbeziehungen in die Nachübersetzungsverifikation bringen
Mehrsprachige Detaillisten sollten nach Quell-ID ausgerichtet werden und dürfen nicht ausschließlich nach übersetztem Produktnamen durchsucht werden. Bei der Auswertung der Übersetzungsergebnisse der OmniDoc (Produkteinführung)-Tabellendokumente lohnen sich Zeilen-Spalten-Beziehungen, Mengen und Einheiten separat zu prüfen.
Die Quellidentifikation in diesem Artikel ist eine externe technische Vereinbarung und liefert keine Erklärung zur internen Implementierung der Plattform.
Quellen: JSON-Schema-Array
🎯 Welche Methode passt zu dir?
Wenn du nach Menge sortieren musst, damit die Leute sie sehen können
Erstellen Sie eine Anzeigeansicht; die Sortierung betrifft nur die Anzeige, und die ursprüngliche Quellseite sowie die Quellzeilennummer bleiben unverändert.
Wenn deine Tabelle Seitenübergreifende Überschriften oder Teilsummen hat
Verwenden Sie erklärbare Regeln, um diese Zeilen auszuschließen, und bewahren Sie die ausgeschlossenen Zeilen sowie ihre Gründe für eine spätere Überprüfung auf.
Wenn du mehrere Versionen einer Datei handhabst
Die Regeln zur Generierung von Quellcode-IDs sollten in die Dateiversion integriert werden, um Verwechslungen zwischen Versionen derselben Seite und Zeile zu vermeiden.
Wenn du mehrsprachige Detailausrichtung machen willst
Richten Sie sich nach Quell-ID aus; verlassen Sie sich nicht ausschließlich auf den übersetzten Produktnamen.
❓ Häufig gestellte Fragen (FAQ)
1. Wenn die Beträge in beiden Zeilen gleich sind, können dann Duplikate direkt entfernt werden?
Nein. Die gleiche Menge bedeutet nicht doppelte Daten; ihre Quellseiten und Zeilennummern sollten zunächst überprüft werden, um zu bestätigen, ob sie zu verschiedenen Einträgen oder unterschiedlichen Quellzeilen gehören.
2. Warum passt der Produktname nicht zur Identität der Linie?
Produktnamen und -beträge können dupliziert werden, und allein die Nutzung kann die ursprüngliche Linie nicht zuverlässig lokalisieren.
3. Kann nach dem Sortieren die neue Seriennummer wieder in die ursprünglichen Daten zurückgeschrieben werden?
Nicht zu empfehlen. Sortierte Seriennummern sind nur zur Darstellung geeignet; das Überschreiben der ursprünglichen Zeilennummern führt dazu, dass die Übereinstimmung mit der Quelle verloren geht.
4. Worauf solltest du achten, wenn du doppelte Header löschst?
Es sollte erklärbare Regeln geben, und die ausgeschlossenen Zeilen und Gründe sollten beibehalten werden, um fehlerhafte Löschungen zu erkennen.
📝 Zusammenfassung
Beim Extrahieren von Details pflegen Sie zunächst die Korrespondenz zwischen jeder Zeile und der Quelle, dann diskutieren Sie Sortierung und Deduplizierung. Der Code in diesem Artikel dient ausschließlich der Demonstration von synthetischen Mustern und stellt keine Garantie für alle echten Dateien oder Produktleistungen dar. Bitte bewahren Sie vor der Behandlung wichtiger Dokumente die Originale auf und prüfen Sie sie gemäß den Grenzen und Annahmepunkten im Dokument.


