#はじめに
近年、Deep Learningの自然言語処理分野への応用もかなり活発になっていますが、その中で特に話題となっているOpen AIのGPT-3を試してみました。前回の記事「GPT-3 APIの利用申請から承認まで」からの続きで、今回は実際にGPT-3を試した結果を紹介したいと思います。
(理解不足により記述に誤りが含まれる場合はご容赦ください)
#Open AI のAPIサイト
https://beta.openai.com/
ログインすると、次のようなページがまず出てきます。
左上にDocumentation, Playground, Examples, Resourcesとメニューが並びますが、PlaygroundでGPT-3の実際の動きを手軽に試すことができます。試す前にDocumentationで簡単にAPIの説明を読んでおくと、PlaygroundでのGPT-3の挙動が理解しやすくなります。
#Documentation
Documentationには、APIの使い方や注意事項が載っています。Key conceptsでAPIの基本的な概念が以下のように書かれています。APIは、入力および出力ともにテキスト(文章)であり、"Prompt"という入力テキストの続きを推論した結果を"Completion"という出力テキストとして得る仕組みになっています。要はユーザーが入れた文章の続きをそれらしく推定して出力してくれるという感じです。
他、PythonなどによるAPIの使い方が簡単なコード例とともに掲載されています。本記事では、APIを直接動かすのではなく、次に説明するPlaygroundで試した結果を紹介したいと思います。
Playground
Playgroundには、以下のようにプリセットとして十数種類の応用例が用意され、ブラウザ上でインタラクティブに試せるようになっています。実際に裏でAPIを動かしているようですので、プログラミング抜きでGPT-3の性能を試すのに向いています。
#Chatの例
Chatは、いわゆるスマートスピーカー(SiriやAlexaなど)のようにユーザーとおしゃべり(チャット)する機能です。
(注:このキャプチャは3月頃のGUIバージョンなので最新のものと若干違います。次のキャプチャも同様。)
チャット機能の実現方法は、一行目の"The following is a conversation with an AI assistant to support a driver in a car. The assistant is helpful, creative, clever, and very friendly."という文でチャットボットの性格付けやシチュエーションを設定し、さらに対話パートを1, 2ターン書くだけです。要約など他の機能も同様で、入力の一部として用途を表す文章を書けば、機能が実現できるようになっています。汎用性が高いですね。
この例は、鎌倉にドライブしに行き、周辺の観光スポットなどを聞くシチュエーションで実際に自動生成させた例です。2つ目のHumanパートまでを入力し、"Submit"ボタンを押してチャットをスタートし、以降はインタラクティブにやり取りした結果です。AIパートは自動生成された文章で、的確に受け答えし、鎌倉の観光スポットも間違えずに提案していることに驚かされます。
#Chat(日本語)の例
さらに日本語もできるかを試してみました。
一行目に日本語も流ちょうに話せると書き加え、設定シチュエーションは英語の例と同じにしました。こちらもかなりうまくいっています。
#失敗例
実は、上の2つの例はうまくいった例で、Chatの場合は大体4ターン目ぐらいで少しおかしなことを言い始めます。
この例だと5ターン目から怪しくなり、6ターン目から突然ハワイの洞窟の話を始めてしまいました。人間同士のおしゃべりでも話題が飛ぶこともあるので、ある意味人間らしいのかもしれません。
#おわりに
最新NLPの一つであるGPT-3を試してみました。自動で生成される文章はかなり自然で意味もある内容なことが多く、試すのも面白くて飽きませんでした。一方で、時折完全に間違ったことを(自信満々に)出力するので、自分が良く知らない分野に関する内容は、嘘か本当かを見極めるのは難しいと感じました。悪用されては危険ですのでAPIの試用を許可制にして、さらに5人以上に対するアプリ開発に事前レビューを設けているのもうなずけます。
(written by Teraguchi)