Interest surrounding cryptocurrencies, digital or virtual currencies that are used as a medium for financial transactions, has grown tremendously in recent years. The anonymity surrounding these currencies makes investors particularly susceptible to fraud---such as "pump and dump" scams---where the goal is to artificially inflate the perceived worth of a currency, luring victims into investing before the fraudsters can sell their holdings. Because of the speed and relative anonymity offered by social platforms such as Twitter and Telegram, social media has become a preferred platform for scammers who wish to spread false hype about the cryptocurrency they are trying to pump. In this work we propose and evaluate a computational approach that can automatically identify pump and dump scams as they unfold by combining information across social media platforms. We also develop a multi-modal approach for predicting whether a particular pump attempt will succeed or not. Finally, we analyze the prevalence of bots in cryptocurrency related tweets, and observe a significant increase in bot activity during the pump attempts.READ FULL TEXT VIEW PDF
Dramatic fluctuations in cryptocurrency markets indicate an eruption of interest in an idea that quickly transitioned from concept to application. The inception of blockchain technology (Nakamoto, 2008) gave birth to the popular cryptocurrency Bitcoin (symbol BTC). Since then, thousands of cryptocurrencies have been created, and their hype has caused massive price swings on the trading markets. In December 2017, BTC quadrupled in market value in just over a month, then within a few days started a gradual decline until it reached half of its peak value. These price changes allowed some investors to realize huge profits, contributing to the allure of cryptocurrencies. Even though most investments are made in relatively established cryptocurrencies, including Bitcoin (BTC) and Ethereum (ETH), there are thousands of other smaller cryptocurrencies. These currencies are prime targets for manipulation by scammers, as evidenced by the proliferation of pump and dump schemes.
Pump and dump schemes are those in which a security price inflates due to deliberately deceptive activities. Those fraudulent schemes originated in the early days of the stock market and are now growing rapidly in the cryptocurrency market. The fact that the Commodity Futures Trading Commission (CTFC) and U.S. Securities and Exchange Commission (SEC) have issued several warnings (The U.S. Commodity Futures Trading Commission, 2018) against cryptocurrency pump and dump schemes highlights the severity of the threat.
In a typical pump and dump operation, scammers coordinate within groups to buy a particular cryptocurrency, while creating false hype around it by making public posts (i.e., pump) on various social media platforms simultaneously. Normal traders, who only see the rise in the price and are unaware of malicious activity, might buy the coin hoping to anticipate the next trend, thus boosting the price even further. Once a certain price target is met, the scammers start to sell (i.e., dump) their holdings, leading to a precipitous drop in the price. We illustrate the process with an example mentioned in a Wall Street Journal article111https://www.wsj.com/graphics/cryptocurrency-schemes-generate-big-coin/ that we also found in our collected data. In this example, the fraudsters coordinated their activities using a public channel “Big Pump Signal” on the Telegram messaging app, which has more than members. As shown in Figure 1, after the channel announced the coin CLOAK at 7:00 PM GMT, the price inflated immediately after the pump message and dropped shortly afterwards.
In our work we study the extent to which scammers use online social media for spreading such misleading pump
messages. We combine information from various sources including Twitter, Telegram and market data. and show analyses of our data sources. In addition, we quantify the ability of machine learning models to detect pump and dump schemes from our data sources. In particular, we propose and study the following two tasks:
Detect whether there is an unfolding pump operation / advertisement campaign happening on Telegram by considering social signals only from Twitter.
Given a pump message on Telegram for a specific coin, predict whether the operation will succeed; i.e., will the target price, set by the scammers, be reached by the market shortly after the announcement?
One of the main challenges to address the above tasks is the large volume of data facing us: there are millions of users and posts mentioning cryptocurrencies, and modeling each user as a feature would probably result in poor generalization. Further, the posts are not labeled as “pump” versus “not-pump” messages, and it would be prohibitively expensive to label all messages mentioning cryptocurrencies. We addressed these challenges by 1) extracting signals from social networks through user embeddings and connected components (explained later); and 2) designing a high-precision (but potentially low-recall) model for detecting pump messages.
Our main contributions are as follows:
We propose a multi-modal approach to study potentially malicious activities in cryptocurrency trading by combining data from three distinct sources: Real-time market data on crytpocurrency trading including both price and volume information; Twitter data of cashtag mentions for cryptocurrencies; Telegram data that contains potential mentions of and instructions for pump and dump activities.
We explore the possibility of forecasting specific pump and dump activities, as quantified on the two classification tasks, based on different combinations of features extracted from the above-listed data sources. Our results indicate that it is indeed possible to forecast such events with reasonable accuracy.
We study the prevalence of Twitter bots in cryptocurrency-related tweets, especially during the alleged pump and dump attacks, and observe that the ratio of bot activity increases among the highly active users during the pump and dump attacks.
We release222Available at https://github.com/Mehrnoom/Cryptocurrency-Pump-Dump a comprehensive dataset containing coins, time-stamps, pump messages,and inications of whether or not the pumps were successful—together with features we extract from Twitter.
We used three different data sources: cryptocurrency historical data, Twitter, and Telegram. In this section we explain the data collection process and provide some statistical analysis of the data sources.
This dataset consists of the time-series of market values for many cryptocurrencies. We developed a crawler to collect data from CoinMarketCap.com. Instead of using end-of-the-day historical data, we chose to use data with a five-minute granularity because pump and dump schemes usually happen within a very short period. The dataset includes all of the coins listed on the website at the time we started the collection process.
One way of promoting finance-related information on social media, especially Twitter, is to use cashtags, which are stock (in our case, cryptocurrency) symbols prefixed by $, e.g., $BTC is a cashtag referring to Bitcoin. Using the Twitter streaming API,333https://developer.twitter.com/en/docs/tweets/filter-realtime/overview.html we implemented a system which tracks all the cryptocurrencies provided by CoinMarketCap.com, including 1,600 cashtags. We began the data collection process on March 15, 2018. However, cryptocurrencies had received a considerable amount of attention prior to that, towards the end of the 2017, due to growth in the Bitcoin price which paved the path for fraudulent activities. To have a better coverage of the potentially fraudulent events occurring before March 15, 2018, when we began our data collection, we also purchased tweets from September 1, 2017 to March 31, 2018.
The resulting dataset includes 30,760,831 tweets and 3,708,176 users in total from Sept 1, 2017 to Aug 31, 2018. Figure 2 also shows the distributions of the number of users per cashtag. The distribution is heavy-tailed, which suggests that many users are interested in only a few cashtags, while a small number of users tweet about many cashtags.
In the context of the cryptocurrency market, scammers coordinate within groups to inflate the market value for a coin using social media platforms. In particular, the messaging platform Telegram is widely used for sharing cryptocurrency-related information, including pump announcements. The reason for Telegram’s popularity among scammers is that it provides anonymity for the users. For example, a Telegram channel consists of an anonymous admin and a set of members; however, the only person who can post to the channel is the admin who also is the only one who can see the list of members, while his/her identity is anonymous to the members.
We implemented a crawler using the Telegram API444https://telethon.readthedocs.io/en/latest/ to collect data from Telegram channels. The crawling process starts with a set of a few initial channel IDs, and then we extend the list by extracting the other channels’ hyperlinks advertised in the seed channels and add those channels to our set. We continue to snowball out as new channel IDs appear in the Telegram channels. Due to the nature of how private channels are joined (the password to a private channel can be passed via its URL), it is entirely possible that we would crawl private channels if such URLs are posted into a public channel. We make no distinction between the two classes in our experiment.
Table 1 shows the statistics of the Telegram data. We extracted all the messages containing at least one coin from our coin list, which resulted in 195,576 messages. The Telegram channels in the table are categorized by their size (number of members) because channels with more members are more likely to contribute to a pump event.
|Number of channels|
|Average channel size|
|Median channel size|
|Total number of messages|
This section illustrates an examplar—one which motivates our efforts to systematically discover pump and dump schemes in subsequent sections. We focus on the overall effect of pump attempts on cryptocurrency prices and determine whether there is an indication of concurrent fraud activity on Twitter.
Notation. Let be a pump attempt, with the time of the attempt, and the target coin (in the next section, we will explain in detail our approach for detecting pump attempts). For every pump attempt we extract two time series segments: The price and tweet volume of coin , denoted as and respectively, where is a time window equal to three days. Each segment is normalized between 0 and 1 by a minmax normalization, transforming each point to . We calculate and as follows:
Note that means that we have considered all the pump attempts. For each coin, we also select a set of timestamps uniformly at random, with the size equal to the number of pump attempts targeting the coin. In the same manner, we make two aggregated timeseries for the random timestamps.
Figure 2(a) depicts an average normalized price of each coin centered around the pump timestamps () and random timestamps. This figure shows a pattern of spikes occurring within one hour of a pump message, followed by a general downward trend. A significant increase in tweet volume is also observable in Figure 2(b) which shows the average tweet volume of each coin around the pump timestamps () and random timestamp. The seasonality pattern present in the Telegram timestamps, and not in the random timestamps, suggests that most of the pump attempts usually happen around a specific time of day.
The messages that are broadcast in Telegram channels contain some pump announcements, but mostly are not-pump messages. For example, most of the messages are about cryptocurrency-related news, advice, advertisements and other daily conversations that are not of interest to us, in the context of predicting pump and dump activities. As shown in Table 1, the amount of unlabeled messages is prohibitively large, which would make it expensive to manually label all the messages. Fortunately, however, most of the pump announcements follow specific patterns, or redundancies, which we are able to detect with machine learning techniques.
Pump Message Types. Text is the most common format used by Telegram channels for broadcasting pump events, although some channels embed the coin name in an image to prevent trading bot activities (Figure 1). A pump text message includes the name of the coin, the price to buy the coin, and one or more desirable target prices to achieve.
We can leverage this specific common pattern to extract pump-related messages using a weakly supervised approach. Therefore, we only labeled messages of 15 channels, 1,557 messages in total as pump/not-pump. To avoid a bias toward a specific coin, we replace all the cryptocurrency symbols based on whether they are OOV (object out of vocabulary). We represent each post as a TF-IDF vector. For a given post, an entry in its TF-IDF vector corresponds to the frequency of a token appearing in the post (TF) divided by the number of posts in which the token appeared (IDF). In general, the size of the vector is equal to the size of the vocabulary of the entire corpus. We can use word-grams (a sequence of words) to construct the vocabulary.
We train a linear SVM with a SGD optimizer; this achieves an accuracy of and a precision of
. The optimal parameters for linear classifier and TF-IDF tokenizer are obtained by cross-validation. The best result is achieved when we use both unigrams and bigrams,, and penalty. The classifier scores are included in Table 2. Using the trained model, we then label the entire messages as pump/not-pump. From each message, we extract the coins mentioned in the message, and the message timestamp. We call the pair of (coin, timestamp) a pump attempt. We aggregate multiple timestamps into the earliest one, if they appear within a 3-hour window e.g., if a coin was pumped on multiple channels simultaneously. We also remove the messages that mention many coins, as a pump message usually targets only a few number of coins. The statistics of the final set of messages and pump attempts are given in Table 3.
The top 20 features for both classes are listed in Table 4. Keywords like buy, sell, accumulate, target, coin are the ones that appear most frequently in pump messages, as also illustrated by the example in Figure 1; top features in the not-pump class are representative of messages carrying some information about a cryptocurrency.
|pump||buy, bid, sell, (OOV,bittrex), (signal,OOV), accumul, low, long, (current,price), (signal,coin), day, stoploss, good, (buy,OOV), start, block, volum, (accumul,OOV), target, coin|
|non-pump||dont, achiev, also, may, big, ask, anoth, free, (profit,OOV), increas, set, trend, (OOV,news), bounc, channel, pm, strong, yesterday, done, (OOV,go)|
For each word in our Telegram corpus, we define the as follows:
Where is the probability of appearing in messages labeled as pump by our classifier. Figure 5 shows versus frequency in a logarithmic scale. The words with the most positive and larger frequency are more representative for the pump class; more negative corresponds to the not-pump class. The words targets, target, t1, tg1 (short for target1, target2), buy, sell, покупка (Russian word for purchase), are among the most representatives for the pump class. In the negative class, we observed a large number of words related to the daily conversations. Also, representative words of the negative class like channels, members, blockchain mainly correspond to the conversations in the channels.
When manually inspecting pump messages, we realized that not all of the pump messages are actually followed by a spike in the coin price; i.e., some pump attempts fail. We looked at the text pump messages that contain target sell prices, and using a rule-based approach, we extracted the buy, and target price. Channels most often use the satoshi as the unit for coin price which is BTC. We define a pump attempt as successful if the actual price reaches the proximity of the target price for a threshold, within a time window after the messages have been posted. Figure 6 shows the percentage of successful pump messages for different thresholds and time windows. Almost percent of the pump messages meet the most strict conditions, meaning that the coin price reaches a higher price than the extracted target price, and within an hour of the pump message.
In addition to the empirical analysis to evaluate the effectiveness of the pump attempts, we also formulated two classification tasks:
Task I: Detect whether there is an unfolding pump operation / advertisement campaign happening on Telegram, by considering social signals only from Twitter.
Task II: Given a pump message on Telegram for a specific coin, predict whether the operation will succeed (i.e., will the target price, set by the scammers, be met within 6 hours of the message).
Both of these tasks are cast as binary classification. The feature vector for each record is extracted at a specific timestamp: specifically, it contains data from 6 hours prior to the timestamp. The features of the timestamps are explained next. In addition to the classification tasks, we analyze Twitter bot activities around pump attempts.
We have a large database of tweets for every tracked cashtag. Every tweet contains a timestamp, user ID, and a message. From each tweet, we extract the list of cashtags mentioned in the text message of a tweet. Table 5 explains all the features extracted from two data sources—Twitter and historical market data.
|Twitter Features||Number of tweets mentioned the cashtag in the period|
|Number of unique users mentioned the cashtag in the period|
|Average sentiment of all the tweets mentioning the cashtag in the period calculated using (Gilbert, 2014)|
|PageRank score (Page, 1997) of a coin in the Coin-Coin graph created at time|
|Twitter User Connected Components|
|CorEx user embedding|
|Economic Features||Coin market cap at hour before the pump where|
|Coin volume at hour before the pump where|
|Coin price in BTC unit at hour before the pump where|
We extract features from four different Twitter networks: (i.) coin-user network (ii.) coin-coin net- work, (iii.) user-user network, and (iv. ) pump-user network. These networks are undirected and temporal, where the presence (or absence) of an edge depends on the time range in which the networks are constructed. We use subscript notation indicate time. For example, indicates the graph capturing information in the time period . We also denote as the graph in the period .
Coin-User network. Bipartite graph containing cashtags and users. The edge weight between user and cashtag is equal to the number of times mentions in a time period. We denote as the bipartite graph associated with the period . We denote the adjacency matrix corresponding to by . From this network, we compute the next two networks.
Coin-Coin network. We compute this network using matrix multiplication , which can be efficiently computed using sparse matrix libraries such as scipy. We extract the PageRank of coins from this network.
User-User network. We compute this network using matrix multiplication . From this, we extract “user connected components” features, as per an upcoming subsection.
Pump-User network. Bipartite graph containing pump attempts and users. The edge weight between a pump attempt and user is equal to the number of times mentions in a tweet within the period . Here we chose hours. We denote as the affiliation matrix of this bipartite graph, where and are the set of pump attempts and users respectively. is equal to the weight of edge connecting and . From this network, we train user embeddings using linear CorEx (Steeg and Galstyan, 2017).
We are interested in the following: which Twitter user groups are responsible for spreading pump messages? A feature vector containing user groups can predict that a pump message is posted (or will be posted) on Telegram, only if there is coordination between Telegram and Twitter users, e.g., if accounts are owned by the same scammers. While it is possible to encode the Twitter user IDs tweeted about a coin (in a certain time interval) as a binary vector, such a vector will contain dimensionality of millions (or, hundreds of thousands, if we do any reasonable thresholding). Other reasonable things to attempt are embedding users onto lower dimensions (see CorEx subsection, next), or grouping the users by some heuristic.
For every coin, we summed up the adjacency matrices for . In other words, the entry in the sum matrix contains the number of times users and co-tweet about the coin, in a timeframe of 6 hours before and up to a pump timestamp, as detected by our Telegram pump message classifier. At this point, the graph is very dense with usually of nodes belonging to one connected component. We sparsify the graph by keeping the top- edges per user. Then, we calculate the connected components from the graph, dropping connected components consisting of less than 25 users. Each user is now represented by the ID of its connected component. Users that do not correspond to the connected components are ignored from this feature representation. Manual inspection of the connected components showed that they are indeed meaningful, with the largest connected component usually corresponding to scammers. For example, Twitter usernames of the largest connected component of a cryptocurrency are visualized in Figure 6. Given a coin and a timestamp, we can now create a feature vector containing the counts of users tweeting about the coin, grouped by the connected components they belong to. We tried , and the final result does not change much. However, higher values produced just a handful of sizable connected components.
Total Correlation Explanation (CorEx) discovers latent representation of complex data based on optimizing an information-theoretic approach. More specifically, given a set of vectors , it aims to find latent variables that best describes the multivariate dependencies of by minimizing . Here, is “total correlation” or multivariate mutual information (Watanabe, 1960).
As explained in Section 5.1.1, we model Twitter user activities and pump attempts as a bipartite graph called pump-user network and denote its affiliation matrix as . Here, each pump attempt is represented as a -dimensional vector of user activities, meaning that each user is considered as a variable. We are interested in extracting latent variables from this data by applying linear CorEx on . We found the best number of latent factors by plotting the sum of the total correlation for each latent variable against . is when this value starts going down significantly. The weight matrix obtained from applying linear CorEx is used as the embedding for the users. The learned clusters and the user status (suspended / active) are visualized in Figure 9.
For tasks I and II, we trained binary Logistic Regression classifier from scikit-learn, setting the regularization coefficient
but otherwise leaving all default settings as is. It might be possible for someone to improve the classification accuracy by using other models, e.g., neural nets, but we leave this as future work. To run 10-fold validation, in each we randomly choose 80% of the data for training and the rest for testing. We report the mean and standard deviation over the 10 folds on our metric, the Area Under the Receiver Operating Characteristic Curve (ROC-AUC), which gives a baseline offor random guesses, and the higher the metric, the better.
Experimental Setting. We propose a binary classification task for predicting from Twitter activity, Telegram pump messages that will happen in the future. In our setup, we use the timestamps of Telegram messages labeled as pump attempts by our classifier as positives. We use an equal number of random timestamps as negatives.
Results. Table 6(a) summarizes our results. It shows that our model is able to predict with reasonable accuracy, from Twitter activity, that a Telegram message will appear for attempting to pump a coin. This suggests that there is coordination between Twitter and Telegram users. Adding economic features helps the prediction.
Experimental Setting. The positives of this task are a subset of the positives in Task I—namely, the pumps that have succeeded. In other words, the target price mentioned in the pump message was successfully met by the market. The negatives of this task include all the negatives of Task I and some of the positives of Task 1—specifically, the pump messages that were not successful. In other words, the target price was not reached within 6 hours of the pump message.
Results. Table 6(b) shows that we can predict if a pump will succeed about 10% to 30% better than random: in fact, using only the economic features (time series of coin market value and trade volume) give predictions that are merely better than random. This task is relatively difficult, as it is similar to predicting that a stock price will reach a certain value. The ROC curve is plotted in Figure 8 for two coins under the two classification tasks.
|Participation Level||Total # Users||Suspended||Telegram Active|
In this section we analyze the characteristics of the pump-user network, explained in Section 5.1.1. This graph has 52 connected components, and the size of the largest connected component is roughly similar to the size of the original graph. It suggests that a set of users is present in most of the pump-related activities on Twitter. Two approaches are used to mark users as scammers.
Twitter Suspended List. Using the Twitter API, we collected the most recent status of the users in our dataset, and checked whether they are still active or suspended by Twitter.
Telegram Invitation Links. From our tweet dataset we extracted the tweets containing a Telegram invitation link (e.g., http://t.me/Monsterpumper) and labeled users associated with these tweets as “Telegram active.”
Table 7 shows that 0.16 of the total users of the pump-user network are suspended and 0.075 of them are Telegram active. However, we can see that the ratio increases among the users that participate more in the pump operations. For a given user, the sum of the weights of its adjacent edges in the pump-user network shows the number of times the user participated in a pump operation.
User Clustering. Using the weight matrix obtained from applying CorEx on (explained in more detail in Section 5.1.3) we cluster the users of the pump-user network by assigning user to . We were able to detect a cluster of potential scammer users, being Telegram active and suspended Twitter accounts that were also Telegram active. Non-scammer users were clustered together as we found a cluster of 1,067 users being suspended and Telegram active. Figure 9 visualizes the top latent factors obtained by training CorEx on , and top 200 users with the highest mutual information to a latent factor. Each centered node represents a latent factor connected to the users with the highest mutual information to the factor. The users are shown by their twitter current account status. The algorithm was able to distinguish between suspended and active twitter accounts as we observe that some latent factors contain only suspended accounts, while there are two clusters containing mostly not-suspended (active) accounts.
We split the discussion of the related work into two complementary threads. First, we will focus on fraud in social media and some of the efforts that have been taken to address it. Next, we will discuss other work that analyzes cryptocurrency activity, with a special focus on work that includes social media in its analysis.
Social media has a long history of fraudulent activity, and some of these types of fraud appear in our work. First, when the fraudsters attempt to pump a coin by making it look more popular than it actually is, they are engaging in a specific type of misinformation. Misinformation is a major problem on social media (Wu et al., 2016), and several recent efforts have tried to detect it (Starbird et al., 2014; Ratkiewicz et al., 2011; Kwon et al., 2013). Another burgeoning line of work is bot detection (Subrahmanian et al., 2016). There is a known connection between bots and misinformation, wherein bots are actively employed to spread misinformation in social networks (Lazer et al., 2018; Forelle et al., 2015). We leverage previous literature in these areas in our approach. The bot labeling approach that we use in the bot assessment portion is based on previous work (Hu et al., 2014). Additionally, we study the dynamics of users’ reactions to the pump and dump campaigns. This is similar to previous work on social media where similar inputs are used to identify susceptible users (Sampson et al., 2016; Ozturk et al., 2015).
There are several papers that study cryptocurrencies, and analists build models to predict their price movement. An example of the latter class is (Kim et al., 2016). In this paper the authors use a cryptocurrency forums to predict the price and volume of cryptocurrencies. In another effort (Phillips and Gorse, 2017) the authors build a model to predict price fluctuations of cryptocurrencies. Specifically, they use epidemic models on social media activity to predict price bubbles of cryptocurrencies. (Kim et al., 2017) further tests how users discuss cryptocurrencies and how that discussion impacts price. They found that specific topics are more likely to be tied to price movements. (Phillips and Gorse, 2018) extends this analysis by using wavelets to predict price movements based on social media data. (Garcia and Schweitzer, 2015) looks into the dynamics underlying social media and how they correlate with cryptocurrency price. They find that opinion polarization has a significant effect on price, and use this to build a model that predicts the price of the cryptocurrency. In an effort to understand the dynamics of cryptocurrency discussions, (Linton et al., 2017) performed topic modeling on a popular cryptocurrency discussion form. They identified several common threads of discussion, such as bitcoin theft. Moreover, they showed that different mining technologies have different patterns of adoption on the forums. Our work stands apart from these methods by moving away from predicting price and volume movements, and instead identifying patterns of malicious behavior.
The work that is most related to ours is (Xu and Livshits, 2018), where the main goal is predicting which coin will be pumped based on social signals from Telegram. The authors focus on “pre-pump” messages, which are those that announce an upcoming pump operation, but do not mention a coin. They developed a model to predict the likelihood of each coin being the target of the subsequent pump operation following the “pre-pump” message. Our work is complementary in that we consider a richer set of prediction problems, we use social signals from Twitter, and we provide a user-centric analysis of such pump attacks.
In this paper we presented a novel computational approach for identifying and characterizing cryptocurrency pump and dump operations that are carried out in social media. Specifically, given financial and Twitter data pertaining to a particular coin, our method is able to detect, with reasonable accuracy, whether there is an unfolding attack on that coin on Telegram, and whether or not the resulting pump operation will succeed in terms of meeting the anticipated price targets. We also analyzed activities of users involved in pump operations, and observed a prevalence of Twitter bots in cryptocurrency-related tweets in close proximity to the attack.
As future work, we plan to augment our datasets with other sources (e.g., such as Reddit posts) to help with the prediction tasks considered here. Also, while our analysis of bot activity relied on suspended accounts, it will be interesting to develop a bot detection tailored to the cryptocurency domain. Finally, as one practical outcome of the work presented here, we envision building a cryptocurrency monitoring system that will detect impending pump attacks in real-time and warn susceptible users.
We thank Saurabh Birari for developing a crawler for collecting historical market data. We would also like to thank Emilio Ferrara and Pegah Jandaghi for their helpful comments.
Vader: A parsimonious rule-based model for sentiment analysis of social media text. InEighth International Conference on Weblogs and Social Media (ICWSM-14). Available at (20/04/16) http://comp. social. gatech. edu/papers/icwsm14. vader. hutto. pdf.