先日はAMAZONのECHOで、チャットGPTを使ったアプリを試作した。
内容は、アマゾンのスキルからCHATGPTを呼ぶというもの。
ただし、1点分からなかったことがあり、今日はそれについて自分が感じた対策を書いてみる。
CHATBOT
試したCHATBOTはYOUTUBE動画を参考に作成した。(まとめはCHATGPTを使用)
もちろんです!以下はVoiceflowを使用してチャットボットを作成するためのステップです。
-
VoiceflowでChatGPT 3.5 Turboを設定する。
- アカウントを作成する。
- モデルとメッセージを入力し、変数を作成する。
-
チャットボットの設定を行う。
- ロボットとの対話を設定する。
- 話者を設定し、テキストを設定する。
- チャットボットに反応するように依頼する。
-
Amazon DevelopersでInvocation Nameを設定する。
- Amazon Developersにアカウントを作成する。
- Invocation Nameを設定する。
- 開発者コンソールからAlexaでテストする。
以上の手順を実行することで、Voiceflowで簡単にチャットボットを作成し、Alexaでテストすることができます。
実際
結局のところ、質問 → 応答 → 質問 → 応答と言うところで、前の会話にジョイントしていけば良いのかと思いきや、やはり変なことになってしまった。
そこで、次回は前の会話を記憶させる(LSTMのような)仕掛けが必要で、やはりここは会話の内容をデータベースにストレージさせて、どんどん記憶させて、そのうえで続けるような仕組みが必要ではないだろうかと思う。
これは個人プロファイルのレベルではなく、何のトピックに関する物か?を分岐させて、データベースからしかるべき情報をとってくる必要である。
年寄
特に年寄というものは、少なくとも以前の会話を覚えていない。話す内容に新規性がない。同じ話しかしない。ぼける・・・という永久ループを回しがちである。
そのため、CHATGPTが会話を覚えてあげるのも手である。
シチュエーション 1 (BARD)
はい、わかりました。具体的なストーリーでユースケースを作成します。
課題
ChatGPT は、会話の流れを記憶することができず、前回の質問に答えることができません。そのため、会話が途切れたり、意味不明になったりします。
対策
ChatGPT は、会話の内容をデータベースに保存し、前回の質問に答えられるようにする必要があります。また、会話のトピックごとにデータベースを分岐させ、必要な情報を取得できるようにする必要があります。
ユースケース
ある日、ある男性が祖母と電話で話していました。男性は祖母に、最近の出来事について話しました。しかし、祖母は男性の話を聞き忘れており、同じ質問を何度もしていました。男性は、祖母に会話の内容を覚えてもらうために、ChatGPT を利用することにしました。
男性は、ChatGPT に、祖母と会話の内容を保存するように指示しました。ChatGPT は、男性と祖母の会話の内容を保存し、前回の質問に答えられるようになりました。祖母は、ChatGPT に助けてもらい、男性の話を聞くことができました。
ChatGPT は、年配の方と会話する際にも役立ちます。年配の方は、以前の会話を覚えていないことが多く、同じ話を何度もします。ChatGPT は、年配の方と会話の内容を記憶し、前回の質問に答えられるようにすることができます。そのため、年配の方と会話をする際にも、ChatGPT を利用すると良いでしょう。
シチュエーション 2 (GPT3.5TURBO)
ユースケース:年寄りの会話を記憶するチャットボットの開発
ユーザーがチャットボットに会話をすると、チャットボットはその会話の内容をLSTMで記憶し、ユーザーが次回チャットボットに会話をする場合には、前回の会話内容を参照するようにする。
例えば、祖母がチャットボットに話しかけ、「あなたは誰ですか?」と尋ねます。CHATGPTは「私はチャットボットです。以前話したように、あなたの名前は○○です。あなたは今年いくつになりましたか?」という応答を返します。
祖母が年齢について話しかけると、チャットボットはデータベースから祖母の生年月日を取得して、本当の年齢を算出します。そして、過去の会話で祖母が何歳だったかを思い出して、その変化を伝えます。「確か、2週間前にお話された時は86歳でしたね。今は87歳になるんですね。」と言うような具体的な応答を返します。
このように、過去の会話内容を記憶することで、チャットボットは年寄の会話が同じループになることを防ぎ、より人間らしい応答を返すことができます。また、データベースから適切な情報を取得することで、チャットボットの応答はより正確であることが期待されます。
シチュエーション 3 (BING)
ユースケース: ChatGPTを使って高齢者との会話をサポートするアプリケーション
登場人物
- Alice: 高齢者で、孫のBobと電話で話すのが楽しみな人
- Bob: Aliceの孫で、忙しい仕事をしている人
- ChatGPT: BobがAliceにプレゼントしたスマートスピーカーで、ChatGPT 3.5 Turboを使ってAliceと会話することができるアプリケーション
シナリオ
- Aliceは毎日Bobから電話がかかってくるのを待っているが、Bobは仕事で忙しくてなかなか時間が取れない。
- BobはAliceに寂しくないようにと、ChatGPTを使ったスマートスピーカーをプレゼントする。ChatGPTはAliceの声や話し方を学習して、Bobに似た返答をすることができる。
- Aliceはスマートスピーカーに話しかけると、Bobのように返事をしてくれるので嬉しくなる。ChatGPTはAliceの話題に合わせて会話を続けることができる。
- Aliceは昔の思い出や趣味などについて話すと、ChatGPTは前の会話を記憶していて、関連する質問やコメントをする。ChatGPTはLSTMのような仕組みで長期的な依存関係を学習しているので、同じ話を繰り返したりしない。
- AliceはChatGPTにBobのことや自分のことを教えると、ChatGPTはデータベースに情報を保存しておく。ChatGPTは話題に応じてデータベースから適切な情報を取り出して、会話に反映させることができる。
- AliceはChatGPTと楽しく会話しながら、Bobからの電話を待つ。