Lorsque le Machine Learning permet d’identifier les sujets dit « tendance » de l’actualité - 4ème partie

Les deux premiers billets de notre série de rentrée nous ont permis d’introduire le cas d’usage News Republic et de présenter dans ce contexte les axes d’amélioration d’une approche avec du #MachineLearning, nos expérimentations Azure Machine Learning (Azure ML) réalisées pour la circonstance et les résultats obtenus dans ce contexte.

Pour continuer dans cette dynamique, il nous paraissait intéressant de considérer un autre aspect du travail du scientifique des données (Data Scientist) : celui de faire des choix ou arbitrages quant aux choix des possibles en fonction du besoin et des attentes exprimées.

Dans cette optique, le précédent billet était consacré aux problématiques rencontrées lors du le partitionnement des données (clustering) sur les tags.

Nous vous proposons à présent d’aborder dans ce billet les problématiques liées au calcul des tops et flops et plus précisément au choix de la méthode de calcul de la tendance.

Puisque nous recherchons à identifier les « Trending Topics », cas d’usage concret que nous nous sommes fixé pour cette série de billets, il nous faut savoir ce qui fait qu’un topic est « trending » ou « hype ».

Après une brève définition de ce qu’on appelle ici par la tendance, nous vous proposons de considérer les 3 approches de calcul de la tendance utilisée, les résultats obtenus avec ces 3 approches et enfin les conclusions que nous en avons tirées.

Un très bref rappel sur la tendance

Comme présenté dans le premier billet, l’approche avec Machine Learning souhaite se défaire des mouvements saisonniers et irréguliers des tags et se concentrer uniquement sur l’évolution de leur tendance vue ici comme l’orientation générale de la part d’audience au cours du dernier mois.

La tendance suivie par les tags est donc au centre de notre étude. Or, il existe plusieurs définitions et méthodes de calcul de la tendance.

D’où la problématique suivante.

Problématique : Quelle formule de la tendance convient le mieux ?

Il existe de nombreuses manières de calculer la tendance. Pour la réalisation de ce projet, nous nous sommes focalisés sur 3 approches :

  1. La moyenne symétrique.
  2. La SMA (Simple Moving Average).
  3. L’EMA (Exponential Moving Average).

Considérant une série chronologique de période n, la moyenne symétrique en un instant donné est la moyenne entre les n/2 observations passées et les n/2 observations futures. La fonction decompose() sur R permet de la trouver facilement.

La SMA, elle, calcule la tendance comme étant la moyenne arithmétique de la série sur les n dernières observations.

Enfin, l’EMA calcule la tendance comme étant la moyenne arithmétique de la série sur les n dernières observations en leur donnant un poids qui décroit de façon exponentielle suivant leur ancienneté.

Résultats obtenus avec les 3 approches

Pour faire notre choix, nous avons testé sur nos 6 simulations de tags les tendances obtenues avec ces 3 approches.

Voici les graphes et résultats obtenus sur Azure ML :

Football

clip_image002

François Hollande

clip_image004

Julie Gayet

clip_image006

Germanwings

clip_image008

Meurtre en Moselle

clip_image010

Programme TV

clip_image012

On peut voir en noir l’évolution de la part d’audience pour chaque tag, en rouge la moyenne symétrique, en vert la SMA et en bleu l’EMA.

Comme on peut le voir avec le tag « Football », la moyenne symétrique est plus en phase dans le temps avec les hausses et baisses successives. En regardant le tag « Programme TV », on voit également qu’elle n’est pas du tout sensible à la saisonnalité.

Avec le tag « Germanwings » on peut voir que les SMA et EMA sont croissantes alors que la part d’audience est déjà en baisse. Ces différences se ressentent sur les tops et flops.

clip_image014

Moyenne symétrique

clip_image016

SMA

clip_image018

EMA

clip_image020

En guise de conclusion de cette partie

La moyenne symétrique donne des tops et flops qui reflètent les évolutions actuelles des audiences. Les SMA et EMA, elles, donnent plus de poids aux évolutions passées.

Faisons un zoom sur les 2ième et 3ième points du graphe.

clip_image022 image

On peut voir sur le graphique, que « Football » est en forte hausse tandis que « Germanwings », lui, est en forte baisse après avoir été en forte hausse. Avec la moyenne symétrique, on a « Football » dans les tops et « Germanwings » dans les flops. Avec les SMA et EMA, les deux se retrouvent dans les tops.

On a un fait similaire au point 4.

image

Graphiquement, « Meutre en Moselle » connait une plus forte hausse que « Football ». Avec la moyenne symétrique, « Meurtre en Moselle » apparait plus haut que « Football » dans le classement des tops tandis qu’avec les SMA et EMA, c’est « Football » qui apparait avant.

Suite à ces observations, il est difficile pour nous ici de choisir seuls la meilleure des 3 approches car elles sont toutes bonnes mais dépendent en réalité de la définition du terme « tendance » et du besoin du client.

Au 2ème point, peut-on dire que « Germanwings » est toujours tendance par rapport aux autres malgré le fait qu’il soit en baisse ? Après discussion avec notre partenaire, il a été décidé de lui donner le choix entre ces 3 approches. Il pourra alors faire autant de tests qu’il le souhaite et pourra décider de choisir celle qui correspondra le plus à ses attentes. Il pourra ainsi également construire une combinaison entre ces 3 approches s’il le souhaite. Nous avons décidé de mettre en paramètre la méthode de calcul de la tendance. La solution Machine Learning laisse donc à News Republic le choix entre ces 3 approches.

Nous en arrivons maintenant à la fin de ce 4ème billet autour des « Trending Topics ».

Si vous nous suivez depuis le premier billet d’introduction au cas d’usage de cette série, vous connaissez notre démarche, l’approche développée avec du Machine Learning, ses résultats, les choix et arbitrages qui ont été réalisés pour construire une solution telle qu’elle se présente aujourd’hui.

Dans ce contexte, le prochain billet lui est destiné à un autre type de demande et se veut présenter une autre casquette encore qu’endosse le Data Scientist : celle de faire parler les données au-delà de ce que nous connaissons et sommes habitués à voir.

Comme la proposition courante en termes d’approche permet d’identifier les « Trending Topics », pourrait-on créer une autre solution, solution qui nous permettrait de prédire les « Trendings Topics » de demain ? C’est ce que nous verrons dans le prochain billet.