Guia de início rápido: análise de texto personalizada para integridade

Nota

A análise de texto personalizada para integridade (visualização) será desativada em 10 de janeiro de 2025, faça a transição para outros serviços de treinamento de modelo personalizado, como reconhecimento de entidade nomeada personalizada na Linguagem de IA do Azure, até essa data. De agora até 10 de janeiro de 2025, você pode continuar a usar a análise de texto personalizada para integridade (visualização) em seus projetos existentes sem interrupções. Não é possível criar novos projetos. Em 10 de janeiro de 2025, as cargas de trabalho executadas em análise de texto personalizada para integridade (visualização) serão excluídas e os dados associados do projeto serão perdidos.

Use este artigo para começar a criar um projeto personalizado de Análise de Texto para integridade, onde você pode treinar modelos personalizados sobre a Análise de Texto para integridade para reconhecimento de entidade personalizada. Um modelo é um software de inteligência artificial que é treinado para fazer uma determinada tarefa. Para este sistema, os modelos extraem entidades nomeadas relacionadas com cuidados de saúde e são treinados aprendendo com dados rotulados.

Neste artigo, usamos o Language Studio para demonstrar conceitos-chave da Análise de Texto personalizada para integridade. Como exemplo, criaremos um modelo personalizado de Análise de Texto para saúde para extrair a Instalação ou o local de tratamento de breves notas de alta.

Pré-requisitos

Criar um novo recurso de linguagem de IA do Azure e uma conta de armazenamento do Azure

Antes de poder usar a Análise de Texto personalizada para integridade, você precisa 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, onde poderá carregar seu conjunto de dados usado para criar seu modelo.

Importante

Para começar rapidamente, recomendamos a criação de um novo recurso de linguagem de IA do Azure usando as etapas fornecidas neste artigo. Usar as etapas neste artigo permitirá que você crie o recurso de idioma e a 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 gostaria de usar, precisará conectá-lo à conta de armazenamento. Para obter mais informações, consulte Orientação para usar um recurso pré-existente.

Criar um novo recurso a partir do portal do Azure

  1. Entre no portal do Azure para criar um novo recurso de linguagem de IA do Azure.

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

    Uma captura de tela mostrando a classificação de texto personalizada e o reconhecimento personalizado da entidade nomeada no portal do Azure.

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

    Nome Descrição
    Subscrição A sua subscrição do Azure.
    Grupo de recursos Um grupo de recursos que conterá seu recurso. Você pode usar um existente ou criar um novo.
    País/Região A região do seu recurso Idioma. Por exemplo, "West US 2".
    Nome Um nome para o seu recurso.
    Escalão de preço A camada de preço para seu recurso de idioma. Você pode usar a camada Gratuito (F0) para experimentar o serviço.

    Nota

    Se você receber uma mensagem dizendo "sua conta de login não é 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 poder criar um recurso de idioma. Entre em contato com o proprietário da assinatura do Azure para obter assistência.

  4. Na seção Classificação de texto personalizada & reconhecimento de entidade nomeada personalizada, selecione uma conta de armazenamento existente ou selecione Nova conta de armazenamento. Esses valores são para ajudá-lo a começar, e não necessariamente os valores da conta de armazenamento que você desejará usar em ambientes de produção. Para evitar latência durante a criação do projeto, conecte-se a contas de armazenamento na mesma região do recurso Idioma.

    Valor da conta de armazenamento Valor recomendado
    Nome da conta de armazenamento Qualquer nome
    Storage account type LRS padrão
  5. Certifique-se de que o Aviso de IA Responsável está verificado. Selecione Rever + criar na parte inferior da página e, em seguida, selecione Criar.

Carregar dados de amostra para o contêiner de blob

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

  1. Baixe o conjunto de dados de exemplo do GitHub.

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

  3. No portal do Azure, navegue até a conta de armazenamento que você criou e selecione-a.

  4. Na sua conta de armazenamento, selecione Contêineres no menu à esquerda, localizado abaixo de Armazenamento de dados. Na tela exibida, selecione + Contêiner. Dê ao contêiner o nome example-data e deixe o nível de acesso público padrão.

    Uma captura de tela mostrando a página principal de uma conta de armazenamento.

  5. Depois que o contêiner for criado, selecione-o. Em seguida, selecione o botão Carregar para selecionar os .txt arquivos que .json você baixou anteriormente.

    Uma captura de tela mostrando o botão para carregar arquivos para a conta de armazenamento.

O conjunto de dados da amostra fornecida contém 12 notas clínicas. Cada nota clínica inclui várias entidades médicas e o local de tratamento. Usaremos as entidades pré-construídas para extrair as entidades médicas e treinar o modelo personalizado para extrair o local de tratamento usando os componentes aprendidos e listados da entidade.

Criar um projeto personalizado de Análise de Texto para integridade

Depois que sua conta de recursos e armazenamento estiver configurada, crie um novo projeto personalizado de Análise de Texto para integridade. Um projeto é uma área de trabalho para criar seus modelos de ML personalizados com base em seus dados. O seu projeto só pode ser acedido por si e por outras pessoas que tenham acesso ao recurso linguístico que está a ser utilizado.

  1. Entre no Language Studio. Será exibida uma janela para permitir que você selecione sua assinatura e recurso de idioma. Selecione o recurso de idioma que você criou na etapa acima.

  2. Na seção Extrair informações do Language Studio, selecione Análise de texto personalizada para integridade.

  3. Selecione Criar novo projeto no menu superior da página de projetos. Criar um projeto permite rotular dados, treinar, avaliar, melhorar e implantar seus modelos.

    Uma captura de tela da página de criação do projeto.

  4. Insira as informações do projeto, incluindo um nome, uma descrição e o idioma dos arquivos em seu projeto. Se você estiver usando o conjunto de dados de exemplo, selecione Inglês. Não é possível alterar o nome do seu projeto mais tarde. Selecione Seguinte

    Gorjeta

    Seu conjunto de dados não precisa estar totalmente no mesmo idioma. Você pode ter vários documentos, cada um com diferentes idiomas suportados. Se o conjunto de dados contiver documentos de idiomas diferentes ou se você esperar texto de idiomas diferentes durante o tempo de execução, selecione a opção habilitar conjunto de dados multilíngue ao inserir as informações básicas para seu projeto. Esta opção pode ser ativada posteriormente na página Configurações do projeto.

  5. Depois de selecionar Criar novo 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 contabilizado conectado. Caso contrário, escolha sua conta de armazenamento na lista suspensa exibida e selecione Conectar conta de armazenamento, isso definirá as funções necessárias para sua conta de armazenamento. Esta etapa possivelmente retornará um erro se você não estiver atribuído como proprietário na conta de armazenamento.

    Nota

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

    Uma captura de tela mostrando a tela de conexão de armazenamento.

  6. Selecione o contêiner onde você carregou seu conjunto de dados.

  7. Se você já tiver rotulado dados, certifique-se de que eles seguem o formato suportado e selecione Sim, meus arquivos já estão rotulados e eu formatei o arquivo de rótulos JSON e selecione o arquivo de rótulos no menu suspenso. Selecione Seguinte. Se você estiver usando o conjunto de dados do Guia de início rápido, não há necessidade de revisar a formatação do arquivo de rótulos JSON.

  8. Revise os dados inseridos e selecione Criar projeto.

Preparar o modelo

Normalmente, depois de criar um projeto, você vai em frente e começa a rotular os documentos que você tem no contêiner conectado ao seu projeto. Para este início rápido, você importou um conjunto de dados marcado de exemplo e inicializou seu projeto com o arquivo de rótulos JSON de exemplo, portanto, não há necessidade de adicionar rótulos adicionais.

Para começar a treinar o seu modelo a partir do Language Studio:

  1. Selecione Trabalhos de treinamento no menu do lado esquerdo.

  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. Você também pode substituir um modelo existente selecionando essa opção e escolhendo o modelo que 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.

    Uma captura de ecrã a mostrar o ecrã de criação de emprego de formação no Language Studio.

  4. Selecione o método de divisão de dados. Você pode escolher Dividir automaticamente o conjunto de testes dos dados de treinamento, onde o sistema dividirá seus dados rotulados entre os conjuntos de treinamento e teste, de acordo com as porcentagens especificadas. Ou você pode usar uma divisão manual de dados de treinamento e teste, essa opção só é ativada se você tiver adicionado documentos ao seu conjunto de testes. Consulte a rotulagem de dados e como treinar um modelo para obter informações sobre a divisão de dados.

  5. Selecione o botão Trem .

  6. Se você selecionar o ID do Trabalho de Treinamento na lista, um painel lateral aparecerá onde você poderá verificar o progresso do Treinamento, o status do Trabalho e outros detalhes para este trabalho.

    Nota

    • Apenas trabalhos de formação concluídos com sucesso gerarão modelos.
    • O treinamento pode levar algum tempo entre alguns minutos e várias horas com base no tamanho dos dados rotulados.
    • 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, depois de treinar um modelo, você revisaria seus detalhes de avaliação e faria melhorias, se necessário. Neste início rápido, você apenas implantará seu modelo e o disponibilizará para experimentar no Language studio, ou poderá chamar a API de previsão.

