1.1.2 • Published 4 years ago

empath-sentiment-analysis v1.1.2

Weekly downloads
1
License
ISC
Repository
github
Last release
4 years ago

Empath lets you perform client side sentiment analysis. It is designed to work with emails.

Features include:

  • multilingual sentiment analysis (German and English supported currently)
  • DISC profile analysis
  • email signature recognition (so only the email body gets analysed)
  • egoismAnalyser (so you can figure out how selfish someone is based on their communication)

Usage:

Install module

npm install --save-dev empath-sentiment-analysis

Using Sentiment Analyser

Modified from https://github.com/thisandagain/sentiment/blob/master/lib/index.js

import empath from 'empath-sentiment-analysis';
empath.analyseSentiment(phrase = '', attributesOfInterest = []);

Result:

{
    wordListDidNotMatch: tryAnotherWordList,
    score:          score,
    comparative:    score / tokens.length,
    tokens:         tokens,
    words:          words,
    positive:       positive,
    negative:       negative,
    attributeScores: attributeScores
};

Attribute scores are useful if you have a number of products for which you want to analyse sentiment. Review the test cases for more details.

Using DISC Profile Guesser

import empath from 'empath-sentiment-analysis';
empath.guessDISCProfile.getUserReadableDISCProfile(email);

result:

{
    'D': D,
    'I': I,
    'S': S,
    'C': C,
}

or empath.guessDISCProfile.getUserReadableDISCProfile(email);

result: two letters indicating primary and secondary profile, e.g. DC

Using Email parser

import empath from 'empath-sentiment-analysis';
const emailWithoutSignatureAndQuotedReplies = empath.parseEmail(email);

If you supply an email with a long signature and quoted replies from the thread, it will trim everything except the first email.

Using Readability analyser

import empath from 'empath-sentiment-analysis';
const readabilityScore = empath.calculateReadabilityScore(email);

Anything above 4.0 is considered advanced vocab

Egoism analyser

import empath from 'empath-sentiment-analysis';
const egoismScore = empath.analyseEgoism(email);

Result:

{
    selfish, 
    controlling, 
    conforming
};

Selfish = number of selfish words used Controlling = number of command/imperative words used Conforming = number of we/group style words

Ratio can yield interesting insights about personality

1.1.1

4 years ago

1.1.0

4 years ago

1.1.2

4 years ago

1.0.7

8 years ago

1.0.6

8 years ago

1.0.5

8 years ago

1.0.4

8 years ago

1.0.3

8 years ago

1.0.2

8 years ago

1.0.1

8 years ago

1.0.0

8 years ago