Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
7
Help us understand the problem. What is going on with this article?
@fried_chicken_380

からあげDSアゲ太郎 #2 -世界最強の自然言語処理AI「GPT-3」のベータテスターになったのでからあげを題材にサンプルを3つ試してみる-

はじめに

building_karaage.png
いやはや、早いもので2021年も始まって気づいたらゴールデンウィークに入っていましたね。
どうも、カラアゲニストのYusuke Miyamaruです。
データサイエンティスト(DS)としてお客様の課題を解決するために日々精進しています。

クリスマスにからあげの値段と地域性について調査を行った前回の記事も見ていただけると幸いです。↓


本日はあのイーロンマスク氏が作った「OpenAI」にて生み出された世界最強の自然言語処理AI「GPT-3」の
オープンベータテストのアカウントを手に入れることが出来ましたので

「からあげ」をテーマに

「GPTー3」の使い方を模索することを目的として

デモを色々試してみたいと思います!

目次

1.GPT-3とは?
2.GPT3 APIのデモサンプルの種類
3.デモ① Factual answering(事実に基づく回答) -からあげとは-
4.デモ② Recipe generator(レシピジェネレーター) -からあげの作り方生成-
5.デモ③ Restaurant review creator(レストランレビュークリエーター) -からあげ専門店のレビュー生成-
6.おわりに

1.GPT-3とは?

まず、GPT-3とは何か?という人もいますので、wikipediaから抜粋させていただきます。※1

Generative Pretrained Transformer 2 (GPT-2) の後継モデルである Generative Pretrained Transformer 3 (GPT-3) は、教師なしの Transformer 言語モデルである。
GPT-3 は 2020 年 5 月に初めて紹介された。 OpenAI によると、GPT-3 には 1,750 億個のパラメータが含まれ、GPT-2(パラメータ数 15 億個)より 2 桁大きい。

要するに、世界最先端の「自然言語アルゴリズム」で世界最大の「データ」をインプットに、世界最高レベルの「コンピューターリソース」で学習させることでパラメータが約15億個で構成される超巨大AIモデルを生み出したということです。

今回は詳細は割愛しますが、転移学習を主軸に置くカスタマイズ性に優れたGoogleの「BERT」に対し、追加で学習をさせずに汎用的なタスクに対応できるといった位置づけなのが「GPT-3」とも考えられます。

こうした「BERT」と「GPT-3」の違いなども議論されているので、下記記事なども興味があればご覧になると良いかもです。

また、今回はベータテスター登録や使用するまでの手順などは割愛しますが、下記記事など参考にすると良いかもです。

2.GPT3 APIのデモサンプルの種類

さて、続いてはどんなデモのサンプルがあるか紹介します。

こちらはデモのサンプルページです。

スクリーンショット 2021-05-03 0.08.30.png

現在公開されているのはなんと40個(2021年5月3日時点)。下記に名前と概要をリストでまとめてみました。

# デモの名前 概要
1 Chat AIアシスタントとの自由形式の会話が可能
2 Q&A 既存の知識に基づいて質問に回答するための質問と回答を作成
3 Grammar correction 入力された文を標準英語に修正
4 Summarize for a 2nd grader 難しいテキストをより単純な概念に要約
5 Text to command テキストをプログラムコマンドに変換
6 English to French 英語のテキストをフランス語に翻訳
7 Parse unstructured data 長い形式のテキストからテーブルを作成
8 Classification アイテムをカテゴリに分類
9 Movie to Emoji 映画のタイトルを絵文字に変換
10 Advanced tweet classifier テキストから感情を検出
11 Keywords テキストのブロックからキーワードを抽出
12 Factual answering "?”をつけて質問することで知らない単語やフレーズを回答
13 Ad from product description 商品の説明を広告コピーに変換
14 Product name generator 単語から製品名を作成
15 TL;DR summarization テキストを要約
16 Spreadsheet generator さまざまな種類のデータのスプレッドシートを作成
17 JavaScript helper chatbot JavaScriptの使用に関する質問に答えるチャットボット
18 ML/AI language model tutor 言語モデルに関する質問に答えるQAチャットボット
19 Science fiction book list maker SFの本のリストを作成
20 Tweet classifier ツイートから感情を検出
21 Airport code extractor テキストから空港コードを抽出
22 SQL request 単純なSQL要求を作成
23 Extract contact information テキストから連絡先情報を抽出
24 JavaScript to Python 単純なJavaScript式をPythonに変換
25 Friend chat テキストメッセージの会話をエミュレート
26 Mood to color テキストの説明をカラーコードに変換
27 Analogy maker アナロジーを作成
28 JavaScript one line function JavaScript関数を1行に変換
29 Micro horror story creator トピック入力から2〜3文の短いホラーストーリーを作成
30 Third-person converter 一人称のテキストを三人称に変換
31 Notes to summary 会議のメモを要約に変換
32 VR fitness idea generator バーチャルリアリティゲームのアイデアを作成
33 ESRB rating ESRBの評価に基づいてテキストを分類
34 Essay outline 研究トピックの概要を生成
35 Recipe generator 材料のリストからレシピを作成
36 Marv the sarcastic chat bot 皮肉っぽく答えるチャットボット
37 Turn by turn directions 自然言語をターンバイターン方式の経路案内に変換
38 Restaurant review creator いくつかの言葉をレストランのレビューに変換
39 Create study notes トピックを入力すると、研究の文章を出力
40 Interview questions 面接の質問を作成