Para implantar seu modelo a partir do Language Studio:

  1. Selecione Implantando um modelo no menu do lado esquerdo.

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

    Uma captura de tela mostrando o botão de implantação no Language Studio.

  3. Selecione Criar nova implantação para criar uma nova 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 selecionando o modelo treinado que deseja atribuir a ela na lista suspensa abaixo.

    Nota

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

    Uma captura de tela mostrando as opções de implantação do modelo no Language Studio.

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

  5. Depois que a implantação for bem-sucedida, uma data de expiração aparecerá ao lado dela. A expiração da implantação é quando o modelo implantado não estará disponível para ser usado para previsão, o que normalmente acontece doze meses após a expiração de uma configuração de treinamento.

Testar o seu modelo

Depois que o modelo for implantado, você poderá começar a usá-lo para extrair entidades do texto por meio da API de previsão. Para este início rápido, você usará o Language Studio para enviar a tarefa personalizada de Análise de Texto para previsão de integridade e visualizar os resultados. No conjunto de dados de exemplo que você baixou anteriormente, você pode encontrar alguns documentos de teste que você pode usar nesta etapa.

Para testar seus modelos implantados de dentro do Language Studio:

  1. Selecione Testando implantações no menu do lado esquerdo.

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

  3. Selecione a implantação que você deseja consultar/testar na lista suspensa.

  4. Pode introduzir o texto que pretende submeter ao pedido ou carregar um .txt ficheiro para utilizar.

  5. Selecione Executar o teste no menu superior.

  6. Na guia Resultado, você pode ver as entidades extraídas do seu texto e seus tipos. Você também pode exibir a resposta JSON na guia JSON .

    Uma captura de tela mostrando a tela de teste de implantação no Language Studio.

Clean up resources (Limpar recursos)

Quando você não precisar mais do seu projeto, poderá excluí-lo usando o Language Studio.

  1. Selecione o recurso Serviço de idioma que você está usando na parte superior da página, s
  2. Selecione o projeto que deseja excluir
  3. Selecione Eliminar no menu superior.

Pré-requisitos

Criar um novo recurso de linguagem de IA do Azure e uma conta de armazenamento do Azure

Antes de poder usar a Análise de Texto personalizada para integridade, 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, onde poderá carregar seu conjunto de dados que será usado na criação de seu modelo.

Importante

Para começar rapidamente, recomendamos criar um novo recurso de Linguagem de IA do Azure usando as etapas fornecidas neste artigo, que permitirão criar o recurso de Idioma e criar e/ou conectar 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 gostaria de usar, precisará conectá-lo à conta de armazenamento. Consulte criar projeto para obter mais informações.

Criar um novo recurso a partir do portal do Azure

  1. Entre no portal do Azure para criar um novo recurso de linguagem de IA do Azure.

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

    Uma captura de tela mostrando a classificação de texto personalizada e o reconhecimento personalizado da entidade nomeada no portal do Azure.

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

    Nome Descrição
    Subscrição A sua subscrição do Azure.
    Grupo de recursos Um grupo de recursos que conterá seu recurso. Você pode usar um existente ou criar um novo.
    País/Região A região do seu recurso Idioma. Por exemplo, "West US 2".
    Nome Um nome para o seu recurso.
    Escalão de preço A camada de preço para seu recurso de idioma. Você pode usar a camada Gratuito (F0) para experimentar o serviço.

    Nota

    Se você receber uma mensagem dizendo "sua conta de login não é 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 poder criar um recurso de idioma. Entre em contato com o proprietário da assinatura do Azure para obter assistência.

  4. Na seção Classificação de texto personalizada & reconhecimento de entidade nomeada personalizada, selecione uma conta de armazenamento existente ou selecione Nova conta de armazenamento. Esses valores são para ajudá-lo a começar, e não necessariamente os valores da conta de armazenamento que você desejará usar em ambientes de produção. Para evitar latência durante a criação do projeto, conecte-se a contas de armazenamento na mesma região do recurso Idioma.

    Valor da conta de armazenamento Valor recomendado
    Nome da conta de armazenamento Qualquer nome
    Storage account type LRS padrão
  5. Certifique-se de que o Aviso de IA Responsável está verificado. Selecione Rever + criar na parte inferior da página e, em seguida, selecione Criar.

Carregar dados de amostra para o contêiner de blob

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

  1. Baixe o conjunto de dados de exemplo do GitHub.

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

  3. No portal do Azure, navegue até a conta de armazenamento que você criou e selecione-a.

  4. Na sua conta de armazenamento, selecione Contêineres no menu à esquerda, localizado abaixo de Armazenamento de dados. Na tela exibida, selecione + Contêiner. Dê ao contêiner o nome example-data e deixe o nível de acesso público padrão.

    Uma captura de tela mostrando a página principal de uma conta de armazenamento.

  5. Depois que o contêiner for criado, selecione-o. Em seguida, selecione o botão Carregar para selecionar os .txt arquivos que .json você baixou anteriormente.

    Uma captura de tela mostrando o botão para carregar arquivos para a conta de armazenamento.

