Test - Java Version - Buy! - About


Automatic stress and relaxation strength detection for up to 16,000 social web texts per second for English - other languages easily added.

TensiStrength estimates the strength of stress and relaxation expressed in short texts, even for informal language. It has human-level accuracy for short social web texts in English, except political texts. TensiStrength reports two stress/relaxation strengths:

-1 (no stress) to -5 (very high stress)

1 (no relaxation) to 5 (highly relaxed)

Why does it use two scores? Because stress and relaxation are to some extent oposites but are often discussed in parallel - e.g., "I am stressed and need to lie down".

TensiStrength can also report binary (positive/negative), trinary (positive/negative/neutral) and single scale (-4 to +4) results. TensiStrength was originally developed for English and optimised for general short social web texts, such as tweets, but can be configured for other languages and contexts by changing its input files. Some variants are demonstrated below.

Quick Tests:

Output: Dual, binary, trinary, scale


Get TensiStrength

TensiStrength is free for academic research. Please contact the author Mike Thelwall for the Java version, whether for academic research or commercial use. It is provided without liability or guarantees for any uses. Downloading TensiStrength and/or the configuration files signifies acceptance of these conditions. To use TensiStrength for research only (free), please email from your academic email address.

Java Documentation

The Java version of TensiStrength is similar to the Java version of the sister program SentiStrength - see the SentiStrength Java manual and Mac users' starting instructions (also helps in Linux probably). Most of the information on the SentiStrength website is also true for TensiStrength. TensiStrength should be run with the command line option mood 0.

About TensiStrength

TensiStrength is described and evaluated in the following peer-reviewed academic article:

Thelwall, M. (2017). TensiStrength: Stress and relaxation magnitude detection for social media texts. Information Processing & Management, 53(1), 106–121. doi:10.1016/j.ipm.2016.06.009

The following papers are also related:

Pillai, R. G., Thelwall, M., & Orasan, C. (2018). Trouble on the Road: Finding Reasons for Commuter Stress from Tweets. In Proceedings of the Workshop on Intelligent Interactive Systems and Language Generation (2IS&NLG) (pp. 20-25).

Pillai, R. G., Thelwall, M., & Orasan, C. (2018). What Makes You Stressed? Finding Reasons From Tweets. In Proceedings of the 9th Workshop on Computational Approaches to Subjectivity, Sentiment and Social Media Analysis (pp. 266-272).

Pillai, R., Thelwall, M. & Orasan, C. (2018). Detection of stress and relaxation magnitudes for tweets. SocialNLP Workshop, WWW2018 Conference. Lyon, France (pp. 1677-1684).

TensiStrength applications

BroadBand Genie are using TensiStrength to assess broadband customer stress.

Talent innovation company SHL have ranked prominent US business leaders for stress based on their tweets with TensiStrength.

Extra resources available via links in the appendix of the above article (for researchers):

Support files

The various files with TensiStrength contain information used in the algorithm and may be customised.

Language customisation

TensiStrength can be adjusted for other languages by translating the term list SentimentLookupTable.txt and adding any missing relaxation and stress terms. Note that the sentiment scores for terms should be in the range 2 to 5 (relaxation) or -2 to -5 (stress). A score of +1 or -1 means neutral and neutral terms are ignored. A training corpus in the new language is recommended to help adjust the term weight strengths.

The following files will also need to be translated or replaced with a local equivalent (see the extra instructions):

You will also need to register a list of non-English common multiple letters (e.g., ii is common in some languages but not English). For the Java version please see the manual for this option. For the Windows version, please check the options menu for this customisation. Spell-checking can also be completely disabled in both versions, if needed.

Negating words occurring after sentiment words (e.g., "I am happy not" is OK in German but not English) can be customised in TensiStrength. TensiStrength may need the utf8 option to read the input files, if in UTF8 rather than ASCII format (note that utf8 does not always work on ANSI text files so it should not be used as the default).

TensiStrength versions for other languages

Would you like to help? If you are a linguist or non-English native speaker then you might be able to help us to make a version for your language.

Please email m dot thelwall at wlv.ac.uk if you would like to help. This makes a good student project.

Domain customisation

TensiStrength can be adjusted for other domains (e.g., Twitter, product reviews) by adding new relevant words and sentiment strengths to the term list SentimentLookupTable.txt and adjusting any relevant existing term strengths.