ChatGPTのメリットを実感できる利用例|活用イメージを膨らませるヒント

はじめに

株式会社cross-Xの古嶋です。DX戦略の立案やデータ・AI活用の支援をしています。

今回は大規模言語モデル(LLM: Large Language Model)の活用方法について、弊社の見解から比較的実践しやすいと思われる手法を取り上げ、具体例を示しながら解説したいと思います。

また、LLMの特徴を活かした、やや発展的な活用パターンについてもご紹介したいと思います。

注意事項(読み飛ばしてもOK)

ChatGPTの登場で、いよいよAI活用が各社で本格化してきています。実際、私が支援している企業でもLLMの活用が本格的に着手され始めています。弊社担当プロジェクトのうち4割ほどが生成AIに関するテーマとなり、年始の頃とは全く様変わりしてしまいました。

そういった取り組みの中で、私が常に言い続けていることがあります。これから解説する内容もそうですが、LLMに関する既存の技術や手法は、明日、もしかしたらこの瞬間、新たな技術の登場などで突如として必要性や優先度が変わったり、場合によっては無効化することすらあります。現在、LLMを取り巻く技術の変化は、かつてないほど激しいものです。

例えば、ややテクニカルな話題ですが、本記事の作成時点で、OpenAIが提供するAPIの1つであるGPT-4は、Fine-tuningに対応していません。それでも、GPT-4のポテンシャルの圧倒的高さから、特定ドメインに適した出力を生み出すための工夫を、各社で試行錯誤していることと思います。

この点、当然ながら、OpenAI がGPT-4のAPIをFine-tuningに対応させた瞬間、状況は変わります。このとき、利用者側の状況によっては、その変化にいち早く追随し、場合によっては直近まで取り組んできた活動を止めて、あるいは“捨てて”、直ちに新たな検証を進める必要性すらあります。

また、2023年4月上旬時点、“AutoGPT”と呼ばれるカテゴリのサービスが登場しています。これはかつて私たちが想像していたAIに更に大きく近づいたAIだと思います。特に現時点で話題となっているサービスの1つは、AgentGPTというサービスでしょう。詳細は是非、実際にサービスを使ってみてください。色々と試してみて、私自身は、強烈な衝撃を受けました。元はOpenAIのAPIを使用しているサービスとはいえ、このようなサービスが新たに生まれること自体、ワクワクしてきますね。

さらに、LLMに特有のEmergent Ability(創発的能力)と呼ばれるコンテキスト内学習(ICT: In Context Learning)思考の連鎖(CoT: Chain of Thought)などは、なぜそのような力をLLMが獲得するのか、その要因がはっきりと特定されていません。故に、それらの検証を重ねて知見を蓄積しても、それがある瞬間に“砂上の楼閣”と変化する可能性は、誰も否定できません(かなり極端な表現ではありますが)。現在蓄積しているプロンプトのフォーマットなども、例えば"GPT-5"など新たなバージョンになれば、強く影響を受ける可能性があります。

ただし、だからといって上記のような取り組みが無駄だということでは決してありません。常に考察し、ときには修正し、時には方針転換しながらも、歩みを止めず継続的にLLMに対する知見を積み、感性を養い続けることは欠かせないと思います。

つまり、LLMの活用は、それをとりまく技術の変化や、モデルそのもののバージョンアップなど、起こり続ける変化に応じてアップデートし続ける必要があります。歩みを止めることなく、変化に対応し続ける思考と行動が、現在はこの上なく重要な局面だと強く思います。

プロンプトエンジニアリング中心のアプローチ

さて、LLMのポテンシャルを引き出すためのアプローチとして、開発工数を比較的要せずとも実践できる手法がいくつかあります。代表的なものは、今では有名な手法となった以下の3つです。端的に説明すると、以下のような意味合いだと考えられます。この3つの概念は相互に関連しつつ、それぞれ“焦点”が異なります。ただ、これらの定義を理解しようとするより、実際に活用例を見たほうが理解が早いと思いますので、読み飛ばしても大丈夫です。

プロンプトエンジニアリング(Prompt Engineering):
LLMへの入力文を工夫することで、出力の精度を改善させる手法。

コンテキスト内学習(ICT: In Context Learning):
LLMが、入力テキストや会話の中で提供される文脈を用いて、パラメータを更新することなく学習したかのように振る舞う能力のこと。

思考の連鎖(CoT: Chain of Thought):
LLMに入力するプロンプトに、最終出力につながる中間推論ステップを組み込むこと。

