フォーム読み込み中
大学でもIT系に縁のなかった新卒の私が、技術知識0(ゼロ)の状態で挑戦した社内文書検索アプリの開発について、今回はお話ししたいと思います。
私は現在、Google Cloud プロダクトの企画を担当しており、業務の一つとして、営業部署の皆さまからいただくGoogle Cloud に関する問い合わせに回答する業務を行っております。問い合わせのなかには、弊社内にあるマニュアルに記載されているものをそのまま回答するだけで解決するケースが多く、社内文書検索アプリを用いることで業務効率化を図れないかと考えていました。
そのような時、ソフトバンクのVertex AI DIYプランで提供するVertex AI Searchの構築手順書のテストの一環として、社内ユースケースを募集していたため、手を挙げて実践してみました。
Vertex AI DIYプランはソフトバンクが無料提供するサービスで、以下の3つのことを体験いただきながら、Vertex AI Search で社内文書検索アプリが作れるものです。
詳細は、関連サービスにある「Vertex AI DIYプラン」をご確認ください。
今回は、このVertex AI DIYプランを活用し社内文書検索アプリを作成するまでの流れや、その際の工夫した点、挑戦しながら得た知見を共有したいと思います。私の試行錯誤の様子を、ぜひ最後まで読んでいただき、初心者の私でもVertex AI DIYプランでここまで実装できるということを知っていただけると嬉しいです。
まずはマニュアルに沿って、以下の手順を進めてみました。
マニュアルのイメージは上記となり、これに沿って進めると、コンソールを触るのがほぼ初めての私でも、1時間ほどで検索アプリの作成まで進めることができました。格納するファイル選びの時間も含め1時間ほどででき、大きくつまずくこともなくスムーズに進めることができました。マニュアルにはスクリーンショットと説明が詳しく記載されているので、画面の中で迷子になることもありませんでした。
Google Cloud プロダクトに関する問い合わせ回答の業務効率化を図りたいというのが目的だったので、トレーニング対象ファイルは、社内マニュアルである図とテキストで説明があるPowerPointの資料をPDF化したものを4つと、表形式のExcelの資料をPDF化したものを2つ格納しました。このとき、ファイルは全てPDF化しなければならないと考えていたこともあり、全てPDF化してインポートしました(記事の後半ではPowerPoint、Excelデータをそのままインポートしています)。
Cloud Storageに格納したデータをVertex AI Searchにインポートすると、社内文書検索アプリはもう完成です。初めて自分で作った検索アプリに興奮しながら、一つ質問を投げかけてみました。回答精度にはあまり期待しないほうがいいよとの声も聞いていたので、どのような回答が来るのか不安に思いながら回答が生成されるのを待ちました。
実際に投入した質問と、Vertex AI Search が生成した回答は以下の通りです。
Q:GCPの納期は何営業日ですか
A:GCPの納期は、新規申請、変更申請で異なります[2]。新規申請は〇営業日、解約申請は〇営業日です[2]。開通希望日が1日または土日祝日の場合は、翌営業日の開通となります[2]。テクニカルサポートサービスの開通希望日が土日祝日に指定された場合は、翌営業日の開通となります[2]。
ほとんど正解の回答が、しかも詳しく生成され、感動しました!!
質問に関連したドキュメントが参照リンクとして表示されているので、ファクトチェックも簡単にできるようになりそうです。
しかし、いい気になって質問をいくつか投げかけてみると、精度の低い回答が生成されることもあることに気が付きました。最初の質問が、たまたま精度の高い回答が生成される質問だったのかと少し落ち込みながらも、精度アップに取り組みました。
まずは、Excelデータを適当にPDF化したことが気がかりだったので、そこを修正することから始めました。検索には不要なデータを削除し、分類ごとに2つのPDFに分け格納しました。すると、回答精度が向上したものもあれば、そうでないものもあり、その原因は以下のように整理できました。
① 投入したデータにテキストで回答に該当する記述がある時
この場合は、正しい回答が来ました!
ちなみに、最初に私が感動した質問については、以下のようなやり取りが展開されました。Excelデータを整えたことで曖昧な回答を生成するようになった点については課題が残りますが、きちんと正しい回答が生成されています。
Q:GCP開通までにはどのくらいかかりますか
A:GCPの開通には、申請から数日かかります[3]。
Q:数日とは具体的には何日ですか
A:〇営業日です[4]。
② 図や表の中に回答に該当する記述がある時
この場合、誤回答が多くありました。図内のテキストを読み取ってはいるものの、解釈が誤っているように見受けられる回答が散見されました。
このような結果から、現時点でのVertex AI Search は、テキストで説明があるものに対しては精度高く回答が生成できる一方で、図表内の情報を理解し回答を生成することは苦手であるように感じました。
回答の精度アップとしてできることで、私の思い当たるものが他になかったので、技術系の業務を行っている同期に相談し以下の2つのアドバイスをいただきました。
最初にPDF化して格納したデータのPowerPointデータ、ExcelデータをCloud Storage へ格納し、Vertex AI Search へインポートしました。PowerPointデータは問題なくインポートでき、Excelデータはインポートの際失敗となったのでPDF化したデータをインポートしました。
これである程度精度が上がるのではないかと期待を持って質問を投げかけてみたのですが、結果はむしろ逆効果となってしまいました。今までは間違えることはもちろんあったものの、何かしら回答を生成してくれていたのですが、「結果が見つかりませんでした。検索語句を修正してください。」と完全に答えを生成しなくなってしまいました。
このVertex AI DIYプランでは、1時間のオンラインサポートを受けることができます。そこで、これまでの試行錯誤の経緯を伝え、精度アップさせたいという相談をしました。
思うように精度がでない主な原因の一つには、やはりVertex AI は表データの学習を苦手としていることがあるようでした。そこで、Big Query にExcelデータをcsv変換したものを格納し、そこからVertex AI へインポートする方法を教えていただき、実践してみました。
結果としては、期待する回答の記述のある部分を探してきてはくれるが、要約は期待した精度には達しませんでした。今回のチューニングによって検索の精度自体は上がったので、ドキュメントの検索には有効活用できそうですが、LLMによる要約を使いたい場合はExcelデータをPowerpointに書き出してPDF化するなどインポートするデータに工夫が必要そうだと感じました。
ここまで色々と試行錯誤をしてきた結果、今回の私のようにファイル文章がテキストと図だけで構成されている場合は、Cloud StorageにPDFファイルで格納したデータをVertex AI にインポートするのが一番精度が出るようでした。
また、精度アップを試行錯誤しながら試している最中にも、要約に利用するモデルにGemini 1.0 Proが選択できるようになったり、図を精度よく読み取るためのOCR機能が追加されたりなど、日々Vertex AI がアップデートされていることを実感しました。さらに今後Vertex AI Search のデータコネクターが増えていくことも発表されております。
今後、新たな機能を活用しながら、現時点でVertex AI Search が苦手としている表や図を上手くテキスト化し検索しやすくさせることで、Vertex AI をさらに有効活用し、業務効率化を進めていきたいと思います。
今回利用したVertex AI DIYプランでは、Vertex AI Search の構築手順書の提供だけでなく、回答や検索精度に困ったときなどに、1時間のオンラインサポートを無料で受けることができます。自分で生成AIを使った社内文章検索アプリを構築してみたいけどなかなか手が出せない・・という方にはぜひ試していただき、私と同じようにVertex AI すごい!と感じていただけると嬉しいなと思います。
Vertex AI Search を使って社内文書を検索する生成AIを構築をソフトバンクのエンジニアがサポートします。まずは検証してみたい、使ってみたいという方はぜひご活用ください。
Vertex AIは、Google Cloudの機械学習プラットフォームです。機械学習モデルの構築からデプロイまでを一括で行え、作業負荷を大幅に削減できるため、AI開発を快適に進めることができます。
Google サービスを支える、信頼性に富んだクラウドサービスです。お客さまのニーズにあわせて利用可能なコンピューティングサービスに始まり、データから価値を導き出す情報分析や、最先端の機械学習技術が搭載されています。
条件に該当するページがございません