今回はこの中から3つ選んで、どんな挙動をするか調べていきたいと思います!

3.デモ① Factual answering(事実に基づく回答) -からあげとは-

まずデモの1つ目は「Factual answering」です!

スクリーンショット 2021-05-03 0.29.43.png

このデモでは、

「からあげ」とは何なのか、その定義を

GPT-3に聞いてみたいと思います!

スクリーンショット 2021-05-03 0.30.00.png
GPT-3のデモはブラウザから直接クエリを投げれるので便利ですね。こちらのブラウザでAIと対話してみようと思います。
まずは、日本語で「からあげって何?」って聞いてみようと思います。さて結果は。

スクリーンショット 2021-05-03 0.35.51.png

「からあげは、鶏肉を細かく切って、油で揚げたものです。」

おぉ、すごい。日本語でもしっかり答えてくれました!

ついでに北海道で揚げ物のことを指す「ザンギ」についても聞いてみましょうか。(ザンギの定義については諸説あるので今回は左記の定義でいきます)
ニッチなものについてもしっかり応答してくれるのでしょうか。さて結果は。

スクリーンショット 2021-05-03 0.46.32.png

「ザンギは、日本の伝統的な音楽です。」

なるほど???

(注:「ザンギ 伝統音楽」でグーグル検索しましたが、見つかりませんでした。もしご存じの方がいらしたら情報提供お願いします。)

ニッチな単語については少し難しかったようですね。

ですが、日本語でクエリしてもしっかりと返答が返ってくることがわかりましたね。

4.デモ② Recipe generator(レシピジェネレーター) -からあげの作り方生成-

続いての2つ目は「Recipe generator」です!

スクリーンショット 2021-05-03 2.20.55.png

このデモでは、

「からあげ」の「作り方」を

GPT-3に聞いてみたいと思います!

こちらのデモですが、

「料理名」と「材料」

を入力すると

「料理の手順」

が返ってくるといった内容です。

それではこちらも日本語でいってみましょう。
料理名を「からあげ」
材料はベーシックな鶏の唐揚げの材料である「鶏もも肉」「小麦粉」「片栗粉」「油」の4点にします。※あくまで主観です。あしからず。
それでは結果です。

スクリーンショット 2021-05-03 2.40.42.png

1. 鶏もも肉を油で炒める

2. 小麦粉と片栗粉を加えて炒める

3. からあげにして食べる

・・・

揚げてない。

何ということでしょう。まさか粉ものをまぶさずに炒めていく方式を取るとは。

日本語だと、やはり文意を汲み取るのが難しいのでしょうか。
それか、調味料を入れたほうが良いのでしょうか。(普通に入れ忘れていました)

下記の調味料を追加で入れてみましょう。
・「しょうゆ」
・「みりん」

GPT-3はからあげのことをしっかりと「鶏肉を細かく切って、油で揚げたもの」と言っていました。
もう一度、調味料を入れてクッキングスタートです。

スクリーンショット 2021-05-03 3.05.24.png

1. Cut the chicken into bite-sized pieces.(鶏肉を一口大に切る。)

2. Combine the flour, salt, pepper, and baking powder in a bowl.(小麦粉、塩、コショウ、ベーキングパウダーをボウルに入れて混ぜる。)

3. Add the eggs and mix well.(卵を加えてよく混ぜる。)

4. Add the oil and mix well.(油を加えて、よく混ぜる。)

5. Add the chicken and mix well.(鶏肉を加えて、よく混ぜる。)

6. Add the soy sauce and mix well.(醤油を加えて、よく混ぜる。)

7. Add the mirin and mix well.(みりんを加えて、よく混ぜる。)

