Construction d’une mesure de similarité thématique non supervisée pour les conversations (2024)

Abstract: La structure thématique d’une conversation représente la manière dont l’interaction est organisée à un niveau plus global que le strict enchaînement des interventions. Elle permet de comprendre comment la cohérence est maintenue sur le temps de l’échange. La création d’une mesure de similarité thématique qui donne un score de similarité à deux énoncés du point de vue thématique pourrait nous permettre de produire et d’analyser ces structures. Nous entraînons une mesure non supervisée, basée sur le modèle BERT avec prédiction de la phrase suivante, sur des conversations Reddit. La structure de Reddit nous fournit différents niveaux de proximité de cohérence entre des paires de messages, ce qui nous permet d’entraîner notre modèle avec une fonction de perte basée sur des comparaisons plutôt que sur des valeurs numériques attendues a priori. Cette mesure nous permet de trouver des ensembles d’interventions localement cohérents dans nos conversations Reddit, mais aussi de mesurer la variabilité en termes de thème tout au long d’une conversation.

## introduction l'enchaînement des thèmes d'une conversation donne un aperçu de la manière dont l'interaction est organisée à un niveau global. nous nous intéressons à la production d'une structure permettant d'analyser la dynamique des échanges au delà des énoncés eux-même. pour parvenir à ces dernières, nous nous intéressons à la cohérence thématique entre messages. la première étape est la segmentation en thème qui se définit comme la division d'un discours en morceaux localement cohérents. la plupart du temps, cette segmentation est linéaire, c'est à dire que les morceaux thématiquement cohérents se suivent linéairement, et aucune ou peu de structure entre les morceaux n'est mise en évidence. si cette approche peut donner de bons résultats sur des textes bien organisés et, dans une certaine mesure, sur des dialogues structurés tels que des comptes rendus de réunions, elle n'est pas aussi adaptée aux conversations informelles. par conséquent, la production d'une segmentation hiérarchique est essentielle pour modéliser des dialogues spontanés. étant donné la complexité de la modélisation hiérarchique des thèmes, en particulier pour ce type de conversations, qui plus est entre plusieurs intervenants, nous proposons de construire une mesure de similarité en thème qui fournit un score de similarité entre deux messages fondée sur leur proximité thématique. l'utilisation de cette mesure permet de trouver des ensembles localement cohérents dans le dialogue, et de manière plus large de mesurer la variabilité thématique tout au long de la conversation. puisque nous ne pouvons pas donner manuellement un score de similarité à des paires de messages, nous proposons d'utiliser des méthodes non supervisées pour entraîner cette mesure à partir de comparaisons. l'utilisation d'un ensemble de données où les interactions sont déjà organisées de manière hiérarchique nous fournit différents niveaux de cohérence que nous utilisons comme base d'entraînement. pour cela, nous nous basons sur le média social américain reddit que nous considérons comme un grand ensemble de messages, organisés en structures arborescentes, discutant d'une diversité de sujets et présentant différents formats de relations entre les messages (questions/réponses, discussion informelle, argumentation, etc.) nos contributions dans cet article sont de deux ordres : (1) la création d'un corpus à partir d'une extraction des données de reddit et (2) l'entraînement d'une mesure de similarité thématique de manière non supervisée à partir de ces conversations. nous appliquons également la mesure à notre ensemble de données pour identifier les ensembles de commentaires thématiquement cohérents, et nous procédons à une évaluation de cette cohérence par rapport au sujet initial le long de ces fils de discussion. nous donnons finalement des perspectives d'utilisation de cette métrique pour construire des représentations du dialogue. ## background les médias sociaux sont largement utilisés dans la recherche sur le discours comme sources de données @xcite @xcite . @xcite analysent la structure et le genre des dialogues tenus sur diverses plateformes de médias sociaux, ou encore @xcite travaillent sur l'identification de l'accord et du désaccord dans les conversations à partir des échanges publics sur les médias sociaux. diverses études s'appuient sur ces dialogues pour des tâches variées, par exemple sur la santé mentale @xcite @xcite , ou la reconnaissance des émotions @xcite . l'activité sur les réseaux sociaux est donc considérée comme représentative de la dynamique de l'interaction dialogique. si cela reste un usage particulier de la langue, cela nous permet de palier les difficultés de la production de transcription d'échanges réels. si reddit n'est pas le média le plus étudié @xcite , sa structure le rend particulièrement pertinent pour notre problématique. en effet, les messages sur reddit sont organisés de manière arborescente, avec un message initial (post) sur un sujet donné et des réponses à ce message ainsi que des réponses aux différentes réponses. à partir d'un post, des conversations se mettent en place, formant une extension arborescente en lien avec le thème de départ. sur cette structure, nous étudions la manière dont le thème évolue à partir du premier message au travers d'une séquence de réponses. nous souhaitons également comparer l'évolution de différentes séquences issues d'un même message initial. la section 3 détaille la structure utilisée par reddit. afin d'étudier l'évolution des sujets dans notre ensemble de données, nous suivons @xcite @xcite et construisons une mesure en nous appuyant sur la tâche de notation de la cohérence de paires de textes. la structure arborescente de reddit nous permet de générer un corpus de paires de commentaires présentant trois niveaux de cohérence thématique. pour cela, nous affinons le modèle next sentence prediction (nsp) de bert @xcite qui utilise la fonction de perte fondée sur le marginal ranking pour obtenir une mesure de similarité thématique. le modèle nsp bert a l'avantage d'être entraîné sur un large corpus de texte non annoté, et en particulier sur une tâche de jugement cohérence. de plus, les grands modèles de langage (llm), plus récents et plus puissants, basés sur les séquences, nécessitent des adaptations spécifiques afin d'être utilisés pour une tâche particulière comme l'évaluation de la cohérence. en effet, le fine tuning d'un llm pour qu'il produise des scores de cohérence nécessiterait un ensemble de données incluant ces scores. étant donné que l'attribution manuelle d'un score de cohérence à des paires de messages est une tâche complexe, s'appuyer sur différents niveaux de cohérence pour former un modèle est une solution de contournement qui nous parait plus prometteuse. ## données reddit est un réseau social américain où les utilisateurs peuvent faire partie de communautés définies par des sujets particuliers comme un hobby, une culture, ou le format d'un post par exemple. la structure de reddit est décrite dans la figure 1 . dans les communautés, appelées subreddits (figure 1a ), un utilisateur peut proposer un post qu'il rédige (figure 1b ) et les autres utilisateurs peuvent réagir à ce post / interagir avec ce post en écrivant à leur tour un message, considéré comme un commentaire (figure 1c ). un tel commentaire peut être une réponse directe à un post ou une réponse à un autre commentaire. la « discussion » ainsi créée à partir d'un post est organisée sous forme d'arbre dont la racine est le post initial et les noeuds sont les commentaires. nous utilisons cette structure pour former des paires de messages auxquelles nous attribuons plus ou moins de similarité thématique, et ce de façon automatique, comme nous l'expliquons dans la section suivante (section 4). bien que les messages récupérés ne soient pas à proprement parler du dialogue spontané oral, le format et l'organisation des commentaires nous permettent de considérer une dynamique d'interaction similaire à celle qui apparaît dans des conversations réelles. l'enjeu de la transcription est écarté, nous permettant de nous focaliser sur cette dynamique. ces conversations sont plus ou moins longues selon le fil et impliquent un nombre variable de participants. le corpus est constitué du contenu de cinq thèmes différents (donc cinq subreddits, qui seront décrits en annexe dans la version finale) afin d'avoir de la variabilité des contenus et de la forme des messages. l'api reddit nous permet de récupérer seulement une partie des données contenues dans un subreddit. nous pouvons obtenir jusqu'à cent threads (un post et l'ensemble de ses commentaires) dans un subreddit, ces threads pouvant être ordonnés de différentes façons (par exemple en fonction du nombre de votes positifs qu'ils ont récemment reçu, ou en fonction de leurs votes positifs depuis la création du subreddit). afin de récupérer des arbres de discussion de taille substantielle, nous avons décidé de récupérer les cent posts avec le plus de votes positifs depuis la création du subreddit. ainsi, ## modèle non supervisé notre objectif est donc d'entraîner un modèle pour construire une mesure de similarité thématique pour le dialogue. comme nous ne pouvons pas attribuer manuellement une valeur de similarité thématique à des paires de messages, nous adaptons le modèle de @xcite à nos propres données. ce modèle est entraîné grâce à une fonction de perte marginal ranking, ce qui signifie qu'au lieu d'apprendre à prédire un score précis pour une paire de commentaires donnée, il apprend à classer les paires de messages sur la base de leur similarité. nous nous appuyons sur la structure hiérarchique la structure de notre modèle est décrite dans figure 3. étant donné un commentaire c, nous récupérons un de ses fils, un de ses frères et un de ses neveux. les quatre messages sont segmentés et les trois paires (c, fils), (c, frère) et (c, neveu) sont créées. ces paires sont transmises à nsp-bert dont la sortie est ensuite transmise à un perceptron multicouche. nous utilisons la fonction d'activation linéaire rectifiée (relu) et un dropout de 10% entre les couches. la sortie finale est un score, ramené entre 0 et 1 avec une fonction sigmoïde, pour chacune des trois paires 3 figure 3 -description du modèle. ## expériences nous avons entraîné des modèles distincts pour chacun des cinq subreddits que nous avons récupérés. à chaque fois, l'ensemble des données est divisé en un ensemble d'entraînement et un ensemble de test dans les proportions 80%/20%. afin de maintenir un équilibre concernant la taille des fils de discussion, nous les sélectionnons pour l'ensemble de test en les classant par taille, c'est-à-dire le nombre de commentaires qu'ils contiennent, et conservons un fil de discussion sur cinq. pour la phase d'entraînement, nous extrayons également 10% de l'ensemble pour la validation.