始める無料で始める

電話対応の感情を分析する

音声ファイルからテキストに書き起こせば、そのテキストに対して自然言語処理を行うことができます。

この演習では、NLTK の VADER(Valence Aware Dictionary and sEntiment Reasoner)を使って、call_2.wavfile)の書き起こしテキストの感情を分析します。

書き起こしには、先ほど作成した transcribe_audio() 関数を使います。

テキストが用意できたら、NLTKSentimentIntensityAnalyzer() クラスを使って感情の極性スコアを取得します。

.polarity_scores(text) は、pos(positive)、neu(neutral)、neg(negative)、compound の値を返します。compound は他の3つの値を組み合わせた指標です。値が大きいほどテキストはポジティブで、小さいほどネガティブになります。

この演習はコースの一部です

Pythonで学ぶ音声言語処理

コースを見る

演習の手順

  • SentimentIntensityAnalyzer() のインスタンスを作成し、変数 sid に保存します。
  • 対象の通話を書き起こし、call_2_text に保存します。
  • call_2_textpolarity_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))
コードを編集して実行