Em muitas aplicações empresariais 4D, os documentos são tudo – notas técnicas, relatórios, manuais, guias internos. Mas quando os usuários não conseguem lembrar o texto exato, encontrar o documento certo se torna lento, frustrante, ou pior – impossível.
Com 4D 20 R10, a busca semântica alimentada por vetores AI muda isso. Em vez de combinar palavras-chave, combina o significado. Os utilizadores obtêm o documento certo, mesmo que pesquisem com palavras diferentes ou numa língua diferente. É uma forma mais inteligente de revelar o conhecimento oculto nos seus documentos – rápida, precisa e concebida para a forma como as pessoas realmente pesquisam.
Vamos considerar um exemplo concreto: um utilizador quer localizar uma nota técnica que explica como inserir uma imagem num documento 4D Write Pro. No entanto, ele pode não se lembrar da frase exacta usada no documento.
Como procurar em documentos 4D Write Pro
Pesquisar através de documentos armazenados numa base de dados não é um conceito novo. Tradicionalmente, os desenvolvedores de 4D têm confiado na busca baseada em palavras-chave para implementar essa funcionalidade. Hoje, no entanto, a inteligência artificial abre a porta para uma abordagem muito mais flexível e poderosa: busca semântica usando vetores.
Vamos dar uma olhada mais de perto em ambas as técnicas e ver como os vetores revolucionam a forma como pesquisamos.
Métodos de pesquisa tradicionais com palavras-chave
Este método envolve a extração das palavras-chave de um documento e o seu armazenamento num campo de texto. Uma consulta de pesquisa é então executada através da correspondência de palavras-chave específicas introduzidas pelo utilizador.
Esta abordagem é rápida e eficaz quando a consulta corresponde exatamente ao texto do documento. Se o texto mudar, mesmo que ligeiramente, a pesquisa falha. Por exemplo, uma pesquisa por “inserir imagem” não encontraria documentos que contivessem “adicionar imagem”.
Busca Semântica com Vetores AI
A partir de 4D 20 R10, uma nova e poderosa caraterística está disponível: Suporte a vetores AI. Isso permite busca semântica, alimentada por inteligência artificial.
Diferente da busca por palavra-chave, a busca semântica foca no significado, não em palavras exatas. Permite aos utilizadores encontrar documentos que expressam a mesma ideia de formas diferentes. Por exemplo, frases como “inserir imagem” ou “adicionar imagem” transmitem a mesma ideia.
Os utilizadores podem até introduzir consultas num idioma diferente do conteúdo do documento. O significado é preservado e correspondido – algo que a indexação por palavras-chave não consegue fazer.
Como funciona
- Cada documento é analisado e convertido em um vetor usando o componente 4D AIKit. Esse vetor representa o significado semântico do texto.
- Uma consulta do usuário também é convertida em um vetor.
- A similaridade entre o vetor de consulta e os vetores de documentos é calculada.
- Os documentos são retornados, ordenados do mais para o menos relevante.
Exemplo de implementação
Uma base de dados demo foi criada para mostrar esta caraterística. Contém vários documentos 4D Write Pro que representam notas técnicas.
Passo 1 – Gerar vetores para cada documento
A geração de vetores pode ser acionada quando um documento é salvo no banco de dados. No nosso exemplo, um método foi criado para gerar todos os vectores de uma vez:
var $document : cs.NoteEntity
var $documents :=ds.Note.all()
For each ($document; $documents)
$txt :=WP Get text($document.Document)
$document .Vector:=cs.AIManagement.new($apiKey).generateVector($txt)
$document .save()
End for each
Passo 2 – Gerar o vetor a partir da consulta do utilizador
Quando o utilizador clica num botão de pesquisa, criamos um vetor a partir da consulta do utilizador
var $vector:=cs.AIManagement.new($apiKey).generateVector($prompt)
Etapa 3 – Comparar vectores e ordenar por semelhança
Finalmente, devolvemos uma lista de documentos, ordenados por relevância semântica para a consulta do utilizador.
var $formula:=Formula(This.Vector.cosineSimilarity($vector)
$documents:=ds.Note.all().orderByFormula($formula); dk descending)
Neste exemplo, retornamos todos os documentos classificados do mais relevante para o menos relevante. Também é possível limitar os resultados apresentados ao utilizador – por exemplo, aos cinco primeiros.
Ação em tempo real
Conclusão
A busca semântica com vetores de IA marca uma grande evolução em como os usuários interagem com dados baseados em documentos em 4D. Oferece mais flexibilidade, melhor precisão e uma experiência de utilizador mais intuitiva – sem depender de uma correspondência estrita de palavras-chave.
Seja para notas internas, documentação, ou bases de conhecimento, a busca vetorial desbloqueia um novo nível de inteligência em suas aplicações 4D.
Uma versão futura de 4D (não muito distante) introduzirá um tipo especial de índice vetorial para análise rápida de grandes conjuntos de dados.
E você? Este blog teve idéias para seus próprios projetos? Que tipos de documentos poderiam se beneficiar da busca semântica em suas aplicações?
