Como treinar um modelo de classificação de texto personalizado
Artigo
O treinamento é o processo no qual o modelo aprende com os dados rotulados. Após a conclusão do treinamento, você poderá exibir o desempenho do modelo para determinar se precisa melhorar o modelo.
Para treinar um modelo, inicie um trabalho de treinamento. Somente trabalhos concluídos com êxito criam um modelo utilizável. Os trabalhos de treinamento expiram após sete dias. Após esse período, você não poderá recuperar os detalhes do trabalho. Se o trabalho de treinamento foi concluído com êxito e um modelo foi criado, ele não será afetado pela expiração do trabalho. Você só pode ter um trabalho de treinamento em execução de cada vez e não pode iniciar outros trabalhos no mesmo projeto.
Os tempos de treinamento podem ser de alguns minutos ao lidar com alguns documentos até várias horas, dependendo do tamanho do conjunto de dados e da complexidade do esquema.
Pré-requisitos
Antes de treinar o modelo, você precisa dos seguintes itens:
Antes de iniciar o processo de treinamento, os documentos rotulados no projeto são divididos em um conjunto de treinamento e um conjunto de teste. Cada um deles atua em uma função diferente.
O conjunto de treinamentos é usado no treinamento do modelo, esse é o conjunto com o qual o modelo aprende a classe/as classes atribuídas a cada documento.
O conjunto de testes é um conjunto cego que não é introduzido ao modelo durante o treinamento, mas somente durante a avaliação.
Depois que o modelo é treinado com êxito, ele é usado para fazer previsões nos documentos do conjunto de testes. As métricas de avaliação do modelo serão calculadas com base nessas previsões.
É recomendável garantir que todas as classes sejam representadas adequadamente nos conjuntos de treinamentos e testes.
A classificação de textos personalizada é compatível com os dois métodos de divisão de dados:
Dividir automaticamente o conjunto de teste nos dados de treinamento: o sistema dividirá os dados rotulados entre os conjuntos de treinamentos e testes, de acordo com os percentuais escolhidos. O sistema tentará ter uma representação de todas as classes em seu conjunto de treinamento. A divisão percentual recomendada é de 80% para treinamento e 20% para teste.
Observação
Se você escolher a opção Dividir automaticamente o conjunto de testes nos dados de treinamento, somente os dados atribuídos ao conjunto de treinamentos serão divididos de acordo com os percentuais fornecidos.
Usar uma divisão manual dos dados de treinamento e de teste: esse método permite que os usuários definam quais documentos rotulados devem pertencer a qual conjunto. Essa etapa será habilitada somente se você tiver adicionado documentos ao conjunto de testes durante a rotulagem de dados.
Selecione Trabalhos de treinamento no menu à esquerda.
Selecione Iniciar um trabalho de treinamento no menu superior.
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.
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.
Selecione o botão Treinar.
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.
Iniciar o trabalho de treinamento
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.
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.
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:
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 demorar um pouco, dependendo do tamanho dos dados de treinamento e da complexidade do esquema. 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 do processo de treinamento do modelo. Substitua os valores dos espaços reservados abaixo pelos seus próprios valores.
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.
Para cancelar um trabalho de treinamento no Language Studio, acesse a página Trabalhos de treinamento. Selecione o trabalho de treinamento que deseja cancelar e selecione Cancelar no menu superior.
Crie uma solicitaçãoPOST usando o URL, os cabeçalhos e o corpo JSON a seguir para cancelar um trabalho de treinamento.
URL da solicitação
Use a URL a seguir ao criar sua solicitação de API. Substitua os valores dos espaços reservados abaixo pelos seus próprios valores.
O nome do seu projeto. Esse valor diferencia maiúsculas de minúsculas.
EmailApp
{JOB-ID}
Esse valor é a ID do trabalho de treinamento.
XXXXX-XXXXX-XXXX-XX
{API-VERSION}
A versão da API que você está chamando. O valor referenciado é para a versão do modelo mais recente.
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.
Após enviar a solicitação de API, você receberá uma resposta 202 com um cabeçalho Operation-Location usado para verificar o status do trabalho.
Próximas etapas
Após a conclusão do treinamento, você poderá exibir o desempenho do modelo para melhorar o modelo opcionalmente, se necessário. Quando estiver satisfeito com seu modelo, você poderá implantá-lo, tornando-o disponível para uso na classificação de texto.