Simon Besga
email: simon.besga@lirmm.fr

Exploring assisted scene understanding in virtual reality: Task-based and human behaviour-based approaches Système d'aide en réalité virtuelle pour la compréhension de scène de crime : design centré humain VS design centré tâches

Keywords: computing → Virtual reality Interaction technique, virtual reality, adaptive computing, cognition, models

We aim to extend the design space of help systems in virtual reality for data exploration by putting an emphasis on real time human behaviour analysis. We presented and evaluated a help system model using a task-based and a human behaviour-based approaches.

CCS CONCEPTS

• Human-centered

évaluons un modèle de système d'aide utilisant une approche basée sur les tâches et une approche basée sur le comportement humain.

MOTS CLÉS

Techniques d'interaction ; réalité virtuelle ; adaptation automatique ; cognition ; modèles.

CONTEXT

Key challenges have been raised by Immersive analytics' community, and of these, we focus on two in particular: 1) the changing of analysis process using immersion; and 2) the idea of combining human and computer intelligence [START_REF] Ens | Grand Challenges in Immersive Analytics[END_REF][START_REF] Skarbez | Immersive Analytics: Theory and Research Agenda[END_REF]. Boger et al. [START_REF] Boger | Jurassic Mark: Inattentional Blindness for a Datasaurus Reveals That Visualizations Are Explored[END_REF] highlighted that people do not see what they are not focused on and thus miss the obvious elements of their environment. So relying only on environment structure and tools is not perfect to perform analysis, in particular during exploration of data, when you are unsure what your searching for [START_REF] Idreos | Overview of Data Exploration Techniques[END_REF]. In this paper we want to build an informed environment that includes a help system for exploration.

Literature also raised the question of user empowerment in visualization research and noticed the relevance of designing systems, especially immersive ones, as superpowers providers [START_REF] Sadeghian | From Limitations to "Superpowers": A Design Approach to Better Focus on the Possibilities of Virtual Reality to Augment Human Capabilities[END_REF][START_REF] Willett | Perception! Immersion! Empowerment!: Superpowers as Inspiration for Visualization[END_REF]. Willett et al. [START_REF] Willett | Perception! Immersion! Empowerment!: Superpowers as Inspiration for Visualization[END_REF] built a framework to understand cognitive mechanisms behind super-powers description in fantasy and science fiction. With our helping system, we focused on enhancing 3 specific cognitive mechanisms, attention, recall and comparison, described to induce super-deduction power. Our approach here is to provide an adaptive help according to the human-behaviour. To do so, our help system will tackle real time recognition and exploitation of humans affective and cognitive states (described deeply by Luong et al. in [START_REF] Luong | A Survey on Affective and Cognitive VR[END_REF]), in order to enhance aimed cognitive mechanisms. In summary, helping systems in VR present mainly a task-based approach. In data exploration context, a human behaviour-based approach can be more relevant now that physiological data is widely use for cognitive state estimation in VR. This work is at the frontier of adaptive VR systems and cognitive science usage in VR.

HYPOTHESES Hypotheses formulation

Data analysis can be biased by task designers [START_REF] Dimara | A Task-Based Taxonomy of Cognitive Biases for Information Visualization[END_REF] and there are different interesting level of details during exploration. Data exploration efficiency can either be based on the main points of interest discovery, either on small or edgy points of interest discovery. We considered the helping system model described in Figure 1. Which helping system approach gives the best trade-off between efficiency and unbiased exploration ? To tackle that question, we consider 3 variations of our system: [V.1] There is no helping system. [V.2] Our helper decision model has access to data-based & tasks_based knowledge, Adaptive virtual environment model for data analysis helping system. Each blue element is a unit of the model. They communicate to evaluate which helper is needed for the user. In dark pink and light pink are shown where the two approaches (tasks_based and behaviour_based in that order) impact help system logic.

VR Simulation Human

i.e. only light pink elements in Figure 1. [V.3] Our helper decision model has access to data-based & behaviour_based knowledge, i.e. only dark pink elements in Figure 1 Based on these variations, our hypotheses about our model are the following: [H.1]: Overall performance during a data exploration phase is better using V.3 than V.1, which means that using a behaviour_based only approach is valid.

[H.2]: Main performance during a data exploration phase is better using V.2 than V.3, which means that a tasks_based approach is more efficient for the focus on main points of interest. [H.3]: Even if the help system may reduce user experience comparing to V.1, using V.3 will provide a better user experience than V.2. [H.4]: Performance on edgy points of interest during a data exploration phase is better using V.3 than V.2, which means that a behaviour_based approach is more efficient for unbiased exploration. In order to conduct a user study validating the model's hypotheses described above, we defined the study hypotheses and users tasks to carry on. The experiment uses a between-subjects design, where each of the 66 participants experienced one of 3 helping system. We selected a crime scene understanding use-case (see Figure 2) where our model would display predefined helpers. Figure 3 shows a helper example. Here, stolen objects positioning and scenario understanding are the main points of interest guiding the exploration. However, spatial understanding of the room and attention to details are also evaluated, even if they are may not directly linked to the main interests points. User experience was also assessed. Therefore, our 4 main categories of evaluation are : Narrative recall, Spatial understanding, User experience, and Attention to scene's details.

Hypotheses evaluations

RESULTS

Results show that [H.1] seems validated, [H.2] et [H.4] seems inconclusive and [H.3

] seems partially validated. Moreover, two different strategies arose: On the one hand it seems that a task based approach makes users more focus on exploration's main elements. Their confidence in the acquired knowledge is increased and tend to be very careful on non explored elements. On the other hand, a behaviour approach makes users more aware of The strategy used is more exploratory and tackle all information available even if it may not be relevant in the end.

FUTURE WORK

During my Phd, I am seeking to develop recognition and usage of cognitive mechanisms in VR. With this work I tried to validate that helping system can be used to impact cognitive mechanisms, with a focus on attention, recall and comparison mechanisms. My next step is developing cognitive illusions concept in VR, in order to design useful interaction technique based on biases usage.

Figure 1 :

 1 Figure1: Adaptive virtual environment model for data analysis helping system. Each blue element is a unit of the model. They communicate to evaluate which helper is needed for the user. In dark pink and light pink are shown where the two approaches (tasks_based and behaviour_based in that order) impact help system logic.

Figure 2 :

 2 Figure 2: The reconstructed office to explore in VR. It shows the room where the robbery occurred. In the scene, 12 orange crime scene markers have been placed. 8 are showing the correct location of stolen objects, 4 are decoys

Figure 3 :

 3 Figure 3: Example of visual helping system used for tasks_based and be-haviour_based.


Francois Criscuolo
email: francois.criscuolo@iphc.cnrs.fr

Vincent A Viblanc

Carsten Schradin

Solitary living species age too, and fast!

Lidsky and Andino claim the pathogen control hypothesis (PCH) has more explanatory power than current theories on the evolution of ageing [1]. The PCH

that selection for shorter lifespans is adaptive because it protects close kin (carrying the same alleles for shorter lifespans) from fitness-reducing infections [START_REF] Lidsky | Could aging evolve as a pathogen control strategy?[END_REF].

While host-pathogen interactions might influence the evolution of lifespan and senescence, it cannot replace other theories. It lacks generality, relies on assumptions that do not hold across senescing species, and does not consider four important aspects of evolutionary and ecological theory. First, it assumes population viscosity, ignoring numerous species of strong dispersal capacity and low viscosity. Second, it has weak explanatory power for species with solitary living (see Glossary) social organization, i.e. the majority. Third, it overlooks pathogen fitness and evolution. Finally, it assumes no mortality in young years, while differential mortality risks among age classes are well-known to affect ageing differently among age classes, likely shaping lifespan evolution. Finally, it does not consider other important selection agents in the evolution of lifespan.

The claim that the PCH explains shorter lifespans and the "absence of mutant variants that do not age" needs to be rejected. There is a simple way to test this: do species where kin selection plays no role have longer lifespans and mutant variants that do not age? Unlikely.

Most animal species are solitary, making indirect fitness benefits due to a reduced spread of infectious diseases by early death very low. If kin selection has indirect fitness benefits due to shorter lifespans, this effect should be stronger in social species.

Empirical data show the opposite: social species tend to live longer, not shorter [START_REF] Vágási | Is degree of sociality associated with reproductive senescence? A comparative analysis across birds and mammals[END_REF].

Similarly, the PCH does not account for differences in selection pressure related to age (age-dependent mortality) or between short-and long-lived species Thus, the PCH prediction of short-lived workers dying faster from pathogens to protect breeding Queens is not always upheld. Further, Queen phenotypes have been demonstrated to be the consequence of specific interactions with the workers and larvae, rather than due to pathogen-related selection [START_REF] Majidifar | Ontogeny of superorganisms: Social control of queen specialization in ants[END_REF]. Social immunity (disease-shielding provided by colony organization) in fact protects Queens, but also short-lived nurse workers and eggs [START_REF] Stroeymeyt | Social network plasticity decreases disease transmission in a eusocial insect[END_REF]. Current studies on Queen longevity provide more support for an indirect effect of eusociality on immunity, rather than an immune root of eusocial evolution and differential caste longevity.

We agree with Lidsky and Andino that infectious diseases are an important selective agent shaping the evolution of lifespan, but disagree that the PCH can explain more than previous theories. The explanatory power of the PCH is restricted to "viscous populations" where neighbors are close kin due to reduced dispersal. In nature, this is the case in relatively few animal species, most species being solitary living. We consider that Lidsky and Andino are overgeneralizing a mechanism that only operates under a restrictive range of conditions and is unlikely universal in nature. More caution and consideration of other selective agents is needed to understand the evolution of ageing.

GLOSSARY

Age-dependent mortality: differences in the rate of mortality of individuals that belong to different age-classes within a given population. This is mostly attributed to genetically induced changes in longevity. Environmental factors act on longevity by affecting the ageindependent component of the mortality rate.

Social organization: describes the social composition of groups (e.g. adults, juveniles, kin, nonkin) Solitary living: is said of species where both adult males and females sleep and forage alone and only meet for courtship and mating.

[ 3 ]

 3 . The present formulation of the PCH only considers old-age mortality as an influence on senescence evolution (see Box Figure IA in [1]). Refining the PCH to account for age-dependent mortality across the lifespan may yield better insights into the potential role of parasites in shaping longevity. At present, the PCH only considers the higher mortality of older individuals, putatively promoting the survival of younger kin because these have higher short-term fitness perspectives. The way pathogen and kin selection interact to affect the evolution of ageing largely depends on how age-dependent mortality modulates population (demography) and individual (survival) fitness. In long-lived species, individual fitness depends more on a decrease in longevity than in short-lived species [3], and so selection pressure against pathogen virulence decreasing adult survival (rather than fecundity as stated by the PCH) should be stronger in the former. If environmental-driven mortality is enhanced by pathogen virulence, the most parsimonious hypothesis for the evolution of ageing is not differential mortality of long-lived individuals, but selection of stronger immune resistance (see box 1). The way individuals are affected by given pathogens depends on pathogen virulence, ranging from high to mild. This has led to coevolution of virulence and host immune responses with effects on host (ageing) phenotype and fitness [4]. The PCH only considers chronic sterilizing pathogens (a restricted set of organisms). Lindsky and Andino should clarify how pathogen-inflicted mortality is likely to modify the PCH predictions on ageing evolution, as well as how chronic infections will affect differently individual fitness in long-and short-lived species, in which transient impaired annual fertility unequally determines lifespan reproductive success. Overall, the PCH considers the perspective of the host in terms of the evolution of resistance to pathogens, but so far fails to integrate pathogen fitness and virulence evolution. The example of eusocial ants as a support for the PCH [1] is questionable. In some species, Queens live ten times longer than workers [7]. If an immunological basis is possible, it is not fully demonstrated. Some studies have found decreased expression of immunological markers In queens [8], while others have shown elevated expression of immune genes [9] or the existence of pathogen-independent age-related pathways [10].

BOX 1 :

 1 A counter-example of the PCH: the canine distemper virus and ageing in wolves Pathogens can alter survival indirectly via selection for stronger immune systems and the resulting trade-off with other energy-consuming traits (life history trade-offs). In wild wolves (Canis lupus) differences in fur coloration (black versus grey) are due to a specific gene (K and B alleles of the CBD103 locus). The K allele provides disease resistance against the canine distemper virus (CDV), but at the cost of lower reproductive fitness [5]. Interestingly, as predicted by the PCH, KK homozygotes suffer from lower survival rates, while KB heterozygotes have higher reproductive success under high pathogen pressure. Yet, KB individuals have similar survival rates than BB (non-resistant) individuals [6]. While allele frequency varies with CDV, the persistence of the K allele thanks to heterozygosis has no apparent impact on ageing rates, likely because selection processes (e.g. sexual selection) other than PCH act on a large number of pathways with pleiotropic effects on ageing.


Samy Benslimane
email: samy.benslimane@lirmm.fr

Jérôme Azé
email: jerome.aze@lirmm.fr

Sandra Bringay
email: sandra.bringay@lirmm.fr

Maximilien Servajean
email: maximilien.servajean@lirmm.fr

Caroline Mollevi
email: caroline.mollevi@chu-montpellier.fr

A Text and GNN Based Controversy Detection Method On Social Media

Keywords: Controversy detection, Graph neural networks, Hierarchical graph representation learning, Attention-based graph embedding, Social media

Introduction

Social media and their popularity and ease to use increased substantially people connectivity. Opinions on different life and society topics (scientific, ethic, political, religious, etc.) are expressed, shared and discussed more than never. Expressed opinions often trigger fierce and sometimes endless debates, and frequently cause polarization and controversy. A controversial content can simply be defined as any content that attracts both positive and negative feedback [START_REF] Hessel | Something's brewing! early prediction of controversycausing posts from discussion features[END_REF]. Indeed, polarization stigmatizes user's behaviors in presence of controversial topics [START_REF] Beelen | Detecting controversies in online news media[END_REF][START_REF] Garimella | Reducing controversy by connecting opposing views[END_REF][START_REF] Garimella | Quantifying controversy on social media[END_REF].

Automatic controversy detection can be helpful. For instance, people can be warned by the existence of a controversy to add some nuance to better understand some issues. Objective information could also be brought to people to prevent misinformation or hateful discussions [START_REF] Garimella | Reducing controversy by connecting opposing views[END_REF]. Detecting a content as non controversial is also helpful as it shows that people agree on a given issue.

Automatic controversy identification is difficult and constitutes a challenging task as it should be done on a large number of continuously evolving posts covering a wide range of topics. This difficulty is increased by the fact that controversy is sometimes time-aware (what is controversial today was not necessarily controversial in the past) and community-aware (what is controversial in a community is not necessarily controversial in another community) [START_REF] Jang | Modeling controversy within populations[END_REF]. Controversy analysis on Web pages or articles is usually based on features extracted from the content [START_REF] Sznajder | Controversy in context[END_REF][START_REF] Jang | Probabilistic approaches to controversy detection[END_REF]. However, on social media, the interaction between people is widely used to detect controversy. These interactions include social relation (retweet and follow on Twitter, comment on Reddit) [START_REF] Garimella | Quantifying controversy on social media[END_REF][START_REF] Morales | Measuring political polarization: Twitter shows the two sides of venezuela[END_REF] and citation relation on Wikipedia [START_REF] Jang | Improving automated controversy detection on the web[END_REF].

Graphs, as a nonlinear data structure, are often used as a powerful tool to model complex network data in different fields including molecular networks, protein interactions, human interactions in social networks. Using graphs to model complex systems can help to characterize patterns, and then improve the performance of data analysis tasks such as, for instance, protein prediction and face recognition. Unfortunately, classical graph analysis techniques do not scale and present high computation cost in the case of large graphs due to their high dimensionality. Graph embedding techniques [START_REF] Kipf | Semi-supervised classification with graph convolutional networks[END_REF][START_REF] Velickovic | Graph attention networks[END_REF][START_REF] Hamilton | Inductive representation learning on large graphs[END_REF] are recently proposed for the need of transforming large, sparse and high-dimensional graphs into low-dimensional and dense vector spaces while preserving graph structure properties. Each graph node/edge is encoded in a latent low-dimension vector space with a smaller dimension. Classical downstream graph analytic tasks can then be performed on the learned latent graph embeddings instead of performing them on the original graph. As a consequence, graph analytic are computed much faster and more accurately. Figure 1 illustrates an example of discussions on two social media. The left side of the figure concerns Reddit and is about death penalty. It shows that a user can directly react to a post or a comment by writing a support/against/neutral text. In some cases, the user text does not include an explicit opinion. The discussion on Reddit can be seen as a post-comment tree with the initial post as the root, and the text is connected to the text it comments. The right side of Figure 1 concerns Twitter and is about Netanyahu speech. Users retweet tweets when they agree on its content. Expressing their own opinion needs a new tweet which is not connected to the first one. Social media can differ in many aspects, including their way to manage privacy (more important on Reddit than on Twitter) or the quality of delivered information (more verification on Reddit than on Twitter). But the most important difference regarding controversy analysis is probably the action proposed to users, which will define their way of conduct. For instance, the retweet is a fundamental action on Twitter and allows a user to express endorsement to tweet content. Such action is not offered by Reddit where only a comment action is allowed to express his/her opinion on a given post/comment. It is then not easy to design a controversy approach that works on any social media, and existing approaches are in general specific to only some social media. Fig. 1 Toy example of 2 controversial topic situations on Reddit and Twitter. Left: Reddit discussion, where controversial post leads to discussion/debate and users respond to other users under comments. Right: Twitter discussion, where users "agree" with other users on their point of view (when we only refer to the retweet action). Therefore, we have less discussion about POV, but more user standing by lead users of their respective community.

The originality of our approach firstly resides on using very recent stateof-the-art gnn methods to embed user nodes in a low d-dimensional space and take into account structural information (such as local/global information from neighbor nodes), and represent the final graph representation used for the classification task using different pooling approaches. On Reddit, initial text representations of a user are learnt from their comments on the current post. On twitter, tweets are used as input of our gnn-based approaches. To the best of our knowledge, only Zhong et al. started to use gnns to represent the graph on one type of social media -Reddit -building their post-level controversy detection method by directly exploiting the comment-tree structure [START_REF] Zhong | Integrating semantic and structural information with graph convolutional network for controversy detection[END_REF]. Our work, on the contrary, exploits the user's interaction graph built from either the comment-tree structure (Reddit case) or retweet graph (Twitter case) and compare multiple state-of-the-art (gnns) methods to combine both structural and content information.

Contribution. This paper is an extended version of our work published in [START_REF] Benslimane | Controversy Detection: a Text and Graph Neural Network Based Approach[END_REF], including an extended version of the literature, a generalisation of the approach to a second social media (twitter) and more experiments using sampling methods on the twitter graph. We consider controversy detection as a graph classification problem when most of existing approaches, except [START_REF] Zhong | Integrating semantic and structural information with graph convolutional network for controversy detection[END_REF], are based on clustering techniques. We explore the use of GNN techniques to classify the entire graph that represents a discussion, but instead of defining a graph of texts (which text is connected to which text, user entity is absent) as done in [START_REF] Zhong | Integrating semantic and structural information with graph convolutional network for controversy detection[END_REF], we opted for a graph of users to represent who interacted with whom. We also associated to each user node the set of texts a user wrote to represent who said what and use BERT model to capture the local information of texts. We then proposed to use two different strategies to embed the entire graph. The first strategy exploits hierarchical links that may exist between user nodes. Graph information is aggregated across the edges iteratively and in a hierarchical way. We rely on the diffpool approach to encode the whole graph by stacking several pooling layers [START_REF] Ying | Hierarchical graph representation learning with differentiable pooling[END_REF]. The second strategy is based on an attention mechanism [START_REF] Zhang | Improving attention mechanism in graph neural networks via cardinality preservation[END_REF]. Each user node judges which user neighbor is more or less important than the other, during the node embedding process, according to the structure and the features of the graph. The experiments we conducted on Reddit and Twitter platforms show that embedding user graph by only exploiting user interactions on a given topic gets good performance compared to our baseline. The exploitation of local information via Bert model applied to texts of each user helps to improve the performance of the approach.

The rest of this paper is organized as follows. Section 2 provides an overview of related work. Section 3 describes the different datasets collected from Reddit and Twitter platforms. Section 4 presents our approach to automatically detect controversy on social media. Its different stages are described and formalized. Section 5 presents the performance experiments and discusses the obtained results for both Reddit and Twitter social media. Section 6 concludes the paper and highlights some future work.

Related Work

This section presents an overview of the different works related to the controversy analysis problem in the context of social media, and the main GNN-based text classification approaches.

Graph Information-based Controversy Detection

Graph information-based controversy analysis approaches are mainly based on three steps: graph building to represent a topic discussion in terms of nodes and interactions between these nodes, graph clustering to partition the built graph into two disjoint sets which probably represent the two sides of the discussion, and controversy measure to quantify to what extent a topic is controversial. In [START_REF] Garimella | Quantifying controversy on social media[END_REF], Garimella et al. introduced a random-walk-based controversy measure adopted now in different works. It also studied the controversy analysis on four types of graphs: a retweet graph built to represent who agrees with whom on a given topic, a follow graph which focuses on who is connected to whom on the social media, a content graph which links users who share some keywords, and a sentiment graph is built to represent who share with whom the same opinion on the topic. The study shows the usefulness of the retweet graph compared to the others graphs information. Although the proposed approach is language and domain independent and can then be applied easily to any topic discussion, it nevertheless presents the drawback in order not to take advantage of extra information that represents the graph attributes (number of tweets per user, number of followers, etc.).

This drawback is addressed in some approaches. For instance, Emamgholizadeh et al. propose in [START_REF] Emamgholizadeh | A framework for quantifying controversy of social network debates using attributed networks: biased random walk (BRW)[END_REF] to analyse controversy in attributed graphs, graphs with extra information on the nodes and/or edges. A biased random walks controversy measure is proposed to take into account all added information. In the same way, Hessel and Lee in [START_REF] Hessel | Something's brewing! early prediction of controversycausing posts from discussion features[END_REF] combine structural features (number of comments, max depth/total comment ratio, average node depth, etc.) of a post-comment tree of a Reddit discussion with textual features outputted by language models such as BERT [START_REF] Devlin | BERT: pre-training of deep bidirectional transformers for language understanding[END_REF]. In [START_REF] Mendoza | GENE: graph generation conditioned on named entities for polarity and controversy detection in social media[END_REF], Mendoza et al. considers the entities involved in a given discussion. Comments of users on relevant named entities, eventually polarized, that appear in the news are exploited to infer the tendency nature (positive, negative, neutral) of these users towards the named entities. The user graph generation is then conditioned on the usernamed entity relationship. In [START_REF] Zarate | Vocabulary-based method for quantifying controversy in social media[END_REF], authors exploit the vocabulary associated to the communities to measure the controversy by detecting if the discussion has one or two principal jargon in use. All these approaches show that the structure of the graph alone is not sufficient to quantify the controversy level in some cases, and using additional extra information can help.

It is known that controversy analysis faces the echo-chamber phenomena, the situations where like-minded people reinforce each other's opinion and may not have the opportunity to be exposed to the opposite views. To limit the impact of such echo-chamber, Garimella et al. propose in [START_REF] Garimella | Reducing controversy by connecting opposing views[END_REF] to reduce the random walk controversy score by modifying the structure of the retweet graph. New edges are automatically added to materialize connections between users with opposite views. Controversy quantification reduction is formally defined as an edge-recommendation problem and aims to compute a fixed number of new edges between existing nodes that minimise the random-walk controversy score. Experimental evaluation shows that adding edges between nodes with highest node degree performs the highest decrease of controversy score. The interesting point of this approach is that it succeeded to decrease the impact of echo-chamber phenomena in a language and domain independent manner, just by computing who can be connected to whom from the opposite side. Unfortunately, it is not clear how this approach can be adopted when the graph includes diverse information such as tweets content, user profile, etc. Reducing the echo-chamber phenomena remains an open challenge in controversy analysis approaches that combine structural and textual information. Our proposed approach does not tackle this important issue. Most of the graph-based controversy analysis approaches suppose that polarized discussions are characterized by modular communities. In [START_REF] Guerra | A measure of polarization on social media networks based on community boundaries[END_REF], Guerra et al. reject this hypothesis and consider that the traditional modularity polarization metric is not necessarily a sufficient metric since non-polarized networks may also be divided into modular communities. A community boundary based on polarization metric is defined to better differentiate polarized and non-polarized networks. A concentration of high-degree nodes in the boundary of communities is proposed to characterize polarized and non-polarized communities. They empirically demonstrate that polarized communities are more likely to exhibit low concentration of high-degree nodes along the boundary.

Stance detection is also used to quantify controversy [START_REF] Rashed | Embeddingsbased clustering for target specific stances: The case of a polarized turkey[END_REF]. Stance detection aims to identify the position (Supporting, against, neutral, ...) of a user towards a given entity (topic, person, etc.). A subset of users are labelled with their stances. These labels are obtained manually for some users, the very active ones, and automatically for others by using label propagation method along with user retweet behavior. Labelled users and their different features types are used to train classification models (SVM and FastText) to guess the stances of the unlabeled users. Stances of users are used to cluster users prior to apply controversy measures to quantify controversy. This approach is interesting and exploits recent techniques on classification and label propagation but unfortunately it presents the drawbacks of needing to manually label some users and favor active users over non active ones.

All the above approaches are based on the clustering technique. In [START_REF] Zhong | Integrating semantic and structural information with graph convolutional network for controversy detection[END_REF], Zhong et al. consider controversy detection as a graph classification and rely on Graph Convolutional Networks (gcn). A reddit graph is built in which each node corresponds to text (post or comment) and an edge between two nodes exists when one comments the other one. Convolution operation is used to generate node embeddings. These latters are aggregated to represent the graph embedding. Classification layer determines then if the embedded graph is controversial or not. Authors also argue that exploiting only semantic and structural features of comments attached to the target post is not sufficient and propose to exploit the related posts on the same topic. This approach is the first study which focuses on gnn for controversy analysis and provides good results. Nevertheless, it presents some limits. The comment-tree structure of a post completely ignores the user who wrote the post/comments, and may not include other types of user behavior such as retweet. The graph embedding strategy is simple (aggregation of all node embeddings) and considers all texts (nodes) at the same level. The use of inter-topic relation might interfere too much with the main detection task.

Our approach considers the controversy detection in the context of social media. It can work on Reddit, Twitter and any other social network. In term of data modeling, interactions between users and exchanged messages/texts are represented as a user graph. Such a graph is extracted from the social media itself, namely from the post-comment tree of a Reddit discussion, the retweet actions of users, etc. Texts that a user exchanges with others are embedded with BERT technique. [START_REF] Zhong | Integrating semantic and structural information with graph convolutional network for controversy detection[END_REF] relies on advanced graph representation learning, like our approache, using gnn techniques to embed the whole graph including the text features. Plus, two different controversy strategies are proposed during the graph embedding: hierarchical graph representation learning and attentionbased mechanism.

GNN-based Text Classification

Controversy detection, as many other domain applications (Fake news detection, product name categorization in e-commerce, etc.), can also be studied from the text classification perspective. Text representation learning is an important phase in text classification and is performed by using different deep learning models such cnn, rnn and more recently gnn. Text GCN, a gnn-based text classification method, is proposed for the first time in [START_REF] Yao | Graph convolutional networks for text classification[END_REF]. Text classification is viewed as a node classification problem, and a single heterogeneous text graph is built from the entire corpus with two types of nodes (word nodes and document nodes) and two types of weighted edges (word co-occurrence between two word nodes, word frequency between word node and document node). A two-layer gnn exploits the built graph to learn word and document embeddings and to classify documents. Although the use of gnn for text classification is interesting and produces interesting results, unfortunately it suffers from two limitations. The method is not adequate for short texts, as short texts present sparse textual features. The method captures global information present in the entire corpus and unfortunately ignores local information that could be present in each sentence. Short texts related limitation are addressed by mainly integrating additional information: extracted topic information is added to the document representation as a new type of node [START_REF] Ye | Document and word representations generated by graph convolutional network and BERT for short text classification[END_REF], similarity scores between user behavioral data are added as a new edge between short text sample nodes [START_REF] Tayal | Short text classification using graph convolutional network[END_REF]. Local information-related limitation is addressed in [START_REF] Zhang | Every document owns its structure: Inductive text classification via graph neural networks[END_REF] by avoiding to represent the entire documents by a single graph. Authors opt to represent each document by an individual graph and to train gnn on a subset of documents to discover word-word relations. These latters are then generalized to the new documents in the test set. The same representation, one graph per text, is adopted in [START_REF] Yiping | Bert-enhanced text graph neural network for classification[END_REF][START_REF] Lu | VGCN-BERT: augmenting BERT with graph embedding for text classification[END_REF] but the gnn model is coupled with Bert model for each text to represent both semantic and structural information of each single text.

Discussion

To the best of our knowledge, [START_REF] Zhong | Integrating semantic and structural information with graph convolutional network for controversy detection[END_REF] is the closest work to ours and the only approach that considers controversy detection as a deep graph classification problem. Our approach is different from the approach presented in [START_REF] Zhong | Integrating semantic and structural information with graph convolutional network for controversy detection[END_REF] from mainly two perspectives: graph data representation perspective and graph embedding perspective. From the graph data representation perspective, authors of [START_REF] Zhong | Integrating semantic and structural information with graph convolutional network for controversy detection[END_REF] consider each post or comment as a node in its own, and an edge indicates which comment comments which post/comment. Such graph aims to represent what is said, related to what. The user entity is completely ignored. This means that each node embedding corresponds to a contextual embedding of one and only one text (post or comment), and each text is embedded without taking into account who said what. In our data graph representation, the user entity plays an important role and all texts (post, comment) belonging to the same user are gathered and associated to its user. The texts of the same user are contextually embedded as one text unit. Our graph representation correspond to who said what. Ignoring user entities in graph representation as presented in [START_REF] Zhong | Integrating semantic and structural information with graph convolutional network for controversy detection[END_REF] limits the possibility of the approach to include additional information. It will not be possible for instance to include without redundancy profile and meta information of users in the node features. Our approach allows this and can include any data that could describe users. Authors of [START_REF] Zhong | Integrating semantic and structural information with graph convolutional network for controversy detection[END_REF] do not consider how their graph representation can be adopted for the case of Twitter Platform. We think that the graph representation in [START_REF] Zhong | Integrating semantic and structural information with graph convolutional network for controversy detection[END_REF] is not appropriate for the Twitter platform for two main reasons: (1) it is not obvious to represent Twitter actions such as retweet and follow in the graph representation, and (2) representing each tweet as a node will increase the computation cost of the graph embedding. Our graph representation is appropriate for both Reddit and Twitter platforms. From graph embedding perspective, authors of [START_REF] Zhong | Integrating semantic and structural information with graph convolutional network for controversy detection[END_REF] adopted a gcn-based technique to embed nodes and aggregate then the obtained node embeddings to compute the whole graph embedding. In our work, we propose two strategies to embed the whole graph. The first strategy exploits the hierarchical links that could exist between nodes and graph information is aggregated across the edges iteratively and in a hierarchical way. To do so, 2 gnns are used at each layer. The first one is used to learn the node embeddings and the second one is used to learn how nodes can be hierarchically coarsened. The second strategy we propose exploits the attention mechanism to allow user nodes to select a subset of neighbors during the embedding process according to the structure and the features of the graph. A pooling function is then applied to construct graph representation. The attention mechanism is also used in [START_REF] Zhong | Integrating semantic and structural information with graph convolutional network for controversy detection[END_REF] but only for the need of inter-topics detection to disentangle features related and not related to the topic.

Data sources

As we explained in Section 1, each social media has is own code of conducts, features that represent different user behaviors. For example, Reddit is considered a forum, where everyone comments directly on a post, or produces one. Twitter is considered a micro-blog, where everyone can post but also endorse point of views of other users, by sharing their post (e.g Retweet). Moreover, users can have different feelings about those social networks, where communities can have more confidence in one rather than another. That is why we decided here to evaluate the performance of our approaches with different datasets, on 2 different social media. We present, on the next part, the two used social media.

Reddit dataset

We first exploit different real-world Reddit dataset, in English, released by Hessel and Lee [START_REF] Hessel | Something's brewing! early prediction of controversycausing posts from discussion features[END_REF]. The same dataset is also covered by Zhong et al. [START_REF] Zhong | Integrating semantic and structural information with graph convolutional network for controversy detection[END_REF].

Reddit is an American social forum. User can submit content to the site such as links, text posts, images, and videos, which are then voted up or down and commented by other members. Posts are organized by subject called subreddits, which cover a variety of topics such as news, politics, religion, science, movies, etc.

The collected data covers a period from 2007 to February 2014. It contains 6 specific online channels (also called subreddit): AskMen (am), AskWomen (aw), Fitness (fn), LifeProTips (lt), personnalfinance (pf), relationships (rs). On Reddit, each user can comment on a post (threads) which is related to a specific topic (subreddit). Each subreddit contains a set of posts. Metadata and a tree-comment structure are associated to each post. Only comments that were written at most 3 hours after the concerned post are used. Finally, only posts with a total of at least 30 comments are kept, assuming that less than 30 comments are not enough to build a significant graph. Each post is automatically labelled controversial or not controversial, depending on various post meta-data [START_REF] Hessel | Something's brewing! early prediction of controversycausing posts from discussion features[END_REF], among them the ratio between up-votes and down-votes 1 . Indeed, here posts that have received many up-votes and down-votes should be considered as the most controversial. The data is separated into 6 datasets, corresponding to each subreddit. Each subreddit s gets a set of user graphs G s , with one graph per post (each set having at least 1000 posts).

Twitter dataset

Twitter is a micro-blogging and social network, where users post and interact with tweets. Users can post, like, retweet and quote different tweets. As explained earlier, Twitter presents many advantages compared to other social media. First, Retweet is considered as an endorsement, meaning that a user agrees and supports the contain of the original tweet. Moreover, Twitter is one 1 Up-vote and down-vote indicate agreement and disagreement on the post.

Table 1 Information on data retrieved in [START_REF] Garimella | Quantifying controversy on social media[END_REF] for each different topic. The first 9 topics represent controversial topics, where the last 6 non-controversial topics. of the most used social media for public debates and is also used to report news about current events. Therefore, the available data is bigger than any other social network. It allows us to work with more global information and reduce the variance of our data. However, it is complicated to capture only tweets of a particular topic, so the noise (tweets not belonging to the concerned topic) can be a disadvantage. We retrieved our data from [START_REF] Garimella | Quantifying controversy on social media[END_REF]. Indeed, the authors selected 20 different topics (10 controversial and 10 non-controversial), related to different events or public persons. After selecting the common hashtags related to each topic, we proceed to data collection, using these hashtags as queries via the twitter API. The tweets collected by the authors were published between February 27 and Jun 15 2015. However, the authors have released only tweet ids for 15 topics, and 9 topics of these 15 are controversial2 . Moreover, not all tweets are still present on Twitter databases. Different reasons could explain that, as they could have been deleted by their respective authors or by moderators. As we want to compare our performance with and without incorporating textual features to users, we decided to only create graphs from tweets retrieved, for more fairness. We then collected all tweets that were still available, from the tweets ids released in [START_REF] Garimella | Quantifying controversy on social media[END_REF], and create future graphs from it. We got an overall 56.5% rate of tweets found, with a 293 146 average tweets by topic, which is considered good enough to capture the structural information for our task. Different statistics of the data we used are presented on table 1.

From this data, we create user retweet graphs, representing, for each topic, a graph where users (nodes) are related to each other if one has retweeted another at least once (edge). We suppose that this graph representation will help us representing community cluster on controversial graphs, as explained in [START_REF] Garimella | Quantifying controversy on social media[END_REF]. Using the same method in [START_REF] Garimella | Quantifying controversy on social media[END_REF] with metis 3 , graphs are partitioned into 2 communities, to see if the tweets retrieved for each topic is enough to capture the structural information. Figure 2 shows a controversial retweet graph (Netanyahu speech) which presents a well-separated graph, compared to the non-controversial graph about the "sxsw" conference.

Graph Neural Network-based Controversy Detection Approach

This section describes our post-level controversy detection approach. The main idea is to exploit both text content and user interactions by representing the Reddit or Twitter discussion as a user graph and exploring advanced gnn embedding techniques. The method is based on Graph Neural Network (GNN) to improve the structural feature representation of the graph. Figure 3 presents an overview of our approach. We divide our pipeline into four sequential stages: Graph Building, User Feature Extraction, Graph Embedding, and Graph Classification.

The graph building stage represents data extracted as a user graph. We represent the initial comment-post tree as a graph on Reddit and the Retweet flow as a graph on Twitter. Nodes represent users and edges correspond to the interactions that exist between users. Each node can be represented by different features representing the user, such as user-id, age, location, texts, etc. In our case, only user textual comments/posts will be used. The user feature extraction stage enriches graph nodes by adding textual embedded features. These features are computed by using state-of-the-art NLP techniques. This allows to better interpret the texts that users sent out. The graph embedding stage computes the embedding of the whole graph. Different advanced gnnbased graph representation learning techniques are used, namely diffpool [START_REF] Ying | Hierarchical graph representation learning with differentiable pooling[END_REF], gcn [START_REF] Kipf | Semi-supervised classification with graph convolutional networks[END_REF], and gat-gc [START_REF] Zhang | Improving attention mechanism in graph neural networks via cardinality preservation[END_REF]. Finally, the graph classification stage predicts the binary label associated to the whole graph, that is to classify a post as controversial or not.

Controversy detection Problem Definition

Controversial content refers to any content that attracts both positive and negative feedback. Considering that data related to a discussion is represented as a graph (graph of texts, graph of users), controversy detection aims to classify any new graph based on graphs already labeled as controversial or not controversial. More formally, we define controversy detection problem as follows:

Definition 1 Let G be a set of graphs, and G L = {(G 1 , l 1 ), . . . , (G i , l i ), . . . (Gn, ln)} be a set of labeled graphs: G i ∈ G is a graph representation of a given discussion, and l i its corresponding label (1 if controversial, 0 otherwise). The controversy detection problem is defined as a classification problem, and our objective is to learn a mapping function f : G → L = {0, 1} that assigns a label (0 or 1) to each unlabeled graph based on the labeled graphs G L .

Graph building

Existing controversy detection methods [START_REF] Hessel | Something's brewing! early prediction of controversycausing posts from discussion features[END_REF][START_REF] Zhong | Integrating semantic and structural information with graph convolutional network for controversy detection[END_REF] on Reddit use the classic comment-post tree representation as they mainly focus on the structure of the discussion. However, many research works have established that user interaction can be helpful to extract different features on social media that can improve the controversy detection. In this work, we adopt a graph representation of a discussion to highlight these user interactions. Given a discussion on a post (thread) p extracted from a subreddit s, we build an undirected graph where a node u i represents a user involved in the discussion. An edge (u i , u j ) is created when a user u j responds to the post p or any comment posted by u i . It is worth mentioning that our graph representation does not allow multiedges. This means that when users u i and u j respond to each other, only one undirected edge is represented. Indeed, some investigations we conducted (visualization of the tree-structure, textual comparison of post-comments and comment-comments) showed that differentiating different edges between two nodes do not necessary add more useful information that we can expect it.

Concerning Twitter data, multiple user graphs can be created for the data made available by the API, such as follow graph, retweet graph, quoted graph, or even hybrid graph combining multiple types of edges. To get closer to experiments on Reddit, we decided to stay with the creation of retweet (RT) graphs. To remain consistent with Reddit notation, we build, for each topic p, an undirected graph where a user node u i is linked to another user u j if one have retweeted the other at least once. RT graphs have interesting properties, such as good representation of user interaction and community separation, as figure 2 shows. As explained in the section 3, Twitter graphs are too large to be processed correctly on our models, so we sample each of our graph, in order to reduce the sample size. Sampling experimentation will be explained in more details in the experimentation section.

More formally, a post (topic for twitter) p is represented as a graph G = (U, E, X) where U = {u 1 , u 2 , ..., u n } denotes the user nodes, E = {(u i , u j )} 1≤i,j≤n denotes the edges of the graph, and X ∈ R n×e , e being the feature dimension, denotes the user node features matrix. Each node corresponds to a unique user, and an edge between two nodes exists if there are interaction links between the corresponding users. The computation of the matrix X is described in section 4.3.

User feature extraction

In order to bring valuable information to the graph representation, user features are extracted from the posted texts by using advanced NLP techniques. Recently, different NLP language models pre-trained on a large corpus have been proposed to improve the dynamic text representation, such as BERTbased models [START_REF] Devlin | BERT: pre-training of deep bidirectional transformers for language understanding[END_REF]. The user features extraction is performed for each user as follows.

For Reddit, each message (post or comment) a user u i posts is firstly cleaned (reddit tags and url link removed). and is then embedded in an edimensional vector by using a language model based on BERT. Then, as Figure 4 shows, the text will be split into different tokens, using a special tokenizer 4 with an already set vocabulary list, plus special tokens [cls] and [sep]. The [cls] tokens represent the classification token, the one used when applying classification task with this model. Then all tokens will go through the BERT-based language model with multiple self-attention layers [START_REF] Devlin | BERT: pre-training of deep bidirectional transformers for language understanding[END_REF] and return an e-dimensional embedded vector for each of this token. Finally, we use the [cls] token embedding as the vector representation of the text. The embedded vectors obtained from the different messages posted by a user u i are aggregated to form the final user features x ui as shown in equation 1.

x ui = Aggregation [x 0 ui , x 1 ui , ..., x m ui ] (1)
where x j ui ∈ R e is the individual e-dimensional embedded vector computed from the j th message of user u i and m is the number of messages a user u i posted. The aggregation of the embedded text vectors is performed via the Max-pooling function, but any other aggregation function can be used. Concerning Twitter graphs, each user u i is represented only by its original tweets. After pre-processing and cleaning those original tweets, we passed them through the language model and, as for Reddit users, aggregate them to get the user feature vector x ui . If a user does not have any original tweet on the current topic (he only retweeted tweets of other users), we set a default vector which will be represented as their features. Features of each user u i is stacked on a matrix X ∈ R n×e . The user graph G = (U, E, X) is now fully represented and includes node textual features. It will also be referenced by (A, X) where A represents its adjacency matrix.

We can now focus on adding structural information in our graph representation. For the next couple sections, we consider Reddit and Retweet graphs as the same.

Graph embedding

The graph embedding stage aims to encode the whole user graph in a lowdimensional vector. This latter will fed the graph classification stage to predict if a post is controversial or not. Recently, different gnn-based approaches were proposed to adapt deep learning architectures to the graph structured data [START_REF] Kipf | Semi-supervised classification with graph convolutional networks[END_REF][START_REF] Velickovic | Graph attention networks[END_REF]. The main idea is to consider each graph node as a computation node, and to learn classical neural network primitives that compute node embeddings.

This stage relies on gnn architectures with the objective to exploit both user node features computed in the previous stage and the user graph structure. The output is the embedding of the whole graph denoted by z G . Learning individual node embeddings denoted by z ui is also performed as an intermediate stage. We propose in this paper two main strategies to embed the whole graph for the controversy detection needs. These strategies rely on hierarchical representations of graphs, convolutional networks, and attention-based graph representations.

Hierarchical graph representation learning-based strategy.

Classical gnn for graph encoding are known to be flat. They only propagate information through edges before using a simple aggregation-pooling layer (such as MAX or MEAN pooling) of all resulted node embeddings. The strategy we propose in this section exploits hierarchical structure that may exist in the user graph structure. Thus, in the whole graph encoding process, graph information are aggregated across the edges iteratively and in a hierarchical way. At each iteration, user nodes who interact with each others are grouped. By doing so, we give more importance to the interaction information held between users. This could help the model to understand some behaviors, and capture important features to classify the topic as controversial or not. We rely on the diffpool [START_REF] Ying | Hierarchical graph representation learning with differentiable pooling[END_REF] approach which encodes the whole graph by stacking several pooling layers. Each pooling layer is composed of two distinct gnn: one, called gnn embed , learns user nodes embeddings H, and the other, called gnn pooling , learns an assignment matrix S that indicates which user nodes are assigned to which cluster. The matrix S is used to coarsen the graph. As depicted in Figure 5, the functioning of the pooling layer at level (l) is described as follows:

1. Node embedding generation. We first apply the gnn (l) embed to the graph obtained at level (l) represented by its adjacency matrix A (l) , and its node features matrix H (l) . As described in equation 2, the result is an intermediate node embeddings H ′(l) ∈ R m×d ′ , with m number of nodes of the initial graph of the layer, and d ′ the new dimensional features.

H ′(l) = gnn (l) embed A (l) , H (l) (2)
2. Matrix cluster assignment learning. We then use the gnn pooling to learn a new assignment matrix S (l) to indicate which nodes of the graph at layer (l) will be clustered together to form a new coarser node at layer (l). The l) and H (l) represent the adjacency and feature matrices of the input graph at layer (l) respectively. gnn embed and gnn pooling are the two gnn blocks used to respectively compute node embeddings H ′(l) and assignment matrix S (l) . The pooling operation block converts the input graph (A (l+1) , H (l+1) ) into a new coarsened graph (A (l+1) , H (l+1) ).

matrix assignment is represented by the equation 3:

S (l) = gnn (l) pooling A (l) , H (l) (3)
3. Nodes and features pooling. We finally aggregate nodes belonging to the same cluster and their features from H ′(l) using the assignment matrix S (l) to output a new coarser graph represented by its adjacency matrix A (l+1) and features matrix H (l+1) . This pooling operation is done as follows:

A (l+1) = S (l) T A (l) S (l) (4)
H (l+1) = S (l) T H ′(l) (5)
Figure 6 shows how an example of a graph is represented through the different steps of a layer in our Hierarchical graph representation learningbased strategy. The new output coarsened graph represents the graph input for the next layer, where node embeddings has been computed using the H and S matrix of the current layer.

We can notice that the number of nodes is decreasing at each new layer (l). At the first layer (l=0), A 0 and H 0 correspond to the adjacency matrix A and the feature matrix X of the initial user graph respectively. The last layer L is a single cluster node, and represents the final vector embedding z G of the whole graph.

In our work, only one kind of gnn is used: Graph Convolutional Networks (gcn) [START_REF] Kipf | Semi-supervised classification with graph convolutional networks[END_REF].

GCN. Graph Convolutional Networks (gcn) [START_REF] Kipf | Semi-supervised classification with graph convolutional networks[END_REF] achieved state-of-the-art performance in several benchmark dataset, and can accurately represents on a d-dimensional space local neighborhood of a node, in addition to encoding node features. gcn, based on spectral graph theory, aggregate neighbors representation with itself using Adjacency and Degree matrix (respectively A and D) of our user graph G to get a latent representation of each of its node. We apply here a linear transformation to learn a weight matrix W (l ′ ) for each layer l ′ . We update all node representation using the following propagation rule:

H (l ′ +1) = σ( D-1/2 Ã D-1/2 H (l ′ ) W (l ′ ) ) ( 6
)
where à and D are respectively the adjacency and degree matrix summed up with the identity matrix (with a self-loop connection to also represent its old embedding). H (l ′ +1) is the current new representation of all nodes, and H (l ′ ) the previous one (at the first layer, H (0) = X). σ is an activation function (ReLU in this case, except for the last layer where a Sof tmax function is used).

In our work, we apply a 2-layer gcn, to have a good balance between both local and global information in our representation. H (2) will be our final node matrix representation, where H (2) ∈ R N ×d ′ , d ′ being the new node feature dimension.

Attention mechanism-based user pooling strategy

This strategy is based on attention-based node embedding and allows each user node to judge which user neighbors are more important than the others during the node embedding process, according to the structure and features of the graph. Once node embeddings are generated, they are aggregated to produce the node embedding of the whole graph. The attention mechanism (gat) with cardinality preservation [START_REF] Zhang | Improving attention mechanism in graph neural networks via cardinality preservation[END_REF] is used to differentiate user neighbors by assigning them different scores. This attention mechanism is similar to the Transformers block used in BERT [START_REF] Devlin | BERT: pre-training of deep bidirectional transformers for language understanding[END_REF] for language modelling.

Let Ñ(ui) be the multi-set of first-order neighbors of node u i , including u i itself. This second strategy is described as follows:

1. Neighbors attention score. For each node u i ∈ U, and each user neighbor u j ∈ Ñ(ui) , we first compute the attention score e uiuj by using an attention function a on transformed features represented by the matrix W (l) of the current layer (l) for both nodes, as described in equation 7:

e (l) uiuj = a W (l) h (l) ui , W (l) h (l) uj (7)
2. Attention scores normalization. We then normalize scores using a softmax function to get a probability distribution of each score.

α (l) uiuj = sof tmax(e (l) uiuj ) = exp(e (l) uiuj ) u k ∈ Ñ(u i ) exp(e (l) uiu k ) (8)
3. User node embedding. The normalized scores are then used to compute the new user node representation h

(l+1) ui h (l+1) ui = σ uj ∈ Ñ(u i ) α (l) uiuj W (l) h (l) uj ( 9
)
with σ a non-linear activation function, h

z G = ∥ (L) l=0 READOUT {h (l) ui u i ∈ U } (10)
This attention mechanism presents multiple advantages, in addition to stateof-the-art results in many benchmark graph classification tasks and interpretability. It allows the use of fixed number of parameters, and therefore does not depend on the graph size. It also presents transductive and inductive capabilities.

Graph Classification

The graph classification stage aims to classify the post represented by its graph embedding as controversial or non-controversial. To do so, we simply rely on a classic multi-layer perceptron classifier with the vector z G as input. A Softmax activation on the output layer of dimension 2 is used.

Experimental Evaluation

We implemented our approach and conducted experiments on both Reddit and Twitter to show the applicability of our approach to different social media.

Reddit experiment

Datasets preparation

Data we collected from Reddit and presented in Section 3.1 are used for the need of our Reddit experiments. We first separate our data according to the 6 subreddits. For each subreddit s, we create a set of user graphs G s , one graph per post, each set having at least 1000 posts. We then define G s,train and G s,val as our train and validation graph set respectively, all equally balanced between controversial and non-controversial posts. Considering all aspects and few more experiments, we only evaluate our approach on the same validation set. The accuracy metric is used to compare the performance of our approach to some existing ones as the dataset is equally balanced. We separately train the NLP model for user texts representation learning and the gnn for structural information learning.

Baseline

We compared our approach with the following representative works on controversy detection. These works are selected for mainly two reasons. First, we share the same controversy detection objective with the aim to cover both textual and structural aspects. Secondly, the experiments are based on the same Reddit datasets. Note that those methods perform a k-fold to evaluate their performance, using average accuracy as their metric.

• (POST (Text+Time)) [START_REF] Hessel | Something's brewing! early prediction of controversycausing posts from discussion features[END_REF]. It only focuses on the posts content. It uses language modelling based on BERT [START_REF] Devlin | BERT: pre-training of deep bidirectional transformers for language understanding[END_REF] and extra-features based on the post timestamp of the post. • (C-{Text Rate Tree} + Post) [START_REF] Hessel | Something's brewing! early prediction of controversycausing posts from discussion features[END_REF]. It is based on a simple binary classifier. Textual embeddings of a post are combined with structural features of the comment-tree (average representation of text comments, depth of the tree, etc.) of the post and are used as input of the classifier. We compare post with comment during the first hour and the first three hours. • (DTPC-GCN) [START_REF] Zhong | Integrating semantic and structural information with graph convolutional network for controversy detection[END_REF]. It is based on a Disentangled Topic-Post-Comment Graph Convolutional Network. Controversial posts are identified by using gcn model and by learning structural features. The model is experimented for inter-topic detection, where all posts are gathered together in one dataset.

First experiment: Controversy detection based on structural information

We implemented our gnn-based controversy detection approach in PyTorch. The hierarchical graph representation learning is based on diffpool [START_REF] Ying | Hierarchical graph representation learning with differentiable pooling[END_REF] and gcn [START_REF] Kipf | Semi-supervised classification with graph convolutional networks[END_REF]. We refer to it as HRL-GCN (Hierarchical Representation Learning based on gcn). We also tested our strategy by using one and two pooling layers, respectively. For each pooling layer, a 3-layer gcn is used. We rely on the same loss and optimizer functions used in diffpool experimentation [START_REF] Ying | Hierarchical graph representation learning with differentiable pooling[END_REF]. The attention-based node learning is based on gat [START_REF] Velickovic | Graph attention networks[END_REF], using gat-gc method, with the same hyperparameters used in [START_REF] Zhang | Improving attention mechanism in graph neural networks via cardinality preservation[END_REF]. We refer to it as ARL-GAT.

We also tested this strategy with two different node aggregators to compute the whole graph embedding, namely mean and sum pooling functions. Both gnn-based strategies are trained with a learning rate at 0.01, a batch size at 32 during 100 epochs. Table 2 shows statistics on the different datasets.

First experiments are performed without text representation to underline the importance of structural interaction between users in controversial discussion. Table 3 reports the accuracy results where the first four lines correspond to the baseline and the last four lines correspond to our experiments' results. The accuracy of the different methods are shown for each subreddit (am, aw, fn, ls, pf, rs) we described in section 3, except for the DTPC-GCN method for which the accuracy is related to the whole dataset.

As shown in Table 3, our hierarchical approach HRL-GCN gets the best results among our experiments, with a weighted average accuracy at 70.6 using only one pooling layer. Our Attention-based approach ARL-GAT reaches 66.8 and 66.2 with the sum and mean aggregator, respectively. HRL-GCN beats the DTPC-GCN [START_REF] Zhong | Integrating semantic and structural information with graph convolutional network for controversy detection[END_REF] method and the hybrid method proposed by Hessel and Lee [START_REF] Hessel | Something's brewing! early prediction of controversycausing posts from discussion features[END_REF] with comments of the first hour for almost every dataset. Our proposed method (HRL-GCN, pool=1) gets around state-of-the-art results on several datasets, even going up to 74.6 accuracy in the aw dataset, beating results in C-{Text Rate Tree} + Post with comments of more than the first three hours. As the am dataset is the biggest dataset, it could mean that our approach generalizes better when data are abundant, and less when data are sparce. As explained in [START_REF] Hessel | Something's brewing! early prediction of controversycausing posts from discussion features[END_REF], not enough comments are available for each dataset of the baseline. Indeed, when the subreddit AskMen (am) has in average 10 comments after 45min, Relationships (rs) does not even have those after 3 hours. With more available comments, we might have a better embedding representation of our graph, which could lead to a better performance.

Table 3 shows that our attention-based approach ARL-GAT, combined with the mean-aggregator, performs well in the three first datasets, beating our best baseline method on fn, with an accuracy of 72.4 on the validation set. On the other hand, it under-performs on the other three, falling to 53.7 on pf. pf and rs already have low results on our baseline, which means that the data is difficult to understand. This could also be explained by the fact that those 3 subreddits have the least average number of comments (as shown in Table 2), and therefore user node has less neighbors. Attention scores are in fact less useful in these cases. In general, higher average degree of nodes could lead to a better performance.

Second experiment: Controversy detection based on textual content and structural information

We conducted a second experiment to study the impact of adding textual node features to our gnn-based architecture. Instead of considering all options of our gnn-based architecture shown in Table 3, we only considered our hierarchical representations strategy HRL-GCN, with one pooling layer, as it realises the best accuracy scores. The Text features of comments and posts are extracted using different language model based on BERT, and are aggregated by user to be used as the initial features of our user nodes. We use different models to extract those features:

• PT model. It only uses the pre-trained features to get the message representation. The last layer (768 dimensions) is outputted as our text embeddings. • FT itself model. We fine-tune [START_REF] Sun | How to fine-tune BERT for text classification?[END_REF] a BERT model using comments and posts of our train set G s,train , with an extra-layer of 64 neurons on top, in addition to the classifier layer. We label each comment with the controversy label of its respective post. Note that each subreddit is fine-tuned separately as we suppose that different communities express themselves differently, and texts can be interpreted differently. • FT sentiment model. We fine-tune a BERT model using sentiment analysis with another Reddit dataset of comments (hosted on kaggle.com), labeled as negative, positive or neutral. Indeed, we suppose here that sentiments can outline users' behavior on controversial posts. • PT lstm model. To counter the fact that Reddit messages have no limitation and are long texts, we create chunks of fixed-size (200 words with a fifty-word overlap) for each message, and extract their embedding from the pre-trained BERT model. Based on the idea in [START_REF] Pappagari | Hierarchical transformers for long document classification[END_REF], we then train a bi-LSTM model with each chunk embedding, following the same principle as in FT itself to finally get an overall message embedding. In all cases, we use the 'base-bert-uncased' version (with its corresponding tokenizer), with 12 transformer layers and 110 millions parameters. For time and memory performance, we only use 256 tokens max per text (instead of 512, as Table 2 shows that in average, less than 3% of the messages are represented by more than 256 tokens). For fine-tuning models, we used the same hyperparameters used in [START_REF] Sun | How to fine-tune BERT for text classification?[END_REF]. Table 4 shows the new accuracy scores obtained by incorporating text features in our HRL-GCN strategy.

For five of the six datasets, adding textual features improve, even slightly, controversy detection results. Our HRL-GCN strategy, merged with features from the pre-trained BERT combined with a bi-LSTM (PT lstm), gets better results when using aw, fn, ls, pf datasets, with 74.8, 72.3, 68.9 and 70.7 accuracy result respectively. However, the combination does not increase performance on the am dataset, where adding only the pre-trained (PT) BERT features improve accuracy to 70.8. Adding sentiment features from FT sentiment allows us also to increase accuracy from 67.9 to 68.6 on ls. However, it does not perform as well as the PT lstm. The complexity of the data and the fact that datasets might be too small compared to the number of features (which goes up to 768 when using PT model) could also explain why our gnn-based models over-fit on some datasets, and therefore do not improve accuracy results. The dimension reduction applied in the last layer of PT lstm helps to reduce this problem. Figure 7 shows the importance of comments availability. It reports accuracy results evolution over time (minutes) of three datasets when using our best HRL-GCN strategy combined with text features from PT. It clearly shows that the more available comments we have, the easier it is to detect controversy. Moreover, regarding Table 2, it could also explain why our method gets lower results on subreddit lt and rs compared to other datasets.

Twitter experiments

We also conducted experiments of our approach on a second social twitter, namely Twitter.

Datasets preparation

Data we collected from Twitter and presented in section 3.2 are used for the need of our Twitter experiments. Our main concern on Twitter experiments are the large size of the retweet graphs on one hand and the few number of graphs we can obtain (only 15 available topics). To address these two issues, we relied on graph sampling and data augmentation techniques.

Graph sampling methods. The different 15 graphs gathered in the set G s are unfortunately too large to be handled by our models, even with a small batch size. At each step (epoch) of the learning process, the learning model takes the whole graph as input. On Reddit post-comment tree, the average number of user is 65. With an adjacency matrix of size n² (with n number of users), the memory can support it. However, we work on a different scale on Twitter, with an average number of user around 52 000 on our graphs. Therefore, the RAM of our server can not support it, even using one only batch, so we quickly got out of memory. Therefore, graph sampling techniques are needed to reduce the size of our different large graphs. Graph sampling methods aim to derive a small and similar graph from an original huge graph [START_REF] Hu | A Survey and Taxonomy of Graph Sampling[END_REF]. The sampling operation consists in selecting a subset of vertices and/or edges of the original graph. In our conducted experiments, we relied on three sampling methods -ISRW, FF and TIES -to reduce the size of large graphs generated from twitter5 .

Induced Subgraph Random Walk Sampling (ISRW). It is an oriented sam-

pling node and it is based on the classic Random-walk sampling algorithm. It first randomly picks a starting node. Then, it runs a random walk, by selecting, randomly, a neighbor node on the graph. The algorithm continues until we reach the required node sample size. To avoid obtaining nodes with smaller degrees than in the original nodes, ISRW adds a graph induction step to select additional edges between sampled nodes with the aim to restore connectivity and get a better structure similarity with the original graph 2. Forest Fire (FF). It is also a node oriented sampling method. It randomly picks a seed node and begins what is called "burning" outgoing edges, and their corresponding nodes. If a link gets burned, the node at the other endpoint gets a chance to burn its own links. This process is recursively repeated for each burnt neighbor until no new node is selected. This process is run again with a new random node as starting node, until the desired sample size is reached. 3. Total Induction Edge Sampling (TIES). Contrarily to the two methods above, TIES is an edge oriented sampling method. It runs iteratively, by picking an edge at random from the original graph and adding both nodes to the sampled node set at each iteration. It stops adding nodes once the target fraction φ of nodes is collected. After this, the algorithm proceeds to the graph induction step where it walks through all the edges in the graph and forms the induced graph by adding all the edges which already have both end-points in the sampled node set.

Graph samplings are different in their strategies, the resulted graphs are therefore not similar. Figure 8 shows that the ISRW and TIES sampling methods seem to be better to represent a similar general view of the original controversial graph, as we can see that the two communities are well represented and separated. However, as TIES works with edge sampling, it requires access to the whole edge set. As in many large graph examples, the number of edges could be very important compared to the number of nodes, TIES can become less computing efficient when applied to very large networks. Therefore even if we test both options, we make the preliminary assumption that if we have to choose between those two methods, ISRW would be more suitable. On the other hand, FF method seems to focus on representing other aspects of the graph. Moreover, Figure 9 shows the same conclusion on non-controversial graph, as it seems to be less separated. Graph Data augmentation. Contrary to Reddit, where it is easy to collect many topics around a subreddit, it is complicated to locate topics on Twitter, and therefore retrieve them. As we got too few training samples, we used the leave-one-out method to split the data into 15 folds. Therefore, only one graph will be used in the test set G i,val and the 14 others will be used as training samples G i,train at each time i. The accuracy of our model is computed as the average accuracy computed from the different folds. The test graph will be reduced as well by using the different sampling methods ISRW, FF and TIES. This implies that we train 15 different models for each experiment. To counter the too few number of graphs available in the full set G, we relied on data augmentation techniques and mainly on the same sampling methods ISRW, FF and TIES to augment our training set. We created 10 sub-graphs for each training graph in G i,train . We then equally balanced our training dataset by selecting the same number of sampled graphs from both classes.

Concerning the textual features, we used two BERT-based models to embed tweets into a vector in a latent space:

1. PT model. It is the same pre-trained BERT model we used in section 5. 1.4 on our REDDIT datasets. 2. BERTweet model. It is a language model specially pre-trained for English Tweets [START_REF] Nguyen | Bertweet: A pre-trained language model for english tweets[END_REF]. BERTweet is trained based on the RoBERTa pre-training procedure, another method built on BERT but with specific and own hyperparameters

We experimented the models with and without textual features, as we did for Reddit, to see if textual information has any impact on the performance of our approach when twitter is used with large generated graphs. Note that we only tested the model that got the best results (without textual features) on the Reddit dataset, which corresponds to our HRL-GCN, with 1 pooling layer.

Third experiment: Controversy detection on Retweet graphs

We conducted experiments with using the 3 sampling methods presented in section 5.2.1 to reduce the graph size and augment the number of sampled graphs as well. For the random-walk (ISRW) and Forest-Fire (FF) methods, we set the max number of node sample at 2930, which corresponds to 1% of the average number of nodes of topic graphs. Concerning the edge sampling method (TIES), we set φ in a way that the max number of sampled nodes corresponds to 1% of the original graph. We tested out approach with and without node textual features on our HRL-GCN approach. As we used leaveone-out as our model validation technique, we estimated the average accuracy of each fold run.

According to results on Table 5, ISRW and TIES do not achieve good performances, which means that compared to the approach used in [START_REF] Garimella | Quantifying controversy on social media[END_REF], our approach does not perform well when it tries to capture structural information of two distinct communities (as shown in figures 8 and 9), and rather focuses on other structural features. Forest Firing sampling method (FF) is based on the spread of fire, which could correspond in controversial topic on stance or idea on a user graph. Moreover, the fact that we only train our model on 14 real user graphs could explain why the model does not perform well.

Concerning the textual representation of users, pre-trained models seems to fail capturing positions or stances of users on controversial topics among communities, especially with BERTweet. The noise in our data could also explain why it is hard to capture representative textual embeddings on the current topic. However, table 5 shows that using Forest Firing (FF) sampling to reduce and augment graphs gets better performance. In other words, it better captures the structural information of our Retweet graph. We get 0.67 accuracy with and without text features from PT model. Results are close to what we got on the previous experiments on the Reddit datasets. Therefore, it means that our approach can be generalized to other social networks, despite the fact that we got less graphs.

Conclusion

Automatic controversy detection on social media remains a challenging task. In this paper, we considered controversy detection as a classification problem. We adopted very recent GNN techniques along with machine learning-based natural language processing to combine both structural information (interactions between people) and discussion contents. Discussion between people on any social media is represented as a graph of users. Graph embedding is performed by incorporating textual content features computed from BERT and LSTM models. The proposed approach supports two controversy detection strategies. The first strategy exploits hierarchical structure that may exist in the user graph. The second strategy allows each user to select its neighbors in the embedding nodes process. Experimental evaluation was performed on different datasets collected from Reddit and Twitter platforms. This evaluation confirms that structural information is useful to detect controversy and clearly shows that text content features can improve its accuracy results in some cases on Reddit, while our experiments on Twitter suggest that classic pre-trained models do not fit well. Fine-tuning a BERT-based model on a specific task could be an interesting perspective, as sentiment analysis or stance detection. In terms of future work, we would like to examine the appropriateness of other gnn techniques for controversy detection. For instance, it could be interesting to study the impact, in terms of performance, of using gnn architectures that take into account nodes and edges properties [START_REF] Simonovsky | Dynamic edge-conditioned filters in convolutional neural networks on graphs[END_REF] on heterogeneous graphs, where user nodes could be linked in different ways. Concerning Twitter, mixing our approach on graph neural networks, with the idea of quantifying controversy [START_REF] Garimella | Quantifying controversy on social media[END_REF] on a complete graph could also be an interesting avenue to explore. Indeed, we could focus on only structural information learning with gnns, and study which measures could help to understand the graph representation and to quantify controversy. In order to have a better overview of different structures, a more complete dataset of controversial and non-controversial topics is needed and could improve the performance of our apporach.

Fig. 2

 2 Fig. 2 left: Controversial retweet graph representing topic "Netanyahu". Right: Noncontroversial retweet graph representing topic "sxsw". Both graph are represented using ForceAtlas2 [29] algorithm for spatial visualisation.

Fig. 3

 3 Fig. 3 Overview of the 4 different stages of our controversy detection approach.

Fig. 4

 4 Fig. 4 Example of how a comment c of a user u 2 is embedded into a vector of dimension e.

Fig. 5

 5 Fig. 5 Diffpool-based Pooling layer architecture. A (l) and H (l) represent the adjacency and feature matrices of the input graph at layer (l) respectively. gnn embed and gnn pooling are the two gnn blocks used to respectively compute node embeddings H ′(l) and assignment matrix S(l) . The pooling operation block converts the input graph (A (l+1) , H (l+1) ) into a new coarsened graph (A (l+1) , H (l+1) ).

Fig. 6

 6 Fig. 6 Example of how the pooling aggregation works on one layer for a given graph.

∈ 4 .

 4 R n×d with d feature dimension of the layer. Note that the cardinality preservation allows in 9 to scale the result before the use of the activation function σ. The final node representation h ui corresponds to the output of the last layer h (L) ui . Graph embedding. Finally, we compute the final graph embedding z G by applying the READOUT function. A simple graph-level pooling function is used: we sum up each node representation at each iteration layer, and then concatenate them as shown in equation 10.

Fig. 7

 7 Fig. 7 Impact of comments availability on controversy detection performance.

Fig. 8

 8 Fig. 8 Different sampled retweet graph of the controversial topic 'netanyahu'. Left: FF sampled graph. Middle: TIES sampled graph. Right: ISRW sampled graph.

Fig. 9

 9 Fig. 9 Different sampled retweet graph of the non-controversial topic 'sxsw'. Left: FF sampled graph. Middle: TIES sampled graph. Right: ISRW sampled graph.

Table 2

 2 Statistics on the 6 real-world balanced Reddit datasets.

		am	aw	fn	ls	pf	rs
	Number of posts	3305 2969 3934	1573 1004 2248
	Average number of users by post	72	67	76	79	47	48
	Average number of comments by post	144	141	159	132	95	98
	Average number of words by comment	41	42	34	28	52	61
	Ratio of comments with max tokens ≥ 256	2.68	2.64	1.61	1.03	4.1	6.17

Table 3

 3 Performance comparison of our gnn-based controversy detection with baseline. Performance is evaluated using accuracy of the validation set. Values bold represent the best accuracies among all methods (including baseline), while underlined values represent the best accuracies among our proposed methods.

		am	aw	fn	ls	pf	rs
	POST (Text+Time)	68.1	65.4	65.5	66.2	66.5	69.3
	DTPC-GCN			67.6
	POST + C-{Text Rate Tree} < 1 hour	71.1	70	68.1	67.9	66.1	65.5
	POST + C-{Text Rate Tree} < 3 hours	74.3	72.3	70.5	71.8	69.3 67.8
	ARL-GAT (mean-aggr)	65.7	69.2	72.4	58.4	53.7	62.9
	ARL-GAT (sum-aggr)	67.5	71	72.2	67	63.7	51.8
	HRL-GCN (pool=2)	69	72.2	71.7	68.3	65.7	63.6
	HRL-GCN (pool=1)	69.6	74.6	72.2	67.9	68.2	66.7

Table 4

 4 Performance of our best gnn approach enriched with different user text embeddings as initial node features. Values in bold represent the best accuracies among all methods (including baseline), while underlined values represent the best accuracies among our proposed methods.

		am	aw	fn	ls	pf	rs
	HRL-GCN (pool=1) 69.6	74.6	72.2 67.9	68.2	66.7
	+ FT sentiment	69.1	72.9	70.5 68.6	66.7	64
	+ FT itself	67.3	73.9	71.8 68.3	70.6	63.8
	+ PT	70.8	73.7	71	65.4	0.6	64.7
	+ PT lstm	69.6 74.8	72.3 68.9 70.7 65.1

Table 5

 5 Performance accuracy of our gnn-based controversy detection method on Twitter. The text model column represents the model used for computing user textual features. Values in bold represent the best accuracies among our proposed methods.

	Sampling method	Text model
		no features	PT	BERTweet
	ISRW	0.5	0.47	0.47
	TIES	0.53	0.53	0.5
	FF	0.67	0.67	0.5

Twitter dataset is available at https://github.com/gvrkiran/controversy-detection

We used the 'bert-base-uncased' tokenizer stored by https://huggingface.co/

https://github.com/Ashish7129/Graph Sampling

Acknowledgement

This work was supported by grants from Janssen Horizon endowment fund. It was granted access to the HPC resources of IDRIS under the allocation AD011012604 made by GENCI.

Conflict of Interest. The authors declare that they have no conflict of interest.