OpenAI GPT-3(text-davinci-003)でEmotion分析してみる
GPT-3の最新モデルを使ったChatGPTが話題のようです。Chat GPTについては賛否両論あるようですが、まずは元となるモデルで、何が、どんなレベルでできるのかを理解する必要があると考えています。
前回はplaygroundを使って、Q&AタスクとChatタスクとを試してみました。
Emotion分析
前回同様、OpenAIのPlaygroundを開いて、promptsを入力します。モデルは"text-davinci-003"とし、他のパラメータはデフォルトのままです。
「以下の文章に含まれている感情を抽出してください。」に続けて、対象となる文章を入力します。
その後、Submitボタンを押すと、結果(グリーンのアンダーライン部)が表示されます。
それでは、試してみます。
以下の文章に含まれている感情を抽出してください。
大雪のため、荷物の配送が遅れているようです。子供へのクリスマスのプレゼントを購入したのに間に合わないかもしれません。
- 悲しみ
https://beta.openai.com/playground
- 不安
なんとなくですが、あっているような気がします。
人間でも感情分析は難しいものですが、少し表現を変えてみます。
以下の文章に含まれている感情を抽出してください。
大雪のため、荷物の配送が遅れているようです。子供へのクリスマスのプレゼントを購入したのに間に合いそうにありません。
・悲しみ
https://beta.openai.com/playground
・焦り
・不安
「間に合わないかもしれません」よりも「間に合いそうにありません」の方がより”悲壮感”が強くなっていると思いますが、”焦り”という感情が追加されました。
更に、
以下の文章に含まれている感情を抽出してください。
大雪のため、荷物の配送が遅れているようです。子供へのクリスマスのプレゼントを購入したのに間に合いませんでした。
- 失望
https://beta.openai.com/playground
結果がわかると”不安”が”失望”へと変わりました。表現による微妙な感情の変化をうまく抽出できているように思います。
次に、前半部と後半部とで感情を逆にしてみます。
以下の文章に含まれている感情を抽出してください。
価格は安いとは思いますが、品質は今ひとつです。
不満
https://beta.openai.com/playground
語順を変えてみます。
以下の文章に含まれている感情を抽出してください。
品質は今ひとつですが、価格は安いと思います。
・満足感
https://beta.openai.com/playground
・不満
一般的に、後半部の感情が文全体の感情を表すことが多いと思います。ただ、日本人が面と向かって話す場合には、後半部に好意的な文章を持ってきがちなのではないでしょうか?目の前の相手に嫌な感情を持たれたくない気持ちが入っているように思います。
一方、インターネット上の商品レビューなどで「不満」をぶつけたい場合には、本音のところを最後の”結論”として書きたくなります。
先ほどの2つの例は、いずれも「品質が今ひとつ」(=不満)ということを言いたいはずなのですが、「価格は安い」というワードを2例目で「満足」と受け取ってしまっても、仕方がないかもしれません。
最後は少し意地悪な文章です。
以下の文章に含まれている感情を抽出してください。
品質はあり得ないほど酷くはないが、価格は安いとは言えないくらいに高いものではない。
- 残念さ
https://beta.openai.com/playground
- 不満
日本語として文法は正しいけれど、意味的には間違っている文章です。意味的には間違っていますが、日本人が読むと「不満なんだろうな」ということは想像できます。
まとめ
GPT-3で感情分析をしてみました。promptsの導入部の書き方でも結果が変わってきますので、実用化に際しては、きっちりとした検証が必要です。
その上で、想定以外の感情も抽出されていたのは興味深く思います。例えば、あらかじめ用意された感情に分類する場合、おそらく「焦り」という感情は分類候補には入れないように思います。抽出された感情を体系化するなど、複雑な人間の感情をより細かく把握することができるかもしれません。