Busca Semântica
O LumisXP utiliza, por padrão, um mecanismo de busca por palavras-chave. A busca por palavras-chave tenta extrair as raízes das palavras relevantes
digitadas pelo usuário para encontrar conteúdos que contenham palavras com as mesmas raízes das buscadas.
Já a busca semântica, por sua vez, utiliza
embeddings
dos textos extraídos dos conteúdos ao serem cadastrados no CMS do LumisXP e das palavras digitadas pelo usuário ao efetuar uma
busca para encontrar similaridades por semântica.
Abaixo são explicadas as configurações relacionadas à busca semântica e como cada uma delas influencia tanto na fase de indexação
de conteúdo quanto na fase de busca.
Configurações:
Quando a configuração global de integração com a Inteligência Artificial está habilitada,
a busca do LumisXP pode ser feita, além das palavras-chave, usando a semântica das palavras buscadas.
Para que isso seja possível, os seguintes campos da configuração global precisam ser configurados:
- Chave da API
- Modelo de IA para cálculo de embeddings
- Tamanho do bloco para cálculo de embeddings (caracteres)
- Habilitar cálculo de embeddings na indexação para busca
Além desses campos, há ainda o campo Habilitar cálculo de embeddings na indexação para busca de conteúdos privados, que não é necessário para o uso da busca semântica do LumisXP, mas influencia no comportamento da busca semântica. A utilização desse campo também será explicada mais abaixo.
Essas configurações são globais para todo o cluster do LumisXP.
Além das configurações globais, há configurações
em nível da instância de serviço de busca.
Essas configurações são:
- Número de resultados obtidos na busca semântica
- Peso da semântica no cálculo da relevância
- Similaridade mínima
Abaixo será explicado como cada uma dessas configurações afeta a busca semântica do LumisXP.
Definição se a Inteligência Artificial está habilitada para uma determinada instância de serviço:
Uma instância de serviço de busca está com a Inteligência Artificial habilitada
se as condições abaixo estão satisfeitas:
- A Chave da API está definida.
- O Modelo de IA para cálculo de embeddings está definido.
- A opção Habilitar cálculo de embeddings na indexação para busca está ligada.
-
A instância de serviço não tem uma property bag
lumis.portal.ai.enabled
definida (ou ela está definida com o valortrue
). - A instância de serviço tem a busca habilitada.
Definição de um conteúdo público:
Um conteúdo público é aquele que está publicado para o grupo
Todos os Usuários
.
Definição de uma instância de serviço pública:
Uma instância de serviço pública é aquela na qual o grupo Todos os Usuários
possui permissão de visualização.
Fase de indexação de conteúdos:
Ao criar ou atualizar um conteúdo em uma instância de serviço usando o CMS do LumisXP (ou até quando se utiliza a ferramenta de
Reindexação de Conteúdos), os
embeddings
do conteúdo serão gerados e armazenados no Repositório de Big Data
se:
- A instância de serviço tem a Inteligência Artificial habilitada.
- O conteúdo sendo cadastrado ou atualizado é um conteúdo público.
- A instância de serviço é uma instância de serviço pública.
Caso a instância de serviço tenha a Inteligência Artificial habilitada, mas o conteúdo sendo cadastrado ou atualizado não é um conteúdo público, ou a instância de serviço não é uma instância de serviço pública, os embeddings do conteúdo serão gerados e armazenados no Repositório de Big Data se a opção Habilitar cálculo de embeddings na indexação para busca de conteúdos privados estiver ligada.
Fase de busca:
Quando um usuário efetua uma busca, usando uma instância do serviço de Busca (seja via interfaces de usuário — Busca
e Busca com Resultados —, ou seja, via interfaces REST — search e headlessSearch —), caso
o Número de resultados obtidos na busca semântica e o
Peso da semântica no cálculo da relevância sejam maiores que zero,
os resultados da busca por palavras-chave (quantos resultados houverem) e da busca semântica (limitado a
Número de resultados obtidos na busca semântica resultados cuja similaridade seja no mínimo
Similaridade mínima) serão combinados e os resultados terão seu peso calculado.
Os pesos dos resultados serão a soma do peso por palavras-chave e do peso da semântica.
Os pesos de cada resultado serão multiplicados por:
- Peso da semântica no cálculo da relevância, para o peso semântico.
- 1 - Peso da semântica no cálculo da relevância, para o peso de palavras-chave.
Uma vez ordenados os resultados (imaginando que a ordenação padrão está sendo utilizada — no caso, ordenação por relevância), os resultados mais relevantes são os primeiros a serem exibidos nos resultados.
Ou seja, caso o Peso da semântica no cálculo da relevância seja configurado como
0
, somente a busca por palavras-chave será levada em conta.
Se o Peso da semântica no cálculo da relevância seja configurado como 1
,
a busca por palavras-chave será desconsiderada e a busca semântica será levada em conta.
Valores intermediários de Peso da semântica no cálculo da relevância fazem
com que ambas as buscas sejam consideradas.