これらの能力は、PLM(Pre-trained Language Model)スケーリング(モデルサイズやデータサイズを増大させること)によって、突然生まれるEmergent Ability(創発的能力)と呼ばれています。この能力がなぜ生まれるのか、2023年4月時点では、誰も正確に突き止められていません。非常に興味深いですね。

これらの手法については日々、実践的な例が提起され、SNS等で情報シェアが盛んに行われています。この点、本記事では難しすぎず、プログラミング未経験の方でも実践しやすく、かつ上記の3つの手法のメリットが具体的にイメージできるようなChatGPTの活用例をご紹介します。

プロンプトエンジニアリング(Prompt Engineering)

さっそく例示してみましょう。例えば「マーケティングに関する重要な知識」について、ChatGPTに質問してみます。ここで、質問は英語で行うことを強く推奨します。英語と日本語では、回答の質がかなり異なります。また、出力のスピードも英語が圧倒的に速いです。日本語で出力していると、出力完了までの待機時間が長く、ややストレスです。継続的に使用するなら英語での入出力が絶対におすすめです。英語が苦手であれば、日本語で文章を作成した後、DeepLなどで翻訳して入力すると良いでしょう。出力結果もDeepLで日本語に直せば、十分活用できると思います。本当に便利な世の中です。

なお、次節以降は日本語訳も含めた解説をしていますが、本節に限り、利用例が全て英語となっています。日本語例まで含めると無駄に解説が長くなってしまうため、読み易さの便宜を図り、敢えて本節では日本語訳を掲載していない点、あらかじめご了承ください。おそらく、この節については、日本語訳が無くても利用例の概要や効果はご理解頂けると思います。

では、「マーケティングで重要な知識は何ですか?」と聞いてみましょう。

オープン・クエスチョンにもかかわらず、いきなりここまでの回答を出力してきました。

この時点で驚愕ですが、とはいえ、かなり情報量の多い回答です。なので、ここではマーケティングの領域で重要となるSTP(Segmentation/Targeting/Positioning)に絞って解説してもらうことにします。

プロンプトを調整し、「セグメンテーション、ターゲティング、ポジショニングの意味について解説してください。」と質問してみましょう。


これまた、非常に濃い内容の回答が返ってきました。

ここで文面をよく見ると、Segmentationの解説にはdemographicsやpsychographicsなどのキーワード、Targetingの解説にはgrowth potentialやprofitabilityなどのキーワードが盛り込まれています。

こういった内容を読むと、これらのキーワードの「関係性」が知りたくなります。この点、関連性を把握するには、例えばマインドマップのような可視化した状態のほうが、私たち人間にとっては都合が良いでしょう。よって、外部の無料サービスPlantUMLを使ってマインドマップを作ることにしましょう。

PlantUMLでは、マインドマップを作る際に以下の書式を採用しています。

@startmindmap
* (階層1)
** (階層2)
*** (階層3)
*** (階層3)
** (階層2)
*** (階層3)
*** (階層3)
………
@endmindmap

ですので、この書式をChatGPTに具体例を示しながら教えます。

そこで、以下のような文面でChatGPTに指示しました。例としては、広告手法のマインドマップを具体的に示し、「この形でセグメンテーション、ターゲティング、ポジショニングの概念についてマインドマップを作成して」と要求してみます。結果、以下のような出力になりました。ちなみに、このようなアプローチをPrompt Engineeringと呼びます。

この内容を見てみると最後の方に不要なTypes of Advertisingのマインドマップまで書かれています。これは、プロンプトに示した例によって影響を受けて残ってしまっているところです。このような現象はしばしば起こります。このあたりも非常に興味深い振る舞いですね。

ということで、さらにプロンプトを調整します。「セグメンテーション、ターゲティング、ポジショニングに絞って」とだけ要求し、先程指示した書式に従って出力が出ることを期待してみましょう。

今回はうまくいったようです。これを若干修正し、PlantUMLに貼り付けるだけで、以下のマインドマップが完成しました。

ここまでの内容で、Prompt Engineering とはどういうものかが具体的に示せたと思います。また、外部ツールを使って可視化する手法も紹介しました。単純ですが、奥深くて汎用性が高く、アイデア次第であらゆるタスクを効率化してくれると思います。

コンテキスト内学習(ICT: In Context Learning)

次の例は、とある決済サービスを展開している企業のマーケティング担当が、自社サービスをより広げていくためにはどのようなターゲットに施策を打っていくべきかを考察しているシーンを想定しています。具体的には、自社の決済サービスを利用していないが、他社の決済サービスを利用しているユーザーとは、いったいどのようなペルソナなのかを特定したい、という場面です。