O conjunto de dados da amostra fornecida contém 12 notas clínicas. Cada nota clínica inclui várias entidades médicas e o local de tratamento. Usaremos as entidades pré-construídas para extrair as entidades médicas e treinar o modelo personalizado para extrair o local de tratamento usando os componentes aprendidos e listados da entidade.

Obtenha suas chaves de recursos e ponto de extremidade

  1. Vá para a página de visão geral dos recursos no portal do Azure

  2. No menu do lado esquerdo, selecione Teclas e Ponto de extremidade. Você usará o endpoint e a chave para as solicitações de API

    Uma captura de tela mostrando a página de chave e ponto de extremidade no portal do Azure

Criar um projeto personalizado de Análise de Texto para integridade

Depois que sua conta de recursos e armazenamento estiver configurada, crie um novo projeto personalizado de Análise de Texto para integridade. Um projeto é uma área de trabalho para criar seus modelos de ML personalizados com base em seus dados. O seu projeto só pode ser acedido por si e por outras pessoas que tenham acesso ao recurso linguístico que está a ser utilizado.

Use o arquivo de rótulos que você baixou dos dados de exemplo na etapa anterior e adicione-o ao corpo da solicitação a seguir.

Acionar trabalho de projeto de importação

Envie uma solicitação POST usando a seguinte URL, cabeçalhos e corpo JSON para importar seu arquivo 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 de extremidade para autenticar 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 última versão lançada. Consulte 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.

Key valor
Ocp-Apim-Subscription-Key A chave para o seu recurso. Usado para autenticar suas solicitações de API.

Corpo

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

{
	"projectFileVersion": "{API-VERSION}",
	"stringIndexType": "Utf16CodeUnit",
	"metadata": {
		"projectName": "{PROJECT-NAME}",
		"projectKind": "CustomHealthcare",
		"description": "Trying out custom Text Analytics for health",
		"language": "{LANGUAGE-CODE}",
		"multilingual": true,
		"storageInputContainerName": "{CONTAINER-NAME}",
		"settings": {}
	},
	"assets": {
		"projectKind": "CustomHealthcare",
		"entities": [
			{
				"category": "Entity1",
				"compositionSetting": "{COMPOSITION-SETTING}",
				"list": {
					"sublists": [
						{
							"listKey": "One",
							"synonyms": [
								{
									"language": "en",
									"values": [
										"EntityNumberOne",
										"FirstEntity"
									]
								}
							]
						}
					]
				}
			},
			{
				"category": "Entity2"
			},
			{
				"category": "MedicationName",
				"list": {
					"sublists": [
						{
							"listKey": "research drugs",
							"synonyms": [
								{
									"language": "en",
									"values": [
										"rdrug a",
										"rdrug b"
									]
								}
							]

						}
					]
				}
				"prebuilts": "MedicationName"
			}
		],
		"documents": [
			{
				"location": "{DOCUMENT-NAME}",
				"language": "{LANGUAGE-CODE}",
				"dataset": "{DATASET}",
				"entities": [
					{
						"regionOffset": 0,
						"regionLength": 500,
						"labels": [
							{
								"category": "Entity1",
								"offset": 25,
								"length": 10
							},
							{
								"category": "Entity2",
								"offset": 120,
								"length": 8
							}
						]
					}
				]
			},
			{
				"location": "{DOCUMENT-NAME}",
				"language": "{LANGUAGE-CODE}",
				"dataset": "{DATASET}",
				"entities": [
					{
						"regionOffset": 0,
						"regionLength": 100,
						"labels": [
							{
								"category": "Entity2",
								"offset": 20,
								"length": 5
							}
						]
					}
				]
			}
		]
	}
}

Chave Marcador de Posição valor Exemplo
multilingual true Um valor booleano que permite que você tenha documentos em vários idiomas em seu conjunto de dados e, quando seu modelo é implantado, você pode consultar o modelo em qualquer idioma suportado (não necessariamente incluído em seus documentos de treinamento). Consulte o suporte linguístico para saber mais sobre o suporte multilingue. true
projectName {PROJECT-NAME} Nome do projeto myproject
storageInputContainerName {CONTAINER-NAME} Nome do contentor mycontainer
entities Matriz contendo todos os tipos de entidade que você tem no projeto. Estes são os tipos de entidade que serão extraídos dos seus documentos.
category O nome do tipo de entidade, que pode ser definido pelo usuário para novas definições de entidade ou predefinido para entidades pré-criadas.
compositionSetting {COMPOSITION-SETTING} Regra que define como gerenciar vários componentes em sua entidade. As opções são combineComponents ou separateComponents. combineComponents
list Matriz que contém todas as sublistas que você tem no projeto para uma entidade específica. As listas podem ser adicionadas a entidades pré-criadas ou a novas entidades com componentes aprendidos.
sublists [] Matriz contendo sublistas. Cada sublista é uma chave e seus valores associados. []
listKey One Um valor normalizado para a lista de sinônimos a serem mapeados de volta na previsão. One
synonyms [] Matriz contendo todos os sinónimos sinónimo
language {LANGUAGE-CODE} Uma cadeia de caracteres que especifica o código de idioma para o sinônimo em sua sublista. Se o seu projeto for multilingue e pretender apoiar a sua lista de sinónimos para todas as línguas do projeto, tem de adicionar explicitamente os seus sinónimos a cada língua. Consulte Suporte a idiomas para obter mais informações sobre códigos de idiomas suportados. en
values "EntityNumberone", "FirstEntity" Uma lista de cadeias de caracteres separadas por vírgulas que serão correspondidas exatamente para extração e mapeada para a chave de lista. "EntityNumberone", "FirstEntity"
prebuilts MedicationName O nome do componente pré-construído que preenche a entidade pré-construída. As entidades pré-criadas são carregadas automaticamente em seu projeto por padrão, mas você pode estendê-las com componentes de lista em seu arquivo de etiquetas. MedicationName
documents Matriz contendo todos os documentos em seu projeto e lista das entidades rotuladas dentro de cada documento. []
location {DOCUMENT-NAME} A localização dos documentos no recipiente de armazenamento. Como todos os documentos estão na raiz do contêiner, este deve ser o nome do documento. doc1.txt
dataset {DATASET} O conjunto de testes para o qual este arquivo irá quando dividido antes do treinamento. Os valores possíveis para este campo são Train e Test. Train
regionOffset A posição de caracteres inclusivos do início do texto. 0
regionLength O comprimento da caixa delimitadora em termos de caracteres UTF16. A formação considera apenas os dados desta região. 500
category O tipo de entidade associada à extensão de texto especificada. Entity1
offset A posição inicial do texto da entidade. 25
length O comprimento da entidade em termos de caracteres UTF16. 20
language {LANGUAGE-CODE} Uma cadeia de caracteres especificando o código de idioma para o documento usado em seu projeto. Se o seu projeto for multilingue, escolha o código linguístico da maioria dos documentos. Consulte Suporte a idiomas para obter mais informações sobre códigos de idiomas suportados. en

Depois de enviar sua solicitação de API, você receberá uma 202 resposta indicando que o trabalho foi enviado 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. 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 permissões adequadas para a conta de armazenamento.
  • O storageInputContainerName especificado não existe.
  • Código de idioma inválido é usado, ou se o tipo de código de idioma não é string.
  • multilingual value é uma cadeia de caracteres e não um booleano.

Obter status de trabalho de importação

Use a seguinte solicitação GET para obter o status da importação do projeto. Substitua os valores de espaço reservado 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 de extremidade para autenticar 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} O ID para localizar o status de treinamento do seu modelo. Esse valor está no valor do location cabeçalho que você recebeu 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 última versão lançada. Consulte 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.

Key valor
Ocp-Apim-Subscription-Key A chave para o seu recurso. Usado para autenticar suas solicitações de API.

Preparar o modelo

Normalmente, depois de criar um projeto, você vai em frente e começa a rotular os documentos que você tem no contêiner conectado ao seu projeto. Para este início rápido, você importou um conjunto de dados marcado de exemplo e inicializou seu projeto com o arquivo de tags JSON de exemplo.

Iniciar trabalho de formação

Depois que seu projeto for importado, você poderá começar a treinar seu modelo.

Envie uma solicitação POST usando a seguinte URL, cabeçalhos e corpo JSON para enviar um trabalho de treinamento. Substitua os valores de espaço reservado por 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 de extremidade para autenticar 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 última versão lançada. Consulte 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.

Key valor
Ocp-Apim-Subscription-Key A chave para o seu recurso. Usado para autenticar suas solicitações de API.

Corpo do pedido

Use o JSON a seguir no corpo da solicitação. O modelo é dado assim que o {MODEL-NAME} treinamento é concluído. Só empregos de formação bem sucedidos produzem 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 é atribuído ao seu modelo depois de treinado com êxito. myModel
trainingConfigVersion {CONFIG-VERSION} Esta é a versão do modelo que é usada para treinar o modelo. 2022-05-01
avaliaçãoOpções Opção para dividir seus dados entre conjuntos de treinamento e teste. {}
variante percentage Métodos de divisão. Os valores possíveis são percentage ou manual. Consulte Como treinar um modelo para obter mais informações. percentage
formaçãoSplitPercentage 80 Porcentagem dos dados marcados a serem incluídos no conjunto de treinamento. O valor recomendado é 80. 80
testingSplitPercentage 20 Porcentagem dos dados marcados a serem incluídos no conjunto de testes. O valor recomendado é 20. 20

Nota

O trainingSplitPercentage e testingSplitPercentage só são necessários se Kind for definido como percentage e a soma de ambas as percentagens deve ser igual a 100.

Depois de enviar sua solicitação de API, você receberá uma 202 resposta indicando que o trabalho foi enviado corretamente. Nos cabeçalhos de resposta, extraia o location valor. Está formatado assim:

{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. Você pode usar essa URL para obter o status de treinamento.

Obter status de trabalho de treinamento

O treinamento pode levar entre 10 e 30 minutos para este conjunto de dados de amostra. Você pode usar a solicitação a seguir para continuar pesquisando 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 progresso do treinamento do seu modelo. Substitua os valores de espaço reservado 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 de extremidade para autenticar 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} O ID para localizar o status de treinamento do seu modelo. Esse valor está no valor do location cabeçalho que você recebeu 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 última versão lançada. Consulte 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.

Key valor
Ocp-Apim-Subscription-Key A chave para o seu recurso. Usado para autenticar suas solicitações de API.

Organismo de resposta

Após o envio do 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, depois de treinar um modelo, você revisaria seus detalhes de avaliação e faria melhorias, se necessário. Neste início rápido, você apenas implantará seu modelo e o disponibilizará para experimentar no Language Studio, ou poderá chamar a API de previsão.

Iniciar trabalho de implantação

Envie uma solicitação PUT usando a seguinte URL, cabeçalhos e corpo JSON para enviar um trabalho de implantação. Substitua os valores de espaço reservado 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 de extremidade para autenticar 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 última versão lançada. Consulte 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.

Key valor
Ocp-Apim-Subscription-Key A chave para o seu recurso. Usado para autenticar suas solicitações de API.

Corpo do pedido

Use o JSON a seguir no corpo da sua solicitação. Use o nome do modelo que você atribui à implantação.

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

Depois de enviar sua solicitação de API, você receberá uma 202 resposta indicando que o trabalho foi enviado 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. Você pode usar essa URL para obter o status da implantação.

Obter o status do trabalho de implantação

Use a seguinte solicitação GET para consultar o status do trabalho de implantação. Você pode usar a URL recebida da etapa anterior ou substituir os valores de espaço reservado abaixo por 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 de extremidade para autenticar 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} O ID para localizar o status de treinamento do seu modelo. Isso está no valor do location cabeçalho que você recebeu 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 última versão lançada. Consulte 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.

Key valor
Ocp-Apim-Subscription-Key A chave para o seu recurso. Usado para autenticar suas solicitações de API.

Organismo de resposta

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

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

Faça previsões com o seu modelo treinado

Depois que o modelo for implantado, você poderá começar a usá-lo para extrair entidades do texto usando a API de previsão. No conjunto de dados de exemplo que você baixou anteriormente, você pode encontrar alguns documentos de teste que você pode usar nesta etapa.

Enviar uma tarefa personalizada de Análise de Texto para integridade

Use esta solicitação POST para iniciar uma tarefa de análise de texto personalizada para extração de integridade.

{ENDPOINT}/language/analyze-text/jobs?api-version={API-VERSION}
Marcador de Posição valor Exemplo
{ENDPOINT} O ponto de extremidade para autenticar 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 última versão lançada. Consulte Ciclo de vida do modelo para saber mais sobre outras versões de API disponíveis. 2022-05-01

Cabeçalhos

Key valor
Ocp-Apim-Subscription-Key A sua chave que fornece acesso a esta API.

Corpo

