自分AIの作り方~ChatGPTで自分AIを作ってみた~

高齢社会や未婚率の上昇に伴う話し相手として、また自分カウンセリングや認知症予防、子育ての負担軽減にもつながる自分AIのメリットと作成方法を紹介します!
はじめに
自分AIとは〜自分の応答を記録して、記録から作成したモデルを使用することで、自分が答えそうな回答をしてくれるAIのこと〜です。
作成の目的としては、超高齢かつ未婚率が上昇し続ける社会における話し相手、自分カウンセリング、親AI作成による子育て緩和、配偶者AI作成による家族亡き後のケアなどです。
メリットとしては、通常の話し相手ロボットと違って飽きがこない、チャットGPTにはない親しみやすさ、自分が欲しい答えがもらえるなどが挙げられ、将来的には認知症予防にも役立つのではと考えています。
今回はGoogleColabでの自分AIの作成方法(実験段階)を複数モデルとともにご紹介します。
作成の流れ
作成は、記録→モデル作成→実装となります。今回はExcelで表形式に記録した後、GoogleColabでモデルを作成して記録を読み込み、応答の精度を確認して、別のモデルでも試すなどを繰り返しました(最終的にはリアルタイム音声認識や物体検知の追加実装も希望)。
<Step1: 記録>
まずExcelやCSVにて、質問(question)と答え(answer)の列を作成して、挨拶やつぶやき、悩みなどに対して、自分ならこう答えるといった応答を記録していきます。記録数は多ければ多いほどよく、5000以上はほしいです。
今回項目は2つのみとしましたが、挨拶など時間によって変更する場合は時間項目を、天候によって挨拶を変えたい場合は天気項目を追加するなど、様々な作り方が可能です。下記は子どもの話し相手を目的とした親AI作成を想定しての記録です。
<Step2: モデル>
次に作成した記録をGoogleColbで読み込みます。この時、どのようなモデルを使用するかが重要になります。以下は今回試したモデルです。
・RandomForest
・Transformer(BERT, GPT-2)
一般的にRandom Forestは数値やカテゴリなど表形式にできる構造化データに適しています。一方、文章や画像など非構造化データはTransfomerが適しているとされていますが、記録データが複雑でなく短い文かつ項目列に分けられる場合は半構造化データとも考えられ、今回はRandomForestも使用してみました。以下はモデル別作成の流れです。
RandomForestの方が処理が早く、記録数が少なくても予測回答はなされますが、新しい質問には全て同じ答えになってしまう場合もあり、記録数が多い場合はTransformerがよいと考えられます。*Transformerは日本語対応しているモデルでないと文字化けを起こすので注意が必要
以下はRandomForestでのコード例です。
<Step3: 実装>
モデルが決まった後は、必要に応じてリアルタイム音声認識(STEP2までは直接入力)や物体検知も追加します。GoogleColbでのリアルタイム音声認識はできませんので、他の方法となります。今回はStep2までの作成となりましたので、詳細は割愛させていただきます。
作成上の問題
<記録における問題>
・記録数と記録方法
実際にやってみるとわかりますが、記録がとにかく難しく時間がかかります。自分に問いかける言葉を考える・・一見簡単そうですが、改めて考えるとすぐ思い浮かばずうーんってなります。しかし、記録数が少ないとモデル作成が難しくなります。そこで記録を日常生活の録音やチャットなどの応答から取得すると記録数が増えるのではないかと考えました(今回は実践していません)。しかし、注意したいのは、例えば子どもを対象とした子守り目的としての親AIの作成の場合、子どもとの会話は語彙力の問題などで会話のパターン化がしやすく質問が固定化して数が少なくなりやすいなどの問題が生じます。
・記録の設計
会話のターンを考慮する場合や項目(日時、天気、行事など)の追加により設計が変わります。更に使用者が誰なのかによって記録の取り方が変わります。例えば子どもが使用する場合には年齢によって答え方が変わるため、年齢項目も必要となります。
<モデルにおける問題>
・モデルの選択
どのモデルを選択するかで予測回答が異なりますが、記録数が少ないとモデルの選択も限定されます。
・ファインチューニング
TransFormerのモデルは一般的に事前学習モデルをファインチューニングして使用しますが、記録数が少ないと自分AIとしてオリジナルな要素が反映されにくい問題があります。
まとめ
今回の自分AI作成にあたって、
・モデルの構築にはまず記録が重要:記録数が少なすぎたために、Transformerモデルを作成しても思うような回答が得られずRandomForestの方がマシな結果に
・音声認識と物体認識まで至らず、モデル作成段階で膠着状態に
・とにかく記録が難しい、記録方法に工夫が必要
おわりに
感想として、記録数を増やすための記録取得方法の改善やモデルの選定での失敗など素人に自分AI作成はやはり難しいです。しかし、生活改善できる身近なAIを作れたら・・こんなものがあればより生活が便利になる、そんなことを想像しながらの作成は楽しかったです。
そして、既に高齢者の4人に1人が認知症ともされる将来を踏まえ、認知症に対応したAI(応答はおうむ返しや過去の質問を多めにする等)や認知症発症前に自分AIを作成しておくなどもよいかもしれません。
今回は自分AIの作り方についてご紹介しました。ご自身の記録をとって、ぜひ自分AI作成をお試しください。