Verwenden Sie StartDocumentClassificationJob mit einem AWS SDKoder CLI - 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.

Verwenden Sie StartDocumentClassificationJob mit einem AWS SDKoder CLI

Die folgenden Codebeispiele zeigen die VerwendungStartDocumentClassificationJob.

Beispiele für Aktionen sind Codeauszüge aus größeren Programmen und müssen im Kontext ausgeführt werden. Im folgenden Codebeispiel können Sie diese Aktion im Kontext sehen:

CLI
AWS CLI

Um den Job zur Dokumentenklassifizierung zu starten

Im folgenden start-document-classification-job Beispiel wird ein Auftrag zur Dokumentenklassifizierung mit einem benutzerdefinierten Modell für alle Dateien an der durch das --input-data-config Tag angegebenen Adresse gestartet. In diesem Beispiel enthält der S3-Eingabe-Bucket SampleSMStext1.txtSampleSMStext2.txt, undSampleSMStext3.txt. Das Modell wurde zuvor anhand von Dokumentklassifizierungen von Spam- und Nicht-Spam-Nachrichten oder „betrügerischen“ Nachrichten trainiert. SMS Wenn der Job abgeschlossen ist, output.tar.gz wird er an der durch das --output-data-config Tag angegebenen Stelle abgelegt. output.tar.gzenthältpredictions.jsonl, in dem die Klassifikation der einzelnen Dokumente aufgeführt ist. Die Json-Ausgabe wird in einer Zeile pro Datei gedruckt, ist hier aber aus Gründen der Lesbarkeit formatiert.

aws comprehend start-document-classification-job \ --job-name exampleclassificationjob \ --input-data-config "S3Uri=s3://DOC-EXAMPLE-BUCKET-INPUT/jobdata/" \ --output-data-config "S3Uri=s3://DOC-EXAMPLE-DESTINATION-BUCKET/testfolder/" \ --data-access-role-arn arn:aws:iam::111122223333:role/service-role/AmazonComprehendServiceRole-example-role \ --document-classifier-arn arn:aws:comprehend:us-west-2:111122223333:document-classifier/mymodel/version/12

Inhalt von SampleSMStext1.txt:

"CONGRATULATIONS! TXT 2155550100 to win $5000"

Inhalt von SampleSMStext2.txt:

"Hi, when do you want me to pick you up from practice?"

Inhalt von SampleSMStext3.txt:

"Plz send bank account # to 2155550100 to claim prize!!"

Ausgabe:

{ "JobId": "e758dd56b824aa717ceab551fEXAMPLE", "JobArn": "arn:aws:comprehend:us-west-2:111122223333:document-classification-job/e758dd56b824aa717ceab551fEXAMPLE", "JobStatus": "SUBMITTED" }

Inhalt von predictions.jsonl:

{"File": "SampleSMSText1.txt", "Line": "0", "Classes": [{"Name": "spam", "Score": 0.9999}, {"Name": "ham", "Score": 0.0001}]} {"File": "SampleSMStext2.txt", "Line": "0", "Classes": [{"Name": "ham", "Score": 0.9994}, {"Name": "spam", "Score": 0.0006}]} {"File": "SampleSMSText3.txt", "Line": "0", "Classes": [{"Name": "spam", "Score": 0.9999}, {"Name": "ham", "Score": 0.0001}]}

Weitere Informationen finden Sie unter Benutzerdefinierte Klassifizierung im Amazon Comprehend Developer Guide.

Python
SDKfür Python (Boto3)
Anmerkung

Es gibt noch mehr dazu. GitHub Finden Sie das vollständige Beispiel und erfahren Sie, wie Sie es einrichten und ausführen in der AWS Repository mit Codebeispielen.

class ComprehendClassifier: """Encapsulates an Amazon Comprehend custom classifier.""" def __init__(self, comprehend_client): """ :param comprehend_client: A Boto3 Comprehend client. """ self.comprehend_client = comprehend_client self.classifier_arn = None def start_job( self, job_name, input_bucket, input_key, input_format, output_bucket, output_key, data_access_role_arn, ): """ Starts a classification job. The classifier must be trained or the job will fail. Input is read from the specified Amazon S3 input bucket and written to the specified output bucket. Output data is stored in a tar archive compressed in gzip format. The job runs asynchronously, so you can call `describe_document_classification_job` to get job status until it returns a status of SUCCEEDED. :param job_name: The name of the job. :param input_bucket: The Amazon S3 bucket that contains input data. :param input_key: The prefix used to find input data in the input bucket. If multiple objects have the same prefix, all of them are used. :param input_format: The format of the input data, either one document per file or one document per line. :param output_bucket: The Amazon S3 bucket where output data is written. :param output_key: The prefix prepended to the output data. :param data_access_role_arn: The Amazon Resource Name (ARN) of a role that grants Comprehend permission to read from the input bucket and write to the output bucket. :return: Information about the job, including the job ID. """ try: response = self.comprehend_client.start_document_classification_job( DocumentClassifierArn=self.classifier_arn, JobName=job_name, InputDataConfig={ "S3Uri": f"s3://{input_bucket}/{input_key}", "InputFormat": input_format.value, }, OutputDataConfig={"S3Uri": f"s3://{output_bucket}/{output_key}"}, DataAccessRoleArn=data_access_role_arn, ) logger.info( "Document classification job %s is %s.", job_name, response["JobStatus"] ) except ClientError: logger.exception("Couldn't start classification job %s.", job_name) raise else: return response

Für eine vollständige Liste von AWS SDKEntwicklerhandbücher und Codebeispiele finden Sie unterAmazon Comprehend mit einem SDK verwenden AWS. Dieses Thema enthält auch Informationen zu den ersten Schritten und Details zu früheren SDK Versionen.