Absolang
A sentiment analysis library for detecting absolutist language.
Quickstart
Installation:
$ pip install absolang $ python -m spacy download en_core_web_sm
Determining absolutist index for text:
>>> from absolang import absolutist, absolutist_index >>> absolutist_index("The bigger dog is running.") 0.0 >>> absolutist("The bigger dog is running.") False >>> absolutist_index("He was completely bowled over.") 0.2 >>> absolutist("He was completely bowled over.") True
Algorithm
- Parse text into tokens using Spacy's en_core_web_sm language model.
- Count the number of word tokens (a token is considered a word if it consists solely of characters from the alphabet).
- Count the number of absolutist word tokens (a token is considered absolutist if its stem word is in the dictionary of absolutist words and it is not preceded by a negation, modifier or interjection).
- The absolutist index is the number of absolutist words divided by the total number of words.
- Text is considered absolutist if the index is greater than 1.1 percent.
Caveats
- The frequency of absolutist words in control texts (ones written by people presumed not to suffer from anxiety or depression more than the average person) is about 1%, so one needs a few hundred words of texts before results start becoming meaningful.