Amazon verstehen ist ein NLP-Dienst (Natural Language Processing), der vorab trainierte und benutzerdefinierte APIs bereitstellt, um Erkenntnisse aus Textdaten abzuleiten. Amazon Comprehend-Kunden können benutzerdefinierte NER-Modelle (Named Entity Recognition) trainieren, um relevante Entitäten wie Standort, Personenname und Datum zu extrahieren, die für ihr Unternehmen eindeutig sind.
Um ein benutzerdefiniertes Modell zu trainieren, bereiten Sie zunächst Trainingsdaten vor, indem Sie Entitäten in Dokumenten manuell mit Anmerkungen versehen. Dies kann mit dem erfolgen Verstehen Sie das Anmerkungstool für halbstrukturierte Dokumente, wodurch ein . entsteht Amazon Sagemaker Ground Truth Job mit einer benutzerdefinierten Vorlage, die es Annotatoren ermöglicht, Begrenzungsrahmen um die Elemente direkt in den PDF-Dokumenten zu zeichnen. Für Unternehmen mit vorhandenen tabellarischen Entitätsdaten in ERP-Systemen wie SAP kann die manuelle Annotation jedoch repetitiv und zeitaufwändig sein.
Um den Aufwand für die Vorbereitung von Trainingsdaten zu reduzieren, haben wir mit ein Pre-Labeling-Tool erstellt AWS Step-Funktionen Dadurch werden Dokumente automatisch vorab mit Anmerkungen versehen, indem vorhandene tabellarische Entitätsdaten verwendet werden. Dies verringert den manuellen Aufwand, der zum Trainieren präziser benutzerdefinierter Entitätserkennungsmodelle in Amazon Comprehend erforderlich ist, erheblich.
In diesem Beitrag führen wir Sie durch die Schritte zum Einrichten des Pre-Labeling-Tools und zeigen Beispiele dafür, wie es Dokumente aus einer Öffentlichkeit automatisch mit Anmerkungen versieht Datensatz Muster-Kontoauszüge im PDF-Format. Der vollständige Code ist auf der verfügbar GitHub Repo.
Lösungsüberblick
In diesem Abschnitt besprechen wir die Ein- und Ausgänge des Pre-Labeling-Tools und geben einen Überblick über die Lösungsarchitektur.
Eingänge und Ausgänge
Als Eingabe verwendet das Vorbeschriftungstool PDF-Dokumente, die mit Anmerkungen versehener Text enthalten. Für die Demo verwenden wir simulierte Kontoauszüge wie im folgenden Beispiel.
Das Tool benötigt außerdem eine Manifestdatei, die PDF-Dokumente den Entitäten zuordnet, die wir aus diesen Dokumenten extrahieren möchten. Entitäten bestehen aus zwei Dingen: dem expected_text
aus dem Dokument extrahieren (z. B. AnyCompany Bank
) und das entsprechende entity_type
(zum Beispiel, bank_name
). Später in diesem Beitrag zeigen wir, wie diese Manifestdatei aus einem CSV-Dokument wie im folgenden Beispiel erstellt wird.
Das Vorbeschriftungstool verwendet die Manifestdatei, um die Dokumente automatisch mit ihren entsprechenden Entitäten zu kommentieren. Wir können diese Annotationen dann direkt verwenden, um ein Amazon Comprehend-Modell zu trainieren.
Alternativ können Sie einen SageMaker Ground Truth-Beschriftungsauftrag zur menschlichen Überprüfung und Bearbeitung erstellen, wie im folgenden Screenshot gezeigt.
Wenn die Überprüfung abgeschlossen ist, können Sie die mit Anmerkungen versehenen Daten verwenden, um ein benutzerdefiniertes Entitätserkennungsmodell von Amazon Comprehend zu trainieren.
Architektur
Das Vorbeschriftungstool besteht aus mehreren AWS Lambda Funktionen, die von einer Schrittfunktions-Zustandsmaschine orchestriert werden. Es gibt zwei Versionen, die unterschiedliche Techniken zum Generieren von Voranmerkungen verwenden.
Die erste Technik ist Fuzzy Matching. Dies erfordert eine Vormanifestdatei mit den erwarteten Entitäten. Das Tool verwendet den Fuzzy-Matching-Algorithmus, um Voranmerkungen durch Vergleich der Textähnlichkeit zu generieren.
Beim Fuzzy-Matching wird im Dokument nach Zeichenfolgen gesucht, die den in der Prämanifestdatei aufgeführten erwarteten Entitäten ähnlich (aber nicht unbedingt identisch) sind. Es berechnet zunächst die Textähnlichkeitswerte zwischen dem erwarteten Text und den Wörtern im Dokument und gleicht dann alle Paare oberhalb eines Schwellenwerts ab. Auch wenn es keine genauen Übereinstimmungen gibt, können mit dem Fuzzy-Matching Varianten wie Abkürzungen und Rechtschreibfehler gefunden werden. Dadurch kann das Tool Dokumente vorab kennzeichnen, ohne dass die Entitäten wörtlich erscheinen müssen. Zum Beispiel, wenn 'AnyCompany Bank'
als erwartete Entität aufgeführt ist, werden Vorkommen von Fuzzy Matching mit Anmerkungen versehen 'Any Companys Bank'
. Dies bietet mehr Flexibilität als ein strikter String-Abgleich und ermöglicht es dem Vorbeschriftungstool, automatisch mehr Entitäten zu beschriften.
Das folgende Diagramm veranschaulicht die Architektur dieser Step Functions-Zustandsmaschine.
Die zweite Technik erfordert a vorab trainiertes Amazon Comprehend-Entitätserkennungsmodell. Das Tool generiert Voranmerkungen mithilfe des Amazon Comprehend-Modells und folgt dabei dem im folgenden Diagramm dargestellten Workflow.
Das folgende Diagramm veranschaulicht die vollständige Architektur.
In den folgenden Abschnitten gehen wir die Schritte zur Implementierung der Lösung durch.
Stellen Sie das Voretikettierungstool bereit
Klonen Sie das Repository auf Ihren lokalen Computer:
Dieses Repository basiert auf dem Comprehend Semi-Structured Documents Annotation Tool und erweitert seine Funktionalitäten, indem es Ihnen ermöglicht, einen SageMaker Ground Truth-Beschriftungsauftrag mit Voranmerkungen zu starten, die bereits auf der SageMaker Ground Truth-Benutzeroberfläche angezeigt werden.
Das Vorbeschriftungstool umfasst sowohl die Ressourcen des Comprehend Semi-Structured Documents Annotation Tool als auch einige spezifische Ressourcen für das Vorbeschriftungstool. Sie können die Lösung mit bereitstellen AWS Serverless-Anwendungsmodell (AWS SAM), ein Open-Source-Framework, mit dem Sie serverlosen Anwendungsinfrastrukturcode definieren können.
Wenn Sie zuvor das Comprehend Semi-Structured Documents Annotation Tool bereitgestellt haben, lesen Sie den FAQ-Abschnitt in Pre_labeling_tool/README.md
Anweisungen dazu, wie Sie nur die Ressourcen bereitstellen, die für das Voretikettierungstool spezifisch sind, finden Sie hier.
Wenn Sie das Tool noch nicht bereitgestellt haben und neu beginnen, gehen Sie wie folgt vor, um die gesamte Lösung bereitzustellen.
Ändern Sie das aktuelle Verzeichnis in den Annotation-Tool-Ordner:
Erstellen Sie die Lösung und stellen Sie sie bereit:
Erstellen Sie die Pre-Manifest-Datei
Bevor Sie das Pre-Labeling-Tool verwenden können, müssen Sie Ihre Daten vorbereiten. Die Haupteingaben sind PDF-Dokumente und eine Pre-Manifest-Datei. Die Pre-Manifest-Datei enthält den Speicherort jedes PDF-Dokuments darunter 'pdf'
und den Speicherort einer JSON-Datei mit erwarteten Entitäten, unter denen eine Beschriftung erfolgen soll 'expected_entities'
.
Das Notebook generate_premanifest_file.ipynb zeigt, wie diese Datei erstellt wird. In der Demo zeigt die Pre-Manifest-Datei den folgenden Code:
Jede JSON-Datei, die in der Pre-Manifest-Datei aufgeführt ist (unter expected_entities
) enthält eine Liste von Wörterbüchern, eines für jede erwartete Entität. Die Wörterbücher haben folgende Schlüssel:
- „erwartete_Texte“ – Eine Liste möglicher Textzeichenfolgen, die zur Entität passen.
- „entity_type“ – Der entsprechende Entitätstyp.
- „ignore_list“ (optional) – Die Liste der Wörter, die bei der Übereinstimmung ignoriert werden sollen. Diese Parameter sollten verwendet werden, um zu verhindern, dass beim Fuzzy-Matching bestimmte Wortkombinationen gefunden werden, von denen Sie wissen, dass sie falsch sind. Dies kann nützlich sein, wenn Sie bei der Suche nach Namen einige Nummern oder E-Mail-Adressen ignorieren möchten.
So befasst sich beispielsweise die expected_entities
Das zuvor gezeigte PDF sieht wie folgt aus:
Führen Sie das Vorbeschriftungstool aus
Starten Sie mit der Pre-Manifest-Datei, die Sie im vorherigen Schritt erstellt haben, die Ausführung des Pre-Labeling-Tools. Weitere Einzelheiten finden Sie im Notizbuch start_step_functions.ipynb.
Um das Vorbeschriftungstool zu starten, stellen Sie eine bereit event
mit folgenden Schlüsseln:
- Prämanifest – Ordnet jedes PDF-Dokument seinem zu
expected_entities
Datei. Dies sollte enthalten Amazon Simple Storage-Service (Amazon S3) Eimer (unterbucket
) und der Schlüssel (unterkey
) der Datei. - Vorsilbe – Wird zum Erstellen des verwendet
execution_id
, der den S3-Ordner für die Ausgabespeicherung und den Namen des SageMaker Ground Truth-Beschriftungsauftrags benennt. - Entity_types – Wird in der Benutzeroberfläche angezeigt, damit Annotatoren sie beschriften können. Diese sollten alle Entitätstypen in den erwarteten Entitätsdateien enthalten.
- Arbeitsteamname (optional) – Wird zum Erstellen des SageMaker Ground Truth-Beschriftungsauftrags verwendet. Es entspricht dem Einsatz privater Arbeitskräfte. Wenn es nicht bereitgestellt wird, wird anstelle eines SageMaker Ground Truth-Beschriftungsauftrags nur eine Manifestdatei erstellt. Sie können die Manifestdatei später verwenden, um einen SageMaker Ground Truth-Beschriftungsauftrag zu erstellen. Beachten Sie, dass Sie zum jetzigen Zeitpunkt keine externen Arbeitskräfte bereitstellen können, wenn Sie den Etikettierungsauftrag über das Notizbuch erstellen. Sie können den erstellten Job jedoch klonen und ihn auf der SageMaker Ground Truth-Konsole einer externen Belegschaft zuweisen.
- comprehend_parameters (optional) – Parameter zum direkten Trainieren eines benutzerdefinierten Entitätserkennungsmodells von Amazon Comprehend. Wenn dieser Schritt weggelassen wird, wird er übersprungen.
Führen Sie den folgenden Python-Code aus, um die Zustandsmaschine zu starten:
Dadurch wird ein Lauf der Zustandsmaschine gestartet. Sie können den Fortschritt der Zustandsmaschine auf der Step Functions-Konsole überwachen. Das folgende Diagramm veranschaulicht den Workflow der Zustandsmaschine.
Wenn die Zustandsmaschine fertig ist, gehen Sie wie folgt vor:
- Überprüfen Sie die folgenden Ausgaben, die im gespeichert sind
prelabeling/
Ordner dercomprehend-semi-structured-docs
S3-Bucket:- Individuelle Anmerkungsdateien für jede Seite des Dokuments (eine pro Seite und Dokument) in
temp_individual_manifests/
- Ein Manifest für den SageMaker Ground Truth-Beschriftungsauftrag in
consolidated_manifest/consolidated_manifest.manifest
- Ein Manifest, das zum Trainieren eines benutzerdefinierten Amazon Comprehend-Modells verwendet werden kann
consolidated_manifest/consolidated_manifest_comprehend.manifest
- Individuelle Anmerkungsdateien für jede Seite des Dokuments (eine pro Seite und Dokument) in
- Öffnen Sie in der SageMaker-Konsole den Beschriftungsauftrag „SageMaker Ground Truth“, der erstellt wurde, um die Anmerkungen zu überprüfen
- Untersuchen und testen Sie das trainierte benutzerdefinierte Amazon Comprehend-Modell
Wie bereits erwähnt, kann das Tool nur SageMaker Ground Truth-Kennzeichnungsaufträge für private Arbeitskräfte erstellen. Um den menschlichen Etikettierungsaufwand auszulagern, können Sie den Etikettierungsauftrag auf der SageMaker Ground Truth-Konsole klonen und beliebige Arbeitskräfte dem neuen Auftrag zuordnen.
Aufräumen
Um zusätzliche Kosten zu vermeiden, löschen Sie die von Ihnen erstellten Ressourcen und den bereitgestellten Stack mit dem folgenden Befehl:
Zusammenfassung
Das Pre-Labeling-Tool bietet Unternehmen eine leistungsstarke Möglichkeit, vorhandene Tabellendaten zu nutzen, um den Prozess des Trainings benutzerdefinierter Entitätserkennungsmodelle in Amazon Comprehend zu beschleunigen. Durch die automatische Vorannotation von PDF-Dokumenten wird der manuelle Aufwand im Etikettierungsprozess erheblich reduziert.
Das Tool verfügt über zwei Versionen: Fuzzy-Matching und Amazon Comprehend-basiert, was Flexibilität bei der Generierung der ersten Anmerkungen bietet. Nachdem Dokumente vorab beschriftet wurden, können Sie sie schnell in einem SageMaker Ground Truth-Beschriftungsauftrag überprüfen oder sogar die Überprüfung überspringen und direkt ein benutzerdefiniertes Amazon Comprehend-Modell trainieren.
Mit dem Pre-Labeling-Tool können Sie schnell den Wert Ihrer historischen Entitätsdaten erschließen und sie zum Erstellen benutzerdefinierter Modelle verwenden, die auf Ihre spezifische Domäne zugeschnitten sind. Durch die Beschleunigung des normalerweise arbeitsintensivsten Teils des Prozesses wird die Erkennung benutzerdefinierter Entitäten mit Amazon Comprehend einfacher denn je.
Weitere Informationen zum Beschriften von PDF-Dokumenten mit einem Beschriftungsauftrag von SageMaker Ground Truth finden Sie unter Benutzerdefinierte Dokumentanmerkung zum Extrahieren benannter Entitäten in Dokumenten mit Amazon Comprehend und Verwenden Sie Amazon SageMaker Ground Truth, um Daten zu kennzeichnen.
Über die Autoren
Oskar Schnaack ist angewandter Wissenschaftler am Generative AI Innovation Center. Seine Leidenschaft ist es, in die Wissenschaft hinter dem maschinellen Lernen einzutauchen, um es für Kunden zugänglich zu machen. Außerhalb der Arbeit fährt Oskar gerne Fahrrad und hält sich über Trends in der Informationstheorie auf dem Laufenden.
Romain Besombes ist Deep Learning Architect am Generative AI Innovation Center. Seine Leidenschaft gilt dem Aufbau innovativer Architekturen, um die Geschäftsprobleme der Kunden mit maschinellem Lernen anzugehen.
- SEO-gestützte Content- und PR-Distribution. Holen Sie sich noch heute Verstärkung.
- PlatoData.Network Vertikale generative KI. Motiviere dich selbst. Hier zugreifen.
- PlatoAiStream. Web3-Intelligenz. Wissen verstärkt. Hier zugreifen.
- PlatoESG. Kohlenstoff, CleanTech, Energie, Umwelt, Solar, Abfallwirtschaft. Hier zugreifen.
- PlatoHealth. Informationen zu Biotechnologie und klinischen Studien. Hier zugreifen.
- Quelle: https://aws.amazon.com/blogs/machine-learning/automate-pdf-pre-labeling-for-amazon-comprehend/
- :hast
- :Ist
- :nicht
- $UP
- 100
- 11
- 150
- 152
- 19
- 400
- 500
- 600
- 7
- 804
- 9
- a
- Über Uns
- oben
- beschleunigen
- zugänglich
- genau
- Zusätzliche
- Adresse
- Adressen
- Nach der
- AI
- Algorithmus
- Alle
- Zulassen
- erlaubt
- bereits
- ebenfalls
- Amazon
- Amazon verstehen
- Amazon Sage Maker
- Amazon Sagemaker Ground Truth
- Amazon Web Services
- an
- und
- jedem
- APIs
- erscheinen
- Anwendung
- angewandt
- Architektur
- SIND
- um
- AS
- At
- anhängen
- automatisieren
- Im Prinzip so, wie Sie es von Google Maps kennen.
- verfügbar
- vermeiden
- AWS
- Bank
- BE
- war
- Bevor
- hinter
- zwischen
- beide
- Boxen
- Building
- erbaut
- Geschäft
- aber
- by
- berechnet
- CAN
- Center
- Gebühren
- Code
- COM
- Kombinationen
- Unternehmen
- Vergleich
- abschließen
- begreifen
- besteht
- Konsul (Console)
- konstruieren
- enthalten
- enthält
- Dazugehörigen
- entspricht
- erstellen
- erstellt
- schafft
- Erstellen
- Strom
- Original
- Kunden
- technische Daten
- Datum
- sinkt
- tief
- tiefe Lernen
- definieren
- Demo
- einsetzen
- Einsatz
- ableiten
- Details
- anders
- Direkt
- diskutieren
- angezeigt
- Tauchen
- do
- Dokument
- Unterlagen
- Damhirschkuh
- Domain
- erledigt
- zeichnen
- jeder
- Anstrengung
- ermöglicht
- ermöglichen
- Entitäten
- Einheit
- ERP
- Sogar
- ÜBERHAUPT
- Beispiel
- Beispiele
- vorhandenen
- erwartet
- erweitert
- extern
- Extrakt
- FAQ
- Reichen Sie das
- Mappen
- Finden Sie
- Vorname
- Flexibilität
- Folgende
- Aussichten für
- Format
- Unser Ansatz
- frisch
- für
- voller
- Funktionsumfang
- Funktionen
- erzeugen
- erzeugt
- generativ
- Generative KI
- Unterstützung
- Boden
- Haben
- he
- historisch
- Ultraschall
- Hilfe
- aber
- HTML
- http
- HTTPS
- human
- identisch
- if
- ignorieren
- zeigt
- implementieren
- in
- das
- Dazu gehören
- Information
- Infrastruktur
- Anfangs-
- Innovation
- innovativ
- Varianten des Eingangssignals:
- Eingänge
- Einblicke
- beantragen müssen
- Anleitung
- Interesse
- in
- IT
- SEINE
- Jane
- Job
- Jobs
- jpg
- JSON
- Aufbewahrung
- Wesentliche
- Tasten
- Wissen
- Label
- Beschriftung
- später
- lernen
- Gefällt mir
- Liste
- Gelistet
- aus einer regionalen
- Standorte
- suchen
- SIEHT AUS
- Maschine
- Maschinelles Lernen
- Main
- um
- MACHT
- manuell
- Handarbeit
- manuell
- Landkarten
- Spiel
- Streichhölzer
- Abstimmung
- erwähnt
- Modell
- für
- Überwachen
- mehr
- vor allem warme
- mehrere
- Name
- Namens
- Namen
- Notwendig
- Need
- erforderlich
- Neu
- Nlp
- nicht
- beachten
- Notizbuch
- Zahlen
- of
- on
- EINEM
- einzige
- XNUMXh geöffnet
- Open-Source-
- or
- orchestriert
- Möglichkeiten für das Ausgangssignal:
- Ausgänge
- aussen
- auslagern
- Überblick
- Seite
- Paare
- Parameter
- Teil
- leidenschaftlich
- für
- person
- Plato
- Datenintelligenz von Plato
- PlatoData
- möglich
- Post
- größte treibende
- Danach
- Vorbereitung
- verhindern
- früher
- vorher
- privat
- Probleme
- Prozessdefinierung
- Verarbeitung
- Fortschritt
- die
- vorausgesetzt
- bietet
- Öffentlichkeit
- Python
- schnell
- Anerkennung
- Veteran
- reduziert
- siehe
- repetitiv
- Quelle
- falls angefordert
- erfordert
- Downloads
- Überprüfen
- Führen Sie
- Laufen
- sagemaker
- Sam
- Saft
- Gerettet
- Wissenschaft
- Wissenschaftler
- Zweite
- Abschnitt
- Abschnitte
- sehen
- Serverlos
- Lösungen
- Einstellung
- sollte
- erklären
- gezeigt
- Konzerte
- bedeutend
- ähnlich
- Einfacher
- Lösung
- einige
- Quelle
- spezifisch
- Stapel
- Anfang
- Beginnen Sie
- Bundesstaat
- Aussagen
- Schritt
- Shritte
- Lagerung
- Streng
- Schnur
- so
- Systeme und Techniken
- zugeschnitten
- nimmt
- Technik
- Techniken
- Vorlage
- Test
- Text
- textuell
- als
- zur Verbesserung der Gesundheitsgerechtigkeit
- Das
- Der Staat
- ihr
- Sie
- dann
- Theorie
- Dort.
- deswegen
- Diese
- fehlen uns die Worte.
- Schwelle
- Durch
- Zeitaufwendig
- zu
- Werkzeug
- Top
- Training
- Ausbildung
- Trends
- Wahrheit
- XNUMX
- tippe
- Typen
- typisch
- ui
- für
- einzigartiges
- öffnen
- -
- benutzt
- verwendet
- Verwendung von
- Wert
- Versionen
- Spaziergang
- wollen
- wurde
- Weg..
- we
- Netz
- Web-Services
- GUT
- Was
- Was ist
- wann
- welche
- ganze
- Wikipedia
- werden wir
- mit
- ohne
- Worte
- Arbeiten
- Arbeitsablauf.
- Belegschaft
- Schreiben
- Falsch
- Du
- Ihr
- Zephyrnet
- PLZ