Fake news have become a problem of paramount relevance in our society, due to their large diffusion in public discourse, especially on social media, and their alarming effects on our lives (Lazer et al., 2018) . Several works show that fake news played a role in major events such as the US Presidential Elections (Allcott and Gentzkow, 2017) , stock market trends (Rapoza, 2017) , and the Coronavirus disease outbreak (Shimizu, 2020) . In NLP a considerable amount of work has been dedicated to fake news detection, i.e., the task of classifying a news as either real or fake -see Zhou and Zafarani (2020) , Kumar and Shah (2018) and Oshikawa et al. (2020) for overviews. While initial work focused uniquely on the textual content of the news (Mihalcea and Strapparava, 2009) , subsequent research has considered also the social context in which news are consumed, characterizing, in particular, the users who spread news in social media. In line with the results reported in other classification tasks of user-generated texts (Del Tredici et al., 2019; Pan and Ding, 2019) , several studies show that leveraging user representations, together with news' ones, leads to improvements in fake news detection. In these studies, user representations are usually computed using informative but costly features, such as manually assigned credibility scores (Kirilin and Strube, 2018) . Other studies, which leverage largely available but scarcely informative features (e.g., connections on social media), report less encouraging results (Zubiaga et al., 2016) .
Our work also focuses on users. We build on psychological studies that show that some people are more prone than others to spread fake news, and that these people usually share a set of cognitive and social factors, such as personality traits, beliefs and ideology (Pennycook et al., 2015; Pennycook and Rand, 2017) . Also, we rely on studies showing a relation between these factors and language use, both in Psychology and Linguistics (Pennebaker et al., 2003; De Fina, 2012) and in NLP (Plank and Hovy, 2015; Preoţiuc-Pietro et al., 2017) . We therefore propose to leverage user-generated language, an abundant resource in social media, to create user representations based solely on users' language production. We expect, in this way, to indirectly capture the factors characterizing people who spread fake news. We implement a model for fake news detection which jointly models news and user-generated texts. We use Convolutional Neural Networks (CNNs), which were shown to perform well on text classification tasks (Kalchbrenner et al., 2014) and are highly interpretable (Jacovi et al., 2018) , i.e., they allow us to extract the informative linguistic features of the input texts. We test our model on two public English
Several studies on fake news detection focus uniquely on the text of the news (Mihalcea and Strapparava, 2009; Rashkin et al., 2017; Pérez-Rosas et al., 2018) . Despite some positive results, this approach is inherently undermined by the fact that fake news are often written in such a way as to look like real news. More recently, researchers have explored the possibility to leverage social information together with the one derived from news texts. Some works focus on the patterns of propagation of fake news in social networks. show that, compared to real news, fake news have deeper propagation trees, spread faster and reach a wider audience, while Ma et al. (2017) show that fake news originate from users with a few followers, and are spread by influential people. A parallel line of research considers the users who spread fake news. Some works focus on the detection of non-human agents (bots) involved in the spreading process (Bessi and Ferrara, 2016) , while others model the characteristics of human spreaders, as we do in this paper. Gupta et al. (2013) and Zubiaga et al. (2016) represent users with simple features such as longevity on Twitter and following/friends relations, and show that these features have limited predictive power. Kirilin and Strube (2018) , Long et al. (2017) and Reis et al.
(2019) use more informative features, such as users' political party affiliation, job and credibility scores. While leading to improvements on the task, features of this kind are usually either hard to retrieve or have to be manually defined, which hinders the possibility to scale the methodology to large sets of unseen users. Guess et al. (2019) and Shu et al. (2019a) rely on manually annotated lists of news providers, thus presenting a similar scalability problem. Finally, Shu et al. (2019b) represent users by mixing different kinds of information, e.g., previous tweets, location, and profile image. This approach shares with ours the usage of the previous tweets of a user (as will be explained in Section 3.2). However, to our knowledge, we are the first to create user representations based uniquely on users' linguistic production.
Previous NLP work showed the presence of the Echo Chamber effect (ECE) on social media, especially in relation to political discourse (Ul Haq et al., 2019) . The majority of the studies implement a similar approach, whereby the ECE is said to exist if users which are connected in the social graph post the same content. Usually, the content considered in these studies is a link to a web page from an annotated list. For example, Del Vicario et al. (2016) investigate the relation between echo chambers and spread of conspiracy theories by observing users that share links to pages promoting this kind of theories. Choi et al. (2020) apply a similar approach to the analysis of rumours spread, while other studies adopt it to investigate echo chambers in relation to political polarization, in which case, links are labelled with political affiliation (Colleoni et al., 2014; Garimella et al., 2018; Gillani et al., 2018) . We adopt the same approach but, crucially, we define the shared content based on the linguistic production of the users.
We use two datasets, PolitiFact and GossipCop, available in the data repository FakeNewsNet 1 (Shu et al., 2020) . While other datasets for fake news exist (Oshikawa et al., 2020) , those in FakeNewsNet provide the possibility to retrieve the previous linguistic production of the users, thus making them particularly suitable for our purposes. However, these datasets are not annotated with the features used by previous work to represent users (see Section 2), and hence a direct comparison between the languagebased user representations we propose and the ones obtained with existing methodologies is not possible. Both PolitiFact and GossipCop consist of a set of news labelled as either fake or real. PolitiFact (PF) includes political news from the website https://www.politifact.com/, whose labels were assigned by domain experts. News in GossipCop (GC) are about entertainment, and are taken from different sources. The labels of these news were assigned by the creators of the data repository. For each news in the datasets, its title and body are available, 2 together with the IDs of the tweets that shared the news on Twitter. We tokenize titles and bodies, set a maximum length of 1k tokens for bodies and 30 tokens for titles, and define news as the concatenation of their title and body. We remove words that occur less than 10 times in the dataset, and replace URLs and integers with placeholders. We add the tag <CAP> before any all-caps word in order to keep information about style, and then lowercase the text. Finally, we keep only news which are spread by at least one user on Twitter (more details in Section 3.2). We randomly split each dataset in train/validation/test (80/10/10). In Table 1 we report the number of fake and real news per dataset after our preprocessing. The only information about users that we leverage is the language they produce. We retrieve it as follows. First, for each news, we identify the users who posted the tweets spreading the news. 3 For some news it is not possible to find any user, due to the fact that the tweets were cancelled or that the user is not on Twitter anymore. We remove these news from the datasets. Also, in both datasets there are some users who spread many news. One risk, in this case, is that the model may memorize these users, rather than focus on general linguistic features. For this reason we keep only unique users per news, i.e., users who spread only one news in the dataset. Finally, we randomly subsample a maximum of 50 users per news, in order to make the data computationally tractable. As a result, for each news we obtain a set including 1 to 50 users who retweet it (on average, 28 users per news for PF and 9 for GC). For each of these users, we retrieve their timeline (TL), i.e., the concatenation of their previous tweets, and their description (DE), i.e., the short text where users describe themselves on their profile. We expect descriptions and timelines to provide different information, the former being a short text written to present oneself, while tweets are written to comment on events, express opinions, etc. Note that the description is optional, and not all the users provide it. We set a maximum length of 1k tokens for timelines and 50 tokens for descriptions, and we apply to both the same preprocessing steps detailed in Section 3.1. Additionally, we add the tag <EMOJI> before each emoji. In Table 1 we report the number of users per dataset, and the percentage for which a description is available.
We implement a model which takes as input a news n and the set U = {u 1 , u 2 , ..., u i } of texts produced by the users that spread n, and classifies the news as either fake or real. The model consists of two modules, one for news and one for user-generated texts, both implemented using Convolutional Neural Networks (CNNs). The two modules can be used in parallel or independently (see Section 5). The news module takes as input n and computes a vector n ∈ R d , where d is equal to the number of filters of the CNN (see below). The users module takes as input U and returns a vector u ∈ R d , which is the weighted sum of the representations computed for user-generated texts in U . 4 Vectors n and u are weighted by a gating system which controls for their contribution to the prediction, and then concatenated. The resulting vector is fed into a one-layer linear classifier W ∈ R d+d×2 , where 2 is the number of output classes (real and fake), which returns the logits vector o ∈ R 2 , on which softmax is computed. 5
Extracting Linguistic Features from CNNs Recently, model interpretability has gained much traction in NLP, and an increasing number of studies have focused on understanding the inner-workings and the representations created by neural models (Alishahi et al., 2019) . Inspired by this line of work, and, in particular, by the analysis of CNNs for text classification by Jacovi et al. (2018) , we inspect our model in order to extract the linguistic features it leverages for the final prediction, which we use for our analysis (see Section 7). We describe below how we extract the relevant linguistic features from the model.
A CNN consists of one or more convolutional layers, and each layer includes a number of filters (or kernels). Filters are small matrices of learnable parameters which activate (i.e., return an activation value) on the n-grams in the input text which are relevant for the final prediction: The higher the activation value, the more important the n-gram is for the prediction. 6 As a first step, we collect all the relevant n-grams returned by the filters in the model. Then, we assess which n-grams are relevant for the fake class, and which for the real class. We do this by considering the contribution of each filter to the two target classes, which is defined by the parameters in W ∈ R d+d×2 (Jacovi et al., 2018) . The contribution of filter f to the real and fake classes is determined, respectively, by parameters W f 0 and W f 1 : if the former is positive and the latter negative, we say that f contributes positively to the real class, and, therefore, the n-grams detected by f are relevant for that class. Consequently, for n-gram x returned by the filter f with activation value v, we compute the importance of x for the class real as R v = v × W f 0 and for the class fake as F v = v × W f 1 .
Setups and Baseline Our goal is to assess the contribution of language-based user representations to the task of fake news detection. Thus, for each dataset, we implement the following setups:
-News: We assess model performance when only news information is available.
-TL / DE / TL+DE: We provide the model only with user information. User information can be either the timeline (TL), the description (DE) or their concatenation (TL+DE).
-N+TL / N+DE / N+TL+DE: The model is provided with combined information from both news (N) and user-generated texts, which can again be in the three variants defined above.
We implement a Support Vector Machine (SVM) (Cortes and Vapnik, 1995) as a baseline. SVMs have been shown to achieve results which are comparable to those by neural-based models on text classification tasks (Basile et al., 2018) , and we thus expect the model to be a strong baseline. Table 2 : Results on the test set (binary F-score), for all the setups in our experiment. Standard deviation is in range [0.01-0.02] for all CNN setups. We group setups in which only information from user-generated texts is used (User Information) and those in which news and user-generated texts are jointly modelled (Combined Information). For CNN, we mark with * the results which significantly improve over setups in User Information, while indicates a significant improvement over the News setup.
Hyperparameters For each setup we perform grid hyperparameter search on the validation set using early stopping with patience value 10. We experiment with values 10, 20 and 40 for the number of filters, and 0.0, 0.2, 0.4 and 0.6 for dropout. In all setups batch size is equal to 8, filters focus on uni-grams, bi-grams and tri-grams, and we use Adam optimizer (Kingma and Ba, 2015) with learning rate of 0.001, β 1 = 0.9 and β 2 = 0.999. All the CNN modules have depth 1, and are initialized with 200-d GloVe embeddings pretrained on Twitter (Pennington et al., 2014) .
We train the SVM baseline on uni-grams, bi-grams and tri-grams. When modelling user information, we concatenate the user-generated texts of the users spreading the target news. We use the rbf kernel, and perform grid hyperparameter search on the validation set. We explore values 1, 2, 5, 10, 15 and 30 for the hyperparameter C, and 1 e−05 , 1 e−04 , 1 e−03 , 1 e−02 , 1.0 for γ.
For both CNN and SVM models, we use binary F-score as optimization metric, and indicate the fake class as the target class.
We report the results of the fake news detection task in Table 2 . The results of our CNN model are computed as the average of 5 runs with different random initialization of the best model on the validation set. For SVM, we report the single result obtained by the best model on the validation set. 7 CNN outperforms SVM in all the setups, except for one. 8 The largest improvements are in the TL and TL+DE setups for PF and in all the Combined Information setups: Our intuition is that these improvements are due to the weighted sum of the user vectors and to the gating system of the CNN (see Section 4), which allow the model to pick the relevant information when the set of user-generated texts is large and includes long texts, 9 and when news and user-generated texts are jointly modelled.
We then focus on the performance of the CNN in the different setups. First, we observe that results in the News setup are significantly higher than those in the User Information setups. 10 This was expected, as classifying a news based on its text is presumably easier than by using only information about users who spread it. Nevertheless, the results in the TL setup are surprisingly high, especially in PF, which indicates that the language used in timelines is highly informative. The results in the DE setup, both in PF and GC, are lower than those in TL. The two setups, however, cannot be directly compared, as descriptions are not available for all users (see Section 3.2). When we re-run the models in the User Information setups keeping only users with both timeline and description, we observe no statistically significant differences between the results in the TL and DE setups. Lastly, we observe no significant improvement when we add descriptions to timelines (i.e., TL+DE and N+TL+DE do not improve over TL and N+TL, respectively). Finally, in all the Combined Information setups the performance of the model significantly improves compared to the News setup -except for N+DE in PF, for which the improvement is not statistically significant. When we substitute user vectors with random ones in the Combined Information setups, we observe no improvement over the News setup.
Overall the results confirm our initial hypothesis that leveraging user representations based only on the language produced by users is beneficial for the task of fake news detection. They also raise interesting questions related to what makes user-generated language informative, and which qualitative differences exist, if any, between timelines and descriptions. We address these questions in the next section. In this section, we analyse the language of news and of user-generated texts. We address two questions: (Q1) Which features of the language used by fake news spreaders are relevant for fake news detection, and how are they different from those of the language used by real news spreaders? (Q2) Which linguistic features do timelines and descriptions share, and which are different? Also, which features do these two kinds of user-generated texts share with the language of news?
To answer these questions, we need to analyse the language used in timelines, descriptions, and news independently. We therefore consider, for both datasets, the models used at test time in TL, DE and News. For each model, we extract the set of relevant n-grams, compute the R v and F v values for all of them, and sum the R v and F v of ngrams returned by more than one filter (see Section 4). We use n-grams to analyse both style and content. Regarding content, we analyse the topic of the n-grams, proper names and, for user-generated texts, hashtags. Regarding style, we consider punctuation marks, all-caps, function words and, for user-generated texts, emojis. 11 We check to which category, if any, each n-gram belongs to (e.g., trump → proper names and #usarmy → hashtags). The category topic includes a list of topics (e.g., Politics and War), and n-grams are assigned to these topics (e.g., missile, army → War). Similarly, function words includes several parts of speech (POS), hence, e.g., me, you → Pronouns. We define the importance of each topic and POS for the two target classes by summing the R v and F v values of the n-grams they include. Finally, to consider only the n-grams which are relevant for one of the target classes, we compute the difference between R v and F v for each n-gram, compute the mean µ and standard deviation σ of the differences, and keep only n-grams whose difference is larger than µ + σ.
In Figure 1 we show the analysis of the topics for the News setup in PF. Red bars represent F v values, blue bars R v values: The higher the R v (F v ) value, the more the importance for the real (fake) class. For example, the topics Negative Emotions and Death are important for fake news; Government and Politics for real news. Usually, to a large positive F v value corresponds a large negative R v value, and vice versa. We apply our methodology to address the questions introduced at the beginning of this section.
Q1: The language of fake news spreaders In Figure 2 we show the main categories of the language of fake news spreaders (red circles) and real news spreaders (blue circles) in PF (top) and GC (bottom). Underlined categories refer to style, the others to content. 12 A first observation is that very few categories are shared by the language of fake and real news spreaders (overlap between blue and red circles), and that those in common are mostly related to the domain of the dataset (e.g., law and politics in PF). The language of fake news spreaders shows many common categories across datasets (overlap between red circles), mostly related to content. In particular, fake news spreaders of both datasets extensively talk about emotions and topics such as friendship, family, animals and religion. Interestingly, many of these topics are not directly related to the domain of either dataset. The most important proper names (e.g., Jesus, Lord, Jehovah, Trump) and hashtags (e.g., #usarmy, #trumptrain, #god, #prolife, #buildthewall) are again the same in the two datasets, and are highly related to the topics above. We observe some content-related categories which are not shared across datasets (non-overlapping areas in red circles), as they are related to the domain of the dataset (see Q2). Crossdataset consistency is even more evident for style: Fake news spreaders steadily use specific punctuation marks (quotes, hyphen, slash, question and exclamation mark), function words (first person pronouns and prepositions), emojis and words in all-caps.
The language of real news spreaders has different characteristics: many categories are dataset specific (non-overlapping areas in blue circles), while few of them are shared (overlap between blue circles). Also, dataset specific categories have higher activation values and are related to the domain of the dataset. Finally, no relevant style-related category is found for the language of real news spreaders.
Overall, the analysis shows that the language of fake news spreaders is clearly characterized by a set of linguistic features, related to both style and content. Crucially, these features are largely domain-independent, and are consistently identified across datasets. This is in stark contrast with what is observed for the language of other users, which is more related to the domain of the dataset. These findings support the hypothesis that people who are more prone to spread fake news share a set of cognitive and sociological factors, which are mirrored in the features of the language they use.
We now analyse the relation between timelines, descriptions, and news. In Figure 3 we show the relevant categories of timelines and descriptions for fake (a) and real (b) news spreaders, in both datasets. The plots include the same information displayed in Figure 2 , but in greater detail. In the plots, solid-line boxes indicate the relevant categories for the news shared by fake/real news spread-ers in PF, dashed-line boxes the relevant categories for news shared by fake/real news spreaders in GC.
For fake news spreaders, we highlight the following findings. First, the largest overlap (dotted ellipse) is observed between the descriptions across the two datasets. Importantly, in this area we find the majority of categories which are not directly related to the domain of the datasets. Second, in both datasets, timelines have some categories shared with descriptions (e.g., Negative Emotions and Punctuation), plus other categories related to the semantic field of violence (e.g., Crime and Aggression), together with Proper Names. These timeline-specific categories are also the relevant ones for the fake news in PF (solid-line boxes) and in GC (dashed-line boxes). The relevance of similar categories across datasets is due to the fact that in both of them fake news are often built by mentioning a famous person (mainly Trump in PF, a celebrity in GC) in relation to some negative event -a usual scheme in sensational news (Davis and McLeod, 2003) . In summary, all user-generated texts share some linguistic categories (central area of the plot), but it is in descriptions that we find the largest number of dataset-independent categories, related to both content and style, which characterize the language of fake news spreaders. Conversely, timelines share more categories with the news spread by the users. These findings are in line with our expectations about the different nature of descriptions and timelines, as the former include more personal aspects of a user, while the latter are more related to the domain of the news they spread. Furthermore, the limited similarity between the language of fake news spreaders and of the news they spread provides further evidence to the hypothesis that the language of fake news spreaders is largely shaped by sociological and cognitive factors, and mostly independent from the domain.
For real news spreaders, there is a large overlap of content-related categories between timelines and descriptions within a given dataset (dotted ellipses), while no style-related category is relevant for either kind of text. Differently from fake news spreaders, then, for real news spreaders descriptions and timelines do not present clear differences. Also, in both datasets, the relevant categories of real news strongly reflect the topics discussed in user-generated texts (see solid-line boxes for PF, and dashed-line boxes for GC). We can thus conclude that a set of domain-related topics exists in each dataset, and that these topics are the relevant linguistic categories in timelines, description, and in news. In contrast, these texts do not share any characteristic related to style. After showing the informativeness of languagebased user representations, we now use them together with the information from the social graph to investigate the Echo Chamber effect (ECE). We adopt the operational definition by Garimella et al. (2018) , and say that the ECE exists when users in a social graph mostly receive content from their connections which is similar to the content they produce. We introduce a methodology to define the content produced by a user based on their language use, and to compute the ECE as a function of the content similarity of connected users and their distance in the social graph.
Social Graph To define the social graph we follow a common approach in the literature (Yang and Eisenstein, 2017; Del Tredici et al., 2019) and create, for each dataset, a graph G = (V, E) in which V is the set of users in the dataset, and E is the set of edges between them. An unweighted and undirected edge is instantiated between two users if one retweets the other. We retrieve information about retweets in users' timeline (see Section 3.2). In order to make the social graph more connected, we also add as nodes users who are not in the dataset, but have been retweeted at least 20 times by users in the dataset. The resulting graph for PF includes 32K nodes and 1.6M edges (density= 0.0031), the one for GC includes 109K nodes and 4.9M edges (density=0.0008).
User Representations To represent users based on their linguistic production, we adopt an approach similar to the one of Section 7, and we first retrieve, for each user, the set of relevant n-grams and their activation values. 13 Since the ECE is related to the content posted by users, we consider only the topic of the n-grams, and ignore their style. 14 Thus, for each user, we analyse the topic in their set of n-grams using again the Empath lexicon (see footnote 11), and we define a topic vector t ∈ R d , where d is the number of topics in the lexicon, and t i is the activation value of the i-th topic. We create two topic vectors per user, one based on the timeline (TL-topic) and one on the description (DE-topic), using the best models at test time in the TL and DE setups (see Section 5).
Computing the Echo Chamber Effect We conjecture that the ECE exists for a user if the cosine similarity between their topic vector and the one of their connections decreases as the distance (i.e, the number of hops away in the graph) increases. To check the effect for all users in the graph, for each distance value, we compute the average cosine similarity of the users at that distance. 15 As shown in Figure 4 , we observe a monotonic decrease in similarity (Spearman ρ ≤ −0.9, p < 0.005) in all setups, except for GC-DE, where the decrease in similarity is much less pronounced and, consequently, the descending curve is more subject to fluctuations -see the increase after distance 6. However, for all setups there is significative negative difference between sets of values at consecutive distances (i.e., 1 and 2, 2 and 3, and so on) up to distance 4 (Welch's t test p < 0.005). We believe that, overall, these results indicate that the ECE is present in our data, with different strength depending on the setup. We also make the following observations. First, we observe no difference, in terms of ECE, between fake news and real news spreaders. This indicates that the effect is common to all users in the datasets, and not related to the cognitive and social traits which influence the language production of fake news spreaders (see Section 7).
Second, in all the setups, the largest drop in similarity is observed between values at distances 1 and 2 or 2 and 3. We interpret this fact as an indication that the ECE is mostly at play, in our data, at close proximity. This result is in line with previous findings in Sociolinguistics which show that, in social networks, there are cliques of users linked by first or second order connections who mutually reinforce their ideas and practices (Labov, 1972; Milroy, 1987) .
As we inspect the results for timelines and descriptions, we observe that the former show higher similarity values on average, while the drop in similarity at distance 2/3 is more evident for descriptions. These findings are related to what observed in Section 7, as timelines share more domain-related topics, which causes them to be more similar to each other, while descriptions include more personal aspects, presumably shared with close connections.
Finally, the similarity values for both TL and DE are higher in PF than in GC. We believe this is due to the polarization of political groups in social networks, whereby users belonging to the same political party tend to group in segregated clusters, with few external connections (Conover et al., 2011) .
In this work we addressed the task of fake news detection, and showed that results can be improved by leveraging user representations based uniquely on the language the users produce. This improvement is due to the fact that the language used by fake news spreaders has specific and consistent features, which are captured by our model, and which we highlight in our analysis. Language-based user representations also allowed us to show the presence of the Echo Chamber effect in both our datasets.
Our results offer empirical confirmation of previous findings regarding the relation between language use and cognitive and social factors, and they could foster further theoretical and computational work in this line of research. In particular, future computational work might address some of the limitations of the current study: For example, while we focus only on users spreading a single news, it would be interesting to model also users who spread multiple news, which are possibly both real and fake. Similarly, it would be relevant to investigate the cold start problem, that is, the number of posts needed to create a reliable representation of the user, which is particularly important for newly registered users and for those who are not highly active. Also, since the relation between language use and cognitive and social factors holds in every sphere of linguistic production, a natural extension of this work would be to apply the same methodology to other tasks involving user-generated language, such as, for example, suicidal prevention and mental disorders detection. Finally, we hope the tools and insights provided in this study might be used to fight the diffusion of fake news, for example, by identifying and warning users who are vulnerable to them.