Início rápido: classificação de texto personalizada

Use este artigo para começar a criar um projeto de classificação de texto personalizada, no qual você pode treinar modelos personalizados para a classificação de texto. Um modelo é um software de inteligência artificial treinado para executar determinada tarefa. Para esse sistema, os modelos classificam texto e são treinados aprendendo com os dados marcados.

A classificação de textos personalizada dá suporte a dois tipos de projetos:

  • Classificação de rótulo único: é possível atribuir uma classe a cada documento no conjunto de dados. Por exemplo, um roteiro de filme só pode ser classificado como "Romance" ou "Comedy".
  • Classificação de diversos rótulos: é possível atribuir diversas classes a cada documento no conjunto de dados. Por exemplo, um roteiro de filme pode ser classificado como "Comedy" ou "Romance" e "Comedy".

Neste início rápido, você pode usar os conjuntos de dados de exemplo fornecidos para criar uma classificação de vários rótulos (em que você pode classificar scripts de filme em uma ou mais categorias) ou pode usar um conjunto de dados de classificação de rótulo único (em que você pode classificar resumos de artigos científicos em um dos domínios definidos).

Pré-requisitos

Criar um novo recurso de Linguagem de IA do Azure e uma conta de Armazenamento do Azure

Antes de usar a classificação de texto personalizada, você precisará criar um recurso de Linguagem de IA do Azure, que lhe dará as credenciais necessárias para criar um projeto e começar a treinar um modelo. Você também precisará de uma conta de armazenamento do Azure, na qual poderá carregar o conjunto de dados que será usado para compilar o modelo.

Importante

Para começar a usar o recurso rapidamente, recomendamos que você crie um recurso de Linguagem da IA do Azure usando as etapas fornecidas neste artigo. Usar as etapas neste artigo permitirá que você crie o recurso de linguagem e a conta de armazenamento ao mesmo tempo, que é mais fácil do que fazer depois.

Se você tiver um recurso pré-existente que deseje usar, precisará conectá-lo a uma conta de armazenamento.

Criar um recurso usando o portal do Azure

  1. Vá para o portal do Azure para criar um novo recurso de Linguagem da IA do Azure.

  2. Na janela exibida, selecione Classificação de textos personalizada e reconhecimento de entidade nomeada personalizada dos recursos personalizados. Selecione Continuar para criar seu recurso na parte inferior da tela.

    A screenshot showing the selection option for custom text classification and custom named entity recognition in Azure portal.

  3. Crie um recurso de Linguagem com os seguintes detalhes.

    Nome Valor obrigatório
    Subscription Sua assinatura do Azure.
    Resource group O grupo de recursos que conterá seu recurso. É possível usar um grupo existente ou criar um do zero.
    Região Uma das regiões com suporte. Por exemplo, "Oeste dos EUA 2".
    Nome Um nome para seu recurso.
    Tipo de preço Um dos tipos de preços com suporte. Use a camada Gratuita (F0) para experimentar o serviço.

    Se você receber uma mensagem dizendo que "sua conta de logon não é uma proprietária do grupo de recursos da conta de armazenamento selecionada", sua conta precisará ter uma função de proprietário atribuída no grupo de recursos antes de criar um recurso de linguagem. Entre em contato com o proprietário da assinatura do Azure para obter ajuda.

    Determine o proprietário da assinatura do Azure pesquisando seu grupo de recursos e seguindo o link para a assinatura associada. Em seguida:

    1. Selecione a guia Controle de Acesso (IAM)
    2. Selecione Atribuições de função
    3. Filtrar por Função:Proprietário.
  4. Na seção Classificação de textos personalizada e reconhecimento de entidade nomeada personalizada, selecione uma conta de armazenamento existente ou Nova conta de armazenamento. Observe que esses valores são para ajudar você a começar a usar o recurso, e não são necessariamente os valores de conta de armazenamento que você usará nos ambientes de produção. Para evitar latência durante a criação do projeto, conecte-se às contas de armazenamento na mesma região que o recurso de Linguagem.

    Valor de conta de armazenamento Valor recomendado
    Nome da conta de armazenamento Qualquer nome
    Tipo de conta de armazenamento LRS Padrão
  5. Verifique se a opção Aviso de IA Responsável está marcada. Selecione Revisar + criar na parte inferior da página.

Carregar dados de exemplo para o contêiner de blob

Depois de criar uma conta de armazenamento do Azure e conectá-la ao recurso de Linguagem, você precisará carregar os documentos do conjunto de dados de exemplo no diretório raiz do contêiner. Estes documentos serão usados posteriormente para treinar o seu modelo.

  1. Baixe o conjunto de dados de exemplo para projetos de classificação de vários rótulos.

  2. Abra o arquivo .zip e extraia a pasta que contém os documentos.

O conjunto de dados de exemplo fornecido contém cerca de 200 documentos, cada um deles é um resumo de um filme. Cada documento pertence a uma ou mais das seguintes classes:

  • "Mystery"
  • "Drama"
  • "Thriller"
  • "Comedy"
  • "Action"
  1. No portal do Azure, navegue até a conta de armazenamento que você criou e selecione-a. Faça isso clicando em Contas de armazenamento e digitando o nome da sua conta de armazenamento em Filtrar para qualquer campo.

    se o grupo de recursos não for exibido, verifique se o filtro A assinatura é igual a está definido como Todos.

  2. Em sua conta de armazenamento, selecione Contêineres no menu esquerdo localizado abaixo de Armazenamento de dados. Na tela exibida, selecione + Contêiner. Nomeie o contêiner como example-data e deixe o Nível de acesso público padrão.

    A screenshot showing the main page for a storage account.

  3. Após criar o contêiner, selecione-o. Em seguida, selecione o botão Carregar para selecionar os arquivos .txt e .json baixados anteriormente.

    A screenshot showing the button for uploading files to the storage account.

Criar um projeto de classificação de textos personalizada

Após configurar o recurso e o contêiner de armazenamento, crie um projeto de classificação de textos personalizada. Um projeto é uma área de trabalho para a criação de modelos de ML personalizados com base em seus dados. Seu projeto só pode ser acessado por você e por outras pessoas que têm acesso ao recurso de idioma sendo usado.

  1. Entre no Language Studio. Uma janela será exibida para permitir que você selecione sua assinatura e o recurso idioma. Selecione o recurso de idioma.

  2. Na seção Classificar textos do Language Studio, selecione Classificação de textos personalizada.

    A screenshot showing the location of custom text classification in the Language Studio landing page.

  3. Selecione Criar projeto no menu superior na página de projetos. A criação de um projeto permitirá que você rotule dados, treine, avalie, melhore e implante seus modelos.

    A screenshot of the custom text classification project creation page.

  4. Depois de clicar em Criar projeto, uma janela será exibida para permitir que você conecte sua conta de armazenamento. Se você já tiver conectado uma conta de armazenamento, verá o armazenamento conectado. Caso contrário, escolha a conta de armazenamento na lista suspensa que aparece e selecione Conectar conta de armazenamento. Isso definirá as funções necessárias para a sua conta de armazenamento. É possível que essa etapa retorne um erro se você não for atribuído como proprietário na conta de armazenamento.

    Observação

    • Você só precisa fazer essa etapa uma vez para cada novo recurso de linguagem usado.
    • Esse processo é irreversível, se você conectar uma conta de armazenamento ao recurso de idioma, não poderá desconectá-la posteriormente.
    • É possível conectar o recurso de idioma a apenas uma conta de armazenamento.

    A screenshot of the storage connection screen for custom classification projects.

  5. Selecione o tipo de projeto. Você pode criar um projeto de classificação de vários rótulos em que cada documento pode pertencer a uma ou mais classes ou um projeto de classificação de rótulo único em que cada documento pode pertencer a apenas uma classe. O tipo selecionado não poderá ser alterado mais tarde. Saiba mais sobre os tipos de projeto

    A screenshot of the available custom classification project types.

  6. Insira as informações do projeto, incluindo um nome, uma descrição e o idioma dos documentos em seu projeto. Se você estiver usando o conjunto de dados de exemplo, selecione Inglês. Você não poderá alterar o nome do projeto mais tarde. Selecione Avançar.

    Dica

    Seu conjunto de dados não precisa estar totalmente no mesmo idioma. Você pode ter vários documentos, cada um com diferentes idiomas compatíveis. Se o conjunto de dados contiver documentos de idiomas diferentes ou se você esperar um texto de diferentes idiomas durante o runtime, selecione Habilitar conjunto de dados multilíngue ao inserir as informações básicas no projeto. Essa opção pode ser habilitada posteriormente na página Configurações do projeto.

  7. Selecione o contêiner em que você carregou o conjunto de dados.

    Observação

    Se você já rotulou os dados, verifique se eles seguem o formato com suporte e selecione Sim, meus documentos já estão rotulados e formatei o arquivo de rótulos JSON e selecione o arquivo de rótulos no menu suspenso.

    Se você estiver usando um dos conjuntos de dados de exemplo, use o arquivo JSON webOfScience_labelsFile ou movieLabels incluído. Em seguida, selecione Avançar.

  8. Revise os dados inseridos e selecione Criar Projeto.

Treinar seu modelo

Normalmente, depois de criar um projeto, você começa a rotular os documentos presentes no contêiner conectado ao projeto. Para este início rápido, você importou um conjunto de dados rotulado de amostra e inicializou o projeto com o arquivo de rótulos JSON de amostra.

