見出し画像

ノーコードで、名刺管理アプリを軽い気持ちで作ってしまった。反省はしていない。〜LINEとGPT-3で遊んでみた〜

こんにちは、ふじわらです。

流行り病の影響で、リアル開催の展示会や、対面の商談が減っていますが、何となく、オフラインのイベントも増えてきた感覚があります。

一瞬、このまま消えてしまうかと思った名刺文化も、なかなか根強いものがあるなと感じる、今日この頃。
突然ですが…

名刺管理ってめっちゃめんどくないですか。

僕だけでしょうか。もうすごい苦手で。
名刺ファイルとか絶対入れられないし。
かといって、名刺管理アプリを個人で契約するかと言われると、値段も気になる。

そんな、僕と、僕と同じような人の期待にお応えして。

ノーコードで、名刺管理アプリを作ってみました。
これで、明日から名刺管理とおさらばだ!

今日使ったもの

  • make:ツール同士の連携を行います

  • LINE公式アカウント:写真データを受けたり、文字入力を受けたり

  • GoogleCloudVision:写真データから、テキストを抽出します

  • GPT-3(OpenAI):抽出したテキストを、項目ごとに切り分けます

  • Google Sheets(スプレッドシートです):名刺データを格納します

どんな内容なの?

ざっくり、アプリの内容を説明すると

  1. LINEへ、写真でとった名刺を送る

  2. 項目ごと(会社名、肩書き、電話番号…など)に、スプレッドシートへ格納

  3. LINEで会社名を入力(一部分でもOK)すると、そのデータが返ってくる

こちらが、シナリオの全体像です。

下記のような、名刺画像をLINEで送ると

こんな感じで、スプレッドシートにデータが溜まっていきます。

具体的に、データの流れの順番で解説していきます。

LINEで受け取った名刺データをスプレッドシートへ格納

※LINE公式アカウントの開設方法に関しては割愛します。

1.LINEから、送られてきた画像データを受け取る

Watch Eventsモジュールを使って、LINEから何かが送られてきたらトリガーが発火します。
細かい説明は省きますが、「TypeがImageの場合に、上のルートに進む」ように指定してあります。

2.受け取った画像データをダウンロード

Watch Eventsで受け取ったデータの中には、画像データはありません。
なので、Message IDをもとに、画像データをダウンロードする必要があります。

3.ダウンロードした画像から、テキストを抽出

GoogleCloudVisionを使って、画像データから、テキストを抽出していきます。設定内容は、下記の通りです。
このタイミングで抽出できたテキストは、こんな感じです。

最後の「ひ」はよく分からんけど、その他は完璧や…!

このままだと、どのデータが会社名なのか、メールアドレスなのかが分からないので、解析をGPT-3に任せてしまおうと思います。

4.解析したデータを項目ごとに整理

GPT-3で設定した内容は下記の通りです。

上記データからの対象になっているのは、先ほどGoogleCloudVisionで取得したテキストです。
この指示を与えてあげると…

GPT-3すげえ!

項目ごとに、データを分類してくれました!
こいつぁ使えるで。(他にも色々な企みが出てきたので、それはまた今度)

5.解析したデータを分割する

GPT-3で生成したデータを、改行ごとに切り分けます。
この作業は、後ほどGoogleSheetに書き込むための下ごしらえです。

この作業を行うと、データがさらに分割され、個別の情報として取り扱うことができます!

地味な作業ですが、すごい重要です。

6.Googleシートに書き込む

5で取得したデータを、GoogleSheetに書き込んでいきます。
ちょっと問題が発生したのはここで、5で取得したデータは
肩書き:代表取締役社長
のように、項目名+内容の状態で吐き出されています。

Google Sheetに書き込む時は「代表取締役社長」という情報だけ欲しいので、各項目ごとに「何文字目から何文字目までを抽出」という指示を与えています。下記参照。

もっといいやり方はありそう。

晴れて、Google Sheetへ格納ができるわけです。(やった)

7.LINEに通知を送る

登録内容をLINEに通知します。
Google Sheetに格納したデータを、LINEに投げつけただけです。

今更だけど、会社名のサンプルもっと考えればよかった。

8.登録されている名刺情報を検索する

会社名をメッセージで送ると、それに付随した情報が返信されてくるようにしていきます。

上記のような設定をした上で、LINEで「こんなのないよ」とメッセージを送ると、Google Sheetの中から「こんなのないよ」を含む行を検索してくるイメージです。

9.検索した情報をLINEへ返す

8で検索した内容をLINEに通知します。
下記のように、makeで設定をしておくと…

上記のように、検索結果が返ってきます。
電話番号をわざわざ入力しなくても、ここから電話をかけられていいっすね。

今日の最注目ポイントは…

GPT-3で、羅列されたテキストを項目ごとに整理することです!

シャワーを浴びてるときに「もしかしてこれできるんじゃね」と思いついたのですが、実際にデータ整理してくれた時は嬉しかったです。深夜テンションで喜びました。

もともと、文章の要約とかが得意ということは知っていたので、処理する途中で、文章のカテゴライズをしているのではないかと思い、今回の検証に行きつきました。

メールが長い人の文章をそのままGPT-3にかけて、要約すればいい感じになる気がしますね!

こいつぁ、いいオモチャを見つけた。

名刺管理アプリとしては、全然不十分(更新とか、削除とか、複数ヒットした場合の処理とか)なのですが、検証したいことはできたのでヨシとします。

文章を解析して、自分の思い通りに整理してくれるのであれば、活躍の幅が広がりそうな気がします。
すでに、試してみたいことがあるので、実装できたらまた投稿します。

次の投稿も気になるよ〜という方は、ぜひフォローお願いいたします!

【GPT-3がらみの、他の記事】


この記事が気に入ったらサポートをしてみませんか?