IBM Cloud Docs
Melhorando a relevância de resultados com o treinamento

Melhorando a relevância de resultados com o treinamento

A relevância dos resultados da consulta de língua natural pode ser melhorada no IBM Watson® Discovery com treinamento.

Um modelo de relevância determina os documentos mais relevantes para retornar em resultados de busca. Sem treinamento de relevância, um mecanismo padrão é usado para determinar a relevância com base em fatores comuns. Ao treinar um modelo de relevância, você ajuda Discovery a usar recursos que são exclusivos de seus documentos como ele determina a relevância.

O modelo de treinamento de relevância associado a um projeto é usado no tempo de execução somente quando as consultas de língua natural são enviadas. O modelo não é aplicado às consultas do Discovery Query Language (DQL)

Não é possível aplicar o treinamento de relevância aos tipos de projeto Content Mining.

Para treinar um modelo de relevância, você fornece consultas de linguagens naturais de amostra, submete-as a obter resultados de seus documentos e, em seguida, classificar esses resultados. À medida que você inclui mais exemplos, as informações que você fornece sobre relevância de resultado para cada consulta são usadas para aprender sobre o seu projeto. O sistema utiliza suas avaliações para atribuir importância a diferentes tipos de informações estruturais dentro dos documentos. Por exemplo, ele aprende a importância de quando uma palavra-chave a partir da consulta de pesquisa aparece no título versus o cabeçalho, body ou nos metadados do documento. Aprenda também a partir da importância da distância entre uma palavra-chave de correspondência e outra. Após uma sessão de treinamento de relevância bem-sucedida, um modelo de ranker é criado. O modelo é usado automaticamente pelo Discovery com a próxima consulta de idioma natural. A descoberta reordena os resultados do documento para que os resultados mais relevantes de acordo com o modelo de treinamento de relevância sejam exibidos primeiro.

O treinamento se aplica a um projeto inteiro. Não pode ser ignorada para uma mesma coleção e aplicada a outras coleções no mesmo projeto. Você não habilitar o uso do modelo de treinamento especificando um parâmetro de consulta. Se presente, o modelo é usado para toda consulta de idioma natural que é submetida para o projeto. O modelo é usado se você limita a busca a uma coleção ou a todas as coleções. Por esta razão, é importante que seus dados de treinamento representem consultas que provavelmente serão respondidas por todas as coleções em seu projeto. Para impedir um projeto de usar o modelo de treinamento de relevância, você pode excluir o modelo usando a API.

O treinamento de relevância não é executado continuamente. O treinamento ocorre apenas quando você o inicia. No máximo um modelo de relevância treinada é usado em um momento por projeto. Se você retreinar um modelo, o modelo existente é usado até que o novo modelo seja treinado com sucesso, no momento em que o novo modelo substitui o modelo antigo.

O conjunto de documentos que constituem os dados de formação são utilizados apenas durante o processo de formação. Se uma alteração subsequente for feita a um documento que foi usado para treinar o modelo, ele não altera o modelo treinado e não aciona uma nova sessão de treinamento. Tenha em mente que, se muitos dos documentos em seu projeto mudem, pode ser a hora de retreinar o modelo para usar os recursos a partir dos documentos atualizados.

As palavras comuns e as expansões de consulta incluídas em uma coleção não afetam diretamente o modelo de treinamento de relevância. No entanto, eles podem alterar quais documentos são retornados de uma procura, o que afeta os documentos classificados pelo modelo de relevância. O modelo classifica os 100 principais documentos retornados para uma consulta. As mudanças feitas para parar palavras ou consultar expansões não iniciam uma atualização de treinamento de relevância. Se você incluir artefatos que mudam drasticamente os documentos que são retornados pela procura, considere o treinamento do modelo novamente.

Se documentos que foram usados anteriormente para treinar o modelo forem removidos de uma coleção, você deve remover quaisquer referências a eles a partir dos dados de treinamento antes de começar a retreinar o modelo. O modelo espera que tanto os documentos e consultas de pares de dados de treinamento continuem existem. Para remover essas referências, exclua as consultas de treinamento que retornaram os documentos excluídos. Se as consultas continuarem a ser relevantes, você poderá adicioná-las de volta aos dados de treinamento e par-as com outros documentos.

Para obter mais informações sobre a API de treinamento de relevância, consulte a Documentação de referência da API.

Quando usar o treinamento de relevância

O treinamento de relevância é opcional. Teste a qualidade de seus resultados de pesquisa. Se os resultados de suas consultas atenderem às suas necessidades, não será necessário nenhum treinamento adicional.

O treinamento melhora a relevância dos documentos que são retornados em respostas de consulta. Ele não melhora as passagens ou respostas que são retornadas por documento. Se você está usando recuperação de passagem e seus resultados de teste estão retornando bons documentos, mas as passagens erradas dos documentos, o treinamento de relevância não irá ajudar.

Para obter mais informações sobre quando usar o treinamento de relevância, leia o post Treinamento de Relevância para usuários sensíveis ao tempo no Medium.

Como os campos são tratados

Ao treinar um projeto a partir da interface com o usuário do produto, os resultados são sempre obtidos do campo text dos documentos. Se seus documentos não tiverem um campo text, use a API para treinar seu projeto. Seus documentos poderão não ter um campo text se você tiver transferido por upload um arquivo CSV que não tenha uma coluna denominada textou transferido por upload um arquivo JSON que não tenha um objeto denominado textou se você tiver usado a ferramenta Smart Document Understanding para definir campos com outros nomes nos quais a maior parte do conteúdo de seus documentos agora está armazenado.

Quando você treina um projeto a partir da API, os resultados são obtidos de todos os campos de nível raiz e todos eles são considerados como tendo significado igual. Ao contrário das consultas do Discovery Query Language, com consultas de linguagem natural você não pode especificar quais campos do documento você se importa ou o quanto de significância para dar a cada um. Quando você ensina Discovery com exemplos, o serviço figura para você quanto peso para dar a cada campo.

A descoberta constrói um modelo que atribui pesos diferentes ao termo, bigram e correspondências de pulo de pulo para cada um dos campos de nível raiz e os equilibra contra correspondências de todos os outros campos de documentos. Com exemplos suficientes, Discovery pode retornar melhores respostas porque sabe onde as melhores respostas são tipicamente armazenadas.

O treinamento de relevância não pode ser usado para dar mais peso aos campos aninhados. Os campos aninhados são agrupados e atribuem uma pontuação geral. Não importa o quanto você treine, Discovery nunca dá um campo aninhado mais peso do que ele dá para um campo de nível de raiz. Para obter mais informações sobre os campos aninhados, consulte o FAQ.

Treinamento de um projeto

Os dados de treinamento que são utilizados para treinar o modelo de relevância incluem essas partes:

  • Uma consulta de idioma natural que é representativa de uma consulta que seus usuários podem enviar
  • Resultados da consulta que são retornados pelo serviço
  • A classificação que você aplica ao resultado que indica se o resultado é relevant ou not relevant

Para aplicar o treinamento de relevância em um projeto, conclua as seguintes etapas:

  1. Acesse a página Improvar e customizar. No painel Ferramentas de melhoria, selecione Melhorar a relevância, em seguida, Treinamento de relevância.

  2. Digite uma consulta de linguagem natural no campo Digite uma pergunta para treinar.

    Não inclua um ponto de interrogação em sua consulta. Use a mesma formulação que seus usuários. Por exemplo, IBM Watson in healthcare. Escreva consultas que incluem alguns dos termos que são mencionados na resposta de destino. A sobreposição de termos melhora os resultados iniciais quando a consulta em linguagem natural é avaliada.

  3. Clique em Incluir +.

  4. Clique em Resultados da taxa.

  5. Depois que os resultados forem exibidos, avalie cada resultado e, em seguida, selecione Relevante ou Não relevante, qualquer que seja a opção aplicada dada a qualidade do resultado.

    Na IU do Discovery, ao marcar um documento como Relevante, o serviço aplica uma pontuação de relevância de 10 ao resultado e uma pontuação de 0 ao marcá-lo como Não relevante. Os dois únicos valores de pontuação que podem ser designados ao aplicar o treinamento de relevância por meio da UI do Discovery são 0 e 10.

    Na API Discovery, é possível designar valores de pontuação de relevância entre 0 e cada número inteiro entre até 100. No mesmo projeto, não é possível combinar exemplos de treinamento criados na UI do Discovery (pontuações de 0 e 10) com exemplos criados que usam níveis de pontuação de confiança diferentes de 0 e 10. Se você usar qualquer escala de pontuação customizada por meio da API, deverá continuar a aplicar todo o seu treinamento por meio da API. Não é possível editar os exemplos de treinamento que são aplicados por meio da API na UI do Discovery, a menos que eles usem apenas as duas pontuações de 0 e 10.

    Se o resultado mostrar a mensagem, "Nenhuma visualização de conteúdo disponível para este documento", isso significa que o documento retornado não contém um campo text ou que seu campo text está vazio. Se nenhum dos documentos em sua coleção tiver um campo text, use a API para treinar o projeto em vez de treiná-lo na interface com o usuário do produto.

  6. Quando terminar, clique em Back to queries (Voltar para consultas ).

  7. Continue incluindo consultas e classificando-as.

    À medida que você taxa resultados, seu progresso é mostrado. Verifique seu progresso para ver quando as informações de classificação suficientes estão disponíveis para atender às necessidades de limite de treinamento. Seu progresso é quebrado nas seguintes tarefas:

    • Inclua mais consultas
    • Classifique mais resultados
    • Inclua mais variedade em suas classificações

    Você deve avaliar pelo menos 50 consultas exclusivas, talvez mais, dependendo da complexidade de seus dados. Não é possível adicionar mais de 10.000 consultas de treinamento.

  8. Você pode continuar adicionando consultas e classificando os resultados depois de atingir o limite. Insira todas as consultas que você acha que seus usuários irão pedir.

    Para excluir uma consulta de treinamento, clique no ícone Excluir. Para excluir todas as consultas de treinamento em sua coleção de uma vez, use a API. Para obter mais informações, consulte Excluir consultas de treinamento.

Se dois ou mais usuários tentem treinar consultas idênticas ao mesmo tempo, as classificações que são submetidas por um dos usuários sobrescrevem as demais.

Testando e iterando na relevância dos resultados

Quando for feito resultados de classificação, e o treinamento for concluído, teste para ver se os seus resultados de consulta estão melhores. Para isso, execute consultas de linguagem natural de teste que sejam relacionadas (mas não idênticas) às consultas de treinamento. Revise os resultados.

Se você deseja continuar a melhorar os resultados após o teste, você pode:

  • Incluir mais documentos em sua coleção.
  • Incluir mais consultas de treinamento.
  • Classificar mais resultados, certificando-se de utilizar as classificações Relevant e Not relevant.

Pontuações de confiança

O Discovery retorna uma pontuação de confidence para consultas de língua natural de coleções treinadas. Essa pontuação confidence não é intercambiável com as pontuações confidence que são retornadas por coleções não treinadas.

A pontuação de confidence pode variar de 0.0 a 1.0. Quanto maior o número, mais relevante o resultado.

A pontuação de confidence pode ser localizada nos resultados da consulta em result_metadata para cada documento. Esse número é calculado com base na estimativa de relevância do resultado, em comparação com o modelo treinado.

{
  "matching_results": 4,
  "retrieval_details": {
    "document_retrieval_strategy": "trained"
  },
  "results": [
    {
	  "id": "eea16dfd5fe6139a25324e7481a32f89_13",
	  "result_metadata": {
	    "confidence": 0.08793
	  }
    }
  ]
}

A document_retrieval_strategy pode ser localizada em retrieval_details. Se você consultar uma coleção treinada usando a Discovery Query Language, ou se o modelo treinado estiver temporariamente desativado, o document_retrieval_strategy será untrained.

Para obter mais informações sobre a consulta de um projeto, consulte a visão geral da consulta.

Limites de formação de relevância

Os limites a seguir se aplicam aos modelos de treinamento de relevância:

  • Um modelo por projeto
  • 10.000 consultas por modelo
  • 40 modelos por instância de serviço para planos Enterprise e Premium; 20 modelos para instâncias de plano Plus

Executando sessões de treinamento ideais

O exemplo a seguir descreve como executar sessões para treinamento de relevância em projetos.

Considere que você incluiu 100 consultas de treinamento em um novo projeto e Discovery executa 100 consultas em uma sessão de treinamento para criar um modelo de classificador. Posteriormente, se você incluir outras 20 consultas, o modelo começará a treinar novamente e o Discovery executará um total de 120 consultas. No entanto, para incluir as últimas 20 consultas, se você incluir 10 consultas primeiro, aguarde uma hora ou mais e, em seguida, inclua as próximas 10 consultas, Discovery treina o modelo duas vezes. Nesse caso, a primeira sessão de treinamento executa 110 consultas e a segunda sessão de treinamento executa 120 consultas. Essa maneira de incluir consultas, intercaladas entre intervalos de tempo, resulta em um número maior de sessões de treinamento e consultas totais executadas pelo Discovery.

Em vez disso, para minimizar o número de sessões de treinamento, é possível usar a API Atualizar uma consulta de treinamento. O método da API atualiza os dados de treinamento para várias coleções sob um projeto de uma vez Para obter mais informações, consulte Atualizar uma consulta de treinamento na referência da API..

Para reduzir a carga de processamento no Discovery, é necessário criar ou atualizar um modelo de classificador por meio do treinamento de relevância após todas as coleções em um projeto terem concluído o processamento de documentos. Além disso, durante o processo de treinamento de modelo do classificador, você deve ter atividades de consulta baixas para que o limite de solicitações simultâneas não seja excedido

Outras formas de melhorar a relevância

Se você preferir usar a API Discovery para treinar Discovery, consulte a referência da API.

Você também pode usar a API para adicionar curações. Curations é um recurso beta que você pode usar para ensinar Discovery para retornar um documento específico toda vez que uma determinada consulta for submetida. Para obter mais informações, consulte Curadorias.

A inclusão de uma lista de palavras vazias customizadas também pode melhorar a relevância dos resultados para consultas de língua natural. Para obter mais informações, consulte Identificando palavras para ignorar.

Entendendo o treinamento de relevância

Respostas a perguntas comuns sobre o treinamento de um projeto.

Como posso saber se meu sistema está treinado?

Execute uma consulta de língua natural e verifique a document_retrieval_strategy. Consulte pontuações de confiança.

Se você estiver usando a API, veja Lista de consultas de treinamento.

Quanto tempo leva para treinar um modelo?

Ele pode levar entre 45 minutes minutos a uma hora para o treinamento terminar. A duração do treinamento difere dependendo da quantidade e da variedade dos dados que são utilizados para treinar o modelo de relevância. Também, o treinamento ocorre de forma assíncrona. Ele pode ser adiado se outros dados de que ele precisa estão indisponíveis porque ele está sendo procurado ou processado de alguma outra maneira.

Como parar o treinamento de relevância de ser aplicado no meu projeto?

Use a API para excluir o modelo de relevância que está associado ao seu projeto. Para excluir o modelo, você exclui que os dados de treinamento são associados ao modelo do ranker. Para obter mais informações, consulte Deletando consultas de treinamento.

O treinamento de relevância treinamento de passagem de impacto?

Nº O treinamento de relevância é usado apenas para pesquisa de documentos. Ele não tem impacto na busca de passagem.

A relevância do treinamento de relevância está encontrando?

Não diretamente. O treinamento de relevância indiretamente impacta a constatação de resposta porque altera a ordem dos documentos a partir dos quais as respostas são recuperadas. Ele alude os documentos devolvidos da maioria para menos relevantes.

Como verificar erros e avisos?

Abra a página Gerenciar coleções. Escolha sua coleção e, em seguida, abra a guia Atividade.

Como interpreto a pontuação de confiança que aparece nos resultados da consulta em linguagem natural após o treinamento?

Consulte pontuações de confiança.

Interpretando erros e avisos de treinamento de relevância

A lista a seguir tem explicações para alguns erros comuns e mensagens de aviso.

A mensagem Watson começará a aprender em breve é exibida por um longo período ao criar um modelo de classificação

Esse problema poderá ocorrer se o número total de modelos de classificadores existentes tiver atingido o limite de 40 modelos. Nesse caso, um novo modelo não é criado e a mensagem Watson começará a aprender em breve é exibida na interface do usuário por um longo período.

Para resolver esse problema, é possível excluir modelos antigos do classificador de projetos não utilizados ou entrar em contato com o suporte IBM para fazer upgrade para uma instância premium.

Aviso: Invalid training data found: The document was not returned in the top 100 search results for the given query, and will not be used for training

Este aviso ocorre quando o document_ids em seus dados de treinamento não correspondem ao document_ids em uma pesquisa realizada contra a coleta. Verifique suas consultas para ter certeza de que o endereço document_id do documento que você está classificando é retornado nos 100 principais resultados para essa consulta. Caso contrário, talvez você queira verificar duas coisas:

  • Se o documento não for devolvido no top 100, pode não ser um exemplo de resultado de alta qualidade. Reavaliar se deve usar o documento.
  • Se o documento não for retornado, analise por que ele não foi retornado e verifique se algum texto do documento corresponde a partes da consulta.

Esse aviso indica que é possível que haja uma ou mais consultas com falha. Não quer dizer que o treinamento não possa ser concluído.

Erro: Invalid training data found: Syntax error when parsing query

Um erro de sintaxe significa que a consulta é inválida. Erros de sintaxe podem ocorrer quando você aumenta a complexidade da consulta, adicionando um filtro à consulta de linguagem natural, por exemplo. Execute a consulta contra a coleção fora do treinamento de relevância usando a API. Depois de confirmar que a consulta é válida e retorna resultados, é possível adicioná-la como uma consulta de treinamento de relevância.

Erro: Training data quality standards not met: You will need additional training queries with labeled examples. (To be considered for training, each example must appear in the top 100 search results for its query.)

Você precisa adicionar mais dados de treinamento para treinar com sucesso. São necessárias pelo menos 49 consultas de treinamento exclusivas e cada uma precisa de pelo menos um documento classificado. Mínimo não significa ótimo; o tamanho da coleção e outros fatores podem aumentar o número de exemplos de treinamento necessários para atingir o mínimo.

Erro: Training data quality standards not met: Insufficient number of unique training queries. Expected at least n, but found m.

Para atender aos requisitos mínimos de treinamento, você precisa de pelo menos 50 consultas de treinamento exclusivas, e cada consulta deve ter pelo menos um documento avaliado. Se você tiver mais consultas do que o mínimo e ainda estiver recebendo essa mensagem de erro, verifique se há outros erros em seus avisos.

Erro: Training data quality standards not met: No documents found with non-zero relevance labels.

Os dados de treinamento precisam de dados rotulados suficientes que especifiquem quais documentos são de valor alto. Portanto, você precisa classificar alguns documentos com valores diferentes de zero. É necessário classificar alguns documentos como Relevant e alguns como Not relevant. Pelo menos um documento deve ser classificado como Relevant.

Erro: Training data quality standards not met: Training examples have no relevance label variety for X queries.

Um dos requisitos para treinamento é ter uma diversidade de rótulo suficiente. Pelo menos 25% das consultas de treinamento devem incluir etiquetas Relevant e Not relevant. Se você usar a API, pelo menos 25% das consultas devem incluir duas etiquetas numéricas diferentes.