Para começar a treinar o modelo no Language Studio:

  1. Selecione Trabalhos de treinamento no menu à esquerda.

  2. Selecione Iniciar um trabalho de treinamento no menu superior.

  3. Selecione Treinar um novo modelo e digite o nome do modelo na caixa de texto. Também é possível substituir um modelo existente selecionando essa opção e escolhendo o modelo que você deseja substituir no menu suspenso. A substituição de um modelo treinado é irreversível, mas não afetará os modelos implantados até que você implante o novo modelo.

    Create a new training job

  4. Selecione o método de divisão de dados. Você pode optar por dividir automaticamente o conjunto de teste nos dados de treinamento, em que o sistema dividirá os dados rotulados entre os conjuntos de treinamento e de teste, de acordo com os percentuais especificados. Alternativamente, você pode Usar uma divisão manual dos dados de treinamento e de teste. Essa opção será habilitada somente se você tiver adicionado documentos ao conjunto de teste durante a rotulagem de dados. Confira Como treinar um modelo para obter mais informações sobre divisão de dados.

  5. Selecione o botão Treinar.

  6. Se você selecionar a ID do trabalho de treinamento na lista, será exibido um painel lateral em que você poderá verificar o Progresso do treinamento, o Status do trabalho e outros detalhes para esse trabalho.

    Observação

    • Somente os trabalhos de treinamento concluídos com êxito vão gerar modelos.
    • O tempo necessário para treinar o modelo pode levar de alguns minutos até várias horas de acordo com o tamanho dos dados rotulados.
    • É possível ter um trabalho de treinamento em execução por vez. Não é possível iniciar outro trabalho de treinamento no mesmo projeto até que o trabalho em execução seja concluído.

Implantar o seu modelo

Geralmente, depois de treinar um modelo, você pode revisar os detalhes da avaliação e fazer aprimoramentos, se necessário. Neste início rápido, você apenas implantará o modelo e o disponibilizará para ser experimentado no Language Studio ou você poderá chamar a API de previsão.

Para implantar o modelo por meio do Language Studio:

  1. Selecione Implantar um modelo no menu à esquerda.

  2. Selecione Adicionar implantação para iniciar um novo trabalho de implantação.

    A screenshot showing the deployment button

  3. Selecione Criar implantação para criar uma implantação e atribuir um modelo treinado na lista suspensa abaixo. Você também pode Substituir uma implantação existente selecionando essa opção e escolhendo o modelo treinado que deseja atribuir na lista suspensa abaixo.

    Observação

    A substituição de uma implantação existente não exige alterações na chamada à API de Previsão, mas os resultados obtidos serão baseados no modelo recém-atribuído.

    A screenshot showing the deployment screen

  4. Selecione Implantar para iniciar o trabalho de implantação.

  5. Depois que a implantação for realizada com sucesso, uma data de validade será exibida. A expiração da implantação consiste no momento em que o modelo implantado não estará disponível para ser usado para previsão, o que normalmente acontece 12 meses após a expiração de uma configuração de treinamento.

Testar o modelo

Depois que o modelo for implantado, você poderá começar a usá-lo para classificar o texto por meio da API de Previsão. Para este início rápido, você usará o Language Studio para enviar a tarefa de classificação de textos personalizada e visualizar os resultados. No conjunto de dados de exemplo que você baixou anteriormente, poderá encontrar alguns documentos de teste que podem ser usados nesta etapa.

Para testar os modelos implantados no Language Studio:

  1. Selecione Testar implantações no menu no lado esquerdo da tela.

  2. Selecione a implantação que deseja testar. Você só pode testar modelos atribuídos a implantações.

  3. Para projetos multilíngues, selecione o idioma do texto que você está testando na lista suspensa de idiomas.

  4. Selecione a implantação que deseja consultar/testar na lista suspensa.

  5. Insira o texto que deseja enviar na solicitação ou carregue um documento .txt a ser usado. Se estiver usando um dos conjuntos de dados de exemplo, use um dos arquivos .txt incluídos.

  6. Selecione Executar o teste no menu superior.

  7. Na guia Resultado, é possível ver as classes previstas para seu texto. Você também pode exibir a resposta JSON na guia JSON. O exemplo a seguir é para um projeto de classificação de rótulos únicos. Um projeto de classificação de vários rótulos pode retornar mais de uma classe no resultado.

    A screenshot showing model test results for a single label classification project.

Limpar projetos

Quando não precisar mais do seu projeto, poderá excluí-lo do projeto usando o Language Studio. Selecione a Classificação de texto personalizada na parte superior e, em seguida, selecione o projeto que você deseja excluir. Selecione Excluir no menu superior para excluir o projeto.

Pré-requisitos

Criar um novo recurso de Linguagem de IA do Azure e uma conta de Armazenamento do Azure

Antes de usar a classificação de texto personalizada, você precisará criar um recurso de Linguagem de IA do Azure, que lhe dará as credenciais necessárias para criar um projeto e começar a treinar um modelo. Você também precisará de uma conta de armazenamento do Azure, na qual poderá carregar o conjunto de dados que será usado na criação do modelo.

Importante

Para começar a usar o recurso rapidamente, recomendamos que você crie um recurso de Linguagem da IA do Azure usando as etapas fornecidas neste artigo, o que permitirá que você crie o recurso de Linguagem e crie e/ou configure uma conta de armazenamento ao mesmo tempo, o que é mais fácil do que fazê-lo mais tarde.

Se você tiver um recurso pré-existente que deseje usar, precisará conectá-lo a uma conta de armazenamento.

