Skip to content

pfabrikant/sentiment-analysis

Repository files navigation

sentiMapp

a react web application that analyses and evaluates the sentiment of user text inputs powered by Google's Natural Language API.

This application is deployed on heroku.

What does the sentiMapp do?

This application provides sentiment analysis for any text up to a length of 10,000 characters. After the user submitted a text, the sentiMapp will deliver a detailed analysis of the sentiment of the text as a whole, its sentences and its entities (proper nouns and common nouns). The sentences that received a particularly high or low sentiment score will be highlighted (blue for positive, red for negative). Upon clicking on one of the highlighted sentences, further information about the sentence will be presented as well as a list of alternative rephrasings. Those rephrasings are generated by making multiple requests to Google's Translation API.

When the user chooses a new rephrasing, her choice will be automatically inserted into the text and a new sentiment analysis will be performed.

Which languages does the application support?

Currently, the application supports sentiment analysis and sentence suggestions in English, French, German, Italian, Japanese, Korean, Portuguese, Russian, Spanish and Chinese.

Sentiment Analysis

This application is powered by Google's Natural Language API. It is using machine learning to reveal the structure and meaning of a text. Specifically, sentiMapp uses its Sentiment Analysis and Entity Analysis features.

The sentiment analysis calculates the 'sentiment score' for the entire text and for each of the sentences constructing it. It is important to note that the tool is still under active development and therefore not very 'emotionally intelligent'. Currently, it can only analyze emotions on the spectrum of positivity-negativity. This means that sadness and anger, for example, would both be categorized as negative sentiments.

In addition to the sentiment score, the text and sentences also receive a magnitude score which reflects their emotional charge, regardless of sentiment. This extra score helps sentiMapp to calibrate its analysis of emotionally mixed texts.

Tech stack:

Node.js, Express, React, Redux, PostgreSQL database, multiple external API integrations.

Contributing

Pull requests are welcome.

License

GNU GPLv3

About

A sentiment analysis application

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages