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

Neste artigo, aprenda a invocar uma classificação semântica em um conjunto de resultados, promovendo os resultados semanticamente mais relevantes para a 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 na camada Básica, Standard (S1, S2, S3) ou Otimizada para Armazenamento (L1, L2), sujeito à disponibilidade regional.

  • 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 texto (não vetoriais) e funciona melhor em conteúdo informativo ou descritivo.

Selecione um cliente

Escolha um cliente de pesquisa que dê suporte à classificação semântica. Estas são algumas opções:

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 Collection(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.

    Screenshot that shows how to create a semantic configuration in the Azure portal.

    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.