4/14(日) 足・靴・木型研究会「第2回研究集会」を開催します☆彡

30-2. WhisperとLlamaIndex(GPT Index)で動画から専門家チャットボットを作ってみた

やること

「GPT-3」や「ChatGPT」はネット上のテキストを学習した、広く浅い知識を持ったチャットAIです。ネット上でテキスト化されていない情報は取り込んでいないため、あまり専門的な質問をすると「分からない」と言われたりテキトーな嘘をつかれたりします。

これまで特定の分野の専門知識を持ったチャットAIを作るには、ファインチューニングと呼ばれる追加学習をする手法がよく知られていました。しかし最近、外部情報をインデックス化し辞書のように扱う手法が普及してきています。それを容易に実践できるライブラリが「LlamaIndex(GPT Index)」です。このライブラリは内部でGPT-3のAPIを利用し、次のようなプロセスで専門知識を持った回答を生成します。

▽事前知識のインデックス化

  1. 事前知識となる文章を与える
  2. 文章を適切な長さのテキストに小分けする
  3. GPT-3で各テキストをベクトル化し、テキストとベクトルのインデックス(≒辞書)を作成する

▽クエリに対する回答の生成

  1. クエリ(質問など)を与える
  2. GPT-3でクエリをベクトル化し、インデックスを参照してクエリと似たテキストを引き出す(クエリのベクトルとコサイン類似度が近いベクトルに対応するテキストを引き出す)
  3. 引き出したテキストをGPT-3にコンテクストとして与え、これを元に尤もらしい文章を生成する

LlamaIndex(GPT Index)で重要な役割を果たす「文章のベクトル化」はEmbedding(埋め込み)と呼ばれます。GPT-3は文章生成機能ばかりが注目されますが、EmbeddingのAPIは比較的安価であり、検索、クラスタリング、レコメンデーションなどに活用できます。詳細はぜひ調べてみてください。

今回は専門家のインタビュー動画をAIで文字起こしして、そこから専門知識を持った(専門家が憑依した)チャットボットを作成してみました。

使用する技術

高精度な音声認識モデル「Whisper」。大規模な音声データセット(680,000時間)を学習しており、言語の識別、文章の書き起こし、翻訳までできてしまう。

Whisper - a Hugging Face Space by openai
Discover amazing ML apps made by the community

GPT-3(大規模言語モデル)に乗っかってインデックス化を助けてくれる「LlamaIndex(GPT Index)」。

GitHub - run-llama/llama_index: LlamaIndex is a data framework for your LLM applications
LlamaIndex is a data framework for your LLM applications - run-llama/llama_index

専門家のインタビュー動画

こちらの2つの切り抜き動画を使用させていただきました。

小泉進次郎の名言・面白集①
小泉進次郎の名言・面白集②

Whisperによる文字起こし結果

見やすいように文頭にドットを入れています。

動画①

・くっきりとした姿が見えているわけではないけどおぼろげながら浮かんできたんです
・46という数字がシルエットが浮かんできたんです
・今のままではいけないと思います
・だからこそ日本は今のままではいけないと思っている私犬を飼っているんですけどね犬がうんちをすればビニール袋をこうやって手を入れてねうんちをこうやって拾ってそしてひっくり返してこうやって持ち歩いて今までは当たり前にいたんです
・だけど環境大臣になってから犬のうんちをこうやってビニール袋で持っている自分をハッとしたんですよ
・ねこれもプラスチックの袋だなと毎日でも食べたいということは毎日でも食べているというわけではないですでも好きなもの食べたい時ありますよね
・反省してるとは言ってるけどもお前は反省の色が見えないとそういったご指摘に対してもそれはまさに私の問題でありますので反省してるけど見えないという自分に対しても反省をしています

動画②

