File size: 522 Bytes
cea4a4b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from langdetect import detect
from loguru import logger
from nltk.sentiment import SentimentIntensityAnalyzer
from textblob import TextBlob


def detect_language(text: str) -> None | str:

    try:
        return detect(text)
    except Exception:
        logger.debug(f"No language features: {text}")
        return None


sia = SentimentIntensityAnalyzer()


def get_sentiment(text: str) -> dict:
    sentiment = sia.polarity_scores(text)
    sentiment["subjectivity"] = TextBlob(text).subjectivity
    return sentiment