電話対応の感情を分析する
音声ファイルからテキストに書き起こせば、そのテキストに対して自然言語処理を行うことができます。
この演習では、NLTK の VADER(Valence Aware Dictionary and sEntiment Reasoner)を使って、call_2.wav(file)の書き起こしテキストの感情を分析します。
書き起こしには、先ほど作成した transcribe_audio() 関数を使います。
テキストが用意できたら、NLTK の SentimentIntensityAnalyzer() クラスを使って感情の極性スコアを取得します。
.polarity_scores(text) は、pos(positive)、neu(neutral)、neg(negative)、compound の値を返します。compound は他の3つの値を組み合わせた指標です。値が大きいほどテキストはポジティブで、小さいほどネガティブになります。
この演習はコースの一部です
Pythonで学ぶ音声言語処理
演習の手順
SentimentIntensityAnalyzer()のインスタンスを作成し、変数sidに保存します。- 対象の通話を書き起こし、
call_2_textに保存します。 call_2_textのpolarity_scores()を出力します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
from nltk.sentiment.vader import SentimentIntensityAnalyzer
# Create SentimentIntensityAnalyzer instance
sid = ____
# Let's try it on one of our phone calls
call_2_text = transcribe_audio(____)
# Display text and sentiment polarity scores
print(call_2_text)
print(sid.____(call_2_text))