Configurar classificação semântica e retornar legendas nos resultados da pesquisa
Neste artigo, saiba como invocar uma classificação semântica sobre um conjunto de resultados, promovendo os resultados semanticamente mais relevantes para o topo 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 Basic, Standard (S1, S2, S3) ou Storage Optimized (L1, L2), sujeito à disponibilidade da região.
Classificador semântico ativado no seu serviço de pesquisa.
Um índice de pesquisa existente com conteúdo 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.
Escolha um cliente
Escolha um cliente de pesquisa que suporte a classificação semântica. Seguem-se algumas opções:
- Portal do Azure, usando o designer de índice para adicionar uma configuração semântica.
- Código do Visual Studio com o cliente REST
- Azure SDK for .NET (Azure SDK para .NET)
- Azure SDK for Python (Azure SDK 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 em seu í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 necessidade de reconstrução. 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-a em branco para usar o padrão.
Uma configuração semântica tem um nome e as seguintes propriedades:
Property | Características |
---|---|
Campo Título | Uma corda curta, idealmente com menos de 25 palavras. Este campo pode ser o título de um documento, o nome de um produto ou um identificador único. Se não tiver um campo adequado, deixe-o em branco. |
Campos de conteúdo | Blocos mais longos de texto em linguagem natural, sujeitos a limites máximos de entrada de token nos modelos de aprendizado de máquina. Exemplos comuns incluem o corpo de um documento, a descrição de um produto ou outro texto de forma livre. |
Campos de palavras-chave | Uma lista de palavras-chave, como as tags 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 quiser. Para campos de conteúdo e palavra-chave, liste os campos em ordem de prioridade porque os campos de prioridade mais baixa podem ficar truncados.
Em todas as propriedades de configuração semântica, os campos atribuídos devem ser:
- Atribuído como
searchable
eretrievable
- Strings do tipo
Edm.String
,Collection(Edm.String)
, subcampos de string deCollection(Edm.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 esquerdo, 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. Apenas campos de string pesquisáveis e recuperáveis são elegíveis. Certifique-se de listar campos de conteúdo e campos de palavras-chave em ordem de prioridade.
Selecione OK para salvar as alterações.
Migrar a partir de versões de pré-visualização
Se o seu código de classificação semântica estiver usando APIs de visualização, esta seção explica como migrar para versões estáveis. Você pode verificar os logs de alterações para verificar a disponibilidade geral:
- 2023-11-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)
Mudanças de comportamento:
A partir de 14 de julho de 2023, o ranker semântico é agnóstico de linguagem. Pode reclassificar resultados compostos por conteúdos multilingues, sem preconceitos para uma língua específica. Nas versões de visualização, a classificação semântica despriorizaria 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 SDK destinados à 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 e priorização de campo. Esta abordagem só funcionou em 2020-06-30-Preview e está obsoleta em todas as outras versões.
Etapa 1: Remover queryLanguage
O motor de classificação semântica é agora agnóstico em relação à linguagem. Se queryLanguage
for especificado na lógica da consulta, ele não será mais usado para classificação semântica, mas ainda se aplicará à correção ortográfica.
Mantenha queryLanguage
se estiver a utilizar o corretor ortográfico e se o valor do idioma for suportado pelo corretor ortográfico. A verificação ortográfica tem disponibilidade limitada em todos os idiomas.
Caso contrário, exclua queryLanguage
.
Passo 2: Substitua searchFields
por semanticConfiguration
Se o seu código chamar a API REST 2020-06-30-Preview ou pacotes SDK beta 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 dupla finalidade, restringindo a consulta inicial aos campos listados em 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 estiver usando-o 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óximos passos
Teste sua configuração semântica executando uma consulta semântica.