Creazione di un modello linguistico personalizzato - Amazon Transcribe

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à.

Creazione di un modello linguistico personalizzato

Prima di poter creare un modello linguistico personalizzato, è necessario:

  • Preparazione dei dati. I dati devono essere salvati in formato testo normale e non possono contenere caratteri speciali.

  • Carica i tuoi dati in un Amazon S3 bucket. Si consiglia di creare cartelle separate per l'allenamento e l'ottimizzazione dei dati.

  • Assicurati che Amazon Transcribe abbia accesso al tuo Amazon S3 secchio. Devi specificare un IAM ruolo con autorizzazioni di accesso per utilizzare i tuoi dati.

Preparazione dei dati

Puoi compilare tutti i tuoi dati in un unico file o salvarli come più file. Tieni presente che se scegli di includere i dati di ottimizzazione, questi devono essere salvati in un file separato dai dati di allenamento.

Non importa quanti file di testo utilizzi per i tuoi dati di allenamento o di ottimizzazione. Il caricamento di un file con 100.000 parole produce lo stesso risultato del caricamento di 10 file con 10.000 parole. Prepara i tuoi dati di testo nel modo più comodo per te.

Assicurati che tutti i tuoi file di dati soddisfino i seguenti criteri:

  • Sono tutti nella stessa lingua del modello che desideri creare. Ad esempio, se desideri creare un modello linguistico personalizzato che trascriva l'audio in inglese americano (en-US), tutti i dati di testo devono essere in inglese americano.

  • Sono in formato testo semplice con codifica UTF-8.

  • Non contengono caratteri o formattazioni speciali, come i tag HTML.

  • Ammontano a un totale combinato massimo di 2 GB per i dati di allenamento e 200 MB per i dati di ottimizzazione.

Se uno di questi criteri non viene soddisfatto, il modello non funziona.

Caricamento dei dati

Prima di caricare i dati, crea una nuova cartella per i dati di allenamento. Se usi i dati di ottimizzazione, crea un'altra cartella separata.

Gli URI per i tuoi bucket potrebbero assomigliare a:

  • s3://DOC-EXAMPLE-BUCKET/my-model-training-data/

  • s3://DOC-EXAMPLE-BUCKET/my-model-tuning-data/

Carica i dati di allenamento e ottimizzazione nei bucket appropriati.

Puoi aggiungere altri dati a questi bucket in un secondo momento. Tuttavia, in tal caso, è necessario ricreare il modello con i nuovi dati. I modelli esistenti non possono essere aggiornati con nuovi dati.

Consentire l'accesso ai tuoi dati

Per creare un modello linguistico personalizzato, devi specificare un IAM ruolo con le autorizzazioni per accedere al tuo Amazon S3 bucket. Se non disponi già di un ruolo con accesso al Amazon S3 bucket in cui hai inserito i dati di formazione, devi crearne uno. Dopo aver allegato un ruolo, puoi collegare una policy per allegare le autorizzazioni a quel ruolo. Non collegare una policy a un utente.

Per esempi di policy, consulta Amazon Transcribe esempi di politiche basate sull'identità.

Per informazioni su come creare una nuova IAM identità, vedi IAMIdentità (utenti, gruppi di utenti e ruoli).

Per ulteriori informazioni sulle policy, consulta:

Creazione di un modello linguistico personalizzato

Quando crei il tuo modello linguistico personalizzato, devi scegliere un modello base. Esistono due opzioni di modello base:

  • NarrowBand: utilizzate questa opzione per l'audio con una frequenza di campionamento inferiore a 16.000 Hz. Questo tipo di modello viene in genere utilizzato per le conversazioni telefoniche registrate a 8.000 Hz.

  • WideBand: utilizzate questa opzione per l'audio con una frequenza di campionamento maggiore o uguale a 16.000 Hz.

Puoi creare modelli linguistici personalizzati utilizzando gliAWS Management Console,AWS CLI, o AWS SDK.; vedi i seguenti esempi:

  1. Accedere alla AWS Management Console.

  2. Nel pannello di navigazione, scegliere Modello di lingua personalizzato. Si apre la pagina Modelli linguistici personalizzati in cui è possibile visualizzare i modelli linguistici personalizzati esistenti o addestrare un nuovo modello linguistico personalizzato.

  3. Per addestrare un nuovo modello, seleziona Modello di treno.

    Amazon Transcribeschermata della console: la pagina «modelli linguistici personalizzati».

    Questo ti porta alla pagina dei modelli di treno. Aggiungi un nome, specifica la lingua e scegli il modello base che desideri per il tuo modello. Quindi, aggiungi il percorso all'allenamento e, facoltativamente, i dati di ottimizzazione. Devi includere un IAM ruolo che disponga delle autorizzazioni per accedere ai tuoi dati.

    Amazon Transcribeschermata della console: la pagina «modelli di treni».
  4. Una volta completati tutti i campi, seleziona Train model nella parte inferiore della pagina.

Questo esempio utilizza il create-language-modelcomando. Per ulteriori informazioni, consultare CreateLanguageModel e LanguageModel.

aws transcribe create-language-model \ --base-model-name NarrowBand \ --model-name my-first-language-model \ --input-data-config S3Uri=s3://DOC-EXAMPLE-BUCKET/my-clm-training-data/,TuningDataS3Uri=s3://DOC-EXAMPLE-BUCKET/my-clm-tuning-data/,DataAccessRoleArn=arn:aws:iam::111122223333:role/ExampleRole \ --language-code en-US

Ecco un altro esempio che utilizza il create-language-modelcomando e un corpo della richiesta che crea il tuo modello linguistico personalizzato.

aws transcribe create-language-model \ --cli-input-json file://filepath/my-first-language-model.json

Il file my-first-language-model.json contiene il seguente corpo della richiesta.

{ "BaseModelName": "NarrowBand", "ModelName": "my-first-language-model", "InputDataConfig": { "S3Uri": "s3://DOC-EXAMPLE-BUCKET/my-clm-training-data/", "TuningDataS3Uri"="s3://DOC-EXAMPLE-BUCKET/my-clm-tuning-data/", "DataAccessRoleArn": "arn:aws:iam::111122223333:role/ExampleRole" }, "LanguageCode": "en-US" }

Questo esempio utilizza AWS SDK for Python (Boto3) per creare un CLM utilizzando il metodo create_language_model. Per ulteriori informazioni, consultare CreateLanguageModel e LanguageModel.

Per ulteriori esempi di utilizzo degli AWS SDK, inclusi esempi relativi a funzionalità specifiche, scenari e cross-service, consulta il capitolo. Esempi di codice per l'utilizzo di Amazon Transcribe AWS SDKs

from __future__ import print_function import time import boto3 transcribe = boto3.client('transcribe', 'us-west-2') model_name = 'my-first-language-model', transcribe.create_language_model( LanguageCode = 'en-US', BaseModelName = 'NarrowBand', ModelName = model_name, InputDataConfig = { 'S3Uri':'s3://DOC-EXAMPLE-BUCKET/my-clm-training-data/', 'TuningDataS3Uri':'s3://DOC-EXAMPLE-BUCKET/my-clm-tuning-data/', 'DataAccessRoleArn':'arn:aws:iam::111122223333:role/ExampleRole' } ) while True: status = transcribe.get_language_model(ModelName = model_name) if status['LanguageModel']['ModelStatus'] in ['COMPLETED', 'FAILED']: break print("Not ready yet...") time.sleep(5) print(status)

Aggiornamento del modello linguistico personalizzato

Amazon Transcribeaggiorna continuamente i modelli base disponibili per i modelli linguistici personalizzati. Per beneficiare di questi aggiornamenti, consigliamo di addestrare nuovi modelli linguistici personalizzati ogni 6-12 mesi.

Per verificare se il tuo modello linguistico personalizzato utilizza il modello base più recente, esegui una DescribeLanguageModelrichiesta utilizzando AWS CLI o un AWS SDK, quindi trova il UpgradeAvailability campo nella tua risposta.

In caso UpgradeAvailability affermativotrue, sul modello non è installata la versione più recente del modello base. Per utilizzare il modello base più recente in un modello linguistico personalizzato, è necessario creare un nuovo modello linguistico personalizzato. I modelli linguistici personalizzati non possono essere aggiornati.