Commit cd245b26 authored by Dhananjaya Jayashanka's avatar Dhananjaya Jayashanka

emotion analyze file changers done

parent 118a1e7b
import string import string
from collections import Counter from collections import Counter
from nltk.corpus import stopwords
from nltk.sentiment.vader import SentimentIntensityAnalyzer
from nltk.stem import WordNetLemmatizer
from nltk.tokenize import word_tokenize
def textAnalyze(speech): def textAnalyze(speech):
text = speech text = speech
# converting to lowercase
lower_case = text.lower() lower_case = text.lower()
# Removing punctuations of the full text
cleaned_text = lower_case.translate(str.maketrans('', '', string.punctuation)) cleaned_text = lower_case.translate(str.maketrans('', '', string.punctuation))
# splitting text into words # Using word_tokenize because it's faster than split()
tokenized_words = cleaned_text.split() tokenized_words = word_tokenize(cleaned_text, "english")
stop_words = ["i", "me", "my", "myself", "we", "our", "ours", "ourselves", "you", "your", "yours", "yourself", # Removing Stop Words
"yourselves", "he", "him", "his", "himself", "she", "her", "hers", "herself", "it", "its", "itself",
"they", "them", "their", "theirs", "themselves", "what", "which", "who", "whom", "this", "that",
"these",
"those", "am", "is", "are", "was", "were", "be", "been", "being", "have", "has", "had", "having",
"do",
"does", "did", "doing", "a", "an", "the", "and", "but", "if", "or", "because", "as", "until", "while",
"of", "at", "by", "for", "with", "about", "against", "between", "into", "through", "during", "before",
"after", "above", "below", "to", "from", "up", "down", "in", "out", "on", "off", "over", "under",
"again",
"further", "then", "once", "here", "there", "when", "where", "why", "how", "all", "any", "both",
"each",
"few", "more", "most", "other", "some", "such", "no", "nor", "not", "only", "own", "same", "so",
"than",
"too", "very", "s", "t", "can", "will", "just", "don", "should", "now"]
# Removing stop words from the tokenized words list
final_words = [] final_words = []
for word in tokenized_words: for word in tokenized_words:
if word not in stop_words: if word not in stopwords.words('english'):
final_words.append(word) final_words.append(word)
# Lemmatization
lemma_words = []
for word in final_words:
word = WordNetLemmatizer().lemmatize(word)
lemma_words.append(word)
emotion_list = [] emotion_list = []
for i in final_words: for i in final_words:
...@@ -44,8 +34,16 @@ def textAnalyze(speech): ...@@ -44,8 +34,16 @@ def textAnalyze(speech):
clear_line = line.replace("\n", '').replace(",", '').replace("'", '').strip() clear_line = line.replace("\n", '').replace(",", '').replace("'", '').strip()
word, emotion = clear_line.split(':') word, emotion = clear_line.split(':')
if i in word: if i in word:
final_emotions = emotion.replace("", '').strip() final_emotion = emotion.replace("", '').strip()
emotion_list.append(final_emotions) def sentiment_analyse(sentiment_text):
score = SentimentIntensityAnalyzer().polarity_scores(sentiment_text)
if score['neg'] > score['pos']:
emotion_list.append(final_emotion)
elif score['neg'] < score['pos']:
emotion_list.append(final_emotion)
else:
emotion_list.append(final_emotion)
sentiment_analyse(word)
print(emotion_list) print(emotion_list)
w = emotion_list w = emotion_list
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment