Python 语音语言处理
Daniel Bourke
Machine Learning Engineer/YouTube Creator
$ pip install nltk
# 下载所需的 NLTK 包
import nltk
nltk.download("punkt")
nltk.download("vader_lexicon")
# 导入情感分析类 from nltk.sentiment.vader import SentimentIntensityAnalyzer# 创建情感分析实例 sid = SentimentIntensityAnalyzer()# 在负面文本上测试情感分析 print(sid.polarity_scores("This customer service is terrible."))
{'neg': 0.437, 'neu': 0.563, 'pos': 0.0, 'compound': -0.4767}
# 转写 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"
# 对 call_3 的客户声道做情感分析
sid.polarity_scores(call_3_channel_2_text)
{'neg': 0.0, 'neu': 0.892, 'pos': 0.108, 'compound': 0.4404}
call_3_paid_api_text = "Okay. Yeah. Hi, Diane. This is paid on this call and obvi..."
# 导入句子分割器 from nltk.tokenize import sent_tokenize# 对每句计算情感 for sentence in sent_tokenize(call_3_paid_api_text): print(sentence) print(sid.polarity_scores(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...
Python 语音语言处理