Sentiment analysis on spoken language text

Spoken Language Processing in Python

Daniel Bourke

Machine Learning Engineer/YouTube Creator

Installing sentiment analysis libraries

$ pip install nltk
# Download required NLTK packages
import nltk
nltk.download("punkt")
nltk.download("vader_lexicon")
Spoken Language Processing in Python

Sentiment analysis with VADER

# Import sentiment analysis class
from nltk.sentiment.vader import SentimentIntensityAnalyzer

# Create sentiment analysis instance sid = SentimentIntensityAnalyzer()
# Test sentiment analysis on negative text print(sid.polarity_scores("This customer service is terrible."))
{'neg': 0.437, 'neu': 0.563, 'pos': 0.0, 'compound': -0.4767}
Spoken Language Processing in Python

Sentiment analysis on transcribed text

# Transcribe customer channel of call_3
call_3_channel_2_text = transcribe_audio("call_3_channel_2.wav")
print(call_3_channel_2_text)
"hey Dave is this any better do I order products are currently on July 1st and I haven't 
received the product a three-week step down this parable 6987 5"
# Sentiment analysis on customer channel of call_3
sid.polarity_scores(call_3_channel_2_text)
{'neg': 0.0, 'neu': 0.892, 'pos': 0.108, 'compound': 0.4404}
Spoken Language Processing in Python

Sentence by sentence

call_3_paid_api_text = "Okay. Yeah. Hi, Diane. This is paid on this call and obvi..."
# Import sent tokenizer
from nltk.tokenize import sent_tokenize

# Find sentiment on each sentence for sentence in sent_tokenize(call_3_paid_api_text): print(sentence) print(sid.polarity_scores(sentence))
Spoken Language Processing in Python

Sentence by sentence

Okay.
{'neg': 0.0, 'neu': 0.0, 'pos': 1.0, 'compound': 0.2263}
Yeah.
{'neg': 0.0, 'neu': 0.0, 'pos': 1.0, 'compound': 0.296}
Hi, Diane.
{'neg': 0.0, 'neu': 1.0, 'pos': 0.0, 'compound': 0.0}
This is paid on this call and obviously the status of my orders at three weeks ago, 
and that service is terrible.
{'neg': 0.129, 'neu': 0.871, 'pos': 0.0, 'compound': -0.4767}
Is this any better?
{'neg': 0.0, 'neu': 0.508, 'pos': 0.492, 'compound': 0.4404}
Yes...
Spoken Language Processing in Python

Time to code!

Spoken Language Processing in Python

Preparing Video For Download...