---
title: IFT7022 - TP 3 - Commentaires Facebook en lien avec la presse écrite. Revue de littérature et mesure de la pertinence.
author: François Pelletier
date: \today
citation_package: natbib
numbersections: true
toc: yes
toc-depth: 1
lang: fr-FR
documentclass: "article"
fontsize: 11pt
geometry: margin=1in
bibliography: NLP-TP3.bib
csl: transactions-on-speech-and-language-processing.csl
fig_caption: yes        
header-includes: |
    \usepackage{float}
    \usepackage{booktabs,siunitx}
    \floatplacement{figure}{H}

---

\pagebreak

# Introduction

Les commentaires extraits des fils de discussions sur des publications Facebook constituent une nouvelle forme de discours, complètement différent des textes formatés et normalisés qui proviennent de médias écrits. Leurs caractéristiques distinctes en tant que type littéraire à l'intersection de la critique et du dialogue vont demander des adaptations dans le traitement du langage naturel. Les attributs linguistiques, les entités nommées, la prise de position et les relations entre les commentaires seront abordés. Puis, on présente différentes approches de modélisation. Un exemple pratique permettra d'illustrer plusieurs concepts et de tirer quelques premières conclusions.

# Attributs linguistiques

## Analyse du discours

Selon Baxter [@baxter_discourse-analytic_2010], l'analyse du discours, qui est principalement dérivée de la sociologie, se découpe en quatre composantes principales (p.11) :

- La variabilité du langage (adaptation à l'audience et au contexte)
- La nature du langage (descriptif, narratif, expressif ou humoristique)
- Le répertoire (vocabulaire, grammaire, figures de style)
- Les contextes sociopolitiques et psychologiques

**Observations **: Le sens propre de chacun des commentaires est influencé par ces éléments. Ils peuvent représenter des attributs dans un modèle de classification de la pertinence par rapport à l'article en référence. Il faut noter que le modèle pourrait être biaisé, par exemple, en favorisant les commentaires qui ont un vocabulaire soutenu, davantage descriptif et sur un ton professionnel, c'est-à-dire similaire au style journalistique. Ce dernier pourrait ne pas être davantage en lien avec le contenu de l'article qu'un commentaire humoristique avec un niveau grammatical faible. 

## Mécanismes d'emphase

Selon Liebeskind et al. [@liebeskind_comment_2018], les commentaires sur les réseaux sociaux présentent de nouvelles caractéristiques sémiotiques et linguistiques. En fait, on parle ici de sémiotique, car le discours n'est plus seulement signifié par des mots, mais aussi par des abréviations, des émojis, des onomatopées, des répétitions de caractères (en particulier la ponctuation). 

On ajoute une dimension linguistique, car en plus d'un jargon spécifique à ce type de communication, les commentaires sont souvent écrits dans un niveau de langage passant du soutenu au vulgaire dans le même fil de conversation. Ces différents comportements peuvent être rassemblés sous le nom de mécanismes d'emphase.

### Émojis et interjections

Les émojis et les interjections sont une composante essentielle des commentaires retrouvés sur les réseaux sociaux. Plus d'un commentaire sur huit contient un émoji.

Halté [@halte_les_2018] a étudié en détail le rôle des émoticônes (tels que `:-)`) et des interjections (tels que le fameux *lol*). Leur normalisation inspirée des caractères japonais est nommée `émojis` (néologisme qui relie l'anglais *emotion* et la racine japonaise *-ji* représentant la notion de symbole). Il précise d'ailleurs que des tests de substitution ou de suppression permettent d'identifier le rôle modal de ces expressions (une sorte de facteur multiplicatif de la polarité ou valence du texte). 

**Observations **: La portée d'une émoticône, tout comme la portée d'une négation, peut être déterminée en effectuant une analyse syntaxique par relations ou par constituants. Mais, règle générale, l'auteur remarque que la portée s'étend toujours sur les éléments qui précèdent l'émoticône. Ceci peut parfois limiter la recherche des fragments de la phrase qui en sont affectés (lorsqu'ils ne sont pas à la fin du commentaire).

### Majuscules, emphases et répétitions

Les commentaires sur les réseaux sociaux laissent aussi apparaître de nouveaux modes d'expressions basés sur la typographie. L'utilisation de majuscules est intuitive pour l'ajout d'emphase depuis des millénaires, selon le professeur Paul Luna [@robb_how_2014], et était utilisée par les empereurs romains pour illustrer la grandeur de leurs conquêtes. 

Cependant, leur usage moderne est davantage considéré comme l'expression de la colère. L'ajout d'astérique est aussi un marqueur d'emphase, principalement utilisé dans les groupes de discussion en ligne, et se substitue aux caractères gras ou soulignés disponibles dans les traitements de texte.

### Ponctuations

Plusieurs des auteurs cités dans ce rapport [@georgalou_discourse_2017], [@halte_les_2018], [@liebeskind_comment_2018] notent aussi la présence fréquente de successions de plusieurs signes de ponctuation ou de la même lettre dans un mot. C'est un moyen additionnel de mettre de l'emphase. Notons que le TweetTokenizer de NLTK [@bird_nltk:_2002] compte même un paramètre pour limiter le nombre de successions d'un même jeton.

### Impact sur la classification des parties du discours

Ces nouveaux attributs font de sorte qu'il ne sera plus possible d'utiliser avec autant de fiabilité les classificateurs de parties du discours (*part of speech*). Ils n'ont pas été conçus pour tenir compte de ces nouveaux éléments dans les phrases. Une approche retenue dans cette analyse pour augmenter la qualité de l'étiquetage est de séparer les émojis du contenu des phrases. Comme des modèles ne tiennent généralement pas compte de la casse ni de la présence de ponctuation à l'extérieur de la phrase, il ne sera pas nécessaire d'apporter d'autres modifications.

## Qualité des commentaires

Schultes et al.[@schultes_leave_2013] ont étudié les commentaires sur la plateforme de partage de vidéos YouTube. Le principal objectif était de classifier les commentaires selon différentes catégories de vidéos, en tenant compte à la fois des types de commentaires et de leur qualité. 

Les principaux constats de leurs travaux sont que les commentaires sont généralement mal perçus par les utilisateurs du site web, étant perçus comme agressifs, stupides et non pertinents par près de la moitié des utilisateurs. Environ un utilisateur sur huit serait enclin à laisser des commentaires, alors que plus de la moitié ne liraient que les premiers commentaires.

Les types de commentaires correspondent à leur rôle : participer à une discussion, décrire son expérience de façon substantielle constitue un commentaire de qualité supérieure ou au contraire, un commentaire avec une forte charge sentimentale serait de qualité inférieure. Pour mesurer la qualité, ils ont utilisé l'outil SentiStrength, un outil d'analyse de sentiment spécialisé dans les commentaires de réseaux sociaux, ainsi qu'une liste de marqueurs émotionnels. Pour mesurer la pertinence, ils ont mesuré l'appariement de mots-clés dans le commentaire avec le titre du vidéo. Enfin, selon cette étude, l'ensemble des commentaires effectués sur un vidéo permettraient en soi de fournir une description adéquate du vidéo.

**Observations **: On pourrait donc déduire, depuis ces travaux, que la pertinence d'un commentaire pourrait être mesurée par la contribution d'un commentaire individuel à cette représentation collective. Une hypothèse à valider serait de voir s'il est possible d'avoir cette même représentation du contenu des articles dans les commentaires qui leur sont associés.

# Entités nommées

## Lieu

Georgalou [@georgalou_discourse_2017] décrit différentes approches pour identifier les marqueurs de localisation dans les commentaires sur Facebook. Tout d'abord, il y a l'usage de toponymes et d'anthroponymes (en particulier les gentilés). La localisation peut aussi être liée à un élément culturel (site touristique, régime alimentaire, évènement), à une personnification (nationalité, appartenance ou personnalités politiques) ou à une relativisation (par des adverbes ou adjectifs démonstratifs).

**Observations **: Il sera essentiel de pouvoir ramener ces différents marqueurs de localisation à une forme normalisée pour en faire l'analyse et la comparaison avec les entités présentes dans le texte de l'article en question. De plus, il sera nécessaire ici de pouvoir utiliser une notion de méronymie ou d'holonymie dans la représentation pour en établir la pertinence. Un index géographique composé de données sémantiques telles que la base de données GeoNames sera très utile pour cette tâche.

## Temps

Toujours selon Georgalou, différents types de marqueurs temporels sont utilisés dans les commentaires. Ces marqueurs peuvent représenter des durées, des moments, des références à des évènements historiques ou culturels, mais souvent aussi une référence relative à l'âge (anniversaire, évènement, génération ou cohorte) ou à une expérience vécue par l'utilisateur. 

Le temps peut aussi être mesuré avec un nombre d'évènements. Certaines formes de ponctuation ou d'interjections peuvent exagérer la portée d'un marqueur temporel. On pourrait aussi ajouter la présence d'émojis représentant des concepts temporels. Tout comme pour les lieux, on peut aussi retrouver des adverbes.

**Observations **: Pour utiliser ces entités mentionnées dans les commentaires dans la mesure de leur pertinence, il sera nécessaire de:

- bien identifier les marqueurs de temps dans l'article;
- extraire les dates des évènements cités;
- mesurer les durées entre ces différents instants.

# Prise de parole

## Expertise

Georgalou démontre aussi l'usage des commentaires sur Facebook pour prétendre à une forme d'expertise, étaler sa culture et son éducation et aussi s'approprier la maîtrise d'un sujet. Le réseau social est utilisé pour projeter une image positive du niveau d'éducation par les utilisateurs. 

Cette expertise est illustrée par: 

- le choix de vocabulaire spécifique au domaine professionnel ou éducatif;
- l'usage de phrases impératives ou interrogatives;
- le jugement parfois sarcastique du travail des autres;
- l'ajout de références en lien avec le domaine d'expertise.

**Observations **: Pour mesurer la pertinence de cette expertise avec le contenu de l'article, il faudra identifier les principaux sujets de celui-ci. Puis, constater si au moins un d'entre eux correspond à l'expertise prétendue par l'utilisateur.

## Position

La prise de position relie le commentaire aux réalités socioculturelles traitées dans l'article journalistique. Ces positions sont exprimées par des adjectifs et des adverbes évaluatifs, des verbes affectifs et cognitifs, des modalités, des pronoms génériques, de l'ironie, des questions rhétoriques, des citations ainsi que l'utilisation de mécanismes d'emphase. On notera aussi l'usage de nombreuses images, notamment les *memes*, quoique ce n'est pas le sujet de ce rapport.

**Observations **: On remarque ici que l'on devra utiliser des étiquettes plus détaillées que celles qu'on retrouve notamment dans Universal Dependancies [@noauthor_universal_2019] pour identifier les parties du discours impliquées dans la prise de position. Pour ce faire, il sera nécessaire d'utiliser conjointement les parties du discours et une base sémantique telle que WordNet pour augmenter le niveau de détail contenu dans les étiquettes.

# Relations entre les commentaires

Halté [@halte_les_2018] caractérise le clavardage par:

- l'intermittence entre la discussion synchrone et asynchrone,
- la forte présence d'indices contextuels,
- les tours de parole segmentés, 
- les conversations entrelacées,
- la présence ou l'absence de séparations syntaxiques et 
- la présence de mécanismes d'emphase. 

**Observations **: Ces caractéristiques du clavardage sont à considérer dans l'étude de la pertinence des commentaires par rapport à un article. On ne retrouve pas seulement qu'une relation entre le commentaire et l'article, mais aussi un ensemble de relations entre les commentaires.

## Les types de relations

Ces types de relations peuvent, en quelque sorte, constituer une mesure qui représente la variable réponse dans un modèle de classification

- L'**intertextualité** se définit comme la relation du commentaire avec les commentaires précédents, ainsi qu'avec la publication originale. C'est le concept qui peut être représenté par une mesure de distance entre les commentaires, ainsi qu'entre un commentaire et la publication. Dans Facebook, les commentaires qui répondent à un autre commentaire sont organisés sous une structure parent-enfant.
- L'**interdiscursivité** se définit comme l'entrecroisement de différents dialogues indépendants, dans un même fil de discussion. 
  - Les commentaires peuvent ainsi parfois être associés à la mauvaise discussion et mener à des quiproquos ou à des interprétations humoristiques. C'est pourquoi sur Facebook, fort heureusement, plusieurs utilisateurs vont identifier l'interlocuteur précédent dans un commentaire à l'aide de son nom d'utilisateur. 
  - Il sera important de pouvoir associer le commentaire au bon fil de discussion pour en mesurer la pertinence. Pour identifier cette propriété dans les commentaires, un classificateur pourra apposer une étiquette à un commentaire qui indique à quel dialogue il appartient.
- La **multimodalité** se définit comme l'interchangeabilité des différents modes de communication au sein d'une même discussion. C'est l'aspect multimédia des discussions sur les réseaux sociaux, où le texte, les images et les vidéos se succèdent. 
  - On pourrait ici mesurer le nombre de changements de modalité du discours dans une même discussion. Il faut noter cependant que cette fonctionnalité peut être désactivée par le propriétaire de la page.

# Modélisation

## Représentation vectorielle

Étant donné que les commentaires sont de courts textes, souvent formés à partir d'un très lange lexique, en tenant compte des nombreuses fautes d'orthographe et mécanismes d'emphase, leur représentation sous forme vectorielle est très creuse. Il faudra donc nécessairement utiliser une forme de réduction de dimensions. Liebeskind et al. [@liebeskind_comment_2018] propose quatre approches : analyse sémantique latente (LSA), allocation dynamique de Dirichlet (LDA), projection aléatoire (Lemme de Johnson-Lindenstrauss) ou plongements de mots.

Comme nos commentaires ne sont pas étiquetés, nous devons utiliser un apprentissage non supervisé. Les deux approches consistent à construire soit un modèle commun pour les articles et les commentaires, ou deux modèles distincts. Afin d'avoir une représentation qui est davantage axée vers les thèmes généraux, les auteurs recommandent d'utiliser des vecteurs denses et cours, tout au plus quelques centaines.

## Classification de la pertinence

Selon les observations de Liebeskind et al. [@liebeskind_comment_2018], les principaux obstacles à la modélisation de la pertinence des commentaires est la présence de salutations et de commentaires obscènes, les nombreux sous-entendus entre les commentaires (contexte latent) ainsi que la présence de sarcasme. Les commentaires qui ont été classés comme non pertinents étaient principalement des références implicites ou des salutations.


# Exemple d'application

## Description des corpus de textes

Nous analyserons les articles provenant des pages Facebook de trois médias écrits francophones : Le Figaro (FIG), Radio-Canada (RC) et TVA Nouvelles (TVA). Pour chacun de ces médias, nous avons respectivement une publication Facebook contenant un lien vers un article journalistique, ainsi qu'un corpus de commentaires extraits depuis celle-ci.

\begin{figure}
\centering
\input{decompte_articles_medias}
\caption{Décompte des articles par médias}
\end{figure}

Le premier corpus étudié est constitué du texte des articles liés dans les publications (l'utilisateur de Facebook devant cliquer sur le lien pour y accéder). Le titre de l'article n'est pas inclus dans ce corpus. Le second corpus est constitué d'un ensemble de commentaires publiés par des utilisateurs du réseau social et associés à chacune des publications précédentes.

\begin{figure}
\centering
\input{decompte_comm_medias}
\caption{Décompte des commentaires par médias}
\end{figure}

Ces deux corpus ont été créés à l'aide des données de commentaires extraites depuis l'application en ligne exportcomments.com @noauthor_exportcomments.com_2019 dans des fichiers XLSX. Les fichiers ont par la suite été utilisés par les programmes Python suivants :

- `commentaires.py` pour extraire les commentaires depuis les fichiers téléchargés à l'aide de Pandas @mckinney_data_2010.
- `textes_articles.py` pour extraire les textes depuis les URL disponibles dans les fichiers, par récupération de données (*web scraping*), en utilisant la librairie Python `newspaper` @ou-yang_newspaper3k:_2019. Du même coup, cette librairie permet d'extraction d'entités nommées et l'étiquetage des parties du discours.
- `parsing_functions.py`: fonctions d'extraction communes

## Méthodologie et algorithmes

La plupart des analyses ont été effectuées à l'aide des différents algorithmes inclus dans la librairie NLTK et le logiciel Stanford CoreNLP [@manning_stanford_2014].

### Traitement des articles et des commentaires

La segmentation en phrases a été effectuée à l'aide de l'algorithme `PunktSentenceTokenizer` et la segmentation en mots à l'aide de `ToktokTokenizer` ou `TweetTokenizer`.

L'étiquetage des parties du discours et l'extraction des entités nommées dans les articles ont été effectués à l'aide de l'analyseur Stanford CoreNLP. Seules les étiquettes de parties du discours suivantes ont été conservées : `['ADJ',’ADV’,’INTJ’,’NOUN’,’PROPN’,’VERB’]` dans un dictionnaire Python. Les entités nommées ont aussi été enregistrées dans un dictionnaire Python.

Les programmes suivants ont servi au traitement:

- `traitement_articles.py`: traitement des articles
- `traitement_commentaires.py`: traitement des commentaires
- `pretraitement.py`: fonctions d'analyse communes

### Traitement additionnel pour les commentaires

Les références aux auteurs ont été identifiées listant les auteurs des commentaires , pour chacun des articles, puis en identifiant ceux-ci dans le texte des autres commentaires.

Puis, les émojis ont été convertis en texte à l'aide de la librairie `émoji` pour Python [@taehoon_kim_emoji_2019]. Ils ont aussi été extraits dans un dictionnaire Python.

La lemmatisation en français a été effectuée à l'aide du French LEFFF Lemmatizer de Claude Coulombe [@coulombe_french_2019], qui est compatible avec la syntaxe utilisée dans la librairie NLTK et les étiquettes de parties du discours utilisées dans WordNet.

On identifie les synsets réalistes pour chaque mot admissible depuis WordNet en convertissant les étiquettes de parties du discours identifiées depuis avec CoreNLP POS Tagger en étiquettes compatibles. On recherche ensuite le mot lemmatisé dans WordNet, et on filtre les résultats obtenus selon les parties du discours possibles.

## Analyse statistique des commentaires

Les différentes métriques ont été calculées et les graphiques créés dans le programme `analyse_articles.py`.

### Distribution du niveau de langage

![Nombre de jetons avec parties du discours dans WordNet, par commentaire, par média](g000.pdf)

On observe une médiane entre 2 et 5 pour le nombre de mots ayant une étiquette parties du discours et un synset dans Wordnet. Ce nombre est remarquablement plus élevé pour les commentaires sur les publications de RC. Dans presque tous les cas, il est possible d'utiliser au moins un synset pour inférer le sens de la publication et ainsi établir une relation sémantique avec l'article.

![Proportion de jetons avec parties du discours dans WordNet, par commentaire, par média](g001.pdf)

Dans plus de la moitié des cas, 75 % des mots ayant une étiquette parties du discours dans les commentaires sont présents dans WordNet. 

![Nombre de types de parties du discours avec classes fermées, par commentaire, par média](g002.pdf)

La majorité des commentaires contiennent entre deux et quatre types d'étiquettes de parties du discours.

### Distribution des marqueurs d'emphase

![Émojis les plus fréquents, par médias](g003.pdf)

Les émojis les plus fréquents, par une large proportion, expriment le rire. Le plus fréquent est *Face With Tears of Joy*.

![Nombre de mots en majuscules, par commentaire, par média](g004.pdf)

On retrouve généralement peu de mots en majuscules, mais les rares commentaires qui en contiennent en ont beaucoup. Cette caractéristique ne ferait cependant pas un bon attribut pour un modèle de classification.

![Nombre de ponctuations successives totales, par commentaire, par média](g005.pdf)

On remarque qu'il y a une quantité non négligeable de commentaires qui contiennent des ponctuations successives. Ce serait un attribut à considérer dans un modèle de classification.

### Indicateurs d'intertextualité

Le principal indicateur de l'intertextualité est la référence directe à l'auteur d'un commentaire précédent.

\begin{figure}
\centering
\input{decompte_auteur_refere}
\caption{Proportion de références d'auteurs, par médias}
\end{figure}

On remarque ici que la proportion de commentaires qui contiennent de telles références est constante et est aussi relativement élevée, peu importe le média. On pourrait donc conclure qu'il s'agit d'un attribut possédant de bonnes caractéristiques pour un modèle de classification binaire.

Un autre indicateur de l'intertextualité est l'usage de la deuxième personne, autant pour les pronoms que pour les articles possessifs. Cependant, ici, il n'est pas possible de savoir, sans devoir faire une analyse des coréférences, si la personne référée est l'auteur d'un commentaire ou une personne mentionnée dans l'article.

\begin{figure}
\centering
\input{decompte_2e_pers}
\caption{Proportion de commentaires avec des pronoms ou articles à la 2e personne, par médias}
\end{figure}

Cet indicateur possède aussi de bonnes caractéristiques pour être un attribut dans un modèle de classification.

## Analyse statistique des relations entre commentaires et articles

### Entités nommées en commun

Une façon d'évaluer la pertinence d'un commentaire est de dénombrer le nombre d'entités nommées communes entre ce commentaire et l'article auquel il réfère. Ici, on calcule, pour chaque commentaire, le nombre d'entités en commun avec l'article, puis on effectue la moyenne par article. Cette statistique est représentée sur la figure qui suit.

![Nombre moyen d'entités nommées en commun entre le commentaire et l'article, par article et par média](g006.pdf)

On remarque que le nombre moyen d'entités référées par commentaire est d'environ 1/5. On peut donc dire qu'en moyenne, 20 % des commentaires réfèrent à une entité nommée de l'article. Afin d'augmenter potentiellement ce nombre, on pourrait étendre la liste des entités nommées à l'aide de relations sémantiques de méronymie.

### Groupes sémantiques en commun

Une autre façon d'évaluer la pertinence est d'accumuler tous les synsets possibles d'un article et de chacun de ses commentaires et de calculer l'intersection de ces ensembles. On calcule ensuite la proportion des synsets provenant du commentaire qui se trouvent dans l'intersection. Enfin, on calcule la moyenne, par article, de cette proportion. On a donc un indicateur moyen de la distance sémantique entre l'article et l'ensemble de ses commentaires.

Note : on calcule ici une proportion étant donné le nombre variable de synsets par parties du discours.

![Proportion moyenne de synsets en commun entre le commentaire et l'article, par article et par média](g007.pdf)

On remarque ici une grande différence entre les distributions de cette statistique parmi les médias. Une hypothèse à vérifier serait que celle-ci permettrait de dresser un portrait global de la relation sémantique des commentaires produits par les abonnés d'un média aux articles publiés par celui-ci.

# Conclusion

Dans ce rapport, on aborde les caractéristiques propres aux commentaires sur les réseaux sociaux. On décrit plusieurs approches possibles pour créer des attributs pour un modèle de classification de la pertinence. Des liens sont établis avec la plupart des techniques traditionnelles d'analyse et traitement du langage naturel. De plus, on présente certaines caractéristiques propres aux commentaires. Enfin, un exemple d'application est étudié et illustré avec plusieurs statistiques sur les attributs potentiels dans la modélisation. Les entités nommées et la sémantique pourraient représenter des composantes importantes pour mesurer la pertinence des commentaires.

\pagebreak

# Références

