以前、こちらの記事で友人のためにAIを作った話をしました。
LINEで動物画像を送ってくれる人にAIでリアクションをしてみた
https://kumahiyo.com/line-reaction-app/
このAIは、送られてくる画像を解析してその種類をリアクションするものでしたが、
画像ではなくテキストにもリアクションしたいと思い、言語処理担当のAIを作ることにしました。
言語処理できるもので有名なのはChatGPTですが、せっかくシステムエンジニアをやっているので、
BERTやGPT-3のようなプログラムをいじりながら実装していくようなものを選ぶことにしました。
そういったものを選ぶことでLINEのボットにも組み込むことができるようになります。
BERTとGPT-3のどちらを選ぶかですが、前者は質問に対する回答を見つけてくるのが得意で、
後者は投げかけられたテーマに対する要約や対話を生成するのが得意です。
今回は私に代わって、私のAIが友人にリアクションするようなものを作りたかったので、
前者のBERTを採用することにしました。
BERTは質問に対する回答を見つけてくるのが得意なので、回答として私の好きなものや興味のあること、
欲しいものや趣味などを登録しておくことで、例えば友人から欲しいものを聞かれた時に、
AIが私に代わってその返事をしておいてくれる。というわけです。
BERTを実装するには、動物画像のAIを作った時と同様、モデルを用意しないといけないのですが、
日本語で扱えるようにするため、日本語のデータを使って学習を行いました。
ここでも、Google Colab が役に立ちました。時間のかかる学習を短時間で終えることができました。
そうしてできたモデルを使い、あとはLINEのボットと連携するようにして完成です。
簡単な質問に関しては、的確に答えを返してくれているようです。
(試しに回答として、飼っている鳥の情報を入れてみました)

友人相手にどこまでリアクションできるか、様子を見て調整いきたいと思います。