いま話題の次世代AIを体験! ChatGPTでExcelマクロ / VBAのコードを書いてみた!
最近テレビやインターネットで話題のChatGPTについて、みなさんはどれくらい知っていますか?
ChatGPTは “次世代のAIチャットボット” と紹介されることが多いですが、正確にはOpenAI社によってトレーニングされた大規模な言語モデルであり、自然言語処理(NLP)の分野で、言語理解に関する最先端の研究を代表するものの1つです。
この最先端の言語モデルの活用例として分かりやすいのがチャットボットとの組み合わせというわけなのですが、ChatGPTを使用する主な目的は、言語理解、生成、および処理に関する一般的なタスクを実行することにあります。
従来のAIチャットボットは、ある程度自由に入力された内容に対しAIが考えて回答を返す “一問一答型” と、チャットボットからされる質問に回答することで解決に導く “シナリオ型” の2つが主流で、あらかじめ学習させたデータをもとに回答する仕組みであるため、きちんとメンテナンスやアップデートをすることで誤回答などを減らすことができますが、その反面、
・QAを事前に作成する必要がある
・回答率や正答率を上げるためのメンテナンスやアップデートが定期的に必要である
・ユーザーからのフィードバックを定期的に収集する必要がある
・古い情報の更新や新しい情報の追加を定期的に行う必要がある
・定期的にログを確認しておかしな挙動をしていないかチェックする必要がある
など、運用には膨大な手間と時間がかかります。
こうした日々のメンテナンスやチューニング、はたまたチャットボットの導入から運用・管理までをアウトソースする方法もありますが、費用対効果を考えて踏み切れないといった声も多く、業務効率化を課題としている企業の担当者にとっても、ChatGPTは要注目のソリューションではないでしょうか。
そこで本記事では、そもそもChatGPTとは何者なのか、なぜこれだけの注目を集めているのか、そしてビジネスで使用することは可能なのかをお伝えします。
巷で話題のChatGPTってなんだ?
前述のとおり、ChatGPTとは人工知能の一種である「言語モデル」の一つです。
言語モデルとは、テキストの文脈や文法的な構造を理解して自然言語を生成することができるプログラムのことで、大量のテキストデータを学習することによって人間のような自然な応答を生成することができ、その応答に合わせて会話の流れを調整することができます。
ChatGPTが、これだけ急激に注目されはじめた理由はその汎用性です。ChatGPTは、さまざまな種類のタスクに使用でき、例えば、質問応答、対話システム、文章生成、文章の要約、機械翻訳などが挙げられます。また、インターネット上の大量のテキストデータを学習することができるため、さまざまな言語に対応することができます。
近年の自然言語処理技術の進歩により、これまで以上に高度な応答を生成することができるようになっており、人間とコンピューター間でのコミュニケーションがより自然かつ円滑になることが期待されています。
米国時間の2022年11月30日の公開から、わずか2か月でアクティブユーザーが1億人に到達し、2023年1月にはMicrosoft社が、ChatGPTを開発・リリースしたOpenAI社に対し数十億ドル(数千億円)規模の出資を行ったことを発表。これまで収益がほとんど無いと言われていたOpenAI社の時価総額が290億ドル、日本円にしておよそ4兆円もの評価額がついていることから、その注目度の高さがうかがえます。
なお、GPTとは “Generative Pretrained Transformer” の略称で、OpenAI社が開発している文章生成言語モデルのことです。米国時間の2023年3月14日には最新のモデルとなるGPT-4がOpenAI社より発表され、GPT-3.5を上回る性能の高さが話題になっています。
その性能は、GPT-3.5では司法試験の模擬問題を解かせた結果、下位10%のスコアしか取れなかったのに対し、GPT-4ではなんと上位10%のスコアを記録し合格基準に達するほどです。
GPT-4は推論性能が飛躍的に向上しているほか、GPT-3.5に比べ、許可されていないコンテンツに関するリクエストへ応答する可能性が82%低く、事実に基づいた回答の可能性も40%高くなっています。
さらに、画像を認識してそれに対する応答が可能となったマルチモーダル対応モデルへと進化を遂げたことにより、活用の幅が広がることは間違いありません。
ただし、現状GPT-4を体験できるのは、月額20ドル(日本円で約2400円)の有償プランである『ChatGPT Plus』の会員のみとなっており、4時間ごとに100件までのメッセージしか受け取れないという制限付き。
加えて、入力した画像への応答機能については研究段階のため一般向けには公開されていません。OpenAI 日本担当 シェイン・グウ氏のツイートによると「お楽しみはこれから」とのことで、今後の動向は要チェックですね!
なお、GPT-4のAPIについてはGPT-4 API waitlistに登録することで、順次招待され使えるようになるようです。
参考:https://www.itmedia.co.jp/news/articles/2303/15/news185.html
実は冒頭の解説の一部はChatGPTの自己紹介です
さらにChatGPTは何がすごいのかも、たっぷり語ってもらったので記事に使わせてもらいました
登録から利用開始まで
2023年3月現在、ChatGPTは試用期間中でアカウントを作成することで誰でも無料で使用することができます。
アカウントの作成手順は次の通りです。
1. “Try ChatGPT” をクリック。
2. “Sign up” をクリック。
3. メールアドレス、Googleアカウント、Microsoftアカウントのいずれかを紐づけて新規アカウントを作成。
4. アカウントで使用するパスワードを8文字以上で設定。
5. 紐づけたアカウントに認証用のメールが届くので確認。
6. “Verify email address” をクリック。
7. メールアドレスが認証されると個人情報の登録画面に遷移するため、画面の指示に従い利用者情報を登録します。その後、二段階認証のための電話番号を求められるので入力し、SMSで届いた認証コードを入力して登録完了です。
Excelの便利な使い方を聞いてみた
ここからは実際にChatGPTを使って、ビジネスの場面でよくあるデータ整理を手伝ってもらおうと思います。
まずはテスト用に適当に10人ぶんの氏名データを作成しました。これもChatGPTに「人名のサンプルデータを10個考えてください」とお願いしています。
続いて、作成した氏名データを、姓・名・ふりがなに分けたいと思います。
手動で行うにはなかなか面倒な作業ですが、簡単に振り分けるための関数もぱっと思いつかない・・・そんなときこそChatGPTに質問してみましょう。
ちなみに、いろいろな聞き方を試したところ、“A2セルにデータが入っている” や “姓名の間に半角スペースがある” など元となるデータの特徴と、そのデータを元に “何を実行したいのか” をできるだけ具体的に入力するのがコツのようです。
そうしてChatGPTに質問したところ、使用する関数となぜそれが適しているのかを詳しく解説してくれました。
教えてもらったとおり、B2~D2列にそれぞれ関数を入力します。
ChatGPTの回答をコピペするだけなので、入力もあっという間です。
そしてこの関数を3~11行目までコピーするだけで、簡単に姓・名・ふりがなに分けることができました!
この作業を行うために、Web検索で該当する情報を見つける手間や、関数の使い方を学ぶ時間、そしてエラーが起きた際に何がいけなかったのか原因を探す労力などを一切無視できるのは、とてつもない時間短縮や業務効率化に繋がりますね!
今度はもうすこし難しいお願いをしてみます。
まずは先ほどと同じようにサンプルデータを作成してもらいますが、今回は「個人情報の保護のため、架空の情報を使用してデータを作成いたします」との応答が。
個人情報の取り扱いについてもしっかり学習済みということですね。なお、動作を保証するものではありませんので、くれぐれも実際の個人情報は入力しないでください。
ChatGPTに会社名、住所、電話番号、氏名、役職のサンプルデータを作成してもらいました。
一部、会社名・住所・電話番号は手作業で修正しています。
このデータをもとに、メルマガを受け取りたくないと答えている人をぱっと見で分かりやすくグレーアウトさせてみます。
こちらも先ほど同様、“Excelのsheet1にA列から順にどんなデータが入っている” や “I列のデータを参照して自動でグレーアウトさせたい” など、やりたいことをできるだけ具体的に伝えるほど、より精度の高いコードを書いてもらえるようです。
内容の伝え方によって意図したとおりの返答をしてくれないこともあるため、上手くいくまで何度か試してみましょう。
するとあっという間にVBAのコードを書きあげてくれました。右上にある『Copy code』をクリックして、VBAエディタにコピペします。聞いてもいないのに補足としてグレー以外の色にする方法まで教えてくれました。
もちろん、VBAエディタの起動方法や使い方もChatGPTに聞けば教えてくれますよ!
ChatGPTに教えてもらった通りVBAエディタを起動して、コピーしたコードを貼り付けたら準備完了!実行してみます!
すると見事にI列にNGと入っている行のデータがグレーアウトされました。
しかし、NGと入っている行をグレーアウトするだけなら手作業でも簡単にできます。
さらに便利なシートにするために、追加で「新たに追加したデータも自動でグレーアウトさせたい」とお願いしてみました。
ChatGPTは以前までの会話の流れを読んでくれるため、もう一度最初から「A2セルにデータが入っていて・・・」と説明する必要はありません。
提示されたコードをコピーして、これをまたVBAエディタに貼り付けて実行。試しにメルマガ受信NGのデータを1件追加してみます。
すると、お願いしたとおり自動でグレーアウトしてくれました!I列のデータを「OK」に変更すると自動的にグレーアウトが解除されます。
わずか十数秒で希望通りのコードを書いてくれるChatGPT、すごすぎます。
さらにもう1つ追加で「sheet1でグレーアウトしているデータをsheet2に自動で転記したい」とお願いしてみます。
このコードを貼り付けて実行すると、グレーアウトした行のデータが一瞬でsheet2に転記されました。いやはやお見事。
このように、コードを読み書きするためのスキルを全く持っていなくても、基礎から勉強し始めることなく、そして数多あるWeb上の情報とにらめっこしながら時間をかけてコードを書くこともなく、やりたいことを具体的に言語化するだけで、まるで玄人のような作業ができてしまいました。
業務で使用する場合は要注意!?
ここまでお伝えしたように、ChatGPTはこれまでのWeb検索・情報収集の在り方を根底から覆し、ビジネス面においても私たちの働き方を大きく変える可能性を秘めたテクノロジーであることがお分かりいただけたかと思います。
たとえば、次のような業務をChatGPTに任せることで業務効率化や人員不足といった課題解決に大きく貢献してくれるのではないでしょうか。
・いくつか条件を指定したうえでの文章作成
・長文の要約
・英文などの翻訳
・既存データをもとにしたマニュアルやFAQの作成
・関数やプログラミング
・一般的な情報収集とソースの提示
正しく活用することで、ホワイトカラーの業務においてさまざまな場面で心強いアシスタントとして活躍してくれるほか、介護、育児・子育て、医療、教育といった現場でも課題解決のための強い味方になると予想されます。
日本時間の2023年3月2日にはChatGPTがAPI経由で利用できるようになり、アプリやサービスなどに組み込んで使用することができるようになっています。
※ ChatGPT(GPT-3.5)のAPI利用料金や、入力データの取り扱いに関する規約などは下記のサイトをご確認ください
参考:https://openai.com/blog/introducing-chatgpt-and-whisper-apis
※ GPT-4のAPI利用料金は下記のサイトをご確認ください
参考:https://help.openai.com/en/articles/7127956-how-much-does-gpt-4-cost
しかし、これだけ利便性・汎用性の高いChatGPTも、業務で利用する際には気を付けるべき点があります。
まず、2023年3月時点では “2021年9月までの情報がベースになっている” ため、最近の出来事については応答できず、誤ったデータを学習している場合は当然ながら誤った応答をするため、情報の正確性を高めるためのソースを提示してもらう、もしくは自身で別途Web検索などを行って確かめる必要があります。
世界中のサッカーファンが熱狂した2022年のカタールW杯
日本代表はベスト16入りしましたが、ChatGPTはまだそのことを知らないようです
さらに、業務利用するうえで最も気を付けるべき点はChatGPTに入力されたデータの取り扱いについてです。
OpenAI社はChatGPTの利用規約のなかで、ユーザーが入力したデータをアルゴリズム教育で使用することについての同意を求めています。そのため、企業の機密情報や個人情報などを安易に入力しないよう細心の注意を払う必要があり、この対策として国内外の企業で従業員にChatGPTの利用を禁止もしくは利用の制限をかける動きが見られます。
加えて、著作権の侵害や不正利用の温床になる恐れや、人間の職を奪うことによる雇用の問題など、社会的な問題への配慮も必要になってくることが予想され、慎重に取り扱うべきとの意見もあります。
なお、業務利用などに関する検証を行う場合は、有償でAPI経由で使用するか、GPT-3.5に似た自然言語処理モデルが有志によって作成され、それがオープンソース化されているため、これを企業の関係者のみが使用できるプライベートな環境で運用することで機密情報などを守りつつ利用することが可能になります。
また、ChatGPTは現状で5兆語ものトレーニングを経て、より精度の高い回答をする仕組みになっており、数百~数千程度の情報を新たに追加したところでChatGPTの動作にはほとんど影響しません。
すなわち、特定の情報を学習させてChatGPTの応答をカスタマイズすることは事実上不可能であるため、そのような場合にもプライベートな環境で新たに作成されたものに必要なデータのみを学習させることで、より理想に近いかたちにカスタマイズすることができるでしょう。
参考:https://www.infoq.com/jp/news/2022/04/eleutherai-gpt-neox/
今後さらに情報の民主化が進むことで、“自分しか知りえない情報” というものは減っていき、誰でも調べれば分かる時代が来る、つまり、ニッチな情報を持つことで他者との差別化をはかることはできなくなっていくと考えられます。
そのため、これからはChatGPTから適切な回答を引き出すための質問の仕方など、情報収集スキルそのものより “知りたい情報について適切に言語化するスキル” や “最新のテクノロジーをビジネスにどのように活かせるかを想像する力” が必要になっていきます。
戦略的思考や意思決定の支援、時間や労力の節約、迅速な情報収集のための有益なアシスタントとして、ChatGPTを始めとする次世代のテクノロジーと上手に付き合っていきたいですね。
トランスコスモスでは、こうしたデジタル社会の急速な進化に企業が対応していくためのサポートを一層強化し、最新テクノロジーを取り入れたサービスの提供を行っていきます。