L’IA apporte une recherche magique aux documents 4D Write Pro

Dans de nombreuses applications d’entreprise 4D, les documents sont essentiels : notes techniques, rapports, manuels, guides internes. Mais lorsque les utilisateurs ne se souviennent pas de la formulation exacte, trouver le bon document devient lent, frustrant, ou pire impossible.

Avec 4D 20 R10, la recherche sémantique alimentée par les vecteurs de l’IA change la donne. Au lieu de faire correspondre les mots-clés, vous faites correspondre le sens. Les utilisateurs obtiennent le bon document, même s’ils utilisent des mots différents ou une langue différente. Il s’agit d’une manière plus intelligente de faire apparaître les connaissances cachées dans vos documents, rapide, précise et adaptée à la manière dont les utilisateurs effectuent leurs recherches.

Prenons un exemple concret : un utilisateur souhaite localiser une note technique qui explique comment insérer une image dans un document 4D Write Pro. Cependant, il se peut qu’il ne se souvienne pas de la phrase précise utilisée dans le document.

HDI_4DWP_AI_Vector

Comment rechercher dans les documents de 4D Write Pro

La recherche dans les documents stockés dans une base de données n’est pas un concept nouveau. Traditionnellement, les développeurs 4D se sont appuyés sur la recherche par mot clé pour mettre en œuvre cette fonctionnalité. Aujourd’hui, cependant, l’intelligence artificielle ouvre la porte à une approche beaucoup plus souple et puissante : la recherche sémantique à l’aide de vecteurs.

Examinons de plus près ces deux techniques et voyons comment les vecteurs révolutionnent notre façon de chercher.

Méthodes de recherche traditionnelles avec mots-clés

Cette méthode consiste à extraire les mots-clés d’un document et à les stocker dans un champ de texte. Une requête de recherche est alors effectuée en faisant correspondre les mots-clés spécifiques saisis par l’utilisateur.

Cette approche est rapide et efficace lorsque la requête correspond exactement au libellé du document. Si le libellé change, même légèrement, la recherche échoue. Par exemple, une recherche portant sur « insérer une image » ne trouvera pas de documents contenant « ajouter une image ».

Recherche sémantique avec les vecteurs IA

À partir de 4D 20 R10, une nouvelle fonctionnalité puissante est disponible : La prise en charge des vecteurs d’IA. Elle permet d’effectuer des recherches sémantiques grâce à l’intelligence artificielle.

Contrairement à la recherche par mot-clé, la recherche sémantique se concentre sur le sens, et non sur les mots exacts. Elle permet aux utilisateurs de trouver des documents qui expriment la même idée de différentes manières. Par exemple, des expressions telles que « insérer une image » ou « ajouter une image » véhiculent la même idée.

Les utilisateurs peuvent même saisir des requêtes dans une langue différente du contenu du document. Le sens est préservé et mis en correspondance, ce que l’indexation par mots-clés ne peut pas faire.

Comment cela fonctionne-t-il ?

  1. Chaque document est analysé et converti en vecteur à l’aide du composant 4D AIKit. Ce vecteur représente le sens sémantique du texte.
  2. Une requête de l’utilisateur est également convertie en vecteur.
  3. La similarité entre le vecteur de la requête et les vecteurs des documents est calculée.
  4. Les documents sont renvoyés, triés du plus pertinent au moins pertinent.

Exemple de mise en œuvre

Une base de démonstration a été créée pour présenter cette fonctionnalité. Elle contient plusieurs documents 4D Write Pro représentant des notes techniques.

Étape 1 – Générer des vecteurs pour chaque document

La génération des vecteurs peut être déclenchée lorsqu’un document est enregistré dans la base de données. Dans notre exemple, une méthode a été créée pour générer tous les vecteurs en une seule fois :

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

Étape 2 – Générer le vecteur à partir de la requête de l’utilisateur

Lorsque l’utilisateur clique sur un bouton de recherche, nous créons un vecteur à partir de la requête de l’utilisateur

var $vector:=cs.AIManagement.new($apiKey).generateVector($prompt)

Étape 3 – Comparer les vecteurs et les trier par similarité

Enfin, nous renvoyons une liste de documents, triés en fonction de leur pertinence sémantique par rapport à la requête de l’utilisateur.

var $formula:=Formula(This.Vector.cosineSimilarity($vector)
$documents:=ds.Note.all().orderByFormula($formula); dk descending)

Dans cet exemple, nous renvoyons tous les documents classés du plus pertinent au moins pertinent. Vous pouvez également limiter les résultats présentés à l’utilisateur, par exemple aux cinq premiers.

Action en direct

Conclusion

La recherche sémantique avec des vecteurs d’IA marque une évolution majeure dans la manière dont les utilisateurs interagissent avec les données documentaires dans 4D. Elle offre une plus grande flexibilité, une meilleure précision et une expérience utilisateur plus intuitive, sans s’appuyer sur une correspondance stricte des mots-clés.

Qu’il s’agisse de notes internes, de documentation ou de bases de connaissances, la recherche vectorielle ouvre la voie à un nouveau niveau d’intelligence dans vos applications 4D.

Une prochaine version de 4D (pas très loin) introduira un type d’index vectoriel spécial pour l’analyse rapide de grands ensembles de données.

Et vous ? Ce blog a-t-il suscité des idées pour vos propres projets ? Quels types de documents pourraient bénéficier de la recherche sémantique dans vos applications ?

Vanessa Talbot
- Product Owner -Vanessa Talbot a rejoint l'équipe du programme 4D en juin 2014. En tant que Product Owner, elle est chargée de rédiger les user stories puis de les traduire en spécifications fonctionnelles. Son rôle est également de s'assurer que l'implémentation des fonctionnalités livrées répond aux besoins des clients.Depuis son arrivée, elle a travaillé à la définition des fonctionnalités clés de 4D. Elle a travaillé sur la plupart des nouvelles fonctionnalités de multithreading préemptif et aussi sur un sujet très complexe : la nouvelle architecture pour les applications enginées. Vanessa est diplômée de Telecom Saint-Etienne. Elle a commencé sa carrière à l'Institut de Recherche Criminelle en tant que développeur pour le département audiovisuel. Elle a également travaillé dans les domaines des médias et du médical en tant qu'experte en support technique, en production ainsi qu'en documentation de nouvelles fonctionnalités.