Ci sono altri AWS SDK esempi disponibili nel repository AWS Doc SDK Examples
Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Utilizzare StartDocumentClassificationJob
con un o AWS SDK CLI
I seguenti esempi di codice mostrano come utilizzareStartDocumentClassificationJob
.
Gli esempi di operazioni sono estratti di codice da programmi più grandi e devono essere eseguiti nel contesto. È possibile visualizzare questa operazione nel contesto nel seguente esempio di codice:
- CLI
-
- AWS CLI
-
Per iniziare un lavoro di classificazione dei documenti
L'
start-document-classification-job
esempio seguente avvia un processo di classificazione dei documenti con un modello personalizzato su tutti i file all'indirizzo specificato dal--input-data-config
tag. In questo esempio, il bucket S3 di input contieneSampleSMStext1.txt
SampleSMStext2.txt
, e.SampleSMStext3.txt
Il modello è stato precedentemente addestrato sulla classificazione dei documenti dei messaggi spam e non spam, o «ham». SMS Quando il lavoro è completo,output.tar.gz
viene inserito nella posizione specificata dal--output-data-config
tag.output.tar.gz
contienepredictions.jsonl
che elenca la classificazione di ogni documento. L'output Json viene stampato su una riga per file, ma è formattato qui per garantire la leggibilità.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-arnarn:aws:iam::111122223333:role/service-role/AmazonComprehendServiceRole-example-role
\ --document-classifier-arnarn:aws:comprehend:us-west-2:111122223333:document-classifier/mymodel/version/12
Contenuto di
SampleSMStext1.txt
."CONGRATULATIONS! TXT 2155550100 to win $5000"
Contenuto di
SampleSMStext2.txt
."Hi, when do you want me to pick you up from practice?"
Contenuto di
SampleSMStext3.txt
."Plz send bank account # to 2155550100 to claim prize!!"
Output:
{ "JobId": "e758dd56b824aa717ceab551fEXAMPLE", "JobArn": "arn:aws:comprehend:us-west-2:111122223333:document-classification-job/e758dd56b824aa717ceab551fEXAMPLE", "JobStatus": "SUBMITTED" }
Contenuto di
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}]}
Per ulteriori informazioni, consulta la sezione Classificazione personalizzata nella Amazon Comprehend Developer Guide.
-
Per API i dettagli, consulta StartDocumentClassificationJob AWS CLI
Command Reference.
-
- Python
-
- SDKper Python (Boto3)
-
Nota
C'è di più su. GitHub Trova l'esempio completo e scopri di più sulla configurazione e l'esecuzione nel Repository di esempi di codice AWS
. 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
-
Per API i dettagli, vedere StartDocumentClassificationJobPython (Boto3) Reference.AWS SDK API
-