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:
- Portal do Azure, usando o designer de índice para adicionar uma configuração semântica.
- Visual Studio Code com um cliente REST
- SDK do Azure para .NET
- SDK do Azure para Python
- SDK do Azure para Java
- SDK do Azure para JavaScript
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
eretrievable
- Cadeias de caracteres do tipo
Edm.String
,Collection(Edm.String)
, subcampos da cadeia de caracteres deEdm.ComplexType
Entre no portal do Azure e navegue até um serviço de pesquisa que tenha a classificação semântica habilitada.
Em Índices no painel de navegação à esquerda, abra um índice.
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.
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:
- 2024-07-01 (REST)
- Log de alterações do SDK do Azure para .NET (11.5)
- Log de alterações do SDK do Azure para Python (11.4)
- Log de alterações do SDK do Azure para Java (11.6)
- Log de alterações do SDK do Azure para JavaScript (12.0)
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.