Asynchrone Analyse für Amazon Comprehend Insights - Amazon Comprehend

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Asynchrone Analyse für Amazon Comprehend Insights

In den folgenden Abschnitten wird die Amazon Comprehend API verwendet, um asynchrone Operationen zur Analyse von Amazon Comprehend Insights auszuführen.

Voraussetzungen

Dokumente müssen in Textdateien im UTF-8-formatted. Sie können Ihre Dokumente in zwei Formaten einreichen. Das Format, das Sie verwenden, hängt von der Art der Dokumente ab, die Sie analysieren möchten, wie in der folgenden Tabelle beschrieben.

Beschreibung Format
Jede Datei enthält ein Eingabedokument. Dies eignet sich am besten für Sammlungen großer Dokumente. Ein Dokument pro Datei

Die Eingabe besteht aus einer oder mehreren Dateien. Jede Zeile in einer Datei wird als Dokument betrachtet. Dies eignet sich am besten für kurze Dokumente, z. B. Social-Media-Beiträge.

Jede Zeile muss mit einem Zeilenvorschub (LF, \n), einem Zeilenumlauf (CR, \r) oder beidem (CRLF, \r\n) enden. Sie können das UTF-8-Zeilentrennzeichen (u+2028) nicht verwenden, um eine Zeile zu beenden.

Ein Dokument pro Zeile

Wenn Sie einen Analyseauftrag starten, geben Sie den S3-Speicherort für Ihre Eingabedaten an. Der URI muss sich in derselben AWS Region wie der API-Endpunkt befinden, den Sie aufrufen. Der URI kann auf eine einzelne Datei verweisen oder das Präfix für eine Sammlung von Datendateien sein. Weitere Informationen finden Sie unter -InputDataConfigDatentyp.

Sie müssen Amazon Comprehend Zugriff auf den Amazon S3-Bucket gewähren, der Ihre Dokumenterfassungs- und Ausgabedateien enthält. Weitere Informationen finden Sie unter Rollenbasierte Berechtigungen, die für asynchrone Operationen erforderlich sind.

Starten eines Analyseauftrags

Um einen Analyseauftrag einzureichen, verwenden Sie entweder die Amazon Comprehend-Konsole oder die entsprechende Start* Operation:

Überwachen von Analyseaufträgen

Der Start* Vorgang gibt eine ID zurück, mit der Sie den Fortschritt des Auftrags überwachen können.

Um den Fortschritt mithilfe der API zu überwachen, verwenden Sie eine von zwei Operationen, je nachdem, ob Sie den Fortschritt eines einzelnen oder mehrerer Aufträge überwachen möchten.

Verwenden Sie die -Describe*Operationen, um den Fortschritt eines einzelnen Analyseauftrags zu überwachen. Sie geben die Auftrags-ID an, die von der Start* Operation zurückgegeben wird. Die Antwort des -Describe*Vorgangs enthält das JobStatus Feld mit dem Status des Auftrags.

Um den Fortschritt mehrerer Analyseaufträge zu überwachen, verwenden Sie die -List*Operationen. -List*Operationen geben eine Liste von Aufträgen zurück, die Sie an Amazon Comprehend übermittelt haben. Die Antwort enthält ein JobStatus Feld für jeden Auftrag, das Ihnen den Status des Auftrags mitteilt.

Wenn das Statusfeld auf COMPLETED oder gesetzt istFAILED, wurde die Auftragsverarbeitung abgeschlossen.

Um den Status einzelner Aufträge abzurufen, verwenden Sie den Describe* Vorgang für die Analyse, die Sie durchführen.

Um den Status mehrerer Aufträge abzurufen, verwenden Sie die -List*Operation für die Analyse, die Sie durchführen.

Um die Ergebnisse auf Aufträge zu beschränken, die bestimmten Kriterien entsprechen, verwenden Sie den Filter Parameter der -List*Operationen. Sie können nach dem Auftragsnamen, dem Auftragsstatus sowie dem Datum und der Uhrzeit filtern, zu der der Auftrag übermittelt wurde. Weitere Informationen finden Sie im Filter Parameter für jede der List* Operationen in der Amazon Comprehend API-Referenz.

Abrufen von Analyseergebnissen

Nachdem ein Analyseauftrag abgeschlossen ist, verwenden Sie eine -Describe*Operation, um den Speicherort der Ergebnisse abzurufen. Wenn der Auftragsstatus lautetCOMPLETED, enthält die Antwort ein FeldOutputDataConfig, das ein Feld mit dem Amazon S3-Speicherort der Ausgabedatei enthält. Die Datei output.tar.gzist ein komprimiertes Archiv, das die Ergebnisse der Analyse enthält.

