Qukuriエンジニア求人情報

株式会社Qukuriエンジニア採用サイトロゴ
株式会社Qukuriエンジニア採用サイト

AIを使ってメールを自動的にDBに取り込むシステムを作ってみた

どうも、尾嵜です。
もうかれこれ7、8年前のことでしょうか…
FileMakerを使って、自分のアドレスに届いた案件情報をデータベースに取り込み、活用し、分析していました。
当時は、AIを使用せずに取り込んでいたので、作り込むのに相当な労力を費やしていました。
もう二度と作りたくないと思っていたのですが、時代が進み、私でもAIが活用できそうなことを知り、さっそく作ってみました。

PowerAutomateはAIを組み込める

ひとことでPowerPlatformにAIと言われても、どこにどう組み込んだのか疑問に思う方もいるでしょう。
実際、以前に作成した「鬼畜ツール」はPowerAppsに直接AIを組み込んでいました。
ですが、今回のアプリケーションはPowerAutomateの中にAIを組み込んでいます。簡単な流れは以下の通りです。

メールを受信する

内容をAIで解析し、決まった形に整える

データベースに格納する

PowerPlatformの恐ろしい開発効率

今回のアプリケーションは、PowerAppsのモデル駆動型アプリという形式を使用しています。
モデル駆動型アプリは、PowerAppsのもう一つの形式であるキャンバスアプリと比べて、画面の自由度がありません。
ですが、それを補って余りある開発効率という強みを持っています。
ローコードアプリケーションの強みのひとつである「速さ」という点で圧倒的なパフォーマンスを発揮します。
現に、このIT案件情報システムを作成するのに要した時間は、私ひとりでほぼ1日でした。(細かい修正は含みません)
自動でメールを取り込み、AIで分類し、担当者や取引先企業とリレーションし、見やすい画面を作る…これすべて1日です。

PowerBIでの分析に欠かせない表記の揺れ修正、データクレンジング

開発効率の話をした後で言うのは、いかがなものかとは思いますが、上で言う開発工数にPowerBIで分析するために要した時間は含まれていません。
デモ動画では、とても貧相なBI画面が映し出されていましたが、実はここで結構苦戦しました。
AIが意味を理解し、項目ごとに分類してデータベースに格納するところまでは良いのですが、様々なフォーマットで届いたメールは、当然のごとく、様々な表現に彩られています。
例えば、「Java」というプログラム言語は「JAVA」だったり「java」だったりします。
プログラム言語のところに、本来プログラム言語ではないASP.NETやUnityが含まれていることも少なくありません。
こうした、本来言語としてカウントするべきではない文言を正しく分類する必要があります。
PowerBI(正確にはPowerQuery)にはデータを正しく直す機能がありますが、これを理解し、実装するのに時間を要しました。
BIだけで相当深い分野ですので、あらためて勉強したいと思っています。

AIはシステムに組み込んでこそチカラを発揮する

今回のシステムでは、ChatGPTのAPIを利用しています。
個人でもChatGPT Plusを契約し、生成AIを楽しんでいますが、正直なところ活かし方がイマイチ掴めていませんでした。
今回、システムに組み込んで意識していないところで、自動化の一部として生成AIを活用して感じたことがあります。

それは「AIはシステムに組み込んでこそチカラを発揮する」ということです。

ITの案件情報のように、メールやPDF、FAXのような方法でビジネスの情報を得ている方にとって、大きな進歩になる可能性があります。
今後、このようなお悩みがある方のちからになれたら嬉しいと思っています。