

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Criar um modelo de idioma personalizado
<a name="custom-language-models-create"></a>

Antes de criar um modelo de idioma personalizado, você deve:
+ Preparar seus dados. Os dados devem ser salvos em formato de texto sem formatação e não podem conter caracteres especiais.
+ Carregar seus dados em um bucket do Amazon S3. É recomendável criar pastas separadas para dados de treinamento e ajuste.
+ Verificar se o Amazon Transcribe tem acesso ao bucket do Amazon S3. Você deve especificar um perfil do IAM que tenha permissões de acesso para usar seus dados.

## Preparar seus dados
<a name="prepare-data"></a>

Você pode compilar todos os dados em um arquivo ou salvá-los como vários arquivos. Observe que, se você optar por incluir dados de ajuste, eles deverão ser salvos em um arquivo separado dos dados de treinamento.

Não importa quantos arquivos de texto são usados para os dados de treinamento ou ajuste. Carregar um arquivo com dez mil palavras produz o mesmo resultado que carregar dez arquivos com dez mil palavras. Prepare seus dados de texto da forma mais conveniente para você.

Todos os arquivos de dados devem atender aos seguintes critérios:
+ Todos estão no mesmo idioma do modelo que você deseja criar. Por exemplo, se você quiser criar um modelo de idioma personalizado que transcreva áudio em inglês dos EUA (`en-US`), todos os dados de texto deverão estar em inglês dos EUA.
+ Eles estão no formato de texto simples com codificação UTF-8.
+ Eles não contêm nenhum caractere especial nem formatação, como tags HTML.
+ Ao todo, eles têm um total máximo de 2 GB para dados de treinamento e 200 MB para dados de ajuste.

Se algum desses critérios não for atendido, o modelo falhará.

## Carregar seus dados
<a name="upload-data"></a>

Antes de carregá-los, crie uma pasta para os dados de treinamento. Se estiver usando dados de ajuste, crie outra pasta separada.

Os URIs dos buckets podem ter a seguinte aparência:
+ `s3://amzn-s3-demo-bucket/my-model-training-data/`
+ `s3://amzn-s3-demo-bucket/my-model-tuning-data/`

Carregue os dados de treinamento e ajuste nos buckets apropriados.

Você pode adicionar mais dados a esses buckets posteriormente. No entanto, se você fizer isso, precisará recriar o modelo com os novos dados. Os modelos existentes não podem ser atualizados com novos dados.

## Permitir acesso aos seus dados
<a name="data-permissions"></a>

Para criar um modelo de idioma personalizado, você deve especificar um perfil do IAM que tenha permissões para acessar o bucket do Amazon S3. Se você ainda não tiver uma função com acesso ao bucket do Amazon S3 em que colocou os dados de treinamento, deverá criar uma. Depois de criar uma função, é possível anexar uma política para conceder permissões a essa função. Não anexe uma política a um usuário.

Para obter exemplos de políticas, consulte [Amazon Transcribe exemplos de políticas baseadas em identidade](security_iam_id-based-policy-examples.md).

Para saber como criar uma identidade do IAM, consulte [Identidades do IAM (usuários, grupos de usuários e funções)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html).

