Dévoiler des modèles uniques : Un guide pour l'agrégation de termes significatifs dans Elasticsearch

Apprenez à utiliser l'agrégation de termes significatifs pour découvrir des informations dans vos données.

Vous débutez avec Elasticsearch ? Participez à notre webinaire Premiers pas avec Elasticsearch. Vous pouvez aussi démarrer un essai gratuit sur le cloud ou tester Elastic dès maintenant sur votre machine.

Dans Elasticsearch, une agrégation de termes significatifs va au-delà des termes les plus courants pour trouver des valeurs statistiquement inhabituelles dans un ensemble de données. Cela nous permet de découvrir des informations précieuses et des modèles non évidents. Une agrégation de termes significatifs fournit une réponse avec deux paramètres utiles :

  • bg_count (background count) : Nombre de documents trouvés dans l'ensemble de données parent.
  • doc_count : Nombre de documents trouvés dans l'ensemble de données de résultat

Par exemple, dans un ensemble de données sur les ventes de téléphones, nous pouvons rechercher des termes significatifs sur les ventes de l'iPhone 16 comme suit :

Ensuite, la réponse nous donne :

Houston ne figure pas parmi les 10 premières villes de l'ensemble des données, ni parmi les premières villes pour l'iPhone 16. Toutefois, l'agrégation des termes significatifs a montré que l' iPhone 16 est acheté de manière disproportionnée dans cette ville par rapport au reste des données. Voyons plus en détail les chiffres :

  • Au niveau supérieur :
    • doc_count : 122 - La requête correspond à 122 documents au total
    • bg_count : 424 - Le jeu d'arrière-plan (tous les documents de vente) contient 424 documents.
  • Dans le seau de Houston :
    • doc_count : 12 - Houston apparaît dans 12 des 122 résultats de la requête
    • bg_count : 14 - Houston apparaît dans 14 des 424 documents de l'ensemble de données de base.

Cela nous indique que sur 424 achats totaux, seuls 14 ont eu lieu à Houston, soit 3,3% de tous les achats. Toutefois, si nous ne prenons en compte que les ventes d'iPhone 16, nous constatons que 12 des 122 ventes ont eu lieu à Houston, soit 9,8%, 3 fois plus que dans l'ensemble de l'ensemble des données ; c'est significatif !

Voici ce que cela donne en termes de visualisation : Ventes totales par ville_région.

Nous pouvons voir qu'il y a 14 ventes à Houston, ce qui en fait la 14e ville en termes de ventes dans l'ensemble des données.

Maintenant, si nous appliquons un filtre pour ne regarder que les ventes d'iPhone 16, nous avons 12 ventes à Houston, ce qui en fait la deuxième ville avec le plus grand nombre de ventes pour ce modèle spécifique :

Comprendre l'agrégation des termes significatifs

Selon la documentation d'Elastic, les termes significatifs sont agrégation:

"(Trouve) des termes qui ont subi un changement significatif de popularité mesuré entre un ensemble de premier plan et un ensemble d'arrière-plan."

Cela signifie qu'il utilise des mesures statistiques pour comparer la fréquence d'un terme dans un sous-ensemble de données (l'ensemble de premier plan) à la fréquence du même terme dans l'ensemble de données parent (l'ensemble d'arrière-plan). De cette manière, la notation reflète la signification statistique plutôt que la fréquence d'apparition d'un terme dans les données.

Les principales différences entre une agrégation de termes significatifs et une agrégation de termes normaux sont les suivantes :

  • Les termes significatifs comparent un sous-ensemble de données, tandis qu'une agrégation de termes ne fonctionne que sur l'ensemble de données résultant de la requête.
  • Les résultats d'une agrégation de termes sont les termes les plus courants de l'ensemble de données, tandis que les résultats d'une agrégation de termes significatifs ignorent les termes courants pour trouver ce qui rend l'ensemble de données unique.
  • Les termes significatifs peuvent avoir un impact plus important sur les performances, étant donné qu'ils doivent extraire des données du disque plutôt que de la mémoire, comme le fait l'agrégation des termes.

Application pratique (analyse du comportement du consommateur)

Préparation des données pour l'analyse

Pour cette analyse, nous avons généré un ensemble de données synthétiques sur les ventes de téléphones, comprenant le prix, les caractéristiques du téléphone, les données démographiques de l'acheteur et les commentaires. Nous avons également généré des embeddings à partir des commentaires de l'utilisateur afin de pouvoir lancer une requête sémantique ultérieurement. Nous avons utilisé le modèle multilingue e5 small, disponible prêt à l'emploi sur Elasticsearch.

Pour utiliser ce jeu de données sur Elasticsearch :

  1. Téléchargez le fichier CSV (téléchargeable ici) à l'aide de la fonction Kibana Upload data files.
  2. Créez un champ sémantique, comme indiqué dans ce blog, appelé "embedding", qui utilise le champ sémantique multilingual-e5-small model
  3. Terminez l'importation en conservant le type de champ par défaut (mot-clé pour chaque champ à l'exception de purchase_date et user_feedback)). Veillez à ajouter le nom de l'index phone_sales_analysis pour pouvoir exécuter les requêtes présentées ici telles quelles.

L'objectif principal de cette analyse est de découvrir "ce qui différencie les acheteurs de l'iPhone 16 des autres segments de la populationet d'obtenir une segmentation des acheteurs à des fins de marketing. 

Il s'agit d'un exemple de document provenant de l'ensemble de données :

Comprendre les modèles démographiques

Ici, nous allons effectuer une analyse sur la population générale et la comparer aux résultats intéressants des agrégations de termes significatifs pour les utilisateurs de l'iPhone 16.

Modèles normaux

Pour comprendre les habitudes d'achat, nous pouvons regrouper les données de tous les documents dans différents domaines. Pour simplifier, nous nous concentrerons sur l'étude des professions des personnes qui ont acheté un téléphone. Nous pouvons le faire en envoyant une requête à Elasticsearch.

Cela nous indique que les principales professions de l'ensemble de données (par nombre d'enregistrements) sont les suivantes :

Les habitudes des utilisateurs de l'iPhone 16

Pour comprendre ce qui différencie les personnes qui ont acheté un iPhone 16, exécutons une agrégation de termes sur le même champ avec un filtre pour trouver ces personnes dans la requête, comme ceci :

Ainsi, pour les utilisateurs de l'iPhone 16, les principales professions sont les suivantes :

Nous pouvons constater que les utilisateurs de l'iPhone 16 ont des habitudes d'occupation différentes de celles des utilisateurs d'autres modèles de téléphone. Utilisons Kibana pour visualiser facilement les résultats :

Dans ce graphique, nous pouvons voir que la tendance pour l'iPhone 16 est différente de la tendance de la population entière.

Nous pouvons sauter toute cette analyse pour voir ce qui différencie les utilisateurs de l'iPhone 16 de la population générale en effectuant une agrégation de termes significatifs :

En résumé, nous obtenons cette réponse :

Valeurs des professions pour l'iPhone 16doc_countbg_count
occupation_distribution (niveau supérieur)122424
Médical & Seau pour les soins de santé4557

La réponse suggère clairement que les utilisateurs de l'iPhone 16 ont un problème (significatif !) peu commun. le nombre de personnes travaillant dans le domaine médical & par rapport à la population générale. Voyons ce que signifient les chiffres de la réponse :

  • Au niveau supérieur :
    • doc_count : 122 - La requête correspond à 122 documents au total
    • bg_count : 424 - Le jeu d'arrière-plan (tous les documents de vente) contient 424 documents.
  • Dans le secteur médical & Soins de santé :
    • doc_count : 45 - "Medical & Healthcare" apparaît dans 45 des 122 résultats de la requête
    • bg_count : 57 - "Medical & Healthcare" apparaît dans 57 des 424 documents totaux de l'ensemble de données d'arrière-plan.

Sur les 424 acheteurs, 57 travaillent dans le domaine médical & - soit 13,44%. Mais si l'on considère les acheteurs de l'iPhone 16, 45 sur 122 travaillent dans le domaine médical & - soit 36,88%. Cela signifie que nous avons deux fois plus de chances de trouver une personne travaillant dans le domaine médical & healthcare parmi les utilisateurs de l'iPhone 16 !

Nous pouvons appliquer cette même analyse à d'autres champs (âge, localisation, tranche de revenus, etc.) pour obtenir plus d'informations sur ce qui rend les utilisateurs de l'iPhone 16 uniques. 

Segmentation des consommateurs

Nous pouvons utiliser l'agrégation des termes significatifs pour extraire des informations sur les relations entre les produits, les catégories et les segments de clientèle. Pour ce faire, nous construisons une agrégation parente pour la catégorie que nous souhaitons explorer. Nous utilisons également une sous-agrégation des termes significatifs et des termes normaux pour trouver des informations intéressantes sur cette catégorie et les comparer à ce qu'utilisent la plupart des personnes dans cette profession.

Voyons, par exemple, ce que préfèrent les gens dans certains domaines d'activité :

  1. Pour rendre l'analyse plus claire, limitons notre recherche à trois domaines de travail : ["Administratif & Support", "Technologie & Données", "Médical & Soins de santé"]
  2. En ce qui concerne les agrégations, nous commençons par une agrégation des termes par profession
  3. Ajoutez une sous-agrégation : termes par modèle de téléphone - pour savoir quels modèles les utilisateurs travaillant dans chaque domaine achètent.
  4. Ajoutez une deuxième sous-agrégation : les termes significatifs par modèle de téléphone - pour trouver les modèles spéciaux dans chaque domaine de travail.

Décortiquons les résultats de l'agrégation :

Profession: Soutien administratif &

Agrégation de termes

Agrégation des termes significatifs

Ce tableau permet de déduire qu'il n'y a pas de différences significatives entre l'évolution de cette profession et celle de l'ensemble de la population.

Profession: Technologie & Données

Agrégation de termes

Agrégation des termes significatifs

Total des documents : 424

Documents dans cette profession : 71

modèle de téléphonedoc_count (ce modèle dans cette profession)bg_count (ce modèle figure dans tous les documents)% dans tous les documents% dans cette profession
Google Pixel 812225.19%16.90%
OnePlus 119143,30 %12.68%
OnePlus 12 Pro330,71 %4.23%
Google Pixel 8 Pro9214.95%12.68%
Rien Téléphone 2581.89%7.04%
Samsung Galaxy Z Fold5461.42%5.63%
OnePlus 128204.72%11,27 %

Profession: Médical : & Soins de santé

Agrégation de termes

Agrégation des termes significatifs

Total des documents : 424

Documents dans cette profession : 57

modèle de téléphonedoc_count (ce modèle dans cette profession)bg_count (ce modèle figure dans tous les documents)% dans tous les documents% dans cette profession
iPhone 164512228.77%78.95%
iPhone 15 Pro Max3133,07 %5.26%
iPhone 157409.43%12.28%

Voyons ce que ces données nous apprennent :

  • Medical & Les professionnels de la santé préfèrent l'iPhone 16 et sont très enclins à utiliser les téléphones Apple en général.
  • Technologie & Les professionnels des données préfèrent les téléphones Android haut de gamme, mais n'utilisent pas nécessairement la marque Samsung. Dans cette catégorie, les iPhones ont également le vent en poupe.
  • Les professionnels de l'assistance administrative & préfèrent les téléphones Samsung et Google, mais n'ont pas de tendance forte et unique.

La recherche hybride combine la recherche textuelle et les résultats sémantiques pour offrir une meilleure expérience de recherche. Dans ce contexte, une agrégation significative de termes peut fournir des indications sur les résultats d'une recherche contextuelle en répondant à la question suivante : "Qu'est-ce que cet ensemble de données a de particulier par rapport à l'ensemble des documents ? Qu'est-ce que cet ensemble de données a de particulier par rapport à tous les documents ?Pour illustrer cette fonctionnalité, voyons quels modèles sont surreprésentés lorsque les utilisateurs parlent de bonnes performances :

  • Construisons une requête sémantique dans laquelle nous trouvons les meilleurs commentaires d'utilisateurs les plus proches de l'entrée "bonne performance" par rapport à l'intégration des champs.
  • Nous utiliserons également une recherche textuelle avec les mêmes termes sur le champ de texte user_feedback
  • Nous ajouterons également une requête de termes significatifs pour trouver des modèles de téléphone qui peuvent être trouvés plus fréquemment parmi ces résultats que dans l'ensemble des données.

Examinons un exemple de documents correspondants :

Voici la réponse que nous recevons :

Cela nous indique que si un iPhone 15 est rencontré 40 fois sur un total de 424 documents (9,4% des documents), il peut être trouvé 5 fois dans les 20 documents qui correspondent à la recherche sémantique "bonne performance" (25% des documents). Nous pouvons donc tirer une conclusion : un iPhone 15 a 2,7 fois plus de chances d'être trouvé lorsqu'on parle de bonnes performances que par hasard.

Conclusion

L'agrégation des termes significatifs permet de découvrir des détails uniques d'un ensemble de données en le comparant à l'univers des documents. Cela peut révéler des relations inattendues dans nos données, allant au-delà du nombre d'occurrences. Nous pouvons appliquer des termes significatifs dans divers cas d'utilisation qui permettent des fonctionnalités très intéressantes, par exemple :

  • Trouvez des modèles lorsque vous travaillez sur la détection des fraudes - identifiez les transactions courantes pour les cartes de crédit volées.
  • Informations sur la qualité de la marque à partir des avis des utilisateurs - détectez une marque dont le nombre d'avis négatifs est disproportionné.
  • Repérer les documents mal classés - repérer les documents qui appartiennent à une catégorie (filtre de termes) et qui utilisent des mots peu courants de la catégorie dans une description (agrégation de termes significatifs).

Pour aller plus loin

Prêt à créer des expériences de recherche d'exception ?

Une recherche suffisamment avancée ne se fait pas avec les efforts d'une seule personne. Elasticsearch est alimenté par des data scientists, des ML ops, des ingénieurs et bien d'autres qui sont tout aussi passionnés par la recherche que vous. Mettons-nous en relation et travaillons ensemble pour construire l'expérience de recherche magique qui vous permettra d'obtenir les résultats que vous souhaitez.

Jugez-en par vous-même