Facilitez la recherche d'information et augmentez la satisfaction de vos internautes grâce à la recherche sémantique

Le moteur de recherche sémantique, un moteur de recherche réellement efficace

Développé grâce au Traitement Automatique du Langage et contrairement aux moteurs de recherche par mots clés classiques, le moteur de recherche sémantique Inbenta est capable de prendre le compte le véritable sens d’une phrase. Notre algorithme peut relier des recherches déstructurées, mal orthographiées et ambigües à des titres de FAQ structurés, spécifiques et concis. Résultat : vos clients trouvent l’information qu’ils désirent rapidement et facilement.

 

Le Traitement Automatique du Langage Naturel au service de la recherche sémantique

L’un des plus grands challenges du TALN, c’est de réussir à résoudre les problèmes d’ambiguïté – une des principales caractéristiques du langage naturel. Par exemple, prenez la phrase « tenir un magasin ». Le mot « tenir » se réfère souvent au fait de porter quelque chose. C’est seulement dans ce contexte particulier que son sens se rapproche de celui de « gérer ». La différence est évidente pour quelqu’un de familier avec le français, mais pas pour un ordinateur. Et même dans le cas où un ordinateur est capable d’analyser la syntaxe d’une phrase telle que « tenir un magasin », il sera toujours incapable de voir la moindre différence avec la phrase « tenir un stylo », quand bien même le sens de ces deux phrases est entièrement différent. Pour nous, c’est un jeu d’enfant. Notre moteur de recherche sémantique approfondit l’analyse en examinant le sens contextuel des mots, lui permettant ainsi de choisir la meilleure signification du mot « tenir », même quand la syntaxe et le mot lui-même sont identiques.

Que se passe-t-il si l’internaute fait une faute d’orthographe ?

Imaginons que vous travaillez pour une entreprise de télécommunication et que vous êtes chargé de créer des FAQs, destiné à aider vos clients à trouver par eux-mêmes les réponses qu’ils recherchent. Pour cet exemple particulier, vous avez la FAQ suivante, qui informe vos clients du coût d’un appel à l’étranger.

« Quel est le prix pour un appel international ? »

Rien de particulier, n’est-ce pas ? Mais voici le problème : la probabilité que vos clients fasse une recherche dans cette FAQ en utilisant exactement ces mots-clés est très mince.

À la place, ils taperont des phrases telles que : « combien ça me coue d’appeler en colombi »

langage_naturel

Vos utilisateurs vont toujours saisir des questions qui se rapportent à leur situation particulière, et en conséquence leurs mots vont être différents des vôtres.

 

Un algorithme sophistiqué pour la correction orthographique

Dans l’exemple ci-dessus, « coue » n’est pas un mot français, et donc n’appartient pas à notre vaste dictionnaire français. Il faut donc le corriger. Nous pourrions résoudre ce problème d’orthographe avec « coûte », « coude » ou encore « coupe ». Cependant, la correction la plus probable serait « coûte », puisqu’il s’agit de celle qui ferait le plus de sens dans la phrase.

langage_naturel

Il y a une autre faute de frappe : « Colombi ». À nouveau, des corrections possibles seraient « Colombe », « Colomb » et « Colombie », bien que la plus plausible soit bien évidemment le nom du pays d’Amérique Latine. Quand nous disons « la plus plausible », il s’agit d’une chose facile à déterminer pour des humains, mais très difficile pour un ordinateur. Chez Inbenta, notre très vaste dictionnaire français (ainsi qu’anglais, espagnol et plus de 25 autres dictionnaires) contient des informations sur la probabilité d’associations lexicales selon les spécificités de la base de connaissances, ainsi que des caractéristiques générales de la langue.

 

La solution à la faute de frappe

À partir de là, le moteur de recherche sémantique ne va plus utiliser la saisie incorrecte originale, mais trouver à la place une réponse pour cette version corrigée : « Combien ça me coûte d’appeler en Colombie ? ».

L’étape suivante est la résolution de toutes les ambiguïtés dans la phrase (dans le langage naturel, il y a toujours des ambiguïtés). Nous allons pour cela utiliser des outils variés : dictionnaires spécialisés, fonctions lexicales, grammaires locales et analyses syntaxiques. Effectuer la bonne analyse syntaxique et sémantique est crucial pour trouver des réponses pertinentes.

 

Comment fonctionne l’analyse syntaxique et sémantique

Grâce aux analyses syntaxiques, Inbenta détermine la fonction précise de chaque mot au sein de cette question particulière. Le résultat de cette analyse peut être observé ci-dessous :

langage_naturel

Les prochaines analyses de la phrase dépendront de nombreux facteurs tels que le dictionnaire spécialisé, les règles de résolution des ambiguïtés, le contexte, etc. Par exemple, le mot « appel » peut avoir différentes significations sans rapport avec les appels téléphoniques, comme l’action de héler quelqu’un, ou le fait de s’assurer que tous les élèves d’une classe soient présents, etc. Mais dans le contexte de l’industrie des télécommunications, « appel » renvoie sans ambiguïtés au fait de passer un appel téléphonique.

Nous procédons ensuite à une analyse sémantique, pour déterminer l’importance relative de chaque mot dans la phrase. Les internautes ajoutent souvent beaucoup d’informations dans leurs saisies qui ne sont pas essentielles pour trouver une réponse pertinente. Les mots superflus dans les recherches des utilisateurs, qualifiés dans l’industrie de « bruit », peuvent fréquemment conduire à des résultats inadaptés, mais notre système est capable de déterminer quels sont les mots porteurs de sens qu’il nous faut prendre en compte.

 

En se basant sur l’actuelle base de connaissances et notre algorithme sémantique-statistique unique, nous attribuerions ce poids sémantique particulier à chacun des termes de la question :

langage_naturel

Comme vous pouvez le voir, tous les termes de la saisie n’ont pas la même importance. Dans ce cas particulier, « coût » et « Colombie » contiennent presque 70 % de l’ensemble du « poids sémantique » de la saisie. Nous sommes alors proches d’avoir une réponse pertinente à cette question.

 

Le rôle des dictionnaires spécialisés et des fonctions lexicales

Inbenta possède un très vaste dictionnaire, qui contient des centaines de milliers de termes et de nombreuses sortes de relations sémantiques nommées « fonctions lexicales ». Ces fonctions lexicales peuvent couvrir des relations simples entre les mots, comme les synonymes, ainsi que des relations plus complexes qui dépendent du contexte dans lequel le terme apparaît.

 

Grâce au dictionnaire spécialisé et aux fonctions lexicales, nous sommes capables de reconnaître les phrases ayant la même signification malgré l’usage de mots différents. Avec cet « algorithme de signification » ultime, nous pouvons déterminer la proximité ou la distance de ces phrases les unes par rapport aux autres en terme de sens.

 

Un exemple de deux fonctions lexicales

Le terme « international » est lié à celui de « nation », et ainsi aux noms de toutes les différentes nations. Cela nous informe que « Colombie » et « international » sont liés.

langage_naturel
En outre, cette utilisateur a demandé quelque chose en rapport au « coût », ce qui est souvent le terme employé par les clients quand ils payent pour un service. Toutefois, l’auteur de cette FAQ l’a écrit en utilisant le terme « prix », ce qui est presque le même concept, mais de la perspective de celui qui est payé et non de celui qui paye. Ainsi, « coût » et « prix » sont liés.
langage_naturel
En appliquant ces deux fonctions lexicales, nous savons que la requête de l’utilisateur est liée au concept de « prix » et d’« international », même si ces termes ne sont jamais mentionnés dans la question.

Notre moteur de recherche sémantique en amélioration constante

Nos fonctions lexicales s’enrichissent chaque jour grâce au travail des Linguistes d’Inbenta, qui continuent de développer l’extension des relations sémantiques et la complexité de ces fonctions lexicales. Dans ce cas particulier, notre « algorithme de similarité », breveté, combiné à notre vaste lexique, nous permet de déterminer que la requête de l’utilisateur et cette FAQ particulière ont un « Score de Similarité » de précisément 57,49 %. Si aucune autre FAQ n’a un meilleur Score de Similarité, celle avec le titre « Quel est le prix pour un appel international ? » sera celle qui apparaîtra en premier sur la page de résultats.

 

Il est essentiel de faire remarquer que l’auteur de la FAQ n’a fait qu’écrire « Quel est le prix pour un appel international ? » ; il n’a pas eut à saisir des reformulations alternatives, ajouter des tags, éditer les fichiers index de synonymes ou examiner de fastidieuses alternatives de vocabulaires. Tout ce travail a été effectué par nos linguistes en amont.

 

Car nous pensons que les créateurs et éditeurs de bases de connaissances, ne devraient avoir besoin de se focaliser que sur le contenu lui-même et non sur la façon dont ce contenu sera trouvé. Ce qui donne à votre BotMaster plus de temps pour écrire un contenu de meilleure qualité.

La Recherche en Langage Naturel d’Inbenta est la réponse

Même quand les milliers de FAQs sont en train d’être fouillées et que des milliers d’internautes sont en train de poser différentes questions au même moment, notre moteur de recherche sémantique répond à l’appel. Dans l’exemple utilisé, notre moteur n’a prit que 0.0033376097679138 secondes pour trouver la bonne réponse à la question parmi une base de plus de 2500 FAQs. Comptez sur Inbenta pour des recherches sémantiques avec un temps de réponse incroyable.