Classificação semântica no Azure AI Search

No Azure AI Search, classificação semântica melhora mensuravelmente a relevância da pesquisa usando a compreensão da linguagem para reduzir os resultados da pesquisa. Este artigo é uma introdução de alto nível. A seção no final aborda a disponibilidade e os preços.

O classificador semântico é um recurso Premium cobrado pelo uso. Recomendamos este artigo para obter informações, mas se você preferir começar já, siga estas etapas:

Observação

A classificação semântica não usa IA generativa ou vetores. Se você está procurando suporte de vetor e pesquisa de similaridade? Confira Busca em vetores no Azure AI Search para obter detalhes.

O que é a classificação semântica?

O classificador semântico é uma coleção de funcionalidades relacionadas à consulta que melhoram a qualidade de um resultado de pesquisa inicial com classificador BM25 ou com classificador RRF, para consultas baseadas em texto. Quando habilitada no serviço de pesquisa, a classificação semântica estende o pipeline de execução de consulta de duas maneiras:

  • Primeiro, ela adiciona a classificação secundária sobre um conjunto de resultados iniciais que foi pontuado usando BM25 ou RRF. Esta classificação secundária usa modelos de aprendizado detalhados e multilíngues adaptados do Microsoft Bing para promover os resultados mais semanticamente relevantes.

  • Em segundo lugar, ele extrai e retorna legendas e itens na resposta, que você pode renderizar em uma página de pesquisa para melhorar a experiência de pesquisa do usuário.

Aqui estão os recursos do reclassificador semântico.

Recurso Descrição
Classificação semântica Usa o contexto ou o significado semântico de uma consulta para calcular uma nova pontuação de relevância sobre os resultados pré-classificados.
Legendas semânticas e destaques Extrai orações e frases verbatim de um documento que resumem o conteúdo, com destaques em passagens importantes para facilitar a verificação. As legendas que resumem um resultado são úteis quando campos de conteúdo individuais são muito densos para a página de resultados da pesquisa. O texto realçado destaca os termos e frases mais relevantes para que os usuários possam determinar rapidamente por que uma correspondência foi considerada relevante.
Respostas semânticas Uma subestrutura opcional e adicional retornada de uma consulta semântica. Ela oferece uma resposta direta para uma consulta que se parece com uma pergunta. Ela requer que um documento tenha um texto com as características de uma resposta.

Como funciona o classificador semântico

A classificação semântica alimenta uma consulta e resultados para modelos de reconhecimento de linguagem hospedados pela Microsoft e verifica se há melhores correspondências.

A ilustração a seguir explica o conceito. Considere o termo "capital". Tem significados diferentes dependendo de se o contexto é sobre finanças, direito, geografia ou gramática. Por meio do reconhecimento de linguagem, o classificador semântico pode detectar o contexto e promover resultados que se ajustem à intenção de consulta.

Illustration of vector representation for context.

A classificação semântica é demorada tando em recurso quanto em tempo. Para concluir o processamento dentro da latência esperada de uma operação de consulta, as entradas para o classificador semântico são consolidadas e reduzidas para que a etapa de reclassificação possa ser concluída o mais rápido possível.

Há duas etapas para a classificação semântica: resumo e pontuação. As saídas consistem em resultados, legendas e respostas com uma nova pontuação.

Como as entradas são coletadas e resumidas

Na classificação semântica, o subsistema de consulta passa os resultados da pesquisa como uma entrada para resumir e classificar modelos. Como os modelos de classificação têm restrições de tamanho de entrada e exigem muito processamento, os resultados da pesquisa devem ser dimensionados e estruturados (resumidos) para fins de manipulação eficiente.

  1. A classificação semântica começa com um resultado com classificação BM25 de uma consulta de texto ou um resultado com classificação RRF de uma consulta híbrida. Somente os campos de texto são usados no exercício de reclassificação e apenas os 50 principais resultados avançam para a classificação semântica, mesmo que os resultados incluam mais de 50. Normalmente, os campos usados na classificação semântica são informativos e descritivos.

  2. Para cada documento no resultado da pesquisa, o modelo de resumo aceita até 2.000 tokens, em que um token tem aproximadamente 10 caracteres. As entradas são montadas a partir dos campos "title", "keyword" e "content" listados na configuração semântica.

  3. Aas cadeias de caracteres excessivamente longas são cortadas para garantir que o comprimento geral atenda aos requisitos de entrada da etapa de resumo. Esse exercício de corte é o motivo pelo qual é importante adicionar campos à sua configuração semântica em ordem de prioridade. Se você tiver documentos muito grandes com campos cheios de texto, qualquer coisa além do limite máximo será ignorada.

    Campo semântico Limite de token
    "title" 128 tokens
    "keywords" 128 tokens
    "content" tokens restantes
  4. A saída de resumo é uma cadeia de caracteres de resumo para cada documento, composta pelas informações mais relevantes de cada campo. As cadeias de caracteres de resumo são enviadas ao classificador para pontuação e para modelos de compreensão de leitura de computador para legendas e respostas.

    O comprimento máximo de cada cadeia de caracteres de resumo gerada passada para o classificador semântico é de 256 tokens.

Saídas de classificador semântico

Em cada cadeia de caracteres de resumo, os modelos de compreensão de leitura do computador encontram passagens que são as mais representativas.

As saídas são:

  • Uma legenda semântica para o documento. Cada legenda está disponível em uma versão de texto sem formatação e uma versão realçada, e ela geralmente tem menos de 200 palavras por documento.

  • Uma resposta semântica opcional, supondo que você especificou o parâmetro answers, a consulta foi colocada como uma pergunta e uma passagem é encontrada na cadeia de caracteres longa que fornece uma resposta provável para a pergunta.

As legendas e respostas são sempre textos verbatim do índice. Não há modelos de IA generativa neste fluxo de trabalho que crie ou componha o novo conteúdo.

Como os resumos são pontuados

A pontuação é feita na legenda e qualquer outro conteúdo da cadeia de caracteres de resumo que preenche o comprimento do token 256.

  1. As legendas são avaliadas quanto à relevância conceitual e semântica, em relação à consulta fornecida.

  2. O @search.rerankerScore é atribuído para cada documento com base na relevância semântica do documento para a consulta determinada. As pontuações variam de 4 a 0 (alta a baixa), em que uma pontuação mais alta indica maior relevância.

  3. As correspondências são listadas em ordem decrescente por pontuação e incluídos no conteúdo da resposta da consulta. O conteúdo inclui respostas, texto sem formatação, legendas realçadas e todos os campos marcados como recuperáveis ou especificados em uma cláusula SELECT.

Observação

A partir de 14 de julho de 2023, a distribuição de @search.rerankerScore será alterada. O efeito nas pontuações não pode ser determinado, exceto por meio de testes. Se você tiver uma dependência de limite rígido nessa propriedade de resposta, execute novamente os testes para entender quais devem ser os novos valores para o limite.

Funcionalidades semânticas e limitações

O classificador semântico é uma tecnologia mais nova, portanto, é importante definir expectativas sobre o que ela pode ou não fazer. O que pode fazer:

  • Promover as correspondências semanticamente mais próximas da intenção da consulta original.

  • Encontrar cadeias de caracteres a serem usadas como legendas e respostas. As legendas e respostas são retornadas na resposta e podem ser renderizadas em uma página de resultados da pesquisa.

A classificação semântica não pode executar novamente a consulta em todo o corpus para localizar resultados semanticamente relevantes. A classificação semântica reclassifica o conjunto de resultados existentes, que consiste nos primeiros 50 resultados, conforme pontuado pelo algoritmo de classificação padrão. Além disso, a classificação semântica não pode criar novas informações ou cadeias de caracteres. As legendas e as respostas são extraídas literalmente do seu conteúdo. Portanto, se os resultados não incluírem textos de resposta, os modelos de idioma não produzirão um texto de resposta.

Embora a classificação semântica não seja benéfica em todos os cenários, alguns conteúdos podem ter grandes benefícios com os seus recursos. Os modelos de linguagem na classificação semântica funcionam melhor em conteúdo pesquisável, que é rico em informações e estruturado como o Prose. Uma base de dados de conhecimento, uma documentação online ou documentos que contêm conteúdo descritivo obtêm mais vantagens com os recursos de classificação semântica.

A tecnologia subjacente é do Bing e do Microsoft Research e se integra à infraestrutura do Azure AI Search como um recurso complementar. Para obter mais informações sobre os investimentos de pesquisa e de IA que apoiam a classificação semântica, confira Como a IA do Bing está capacitando o Azure AI Search (blog Microsoft Research).

O seguinte vídeo apresenta uma visão geral dos recursos.

Disponibilidade e preços

O classificador semântico está disponível nos serviços de pesquisa nas camadas Básica e superior, sujeita à disponibilidade regional.

Ao habilitar o classificador semântico, escolha um plano de preços para o recurso:

  • Em volumes de consulta inferiores (menos de 1000 mensais), a classificação semântica é gratuita.
  • Em volumes de consulta mais altos, escolha o plano de preços padrão.

A página de preços do Azure AI Search mostra a taxa de cobrança em diferentes moedas e intervalos.

Os encargos da classificação semântica são cobrados quando as solicitações de consulta incluírem queryType=semantic e a cadeia de caracteres de pesquisa não estiver vazia (por exemplo, search=pet friendly hotels in New York). Se a cadeia de caracteres de pesquisa estiver vazia (search=*), você não será cobrado, mesmo que o queryType esteja definido como semantic.

Confira também