A model for the Twitter sentiment curve

Twitter is among the most used online platforms for the political communications, due to the concision of its messages (which is particularly suitable for political slogans) and the quick diffusion of messages. Especially when the argument stimulate the emotionality of users, the content on Twitter is shared with extreme speed and thus studying the tweet sentiment if of utmost importance to predict the evolution of the discussions and the register of the relative narratives. In this article, we present a model able to reproduce the dynamics of the sentiments of tweets related to specific topics and periods and to provide a prediction of the sentiment of the future posts based on the observed past. The model is a recent variant of the Pólya urn, introduced and studied in Aletti and Crimaldi (2019, 2020), which is characterized by a “local” reinforcement, i.e. a reinforcement mechanism mainly based on the most recent observations, and by a random persistent fluctuation of the predictive mean. In particular, this latter feature is capable of capturing the trend fluctuations in the sentiment curve. While the proposed model is extremely general and may be also employed in other contexts, it has been tested on several Twitter data sets and demonstrated greater performances compared to the standard Pólya urn model. Moreover, the different performances on different data sets highlight different emotional sensitivities respect to a public event.


Introduction
In the last few years, the internet has become the main source for news for citizens both in EU [1] and in USA [2]. Such a rapid change in the media system has created a symmetric change in the way news are delivered: before the diffusion of the web, information was intermediated by journals, newspapers, radio and TV newscast, that represented the authority, being publicly responsible for the diffusion of reliable news. Nowadays, such intermediation is not present anymore: every blog or account on Facebook or Twitter assumes truthfulness just for existing online [3][4][5][6]. Due to this abrupt change of paradigm in the fruition of news, we observe a great increase of the diffusion of misinformation [7][8][9], that appears on the web via the use of automated [10][11][12][13][14][15][16] or genuine accounts [4,[16][17][18][19][20]. It has been observed that the diffusion of disinformation or misinformation campaigns leans on the emotionality of users [3,4,6,21].
Twitter is one of the most famous microblogging service, where people freely express their views and feelings in short messages, called tweets [22]. Twitter is reknown to be used especially for the political communications [23], due to the limited amount of characters, perfectly suitable for political slogans, and for the quick sharing of messages. Due to the availability of its data, via the official API, it represents an extremely rich resource of "spontaneous emotional information" [24]. Sentiment analysis, also known as opinion mining, is a collection of techniques in order to automatically detect the positive or negative connotation of texts. An overview of the latest tools, updates and open issues in sentiment analysis can be found in [25][26][27] (see also the references therein). Some examples of applications, where predictions are formulated based on the sentiment extracted from on-line texts are provided in [28][29][30][31][32][33][34][35]. In [36], sentiment analysis is used to investigate the emotion transmission in e-communities; while in [37], it is employed in order to investigate on the interplay between macroscopic socio-economic, political or cultural events and the public mood trends, showing that these events have a significant and immediate effect on various aspects of public mood. The Ref. [24] provides a matrix-factorization method to predict individuals' opinions toward specific topics they had not directly given. In [38], the authors consider the sentiment curve of Twitter posts along time in order to infer the causes of sentiment variations, leveraging on the idea that the emerging topics discussed in the variation period could be highly related to the reasons behind the variations. In [39], the authors present the data prediction as a process based on two different levels of granularity: i) a fine-grained analysis to make tweet-level predictions on various aspects, such as sentiment, topics, volume, location, time-frame, and ii) a coarse-grained analysis to predict the outcome of a real-world event, by aggregating and combining the finegrained predictions. With respect to this classification, the present work can be placed in the stream of literature regarding the fine-grained analysis to model/predict the sentiment of Twitter posts.
While an important body of research target the issue of predicting the information cascades [40][41][42][43][44][45][46][47], to the best of our knowledge, there are not works that provide models for the evolution of Twitter sentiment. We aim at filling in this gap, presenting a model that is able to reproduce the sentiment curve of the tweets related to specific topics and periods and to provide a prediction of the sentiment of the future posts based on the observed past. We achieve this purpose employing a recent variant of the Pólya urn, introduced in [48] and called Rescaled Pólya (RP) urn. In brief, the RP urn model differs from the standard Pólya urn for the presence of a "local" reinforcement, i.e. elements that are recently observed have a greater impact on the near future and may be identified as the "fashion" of the moment. In the online social networks applications, this local reinforcement aims at representing the persistence of an emotional response to a public event, capturing the phenomenon observed in [3]. Moreover, it is able to correctly reproduce the sentiment dynamics of the tweets, outperforming the standard Pólya urn model, as we will see, on several different data sets. Its prediction ability is also quite high. It is important to note that we also include a delay in information: indeed, it is plausible that, when the user decides to write the tweet posted at time-step n + 1, he /she only knows the previous tweets until a certain time-step t(n)<n.
Finally, we underline that the proposed model may be also employed in other contexts. The sequel of the work is so structured. In Section 2 we will present the model: after introducing the standard Pólya model in Subsection 2.1, in Subsection 2.2 we formally describe the Rescaled Pólya urn model in general and, then, we focus on the case with two colors and, next to the general model (Complete model), we identify two special cases ("Only fashion" model and "No fashion" model). Finally, in Subsection 2.3, we explain how we include a delay in information. In Section 3, we describe the considered datasets and we illustrate the performed analysis and the obtained results. In Section 4 we comment the results and draw our conclusions. The paper is enriched by an appendix regarding the evolution of the estimated model parameters and additional analyses.

Standard Pólya urn
The standard Pólya urn (see [49][50][51]) is a stochastic model driven by a reinforcement mechanism (also known as "rich get richer" principle): the probability that a given event occurs increases with the number of times the same event occurred in the past. This rule is a key feature governing the dynamics of many biological, economic and social systems (see, e.g. [51]) and it seems plausible that it plays a role also in the sentiment dynamics of the Twitter posts as the emotional state of an individual influences the emotions of others [36,52]. The Pólya urn model has been widely studied and generalized (some recent variants can be found in [48,[53][54][55][56][57][58][59][60][61][62][63][64][65]) and in its simplest form, with c-colors, works as follows. An urn contains N 0i balls of color i, for i = 1, . . ., c, and, at each discrete time-step, a ball is extracted from the urn and then it is returned inside the urn together with α > 0 additional balls of the same color. Therefore, if we denote by N ni the number of balls of color i in the urn at time-step n, we have where ξ ni = 1 if the extracted ball at time-step n is of color i, and ξ ni = 0 otherwise. The parameter α regulates the reinforcement mechanism: the greater α, the greater the dependence of N ni on P n h¼1 x h i .

Rescaled Pólya (RP) urn
The "Rescaled" Pólya (RP) urn model, introduced in [48], is characterized by the introduction of the parameter β, together with the initial parameters (b 0i ) i = 1, . . ., c and (B 0i ) i = 1, . . ., c , next to the parameter α of the original model, so that Therefore, the urn initially contains b 0i + B 0i > 0 balls of color i and the parameter β � 0, together with α > 0, regulates the reinforcement mechanism. More precisely, the term βB n−1i links N ni to the "configuration" at time-step n − 1 through the "scaling" parameter β, and the term αξ ni links N ni to the outcome of the extraction at time-step n through the parameter α. Note that the case β = 1 corresponds to the standard Pólya urn with an initial number N 0i = b 0i + B 0i of balls of color i. When β 2 [0, 1), this variant of the Pólya urn is characterized by a "local" reinforcement, i.e. a reinforcement mechanism mainly based on the most recent observations, and by a random persistent fluctuation of the predictive mean ψ ni = E[ξ n+1i = 1 |"past"]. As we will show, this latter feature is capable of capturing the trend fluctuations in the sentiment curve of Twitter posts (see . More formally, given a vector x ¼ ðx 1 ; . . . ; x c Þ > 2 R c , we define jxj ¼ P c i¼1 jx i j. Moreover, we set b 0 = (b 01 , . . ., b 0c ) > and B 0 = (B 01 , . . ., B 0c ) > , we assume |b 0 |>0 and we define p 0 ¼ b 0 jb 0 j . At each discrete time-step (n + 1)�1, a ball is drawn at random from the urn, obtaining the random vector ξ n+1 = (ξ n+11 , . . ., ξ n+1c ) > defined as The number of balls in the urn is so updated: which gives (since |ξ n+1 | = 1)  Therefore, setting r � n ¼ jN n j ¼ jb 0 j þ jB n j, we get Moreover, denoting by F ¼ ðF n Þ n�0 the filtration representing the information along time-steps (formally, this means to set F 0 equal to the trivial σ-field and F n ¼ sðξ 1 ; . . . ; ξ n Þ

PLOS ONE
This urn model has been studied in [48,53]. All the mathematical proofs and details can be found in these papers.

Two colors (c = 2).
With two colors, the quantity of interest are only ξ n = ξ n1 = 1 − ξ n2 and ψ n = ψ n1 = 1 − ψ n2 . In the sequel, we consider the RP urn model with β = 1 (i.e. the standard Pólya urn model) and with β < 1. In the first case, we have In the second case, by (1), (2), (3) and (4), using P nÀ 1 m¼0 x m ¼ ð1 À x n Þ=ð1 À xÞ, we obtain Since β < 1, the dependence of ψ n on ξ h exponentially increases with h, because of the factor β n−h , and so the main contribution is given by the most recent extractions. We refer to this phenomenon as "local" reinforcement. The case β = 0 is an extreme case, for which ψ n depends only on the last extraction ξ n . Note that, when β = 1, i.e. the case of the standard Pólya urn, all the past observations ξ h equally contribute to ψ n , with a weight equal to α. This different dependence on the past leads to a different behaviour of ψ n along time-steps (see [48]): in the standard Pólya urn, the process (ψ n ) asymptotically stabilizes, converging almost surely toward a random variable, while in the RP urn, the process (ψ n ) persistently fluctuates (see .
If we set we get for a large n Summing up, the model dynamics can be approximated for n large by where p 0 ; g � ; b;B 0 are the parameters. Note that α does not appear among the parameters for the above approximated dynamics, but it is included in the new parameter γ � . Moreover, the quantityB 0 is exponentially fast negligible, because we haveB n ¼ b nB 0 þ ð1 À bÞ P n h¼1 b nÀ h x h , with β < 1. Therefore, the fundamental parameters are p 0 , γ � and β: p 0 is a deterministic component, γ � tunes the weight in the predictive mean ψ n+1 of the random "fluctuation" compo-nentB nþ1 with respect to the deterministic one, and β regulates the dependence of the present stateB nþ1 on the previous stateB n and on the present observation ξ n+1 . We refer to ðB n Þ n as the "fashion" process, since it reproduces the trend variations of the considered phenomenon (in our case, the sentiment of Twitter posts). In the following applications, we consider the following cases: • Complete RP model: The three parameters θ = (p 0 , γ � , β) are free to vary.
• "Only Fashion" RP model: γ � = 1 (and p 0 = 0 irrelevant). This means that the predictive mean is not driven by any deterministic component, but it coincides with the fashion process. The free parameter is given by θ = β.
• "No Fashion" RP model: γ � = 0 (and β = 0 irrelevant). In this case ψ n is equal to the constant p 0 and, consequently, the free parameter is given by θ = p 0 .

Model with delay
In applications, the extractions from the urn typically correspond to actions performed by agents. Therefore, it is plausible that there is a delay in information, in the sense that, when the agent decides to make the action that will appear at time-step n + 1, he/she only knows what happened until a certain time-step t(n)<n, i.e. the actions at time-steps 1, . . ., t(n). For instance, in our framework, the actions are the tweets and so it is plausible that, when the author of the tweet posted at time-step n + 1 is writing, he /she only knows the previous tweets until a certain time-step t(n)<n. In other words, we can image that an agent, after reading the tweets posted until time-step t(n), starts to write his/her tweet and posts it at time-step n + 1. Therefore, tweet n + 1 is not affected by tweets posted at time-steps t(n) + 1, . . ., n. When this is the case, the predictive means for action n + 1 are given by the composition of the urn until time-step t(n). In particular, if the number of colors is c = 2 and we denote by I n the information the agent has when performing action n + 1 (formally, I 0 equal to the trivial σ-field and Assuming to know the real time at which actions appeared (i.e., in our framework, the real time at which the posts are posted), a possible way to define t(n) is the following. Fix a value D > 0, divide (real) time in blocks of length D (choose D so that the blocks contain at least one action), define j(n + 1) the index of the time block containing the action n + 1 and set tðnÞ ¼ maxft 2 N : jðtÞ � ðjðn þ 1Þ À 2Þ þ g : It follows that, for all actions appeared in a certain time block j, the missing information are the actions appeared in the immediately previous time block (i.e. block j − 1) plus the preceding actions of the same block. As a consequence, the quantity D is a lower bound for the delay and 2D an upper bound: agents looses at least D units of time and not more than 2D units of time.
In the following, we refer to this variant of the RP urn as "RP urn model with delay".

Data
Data have been collected from the Twitter platform, using the official API to Stream the exchange of messages on several topics. In the following, the various datasets are described in more details: • Italy, Migration debate Data were collected through the Filter API since 23rd of January to 22nd of February 2019 and targeted the Italian debate on migration. Data were previously analysed in [16]. In the dataset, the information about the nature, automated or not (BOT or not), of the users is present. The BOT detection algorithm embedded is a lightweight version of the classifier proposed in [10]; more details on the dataset can be found in [16].
• Italy, 10 days of traffic The dataset collects the entire traffic, compatibly with the Filter API sampling, of messages in Italian in the days from the first to the 10th of September 2019: the keyword used for the query were the Italian vowels, in order to collect all messages that may contain some word.
In the dataset, the information about the nature, automated or not (BOT or not), of the users is present. The BOT detection algorithm used was developed in [14].
• Italy, COVID-19 epidemic The dataset covers the period from February 21st to April to 20th 2020, including tweets in Italian language, and was previously analysed in [20]. The keywords used for the query are relative to the COVID-19 epidemic; more details can be found in the original reference. The dataset includes information on the automated or not (BOT or not) nature of the accounts, detected using the algorithm developed in [14].
For every message, the relative sentiment was calculated using the polyglot python module developed in [66], that provides a numerical value v 2 [−1, 1] for the sentiment. We fix a threshold T = 0.35 so that we classify as a tweet with positive sentiment those with v > T and as a tweet with negative sentiment those with v < −T. We discard tweets with a value

Analysis of the prediction ability
We apply the RP urn model with delay, ordering the tweets according to their creation time and taking each tweet with a positive/negative classification as an extraction in the urn model. More precisely, we apply the RP model with c = 2: the time series of the tweets represents the time series of the extractions from the urn, that is the random variables ξ n . The event {ξ n = 1} means that tweet n exhibits a positive sentiment, while {ξ n = 0} means that tweet n exhibits a negative sentiment. Moreover, we include a delay into the model as described in Subsec. 2.3, taking D = 3 minutes for the "migration" and "covid" samples and D = 30 seconds for the "10 days of traffic" sample. These values have been arbitrarily chosen, because we have no information about the real length of the delay. Notably, no significant difference has been observed taking zero delay. The model parameters have been estimated by maximum likelihood. More precisely, we have divided the available N (ordered) actions (i.e. the tweets) into S slots of the same size (numbered from s = 0 to s = S − 1). For each slot s = 1, . . ., S − 1, with training data of the slots s 0 = 0, . . ., s − 1, we have estimated the best parametersŷðsÞ for the different proposed models (with delay): Standard Pólya, Complete RP, Only Fashion RP, No Fashion RP. (See Appendix, Sec. A, for a deeper exploration of the evolution of the parameters and further comments.) With these parameters, for each action ξ n+1 of the s-th slot, we have computed the conditional probabilityĉ n (see Eq 5), that is the predictive mean for action n + 1, as a function of the estimated parameters and of the actions ξ 1 , . . ., ξ t(n) (that is the information of the author of action n + 1). The predictive meanĉ n represents our prediction of the future action ξ n+1 . We have quantified the ability of the considered model to predict the future outcomes by means of the relative Squared Error (SE rel ) with respect to the method that predicts the future outcome taking the value assumed by the majority in the past. More precisely, we have computed the

PLOS ONE
following quantity: where the sum is over all the observations except the ones in slot s = 0 and m n is the value assumed by the majority of the past actions ξ 1 , . . ., ξ t(n) . This quantity measures the ability of the model to predict the future outcomes: the greater it is, the better is the prediction with respect to the method based on the past majority. The values SE rel obtained for the different considered models are also compared with the "theoretical" value of SE rel computed replacingĉ n by the mean value � c on all the considered period. The term "theoretical" is used in order to point out that � c is of course not a prediction, but it gives the a posteriori best constant fit once we have collected all the data until time-step N. Summing up, our aim is twofold: to obtain a value of SE rel greater than 1, that means that the considered models beat the performance of the method based on the past majority, and to get a value greater or equal to the "theoretical" value, that means that the proposed models perform better or similarly than the (theoretical) a posteriori best constant fit.
We summarize the results in Tables 4-6. For each considered sample, we have also analysed the subset obtained by the restriction to the tweets classified as sent by a BOT. In the tables the best values are highlighted in bold. We can observe that, for the "Migration" and "covid" samples, the considered models perform more or less two times better than the method based on the past majority and this performance is similar to (indeed, in the most cases slightly better than) the one given by the (theoretical) a posteriori best constant fit. For the "10 days traffic" sample, the performance of the considered models is one and half times better than the method based on the past majority and this performance is similar to the one given by the (theoretical) a posteriori best constant fit. Moreover, the performances of the "Complete RP" model and of the "Only fashion RP" model do not significantly differ; while the "No Fashion RP" model performs less well. Therefore, in the next subsection, we will discard this last model.

PLOS ONE
(In Appendix, Sec. B, we collect results obtained with different thresholds T (used for the construction of the sample) and taking the slots (used for the parameters estimation) equal to the available days of observation).  where the sum is over all the observations except the ones in the slot s = 0 and ξ n+1 andĉ n refer to the values on the curves with a given smoothing. We can observe that, as explained before in Section 2.2, the RP urn model is able to reproduce the fluctuations of the observed sentiment curve, while the standard Pólya urn model produces a curve that converges to a value.

Fluctuations of the sentiment curve
(In Appendix, Sec. B, we collect results obtained with different thresholds T (used for the construction of the sample) and taking the slots (used for the parameters estimation described in Subsec. 3.2) equal to the available days of observation).

Discussion and conclusions
Online Social Networks (OSN) represent a perfect environment for the study of the emotional reaction to public events. It has been observed that the sentiment of a message may be a driver for the diffusion of a message in online social networks [3,4,6,21]. Interestingly, Ref. [3] shows that, on different arguments, the sensitivity, i.e. the emotional reaction to the event, finds a sort of stability.
Leveraging on this feature of the online debate, we apply here a modification of the Pólya urn model, embedding a "local" reinforcement effect [48,53], representing a sort of "fashion" contribution and capturing the persistence of a common sentiment. Similarly to the standard Pólya urn, the future outcome depends on the past history, but, differently from the original model, in the Rescaled Pólya urn, the influence of the recent outcomes has a greater impact on future extractions. This represents the "fashion" effect and its introduction properly captures the evolution of the sentiment of the online debate. We also include in the model a delay in information as described in Subsection 2.3, introducing the Rescaled Pólya urn with delay.
The results collected in Subsection 3.3 show that indeed the Rescaled Pólya model outperforms greatly the standard Pólya model. Moreover, as shown in Subsection 3.2, the RP urn model permits to have reliable predictions from past observations. As told before, the employed model incorporates itself a delay in information and, in addition, the model parameters are fitted using the data from all the previous slots. As it can be observed from the evolution of the model parameters, all of them converge smoothly to a fixed value. Estimating the parameters using only the closest slots, is going to be the target of near future research, together with the examination of different definitions of the delay included in the model. Summarising, the present paper has essentially two targets: to propose a novel model for the reproduction and the prediction of the sentiment in the online debate and to examine and study the implications of the Rescaled Pólya urn (with delay). Building a simple and realistic model improves our understanding of the phenomenon: in the particular case, the presence of a local reinforcement, i.e. the "fashion" effect described above, shows how persistent is the emotional reaction to a public event.
It is worth to be mentioned that the application to Online Social Media is one of the possible applications of the proposed model: due to its abstractness and generality, it can be applied to any kind of phenomenon showing a local "fashion" behaviour. The Rescaled Pólya model is defined for any number c of colors. Therefore it is also possible to take into account the previously discarded tweets, say the "neutral" ones, i.e. those with sentiment between −0.35 and 0.35 (more generally, between −T and T). However, it is out of the scope of the present study. We do not think that taking into account more colors could produce a different finding. Indeed, the additional analyses related to different thresholds show that the choice of the threshold does not modify the essence of the outputs.

A Parameters evolution
As it is mentioned in the main text, in order to fit the parameters of the model, we divided the entire sample in slots of the same size (the number S of slots and their size for each considered sample is specified in the captions of the figures). Next, we use all slots previous to the one under consideration to fit the parameters. In this sense, we observe an evolution of the parameters as a matter of the evolution of the samples, which is different when focusing on the different nature of users in the debate. Such a difference is particularly evident in the Migration debate. Human accounts show a nearly constant parameter dynamics: while β is nearly constant in the Complete model, γ � and p 0 display a smooth slow variation of nearly the 10% of their value, see Fig 7. The dynamics of the parameters for automated accounts is completely different, see Fig 8: in the Complete model, while β is slowly decreasing (but still experiencing

PLOS ONE
a much greater decrease than the one observed for human accounts), parameters γ � and p 0 display a step-like dynamics, ending shortly after s = 25.
A similar, but less evident, dynamics can be observed in the "10 days of traffic" sample, see Figs 9 and 10: in this case, all parameters converge to 1 quite soon in the case of the entire sample. Instead, we can see that p 0 converge, but to something more than 0.6 quite immediately for the social bot subset, while the value of γ � oscillates between 0.5 and 0, before converging to something less than 0.4. The parameter β is nearly 1 for both cases.
In the case of the online debate during the COVID-19 epidemic, Figs 11 and 12, the differences are extremely low, with the values of γ � quite flickering before converging to a value little It is worthwhile to point out that, when we deal with the entire samples, the size of each slot is large enough in order to estimate properly the parameters from the very beginning. Therefore, we can guess that the behaviours of the curves in Figs 7, 9 and 11, before the stabilization, are really related to the dynamics of the debates. The situation is different when we deal only with posts sent by BOTs. Indeed, in this case, the initial estimation of the parameters may be affected by the limited size of the slots. However, also Figs 8, 10 and 12 exhibits a final stabilization of the values. An open question is if the differences in the values of the parameters and in their long-term dynamics observed when comparing the entire sample and the subset of BOTs' posts is due to the different sizes or to an indeed different dynamics. This issue is not the focus of this work and it is going to be the target of further analyses.

B Additional analyses
We here collect the outputs of some additional analyses related to different choices of the threshold T for the construction of the sample and to a different partition into slots associated to the applied estimation technique for the model parameters. More precisely, we perform the analyses described in Subsecs. 3.2 and 3.3 for other two different thresholds (i.e. T = 0.5 and T = 0) and also taking the slots equal to the available days of observation. Table 13 reports the values of the indicator defined in Subsec. 3.2, Eq (6). Tables 14-25 and Figs 13-24 illustrate the

PLOS ONE
results of the analyses described in Subsec. 3.3. We can observe that the main finding of this work does not change: indeed, since its local reinforcement mechanism, the RP urn model (with delay) is able to reproduce the fluctuations of the observed sentiment curve.