L’intelligenza artificiale porta la ricerca magica nei documenti di 4D Write Pro

Tradotto automaticamente da Deepl

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.

HDI_4DWP_AI_Vector

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

  1. Ogni documento viene analizzato e convertito in un vettore utilizzando il componente AIKit 4D. Questo vettore rappresenta il significato semantico del testo.
  2. Anche la query dell’utente viene convertita in un vettore.
  3. Viene calcolata la somiglianza tra il vettore della query e i vettori dei documenti.
  4. 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?

Vanessa Talbot
- Product Owner - Vanessa Talbot è entrata a far parte del team di 4D Program nel giugno 2014. In qualità di Product Owner, è incaricata di scrivere le storie degli utenti e di tradurle in specifiche funzionali. Il suo ruolo è anche quello di assicurarsi che l'implementazione della funzionalità fornita soddisfi le esigenze del cliente. Ha lavorato sulla maggior parte delle nuove funzionalità di multi-threading preemptive e anche su un argomento molto complesso: la nuova architettura per le applicazioni con motore. Vanessa si è laureata presso Telecom Saint-Etienne. Ha iniziato la sua carriera presso il Criminal Research Institute come sviluppatrice per il dipartimento audiovisivo. Ha lavorato anche nei settori dei media e della medicina come esperta di supporto tecnico, produzione e documentazione di nuove funzionalità.