Criar um recurso usando o portal do Azure

  1. Vá para o portal do Azure para criar um novo recurso de Linguagem da IA do Azure.

  2. Na janela exibida, selecione Classificação de textos personalizada e reconhecimento de entidade nomeada personalizada dos recursos personalizados. Selecione Continuar para criar seu recurso na parte inferior da tela.

    A screenshot showing the selection option for custom text classification and custom named entity recognition in Azure portal.

  3. Crie um recurso de Linguagem com os seguintes detalhes.

    Nome Valor obrigatório
    Subscription Sua assinatura do Azure.
    Resource group O grupo de recursos que conterá seu recurso. É possível usar um grupo existente ou criar um do zero.
    Região Uma das regiões com suporte. Por exemplo, "Oeste dos EUA 2".
    Nome Um nome para seu recurso.
    Tipo de preço Um dos tipos de preços com suporte. Use a camada Gratuita (F0) para experimentar o serviço.

    Se você receber uma mensagem dizendo que "sua conta de logon não é uma proprietária do grupo de recursos da conta de armazenamento selecionada", sua conta precisará ter uma função de proprietário atribuída no grupo de recursos antes de criar um recurso de linguagem. Entre em contato com o proprietário da assinatura do Azure para obter ajuda.

    Determine o proprietário da assinatura do Azure pesquisando seu grupo de recursos e seguindo o link para a assinatura associada. Em seguida:

    1. Selecione a guia Controle de Acesso (IAM)
    2. Selecione Atribuições de função
    3. Filtrar por Função:Proprietário.
  4. Na seção Classificação de textos personalizada e reconhecimento de entidade nomeada personalizada, selecione uma conta de armazenamento existente ou Nova conta de armazenamento. Observe que esses valores são para ajudar você a começar a usar o recurso, e não são necessariamente os valores de conta de armazenamento que você usará nos ambientes de produção. Para evitar latência durante a criação do projeto, conecte-se às contas de armazenamento na mesma região que o recurso de Linguagem.

    Valor de conta de armazenamento Valor recomendado
    Nome da conta de armazenamento Qualquer nome
    Tipo de conta de armazenamento LRS Padrão
  5. Verifique se a opção Aviso de IA Responsável está marcada. Selecione Revisar + criar na parte inferior da página.

Carregar dados de exemplo para o contêiner de blob

Depois de criar uma conta de armazenamento do Azure e conectá-la ao recurso de Linguagem, você precisará carregar os documentos do conjunto de dados de exemplo no diretório raiz do contêiner. Estes documentos serão usados posteriormente para treinar o seu modelo.

  1. Baixe o conjunto de dados de exemplo para projetos de classificação de vários rótulos.

  2. Abra o arquivo .zip e extraia a pasta que contém os documentos.

O conjunto de dados de exemplo fornecido contém cerca de 200 documentos, cada um deles é um resumo de um filme. Cada documento pertence a uma ou mais das seguintes classes:

  • "Mystery"
  • "Drama"
  • "Thriller"
  • "Comedy"
  • "Action"
  1. No portal do Azure, navegue até a conta de armazenamento que você criou e selecione-a. Faça isso clicando em Contas de armazenamento e digitando o nome da sua conta de armazenamento em Filtrar para qualquer campo.

    se o grupo de recursos não for exibido, verifique se o filtro A assinatura é igual a está definido como Todos.

  2. Em sua conta de armazenamento, selecione Contêineres no menu esquerdo localizado abaixo de Armazenamento de dados. Na tela exibida, selecione + Contêiner. Nomeie o contêiner como example-data e deixe o Nível de acesso público padrão.

    A screenshot showing the main page for a storage account.

  3. Após criar o contêiner, selecione-o. Em seguida, selecione o botão Carregar para selecionar os arquivos .txt e .json baixados anteriormente.

    A screenshot showing the button for uploading files to the storage account.

Obter suas chaves de recurso e ponto de extremidade

  • No portal do Azure, vá para a página de visão geral do recurso

  • No menu do lado esquerdo, selecione Chaves e Ponto de Extremidade. Você usará o ponto de extremidade e a chave para as solicitações de API

A screenshot showing the key and endpoint page in the Azure portal.

Criar um projeto de classificação de textos personalizada

Após configurar o recurso e o contêiner de armazenamento, crie um projeto de classificação de textos personalizada. Um projeto é uma área de trabalho para a criação de modelos de ML personalizados com base em seus dados. Seu projeto só pode ser acessado por você e por outras pessoas que têm acesso ao recurso de idioma sendo usado.

Disparar trabalho de projeto de importação

Envie uma solicitaçãoPOST usando o URL, os cabeçalhos e o corpo JSON a seguir para importar o arquivo de rótulos. Verifique se o arquivo de rótulos segue o formato de arquivo aceito.

Se já existir um projeto com o mesmo nome, os dados desse projeto serão substituídos.

{Endpoint}/language/authoring/analyze-text/projects/{projectName}/:import?api-version={API-VERSION}
Espaço reservado Valor Exemplo
{ENDPOINT} O ponto de extremidade para autenticação de sua solicitação de API. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME} O nome do seu projeto. Esse valor diferencia maiúsculas de minúsculas. myProject
{API-VERSION} A versão da API que você está chamando. O valor referenciado aqui é para a versão mais recente lançada. Saiba mais sobre as outras versões de API disponíveis 2022-05-01

Cabeçalhos

Use o cabeçalho a seguir para autenticar sua solicitação.

Chave Valor
Ocp-Apim-Subscription-Key A chave para o recurso. Usado para autenticação de suas solicitações de API.

Corpo

