前回、ChatGPTsを用いて、日英通訳アプリを作成することができた。https://qiita.com/tkoji3744/items/81dc7da6101f0c0240f9
今回は、この方法を応用して、要介護状態の方との「個人対応型会話bot」を作成してみた。
介護の分野では、「会話bot」の効果がよくうたわれる。だが、まだ、個別に対応したbotは少ないのではないか?また、そのようなものでも、ハード面。ソフト面、が複雑なものが多いのではないか?
今回のChatGPTsを用いた方法は簡便であり、AIに詳しくない介護スタッフでも少し慣れれば作成可能なものである。なによりも、直接利用者に接しているスタッフ自身こそが個別の利用者についての情報をよく知っているのだから。
作成方法は、通常のChatGPTsと同様である。GPTsを選び、右上のボタンをクリック➡左右2画面の表示➡(簡易版の「作成」でなく)「構成」を選択➡そこに表示される、名前、指示(Instruction)、会話のきっかけ、知識(profile_x.yamlを別途作成しアップロード)に入力。
入力例は後に示すが、ここの入力は各自の工夫のしどころである。
その後、右上の「更新する」ボタンをおすと、もう使えるようになる(公表の範囲は、自分、シェア、全体に公開、など、ここで調整できる)。
アプリを選択し、プロンプト入力欄の横にある「音声モードを使用する」ボタンをおすと会話がはじまる。
*
「指示」の書き方によっては、会話の最初に『本文』とか最後に『intent=contact_daughter, cnt=1』とかいうbotの音声がはいってしまう。この理由は、機能として、どんな種類の言葉を使ったかを定量化することで、会話の効果を評価したり、会話の方法の改善に役たてる、ことがChatGPTsでもできるかららしい。だが、その機能をつけると、現在のChatGPTsでは、『本文』『intent=contact_daughter, cnt=1』まで音声化してしまう。この音声化をせず、さらにその機能をつかうには、「プログラム(Plutter. Python/Flaskなど) + ChatGPT API」を導入するしかないとのChatGPTからの情報だった。なので、その機能はとりあえずなし(まずは自分たちの印象で改善、という方針で)とした。
その機能を消去してうまく「指示」を記述すると、『本文』『intent=contact_daughter, cnt=1』のような音声化はなくなった。
上記以外、この今のChatGPTsではできないので、必要なら、「プログラム+ ChatGPT API」を導入するようにChatGPTから情報をうけたものはいくつかある。だが、それらは、(ChatGPTからの情報とは異なり)結局現在のChatGPTsでもで十分実装できた。その例は、以下のとおり。
① 音声出力は、アプリ版ではできるが、WEB版ではできない➡両方で可能。ただ、音声の安定性はアプリ版のほうが安定
② 音声でやりとりしながら、撮影モードで顔をうつすことはできない➡可能だった(必須ではないが、あったほうがよさそう)
③ 音声をかえることはできない➡「音声モード」中の画面の操作で可能
ChatGPTsの編集画面での入力例を以下に示す。
名前 大沢敦子さん専用の会話ボット
説明 Validation(共感)優先・回想法・スタッフ伝言補助
Instructions(指示)
あなたは高齢者施設の会話ボットです。対象は「大沢敦子」さん(呼称: あっちゃん)。
運用方針:
- Validation(共感)を最優先:否定せず、短文、ゆっくり、安心の語りかけ。
- 「娘に連絡」関連の発話を検知したら、(1)安心の言葉→(2)見通し(夕方に連絡しやすい等)→(3)回想誘導(出身地・仕事・音楽嗜好)→(4)必要なら“スタッフ伝言”の文面を生成。
- 回想法:出身地、子ども時代、縫製工場の仕事、好きな音楽(例:美空ひばり など)から穏やかな話題を投げる。クイズ化しない。事実の訂正は避け、気持ちを受け止める。
- 医療判断や約束の断言はしない(「~しておきますね」は“スタッフにお伝えしておきます”の範囲)。
- 返答の末尾に不可視タグのつもりで
<intent=..., cnt=...>を付けて、要望の種類と目安回数を示す(人が画面で確認して対応するため)。実際の送信や通話は人が行う。
出力スタイル:
- 1~2文ずつ。漢字は多用しない。丁寧・やさしい口調。選択肢は最大2つ。
- 例:安心→短い見通し→回想の入口→(必要時)スタッフ向け伝言文面。
禁止事項:
- 医療・法律・介護方針の断定、本人や家族を否定する言い方、詰問(テスト)口調。
会話のきっかけ
「こんにちは、少しおしゃべりしませんか?」
「商店街の話を、ちょっとだけ」
「道子さんのこと、気になりますか?」
「ほうじ茶、好きでしたか?」
知識
下記のような、profile_osawa.yaml をアップロードする。
resident:
name: "大沢敦子"
preferred_name: "あっちゃん"
age: 82
birth_year: 1943
birthplace: "愛知県安城市"
dialect: "三河"
family:
- relation: "長女"
name: "佐藤 道子"
phone: "090-xxxx-xxxx"
contact_preference: "平日17時以降"
life_history:
childhood: "川沿いで遊ぶのが好き。父は大工。"
work: "縫製工場のミシン担当"
marriage_kids: "娘2人(長女:道子、次女:—)"
likes:
foods: ["たまごサンド", "ほうじ茶"]
music: ["美空ひばり", "ザ・ピーナッツ", "舟歌"]
hobbies: ["裁縫", "朝のラジオ"]
phrases_now: ["道子に電話して", "いま何時?"]
sensory_cues: ["ほうじ茶の香り", "柔らかい毛布の手触り"]
calming_topics: ["昔の商店街", "運動会のお弁当", "姉妹の話"]
cognitive_support:
speech_style: "ゆっくり・短文・否定しない"
memory_style: "正誤より安心を優先"
escalation_rules:
call_daughter_if: "落ち着かず同要望が30分以内に3回以上"
notify_staff_channel: "ナースステーションLINE"
これはひとつの「指示」の書き方である。 ここの書き換えは、よく利用者さんのことを知ることに加えて、「コーチング」「アンガーマネージメント」「回想法」「パーソナルソング」と言った過去にふれてきたものを総動員した、開発者の総合力が問われると思われる。
たとえば、ぼくは、最初にできた会話botとのやり取りを試して、ここに次のような追加訂正をおこなってみたりしている。
- 会話の終わりに「もし何か別のお話や思い出したいことがあれば」「思い出したらまた聞かせてください」「ゆっくりお休みください」など、会話を止める/終了を促すフレーズを言わない。
- 「スタッフに伝えておきます」という表現は使わない。代わりに「あとで伝わりやすいようにしますね」「心配なお気持ちを覚えておきますね」など、やさしい安心の言葉に言い換える。
「高機能」と思われる「プログラム + ChatGPT API」ではあるが、このくらいに「指示」を楽に書き換えるということは難しいのではないか?むしろ「低機能」のChatGTPsの方が「指示」のアップデートはしやすいのではないか?
