Início Rápido: Classificação de texto personalizada
Utilize este artigo para começar a criar um projeto de classificação de texto personalizado onde pode preparar modelos personalizados para classificação de texto. Um modelo é software de inteligência artificial preparado para realizar uma determinada tarefa. Para este sistema, os modelos classificam o texto e são preparados ao aprender a partir de dados etiquetados.
A classificação de texto personalizado suporta dois tipos de projetos:
- Classificação de etiqueta única – pode atribuir uma única classe para cada documento no conjunto de dados. Por exemplo, um script de filme só podia ser classificado como "Romance" ou "Comédia".
- Classificação de várias etiquetas – pode atribuir várias classes para cada documento no seu conjunto de dados. Por exemplo, um script de filme pode ser classificado como "Comédia" ou "Romance" e "Comédia".
Neste início rápido, pode utilizar os conjuntos de dados de exemplo fornecidos para criar uma classificação de várias etiquetas, onde pode classificar scripts de filmes numa ou mais categorias ou pode utilizar um conjunto de dados de classificação de etiqueta única, onde pode classificar resumos de documentos científicos num dos domínios definidos.
Pré-requisitos
- Subscrição do Azure – crie uma gratuitamente.
Criar um novo recurso de Idioma de IA do Azure e uma conta de armazenamento do Azure
Antes de poder utilizar a classificação de texto personalizada, terá de criar um recurso de Linguagem de IA do Azure, que lhe dará as credenciais necessárias para criar um projeto e começar a preparar um modelo. Também precisará de uma conta de armazenamento do Azure, onde pode carregar o conjunto de dados que será utilizado para criar o seu modelo.
Importante
Para começar rapidamente, recomendamos a criação de um novo recurso de Linguagem de IA do Azure com os passos indicados neste artigo. A utilização dos passos neste artigo permite-lhe criar o recurso de idioma e a conta de armazenamento ao mesmo tempo, o que é mais fácil do que fazê-lo mais tarde.
Se tiver um recurso pré-existente que gostaria de utilizar, terá de o ligar à conta de armazenamento.
Criar um novo recurso a partir do portal do Azure
Aceda ao portal do Azure para criar um novo recurso da Linguagem de IA do Azure.
Na janela apresentada, selecione Personalizar classificação & de texto personalizado com o nome reconhecimento de entidade a partir das funcionalidades personalizadas. Selecione Continuar para criar o recurso na parte inferior do ecrã.
Crie um recurso idioma com os seguintes detalhes.
Nome Valor obrigatório Subscrição A sua subscrição do Azure. Grupo de recursos Um grupo de recursos que irá conter o recurso. Pode utilizar um existente ou criar um novo. Region Uma das regiões suportadas. Por exemplo, "E.U.A. Oeste 2". Nome Um nome para o recurso. Escalão de preço Um dos escalões de preço suportados. Pode utilizar o escalão Gratuito (F0) para experimentar o serviço. Se receber uma mensagem a dizer "a sua conta de início de sessão não é um proprietário do grupo de recursos da conta de armazenamento selecionada", a sua conta tem de ter uma função de proprietário atribuída no grupo de recursos antes de poder criar um recurso de Idioma. Contacte o proprietário da subscrição do Azure para obter assistência.
Pode determinar o proprietário da subscrição do Azure ao procurar no grupo de recursos e ao seguir a ligação para a respetiva subscrição associada. Em seguida:
- Selecione o separador Controlo de Acesso (IAM)
- Selecionar Atribuições de funções
- Filtrar por Função:Proprietário.
Na secção Personalizar classificação & de texto com nome de reconhecimento de entidade , selecione uma conta de armazenamento existente ou selecione Nova conta de armazenamento. Tenha em atenção que estes valores são para ajudá-lo a começar e não necessariamente os valores da conta de armazenamento que pretende utilizar em ambientes de produção. Para evitar latência durante a criação do projeto, ligue-se a contas de armazenamento na mesma região que o recurso Idioma.
Valor da conta de armazenamento Valor recomendado Nome da conta de armazenamento Qualquer nome Tipo de conta de armazenamento Standard LRS Certifique-se de que o Aviso de IA Responsável está selecionado. Selecione Rever + criar na parte inferior da página.
Carregar dados de exemplo para o contentor de blobs
Depois de criar uma conta de armazenamento do Azure e ligá-la ao recurso Idioma, terá de carregar os documentos do conjunto de dados de exemplo para o diretório de raiz do contentor. Estes documentos serão posteriormente utilizados para preparar o seu modelo.
Transfira o conjunto de dados de exemplo para projetos de classificação de várias etiquetas.
Abra o ficheiro .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 dos quais é um resumo de um filme. Cada documento pertence a uma ou mais das seguintes classes:
- "Mistério"
- "Drama"
- "Thriller"
- "Comédia"
- "Ação"
No portal do Azure, navegue para a conta de armazenamento que criou e selecione-a. Pode fazê-lo clicando em Contas de armazenamento e escrevendo o nome da conta de armazenamento em Filtrar para qualquer campo.
se o seu grupo de recursos não for apresentado, certifique-se de que o filtro Subscrição é igual a Todos.
Na sua conta de armazenamento, selecione Contentores no menu esquerdo, localizado abaixo do Armazenamento de dados. No ecrã apresentado, selecione + Contentor. Dê ao contentor o nome exemplo-dados e deixe o nível de acesso público predefinido.
Depois de o contentor ter sido criado, selecione-o. Em seguida, selecione Carregar botão para selecionar os
.txt
ficheiros e.json
que transferiu anteriormente.
Criar um projeto de classificação de texto personalizado
Assim que o seu recurso e contentor de armazenamento estiverem configurados, crie um novo projeto de classificação de texto personalizado. Um projeto é uma área de trabalho para criar os seus modelos de ML personalizados com base nos seus dados. O seu projeto só pode ser acedido por si e por outras pessoas que tenham acesso ao recurso Idioma que está a ser utilizado.
Inicie sessão no Language Studio. Será apresentada uma janela que lhe permite selecionar a sua subscrição e o recurso Idioma. Selecione o recurso Idioma.
Na secção Classificar texto do Language Studio, selecione Classificação de texto personalizada.
Selecione Criar novo projeto no menu superior da página de projetos. A criação de um projeto permite-lhe etiquetar dados, preparar, avaliar, melhorar e implementar os seus modelos.
Depois de clicar em Criar novo projeto, será apresentada uma janela que lhe permitirá ligar a sua conta de armazenamento. Se já tiver ligado uma conta de armazenamento, verá o armazenamento contabilizado ligado. Caso contrário, escolha a sua conta de armazenamento na lista pendente apresentada e selecione Ligar conta de armazenamento; isto irá definir as funções necessárias para a sua conta de armazenamento. Este passo poderá devolver um erro se não lhe for atribuído como proprietário na conta de armazenamento.
Nota
- Só tem de efetuar este passo uma vez para cada novo recurso de idioma que utilizar.
- Este processo é irreversível, se ligar uma conta de armazenamento ao recurso de Idioma, não poderá desligá-la mais tarde.
- Só pode ligar o recurso Idioma a uma conta de armazenamento.
Selecione o tipo de projeto. Pode criar um projeto de classificação de várias etiquetas onde cada documento pode pertencer a uma ou mais classes ou projeto de classificação de etiqueta única , onde cada documento só pode pertencer a uma classe. O tipo selecionado não pode ser alterado mais tarde. Saiba mais sobre os tipos de projeto
Introduza as informações do projeto, incluindo um nome, descrição e o idioma dos documentos no seu projeto. Se estiver a utilizar o conjunto de dados de exemplo, selecione Inglês. Não poderá alterar o nome do projeto mais tarde. Selecione Seguinte.
Dica
O conjunto de dados não tem de estar totalmente no mesmo idioma. Pode ter vários documentos, cada um com idiomas suportados diferentes. Se o conjunto de dados contiver documentos de idiomas diferentes ou se esperar texto de diferentes idiomas durante o runtime, selecione ativar a opção de conjunto de dados multilingue quando introduzir as informações básicas do seu projeto. Esta opção pode ser ativada mais tarde a partir da página Definições do projeto .
Selecione o contentor onde carregou o conjunto de dados.
Nota
Se já tiver etiquetado os seus dados, certifique-se de que segue o formato suportado e selecione Sim, os meus documentos já estão etiquetados e tenho o ficheiro de etiquetas JSON formatado e seleciono o ficheiro de etiquetas no menu pendente abaixo.
Se estiver a utilizar um dos conjuntos de dados de exemplo, utilize o ficheiro json ou
movieLabels
incluídowebOfScience_labelsFile
. Em seguida, selecione Seguinte.Reveja os dados que introduziu e selecione Criar Projeto.
Preparar o seu modelo
Normalmente, depois de criar um projeto, comece a etiquetar os documentos que tem no contentor ligado ao projeto. Para este início rápido, importou um conjunto de dados etiquetado por exemplo e inicializou o projeto com o ficheiro de etiquetas JSON de exemplo.
Para começar a preparar o modelo a partir do Language Studio:
Selecione Tarefas de preparação no menu do lado esquerdo.
Selecione Iniciar uma tarefa de preparação no menu superior.
Selecione Preparar um novo modelo e escreva o nome do modelo na caixa de texto. Também pode substituir um modelo existente ao selecionar esta opção e escolher o modelo que pretende substituir no menu pendente. A substituição de um modelo preparado é irreversível, mas não afetará os modelos implementados até implementar o novo modelo.
Selecione o método de divisão de dados. Pode escolher Dividir automaticamente o conjunto de testes dos dados de preparação em que o sistema irá dividir os dados etiquetados entre os conjuntos de preparação e teste, de acordo com as percentagens especificadas. Em alternativa, pode Utilizar uma divisão manual dos dados de preparação e teste, esta opção só está ativada se tiver adicionado documentos ao seu conjunto de testes durante a etiquetagem de dados. Veja Como preparar um modelo para obter mais informações sobre a divisão de dados.
Selecione o botão Preparar .
Se selecionar o ID da tarefa de preparação na lista, será apresentado um painel lateral onde pode verificar o progresso da preparação, o estado da tarefa e outros detalhes para esta tarefa.
Nota
- Apenas as tarefas de preparação concluídas com êxito irão gerar modelos.
- O tempo de preparação do modelo pode demorar entre alguns minutos a várias horas com base no tamanho dos seus dados etiquetados.
- Só pode ter um trabalho de preparação em execução de cada vez. Não pode iniciar outro trabalho de preparação no mesmo projeto sem que o trabalho em execução esteja concluído.
Implementar o modelo
Geralmente, após a preparação de um modelo, iria rever os detalhes da avaliação e fazer melhoramentos , se necessário. Neste início rápido, irá apenas implementar o seu modelo e disponibilizá-lo para experimentar no Language Studio ou pode chamar a API de predição.
Para implementar o modelo a partir do Language Studio:
Selecione Implementar um modelo no menu do lado esquerdo.
Selecione Adicionar implementação para iniciar uma nova tarefa de implementação.
Selecione Criar nova implementação para criar uma nova implementação e atribuir um modelo preparado na lista pendente abaixo. Também pode Substituir uma implementação existente ao selecionar esta opção e selecionar o modelo preparado que pretende atribuir à mesma na lista pendente abaixo.
Nota
A substituição de uma implementação existente não requer alterações à chamada à API de Predição , mas os resultados obtidos serão baseados no modelo recentemente atribuído.
selecione Implementar para iniciar a tarefa de implementação.
Após a implementação ser bem-sucedida, será apresentada uma data de expiração junto à mesma. A expiração da implementação é quando o modelo implementado não estará disponível para ser utilizado para predição, o que normalmente ocorre doze meses após a expiração de uma configuração de preparação.
Testar o seu modelo
Após a implementação do modelo, pode começar a utilizá-lo para classificar o seu texto através da API de Predição. Para este início rápido, irá utilizar o Language Studio para submeter a tarefa de classificação de texto personalizada e visualizar os resultados. No conjunto de dados de exemplo que transferiu anteriormente, pode encontrar alguns documentos de teste que pode utilizar neste passo.
Para testar os modelos implementados no Language Studio:
Selecione Testar implementações no menu no lado esquerdo do ecrã.
Selecione a implementação que pretende testar. Só pode testar modelos atribuídos a implementações.
Para projetos multilingues, selecione o idioma do texto que está a testar com a lista pendente de idiomas.
Selecione a implementação que pretende consultar/testar na lista pendente.
Introduza o texto que pretende submeter no pedido ou carregue um
.txt
documento para utilizar. Se estiver a utilizar um dos conjuntos de dados de exemplo, pode utilizar um dos ficheiros de .txt incluídos.Selecione Executar o teste no menu superior.
No separador Resultado , pode ver as classes previstas para o seu texto. Também pode ver a resposta JSON no separador JSON . O exemplo seguinte é para um único projeto de classificação de etiquetas. Um projeto de classificação de várias etiquetas pode devolver mais do que uma classe no resultado.
Limpar projetos
Quando já não precisar do seu projeto, pode eliminar o projeto com o Language Studio. Selecione Classificação de texto personalizada na parte superior e, em seguida, selecione o projeto que pretende eliminar. Selecione Eliminar no menu superior para eliminar o projeto.
Pré-requisitos
- Subscrição do Azure – crie uma gratuitamente.
Criar um novo recurso de Idioma de IA do Azure e uma conta de armazenamento do Azure
Antes de poder utilizar a classificação de texto personalizada, terá de criar um recurso de Linguagem de IA do Azure, que lhe dará as credenciais necessárias para criar um projeto e começar a preparar um modelo. Também precisará de uma conta de armazenamento do Azure, onde pode carregar o conjunto de dados que será utilizado na criação do modelo.
Importante
Para começar rapidamente, recomendamos que crie um novo recurso de Idioma de IA do Azure com os passos indicados neste artigo, que lhe permitirão criar o recurso Idioma e criar e/ou ligar uma conta de armazenamento ao mesmo tempo, o que é mais fácil do que fazê-lo mais tarde.
Se tiver um recurso pré-existente que gostaria de utilizar, terá de o ligar à conta de armazenamento.
Criar um novo recurso a partir do portal do Azure
Aceda ao portal do Azure para criar um novo recurso de Linguagem de IA do Azure.
Na janela apresentada, selecione Personalizar classificação & de texto personalizado reconhecimento de entidade com nome a partir das funcionalidades personalizadas. Selecione Continuar para criar o recurso na parte inferior do ecrã.
Crie um recurso de Idioma com os seguintes detalhes.
Nome Valor obrigatório Subscrição A sua subscrição do Azure. Grupo de recursos Um grupo de recursos que irá conter o recurso. Pode utilizar um existente ou criar um novo. Region Uma das regiões suportadas. Por exemplo, "E.U.A. Oeste 2". Nome Um nome para o recurso. Escalão de preço Um dos escalões de preço suportados. Pode utilizar o escalão Gratuito (F0) para experimentar o serviço. Se receber uma mensagem a dizer "a sua conta de início de sessão não é um proprietário do grupo de recursos da conta de armazenamento selecionada", a sua conta tem de ter uma função de proprietário atribuída no grupo de recursos antes de poder criar um recurso de Idioma. Contacte o proprietário da subscrição do Azure para obter assistência.
Pode determinar o proprietário da subscrição do Azure ao procurar no grupo de recursos e ao seguir a ligação para a subscrição associada. Em seguida:
- Selecione o separador Controlo de Acesso (IAM)
- Selecionar Atribuições de funções
- Filtrar por Função:Proprietário.
Na secção Personalizar classificação & de texto personalizado com o nome reconhecimento de entidades , selecione uma conta de armazenamento existente ou selecione Nova conta de armazenamento. Tenha em atenção que estes valores são para ajudá-lo a começar e não necessariamente os valores da conta de armazenamento que pretende utilizar em ambientes de produção. Para evitar latência durante a criação do projeto, ligue-se a contas de armazenamento na mesma região que o recurso Idioma.
Valor da conta de armazenamento Valor recomendado Nome da conta de armazenamento Qualquer nome Tipo de conta de armazenamento Standard LRS Certifique-se de que o Aviso de IA Responsável está selecionado. Selecione Rever + criar na parte inferior da página.
Carregar dados de exemplo para o contentor de blobs
Depois de criar uma conta de armazenamento do Azure e ligá-la ao recurso de Linguagem, terá de carregar os documentos do conjunto de dados de exemplo para o diretório de raiz do contentor. Estes documentos serão posteriormente utilizados para preparar o modelo.
Transfira o conjunto de dados de exemplo para projetos de classificação de várias etiquetas.
Abra o ficheiro .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 dos quais é um resumo de um filme. Cada documento pertence a uma ou mais das seguintes classes:
- "Mistério"
- "Drama"
- "Thriller"
- "Comédia"
- "Ação"
No portal do Azure, navegue para a conta de armazenamento que criou e selecione-a. Pode fazê-lo ao clicar em Contas de armazenamento e escrever o nome da conta de armazenamento em Filtrar para qualquer campo.
Se o grupo de recursos não for apresentado, certifique-se de que o filtro Subscrição igual a está definido como Todos.
Na sua conta de armazenamento, selecione Contentores no menu esquerdo, localizado abaixo de Armazenamento de dados. No ecrã apresentado, selecione + Contentor. Dê ao contentor o nome example-data e deixe o nível de acesso público predefinido.
Depois de criar o contentor, selecione-o. Em seguida, selecione o botão Carregar para selecionar os
.txt
ficheiros e.json
que transferiu anteriormente.
Obter as chaves de recursos e o ponto final
Aceda à página de descrição geral do recurso no portal do Azure
No menu do lado esquerdo, selecione Chaves e Ponto Final. Irá utilizar o ponto final e a chave para os pedidos da API
Criar um projeto de classificação de textos personalizado
Assim que o recurso e o contentor de armazenamento estiverem configurados, crie um novo projeto de classificação de textos personalizado. Um projeto é uma área de trabalho para criar os seus modelos de ML personalizados com base nos seus dados. O seu projeto só pode ser acedido por si e por outras pessoas que tenham acesso ao recurso Idioma que está a ser utilizado.
Acionar tarefa do projeto de importação
Submeta um pedido POST com o seguinte URL, cabeçalhos e corpo JSON para importar o ficheiro de etiquetas. Certifique-se de que o ficheiro de etiquetas segue o formato aceite.
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}
Marcador de posição | Valor | Exemplo |
---|---|---|
{ENDPOINT} |
O ponto final para autenticar o pedido da API. | https://<your-custom-subdomain>.cognitiveservices.azure.com |
{PROJECT-NAME} |
O nome do seu projeto. Este valor é sensível às maiúsculas e minúsculas. | myProject |
{API-VERSION} |
A versão da API que está a chamar. O valor aqui referenciado destina-se à versão mais recente lançada. Saiba mais sobre outras versões de API disponíveis | 2022-05-01 |
Cabeçalhos
Utilize o cabeçalho seguinte para autenticar o pedido.
Chave | Valor |
---|---|
Ocp-Apim-Subscription-Key |
A chave do recurso. Utilizado para autenticar os seus pedidos de API. |
Corpo
Utilize o seguinte JSON no seu pedido. Substitua os valores de marcador de posição 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 | Marcador de posição | Valor | Exemplo |
---|---|---|---|
api-version | {API-VERSION} |
A versão da API que está a chamar. A versão utilizada aqui tem de ser a mesma versão da API no URL. Saiba mais sobre outras versões de API disponíveis | 2022-05-01 |
projectName | {PROJECT-NAME} |
O nome do seu projeto. Este valor é sensível às maiúsculas e minúsculas. | myProject |
projectKind | customMultiLabelClassification |
O seu tipo de projeto. | customMultiLabelClassification |
language | {LANGUAGE-CODE} |
Uma cadeia que especifica o código de idioma dos documentos utilizados no projeto. Se o projeto for um projeto multilinngue, escolha o código de idioma da maioria dos documentos. Veja o suporte de idiomas para saber mais sobre o suporte multilinngue. | en-us |
multilinngue | true |
Um valor booleano que lhe permite ter documentos em vários idiomas no seu conjunto de dados e quando o modelo é implementado pode consultar o modelo em qualquer idioma suportado (não necessariamente incluído nos seus documentos de preparação. Veja o suporte de idiomas para saber mais sobre o suporte multilinngue. | true |
storageInputContainerName | {CONTAINER-NAME} |
O nome do contentor de armazenamento do Azure onde carregou os seus documentos. | myContainer |
classes | [] | Matriz que contém todas as classes que tem no projeto. Estas são as classes nas quais pretende classificar os seus documentos. | [] |
Documentos | [] | Matriz que contém todos os documentos no seu projeto e o que as classes etiquetaram para este documento. | [] |
localização | {DOCUMENT-NAME} |
A localização dos documentos no contentor de armazenamento. Uma vez que todos os documentos estão na raiz do contentor, este deve ser o nome do documento. | doc1.txt |
conjunto de dados | {DATASET} |
O conjunto de teste para o qual este documento será dividido antes da preparação. Veja Como preparar um modelo para obter mais informações sobre a divisão de dados. Os valores possíveis para este campo são Train e Test . |
Train |
Depois de enviar o seu pedido de API, receberá uma 202
resposta a indicar que a tarefa foi submetida corretamente. Nos cabeçalhos de resposta, extraia o operation-location
valor. Será formatado da seguinte forma:
{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/import/jobs/{JOB-ID}?api-version={API-VERSION}
{JOB-ID}
é utilizado para identificar o seu pedido, uma vez que esta operação é assíncrona. Irá utilizar este URL para obter o estado da tarefa de importação.
Cenários de erro possíveis para este pedido:
- O recurso selecionado não tem permissões adequadas para a conta de armazenamento.
- O
storageInputContainerName
especificado não existe. - É utilizado um código de idioma inválido ou se o tipo de código de idioma não for uma cadeia.
multilingual
valor é uma cadeia e não um booleano.
Obter o Estado da tarefa de importação
Utilize o seguinte pedido GET para obter o estado da importação do projeto. Substitua os valores de marcador de posição abaixo pelos seus próprios valores.
URL do Pedido
{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/import/jobs/{JOB-ID}?api-version={API-VERSION}
Marcador de posição | Valor | Exemplo |
---|---|---|
{ENDPOINT} |
O ponto final para autenticar o seu pedido de API. | https://<your-custom-subdomain>.cognitiveservices.azure.com |
{PROJECT-NAME} |
O nome do seu projeto. Este valor é sensível às maiúsculas e minúsculas. | myProject |
{JOB-ID} |
O ID para localizar o estado de preparação do modelo. Este valor está no valor do location cabeçalho que recebeu no passo anterior. |
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx |
{API-VERSION} |
A versão da API que está a chamar. O valor aqui referenciado destina-se à versão mais recente lançada. Saiba mais sobre outras versões de API disponíveis | 2022-05-01 |
Cabeçalhos
Utilize o cabeçalho seguinte para autenticar o pedido.
Chave | Valor |
---|---|
Ocp-Apim-Subscription-Key |
A chave do recurso. Utilizado para autenticar os seus pedidos de API. |
Preparar o seu modelo
Normalmente, depois de criar um projeto, começa a etiquetar os documentos que tem no contentor ligado ao projeto. Neste início rápido, importou um conjunto de dados com etiquetas de exemplo e inicializou o projeto com o ficheiro de etiquetas JSON de exemplo.
Começar a preparar o modelo
Depois de importar o projeto, pode começar a preparar o modelo.
Submeta um pedido POST com o seguinte URL, cabeçalhos e corpo JSON para submeter uma tarefa de preparação. Substitua os valores de marcador de posição abaixo pelos seus próprios valores.
{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/:train?api-version={API-VERSION}
Marcador de posição | Valor | Exemplo |
---|---|---|
{ENDPOINT} |
O ponto final para autenticar o pedido da API. | https://<your-custom-subdomain>.cognitiveservices.azure.com |
{PROJECT-NAME} |
O nome do seu projeto. Este valor é sensível às maiúsculas e minúsculas. | myProject |
{API-VERSION} |
A versão da API que está a chamar. O valor aqui referenciado destina-se à versão mais recente lançada. Saiba mais sobre outras versões de API disponíveis | 2022-05-01 |
Cabeçalhos
Utilize o cabeçalho seguinte para autenticar o pedido.
Chave | Valor |
---|---|
Ocp-Apim-Subscription-Key |
A chave do recurso. Utilizado para autenticar os seus pedidos de API. |
Corpo do pedido
Utilize o seguinte JSON no corpo do pedido. O modelo será fornecido assim que a {MODEL-NAME}
preparação estiver concluída. Apenas as tarefas de preparação bem-sucedidas produzirão modelos.
{
"modelLabel": "{MODEL-NAME}",
"trainingConfigVersion": "{CONFIG-VERSION}",
"evaluationOptions": {
"kind": "percentage",
"trainingSplitPercentage": 80,
"testingSplitPercentage": 20
}
}
Chave | Marcador de posição | Valor | Exemplo |
---|---|---|---|
modelLabel | {MODEL-NAME} |
O nome do modelo que será atribuído ao modelo depois de preparado com êxito. | myModel |
trainingConfigVersion | {CONFIG-VERSION} |
Esta é a versão do modelo que será utilizada para preparar o modelo. | 2022-05-01 |
evaluationOptions | Opção para dividir os seus dados em conjuntos de preparação e teste. | {} |
|
tipo | percentage |
Métodos de divisão. Os valores possíveis são percentage ou manual . Veja Como preparar um modelo para obter mais informações. |
percentage |
trainingSplitPercentage | 80 |
Percentagem dos dados marcados a incluir no conjunto de preparação. O valor recomendado é 80 . |
80 |
testingSplitPercentage | 20 |
Percentagem dos dados etiquetados a incluir no conjunto de testes. O valor recomendado é 20 . |
20 |
Nota
O trainingSplitPercentage
e testingSplitPercentage
só é necessário se Kind
estiver definido como percentage
e a soma de ambas as percentagens deve ser igual a 100.
Depois de enviar o pedido da API, receberá uma 202
resposta a indicar que a tarefa foi submetida corretamente. Nos cabeçalhos de resposta, extraia o location
valor. Será formatado da seguinte forma:
{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/train/jobs/{JOB-ID}?api-version={API-VERSION}
{JOB-ID} é utilizado para identificar o seu pedido, uma vez que esta operação é assíncrona. Pode utilizar este URL para obter o estado de preparação.
Obter o estado da tarefa de preparação
O treino pode demorar entre 10 e 30 minutos. Pode utilizar o seguinte pedido para manter a consulta do estado da tarefa de preparação até que seja concluída com êxito.
Utilize o seguinte pedido GET para obter o estado do progresso de preparação do modelo. Substitua os valores de marcador de posição abaixo pelos seus próprios valores.
URL do Pedido
{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/train/jobs/{JOB-ID}?api-version={API-VERSION}
Marcador de posição | Valor | Exemplo |
---|---|---|
{ENDPOINT} |
O ponto final para autenticar o pedido da API. | https://<your-custom-subdomain>.cognitiveservices.azure.com |
{PROJECT-NAME} |
O nome do seu projeto. Este valor é sensível às maiúsculas e minúsculas. | myProject |
{JOB-ID} |
O ID para localizar o estado de preparação do modelo. Este valor está no valor do location cabeçalho que recebeu no passo anterior. |
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx |
{API-VERSION} |
A versão da API que está a chamar. O valor aqui referenciado destina-se à versão mais recente lançada. Veja o ciclo de vida do modelo para saber mais sobre outras versões de API disponíveis. | 2022-05-01 |
Cabeçalhos
Utilize o cabeçalho seguinte para autenticar o pedido.
Chave | Valor |
---|---|
Ocp-Apim-Subscription-Key |
A chave do recurso. Utilizado para autenticar os seus pedidos de API. |
Corpo da Resposta
Depois de enviar o pedido, obterá 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"
}
Implementar o modelo
Geralmente, após a preparação de um modelo, iria rever os detalhes da avaliação e fazer melhorias , se necessário. Neste início rápido, irá implementar o seu modelo e disponibilizá-lo para experimentar no Language Studio ou pode chamar a API de predição.
Submeter tarefa de implementação
Submeta um pedido PUT com o seguinte URL, cabeçalhos e corpo JSON para submeter uma tarefa de implementação. Substitua os valores de marcador de posição abaixo pelos seus próprios valores.
{Endpoint}/language/authoring/analyze-text/projects/{projectName}/deployments/{deploymentName}?api-version={API-VERSION}
Marcador de posição | Valor | Exemplo |
---|---|---|
{ENDPOINT} |
O ponto final para autenticar o pedido da API. | https://<your-custom-subdomain>.cognitiveservices.azure.com |
{PROJECT-NAME} |
O nome do seu projeto. Este valor é sensível às maiúsculas e minúsculas. | myProject |
{DEPLOYMENT-NAME} |
O nome da sua implementação. Este valor é sensível às maiúsculas e minúsculas. | staging |
{API-VERSION} |
A versão da API que está a chamar. O valor aqui referenciado destina-se à versão mais recente lançada. Saiba mais sobre outras versões de API disponíveis | 2022-05-01 |
Cabeçalhos
Utilize o cabeçalho seguinte para autenticar o pedido.
Chave | Valor |
---|---|
Ocp-Apim-Subscription-Key |
A chave do recurso. Utilizado para autenticar os seus pedidos de API. |
Corpo do pedido
Utilize o seguinte JSON no corpo do pedido. Utilize o nome do modelo que atribui à implementação.
{
"trainedModelLabel": "{MODEL-NAME}"
}
Chave | Marcador de posição | Valor | Exemplo |
---|---|---|---|
trainedModelLabel | {MODEL-NAME} |
O nome do modelo que será atribuído à sua implementação. Só pode atribuir modelos preparados com êxito. Este valor é sensível às maiúsculas e minúsculas. | myModel |
Depois de enviar o pedido da API, receberá uma 202
resposta a indicar que a tarefa foi submetida corretamente. Nos cabeçalhos de resposta, extraia o operation-location
valor. Será formatado da seguinte forma:
{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/deployments/{DEPLOYMENT-NAME}/jobs/{JOB-ID}?api-version={API-VERSION}
{JOB-ID} é utilizado para identificar o seu pedido, uma vez que esta operação é assíncrona. Pode utilizar este URL para obter o estado da implementação.
Obter o estado da tarefa de implementação
Utilize o seguinte pedido GET para consultar o estado da tarefa de implementação. Pode utilizar o URL que recebeu do passo anterior ou substituir os valores de marcador de posição abaixo pelos seus próprios valores.
{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/deployments/{DEPLOYMENT-NAME}/jobs/{JOB-ID}?api-version={API-VERSION}
Marcador de posição | Valor | Exemplo |
---|---|---|
{ENDPOINT} |
O ponto final para autenticar o pedido da API. | https://<your-custom-subdomain>.cognitiveservices.azure.com |
{PROJECT-NAME} |
O nome do seu projeto. Este valor é sensível às maiúsculas e minúsculas. | myProject |
{DEPLOYMENT-NAME} |
O nome da sua implementação. Este valor é sensível às maiúsculas e minúsculas. | staging |
{JOB-ID} |
O ID para localizar o estado de preparação do modelo. Isto está no valor do location cabeçalho que recebeu no passo anterior. |
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx |
{API-VERSION} |
A versão da API que está a chamar. O valor aqui referenciado destina-se à versão mais recente lançada. Saiba mais sobre outras versões de API disponíveis | 2022-05-01 |
Cabeçalhos
Utilize o cabeçalho seguinte para autenticar o pedido.
Chave | Valor |
---|---|
Ocp-Apim-Subscription-Key |
A chave do recurso. Utilizado para autenticar os seus pedidos de API. |
Corpo da Resposta
Depois de enviar o pedido, obterá a seguinte resposta. Continue a consultar este ponto final até que o parâmetro de estado mude para "com êxito". Deverá obter um 200
código para indicar o êxito do pedido.
{
"jobId":"{JOB-ID}",
"createdDateTime":"{CREATED-TIME}",
"lastUpdatedDateTime":"{UPDATED-TIME}",
"expirationDateTime":"{EXPIRATION-TIME}",
"status":"running"
}
Classificar texto
Depois de o modelo ser implementado com êxito, pode começar a utilizá-lo para classificar o seu texto através da API de Predição. No conjunto de dados de exemplo que transferiu anteriormente, pode encontrar alguns documentos de teste que pode utilizar neste passo.
Submeter uma tarefa de classificação de textos personalizada
Utilize este pedido POST para iniciar uma tarefa de classificação de textos.
{ENDPOINT}/language/analyze-text/jobs?api-version={API-VERSION}
Marcador de posição | Valor | Exemplo |
---|---|---|
{ENDPOINT} |
O ponto final para autenticar o pedido da API. | https://<your-custom-subdomain>.cognitiveservices.azure.com |
{API-VERSION} |
A versão da API que está a chamar. O valor aqui referenciado destina-se à versão mais recente lançada. Veja 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 | A sua chave que fornece acesso a esta 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 | Marcador de posição | Valor | Exemplo |
---|---|---|---|
displayName |
{JOB-NAME} |
O nome da sua tarefa. | MyJobName |
documents |
[{},{}] | Lista de documentos em que as tarefas são executadas. | [{},{}] |
id |
{DOC-ID} |
Nome ou ID do documento. | doc1 |
language |
{LANGUAGE-CODE} |
Uma cadeia que especifica o código de idioma do documento. Se esta chave não for especificada, o serviço assumirá o idioma predefinido do projeto que foi selecionado durante a criação do projeto. Veja o suporte de idiomas para obter uma lista de códigos de idioma suportados. | en-us |
text |
{DOC-TEXT} |
Documente a tarefa para executar as tarefas. | Lorem ipsum dolor sit amet |
tasks |
Lista de tarefas que queremos efetuar. | [] |
|
taskName |
CustomMultiLabelClassification | O nome da tarefa | CustomMultiLabelClassification |
parameters |
Lista de parâmetros a transmitir para a tarefa. | ||
project-name |
{PROJECT-NAME} |
O nome do seu projeto. Este valor é sensível às maiúsculas e minúsculas. | myProject |
deployment-name |
{DEPLOYMENT-NAME} |
O nome da sua implementação. Este valor é sensível às maiúsculas e minúsculas. | prod |
Resposta
Receberá uma resposta 202 a indicar êxito. Nos cabeçalhos de resposta, extraia operation-location
.
operation-location
está formatado da seguinte forma:
{ENDPOINT}/language/analyze-text/jobs/{JOB-ID}?api-version={API-VERSION}
Pode utilizar este URL para consultar o estado de conclusão da tarefa e obter os resultados quando a tarefa estiver concluída.
Obter resultados da tarefa
Utilize o seguinte pedido GET para consultar o estado/resultados da tarefa de classificação de textos.
{ENDPOINT}/language/analyze-text/jobs/{JOB-ID}?api-version={API-VERSION}
Marcador de posição | Valor | Exemplo |
---|---|---|
{ENDPOINT} |
O ponto final para autenticar o pedido da API. | https://<your-custom-subdomain>.cognitiveservices.azure.com |
{API-VERSION} |
A versão da API que está a chamar. O valor aqui referenciado destina-se à versão mais recente do modelo lançado. | 2022-05-01 |
Cabeçalhos
Chave | Valor |
---|---|
Ocp-Apim-Subscription-Key | A sua chave que fornece acesso a esta 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 já não precisar do seu projeto, pode eliminá-lo com o seguinte pedido DELETE . Substitua os valores dos marcadores de posição pelos seus próprios valores.
{Endpoint}/language/authoring/analyze-text/projects/{projectName}?api-version={API-VERSION}
Marcador de posição | Valor | Exemplo |
---|---|---|
{ENDPOINT} |
O ponto final para autenticar o pedido da API. | https://<your-custom-subdomain>.cognitiveservices.azure.com |
{PROJECT-NAME} |
O nome do seu projeto. Este valor é sensível às maiúsculas e minúsculas. | myProject |
{API-VERSION} |
A versão da API que está a chamar. O valor aqui referenciado destina-se à versão mais recente lançada. Saiba mais sobre outras versões de API disponíveis | 2022-05-01 |
Cabeçalhos
Utilize o cabeçalho seguinte para autenticar o pedido.
Chave | Valor |
---|---|
Ocp-Apim-Subscription-Key | A chave do recurso. Utilizado para autenticar os seus pedidos de API. |
Depois de enviar o pedido da API, receberá uma 202
resposta a indicar êxito, o que significa que o projeto foi eliminado. Um resultado de chamada bem-sucedido com um cabeçalho Operation-Location
utilizado para verificar o estado da tarefa.
Passos seguintes
Depois de criar um modelo de classificação de textos personalizado, pode:
Quando começar a criar os seus próprios projetos de classificação de textos personalizados, utilize os artigos de procedimentos para saber mais sobre como desenvolver o seu modelo com maior detalhe: