Metadata-Version: 2.1
Name: emotion-nrc-affect-lex
Version: 0.0.4
Summary: find emotion scores from a list of words
Home-page: https://github.com/tazwar2700/Emotion_NRC_affect_lexicon
Author: Syed Mahir Tazwar
Author-email: tazwar2700@gmail.com
License: UNKNOWN
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Operating System :: OS Independent
Description-Content-Type: text/markdown

# emotion
This module is a emotion classifier that classifies emotion of a list of words and gives aggregated scores for each emotion. The classifier is based on NRC Affect Intensity Lexicon. The lexicon has close to 10,000 entries for eight emotions that Robert Plutchik argued to be basic or universal:
1. Joy
2. Sadness
3. Anger
4. Fear
5. Disgust
6. Anticipation
7. Trust
8. Surprise


Lexicon source is (C) 2020 National Research Council Canada (NRC) and this package is **for research purposes only**. Source: [lexicons for research] (http://www.saifmohammad.com/WebPages/AffectIntensity.htm)
 Some words has multiple emotions to varying degree. Here is how the classifier works:

* The classifier first matches the words with the lexicon and fetches the
emotions and intensity score for each matching from the lexicon.

*  Then it sums the scores along the emotions and gives a mood score of
the song. The emotion intensity are given from 0 to 1 in floats so the
aggregated score is a float as well.

*  It multiplies the number of appearances of these mood words in the song
with the intensity score to give a corrected weighting of each emotion.

For now the input has to be a list of words rather than a text body. I will change it in the next update.  Please convert the text body into a list of words for using this package.

## Installation
Run the following to install:

```python
pip install emotion_nrc_affect_lex
```
## Usage
```python
from emotion import*
text = ['I','hate','everything','about','you','Why','do','I','love','you'] # The input should be a list of words. Please convert your text body to a list before using this package.
emo_object = Emo(text)
```
```python
# Gives aggregated emotion scores for the whole list.
emo_object.weighted_emotion_scores
```

```python
# Dictionary of each of the affect words
emo_object.affect_dict
```
```python
# Gives number of words for each emotion
emo_object.raw_emotion_scores
```
```python
# Gives a list of affect words and their frequencies
emo_object.word_frequencies
```


