In molte applicazioni aziendali 4D, i documenti sono tutto: note tecniche, relazioni, manuali, guide interne. Ma quando gli utenti non ricordano l’esatta formulazione, trovare quello giusto diventa lento, frustrante o, peggio, impossibile.
Con 4D 20 R10, la ricerca semantica alimentata dai vettori AI cambia le cose. Anziché abbinare le parole chiave, si abbina il significato. Gli utenti ottengono il documento giusto, anche se cercano con parole diverse o in una lingua diversa. È un modo più intelligente di far emergere le conoscenze nascoste nei documenti, veloce, accurato e pensato per il modo in cui le persone effettuano le ricerche.
Consideriamo un esempio concreto: un utente vuole trovare una nota tecnica che spiega come inserire un’immagine in un documento 4D Write Pro. Tuttavia, potrebbe non ricordare la frase esatta utilizzata nel documento.
Come cercare nei documenti di 4D Write Pro
La ricerca nei documenti archiviati in un database non è un concetto nuovo. Tradizionalmente, gli sviluppatori di 4D si sono affidati alla ricerca per parole chiave per implementare questa funzionalità. Oggi, tuttavia, l’intelligenza artificiale apre le porte a un approccio molto più flessibile e potente: la ricerca semantica tramite vettori.
Diamo un’occhiata più da vicino a entrambe le tecniche e vediamo come i vettori rivoluzionano il nostro modo di fare ricerca.
Metodi di ricerca tradizionali con parole chiave
Questo metodo prevede l’estrazione delle parole chiave di un documento e la loro memorizzazione in un campo di testo. Una query di ricerca viene quindi eseguita facendo corrispondere le parole chiave specifiche inserite dall’utente.
Questo approccio è veloce ed efficace quando la query corrisponde esattamente al testo del documento. Se la formulazione cambia anche di poco, la ricerca fallisce. Ad esempio, una ricerca di “inserisci immagine” non troverebbe documenti contenenti “aggiungi immagine”.
Ricerca semantica con i vettori AI
A partire da 4D 20 R10, è disponibile una nuova potente funzione: Il supporto dei vettori AI. Ciò consente la ricerca semantica, grazie all’intelligenza artificiale.
A differenza della ricerca per parole chiave, la ricerca semantica si concentra sul significato, non sulle parole esatte. Consente agli utenti di trovare documenti che esprimono la stessa idea in modi diversi. Ad esempio, frasi come “inserire immagine” o “aggiungere immagine” trasmettono la stessa idea.
Gli utenti possono anche inserire query in una lingua diversa dal contenuto del documento. Il significato viene preservato e abbinato, cosa che l’indicizzazione delle parole chiave non può fare.
Come funziona
- Ogni documento viene analizzato e convertito in un vettore utilizzando il componente AIKit 4D. Questo vettore rappresenta il significato semantico del testo.
- Anche la query dell’utente viene convertita in un vettore.
- Viene calcolata la somiglianza tra il vettore della query e i vettori dei documenti.
- I documenti vengono restituiti, ordinati dal più rilevante al meno rilevante.
Esempio di implementazione
Per illustrare questa funzione è stato creato un database dimostrativo. Contiene diversi documenti di 4D Write Pro che rappresentano note tecniche.
Fase 1 – Generazione dei vettori per ogni documento
La generazione dei vettori può essere attivata quando un documento viene salvato nel database. Nel nostro esempio, è stato creato un metodo per generare tutti i vettori in una volta sola:
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
Fase 2 – Generare il vettore dalla domanda dell’utente
Quando l’utente clicca su un pulsante di ricerca, creiamo un vettore a partire dalla domanda dell’utente
var $vector:=cs.AIManagement.new($apiKey).generateVector($prompt)
Fase 3 – Confronto dei vettori e ordinamento per similarità
Infine, restituiamo un elenco di documenti, ordinati per rilevanza semantica rispetto alla domanda dell’utente.
var $formula:=Formula(This.Vector.cosineSimilarity($vector)
$documents:=ds.Note.all().orderByFormula($formula); dk descending)
In questo esempio, vengono restituiti tutti i documenti classificati dal più rilevante al meno rilevante. È anche possibile limitare i risultati presentati all’utente, ad esempio i primi cinque.
Azione dal vivo
Conclusione
La ricerca semantica con vettori AI segna un’importante evoluzione nel modo in cui gli utenti interagiscono con i dati basati sui documenti in 4D. Offre maggiore flessibilità, migliore accuratezza e un’esperienza utente più intuitiva, senza basarsi su una rigorosa corrispondenza di parole chiave.
Che si tratti di note interne, documentazione o basi di conoscenza, la ricerca vettoriale sblocca un nuovo livello di intelligenza nelle applicazioni 4D.
Una prossima versione di 4D (non troppo lontana) introdurrà uno speciale tipo di indice vettoriale per l’analisi rapida di grandi insiemi di dati.
E voi? Questo blog ha suscitato idee per i vostri progetti? Quali tipi di documenti potrebbero beneficiare della ricerca semantica nelle vostre applicazioni?