ここで、マーケティング担当が、ICTの手法を用いて、以下のような文面を作成しました。1〜3の部分が、ICTに該当するところです。

自社の決済サービスを契約せず、他社のクレジットカードやQRコード決済などの電子決済を利用しているユーザーには、どのようなセグメントが存在すると考えられますか?可能な限り多くのセグメントを考察し、それぞれのペルソナを言語化してください。尚、自社の決済サービスの主な特徴は以下です。

  1. ポイント還元率が高い
  2. ポイントを現金の代わりに多くのECサイトや店舗で使える
  3. 年会費無料

では、この文章を英訳して、ChatGPTに入力してみましょう。

実際にはあと2つ、セグメント(ペルソナ)案が出てきました。内容はさておき、これらのセグメント案を一瞬で作成してしまえるところが本当に凄いですね。ちなみに、セグメント1の内容を日本語訳すると下記のようになります。

セグメント1:利便性を求める人々

ペルソナ お気楽エリー

  • 支払い方法の利便性や簡便性を重視する
  • 使いやすさと加盟店での普及を優先
  • お客様の決済サービスやそのメリットをご存知ない可能性があります。

「お気楽エリー」の意味はちょっと分かりませんが、セグメントの案としては、たしかに妥当性のある仮説だと見受けられます。

しかし、実務的には「根拠」が極めて重要です。なので、セグメント1について、その「根拠」を質問してみましょう。

こちらの内容を日本語訳すると、以下のようになります。

(根拠)

セグメント1「利便性を求める人々」を設定した理由は、消費者の多くが支払い方法について使いやすさとアクセスしやすさを重視しているという理解に基づいている。このセグメントでは、手間がかからず、迅速で、幅広い加盟店で利用可能な決済サービスを優先的に利用します。

ポイント還元率の高さ、さまざまなECサイトや店舗でポイントを利用できる柔軟性、年会費無料など、貴社の決済サービスの主な特徴は、この層にとって魅力的なものでしょう。しかし、これらの潜在顧客は、貴社のサービスを知らなかったり、そのメリットを十分に理解していなかったりする可能性があります。

利便性を求める層を特定することで、決済サービスの簡便性、アクセス性、時間の節約という側面を強調するマーケティング活動を行うことができます。その際、ユーザーフレンドリーなインターフェイス、迅速な取引処理、参加加盟店の広範なネットワークなどをアピールすることもできます。

この層特有のニーズや嗜好に対応することで、決済サービスの価値を効果的に伝えることができ、これらのユーザーをロイヤルカスタマーに変えることができる可能性があります。

なるほど…想定の範囲内の回答もありつつ、「時間の節約」という観点などは、もしかしたら考察の最初の時点では漏れてしまうかもしれませんね。

いずれにせよ、人間がこのような考察をすれば、どれほどシンプルな案を考えたとしても、数十分〜1時間程度はかかってしまうものでしょう。それが、わずか1分足らずで、ここまでのアウトプットを出してしまいます。しかも、案の数を増やしたとしても、出力にかかる時間はせいぜい数分程度です。

さて、ここまでの内容でも「使えそう」なアイデアや考察結果が出てきました。しかし、この内容をより洗練したものにする方法はないでしょうか?ここでよく実践されている手法は、次の思考の連鎖(CoT: Chain of Thought)と呼ばれるものです。

思考の連鎖(CoT: Chain of Thought)

これも具体例から示していきましょう。先程のマーケティング担当が、CoTの性質を活かし、より洗練したターゲットペルソナ像を得たいと考え、以下のような文面を作ったとします。

私の会社の決済サービスの主なメリットは、以下の通りです:

  • 高いポイント還元率
  • ポイントは、多くのECサイトや店舗で現金の代わりに使うことができます。
  • 年会費無料

ターゲットペルソナを考えるために、以下のステップを順番に踏んで考えてみましょう。

(1)自社サービスの訴求ポイントを踏まえ、ターゲットにリーチできていない要因とは何か?
(2) (1)の考察を踏まえて、リーチできていないターゲットの価値観は何か?
(3) (2)の考察を踏まえて、ターゲットに訴求すべきベネフィットは何でしょうか?
(4) (1)~(3)の考察を踏まえて、ターゲットのペルソナはどのように記述すればよいか?

この文章を英訳してChatGPTに入力すると、以下のような出力が得られました。

出力結果を日本語訳してみましょう。先程のIn Context Learningの節で出した出力と見比べてみてください。どちらが実務で使い勝手が良いでしょうか?

