Crypto sentiment analysis

Crypto sentiment analysis has become an important part of the crypto analytics toolbox. One of the problems with cryptocurrencies that unlike stocks, where we have financial statements available to assess the discounted cashflow value of the company, in crypto there is no comparable thing.

For most cryptocurrencies there are no “cashflows to the coin” which means that it is more difficult to assess the value of given cryptocurrency or its blockchain project.

Often the value of cryptocurrency is associated with the number of people using it for storage of value or for transactions. This number of people can be estimated from blockchain data. The general popularity can be however also seen from the social media mentions. E.g. Bitcoin regularly has over 50,000 mentions (filtered for spam and promotional posts) according to BittsAnalytics, leading platform for crypto sentiment analysis and social media mentions analysis of cryptocurrencies.

Another way to determine what users think about cryptocurrencies like Bitcoin, Ethereum, Polkadot and others is to compute sentiment of social media posts about them. This can be done using various machine learning models, a popular one is e.g. Support Vector Machines.

This is an example of how crypto sentiment analysis produced average sentiment for the Bitcoin cryptocurrency:

One can see how, as the price of Bitcoin fell on comments of Elon Musk about energy consumption of Bitcoin, the sentiment of Bitcoin drastically dipped.

BittsAnalytics actually provides a nice feature where you can see which words are most frequently used in positive and negative social media posts about Bitcoin, e.g.

Aspect Based Sentiment Analysis, Opinion Mining and Online Reputation Management

Sentiment analysis has become a popular topic in recent years both in academic as well as in commercial sectors. It allows you to learn opinions of customers about your product and services.

It is essentially mining for data which are then evaluated for subjective opinions or sentiments.

Valuable information can come from websites selling products and services, e.g. reviews on Amazon or Tripadvisor. Even larger data sets of sentiment data can be obtained from analysing data produced on social media platforms like Twitter, Instagram and others.

Historically, the first phase of sentiment analysis focused on determining the overall sentiment or sentiment polarity of sentences, paragraphs or entire documents.

More recently, increasing number of companies are not only interested in overall sentiment polarities of texts published about them and their products and services. They want to know the granular details:

  • which products and services are mentioned in texts about them
  • what aspects of these products and services are described (e.g. for laptop product, possible aspects can be battery life, screen resolution, hard disk)
  • what are the sentiment on these aspects as expressed by opinions in customer reviews

This latter approach is also known as Aspect Based Sentiment Analysis (ABSA).

ABSA looks at different aspects (e.g. location, food, room service ) of a product (e.g. hotel). ABSA requires implementation of several methods:

  • identification of relevant entities
  • extraction of their features and aspects
  • using aspect terms to determine the sentiment or opinion expressed about a particular feature or aspect (with contextual sentiment polarity of positive, neutral and negative class)

Identification of aspects can be determined with various approaches, including deep learning. Although deep learning is often more associated with computer vision consulting tasks, such as identification of image classes, face recognition, it is however used in similar intensity for text related tasks, some of the more known examples of applying deep learning to natural language processing are the following models:

Sentiment analysis, i.e. determining sentiment of aspects or whole sentences can be done by using various machine learning or natural language processing (NLP) models. Or one can train the models themselves, e.g. by using a deep learning neural net.

Deep learning approach of training sentiment classifier involves:

  • preparing a suitable labelled data set (a good one is Stanford labelled data set of tweets)
  • building a neural net model
  • training it
  • evaluating the results (in terms of precision, recall, f-score and accuracy)
  • deploying the model in production, e.g. as part of a data pipeline in Apache Airflow

There are companies that offer machine learning consulting and can build you an end to end product like this.

Sentiment analysis allows you to extract sentiment from a wide array of possible texts:

  • tweets
  • instagram posts
  • product reviews
  • restaurant reviews
  • hotel reviews
  • surveys
  • emails
  • tickets (support)

Sentiment analysis or opinion mining is a great solution for companies that have big data in form of unstructured texts, e.g. email communications with customers. It allows them to gain valuable information and actionable insights from this repositories of data.

It can also be helpful as part of their online reputation management which is becoming increasingly important.

Companies can thus see which products and services are mentioned in a positive way and which in a negative tone. This enables them to sometimes proactively react to the negative opinions or use this feedback to improve their services and products.