投稿日:2024.04.04 最終更新日:2024.04.04
NPO法人CAPNAでの生成AIの活用事例の紹介(約700件の相談分析を11分で完了)
背景
NPO法人CAPNAは、子どもの虐待を防止することを目的として活動している団体です。私たちは、虐待を受けている子どもたち、虐待をしてしまった人々、身の回りで虐待に気がついた人からの相談に対応しています。
今回生成AIを活用したのは相談窓口の一つであるメール相談の統計情報の作成です。メール相談はCAPNAのWebサイトから相談者が相談をメール送信し、相談員が熟読の上で返信を作成し、団体内でのレビューを経て相談者に返信するという相談形態です。
CAPNAにとって、相談内容を分析し、その統計情報を収集することは重要です。この分析を通じて、虐待に苦しむ人の辛さや苦しさを理解し、適切なタイミングで適切な支援を行う貴重な情報になるからです。
しかし、相談者に相談時に詳細すぎる情報を提供してもらうことは、深刻な問題を抱える相談者に余計な負担をかけることになるため、相談に必要な情報以外は取得しないようにしています。
そこで、この課題に対応するために、生成AIを活用して相談内容を自動で分類させることにしました。
目的
今回の目的は年間約700件の相談内容の分析にかかる負担を軽減することです。相談内容を大カテゴリ・中カテゴリに生成AIに分類させ、NPOとしての対策や今後の活動計画に生かすデータを効率良く作成します。
やったこと
OpenAI(ChatGPT)のAPIを利用して、相談内容の自動分類システムを開発しました。このシステムは、相談内容を大カテゴリ・中カテゴリに分類します。
大カテゴリ
[‘虐待(子ども)’, ‘虐待(18歳以上)’, ‘育児不安’, ‘妊娠出産’, ‘その他’, ‘通報’, ‘ネット通報’]
中カテゴリ(大カテゴリが虐待の場合のみ分類)
[‘身体的’, ‘心理的’, ‘ネグレクト’, ‘性的’, ‘不明’]
入力には相談内容、相談件名、性別、年代を入れています。性別と年代は適切な返信をするのに重要なため相談者に選択式で入力してもらっています。
システム構成
OpenAIのAPI、Google SpreadSheet、 Google Apps Scriptという構成で、年度末に手動で実行し一度にまとめて分類するという運用にしました。生成AIを使うことで複雑な分類プログラムが不要になり、プログラムコードは100行以内のコンパクトなシステムになっています。
生成AIにはメールアドレス等の不要な情報は分類に使用しないようにしています。(Open AI APIは得た情報をAIの学習に使いません)
技術的に工夫した点
(1)modelはgpt-3.5-turboとgpt-4の結果を比較し、性能とコストのバランスから3.5を選択しました。700件超の分析で$1以下のコストでした
(2)APIのパラメーターでresponse_formatにJSONを指定して、指定した選択肢から指定した単語だけが返ってくるようにしました(うまくいかなければFunctiohn callingを使う予定でしたが不要でした)
(3)Few-shot Learningでカテゴリの例を与えて性能を上げました。どのような相談や虐待がどのカテゴリに当てはまるのか事例をシステムプロンプトで与えました。
つまづいた点
システムを作る過程でChatGPTも利用したのですが、虐待に関わる内容なのでChatGPTの利用規約に違反するという表示が出てしまうことが度々ありました。その場合は「私は虐待防止のNPOのシステム管理者です」と情報を与えることで回避できました。
結果
- 分類した結果を調べ統計情報として人間が判断した場合とそれほど変わらない分類ができていることを確認しました。
- 1件あたりの処理時間が1件あたり早くても約20秒程度かかるところから約1秒へと大幅に短縮されました。700件の分類をした場合は、連続で実施しても3.8時間かかるところ11分程度で終わるようになりました。
まとめ
生成AIを活用することで、相談内容の分析作業にかかる時間と労力を大幅に削減することができました。これにより、収集したデータをもとにした虐待防止策の改善により集中することが可能になりました。
また、今回自動で分類できるようになったことを受け、一年に一度ではなく四半期ごとに統計を出して使っていこうという提案がNPO内からでました。
AI技術を取り入れることで、私たちの活動は単に効率化されるだけでなく、支援の質も高まる可能性があります。これからも、ITの技術やAIを活用して、子どもたちが安全で健やかに成長できるような環境づくりに向けた取り組みを強化していきたいと考えています。