Wenn der Status eines Auftrags lautetFAILED, enthält die Antwort ein Message Feld, das den Grund beschreibt, warum der Analyseauftrag nicht erfolgreich abgeschlossen wurde.

Um den Status einzelner Aufträge abzurufen, verwenden Sie die entsprechende Describe* Operation:

Die Ergebnisse werden in einer einzigen Datei mit einer JSON-Struktur für jedes Dokument zurückgegeben. Jede Antwortdatei enthält auch Fehlermeldungen für jeden Auftrag, bei dem das Statusfeld auf gesetzt istFAILED.

Jeder der folgenden Abschnitte zeigt Beispiele für die Ausgabe für die beiden Eingabeformate.

Abrufen dominanter Spracherkennungsergebnisse

Im Folgenden finden Sie ein Beispiel für eine Ausgabedatei aus einer Analyse, die die dominante Sprache erkannt hat. Das Format der Eingabe ist ein Dokument pro Zeile. Weitere Informationen finden Sie unter dem Vorgang DetectDominantLanguage.

{"File": "0_doc", "Languages": [{"LanguageCode": "en", "Score": 0.9514502286911011}, {"LanguageCode": "de", "Score": 0.02374090999364853}, {"LanguageCode": "nl", "Score": 0.003208699868991971}, "Line": 0} {"File": "1_doc", "Languages": [{"LanguageCode": "en", "Score": 0.9822712540626526}, {"LanguageCode": "de", "Score": 0.002621392020955682}, {"LanguageCode": "es", "Score": 0.002386554144322872}], "Line": 1}

Im Folgenden finden Sie ein Beispiel für die Ausgabe einer Analyse, bei der das Format der Eingabe ein Dokument pro Datei ist:

{"File": "small_doc", "Languages": [{"LanguageCode": "en", "Score": 0.9728053212165833}, {"LanguageCode": "de", "Score": 0.007670710328966379}, {"LanguageCode": "es", "Score": 0.0028472368139773607}]} {"File": "huge_doc", "Languages": [{"LanguageCode": "en", "Score": 0.984955906867981}, {"LanguageCode": "de", "Score": 0.0026436643674969673}, {"LanguageCode": "fr", "Score": 0.0014206881169229746}]}

Abrufen der Ergebnisse der Entitätserkennung

Im Folgenden finden Sie ein Beispiel für eine Ausgabedatei aus einer Analyse, die Entitäten in Dokumenten erkannt hat. Das Format der Eingabe ist ein Dokument pro Zeile. Weitere Informationen finden Sie unter dem Vorgang DetectEntities. Die Ausgabe enthält zwei Fehlermeldungen, eine für ein zu langes Dokument und eine für ein Dokument, das nicht im UTF-8-Format vorliegt.

{"File": "50_docs", "Line": 0, "Entities": [{"BeginOffset": 0, "EndOffset": 22, "Score": 0.9763959646224976, "Text": "Cluj-NapocaCluj-Napoca", "Type": "LOCATION"}"]} {"File": "50_docs", "Line": 1, "Entities": [{"BeginOffset": 11, "EndOffset": 15, "Score": 0.9615424871444702, "Text": "Maat", "Type": "PERSON"}}]} {"File": "50_docs", "Line": 2, "ErrorCode": "DOCUMENT_SIZE_EXCEEDED", "ErrorMessage": "Document size exceeds maximum size limit 102400 bytes."} {"File": "50_docs", "Line": 3, "ErrorCode": "UNSUPPORTED_ENCODING", "ErrorMessage": "Document is not in UTF-8 format and all subsequent lines are ignored."}

Im Folgenden finden Sie ein Beispiel für die Ausgabe einer Analyse, bei der das Format der Eingabe ein Dokument pro Datei ist. Die Ausgabe enthält zwei Fehlermeldungen, eine für ein zu langes Dokument und eine für ein Dokument, das nicht im UTF-8-Format vorliegt.

{"File": "non_utf8.txt", "ErrorCode": "UNSUPPORTED_ENCODING", "ErrorMessage": "Document is not in UTF-8 format and all subsequent line are ignored."} {"File": "small_doc", "Entities": [{"BeginOffset": 0, "EndOffset": 4, "Score": 0.645766019821167, "Text": "Maat", "Type": "PERSON"}]} {"File": "huge_doc", "ErrorCode": "DOCUMENT_SIZE_EXCEEDED", "ErrorMessage": "Document size exceeds size limit 102400 bytes."}

Abrufen der Erkennungsergebnisse für Schlüsselphrasen

Im Folgenden finden Sie ein Beispiel für eine Ausgabedatei aus einer Analyse, die Schlüsselphrasen in einem Dokument erkannt hat. Das Format der Eingabe ist ein Dokument pro Zeile. Weitere Informationen finden Sie unter dem Vorgang DetectKeyPhrases.

{"File": "50_docs", "KeyPhrases": [{"BeginOffset": 0, "EndOffset": 22, "Score": 0.8948641419410706, "Text": "Cluj-NapocaCluj-Napoca"}, {"BeginOffset": 45, "EndOffset": 49, "Score": 0.9989854693412781, "Text": "Cluj"}], "Line": 0}

Im Folgenden finden Sie ein Beispiel für die Ausgabe einer Analyse, bei der das Format der Eingabe ein Dokument pro Datei ist.

{"File": "1_doc", "KeyPhrases": [{"BeginOffset": 0, "EndOffset": 22, "Score": 0.8948641419410706, "Text": "Cluj-NapocaCluj-Napoca"}, {"BeginOffset": 45, "EndOffset": 49, "Score": 0.9989854693412781, "Text": "Cluj"}]}

Abrufen der Erkennungsergebnisse für persönlich identifizierbare Informationen (PII)

Im Folgenden finden Sie ein Beispiel für eine Ausgabedatei aus einem Analyseauftrag, der PII-Entitäten in Dokumenten erkannt hat. Das Format der Eingabe ist ein Dokument pro Zeile.

{"Entities":[{"Type":"NAME","BeginOffset":40,"EndOffset":69,"Score":0.999995},{"Type":"ADDRESS","BeginOffset":247,"EndOffset":253,"Score":0.998828},{"Type":"BANK_ACCOUNT_NUMBER","BeginOffset":406,"EndOffset":411,"Score":0.693283}],"File":"doc.txt","Line":0} {"Entities":[{"Type":"SSN","BeginOffset":1114,"EndOffset":1124,"Score":0.999999},{"Type":"EMAIL","BeginOffset":3742,"EndOffset":3775,"Score":0.999993},{"Type":"PIN","BeginOffset":4098,"EndOffset":4102,"Score":0.999995}],"File":"doc.txt","Line":1}

Im Folgenden finden Sie ein Beispiel für die Ausgabe einer Analyse, bei der das Format der Eingabe ein Dokument pro Datei ist.

{"Entities":[{"Type":"NAME","BeginOffset":40,"EndOffset":69,"Score":0.999995},{"Type":"ADDRESS","BeginOffset":247,"EndOffset":253,"Score":0.998828},{"Type":"BANK_ROUTING","BeginOffset":279,"EndOffset":289,"Score":0.999999}],"File":"doc.txt"}

Abrufen der Ergebnisse der Stimmungserkennung

Im Folgenden finden Sie ein Beispiel für eine Ausgabedatei aus einer Analyse, die die in einem Dokument ausgedrückte Stimmung erkannt hat. Sie enthält eine Fehlermeldung, da ein Dokument zu lang ist. Das Format der Eingabe ist ein Dokument pro Zeile. Weitere Informationen finden Sie unter dem Vorgang DetectSentiment.

{"File": "50_docs", "Line": 0, "Sentiment": "NEUTRAL", "SentimentScore": {"Mixed": 0.002734508365392685, "Negative": 0.008935936726629734, "Neutral": 0.9841893315315247, "Positive": 0.004140198230743408}} {"File": "50_docs", "Line": 1, "ErrorCode": "DOCUMENT_SIZE_EXCEEDED", "ErrorMessage": "Document size is exceeded maximum size limit 5120 bytes."} {"File": "50_docs", "Line": 2, "Sentiment": "NEUTRAL", "SentimentScore": {"Mixed": 0.0023119584657251835, "Negative": 0.0029857370536774397, "Neutral": 0.9866572022438049, "Positive": 0.008045154623687267}}

Im Folgenden finden Sie ein Beispiel für die Ausgabe einer Analyse, bei der das Format der Eingabe ein Dokument pro Datei ist.

{"File": "small_doc", "Sentiment": "NEUTRAL", "SentimentScore": {"Mixed": 0.0023450672160834074, "Negative": 0.0009663937962614, "Neutral": 0.9795311689376831, "Positive": 0.017157377675175667}} {"File": "huge_doc", "ErrorCode": "DOCUMENT_SIZE_EXCEEDED", "ErrorMessage": "Document size is exceeds the limit of 5120 bytes."}