・30年後ということを考えた時に30年後の自分は何歳かなとあの8歳直後から考えてました
・その30年後の約束を守れるかどうかというそこの節目を私は見届けることができる可能性のある政治家だと思います
・買い物にスーパーに行く途中の人が演説をしていても止まってくれるにはどうすればいいんだろうかと考えたら10分聞いたら伝わることはダメなんですよ
・最初の一言だったりその一言って最初の一文という意味は言葉だけじゃなくて仕草もそうなんです立ち方もそうなんですなんか聞いてやろうって思ってもらえるかどうかこれを真剣に考えないと最後まで足を止めてもらえないだから一番自分にとっては今はありがたかったのは誰からも聞いてもらえないという経験自分の演説を自分で聞いてみたんですどうしてこんなに人は止まってくれないんだろうと思ってそれで自分の演説をポケットにICレコーダーを入れて自分の話を撮ってました
・それで選挙中に寝るときに夜電気消してベッドの中でイヤホンで自分の演説を聞いてみたんですそしたらですね
・驚くほどよく眠れんですつまらないから自分で話を聞いてみると自分の話し方が自分が思っている以上に早口で一文が長くて言葉に欲張りがないということがわかるんです
・ペーパーリストでおっしゃっているうすみがですね
・自分だけ紙を持っていること見ていることは違和感があると思うのでその違和感がいいじゃないですか
・ちなみに何ですか
・これはペーパーレストを進めるために様々議論したペーパー本当そこずれてるねこれ変えなきゃねそうなんですよ
・ね小さなことからきっと大きなとこまで行きますよとよろしくお願いします

切り抜き動画なので文章の繋がりが怪しいですが、かなりの精度で文字起こしができました!これらの文章を一緒にしてLlamaIndex(GPT Index)で埋め込みます。

LlamaIndex(GPT Index)によるチャットの結果

GPT-3を基本として、小泉進次郎環境大臣に近いベクトルで回答するチャットボットを作りました。いくつか質問をしてみましょう。

Q. この人は温室効果ガスの削減目標に関して、46%という数字をどのように決めましたか?

この人は、温室効果ガスの削減目標に関して、46%という数字を決めるにあたり、自分自身の環境保護への取り組みを反省し、プラスチック袋を使わずに犬のうんちを拾うことを実践していることを受けて決めたと考えられます。

Q. この人は日本は今のままではいけないと思っていますが、だからこそ何をすべきだと考えていますか?

この人は、プラスチックの袋を使わずに、環境に配慮した行動をすることを考えています。例えば、犬のうんちを拾う際にビニール袋を使わずに、手を使って拾うなどです。また、毎日ではないが、好きなものを食べる時にも、プラスチックの袋を使わずに、環境に配慮した行動をすることを考えています。

Q. この人は犬のうんちから何を考えましたか?

この人は、犬のうんちを拾うことが環境保護につながることを考えました。また、自分自身が環境保護に貢献していることを実感し、反省していることも考えました。

Q. この人は何について反省していますか?

この人は、プラスチックの袋を使って犬のうんちを拾うことについて反省しています。

Q. この人は30年後について何を考えていますか?

この人は30年後に、環境を守るためにプラスチックの袋を使わず、自然環境を大切にすることを考えています。また、自分の行動が環境に与える影響を反省し、自分自身を改善しようとしていることも考えています。

Q. この人は自分の演説については何を考えていますか?

この人は、自分の演説については、環境保護を重視し、プラスチックの袋を使用しないように取り組むべきだと考えています。また、自分自身がプラスチック袋を使用していることに気づき、反省していると考えています。

考察

犬のうんちを手で拾う環境大臣が生まれました。内容はともかく、受け答えはオリジナルよりもしっかりしているかもしれません(?)。ただ、動画②の内容が回答に反映されていないのは少し気になります。

“生命系の枕”こと「THE CELL」(正確にはMolecular Biology of THE CELL)。日本語翻訳版「細胞の分子生物学」の最新版は36,000円で青色のようです。赤い枕を割り勘して裁断、1章ずつ勘合のように持ち寄った青春の日々…。知識は前提!覚えてから来い!の世界。THE CELLをまるごと埋め込んだチャットAIが作れれば、生命系の学び方が変わるかもしれませんね(?)

タイトルとURLをコピーしました