• Aucun résultat trouvé

Semiabong, un système d’appariement de contenus textuels

4.4.2 Compromis entre les scores

La question qui s’est posée à nous à ce stade de l’implémentation était de savoir comment considérer simultanément les deux scores décrivant la relation entre un article et une vidéo, score_thematique et score_date, dans un score final rendant compte d’une similarité globale.

En s’inspirant des méthodes de recommandation décrites au Chapitre2, nous avons mis en place un processus d’évaluation orientée utilisateur, permettant à ceux-ci d’attribuer un jugement de pertinence aux vidéos proposées en réponse à un article. Ces annotations constituent des données utiles pour comprendre leurs besoins particuliers et sont par la suite utilisées comme instances d’apprentissage pour générer un modèle d’ordonnancement des résultats en fonction de leur pertinence vis-à-vis d’un utilisateur particulier.

Néanmoins, contrairement aux systèmes de recommandation qui cherchent à construire pour chacun de leurs utilisateurs un profil spécifique, nous souhaitons à l’inverse construire un modèle générique pour l’ensemble des utilisateurs. Dans notre contexte, l’objectif est en effet d’associer une unique vidéo à un article, censée satisfaire le plus d’internautes possibles. Les données récupérées des sessions d’évaluation ne distinguent donc pas ici les utilisateurs entre eux, ce qui est modélisé est plus de l’ordre d’un profil macro-utilisateur, qui associe les préférences de chacun des juges, même s’ils ne sont pas toujours d’accord entre eux (cf. Chapitre6 pour une mesure de l’accord inter-annotateur).

Dans ce cadre, les utilisateurs en charge de l’annotation sont des salariés de Media-bong, notamment deux d’entre eux en charge des partenariats avec les producteurs et diffuseurs, particulièrement au fait des contenus gérés par Semiabong. Se sont ajoutés à ce binôme, au cours de ces trois années de thèse, d’autres annotateurs au gré des arrivées et départs de stagiaires et alternants dans l’entreprise. Ainsi, s’ils étaient au maximum quatre entre janvier et août 2016, ils n’étaient dans la majeure partie des cas que trois pour cette tâche d’attribution de jugement de pertinence.

Avant de soumettre à ces juges un premier ensemble de résultats, il a fallu décider de la façon d’associer les deux scores calculés. N’ayant a priori aucune données décrivant les préférences des utilisateurs, nous avons implémenté le simple produit des deux scores comme score final (cf. équation4.5).

score_final (q,Di) = score_thematique ∗ score_date (4.5) Les sections suivantes s’attachent à présenter d’une part la méthode d’évaluation mise en place et d’autre part la façon dont les données récupérées de sessions d’évaluation ont été exploitées pour modéliser les préférences des utilisateurs du système.

Chapitre 4 – Semiabong, un système d’appariement de contenus textuels médiatiques

4.5 Annotation de corpus

Afin de modéliser les préférences des utilisateurs du système, nous avons mis en place une session d’annotation dans le but de récupérer des données représentant leurs choix quant à l’appréciation d’une vidéo en réponse à un article. Notre objectif est de pouvoir, ensuite, construire un modèle capable de discriminer les bons résultats des mauvais, à partir de ce que l’on connaît des utilisateurs. Il s’agit donc de calculer un classifieur binaire, appris à partir de données de référence, capable de déterminer l’étiquette à attribuer à de nouvelles paires article-vidéo, i.e. soit bonne, soit mauvaise. Pour se faire, il est donc nécessaire de construire en amont un corpus annoté manuellement, que nous présentons dans cette section.

Dans la perspective d’une distinction stricte entre bons et mauvais résultats, nous avions initialement envisagé de proposer une annotation binaire de ces données de réfé-rence, en proposant aux utilisateurs une échelle de notation à seulement deux niveaux. Toutefois, au regard des différentes exigences du besoin de l’entreprise, il est apparu qu’un utilisateur du système pouvait sélectionner une vidéo sans la considérer comme réellement pertinente, pour garantir le remplissage de la page. Dans ce type de cas particulier, l’uti-lisateur ne considère la vidéo comme ni vraiment bonne, ni vraiment mauvaise. Or dans le cadre d’une annotation binaire, il est forcé de choisir une de ces deux étiquettes pour chacune des instances à annoter. En ne conservant que ce jeu d’étiquettes, nous prenions alors le risque de nous retrouver avec des instances ne représentant pas réellement la classe à laquelle elles sont associées, et de biaiser l’apprentissage d’un modèle censé représenter chacune des classes à partir des données qui les composent respectivement.

Pour pallier ce risque, nous avons donc préféré proposer aux annotateurs une échelle ternaire, grâce à laquelle il leur était possible d’assigner un jugement qui n’était ni mau-vais, ni bon. Ce troisième niveau, intermédiaire aux deux autres, offre une alternative aux juges qui ne sont alors pas forcés de choisir entre les deux notes extrêmes. Grâce à cette méthode, nous espérions garantir la fiabilité des données présentes dans les deux classes extrêmes, qui sont celles que nous souhaitons modéliser ensuite. Ce système d’annotation, dont l’interface est illustrée en Figure 4.5, permet donc aux juges d’attribuer à chaque vidéo proposée en réponse à un article :

— 1 étoile s’ils la considèrent mauvaise (classe 1*) — 2 étoiles s’ils la considèrent moyenne (classe 2*) — 3 étoiles s’ils la considèrent bonne (classe 3*)

La session d’évaluation de la dernière version de Semiabong, encore en production aujourd’hui, a été menée sur deux semaines, du 15 au 30 septembre 2016. À ce moment-là, il s’agit d’une version primaire du système qui n’intègre pas la fonction finale optimisant

Figure 4.5 – Illustration de l’interface d’évaluation des vidéos pour les articles

la combinaison des deux scores associés à une paire article-vidéo (score_thematique et score_date). Quatre juges composent l’ensemble d’utilisateurs en charge de l’évaluation, ce qui nous permet d’obtenir pour cette session 860 jugements de pertinence, répartis tels que :

— classe 3* : 247 instances (soit 28.7%) — classe 2* : 412 instances (soit 47.9%) — classe 1* : 201 instances (soit 23.4%)

La classe des résultats moyens (i.e. classe 2*) est nettement sur-représentée, fait peu surprenant puisqu’elle constitue pour les juges la classe fourre-tout pour laquelle ils optent généralement. Les instances qui la composent présentent par ailleurs des valeurs de scores très hétérogènes, comme en témoigne la Figure 4.6 décrivant l’espace dans lequel on projette chaque paire article-vidéo en fonction de ses score_thematique et score_date.

On observe que les données de la classe 2* (en orange) ne constituent pas un ensemble clairement défini, mais ont tendance à s’étaler dans tout l’espace. Certaines d’entre elles, dans la partie basse de l’espace où sont concentrées beaucoup d’instances de la classe 1*, semblent s’apparenter à des résultats mauvais. Parallèlement, on en retrouve aussi un certain nombre dans des portions de l’espace qui concentrent des instances de la classe 3*, suggérant qu’il pourrait s’agir de bons résultats.

Cette forte dispersion des données de la classe 2*, ainsi que leur sur-représentation dans le jeu de données, a rapidement fait émerger le risque de générer un modèle sur-catégorisant les instances dans cette classe, s’il était appris sur cet ensemble de données. Par ailleurs, rappelons que notre objectif initial est de distinguer strictement les bons résultats des mauvais, en construisant un modèle capable de séparer deux ensembles de données. Considérer cette classe 2* dans l’apprentissage du modèle aurait donc peu

Chapitre 4 – Semiabong, un système d’appariement de contenus textuels médiatiques

Figure 4.6 – Distribution des résultats bons (en vert), moyens (en orange) et mauvais (en rouge) dans le corpus annoté

d’intérêt dans cette perspective, puisque nous souhaitons au contraire pouvoir déterminer, parmi les données qui la composent, lesquelles devraient être rattachées à la classe 1* et lesquelles à la classe 3*.

En résumé, bien qu’un niveau intermédiaire d’annotation ait été nécessaire pour fia-biliser les jugements des classes bon et mauvais, permettant aux juges de n’attribuer ces notes extrêmes que lorsqu’ils le souhaitaient vraiment, les données composant la classe 2* ne seront pas exploitées lors de l’apprentissage du modèle de classification binaire. Une fois construit, ce modèle pourra distinguer, parmi ces appariements moyens, ceux qui s’approchent des mauvais de ceux qui s’approchent des bons.

4.6 Ordonnancement par classification

L’objectif ici est de construire un modèle capable d’ordonnancer les résultats du sys-tème en fonction des score_thematique et score_date afin de proposer en tête de

sement celui offrant le meilleur compromis entre les deux. Par ailleurs, nous souhaitons pouvoir distinguer les bons résultats des mauvais afin d’éviter de présenter ces derniers aux utilisateurs. Considéré ainsi, le problème nous est apparu plus clairement comme un problème de classification binaire, pour lequel doivent être distingués deux ensembles de données dans un espace bidimensionnel. Les données exploitées pour cet apprentissage supervisé sont celles des deux classes 1* et 3* précédemment présentées, décrites par seulement deux traits que sont leurs valeurs de score_thematique et score_date.

