Im heutigen Informationszeitalter stellen die riesigen Datenmengen in unzähligen Dokumenten sowohl eine Herausforderung als auch eine Chance für Unternehmen dar. Herkömmliche Dokumentenverarbeitungsmethoden sind oft nicht effizient und genau und lassen Raum für Innovation, Kosteneffizienz und Optimierungen. Die Dokumentenverarbeitung hat mit der Einführung der intelligenten Dokumentenverarbeitung (Intelligent Document Processing, IDP) erhebliche Fortschritte gemacht. Mit IDP können Unternehmen unstrukturierte Daten aus verschiedenen Dokumenttypen in strukturierte, umsetzbare Erkenntnisse umwandeln, wodurch die Effizienz erheblich gesteigert und der manuelle Aufwand reduziert wird. Das Potenzial endet hier jedoch nicht. Durch die Integration generativer künstlicher Intelligenz (KI) in den Prozess können wir die IDP-Fähigkeiten weiter verbessern. Generative KI führt nicht nur zu erweiterten Möglichkeiten bei der Dokumentenverarbeitung, sondern auch zu einer dynamischen Anpassungsfähigkeit an sich ändernde Datenmuster. Dieser Beitrag führt Sie durch die Synergie von IDP und generativer KI und zeigt, wie sie die nächste Grenze in der Dokumentenverarbeitung darstellen.
Wir besprechen IDP ausführlich in unserer Serie Intelligente Dokumentenverarbeitung mit AWS AI Services (Teil 1 und Teil 2). In diesem Beitrag diskutieren wir, wie man eine neue oder bestehende IDP-Architektur mit großen Sprachmodellen (LLMs) erweitert. Genauer gesagt besprechen wir, wie wir uns integrieren können Amazontext mit LangChain als Dokumentenlader und Amazonas Grundgestein um Daten aus Dokumenten zu extrahieren und generative KI-Funktionen innerhalb der verschiedenen IDP-Phasen zu nutzen.
Amazon Textract ist ein maschineller Lerndienst (ML), der automatisch Text, Handschrift und Daten aus gescannten Dokumenten extrahiert. Amazon Bedrock ist ein vollständig verwalteter Dienst, der über benutzerfreundliche APIs eine Auswahl an leistungsstarken Foundation-Modellen (FMs) bietet.
Das folgende Diagramm ist eine allgemeine Referenzarchitektur, die erläutert, wie Sie einen IDP-Workflow mit Basismodellen weiter verbessern können. Sie können LLMs je nach Anwendungsfall und gewünschtem Ergebnis in einer oder allen Phasen von IDP einsetzen.
In den folgenden Abschnitten gehen wir eingehend darauf ein, wie Amazon Textract mithilfe von LangChain in generative KI-Workflows integriert wird, um Dokumente für jede dieser spezifischen Aufgaben zu verarbeiten. Die hier bereitgestellten Codeblöcke wurden der Kürze halber gekürzt. Beachten Sie unsere GitHub-Repository für detaillierte Python-Notizbücher und eine Schritt-für-Schritt-Anleitung.
Bei der Verarbeitung von Dokumenten mit LLMs ist die Textextraktion aus Dokumenten ein entscheidender Aspekt. Sie können Amazon Textract verwenden, um unstrukturierten Rohtext aus Dokumenten zu extrahieren und die ursprünglichen halbstrukturierten oder strukturierten Objekte wie Schlüssel-Wert-Paare und Tabellen im Dokument beizubehalten. Dokumentenpakete wie Gesundheits- und Versicherungsansprüche oder Hypotheken bestehen aus komplexen Formularen, die viele Informationen in strukturierten, halbstrukturierten und unstrukturierten Formaten enthalten. Die Dokumentenextraktion ist hier ein wichtiger Schritt, da LLMs von den umfangreichen Inhalten profitieren, um genauere und relevantere Antworten zu generieren, die andernfalls die Qualität der Ausgabe der LLMs beeinträchtigen könnten.
LangChain ist ein leistungsstarkes Open-Source-Framework für die Integration mit LLMs. LLMs sind im Allgemeinen vielseitig, haben jedoch möglicherweise Schwierigkeiten mit domänenspezifischen Aufgaben, bei denen tiefere Kontexte und differenzierte Antworten erforderlich sind. LangChain ermöglicht es Entwicklern in solchen Szenarien, Agenten zu erstellen, die komplexe Aufgaben in kleinere Unteraufgaben aufteilen können. Die Unteraufgaben können dann Kontext und Gedächtnis in LLMs einführen, indem sie LLM-Eingabeaufforderungen verbinden und verketten.
LangChain bietet Dokumentenlader das Daten aus Dokumenten laden und umwandeln kann. Sie können sie verwenden, um Dokumente in bevorzugte Formate zu strukturieren, die von LLMs verarbeitet werden können. Der AmazonTexttractPDFLoader ist ein Dokumentlader vom Typ Service Loader, der eine schnelle Möglichkeit zur Automatisierung der Dokumentverarbeitung durch die Verwendung von Amazon Textract in Kombination mit LangChain bietet. Weitere Einzelheiten zu AmazonTextractPDFLoader
beziehen sich auf die LangChain Dokumentation. Um den Amazon Textract-Dokumentlader zu verwenden, importieren Sie ihn zunächst aus der LangChain-Bibliothek:
from langchain.document_loaders import AmazonTextractPDFLoader
https_loader = AmazonTextractPDFLoader("https://sample-website.com/sample-doc.pdf")
https_document = https_loader.load() s3_loader = AmazonTextractPDFLoader("s3://sample-bucket/sample-doc.pdf")
s3_document = s3_loader.load()
Sie können Dokumente auch in Amazon S3 speichern und mithilfe des URL-Musters s3:// darauf verweisen, wie in erläutert Mit S3:// auf einen Bucket zugreifen, und übergeben Sie diesen S3-Pfad an den Amazon Textract PDF-Loader:
import boto3
textract_client = boto3.client('textract', region_name='us-east-2') file_path = "s3://amazon-textract-public-content/langchain/layout-parser-paper.pdf"
loader = AmazonTextractPDFLoader(file_path, client=textract_client)
documents = loader.load()
Ein mehrseitiges Dokument enthält mehrere Textseiten, auf die dann über das Dokumentenobjekt zugegriffen werden kann, bei dem es sich um eine Seitenliste handelt. Der folgende Code durchläuft die Seiten im Dokumentobjekt und druckt den Dokumenttext, der über verfügbar ist page_content
Attribut:
print(len(documents)) for document in documents: print(document.page_content)
Amazon Comprehend und LLMs können effektiv zur Dokumentenklassifizierung eingesetzt werden. Amazon Comprehend ist ein NLP-Dienst (Natural Language Processing), der ML nutzt, um Erkenntnisse aus Texten zu extrahieren. Amazon Comprehend unterstützt auch das Training benutzerdefinierter Klassifizierungsmodelle mit Layoutbewusstsein für Dokumente wie PDFs, Word und Bildformate. Weitere Informationen zur Verwendung des Amazon Comprehend-Dokumentklassifikators finden Sie unter Amazon Comprehend Document Classifier fügt Layout-Unterstützung für höhere Genauigkeit hinzu.
In Kombination mit LLMs wird die Dokumentenklassifizierung zu einem leistungsstarken Ansatz für die Verwaltung großer Dokumentenmengen. LLMs sind bei der Dokumentklassifizierung hilfreich, da sie den Text, die Muster und die Kontextelemente im Dokument mithilfe des Verständnisses natürlicher Sprache analysieren können. Sie können sie auch für bestimmte Dokumentklassen optimieren. Wenn ein neuer Dokumenttyp, der in die IDP-Pipeline eingeführt wird, eine Klassifizierung erfordert, kann der LLM Text verarbeiten und das Dokument anhand einer Reihe von Klassen kategorisieren. Im Folgenden finden Sie einen Beispielcode, der den von Amazon Textract unterstützten LangChain-Dokumentlader verwendet, um den Text aus dem Dokument zu extrahieren und ihn zur Klassifizierung des Dokuments zu verwenden. Wir benutzen das Anthropischer Claude v2 Modell über Amazon Bedrock, um die Klassifizierung durchzuführen.
Im folgenden Beispiel extrahieren wir zunächst Text aus einem Patientenentlassungsbericht und verwenden ein LLM, um ihn anhand einer Liste mit drei verschiedenen Dokumenttypen zu klassifizieren:DISCHARGE_SUMMARY
, RECEIPT
und PRESCRIPTION
. Der folgende Screenshot zeigt unseren Bericht.
from langchain.document_loaders import AmazonTextractPDFLoader
from langchain.llms import Bedrock
from langchain.prompts import PromptTemplate
from langchain.chains import LLMChain loader = AmazonTextractPDFLoader("./samples/document.png")
document = loader.load() template = """ Given a list of classes, classify the document into one of these classes. Skip any preamble text and just give the class name. <classes>DISCHARGE_SUMMARY, RECEIPT, PRESCRIPTION</classes>
<document>{doc_text}<document>
<classification>""" prompt = PromptTemplate(template=template, input_variables=["doc_text"])
bedrock_llm = Bedrock(client=bedrock, model_id="anthropic.claude-v2") llm_chain = LLMChain(prompt=prompt, llm=bedrock_llm)
class_name = llm_chain.run(document[0].page_content) print(f"The provided document is = {class_name}")
Bei der Zusammenfassung geht es darum, einen bestimmten Text oder ein bestimmtes Dokument in einer kürzeren Version zusammenzufassen und dabei die wichtigsten Informationen beizubehalten. Diese Technik ist für den effizienten Informationsabruf von Vorteil, da sie es Benutzern ermöglicht, die wichtigsten Punkte eines Dokuments schnell zu erfassen, ohne den gesamten Inhalt lesen zu müssen. Obwohl Amazon Textract keine direkte Textzusammenfassung durchführt, bietet es die grundlegenden Funktionen zum Extrahieren des gesamten Textes aus Dokumenten. Dieser extrahierte Text dient als Eingabe für unser LLM-Modell zur Durchführung von Textzusammenfassungsaufgaben.
Wir verwenden den gleichen Muster-Entlassungsbericht AmazonTextractPDFLoader
um Text aus diesem Dokument zu extrahieren. Wie zuvor verwenden wir das Claude v2-Modell über Amazon Bedrock und initialisieren es mit einer Eingabeaufforderung, die die Anweisungen enthält, was mit dem Text zu tun ist (in diesem Fall eine Zusammenfassung). Schließlich führen wir die LLM-Kette aus, indem wir den extrahierten Text aus dem Dokumentladeprogramm übergeben. Dadurch wird eine Inferenzaktion auf dem LLM mit der Eingabeaufforderung ausgeführt, die aus den zusammenzufassenden Anweisungen und dem mit markierten Text des Dokuments besteht Document
. Siehe folgenden Code:
Der Code generiert die Zusammenfassung eines Patientenentlassungszusammenfassungsberichts:
Im vorherigen Beispiel wurde ein einseitiges Dokument für die Zusammenfassung verwendet. Allerdings werden Sie es wahrscheinlich mit Dokumenten zu tun haben, die mehrere Seiten umfassen und eine Zusammenfassung erfordern. Eine übliche Methode zur Durchführung einer Zusammenfassung auf mehreren Seiten besteht darin, zunächst Zusammenfassungen für kleinere Textabschnitte zu erstellen und dann die kleineren Zusammenfassungen zu kombinieren, um eine endgültige Zusammenfassung des Dokuments zu erhalten. Beachten Sie, dass diese Methode mehrere Aufrufe des LLM erfordert. Die Logik dafür lässt sich leicht erstellen; LangChain bietet jedoch eine integrierte Zusammenfassungskette, die große Texte (aus mehrseitigen Dokumenten) zusammenfassen kann. Die Zusammenfassung kann entweder über erfolgen map_reduce
oder stuff
Optionen, die als Optionen zur Verwaltung der Mehrfachaufrufe an das LLM verfügbar sind. Im folgenden Beispiel verwenden wir map_reduce
um ein mehrseitiges Dokument zusammenzufassen. Die folgende Abbildung veranschaulicht unseren Workflow.
Beginnen wir zunächst mit dem Extrahieren des Dokuments und sehen uns die Gesamtzahl der Token pro Seite und die Gesamtzahl der Seiten an:
Als nächstes verwenden wir die integrierte Funktion von LangChain load_summarize_chain
Um das gesamte Dokument zusammenzufassen:
from langchain.chains.summarize import load_summarize_chain summary_chain = load_summarize_chain(llm=bedrock_llm, chain_type='map_reduce')
output = summary_chain.run(document)
print(output.strip())
Standardisierung und Fragen und Antworten
In diesem Abschnitt besprechen wir Standardisierungs- und Frage-und-Antwort-Aufgaben.
Standardisierung
Die Ausgabestandardisierung ist eine Textgenerierungsaufgabe, bei der LLMs verwendet werden, um eine konsistente Formatierung des Ausgabetexts bereitzustellen. Diese Aufgabe ist besonders nützlich für die Automatisierung der Schlüsselentitätsextraktion, bei der die Ausgabe an die gewünschten Formate angepasst werden muss. Beispielsweise können wir Best Practices für das Prompt Engineering befolgen, um einen LLM so zu optimieren, dass Datumsangaben im MM/TT/JJJJ-Format formatiert werden, das möglicherweise mit einer DATE-Spalte in der Datenbank kompatibel ist. Der folgende Codeblock zeigt ein Beispiel dafür, wie dies mithilfe eines LLM und Prompt Engineering durchgeführt wird. Wir standardisieren nicht nur das Ausgabeformat für die Datumswerte, sondern veranlassen das Modell auch, die endgültige Ausgabe in einem JSON-Format zu generieren, damit sie in unseren nachgelagerten Anwendungen problemlos verwendet werden kann. Wir gebrauchen LangChain-Ausdruckssprache (LCEL), um zwei Aktionen miteinander zu verketten. Die erste Aktion veranlasst den LLM, eine Ausgabe im JSON-Format nur mit den Daten aus dem Dokument zu generieren. Die zweite Aktion übernimmt die JSON-Ausgabe und standardisiert das Datumsformat. Beachten Sie, dass diese zweistufige Aktion bei ordnungsgemäßer Eingabeaufforderungstechnik auch in einem einzigen Schritt ausgeführt werden kann, wie wir bei der Normalisierung und Vorlagenerstellung sehen werden.
Die Ausgabe des vorherigen Codebeispiels ist eine JSON-Struktur mit den Daten 07 und 09, die im Format TT/MM/JJJJ vorliegen und dementsprechend das Aufnahme- bzw. Entlassungsdatum des Patienten aus dem Krankenhaus darstellen zum zusammenfassenden Entlassungsbericht.
Fragen und Antworten mit Retrieval Augmented Generation
Es ist bekannt, dass LLMs sachliche Informationen behalten, die oft als ihr Weltwissen oder ihre Weltanschauung bezeichnet werden. Wenn sie fein abgestimmt sind, können sie Ergebnisse auf dem neuesten Stand der Technik liefern. Allerdings gibt es Einschränkungen dafür, wie effektiv ein LLM auf dieses Wissen zugreifen und es manipulieren kann. Daher ist die Leistung bei Aufgaben, die stark auf spezifischem Wissen beruhen, für bestimmte Anwendungsfälle möglicherweise nicht optimal. In Frage-und-Antwort-Szenarien ist es beispielsweise wichtig, dass sich das Modell strikt an den im Dokument bereitgestellten Kontext hält, ohne sich ausschließlich auf sein Weltwissen zu verlassen. Eine Abweichung davon kann zu falschen Darstellungen, Ungenauigkeiten oder sogar falschen Antworten führen. Die am häufigsten verwendete Methode zur Lösung dieses Problems ist bekannt als Augmented Generation abrufen (LAPPEN). Dieser Ansatz vereint die Stärken von Abrufmodellen und Sprachmodellen und verbessert so die Präzision und Qualität der generierten Antworten.
LLMs können aufgrund ihrer Speicherbeschränkungen und der Einschränkungen der Hardware, auf der sie ausgeführt werden, auch Token-Einschränkungen auferlegen. Um dieses Problem zu lösen, werden Techniken wie Chunking verwendet, um große Dokumente in kleinere Teile aufzuteilen, die innerhalb der Token-Grenzen von LLMs passen. Andererseits werden Einbettungen im NLP vor allem dazu eingesetzt, die semantische Bedeutung von Wörtern und ihre Beziehungen zu anderen Wörtern in einem hochdimensionalen Raum zu erfassen. Diese Einbettungen wandeln Wörter in Vektoren um und ermöglichen es Modellen, Textdaten effizient zu verarbeiten und zu verstehen. Durch das Verständnis der semantischen Nuancen zwischen Wörtern und Phrasen ermöglichen Einbettungen LLMs die Generierung kohärenter und kontextrelevanter Ausgaben. Beachten Sie die folgenden Schlüsselbegriffe:
- Chunking – Bei diesem Vorgang werden große Textmengen aus Dokumenten in kleinere, aussagekräftige Textblöcke zerlegt.
- Einbettungen – Hierbei handelt es sich um festdimensionale Vektortransformationen jedes Chunks, die die semantischen Informationen der Chunks beibehalten. Diese Einbettungen werden anschließend in eine Vektordatenbank geladen.
- Vektordatenbank – Dies ist eine Datenbank mit Worteinbettungen oder Vektoren, die den Kontext von Wörtern darstellen. Es fungiert als Wissensquelle, die NLP-Aufgaben in Dokumentverarbeitungspipelines unterstützt. Der Vorteil der Vektordatenbank besteht hier darin, dass den LLMs bei der Textgenerierung nur der notwendige Kontext bereitgestellt werden kann, wie wir im folgenden Abschnitt erläutern.
RAG nutzt die Leistungsfähigkeit von Einbettungen, um relevante Dokumentsegmente während der Abrufphase zu verstehen und abzurufen. Auf diese Weise kann RAG innerhalb der Token-Beschränkungen von LLMs arbeiten und sicherstellen, dass die relevantesten Informationen für die Generierung ausgewählt werden, was zu genaueren und kontextrelevanten Ausgaben führt.
Das folgende Diagramm veranschaulicht die Integration dieser Techniken zur Gestaltung der Eingaben für LLMs, wodurch deren Kontextverständnis verbessert und relevantere kontextbezogene Antworten ermöglicht werden. Ein Ansatz umfasst die Ähnlichkeitssuche unter Verwendung einer Vektordatenbank und Chunking. Die Vektordatenbank speichert Einbettungen, die semantische Informationen darstellen, und Chunking unterteilt den Text in überschaubare Abschnitte. Mithilfe dieses Kontexts aus der Ähnlichkeitssuche können LLMs Aufgaben wie die Beantwortung von Fragen und domänenspezifische Vorgänge wie Klassifizierung und Anreicherung ausführen.
Für diesen Beitrag verwenden wir einen RAG-basierten Ansatz, um kontextbezogene Fragen und Antworten mit Dokumenten durchzuführen. Im folgenden Codebeispiel extrahieren wir Text aus einem Dokument und teilen das Dokument dann in kleinere Textabschnitte auf. Das Chunking ist erforderlich, da wir möglicherweise große mehrseitige Dokumente haben und unsere LLMs möglicherweise Token-Limits haben. Diese Blöcke werden dann in die Vektordatenbank geladen, um in den folgenden Schritten eine Ähnlichkeitssuche durchzuführen. Im folgenden Beispiel verwenden wir das Amazon Titan Embed Text v1-Modell, das die Vektoreinbettungen der Dokumentblöcke durchführt:
Der Code erstellt einen relevanten Kontext für das LLM unter Verwendung der Textblöcke, die von der Ähnlichkeitssuchaktion aus der Vektordatenbank zurückgegeben werden. Für dieses Beispiel verwenden wir eine Open-Source-Lösung FAISS Vektorshop als Beispielvektordatenbank zum Speichern von Vektoreinbettungen jedes Textabschnitts. Wir definieren dann die Vektordatenbank als a LangChain-Retriever, die in die übergeben wird RetrievalQA
Kette. Dadurch wird intern eine Ähnlichkeitssuchabfrage in der Vektordatenbank ausgeführt, die die obersten n (wobei in unserem Beispiel n = 3) Textabschnitte zurückgibt, die für die Frage relevant sind. Schließlich wird die LLM-Kette mit dem relevanten Kontext (einer Gruppe relevanter Textabschnitte) und der Frage ausgeführt, die das LLM beantworten soll. Eine schrittweise Code-Anleitung für Fragen und Antworten mit RAG finden Sie im Python-Notizbuch auf GitHub.
Alternativ zu FAISS können Sie auch verwenden Vektordatenbankfunktionen des Amazon OpenSearch Service, Amazon Relational Database Service (Amazon RDS) für PostgreSQL an. Nach der Installation können Sie HEIC-Dateien mit der pgvector Erweiterung als Vektordatenbanken oder Open-Source-Chroma-Datenbank.
Fragen und Antworten mit tabellarischen Daten
Die Verarbeitung tabellarischer Daten in Dokumenten kann für LLMs aufgrund ihrer strukturellen Komplexität eine Herausforderung darstellen. Amazon Textract kann mit LLMs erweitert werden, da es das Extrahieren von Tabellen aus Dokumenten in einem verschachtelten Format aus Elementen wie Seiten, Tabellen und Zellen ermöglicht. Das Durchführen von Fragen und Antworten mit tabellarischen Daten ist ein mehrstufiger Prozess und kann über erreicht werden selbstfragend. Im Folgenden finden Sie eine Übersicht über die Schritte:
- Extrahieren Sie Tabellen aus Dokumenten mit Amazon Textract. Mit Amazon Textract kann die tabellarische Struktur (Zeilen, Spalten, Überschriften) aus einem Dokument extrahiert werden.
- Speichern Sie die Tabellendaten zusammen mit Metadateninformationen wie den Headernamen und der Beschreibung jedes Headers in einer Vektordatenbank.
- Verwenden Sie die Eingabeaufforderung, um mithilfe eines LLM eine strukturierte Abfrage zu erstellen, um die Daten aus der Tabelle abzuleiten.
- Verwenden Sie die Abfrage, um die relevanten Tabellendaten aus der Vektordatenbank zu extrahieren.
Wenn beispielsweise in einem Kontoauszug die Frage „Was sind die Transaktionen mit Einzahlungen von mehr als 1000 US-Dollar“ angezeigt wird, führt das LLM die folgenden Schritte aus:
- Erstellen Sie eine Abfrage, z
“Query: transactions” , “filter: greater than (Deposit$)”
. - Wandeln Sie die Abfrage in eine strukturierte Abfrage um.
- Wenden Sie die strukturierte Abfrage auf die Vektordatenbank an, in der unsere Tabellendaten gespeichert sind.
Eine schrittweise Anleitung zum Beispielcode für Fragen und Antworten mit Tabellen finden Sie im Python-Notizbuch in GitHub.
Vorlagen und Normalisierungen
In diesem Abschnitt sehen wir uns an, wie man Prompt-Engineering-Techniken und den integrierten Mechanismus von LangChain verwendet, um eine Ausgabe mit Extraktionen aus einem Dokument in einem angegebenen Schema zu generieren. Wir führen auch eine gewisse Standardisierung der extrahierten Daten durch, indem wir die zuvor besprochenen Techniken verwenden. Wir beginnen mit der Definition einer Vorlage für unsere gewünschte Ausgabe. Dies dient als Schema und kapselt die Details zu jeder Entität, die wir aus dem Text des Dokuments extrahieren möchten.
Beachten Sie, dass wir für jede der Entitäten die Beschreibung verwenden, um zu erklären, was diese Entität ist, um dem LLM dabei zu helfen, den Wert aus dem Text des Dokuments zu extrahieren. Im folgenden Beispielcode verwenden wir diese Vorlage, um unsere Eingabeaufforderung für das LLM zusammen mit dem aus dem Dokument extrahierten Text zu erstellen AmazonTextractPDFLoader
und führen Sie anschließend eine Inferenz mit dem Modell durch:
Wie Sie sehen können, die {keys}
Teil der Eingabeaufforderung sind die Schlüssel aus unserer Vorlage und die {details}
sind die Schlüssel zusammen mit ihrer Beschreibung. In diesem Fall fordern wir das Modell nicht explizit mit dem Format der Ausgabe auf, außer in der Anweisung anzugeben, dass die Ausgabe im JSON-Format generiert werden soll. Das funktioniert größtenteils; Da es sich bei der Ausgabe von LLMs jedoch um eine nicht deterministische Textgenerierung handelt, möchten wir das Format explizit als Teil der Anweisung in der Eingabeaufforderung angeben. Um dieses Problem zu lösen, können wir LangChain verwenden Strukturierter Ausgabeparser Modul, um die automatisierte Eingabeaufforderungstechnik zu nutzen, die dabei hilft, unsere Vorlage in eine Eingabeaufforderung mit Formatanweisung umzuwandeln. Wir verwenden die zuvor definierte Vorlage, um die Formatanweisungsaufforderung wie folgt zu generieren:
Anschließend verwenden wir diese Variable in unserer ursprünglichen Eingabeaufforderung als Anweisung an das LLM, damit es die Ausgabe im gewünschten Schema extrahiert und formatiert, indem wir eine kleine Änderung an unserer Eingabeaufforderung vornehmen:
Bisher haben wir die Daten nur in einem gewünschten Schema aus dem Dokument extrahiert. Allerdings müssen wir noch einige Standardisierungen vornehmen. Beispielsweise möchten wir, dass das Aufnahmedatum und das Entlassungsdatum des Patienten im Format TT/MM/JJJJ extrahiert werden. In diesem Fall erweitern wir die description
des Schlüssels mit der Formatierungsanweisung:
Weitere Informationen finden Sie im Python-Notizbuch in GitHub für eine vollständige Schritt-für-Schritt-Anleitung und Erklärung.
Rechtschreibprüfungen und Korrekturen
LLMs haben bemerkenswerte Fähigkeiten beim Verstehen und Generieren menschenähnlicher Texte bewiesen. Eine der weniger diskutierten, aber äußerst nützlichen Anwendungen von LLMs ist ihr Potenzial bei der Grammatikprüfung und Satzkorrektur in Dokumenten. Im Gegensatz zu herkömmlichen Grammatikprüfprogrammen, die auf einer Reihe vordefinierter Regeln basieren, verwenden LLMs Muster, die sie aus riesigen Textdatenmengen identifiziert haben, um zu bestimmen, was als korrekte oder fließende Sprache gilt. Das bedeutet, dass sie Nuancen, Zusammenhänge und Feinheiten erkennen können, die regelbasierten Systemen möglicherweise entgehen.
Stellen Sie sich den Text aus einer Entlassungszusammenfassung eines Patienten vor, der lautet: „Patient Jon Doe, der mit schwerer Lungenentzündung eingeliefert wurde, hat eine deutliche Besserung gezeigt und kann sicher entlassen werden.“ Folgeuntersuchungen sind für nächste Woche geplant.“ Eine herkömmliche Rechtschreibprüfung könnte „admittd“, „pneumonia“, „improvement“ und „nex“ als Fehler erkennen. Der Kontext dieser Fehler könnte jedoch zu weiteren Fehlern oder allgemeinen Vorschlägen führen. Ein LLM, der über eine umfassende Ausbildung verfügt, könnte vorschlagen: „Der Patient John Doe, der mit schwerer Lungenentzündung eingeliefert wurde, hat eine deutliche Besserung gezeigt und kann sicher entlassen werden. Nachuntersuchungen sind für nächste Woche geplant.“
Das Folgende ist ein schlecht handgeschriebenes Beispieldokument mit demselben Text wie zuvor erläutert.
Wir extrahieren das Dokument mit einem Amazon Textract-Dokumentladeprogramm und weisen dann den LLM per Prompt Engineering an, den extrahierten Text zu korrigieren, um etwaige Rechtschreib- und/oder Grammatikfehler zu korrigieren:
Die Ausgabe des vorangehenden Codes zeigt den vom Dokumentlader extrahierten Originaltext, gefolgt vom korrigierten Text, der vom LLM generiert wurde:
Denken Sie daran, dass LLMs so wirkungsvoll sind, dass es wichtig ist, ihre Vorschläge als genau das zu betrachten – Vorschläge. Obwohl sie die Feinheiten der Sprache eindrucksvoll erfassen, sind sie nicht unfehlbar. Einige Vorschläge könnten die beabsichtigte Bedeutung oder den Ton des Originaltextes verändern. Daher ist es für menschliche Prüfer von entscheidender Bedeutung, die von LLM generierten Korrekturen als Richtlinie und nicht als absolute Richtschnur zu verwenden. Die Zusammenarbeit zwischen menschlicher Intuition und LLM-Fähigkeiten verspricht eine Zukunft, in der unsere schriftliche Kommunikation nicht nur fehlerfrei, sondern auch reichhaltiger und differenzierter ist.
Zusammenfassung
Generative KI verändert die Art und Weise, wie Sie Dokumente mit IDP verarbeiten können, um Erkenntnisse abzuleiten. In der Post Verbesserung der intelligenten Dokumentenverarbeitung von AWS mit generativer KI, diskutierten wir die verschiedenen Phasen der Pipeline und wie der AWS-Kunde Ricoh seine IDP-Pipeline mit LLMs erweitert. In diesem Beitrag haben wir verschiedene Mechanismen zur Erweiterung des IDP-Workflows mit LLMs über Amazon Bedrock, Amazon Textract und das beliebte LangChain-Framework besprochen. Sie können noch heute mit dem neuen Amazon Textract Document Loader mit LangChain beginnen, indem Sie die in unserem verfügbaren Beispielnotizbücher verwenden GitHub-Repository. Weitere Informationen zum Arbeiten mit generativer KI in AWS finden Sie unter Ankündigung neuer Tools für das Erstellen mit generativer KI auf AWS.
Über die Autoren
Sonali Sahu leitet die intelligente Dokumentenverarbeitung mit dem AI/ML-Services-Team in AWS. Sie ist Autorin, Vordenkerin und leidenschaftliche Technologin. Ihr Schwerpunkt liegt auf KI und ML, und sie spricht häufig auf KI- und ML-Konferenzen und Meetups auf der ganzen Welt. Sie verfügt über umfassende und fundierte Erfahrung in der Technologie und der Technologiebranche und verfügt über Branchenkenntnisse im Gesundheitswesen, im Finanzsektor und im Versicherungswesen.
Anjan Biswas ist Senior AI Services Solutions Architect mit den Schwerpunkten AI/ML und Data Analytics. Anjan ist Teil des weltweiten Teams für KI-Services und arbeitet mit Kunden zusammen, um ihnen dabei zu helfen, Geschäftsprobleme mit KI und ML zu verstehen und Lösungen für diese zu entwickeln. Anjan verfügt über mehr als 14 Jahre Erfahrung in der Arbeit mit globalen Lieferketten-, Fertigungs- und Einzelhandelsorganisationen und hilft Kunden aktiv beim Einstieg und bei der Skalierung von AWS-KI-Services.
Chinmayee Rane ist ein KI/ML-Spezialist für Lösungsarchitekten bei Amazon Web Services. Ihre Leidenschaft gilt der angewandten Mathematik und dem maschinellen Lernen. Ihr Schwerpunkt liegt auf der Entwicklung intelligenter Dokumentenverarbeitung und generativer KI-Lösungen für AWS-Kunden. Außerhalb der Arbeit tanzt sie gerne Salsa und Bachata.
- 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/intelligent-document-processing-with-amazon-textract-amazon-bedrock-and-langchain/
- :hast
- :Ist
- :nicht
- :Wo
- .neben
- $1000
- $UP
- 1
- 10
- 100
- 11
- 12
- 13
- 14
- 15%
- 16
- 22
- 23
- 33
- 35%
- 7
- 9
- a
- Fähigkeiten
- Über Uns
- Absolute
- Zugang
- Zugriff
- Nach
- Genauigkeit
- genau
- erreicht
- über
- Action
- Aktionen
- aktiv
- Aktivität
- Handlungen
- Ad
- Adresse
- Fügt
- haften
- eingestehen
- zugelassen
- Fortschritte
- Vorteil
- Advent
- Alter
- Agenten
- AI
- KI-Dienste
- AI / ML
- ausgerichtet
- Alle
- Zulassen
- erlaubt
- entlang
- ebenfalls
- Alternative
- Obwohl
- Amazon
- Amazon verstehen
- Amazon RDS
- Amazontext
- Amazon Web Services
- Beträge
- an
- Analytik
- analysieren
- und
- beantworten
- Anthropisch
- jedem
- APIs
- Anwendungen
- angewandt
- Termin vereinbaren
- Ansatz
- Architektur
- SIND
- Bereich
- um
- Kunst
- künstlich
- künstliche Intelligenz
- Künstliche Intelligenz (AI)
- AS
- Aussehen
- helfen
- Assistentin
- At
- vermehren
- Augmented
- Autor
- automatisieren
- Automatisiert
- Im Prinzip so, wie Sie es von Google Maps kennen.
- Automation
- verfügbar
- Bewusstsein
- AWS
- AWS-Kunde
- Bank
- BE
- weil
- wird
- war
- Bevor
- vorteilhaft
- Nutzen
- BESTE
- Best Practices
- zwischen
- Blockieren
- Blockiert
- beide
- Breite
- Break
- geht kaputt
- bauen
- Building
- eingebaut
- Geschäft
- Unternehmen
- aber
- by
- Aufrufe
- CAN
- Kann bekommen
- Fähigkeiten
- Erfassung
- Häuser
- Fälle
- Die Zellen
- sicher
- Kette
- Ketten
- challenges
- herausfordernd
- Übernehmen
- Änderungen
- Ändern
- Schecks
- Wahl
- aus aller Welt
- Klasse
- Unterricht
- Einstufung
- klassifizieren
- Code
- KOHÄRENT
- Zusammenarbeit
- Kolonne
- Spalten
- Kombination
- kombinieren
- kommt
- gemeinsam
- häufig
- Kommunikation
- kompatibel
- abschließen
- Komplex
- Komplexität
- begreifen
- prägnant
- Kongressbegleitung
- Sich zusammenschliessen
- konsistent
- besteht
- Einschränkungen
- konstruieren
- enthalten
- enthalten
- enthält
- Inhalt
- Kontext
- kontextuelle
- verkaufen
- Kernbereich
- und beseitigen Muskelschwäche
- korrigiert
- Korrekturen
- könnte
- Handwerk
- Gefertigt
- schafft
- wichtig
- Original
- Kunde
- Kunden
- Tanzen
- technische Daten
- Datenanalyse
- Datenbase
- Datenbanken
- Datum
- Datum
- Deal
- tief
- tiefer
- definieren
- definiert
- Definition
- Synergie
- Abhängig
- Ablagerungen
- Tiefe
- beschrieben
- Beschreibung
- Entwerfen
- erwünscht
- Detail
- detailliert
- Details
- entdecken
- Bestimmen
- entwickeln
- Entwickler
- Diät
- anders
- Direkt
- diskutieren
- diskutiert
- tauchen
- aufteilen
- teilt
- do
- Arzt
- Dokument
- Dokumentation
- Unterlagen
- Damhirschkuh
- Tut nicht
- Dabei
- Don
- erledigt
- Nicht
- nach unten
- Dramatisch
- zwei
- im
- dynamisch
- e
- jeder
- Früher
- leicht
- einfach zu bedienende
- effektiv
- Effizienz
- effizient
- effizient
- Bemühungen
- entweder
- Elemente
- einbetten
- beschäftigt
- befähigt
- ermöglichen
- ermöglicht
- ermöglichen
- Ende
- Entwicklung
- zu steigern,
- verbesserte
- Eine Verbesserung der
- gewährleisten
- Gewährleistung
- Ganz
- Entitäten
- Einheit
- ausgestattet
- Fehler
- essential
- Sogar
- Beispiel
- Außer
- Ausnahme
- vorhandenen
- ERFAHRUNGEN
- Expertise
- Erklären
- erklärt
- Erklärt
- Erklärung
- explizit
- Ausdruck
- erweitern
- Erweiterung
- umfangreiche
- Extrakt
- Extraktion
- KONZENTRAT
- Fallen
- falsch
- weit
- Müdigkeit
- Felder
- Abbildung
- Finale
- Endlich
- Revolution
- Finanzsektor
- Vorname
- passen
- Setzen Sie mit Achtsamkeit
- konzentriert
- folgen
- gefolgt
- Folgende
- folgt
- Aussichten für
- Format
- Formen
- gefunden
- Foundation
- Unser Ansatz
- Frei
- häufig
- für
- Grenze
- voller
- voll
- weiter
- Zukunft
- Allgemeines
- erzeugen
- erzeugt
- erzeugt
- Erzeugung
- Generation
- generativ
- Generative KI
- bekommen
- ABSICHT
- gegeben
- Global
- Grammatikkenntnisse
- Griff
- mehr
- Gruppe an
- Guide
- Pflege
- Griff
- passieren
- Los
- Hardware
- Haben
- Überschriften
- Gesundheitswesen
- schwer
- Hilfe
- hilfreich
- Unternehmen
- hilft
- hier (auf dänisch)
- hier
- High-Level
- leistungsstark
- höher
- hält
- Krankenhaus
- Ultraschall
- Hilfe
- aber
- HTML
- HTTPS
- human
- i
- ID
- identifiziert
- if
- zeigt
- Image
- immens
- Impact der HXNUMXO Observatorien
- importieren
- wichtig
- Einfuhr
- auferlegte
- Verbesserung
- in
- Einschließlich
- Index
- Energiegewinnung
- Information
- Informationszeitalter
- Innovation
- Varianten des Eingangssignals:
- Einblicke
- Instanz
- Anleitung
- Versicherung
- integrieren
- integriert
- Integration
- Integration
- Intelligenz
- Intelligent
- Intelligente Dokumentenverarbeitung
- beabsichtigt
- innen
- in
- Feinheiten
- einführen
- eingeführt
- Stellt vor
- IT
- SEINE
- Jackson
- Peter
- JOHN DOE
- jon
- jpg
- JSON
- nur
- Wesentliche
- Tasten
- Wissen
- Wissen
- bekannt
- Sprache
- grosse
- Layout
- führen
- Führer
- führenden
- lernen
- Verlassen
- Bibliothek
- Gefällt mir
- wahrscheinlich
- Einschränkungen
- Grenzen
- Liste
- LLM
- Belastung
- Ladeprogramm
- Logik
- aussehen
- Los
- Maschine
- Maschinelles Lernen
- Making
- verwalten
- handhabbar
- verwaltet
- flächendeckende Gesundheitsprogramme
- manuell
- Herstellung
- markiert
- Mathematik
- Kann..
- me
- Bedeutung
- sinnvoll
- Mittel
- Mechanismus
- Mechanismen
- Meetups
- Memory
- Meta
- Metadaten
- Methode
- Methoden
- könnte
- Geist / Bewusstsein
- verpassen
- Fehler
- ML
- Modell
- für
- Modul
- mehr
- Hypotheken
- vor allem warme
- mehrere
- Name
- Namen
- Natürliche
- Verarbeitung natürlicher Sprache
- notwendig,
- Need
- erforderlich
- Bedürfnisse
- Neu
- weiter
- nächste Woche
- Nlp
- Notizbuch
- jetzt an
- Abschattung
- Anzahl
- Objekt
- Objekte
- of
- Angebote
- vorgenommen,
- on
- EINEM
- einzige
- Open-Source-
- Einkauf & Prozesse
- Gelegenheit
- optimal
- Optionen
- or
- Organisationen
- Original
- Andere
- Andernfalls
- UNSERE
- Ergebnis
- Möglichkeiten für das Ausgangssignal:
- Ausgänge
- aussen
- übrig
- Überblick
- Pakete
- Seite
- Seiten
- Schmerzen
- gepaart
- Paare
- Teil
- besonders
- passieren
- Bestanden
- Bestehen
- leidenschaftlich
- Weg
- Vertrauen bei Patienten
- Schnittmuster
- Muster
- für
- Ausführen
- Leistung
- durchgeführt
- Durchführung
- führt
- Phase
- phd
- Sätze
- Pipeline
- Plan
- Plato
- Datenintelligenz von Plato
- PlatoData
- Bitte
- Lungenentzündung
- Punkte
- Beliebt
- möglich
- Post
- Potenzial
- Werkzeuge
- angetriebene
- größte treibende
- Praktiken
- genau
- Präzision
- bevorzugt
- Gegenwart
- vorher
- in erster Linie
- Drucke
- Aufgabenstellung:
- Probleme
- Prozessdefinierung
- Verarbeitet
- Verarbeitung
- produziert
- Promises
- ordnungsgemäße
- die
- vorausgesetzt
- Versorger
- bietet
- Python
- F&A
- Qualität
- Frage
- Direkt
- schnell
- Roh
- Lesebrillen
- erkennen
- Reduzierung
- siehe
- Referenz
- bezeichnet
- Beziehungen
- relevant
- verlassen
- sich auf
- bemerkenswert
- berichten
- vertreten
- Darstellen
- falls angefordert
- erfordert
- beziehungsweise
- Antworten
- Einschränkungen
- Folge
- was zu
- Die Ergebnisse
- Einzelhandel
- behalten
- Halte
- Rückgabe
- Reiches
- Zimmer
- Ohne eine erfahrene Medienplanung zur Festlegung von Regeln und Strategien beschleunigt der programmatische Medieneinkauf einfach die Rate der verschwenderischen Ausgaben.
- Führen Sie
- läuft
- s
- sicher
- gleich
- Skalieren
- Szenarien
- vorgesehen
- Suche
- Zweite
- Abschnitt
- Abschnitte
- Bibliotheken
- sehen
- Segmente
- ausgewählt
- Senior
- Satz
- Modellreihe
- brauchen
- dient
- Lösungen
- kompensieren
- schwer
- sie
- Short
- sollte
- gezeigt
- Konzerte
- signifikant
- Single
- klein
- kleinere
- Schnipsel
- So
- allein
- Lösungen
- LÖSEN
- einige
- Quelle
- Raumfahrt
- spricht
- Spezialist
- spezifisch
- speziell
- angegeben
- Rechtschreibung
- gespalten
- Stufen
- Standardisierung
- Anfang
- begonnen
- State-of-the-art
- Erklärung
- Schritt
- Shritte
- Immer noch
- speichern
- gelagert
- Läden
- Stärken
- Schnur
- strukturell
- Struktur
- strukturierte
- Kämpfen
- Folge
- Anschließend
- so
- vorschlagen
- zusammenfassen
- ZUSAMMENFASSUNG
- liefern
- Supply Chain
- Support
- Unterstützt
- Synergie
- Systeme und Techniken
- Tabelle
- Nehmen
- nimmt
- Aufgabe
- und Aufgaben
- Team
- Technik
- Techniken
- Technologe
- Technologie
- Vorlage
- AGB
- Text
- textuell
- als
- zur Verbesserung der Gesundheitsgerechtigkeit
- Das
- die Welt
- ihr
- Sie
- dann
- Dort.
- deswegen
- Diese
- vom Nutzer definierten
- fehlen uns die Worte.
- dachte
- nach drei
- Durch
- Titan
- zu
- heute
- heutigen
- gemeinsam
- Zeichen
- Tokens
- TONE
- Werkzeuge
- Top
- Gesamt
- traditionell
- Nachgestellte
- Ausbildung
- Transaktionen
- Transformieren
- Transformationen
- was immer dies auch sein sollte.
- versuchen
- XNUMX
- tippe
- Typen
- verstehen
- Verständnis
- nicht wie
- Enthüllung
- URL
- -
- Anwendungsfall
- benutzt
- Nutzer
- verwendet
- Verwendung von
- seit
- Verwendung
- v1
- Wert
- Werte
- Variable
- verschiedene
- riesig
- vielseitig
- Version
- Anzeigen
- Volumen
- Walkthrough
- wollen
- wurde
- Weg..
- we
- Netz
- Web-Services
- Woche
- GUT
- Was
- wann
- welche
- während
- WHO
- werden wir
- mit
- .
- ohne
- Zeuge
- Word
- Worte
- Arbeiten
- Arbeitsablauf.
- Workflows
- arbeiten,
- Werk
- weltweit wie ausgehandelt und gekauft ausgeführt wird.
- würde
- geschrieben
- X
- Jahr
- Du
- Zephyrnet