Use o JSON a seguir em sua solicitação. Substitua os valores dos espaços reservados abaixo pelos seus próprios valores.

{
  "projectFileVersion": "{API-VERSION}",
  "stringIndexType": "Utf16CodeUnit",
  "metadata": {
    "projectName": "{PROJECT-NAME}",
    "storageInputContainerName": "{CONTAINER-NAME}",
    "projectKind": "customMultiLabelClassification",
    "description": "Trying out custom multi label text classification",
    "language": "{LANGUAGE-CODE}",
    "multilingual": true,
    "settings": {}
  },
  "assets": {
    "projectKind": "customMultiLabelClassification",
    "classes": [
      {
        "category": "Class1"
      },
      {
        "category": "Class2"
      }
    ],
    "documents": [
      {
        "location": "{DOCUMENT-NAME}",
        "language": "{LANGUAGE-CODE}",
        "dataset": "{DATASET}",
        "classes": [
          {
            "category": "Class1"
          },
          {
            "category": "Class2"
          }
        ]
      },
      {
        "location": "{DOCUMENT-NAME}",
        "language": "{LANGUAGE-CODE}",
        "dataset": "{DATASET}",
        "classes": [
          {
            "category": "Class2"
          }
        ]
      }
    ]
  }
}

Chave Espaço reservado Valor Exemplo
api-version {API-VERSION} A versão da API que você está chamando. A versão usada aqui precisa ser a mesma versão da API na URL. Saiba mais sobre as outras versões de API disponíveis 2022-05-01
projectName {PROJECT-NAME} O nome do seu projeto. Esse valor diferencia maiúsculas de minúsculas. myProject
projectKind customMultiLabelClassification O tipo de projeto. customMultiLabelClassification
Linguagem {LANGUAGE-CODE} Uma cadeia de caracteres que especifica o código de linguagem para os documentos usados no projeto. Se for um projeto multilíngue, escolha o código de idioma da maioria dos documentos. Confira suporte de idioma para saber mais sobre o suporte multilíngue. en-us
multilíngue true Um valor booliano que permite ter documentos em várias linguagens no conjunto de dados e, quando o modelo é implantado, é possível consultar o modelo em qualquer linguagem com suporte, não necessariamente incluída nos documentos de treinamento. Confira suporte de idioma para saber mais sobre o suporte multilíngue. true
storageInputContainerName {CONTAINER-NAME} O nome do contêiner de armazenamento do Azure em que você carregou os documentos. myContainer
classes [] Matriz que contém todas as classes presentes no projeto. São as classes em que você deseja classificar seus documentos. []
documentos [] Matriz que contém todos os documentos no projeto e quais são as classes rotuladas para este documento. []
local {DOCUMENT-NAME} O local dos documentos no contêiner de armazenamento. Como todos os documentos estão na raiz do contêiner, esse deve ser o nome do documento. doc1.txt
dataset {DATASET} O conjunto de teste para o qual esse documento será exibido, quando dividido antes do treinamento. Confira Como treinar um modelo para obter mais informações sobre divisão de dados. Os valores possíveis para esse campo são Train e Test. Train

Depois de enviar a solicitação à API, você receberá uma resposta 202 indicando que o trabalho foi enviado corretamente. Nos cabeçalhos de resposta, extraia o valor operation-location. A formatação ficará da seguinte maneira:

{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/import/jobs/{JOB-ID}?api-version={API-VERSION}

{JOB-ID} é usado para identificar sua solicitação, pois essa operação é assíncrona. Você usará essa URL para obter o status do trabalho de importação.

Possíveis cenários de erro para esta solicitação:

  • O recurso selecionado não tem as permissões apropriadas para a conta de armazenamento.
  • O storageInputContainerName especificado não existe.
  • Um código de idioma inválido foi usado ou o tipo de código de idioma não é cadeia de caracteres.
  • O valor multilingual é uma cadeia de caracteres e não um booliano.

Obter Status do Trabalho de Importação

Use a solicitação GET a seguir para obter o status da importação do projeto. Substitua os valores dos espaços reservados abaixo pelos seus próprios valores.

URL da solicitação

{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/import/jobs/{JOB-ID}?api-version={API-VERSION}
Espaço reservado Valor Exemplo
{ENDPOINT} O ponto de extremidade para autenticação de sua solicitação de API. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME} O nome do seu projeto. Esse valor diferencia maiúsculas de minúsculas. myProject
{JOB-ID} A ID para localização do status de treinamento do modelo. Esse valor está no valor de cabeçalho location que você obteve na etapa anterior. xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
{API-VERSION} A versão da API que você está chamando. O valor referenciado aqui é para a versão mais recente lançada. Saiba mais sobre as outras versões de API disponíveis 2022-05-01

Cabeçalhos

Use o cabeçalho a seguir para autenticar sua solicitação.

Chave Valor
Ocp-Apim-Subscription-Key A chave para o recurso. Usado para autenticação de suas solicitações de API.

Treinar seu modelo

Normalmente, depois de criar um projeto, você começa a marcar os documentos presentes no contêiner conectado ao projeto. Para este início rápido, você importou um conjunto de dados marcado de exemplo e inicializou o projeto com o arquivo de marcas JSON de exemplo.

Começar a treinar seu modelo

Depois que o projeto tiver sido importado, você poderá começar a treinar o modelo.

Envie uma solicitação POST usando a URL, os cabeçalhos e o corpo JSON a seguir para enviar um trabalho de treinamento. Substitua os valores dos espaços reservados abaixo pelos seus próprios valores.

{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/:train?api-version={API-VERSION}
Espaço reservado Valor Exemplo
{ENDPOINT} O ponto de extremidade para autenticação de sua solicitação de API. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME} O nome do seu projeto. Esse valor diferencia maiúsculas de minúsculas. myProject
{API-VERSION} A versão da API que você está chamando. O valor referenciado aqui é para a versão mais recente lançada. Saiba mais sobre as outras versões de API disponíveis 2022-05-01

Cabeçalhos

Use o cabeçalho a seguir para autenticar sua solicitação.

Chave Valor
Ocp-Apim-Subscription-Key A chave para o recurso. Usado para autenticação de suas solicitações de API.

Corpo da solicitação

Use o JSON a seguir no corpo da solicitação. O modelo receberá o {MODEL-NAME} quando o treinamento for concluído. Somente os trabalhos de treinamento executados com êxito produzirão modelos.

{
	"modelLabel": "{MODEL-NAME}",
	"trainingConfigVersion": "{CONFIG-VERSION}",
	"evaluationOptions": {
		"kind": "percentage",
		"trainingSplitPercentage": 80,
		"testingSplitPercentage": 20
	}
}
Chave Espaço reservado Valor Exemplo
modelLabel {MODEL-NAME} O nome que será atribuído ao modelo uma vez que ele seja treinado com êxito. myModel
trainingConfigVersion {CONFIG-VERSION} Esta é a versão do modelo que será usada para treinar o modelo. 2022-05-01
evaluationOptions Opção para dividir os dados entre conjuntos de treinamento e de teste. {}
kind percentage Métodos de divisão. Os possíveis valores são percentage ou manual. Confira Como treinar um modelo para obter mais informações. percentage
trainingSplitPercentage 80 Porcentual dos dados marcados a serem incluídos no conjunto de treinamentos. O valor recomendado é 80. 80
testingSplitPercentage 20 Porcentual dos dados marcados a serem incluídos no conjunto de teste. O valor recomendado é 20. 20

Observação

trainingSplitPercentage e testingSplitPercentage serão necessários somente se Kind for definido como percentage, sendo que a soma de ambos os percentuais deverá ser igual a 100.

Depois de enviar a solicitação à API, você receberá uma resposta 202 indicando que o trabalho foi enviado corretamente. Nos cabeçalhos de resposta, extraia o valor location. A formatação ficará da seguinte maneira:

{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/train/jobs/{JOB-ID}?api-version={API-VERSION}

A {JOB-ID} é usada para identificar a solicitação, pois essa operação é assíncrona. Você pode usar essa URL para obter o status de treinamento.

Obter status do trabalho de treinamento

O treinamento pode levar entre dez e 30 minutos. Você pode usar a solicitação a seguir para continuar sondando o status do trabalho de treinamento até que ele seja concluído com êxito.

Use a seguinte solicitação GET para obter o status de progresso do treinamento do modelo. Substitua os valores dos espaços reservados abaixo pelos seus próprios valores.

URL da solicitação

{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/train/jobs/{JOB-ID}?api-version={API-VERSION}
Espaço reservado Valor Exemplo
{ENDPOINT} O ponto de extremidade para autenticação de sua solicitação de API. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME} O nome do seu projeto. Esse valor diferencia maiúsculas de minúsculas. myProject
{JOB-ID} A ID para localização do status de treinamento do modelo. Esse valor está no valor de cabeçalho location que você obteve na etapa anterior. xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
{API-VERSION} A versão da API que você está chamando. O valor referenciado aqui é para a versão mais recente lançada. Consulte o ciclo de vida do modelo para saber mais sobre outras versões de API disponíveis. 2022-05-01

Cabeçalhos

Use o cabeçalho a seguir para autenticar sua solicitação.

Chave Valor
Ocp-Apim-Subscription-Key A chave para o recurso. Usado para autenticação de suas solicitações de API.

Corpo da resposta

Após enviar a solicitação, você receberá a seguinte resposta.

{
  "result": {
    "modelLabel": "{MODEL-NAME}",
    "trainingConfigVersion": "{CONFIG-VERSION}",
    "estimatedEndDateTime": "2022-04-18T15:47:58.8190649Z",
    "trainingStatus": {
      "percentComplete": 3,
      "startDateTime": "2022-04-18T15:45:06.8190649Z",
      "status": "running"
    },
    "evaluationStatus": {
      "percentComplete": 0,
      "status": "notStarted"
    }
  },
  "jobId": "{JOB-ID}",
  "createdDateTime": "2022-04-18T15:44:44Z",
  "lastUpdatedDateTime": "2022-04-18T15:45:48Z",
  "expirationDateTime": "2022-04-25T15:44:44Z",
  "status": "running"
}

Implantar o seu modelo

Geralmente, depois de treinar um modelo, você pode revisar os detalhes da avaliação e fazer melhorias, se necessário. Neste início rápido, você apenas implantará o modelo e o disponibilizará para ser experimentado no Language Studio ou você poderá chamar a API de previsão.

Enviar trabalho de implantação

Envie uma solicitaçãoPUT usando a URL, os cabeçalhos e o corpo JSON a seguir para enviar o trabalho de implantação. Substitua os valores dos espaços reservados abaixo pelos seus próprios valores.

{Endpoint}/language/authoring/analyze-text/projects/{projectName}/deployments/{deploymentName}?api-version={API-VERSION}
Espaço reservado Valor Exemplo
{ENDPOINT} O ponto de extremidade para autenticação de sua solicitação de API. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME} O nome do seu projeto. Esse valor diferencia maiúsculas de minúsculas. myProject
{DEPLOYMENT-NAME} O nome da sua implantação. Esse valor diferencia maiúsculas de minúsculas. staging
{API-VERSION} A versão da API que você está chamando. O valor referenciado aqui é para a versão mais recente lançada. Saiba mais sobre as outras versões de API disponíveis 2022-05-01

Cabeçalhos

Use o cabeçalho a seguir para autenticar sua solicitação.

Chave Valor
Ocp-Apim-Subscription-Key A chave para o recurso. Usado para autenticação de suas solicitações de API.

Corpo da solicitação

Use o JSON a seguir no corpo da solicitação. Use o nome do modelo atribuído à implantação.

{
  "trainedModelLabel": "{MODEL-NAME}"
}
Chave Espaço reservado Valor Exemplo
trainedModelLabel {MODEL-NAME} O nome do modelo que será atribuído à implantação. Você só pode atribuir modelos treinados com sucesso. Esse valor diferencia maiúsculas de minúsculas. myModel

Depois de enviar a solicitação à API, você receberá uma resposta 202 indicando que o trabalho foi enviado corretamente. Nos cabeçalhos de resposta, extraia o valor operation-location. A formatação ficará da seguinte maneira:

{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/deployments/{DEPLOYMENT-NAME}/jobs/{JOB-ID}?api-version={API-VERSION}

A {JOB-ID} é usada para identificar a solicitação, pois essa operação é assíncrona. Você pode usar essa URL para obter o status de implantação.

Obter status do trabalho de implantação

Use a solicitação GET a seguir para consultar o status do trabalho de implantação. Você pode usar a URL que obteve na etapa anterior ou substituir os valores de espaço reservado abaixo pelos seus próprios valores.

{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/deployments/{DEPLOYMENT-NAME}/jobs/{JOB-ID}?api-version={API-VERSION}
Espaço reservado Valor Exemplo
{ENDPOINT} O ponto de extremidade para autenticação de sua solicitação de API. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME} O nome do seu projeto. Esse valor diferencia maiúsculas de minúsculas. myProject
{DEPLOYMENT-NAME} O nome da sua implantação. Esse valor diferencia maiúsculas de minúsculas. staging
{JOB-ID} A ID para localização do status de treinamento do modelo. Isso está no valor de cabeçalho location que você obteve na etapa anterior. xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
{API-VERSION} A versão da API que você está chamando. O valor referenciado aqui é para a versão mais recente lançada. Saiba mais sobre as outras versões de API disponíveis 2022-05-01

Cabeçalhos

Use o cabeçalho a seguir para autenticar sua solicitação.

Chave Valor
Ocp-Apim-Subscription-Key A chave para o recurso. Usado para autenticação de suas solicitações de API.

Corpo da resposta

Depois de enviar a solicitação, você receberá a seguinte resposta. Continue sondando esse ponto de extremidade até que o parâmetro de status mude para "bem-sucedido". Você deve obter um código 200 para indicar o sucesso da solicitação.

{
    "jobId":"{JOB-ID}",
    "createdDateTime":"{CREATED-TIME}",
    "lastUpdatedDateTime":"{UPDATED-TIME}",
    "expirationDateTime":"{EXPIRATION-TIME}",
    "status":"running"
}

Classificar textos

Depois que o modelo for implantado com êxito, você poderá começar a usá-lo para classificar o texto por meio da API de Previsão. No conjunto de dados de exemplo que você baixou anteriormente, poderá encontrar alguns documentos de teste que podem ser usados nesta etapa.

Enviar uma tarefa de classificação de textos personalizada

Use esta solicitação POST para iniciar uma tarefa de classificação de textos.

{ENDPOINT}/language/analyze-text/jobs?api-version={API-VERSION}
Espaço reservado Valor Exemplo
{ENDPOINT} O ponto de extremidade para autenticação de sua solicitação de API. https://<your-custom-subdomain>.cognitiveservices.azure.com
{API-VERSION} A versão da API que você está chamando. O valor referenciado aqui é para a versão mais recente lançada. Consulte o Ciclo de vida do modelo para saber mais sobre outras versões de API disponíveis. 2022-05-01

Cabeçalhos

Chave Valor
Ocp-Apim-Subscription-Key Sua chave que fornece acesso a essa API.

Corpo

{
  "displayName": "Classifying documents",
  "analysisInput": {
    "documents": [
      {
        "id": "1",
        "language": "{LANGUAGE-CODE}",
        "text": "Text1"
      },
      {
        "id": "2",
        "language": "{LANGUAGE-CODE}",
        "text": "Text2"
      }
    ]
  },
  "tasks": [
     {
      "kind": "CustomMultiLabelClassification",
      "taskName": "Multi Label Classification",
      "parameters": {
        "projectName": "{PROJECT-NAME}",
        "deploymentName": "{DEPLOYMENT-NAME}"
      }
    }
  ]
}
Chave Espaço reservado Valor Exemplo
displayName {JOB-NAME} O nome do seu trabalho. MyJobName
documents [{},{}] Lista de documentos nos quais executar tarefas. [{},{}]
id {DOC-ID} Nome ou ID do documento. doc1
language {LANGUAGE-CODE} Uma cadeia de caracteres que especifica o código de idioma do documento. Caso essa chave não seja especificada, o serviço assume o idioma padrão do projeto que foi selecionado durante a criação do projeto. Confira Suporte ao idioma para obter uma lista de todos os códigos de idioma com suporte. en-us
text {DOC-TEXT} Tarefa do documento para executar as tarefas. Lorem ipsum dolor sit amet
tasks Lista de tarefas que queremos executar. []
taskName CustomMultiLabelClassification O nome da tarefa CustomMultiLabelClassification
parameters Lista de parâmetros a serem passados para a tarefa.
project-name {PROJECT-NAME} O nome do seu projeto. Esse valor diferencia maiúsculas de minúsculas. myProject
deployment-name {DEPLOYMENT-NAME} O nome da sua implantação. Esse valor diferencia maiúsculas de minúsculas. prod

Resposta

Você receberá uma resposta 202 indicando sucesso. Nos cabeçalhos da resposta, extraia operation-location. operation-location é formatado da seguinte maneira:

{ENDPOINT}/language/analyze-text/jobs/{JOB-ID}?api-version={API-VERSION}

Você pode usar essa URL para consultar o status de conclusão da tarefa e obter os resultados quando a tarefa for concluída.

Obter resultados da tarefa

Use a seguinte solicitação GET para consultar o status/resultados da tarefa de classificação de textos.

{ENDPOINT}/language/analyze-text/jobs/{JOB-ID}?api-version={API-VERSION}
Espaço reservado Valor Exemplo
{ENDPOINT} O ponto de extremidade para autenticação de sua solicitação de API. https://<your-custom-subdomain>.cognitiveservices.azure.com
{API-VERSION} A versão da API que você está chamando. O valor referenciado aqui é para a versão do modelo lançada mais recentemente. 2022-05-01

Cabeçalhos

Chave Valor
Ocp-Apim-Subscription-Key Sua chave que fornece acesso a essa API.

Corpo da resposta

A resposta será um documento JSON com os seguintes parâmetros.

{
  "createdDateTime": "2021-05-19T14:32:25.578Z",
  "displayName": "MyJobName",
  "expirationDateTime": "2021-05-19T14:32:25.578Z",
  "jobId": "xxxx-xxxxxx-xxxxx-xxxx",
  "lastUpdateDateTime": "2021-05-19T14:32:25.578Z",
  "status": "succeeded",
  "tasks": {
    "completed": 1,
    "failed": 0,
    "inProgress": 0,
    "total": 1,
    "items": [
      {
        "kind": "customMultiClassificationTasks",
        "taskName": "Classify documents",
        "lastUpdateDateTime": "2020-10-01T15:01:03Z",
        "status": "succeeded",
        "results": {
          "documents": [
            {
              "id": "{DOC-ID}",
              "classes": [
                  {
                      "category": "Class_1",
                      "confidenceScore": 0.0551877357
                  }
              ],
              "warnings": []
            }
          ],
          "errors": [],
          "modelVersion": "2020-04-01"
        }
      }
    ]
  }
}

Limpar os recursos

Quando você não precisar mais do seu projeto, poderá excluí-lo com a seguinte solicitação de DELETE. Substitua os valores do espaço reservado pelos seus.

{Endpoint}/language/authoring/analyze-text/projects/{projectName}?api-version={API-VERSION}
Espaço reservado Valor Exemplo
{ENDPOINT} O ponto de extremidade para autenticação de sua solicitação de API. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME} O nome do seu projeto. Esse valor diferencia maiúsculas de minúsculas. myProject
{API-VERSION} A versão da API que você está chamando. O valor referenciado aqui é para a versão mais recente lançada. Saiba mais sobre as outras versões de API disponíveis 2022-05-01

Cabeçalhos

Use o cabeçalho a seguir para autenticar sua solicitação.

Chave Valor
Ocp-Apim-Subscription-Key A chave para o recurso. Usado para autenticação de suas solicitações de API.

Depois de enviar a solicitação da API, você receberá uma resposta 202 indicando êxito, o que significa que o projeto foi excluído. Uma chamada bem-sucedida resulta em um cabeçalho Operation-Location usado para verificar o status do trabalho.

Próximas etapas

Após criar um modelo de classificação de textos personalizada, será possível:

Ao começar a criar seus próprios projetos de classificação de textos personalizada, use os artigos de instruções para saber mais sobre como desenvolver seu modelo com mais detalhes: