https://github.com/demetersson83/sentimizer
Sentimizer will measure sentiment around specific entities within text. It is built on NLTK, Spacy, and NRCLex.
https://github.com/demetersson83/sentimizer
affect named-entity-recognition natural-language-processing nltk sentiment-analysis
Last synced: 7 months ago
JSON representation
Sentimizer will measure sentiment around specific entities within text. It is built on NLTK, Spacy, and NRCLex.
- Host: GitHub
- URL: https://github.com/demetersson83/sentimizer
- Owner: DemetersSon83
- License: mit
- Created: 2022-10-17T17:31:03.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2022-10-20T17:15:00.000Z (almost 3 years ago)
- Last Synced: 2025-02-25T04:05:44.793Z (7 months ago)
- Topics: affect, named-entity-recognition, natural-language-processing, nltk, sentiment-analysis
- Language: Jupyter Notebook
- Homepage:
- Size: 80.1 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Sentimizer
## About
Sentimizer will measure sentiment around specific entities within text. It is built on NLTK, Spacy, and NRCLex. Output is a dictionary that can be analyzed further, graphed, formulated into a wordcloud, etc.
## References
* https://github.com/explosion/spaCy
* https://github.com/nltk
* https://github.com/metalcorebear/NRCLex## Revision History
* 2022-10-17: initial commit.## Example Usage
`pip install sentimizer`### Instantiate SentiMizer Object
`from sentimizer import SentiMizer`
`analyzer = SentiMizer()`### Load Text
Loads initial body of text.
`analyzer.load_text(text : str)`
attributes:
`analyzer.text` - attribute contains loaded text (str).### Append Text
For appending additional text to the initial input.
`analyzer.append_text(text : str)`### Entity Recognition
For identifying entities within the loaded body of text.
`analyzer.find_entities()`
optional parameters:
`entity_types_of_interest` - list of entity types for recognition. Default value is `['ORG', 'PERSON', 'FAC', 'GPE', 'LOC', 'EVENT']` All possible lables include: `CARDINAL, DATE, EVENT, FAC, GPE, LANGUAGE, LAW, LOC, MONEY, NORP, ORDINAL, ORG, PERCENT, PERSON, PRODUCT, QUANTITY, TIME, WORK_OF_ART` For a description of each, visit https://spacy.io/models/en.
attributes:
`analyzer.entities` - dictionary of entities and their tags (dict).
`analyzer.sentences` - dictionary of entities and concatenated sentences containing each entity (dict). Keys are entities and values are the concatenated sentences mentioning that entity.### Measure Emotional Content
For measuring sentiment and emotional affect of sentences that mention each entity.
`analyzer.emote()`
attributes:
`analyzer.sentiments` - Vader composite sentiment scores for each entity (dict). Keys are entities and values are the composite sentiment score for that entity.
`analyzer.affect` - NRCLex affect scores for each entity (dict). Keys are entities and the values are affect frequency dictionaries.
optional parameters:
`entity_type` - string specifying the entity type to analyze. Default value is `None`. Default action is the analyze all entity types.