Au regard de la configuration des données et du type de tâche à remplir, à savoir une discrimination, nous avons fait le choix d’implémenter un modèle SVM dont l’hyperplan calculé devrait optimiser la séparation des deux classes de données. Si d’autres modèles, tels qu’une régression linéaire ou logistique binaire, auraient également pu convenir pour une telle tâche, le choix d’un SVM s’est imposé pragmatiquement, en accord avec le reste l’équipe R&D de l’entreprise au sein de laquelle nous étions tous familiarisés avec les modèles SVM. Aussi, aucune expérience comparative n’a été menée pour déterminer le meilleur type de modèle à implémenter pour cette tâche de discrimination. Toutefois, parmi les différents modèles SVM, nous avons testé trois implémentations : une linéaire et deux polynomiales (de degrés 2 et 3). Les données des deux classes n’étant pas tout à fait linéairement séparables (bien que certains paquets se distinguent nettement d’un côté et de l’autre de l’espace tel que l’on peut l’observer en Figure 4.7), nous supposions qu’un SVM à noyau polynomial offrirait de meilleures performances. Or en comparant les résultats des différents modèles (en validation croisée à 10 plis) le SVM linéaire atteint une exactitude10 moyenne de 0.85, égale à celle obtenue par un SVM polynomial de degré 3 et meilleure que celle obtenue par un SVM polynomial de degré 2 qui n’atteint que 0.84. En accordant un poids supplémentaire à la classe des bons résultats lors de l’apprentissage, ces valeurs d’exactitude augmentent pour chacun des modèles : 0.88 pour le SVM linéaire ; 0.87 pour les deux modèles à noyau polynomial. Nous conservons donc le modèle linéaire dans le système final, dont on peut observer l’hyperplan calculé sur les données d’apprentissage sur la Figure4.7. Nous constatons que les bons appariements se concentrent majoritairement aux valeurs de score_date correspondant à une production vidéo datant du jour de la publication de l’article (score_date = 2.24) ou de la veille (score_date = 1.72). Parallèlement, la majorité des mauvais appariements sont concentrés dans une portion de l’espace, que l’hyperplan tracé – calculé par le SVM – permet en partie d’isoler.

À partir de ce modèle, il est possible d’établir un certain seuil distinguant les bons résul-tats des mauvais. Dorénavant, plutôt que d’implémenter le produit des score_thematique et score_date comme score final pour une paire article-vidéo, nous projetons cette paire dans un espace bidimensionnel tel que décrit en Figure 4.7 : si la paire formée par les

Chapitre 4 – Semiabong, un système d’appariement de contenus textuels médiatiques

Figure 4.7 – Répartition des instances positives (en vert) et négatives (en rouge), en fonction des score_thematique et score_date

deux documents se trouve sous le séparateur, la vidéo est considérée comme un mauvais résultat pour l’article ; en revanche si elle est au-dessus, elle est considérée comme un bon résultat. En outre, ces bons résultats sont ordonnés en fonction de la distance sépa-rant leurs représentations ponctuelles de l’hyperplan tracé : une vidéo est d’autant plus pertinente pour un article que la paire qu’ils forment est éloignée du séparateur11.

Le séparateur calculé correspond à la droite D de la fonction affine de type f(x) = a(x)+b où a = -1 et b = 1.3, telle que décrite ci-dessous en 4.6. Quant à la distance séparant un point A de coordonnées (xA, yA) de cette droite D, elle s’obtient par le calcul décrit en 4.7.

f(x) = −x + 1.3 (4.6)

11. La meilleure vidéo possible étant celle de coordonnées (1, 2.24 ) 126

d(A,D) = |axA− yA+ b|

1 + a2 = | − xA− yA+ 1.3|

2 (4.7)

L’objectif final du système étant de minimiser l’intervention humaine dans l’apparie-ment de vidéos aux articles, nous cherchons à déterminer un seuil au-delà duquel il est possible de valider automatiquement les paires de documents, sans la soumettre à une vérification manuelle. La Figure 4.7 présente une zone (délimitée par les pointillés) dans laquelle les appariements ont tous été jugés corrects par les évaluateurs, donc toute vidéo dont la paire formée avec un article se trouve dans cette zone est désormais considérée comme bonne et directement intégrée en bas d’article.

L’Annexe F présente un échantillon d’appariements article-vidéo automatiquement validés par le système, c’est-à-dire des cas où la vidéo sélectionnée est directement intégrée à l’article, sans vérification manuelle.

Notons qu’à partir de ce modèle, les instances de la classe 2* de notre corpus an-noté, que nous avions exclu de notre ensemble d’apprentissage, se répartissent entre les deux classes, tel qu’illustré en Figure 4.8. Certains des appariements de cette classe se retrouvent même dans la zone de validation automatique, c’est-à-dire qu’en conditions réelles d’applications, les vidéos composant ces paires auraient directement été intégrées aux pages d’articles correspondant.

Le modèle calculé à partir des jugements de pertinence récupérés permet donc d’opérer trois tris parmi les résultats candidats, comme l’illustre la Figure 4.1. Dans un premier temps, les vidéos sont triées dans l’ordre décroissant de leur score final puis certaines sont exclues des résultats en fonction de leur position dans l’espace. Ainsi, il est possible qu’un article n’ait finalement aucun résultat retourné par le système, auquel cas il est présenté dans l’interface utilisateur sans aucun contenu associé. Les utilisateurs opèrent alors une recherche manuelle, qui peut elle-même aboutir à un résultat vide, si aucune des vidéos de la collection ne les satisfait. Dans le cas contraire où l’ensemble de résultats contient au moins une vidéo à l’issue du filtre sur les scores, une seconde condition s’applique, vérifiant si le score d’une vidéo lui permet d’être automatiquement validée par le système sans aucune vérification manuelle. Si tel est le cas, elle est alors directement associée à l’article. Par ailleurs, si plusieurs vidéos remplissent cette condition, c’est celle ayant obtenu le score le plus haut (i.e. la plus grande distance à l’hyperplan) qui est associée à l’article. Si au contraire aucune vidéo ne remplit cette condition, alors les cinq ayant obtenu les plus hauts scores sont présentées aux utilisateurs pour une vérification manuelle.

Chapitre 4 – Semiabong, un système d’appariement de contenus textuels médiatiques

Figure 4.8 – Classification des données de la classe 2* du corpus annoté

4.7 Conclusion

Différents systèmes d’appariement d’articles en ligne et de vidéos ont été testés tout au long de cette thèse, et ce chapitre a présenté la chaîne de traitement de la dernière version développée, Semiabong, actuellement en production chez Mediabong.

Nous y avons exposé la façon dont les documents traités, articles et vidéos, sont indexés pour que le système en ait une représentation plus précise qu’un simple sac de mots. Cette représentation enrichie s’appuie notamment sur l’interrogation d’une ressource proprié-taire dont les EMM référentielles qui la composent sont intégrées semi-automatiquement. Elle pourrait être davantage affinée en interrogeant des ressources externes telles que des bases de connaissance ou en faisant appel à des outils d’annotations linguistiques de différents niveaux (syntaxique et sémantique notamment) pour une analyse plus fine des textes. Néanmoins, afin de répondre efficacement aux contraintes industrielles de ce projet, les traitements ici implémentés tiennent plus de la fouille de textes, qui se foca-lisent essentiellement sur les données à disposition, que du TAL impliquant plus d’analyse linguistique.

Nous avons par ailleurs proposé, en plus du classique cosinus mesurant la similarité thématique entre deux représentations vectorielles de document, une fonction saisissant leur proximité temporelle. Nous avons en effet observé que dans le cadre du traitement de contenus d’actualité, la fraîcheur du résultat retourné pouvait s’avérer tout aussi im-portante que son degré de similarité thématique.

Enfin, nous avons présenté la façon dont les différents scores décrivant la similarité entre un article et une vidéo étaient exploités comme attributs décrivant les instances d’apprentissage d’un modèle d’ordonnancement des résultats. Cet apprentissage supervisé repose sur des exemples annotés manuellement par les utilisateurs du système dont on récupère les jugements de pertinence lors de sessions d’évaluation. L’ensemble d’attributs décrivant les paires article-vidéo, se limitant ici aux deux informations de scores, pourrait être élargi en intégrant par exemple des données sur les thématiques des documents, ou sur leurs producteurs. Le modèle retenu, un SVM linéaire, pourrait quant à lui confronter ses performances à d’autres fonctions de combinaison de scores, notamment certaines décrites dans l’état de l’art du Topic Detection and Tracking présenté au Chapitre2.

Le chapitre suivant présente le protocole mis en place pour l’évaluation des différentes versions développées au cours de ces années de thèse et pour la comparaison de leurs performances respectives dans notre contexte particulier.