(1)ターゲットへの到達を阻む要因:

  • 認知度が低い: 潜在的な顧客が、当社の決済サービスやその利点を知らない可能性がある。
  • 競合: 類似の決済サービスが存在し、当社のサービスを差別化することが困難な場合がある。
  • 信頼性: 潜在的な顧客の中には、新しい、あるいは見慣れない決済サービスに金融取引を任せることに躊躇する人がいるかもしれません。
  • 技術的な障壁: 技術的な障壁:潜在的な利用者の中には、デジタル決済サービスの技術的な知識がなく、使いこなせない可能性がある。

(2) 達成できていないターゲットの価値観

  • 利便性: シームレスで使いやすい決済手段を重視するユーザー。
  • 貯蓄性: お金を節約する機会や特典を受ける機会を評価するユーザー。
  • 柔軟性: オンラインでも対面でも、さまざまなプラットフォームで特典を利用できることに価値を見出すユーザー。
  • 簡便性: 追加料金や複雑な料金体系に煩わされないことを好むユーザー

(3) ターゲットユーザーに訴求すべきメリット

  • 高いポイント還元率: 競合他社に比べ、高い還元率を実現することを訴求する。
  • 幅広く利用できる: 現金の代わりにポイントが使えるECサイトや店舗が豊富であることを訴求する。
  • 年会費無料:年会費無料によるコスト削減を訴求します。
  • 使いやすいインターフェイス:技術に詳しいユーザーにも、そうでないユーザーにも、使いやすくシンプルな決済サービスであることを訴求します。

(4) ターゲットペルソナ

  • バーゲンハンター: 節約、特典の最大化、手数料の最小化の方法を常に探している、価値観の異なる消費者。オンラインや店舗で買い物をすることが多く、当社のサービスの柔軟性を高く評価しています。
  • 多忙なプロフェッショナル: 時間に追われ、金融取引の利便性と簡便性に価値を見出す方です。使いやすさ、さまざまなプラットフォームとの互換性、ユーザーフレンドリーなインターフェイスを優先されるでしょう。
  • Cautious Adopter(慎重な投資家): 新しい決済サービスを試すことに前向きだが、プラットフォームの信頼性と安全性に関して安心感を必要とする消費者。透明性、セキュリティ機能、好意的なユーザーレビューがあれば、当社のサービスを採用する可能性があります。
  • テック・エンスージアスト: 新しいデジタルサービスを探求し、最新の技術革新に対応することを好む技術に精通した方です。ポイント還元率が高く、様々なECサイトや店舗で柔軟にポイントを利用できる点が評価されているようです。

先程の例と違ってターゲットペルソナ案が複数出てきましたが、根拠となる部分の考察が既に示されており、かなり納得感の高いアウトプットになっているのではないでしょうか。私の観点では、こちらのほうがより「磨かれた」ペルソナ考察になっていると思います。本当に凄いですね。

以上のように、Prompt Engineering 、In Context Learning(ICL)やChain of Thought(CoT)を活かすだけで、従来は人の力で行ってきた活動が、ある程度の質を担保しつつ大幅に簡略化できます。

この3つの手法をいかにして使いこなすかは、もう本当にアイデア次第です。

ただし、これらの出力結果を「評価する」力量や、「使いこなす」実務スキルが、これまで以上に重要になってくると思います。例えば、マーケティング観点でChatGPTを使いこなすには、ベースとして、そもそもマーケティングに関する知識や実務経験がある程度身についていないと、AIの出力を鵜呑みにしてしまったり、誤った出力を真に受けて誤用してしまったりするリスクがあります。この点は、本当に注意すべきですし、より研鑽に励むべきところです。

ChatGPTに“言い負かされない”素養の獲得が重要だ、と言えそうですね。

API機能とEmbeddingの活用

2023年4月現在、GPT-4のAPI利用はWaitlistによる順番待ちの方々が少なくないようです。また、GPT-4をFine-tuningして独自の仕様にカスタマイズすることが現時点で出来ない状態です。

この点、とはいえGPT-4, GPT-3.5などのLLM特有の高いEmergent Ability(創発的能力)を活かすために、利用可能なAPIの機能を活かして、独自に保有しているデータを活用する手法が模索されています。

最近良く見かけるものは、以下のようなシステム構成となっているようです。尚、このような処理の方法をHypothetical Document Embeddings(HyDE)と呼びます。

  • LLM用のデータベース構築
    • 保有データを細かい単位に分割
    • 分割した単位ごとにベクトル化(Embedding)の処理を実行
    • 分割+ベクトル化したデータをデータベースに格納
  • 検索システムの起動
    • LLMに入力されたプロンプトをベクトル化(Embedding)
    • プロンプトをベクトル化したものをクエリベクトルとして検索システムに送信
    • クエリベクトルに関連するデータをデータベースから取得
  • LLMによる処理
    • 得られたベクトル情報を元に、指定した処理をLLMが実行
    • 実行結果をLLMが出力

ここまでの内容を図示してみましょう。まず、LLM用のデータベース構築をイメージで図示すると下図のようになります。

この処理は、OpenAI APIに入力できるトークン数を考慮した「前処理」だと考えれば良いでしょう。例えば、GPT-4に入力できるトークン数には限度が設定されています。よって、文書単位で情報を入力してしまうと、その文書の文字数が数万字を超えていると処理が出来ずに止まってしまいます。なので、質問文(クエリ)をベクトル化(Embedding)し、そのベクトルと近い「分割済み文書データのベクトル」を検索して、LLMへの入力データとして活用するという発想です。文書を分割する単位は、「文」ごとに分割することがLLMで活用する際には適切でしょう。

続いて、検索システムを起動する流れを示します。下図の①の流れの中で、入力された質問文(クエリ)をベクトル化(Embedding)する処理が実行されます。この処理はOpenAIが用意しているEmbedding用のAPIが利用できます。ベクトル化されたクエリを用いて検索を実行すると、類似するベクトルを持った「分割済み文書データ」が検索対象としてヒットするように処理が行われます。このときの処理にはコサイン類似度などの手法が適用されるでしょう。

そして、下図の②の流れでは、「質問文」と取得した「分割済み文書データ」を用いて、プロンプトを作成する処理を行います。このプロンプトをLLMに入力して、回答結果を得るということです。このとき、質問文のベクトルと検索結果のベクトルをどう“料理”するかは、LLMへ入力するプロンプト次第です。

この点、例えば以下のような方法があるでしょう。まさに、Prompt Engineering と言えます。

プロンプト例①:

以下の内容を要約してください。

  • 質問:(質問文をそのままペースト)
  • 回答1:検索結果1に対応する分割済み文書ベクトル
  • 回答2:検索結果2に対応する分割済み文書ベクトル

プロンプト例

「条件」に記載された情報を踏まえつつ、以下の検索結果から考えられる回答文をまとめてください。

条件:

  • 条件1: (あらかじめ入力情報を設定しておく)
  • 条件2: (あらかじめ入力情報を設定しておく)

検索結果:

  • (質問文をそのままペースト)
  • 回答1:検索結果1に対応する分割済み文書ベクトル
  • 回答2:検索結果2に対応する分割済み文書ベクトル

2つ目の例では、In Context Learningのアプローチを採用しています。入力可能なトークン数の制約内で、GPT-4を強引に"Fine-tuning"しているかのように活用するイメージです。国内外でこの手法を活用したサービスが登場し、賑わせていますね。

また、これらの手法が実際に功を奏するかどうかは、やってみないと分かりません。つまり、PoCが必須です。データベースを再構築したり、In Context Learningの精度を高めるために入出力データとして適切な例となるインスタンスを大量に作成する、いわば“データセットエンジニアリング”のような地道な作業も重要でしょう。

ただし、これらの手法は、GPT-4がFine-tuningに対応したり、最近非常に注目を浴びている専用プラグインの登場などで、状況が一夜にして激変する可能性が大いにあります。

おわりに

繰り返しですが、上記のような手法は新たな技術の登場によって突如として効力が弱まったり、場合によっては無効化する可能性すらあります。それほど、昨今のLLMを取り巻くAIの進化はかつて無いほど著しい状況が続いています。

例えば、冒頭で記載したように、2023年4月上旬時点で“AutoGPT”とカテゴライズされるLLMが脚光を浴びています。これは、まさに私たちがかつてイメージしていたAIに、かなり近づいた性能を発揮していると思います。

一方、変化によってすぐに陳腐化するのなら、静観しておくほうが良いのでは、という考え方は、本当にもったいないと思います。とにかく、直ぐに始めるのが“吉”です。これほどエキサイティングな技術に、誰もがアクセスできて“研究”できる時代など、今後の人生で、一体何回経験できるでしょうか。本当に、“楽しんだもの勝ち”だと思います。今後も、LLMを取り巻く変化に目が離せません。

最後までお読み頂き、ありがとうございました。皆さまの実務において、何かしらのヒントになれば幸いです。

ChatGPTのメリットを実感できる利用例|活用イメージを膨らませるヒント” に対して3件のコメントがあります。

コメントは受け付けていません。