{
  "displayName": "Extracting entities",
  "analysisInput": {
    "documents": [
      {
        "id": "1",
        "language": "{LANGUAGE-CODE}",
        "text": "Text1"
      },
      {
        "id": "2",
        "language": "{LANGUAGE-CODE}",
        "text": "Text2"
      }
    ]
  },
  "tasks": [
     {
      "kind": "CustomHealthcare",
      "taskName": "Custom TextAnalytics for Health Test",
      "parameters": {
        "projectName": "{PROJECT-NAME}",
        "deploymentName": "{DEPLOYMENT-NAME}"
      }
    }
  ]
}
Chave Marcador de Posição valor Exemplo
displayName {JOB-NAME} O nome do seu trabalho. MyJobName
documents [{},{}] Lista de documentos para executar tarefas. [{},{}]
id {DOC-ID} Nome ou ID do documento. doc1
language {LANGUAGE-CODE} Uma cadeia de caracteres especificando o código de idioma para o documento. Se essa chave não for especificada, o serviço assumirá o idioma padrão do projeto que foi selecionado durante a criação do projeto. Consulte Suporte a idiomas para obter uma lista de códigos de idiomas suportados. en-us
text {DOC-TEXT} Documentar a tarefa na qual executar as tarefas. Lorem ipsum dolor sit amet
tasks Lista de tarefas que queremos realizar. []
taskName Custom Text Analytics for Health Test O nome da tarefa Custom Text Analytics for Health Test
kind CustomHealthcare O projeto ou tipo de tarefa que estamos tentando executar CustomHealthcare
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

Response

Você receberá uma resposta 202 indicando que sua tarefa foi enviada com sucesso. Nos cabeçalhos de resposta, extraia operation-location. operation-location está formatado assim:

{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 de tarefas

Use a seguinte solicitação GET para consultar o status/resultados da tarefa de reconhecimento de entidade personalizada.

{ENDPOINT}/language/analyze-text/jobs/{JOB-ID}?api-version={API-VERSION}
Marcador de Posição valor Exemplo
{ENDPOINT} O ponto de extremidade para autenticar 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 última versão lançada. Consulte Ciclo de vida do modelo para saber mais sobre outras versões de API disponíveis. 2022-05-01

Cabeçalhos

Key valor
Ocp-Apim-Subscription-Key A sua chave que fornece acesso a esta API.

Organismo de resposta

A resposta é 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-xxxx-xxxxx-xxxxx",
	"lastUpdateDateTime": "2021-05-19T14:32:25.578Z",
	"status": "succeeded",
	"tasks": {
		"completed": 1,
		"failed": 0,
		"inProgress": 0,
		"total": 1,
		"items": [
			{
				"kind": "CustomHealthcareLROResults",
				"taskName": "Custom Text Analytics for Health Test",
				"lastUpdateDateTime": "2020-10-01T15:01:03Z",
				"status": "succeeded",
				"results": {
					"documents": [
						{
							"entities": [
								{
									"entityComponentInformation": [
										{
											"entityComponentKind": "learnedComponent"
										}
									],
									"offset": 0,
									"length": 11,
									"text": "first entity",
									"category": "Entity1",
									"confidenceScore": 0.98
								},
								{
									"entityComponentInformation": [
										{
											"entityComponentKind": "listComponent"
										}
									],
									"offset": 0,
									"length": 11,
									"text": "first entity",
									"category": "Entity1.Dictionary",
									"confidenceScore": 1.0
								},
								{
									"entityComponentInformation": [
										{
											"entityComponentKind": "learnedComponent"
										}
									],
									"offset": 16,
									"length": 9,
									"text": "entity two",
									"category": "Entity2",
									"confidenceScore": 1.0
								},
								{
									"entityComponentInformation": [
										{
											"entityComponentKind": "prebuiltComponent"
										}
									],
									"offset": 37,
									"length": 9,
									"text": "ibuprofen",
									"category": "MedicationName",
									"confidenceScore": 1,
									"assertion": {
										"certainty": "negative"
									},
									"name": "ibuprofen",
									"links": [
										{
											"dataSource": "UMLS",
											"id": "C0020740"
										},
										{
											"dataSource": "AOD",
											"id": "0000019879"
										},
										{
											"dataSource": "ATC",
											"id": "M01AE01"
										},
										{
											"dataSource": "CCPSS",
											"id": "0046165"
										},
										{
											"dataSource": "CHV",
											"id": "0000006519"
										},
										{
											"dataSource": "CSP",
											"id": "2270-2077"
										},
										{
											"dataSource": "DRUGBANK",
											"id": "DB01050"
										},
										{
											"dataSource": "GS",
											"id": "1611"
										},
										{
											"dataSource": "LCH_NW",
											"id": "sh97005926"
										},
										{
											"dataSource": "LNC",
											"id": "LP16165-0"
										},
										{
											"dataSource": "MEDCIN",
											"id": "40458"
										},
										{
											"dataSource": "MMSL",
											"id": "d00015"
										},
										{
											"dataSource": "MSH",
											"id": "D007052"
										},
										{
											"dataSource": "MTHSPL",
											"id": "WK2XYI10QM"
										},
										{
											"dataSource": "NCI",
											"id": "C561"
										},
										{
											"dataSource": "NCI_CTRP",
											"id": "C561"
										},
										{
											"dataSource": "NCI_DCP",
											"id": "00803"
										},
										{
											"dataSource": "NCI_DTP",
											"id": "NSC0256857"
										},
										{
											"dataSource": "NCI_FDA",
											"id": "WK2XYI10QM"
										},
										{
											"dataSource": "NCI_NCI-GLOSS",
											"id": "CDR0000613511"
										},
										{
											"dataSource": "NDDF",
											"id": "002377"
										},
										{
											"dataSource": "PDQ",
											"id": "CDR0000040475"
										},
										{
											"dataSource": "RCD",
											"id": "x02MO"
										},
										{
											"dataSource": "RXNORM",
											"id": "5640"
										},
										{
											"dataSource": "SNM",
											"id": "E-7772"
										},
										{
											"dataSource": "SNMI",
											"id": "C-603C0"
										},
										{
											"dataSource": "SNOMEDCT_US",
											"id": "387207008"
										},
										{
											"dataSource": "USP",
											"id": "m39860"
										},
										{
											"dataSource": "USPMG",
											"id": "MTHU000060"
										},
										{
											"dataSource": "VANDF",
											"id": "4017840"
										}
									]
								},
								{
									"entityComponentInformation": [
										{
											"entityComponentKind": "prebuiltComponent"
										}
									],
									"offset": 30,
									"length": 6,
									"text": "100 mg",
									"category": "Dosage",
									"confidenceScore": 0.98
								}
							],
							"relations": [
								{
									"confidenceScore": 1,
									"relationType": "DosageOfMedication",
									"entities": [
										{
											"ref": "#/documents/0/entities/1",
											"role": "Dosage"
										},
										{
											"ref": "#/documents/0/entities/0",
											"role": "Medication"
										}
									]
								}
							],
							"id": "1",
							"warnings": []
						}
					],
					"errors": [],
					"modelVersion": "2020-04-01"
				}
			}
		]
	}
}

Chave Valor da amostra Description
entidades [] Uma matriz contendo todas as entidades extraídas.
entityComponentKind prebuiltComponent Uma variável que indica qual componente retornou a entidade específica. Valores possíveis: prebuiltComponent, learnedComponent, listComponent
offset 0 Um número que indica o ponto de partida da entidade extraída por indexação sobre os caracteres
length 10 Um número que denota o comprimento da entidade extraída em número de caracteres.
texto first entity O texto que foi extraído para uma entidade específica.
category MedicationName O nome do tipo ou categoria de entidade correspondente ao texto extraído.
confiançaScore 0.9 Um número denotando o nível de certeza do modelo da entidade extraída variando de 0 a 1 com um número maior denotando maior certeza.
assertion certainty Asserções associadas à entidade extraída. As asserções são suportadas apenas para a Análise de Texto pré-criada para entidades de saúde.
nome Ibuprofen O nome normalizado para a vinculação de entidade associada à entidade extraída. A vinculação de entidade só é suportada para a Análise de Texto pré-criada para entidades de saúde.
ligações [] Uma matriz que contém todos os resultados da vinculação de entidade associada à entidade extraída. A vinculação de entidade só é suportada para a Análise de Texto pré-criada para entidades de saúde.
fonte de dados UMLS O padrão de referência resultante da ligação da entidade associada à entidade extraída. A vinculação de entidade só é suportada para a Análise de Texto pré-criada para entidades de saúde.
ID C0020740 O código de referência resultante da ligação da entidade associada à entidade extraída pertencente à fonte de dados extraída. A vinculação de entidade só é suportada para a Análise de Texto pré-criada para entidades de saúde.
relações [] Matriz contendo todas as relações extraídas. A extração de relacionamento só é suportada para a Análise de Texto pré-criada para entidades de saúde.
relationType DosageOfMedication A categoria da relação extraída. A extração de relacionamento só é suportada para a Análise de Texto pré-criada para entidades de saúde.
entidades "Dosage", "Medication" As entidades associadas à relação extraída. A extração de relacionamento só é suportada para a Análise de Texto pré-criada para entidades de saúde.

Clean up resources (Limpar recursos)

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

{Endpoint}/language/authoring/analyze-text/projects/{projectName}?api-version={API-VERSION}
Marcador de Posição valor Exemplo
{ENDPOINT} O ponto de extremidade para autenticar 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 última versão lançada. Consulte 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.

Key valor
Ocp-Apim-Subscription-Key A chave para o seu recurso. Usado para autenticar suas solicitações de API.

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

Próximos passos

Depois de criar o modelo de extração de entidade, você pode:

Quando você começar a criar sua própria Análise de Texto personalizada para projetos de saúde, use os artigos de instruções para saber mais sobre rotulagem de dados, treinamento e consumo de seu modelo com mais detalhes: