Configurar a classificação semântica e retornar legendas nos resultados da pesquisa

Este artigo explica como configurar um índice de pesquisa para a reclassificação semântica.

A classificação semântica itera em um conjunto de resultados inicial, aplicando uma metodologia de classificação L2 que promove os resultados mais relevantes do ponto de vista semântico à parte superior da pilha. Você também pode obter legendas semânticas, com destaques sobre os termos e frases mais relevantes e respostas semânticas.

Pré-requisitos

  • Um serviço de pesquisa em uma camada básica ou superior, sujeito à disponibilidade de região.

  • Classificação semântica habilitada em seu serviço de pesquisa.

  • Um índice de pesquisa existente com conteúdo de rich text. A classificação semântica aplica-se a campos de cadeias de caracteres (não vetores) e funciona melhor em conteúdo informativo ou descritivo.

Selecione um cliente

Você pode usar qualquer uma das seguintes ferramentas e SDKs para adicionar uma configuração semântica:

Adicionar uma configuração semântica

Uma configuração semântica é uma seção no índice que estabelece entradas de campo para classificação semântica. Você pode adicionar ou atualizar uma configuração semântica a qualquer momento, sem a necessidade de recompilar. Se você criar várias configurações, poderá especificar um padrão. No momento da consulta, especifique uma configuração semântica em uma solicitação de consulta ou deixe em branco para usar o padrão.

Uma configuração semântica tem um nome e as seguintes propriedades:

Propriedade Características
Campo de título Uma cadeia de caracteres curta, o ideal é menos de 25 palavras. Esse campo pode ser o título de um documento, nome de um produto ou um identificador exclusivo. Se você não tiver um campo adequado, deixe em branco.
Campos de conteúdo Partes mais longas de texto no formato de linguagem natural, sujeitas aos limites máximos de entrada de token nos modelos de machine learning. Os exemplos comuns incluem o corpo de um documento, a descrição de um produto ou outro texto de forma livre.
Campos de palavra-chave Uma lista de palavras-chave, como as marcas em um documento, ou um termo descritivo, como a categoria de um item.

Você só pode especificar um campo de título, mas pode ter quantos campos de conteúdo e palavra-chave desejar. Para o conteúdo e os campos de palavra-chave, liste os campos em ordem de prioridade, pois os campos de prioridade mais baixa podem ficar truncados.

Em todas as propriedades de configuração semântica, os campos que você atribuir devem ser:

  • Atribuídos como searchable e retrievable
  • Cadeias de caracteres do tipo Edm.String, Collection(Edm.String), subcampos da cadeia de caracteres de Edm.ComplexType
  1. Entre no portal do Azure e navegue até um serviço de pesquisa que tenha a classificação semântica habilitada.

  2. Em Índices no painel de navegação à esquerda, abra um índice.

  3. Selecione Configurações Semânticas e, em seguida, selecione Adicionar Configuração Semântica.

    A página Nova Configuração Semântica é aberta com opções para selecionar um campo de título, campos de conteúdo e campos de palavra-chave. Somente campos de cadeia de caracteres pesquisáveis e recuperáveis são qualificados. Certifique-se de listar campos de conteúdo e campos de palavra-chave em ordem de prioridade.

    Captura de tela que mostra como criar uma configuração semântica no portal do Azure.

    Selecione Ok para salvar as alterações.

Migrar das versões anteriores

Se o código de classificação semântica estiver usando APIs de visualização, esta seção explicará como migrar para versões estáveis. Você pode verificar os logs de alterações para verificar a disponibilidade geral:

Alterações de comportamento:

  • A partir de 14 de julho de 2023, a classificação semântica é independente da linguagem. Ela pode reclassificar os resultados compostos de conteúdo multilíngue, sem viés em relação a uma linguagem específica. Nas versões prévias, a classificação semântica desprioriza os resultados diferentes da linguagem especificada pelo analisador de campo.

  • Em 2021-04-30-Preview e todas as versões posteriores, para a API REST e todos os pacotes do SDK direcionados à mesma versão: semanticConfiguration (em uma definição de índice) define quais campos de pesquisa são usados na classificação semântica. Anteriormente, na API REST 2020-06-30-Preview, searchFields (em uma solicitação de consulta) foi usado para especificação de campo e priorização. Essa abordagem só funcionou na versão 2020-06-30-Preview e está obsoleta em todas as outras versões.

Etapa 1: remover queryLanguage

O mecanismo de classificação semântica agora é independente da linguagem. Se queryLanguage for especificado na lógica de consulta, ele não será mais usado para classificação semântica, mas ainda se aplicará à correção ortográfica.

Mantenha queryLanguage se você estiver usando o verificador ortográfico e se o valor do idioma for compatível com o verificador ortográfico. A verificação ortográfica tem disponibilidade limitada entre idiomas.

Caso contrário, exclua queryLanguage.

Etapa 2: substitua searchFields por semanticConfiguration

Se o código chamar a API REST 2020-06-30-Preview ou pacotes beta do SDK direcionados a essa versão da API REST, você pode estar usando searchFields em uma solicitação de consulta para especificar campos semânticos e prioridades. Nas versões beta iniciais, searchFields tinha uma finalidade dupla, restringindo a consulta inicial aos campos listados searchFields e também definindo a prioridade do campo se a classificação semântica fosse usada. Em versões posteriores, searchFields mantém sua finalidade original, mas não é mais usado para classificação semântica.

Mantenha searchFields em solicitações de consulta se você estiver usando-a para limitar a pesquisa de texto completo à lista de campos nomeados.

Adicione um semanticConfiguration a um esquema de índice para especificar a priorização de campo, seguindo as instruções neste artigo.

Próximas etapas

Teste sua configuração semântica executando uma consulta semântica.