8. Add the water and mix well.(水を加えて、よく混ぜる。)

9. Add the flour and mix well.(小麦粉を加えて、よく混ぜる。)

10. Add the potato starch and mix well.(片栗粉を加えて、よく混ぜる。)

11. Add the cabbage(キャベツを加える。)

・・・

卵とキャベツ、どこから来た?? 

うーん。英語で出力されたうえ、卵とキャベツが登場してしまいました。(そしてまた揚げてない)
やはり高度なクエリを日本語で行うのはまだまだ難しそうですね。

英語でも試してみましょうか。下記に変更です。
「からあげ」→「fried chicken」
「鶏もも肉」→「chicken」
「小麦粉」→「flour」
「片栗粉」→「potato starch」
「油」→「oil」
「しょうゆ」→「soy sauce」
「みりん」→「mirin」

それでは結果です。

スクリーンショット 2021-05-03 3.17.14.png

1. Cut the chicken into bite-sized pieces.(鶏肉を一口大に切る。)

2. Coat the chicken in flour, potato starch, and soy sauce.(小麦粉、片栗粉、しょうゆで鶏肉をコーティングする。)

3. Fry the chicken in oil.(鶏肉を油で揚げる。)

4. Add mirin to the pan and cook until the sauce thickens.(みりんを加えて、ソースが濃くなるまで煮込む。)

・・・

おぉ!すごい。3番までは完璧です!GPT-3は、みりんの扱いにはあまり慣れてなさそうです。
日本語でのクエリは難しいですが、英語だとかなりの精度で応答が返ってくることがわかりましたね。

5.デモ③ Restaurant review creator(レストランレビュークリエーター) -からあげ専門店のレビュー生成-

最後の3つ目は「Restaurant review creator」です!

スクリーンショット 2021-05-03 3.32.28.png

このデモでは、

「からあげ専門店」の「レビューの書き方」を

GPT-3に聞いてみたいと思います!

こちらのデモですが、

「店の名前」と「お店に対するコメント」

を入力すると

「そのお店のレビュー」

が返ってくるといった内容です。

それでは、自分がからあげ店を出店すると仮定し、お店に対するコメントを入力してみます。

お店の名前:からあげ専門店「からあげDSアゲ太郎」

お店に対するコメント:揚げ時間のばらつきが少ない、衣がサクッとしている、クリスマスに足を運びたい、安くて美味しい

では上記内容で、出力されるか試してみます。では結果です。
スクリーンショット 2021-05-03 4.14.55.png

The restaurant is called "Karaage DS Age-Tarou" and specializes in fried chicken. (そのお店は「からあげDS アゲ太郎」というお店で、フライドチキンの専門店です。)

The fried chicken is crispy and the batter is not too thick. (フライドチキンはサクサクしていて、衣は厚すぎない。)

The chicken is not greasy and the meat is tender. (鶏肉は油っぽくなく、肉は柔らかいです。)

The restaurant is open late and is a great place to go for a Christmas meal.(このお店は遅くまで営業しているので、クリスマスの食事には最適です。)

・・・

おお!かなり自然ですね。

コメントは全ては反映されていませんが、文が自然になるように調整してくれているみたいです。
「衣がサクッっとしている」や「クリスマスに足を運びたい」の意味がちゃんと意味を壊さずに反映されているのが驚きでした。

6.最後に

ai_man_akusyu.png
今回は様々な観点から「からあげ」を題材にGPT-3のサンプルを試してみましたが
なかなか

「アツい」技術

ではないでしょうか!

日本語に特化したモデルでもないので、まだまだ日本では実践ベースで使いにくい部分はあるかもしれませんが
こうした自然言語処理AIはビジネスにて、ますます活用が進んでいくのではないでしょうか。

ここまで見てくださってありがとうございます!
今後も楽しくデータ分析や開発の魅力をお伝えできればと思います!
ではまた。

参考資料

※1 OpenAI - Wikipedia(https://ja.wikipedia.org/wiki/OpenAI)

7
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
fried_chicken_380
唐揚げと楽器演奏が好きなデータサイエンティスト見習いです。 統計分析を軸としたお客様のDX支援、AIを活用した新規事業の創出に取り組んでいます。 キャッチーな題材で分析や開発の面白さを伝えていきたいと思っております。
intec
未来を「ひらく」、技術で「つなぐ」、世界を「変える」、豊かなデジタル社会の一翼を担う会社です。※各記事の内容は個人の見解であり、所属する会社の公式見解ではありません。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
7
Help us understand the problem. What is going on with this article?