La parole est aux speakers : Mathias Arlaud

Publié le

Jusqu’à l’AFUP Day 2022, retrouvez nos interviews de speakers pour mieux comprendre leur parcours et le sujet qu’ils ou elles aborderont lors de leur conférence !

La conférence

De l'humain à l'ordinateur, ou découvrir le sens d'un texte avec ElasticSearch.

En y réfléchissant un peu, un texte, des phrases, des mots, ne sont que de simples suites de caractères, tout comme une image n'est qu'une simple matrice de pixels. Cependant, notre cerveau est capable d'interpréter cet enchaînement de caractères, et de l'associer à des concepts, en d'autres termes de lui donner du sens. Si on prend un peu de recul là-dessus, on peut se dire que notre cerveau est sur bien des aspects clairement impressionnant.

Un enjeu de ces dernières années, c'est entre autres de permettre aux ordinateurs d'imiter cet aspect notre cerveau, en leur donnant la capacité de trouver le sens de la donnée avec laquelle ils travaillent. C'est par exemple ce que tente de faire l'intelligence artificielle.

Je vous rassure tout de suite, on ne va pas du tout parler d'intelligence artificielle (même si cela serait extrêmement intéressant). On va cependant réduire notre champ de travail et essayer de comprendre comment il est possible d'attribuer un score de corrélation entre un texte donné et une multitude d'autres. Et pour cela, on va se pencher sur la manière dont se prend ElasticSearch (ou plutôt Apache Lucene) pour répondre à cette problématique.

Sum equation Bienvenue en terminale, vous avez deux heures. Cette équation (simplifiée) représente la manière de calculer ce fameux score de corrélation, et c'est exactement ce que nous allons décortiquer.

Dans un second temps, nous verrons comment nettoyer un texte "humain" afin de faciliter sa compréhension par un ordinateur. Char filters, tokenizers, token filters, tant d'outils qui permettront de réduire un texte à son sens profond, de réduire son "bruit" afin d'optimiser les scores de corrélation.

Et petit bonus, vous pourrez même briller en société en étant en mesure de placer dans vos soirées mondaines des termes comme "Term frequency", "Inverse document frequency", "Coordination factor", "Inverted index"...

Le Gymnase
20/05/2022
10:10-10:50

L’écosystème Elasticsearch a pour actualité des changements de licence liés au Fork d’Amazon OpenSearch. Quel est ton avis sur le sujet ?

Le changement n’est pas une réaction au fork, c’est en fait l’opposé. Le fork est plutôt une réaction au changement de licence des logiciels libres Elastic. Cependant, ce changement de la part d’Elastic a bien été un déclencheur, qui n’est autre que certains abus de la part d’AWS. À commencer par le tweet du CTO d’AWS annonçant l’introduction d’Amazon ElasticSearch Service en partenariat avec Elastic alors qu’il n’y a eu ni partenariat, ni aucune forme de collaboration entre AWS et Elastic. En somme, le géant a pensé pouvoir vendre une offre managée basée sur un produit open-source sans en consulter les auteurs, tout en s’attirant les faveurs de la communauté Elastic et open-source au sens large. La réaction d’Elastic, à savoir la modification de la licence des produits en question, est à mon sens une action militante, et c’était certainement la meilleure chose à faire dans cette situation.

Pour toi, quelle est la chose à faire en premier lieu si on souhaite améliorer la pertinence sur son Elasticsearch ?

Une des problématiques sous-jacentes de la pertinence des résultats d’Elasticsearch est de permettre à la machine de comprendre un texte écrit par un être humain. Or, le texte « humain » possède beaucoup de bruit. Mots de liaisons, déclinaisons, … Toutes ces choses brouillent en quelques sortes le message voulu. La première chose à faire à mon goût est donc de nettoyer la donnée d’entrée, car celle-ci servira de base pour toute la suite. On peut faire le parallèle avec le son. Un son mal enregistré, avec un mauvais micro et des bruits de fond, par exemple, sera excessivement plus complexe à travailler qu’un son propre dès le départ. Heureusement, c’est assez facile de nettoyer la donnée d’entrée avec Elasticsearch. On se penchera d’ailleurs dessus durant mon talk.

Dans le web, le sens que l’on donne aux choses, c’est l’ontologie. Pourrions-nous voir arriver des moteurs de recherche bien au-delà d’une indexation ? Par exemple, la compréhension d’une phrase comme « pourquoi je suis pro-choix », qui seule est très générique, mais qui contextualisée, est très spécifique.

Cette question est à la fois intéressante et dans l’ère du temps. Pendant une longue période, pour les moteurs de recherche, le contenu était considéré comme roi. Désormais, comme beaucoup tendent à le dire, « si le contenu est roi, le contexte est la clé de son royaume ». Et à vrai dire, la plupart des moteurs de recherche vont dans ce sens et proposent dès à présent les balbutiements de ce que l’on pourrait appeler une « recherche contextuelle ». Si l’on recherche par exemple le mot-clé « Batman » en octobre, les résultats affichés tendront plus vers des costumes d’Halloween. En revanche, si l’on effectue cette recherche en Turquie, nous obtiendrons plus probablement des résultats en lien avec la ville turque nommée Batman. Ceci démontre en effet une contextualisation à la fois spatiale et temporelle de la recherche. C’est en tout cas la direction que semble désirer prendre les cadors de la recherche, comme en dénote le brevet « User-context-based search engine » de Google.

Une conférence présentée par

Mathias ARLAUD
Mathias ARLAUD
Développeur Symfony chez Les-Tilleuls.coop, Mathias est un aficionado de l'open source. Il contribue principalement à Symfony, API Platform et est l'auteur de quelques packages en lien avec cet écosystème.

Autres Interviews