目次
ガリレオアンドヴィーナス合同会社 フロントエンジニアの岩谷です。
昨年11月に開催された「Claris Engage Japan 2023」への参加をきっかけに、弊社では得意とするWordPressだけでなく、FileMakerを用いたご提案や、社内業務改善アプリのテストなど、日々模索しております。
今回は、北海道で活動するFileMakerユーザーグループFM-Hokkaido様が主催する、合宿型ユーザーミーティング「フロンティアーズカンファレンス」へ参加してまいりました。
簡単ではありますが、参加した感想などをレポートいたします。
フロンティアーズカンファレンス
フロンティアーズカンファレンスって何?
フロンティアーズカンファレンスとは、
北海道で活動するユーザーグループFM-Hokkaidoが主催する FileMaker Pro®ユーザーのための、ユーザーによる合宿型ユーザーミーティング ”フロコン”(フロンティアーズカンファレンス)のお知らせです。温泉に入って、日頃の疲れを癒すことも目標になっていますのでこれが温泉でのカンファレンス風呂懇と呼ばれるいわれです。
FM-Hokkaido
今回の舞台は、日本最北の不凍湖「支笏湖」のほとりにある「丸駒温泉旅館」。
丸駒温泉旅館は、Claris Japan Excellence Award 2023を受賞されている千歳科学技術大学と、FileMakerを用いた支笏湖の鏡面現象を予測するアプリの研究に協力している旅館です。
フロコンの趣旨にピッタリ!
湖畔の宿支笏湖 丸駒温泉旅館
住所:〒066-0287 北海道千歳市幌美内7番地
ホームページ:https://www.marukoma.co.jp/
参加レポート・感想
今回のテーマは「最近はやりの生成系AIとFileMakerの世界を覗いて見る」。
以前参加した、公益財団法人 日本電信電話ユーザー協会主催のセミナーも、最新技術(AI・生成AI)がテーマでしたが、どんどんAIが身近になってきています。
14:00〜 オープニングキーノート・ショートセッション
AI×FileMakerのお話や、FileMakerを用いて行われた取り組みなどの発表がありました。
16:00〜 アプリ作成 or ディスカッション
各自、「AIを用いてFileMakerでなんか作ってみよう」チームと、「AI×FileMakerで何ができるかをディスカッションしよう」チームの、2チームに分かれてスタート。
どちらも魅力的ですが、なかなか普段集中してFileMakerを触る時間が取れない&詳しい人が周りに超たくさんいる というオイシイ状態なので、「なんか作ってみよう」チームで、何か作ってみます。
どうしよう?何つくろう?
今回はFileMakerからOpenAIに何かしらの処理をさせて、結果をFileMakerで取得するようにします。
まずは、案出しをしながら、OpenAIが開発したAI言語モデル「ChatGPT」に質問する文章も考えていきます。
- 顧客台帳:名刺を写真撮影orスキャンした画像を使用し、FileMakerで設置した各項目に、自動で振り分けて入力させる。→わざわざAIに仕分けさせる必要があんまり感じられなかったので、一旦没。
- 家計簿:レシートを写真撮影orスキャンした画像を使用し、商品名・金額を用意したフィールドに入れる。商品名からAIで食費や雑費などカテゴライズをつけてもらう。→あったら便利かもだけど、カテゴリ分類させるための文言等がうまくまとまらないため、一旦没。
うーん…。良い案が出ない。
一旦、業務等でChatGPTを何に使うかも整理してみます。
- 複数人が作成したプログラムコードを整理してもらう
- 長いプログラム分の中から、エラーを見つけてもらう
- 作成した文章の記述ミスや言い回しが正しいか等レビューをしてもらう
人の目でチェックしにくい、長い文章中の中から何かを探してもらうのに向いてそう。
時間も限られているので、コレ作ってみよう。
テキストの中に連続した数字があった場合、それがクレジットカード番号か否かを判別して、クレジットカード番号と疑わしきものがあった場合、数字をマスキングした値を返してくる
というようなものを作ってみます。
想定は、コールセンター等で、会話音声をテキスト化したものをFileMakerに取り込み、データ化して管理者が品質向上に用いる。取り込みして扱うデータの中にクレジットカード情報が素の状態でいるのはよろしくない為、テキストを取り込む時点でマスキングしてしまおう。という方針のシステムを作ることになったという仮定です。
手を動かして、できるところまで作ってみよう。
カンファレンス用に共有いただいた、非常にありがたいサンプルファイルをベースに、まずはOpenAIが使えるようにアカウントを取得&設定していきます。
そして、入力された数字がクレジットカード番号か否かをOpenAIに判定してもらうべく、OpenAIに投げる文章を作っていきます。
色々試した結果が↓コレ↓
次に入力する、文章中に連続する番号がある場合、クレジットカード番号かそうでないか判別して、クレジットカード番号だと思われる場合は、連続する番号の2桁目から最後の桁までのみをマスキングしたものに置き換えて、文章を表示してください。
クレジットカード番号か否かは「Luhnアルゴリズム」というもので判別できるらしい(詳しくはChatGPTに聞いてください)ので、テスト環境で使えるクレジットカード番号を入れてチェックしましたが、大体あっているっぽいので、マスキングが行けそうです。
ただ、マスキングされていると、文脈からカード番号だと分かりにくい場合、何がマスキングされているのか、わからなくなりそうだったため、下記のように、マスキングされた番号の後ろに(カード会社)を追記してもらい、「カード判定されている部分だよ」と分かるようにしました。
次に入力する、文章中に連続する番号がある場合、クレジットカード番号かそうでないか判別して、クレジットカード番号だと思われる場合は、連続する番号の2桁目から最後の桁までのみをマスキングし、直後に()で、カード会社名を記載したものに置き換えて、文章を表示してください。
判定ができたよ!というところで、大体時間切れに。
成果物。
電話番号と思われる箇所はそのままに、カード番号だけマスキングされた値が返ってきました。
ただ、複数回実行すると、同じ文章でも、一部が切れて返ってきたり、マスキングが指示した2桁目〜最後までではない場合があったりと、質問文にまだ工夫が必要そう。
お暇な方は、ChatGPTに上記の質問を投げた後に、適当な数字を入れてみると遊べます。
※カード番号のマスキングをチェックしたい時は、実際の自分のカード番号は入力せず、テスト環境で使えるクレジットカード番号の番号を入れてくださいね。
翌日 9:00〜 発表
どんなものを作ってみた&考えてみたか、順番に発表&質問タイム。
まとめ
他の方の発表を見つつ、文章全部をOpenAIに投げるのではなく、セキュリティーを考慮して「FileMaker側で連続する15〜16桁の数字があった時に数字のみOpenAIに投げる」→「投げた数字がクレカ番号のアルゴリズムに合致するとされたときに、FileMaker側で、該当部分を置き換える」とした方が良かったなぁと、思ったり。
大変勉強になりました。
また、FileMakerだけでなく、Webシステム全般でも「AIを使って何ができるか・何を処理させるか」を考える機会でした。
おまけ
今回、天気は晴れていましたが、風が結構強く、支笏湖の鏡面化現象は残念ながら見られませんでした。
が!
丸駒温泉旅館は、本当に目の前が支笏湖のため、宿泊者&早起き特権で朝焼けの支笏湖は撮影できました。
温泉も、目の前が支笏湖!というロケーションのため、非日常感がすごいです。
札幌からのアクセスは車が必要となりますが、その分周りは大自然!という感じなので、是非一度訪れていただきたいなぁと思います。