「OpenAI API」とClaris FileMakerの「GetLiveText」関数を利用した名刺管理 ~第3回 OpenAI APIの利用~

2024年04月25日 10:00 AM

Claris FileMaker 2023


皆さん、こんにちは!

簡単に Claris FileMaker で名刺管理をしたい人たちに向けたブログいよいよ最終回の第3回です。

1回目では、導入編となる「OpenAI API」を使えるまでを、
前回はFileMakerのGetLiveText関数を使って画像からテキストを読み取る方法についてご紹介しました。

まだ御覧になっていない方は、ぜひ併せて御覧ください。

第1回ブログ
第2回ブログ

今回はさらに一歩進んで、その読み取ったテキストを自動で適切なフィールドに振り分ける方法を、OpenAI APIを利用して行うプロセスを解説します。

はじめに

FileMakerのGetLiveText関数を活用すれば、名刺の画像からテキストを抽出できました。画像から直接テキスト情報を取り出すことで、情報の入力作業の手間と時間を節約することができそうです。

しかし、一つのフィールドに抽出したテキストが全部入ってしまっているので、その情報を、氏名・会社名・住所・電話番号などに、コピペする作業もとても面倒な作業です。

FileMakerだけではこの分類を自動化することは難しいため、OpenAIの機能を利用してこの問題を解決したいと思います。

サンプルファイルのダウンロード

2024/5/28追記

サンプルファイルのダウンロードができます。
※ご注意
こちらのサンプルファイルは、弊社がデモを行うにあたって作成したものを参考にしていただくためご提供するものであり、実際の業務などで利用されることは想定しておりません。
つきましてはご自身の責任においてご利用いただき、サンプルファイルを利用したことにより発生した事象についての責任を弊社では負いかねます。


上記ご了承いただけましたら、以下のボタンからサンプルファイルのダウンロードができます。

ファイル名:namecardautoregistration20240528.zip(1.29MB)

プロンプトの基本

プロンプトとは、AIに対する命令や質問、要求を形成するテキストのことを指します。プロンプトは、人間の言葉を理解し、適切なアクションを起こすためにAIに与えられる情報の入力です。プロンプトを使用することで、AIは指定されたタスクを実行し、データを分析、整理、回答するなどの応答を生成します。

例えば、OpenAIのGPTモデルや画像生成AIなどでは、ユーザーが特定のテキストをプロンプトとして入力することで、テキストの内容に基づいた回答や画像を生成します。プロンプトの設計はその結果の質に大きな影響を与えるため、明確で具体的なプロンプトを用意することが重要です。

ChatGPTのサービスを提供している OpenAI は、よりよい結果を出すためのプロンプトの例を、「Prompt examples」のページで紹介しています。

https://platform.openai.com/examples

「Parse unstructured data(非構造化データを解析する)」という項目がありますので、その項目を見てみます。

もとのページは英語ですが、ブラウザの翻訳機能を使って翻訳して確認してみました。

プロンプトの例が載っていますので、実際にプレイグラウンドで開いて確認してみましょう。

こちらの内容もブラウザの翻訳を使用して、日本語で確認してみます。
SYSTEMの「CSV」の箇所を「JSON」にして、Sumitボタンをクリックします。

そうすると、与えた文章の内容を解析して、JSONで、planetが”グークラックス”で、fruitsは配列で、名前や色なども構造化されて、解析されています。

これを工夫すれば、名刺情報の分類ができそうです。SYSTEMの箇所に、JSON項目を指定して、USERの箇所には、GetLiveText関数で読み取ったテキストを入れてみます。

そうすると、抽出した名刺情報を、JSONに構造化してくれています。

あとは、これをAPIへのリクエストにするだけなので、簡単です。

cURLでAIにリクエストを送る

APIリクエストの例を参考に、AIにリクエストを送ります。

認証には、ブログで紹介した OpneAI のAPI Key に置き換えます。

systemのcontentには、


非構造化データが提供されるので、それを JSON 形式に解析することがあなたのタスクです。【JSON項目】氏名/会社名/役職/メールアドレス/会社電話/携帯電話/Fax/郵便番号/住所/ホームページ/その他備考/

を入力し、

userのcontentには、GetLiveTextで読み取ったテキストを入力します。

あとは、これをFileMakerのスクリプトにするだけです。

24行目の変数を設定 [ $data ]の行で、プロンプトを記載しています。

27行目の「URL から挿入」スクリプトステップで、APIにリクエストを送ります。

戻ってきた値は、下記のようなJSONですので、ここから名刺情報を構造化したJSONを取り出します。

抽出したJSON


     {
        "会社名": "帝都データセンター",
        "役職": "東京支社 調査第2課第4グループ",
        "氏名": "家洲 太郎",
        "メールアドレス": "taro@abcdefg.co.jp",
        "会社電話": "TEL03-3797-3921",
        "携帯電話": "090-0000-1234",
        "Fax": "FAX03-3797-3923",
        "郵便番号": "〒107-0062",
        "住所": "東京都港区南青山5-4-35",
        "ホームページ": "",
        "その他備考": ""
    }

あとは、JSONをパースして、フィールド設定するだけです。

まとめ

OpenAI APIを用いることで、FileMakerでの名刺データの取り扱いが格段に効率化されます。この方法により、FileMakerで読み取った名刺のテキストを効率的にデータベースに登録することが可能になりました。画像からの読み取りテキストの精度にもよりますが、手作業によるデータ入力の誤りや時間の浪費を削減できます。

皆さんもAIを活用して、業務の自動化を推進してみてはいかがでしょうか。