Para saber mais sobre as políticas do IAM, consulte:
+ [Políticas e permissões no IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html)
+ [Criar políticas do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html#access_policies_create-start)
+ [Gerenciamento de acesso para recursos da AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access)

## Criar um modelo de idioma personalizado
<a name="create-custom-language-model"></a>

Ao criar seu modelo de idioma personalizado, você deve escolher um modelo básico. Há duas opções de modelo básico:
+ `NarrowBand`: use essa opção para áudio com uma taxa de amostragem inferior a 16.000 Hz. Esse tipo de modelo é normalmente usado para conversas telefônicas gravadas a 8.000 Hz.
+ `WideBand`: use essa opção para áudio com uma taxa de amostragem maior ou igual a 16.000 Hz.

Você pode criar modelos de idioma personalizados usando o Console de gerenciamento da AWS, a AWS CLI ou os SDKs da AWS; veja os seguintes exemplos:

### Console de gerenciamento da AWS
<a name="model-create-console"></a>

1. Faça login no [Console de gerenciamento da AWS](https://console.aws.amazon.com/transcribe/).

1. No painel de navegação, selecione **Modelo de idioma personalizado**. Isso abre a página **Modelos de idioma personalizados**, na qual você pode visualizar os modelos de idioma personalizados existentes ou treinar um modelo de idioma personalizado.

1. Para treinar um novo modelo, selecione **Treinar modelo**.  
![\[Captura de tela do console do Amazon Transcribe: a página “Modelos de idiomas personalizados”.\]](http://docs.aws.amazon.com/pt_br/transcribe/latest/dg/images/clm-create-console.png)

   Isso leva você para a página **Treinar modelo**. Adicione um nome, especifique o idioma e escolha o modelo básico que você deseja para o modelo. Em seguida, adicione o caminho ao seu treinamento e, opcionalmente, seus dados de ajuste. Você deve incluir um perfil do IAM que tenha permissões para acessar seus dados.  
![\[Captura de tela do console do Amazon Transcribe: a página “Treinar modelo”.\]](http://docs.aws.amazon.com/pt_br/transcribe/latest/dg/images/clm-train-console.png)

1. Depois de preencher todos os campos, selecione **Treinar modelo** na parte inferior da página.

### AWS CLI
<a name="model-create-cli"></a>

Este exemplo usa o comando [create-language-model](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/transcribe/create-language-model.html). Para obter mais informações, consulte [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_CreateLanguageModel.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_CreateLanguageModel.html) e [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_LanguageModel.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_LanguageModel.html).

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

Veja outro exemplo usando o comando [create-language-model](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/transcribe/start-transcription-job.html) e um corpo de solicitação que cria seu modelo de idioma personalizado.

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

O arquivo *my-first-language-model.json* contém o corpo de solicitação a seguir.

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

### AWS SDK para Python (Boto3)
<a name="model-create-python-batch"></a>

Este exemplo usa o AWS SDK para Python (Boto3) para criar um modelo de idioma personalizado (CLM) usando o método [create\$1language\$1model](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/transcribe.html#TranscribeService.Client.create_language_model). Para obter mais informações, consulte [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_CreateLanguageModel.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_CreateLanguageModel.html) e [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_LanguageModel.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_LanguageModel.html).

Para ver exemplos adicionais de uso dos SDKs da AWS, bem como exemplos específicos de recursos, cenários e entre serviços, consulte o capítulo [Exemplos de código para o Amazon Transcribe usando AWS SDKs](service_code_examples.md).

```
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://amzn-s3-demo-bucket/my-clm-training-data/',
        'TuningDataS3Uri':'s3://amzn-s3-demo-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)
```

## Atualizar o modelo de idioma personalizado
<a name="update-custom-language-model"></a>

O Amazon Transcribe atualiza continuamente os modelos básicos disponíveis para modelos de idioma personalizados. Para se beneficiar dessas atualizações, recomendamos treinar novos modelos de idioma personalizados a cada 6 a 12 meses.

Para ver se o modelo de idioma personalizado está usando o modelo básico mais recente, execute uma solicitação [https://docs.aws.amazon.com/transcribe/latest/APIReference/API_DescribeLanguageModel.html](https://docs.aws.amazon.com/transcribe/latest/APIReference/API_DescribeLanguageModel.html) usando a AWS CLI ou um SDK da AWS e encontre o campo `UpgradeAvailability` em sua resposta.

Se `UpgradeAvailability` for `true`, o modelo não está executando a versão mais recente do modelo básico. Para usar o modelo básico mais recente em um modelo de idioma personalizado, você deve criar um modelo de idioma personalizado. Os modelos de idioma personalizados não podem ser atualizados.