![見出し画像](https://assets.st-note.com/production/uploads/images/98760639/rectangle_large_type_2_88d17075159da92ad950656a7c42f630.jpeg?width=1200)
ノーコードで、名刺管理アプリを軽い気持ちで作ってしまった。反省はしていない。〜LINEとGPT-3で遊んでみた〜
こんにちは、ふじわらです。
流行り病の影響で、リアル開催の展示会や、対面の商談が減っていますが、何となく、オフラインのイベントも増えてきた感覚があります。
一瞬、このまま消えてしまうかと思った名刺文化も、なかなか根強いものがあるなと感じる、今日この頃。
突然ですが…
名刺管理ってめっちゃめんどくないですか。
僕だけでしょうか。もうすごい苦手で。
名刺ファイルとか絶対入れられないし。
かといって、名刺管理アプリを個人で契約するかと言われると、値段も気になる。
そんな、僕と、僕と同じような人の期待にお応えして。
ノーコードで、名刺管理アプリを作ってみました。
これで、明日から名刺管理とおさらばだ!
今日使ったもの
make:ツール同士の連携を行います
LINE公式アカウント:写真データを受けたり、文字入力を受けたり
GoogleCloudVision:写真データから、テキストを抽出します
GPT-3(OpenAI):抽出したテキストを、項目ごとに切り分けます
Google Sheets(スプレッドシートです):名刺データを格納します
どんな内容なの?
ざっくり、アプリの内容を説明すると
LINEへ、写真でとった名刺を送る
項目ごと(会社名、肩書き、電話番号…など)に、スプレッドシートへ格納
LINEで会社名を入力(一部分でもOK)すると、そのデータが返ってくる
こちらが、シナリオの全体像です。
![](https://assets.st-note.com/img/1677199409263-cYPAFeobzq.png?width=1200)
下記のような、名刺画像をLINEで送ると
![](https://assets.st-note.com/img/1677198505627-GcydZtmS2E.png)
こんな感じで、スプレッドシートにデータが溜まっていきます。
![](https://assets.st-note.com/img/1677199099379-z5KPUYQwhR.png?width=1200)
具体的に、データの流れの順番で解説していきます。
LINEで受け取った名刺データをスプレッドシートへ格納
![](https://assets.st-note.com/img/1677199603501-2GK1V1tBgW.png?width=1200)
※LINE公式アカウントの開設方法に関しては割愛します。
1.LINEから、送られてきた画像データを受け取る
Watch Eventsモジュールを使って、LINEから何かが送られてきたらトリガーが発火します。
細かい説明は省きますが、「TypeがImageの場合に、上のルートに進む」ように指定してあります。
2.受け取った画像データをダウンロード
Watch Eventsで受け取ったデータの中には、画像データはありません。
なので、Message IDをもとに、画像データをダウンロードする必要があります。
![](https://assets.st-note.com/img/1677198200780-8u0XVW2cxM.png?width=1200)
3.ダウンロードした画像から、テキストを抽出
GoogleCloudVisionを使って、画像データから、テキストを抽出していきます。設定内容は、下記の通りです。
このタイミングで抽出できたテキストは、こんな感じです。
![](https://assets.st-note.com/img/1677199215538-lD9e5GpMp3.png?width=1200)
このままだと、どのデータが会社名なのか、メールアドレスなのかが分からないので、解析をGPT-3に任せてしまおうと思います。
4.解析したデータを項目ごとに整理
GPT-3で設定した内容は下記の通りです。
![](https://assets.st-note.com/img/1677199696714-EGgZdMYm3j.png?width=1200)
上記データからの対象になっているのは、先ほどGoogleCloudVisionで取得したテキストです。
この指示を与えてあげると…
![](https://assets.st-note.com/img/1677199795323-StYQIUBes5.png?width=1200)
項目ごとに、データを分類してくれました!
こいつぁ使えるで。(他にも色々な企みが出てきたので、それはまた今度)
5.解析したデータを分割する
GPT-3で生成したデータを、改行ごとに切り分けます。
この作業は、後ほどGoogleSheetに書き込むための下ごしらえです。
![](https://assets.st-note.com/img/1677199965585-m817bk0Hcq.png?width=1200)
この作業を行うと、データがさらに分割され、個別の情報として取り扱うことができます!
![](https://assets.st-note.com/img/1677200050243-zDLsfTy0uF.png?width=1200)
6.Googleシートに書き込む
5で取得したデータを、GoogleSheetに書き込んでいきます。
ちょっと問題が発生したのはここで、5で取得したデータは
肩書き:代表取締役社長
のように、項目名+内容の状態で吐き出されています。
Google Sheetに書き込む時は「代表取締役社長」という情報だけ欲しいので、各項目ごとに「何文字目から何文字目までを抽出」という指示を与えています。下記参照。
![](https://assets.st-note.com/img/1677212346903-mgA8qtitU3.png?width=1200)
晴れて、Google Sheetへ格納ができるわけです。(やった)
![](https://assets.st-note.com/img/1677212532245-YivIAIHKs3.png?width=1200)
7.LINEに通知を送る
登録内容をLINEに通知します。
Google Sheetに格納したデータを、LINEに投げつけただけです。
![](https://assets.st-note.com/img/1677212473267-YCY35hvwWR.png?width=1200)
8.登録されている名刺情報を検索する
会社名をメッセージで送ると、それに付随した情報が返信されてくるようにしていきます。
![](https://assets.st-note.com/img/1677212760056-EV8kbrNQti.png?width=1200)
上記のような設定をした上で、LINEで「こんなのないよ」とメッセージを送ると、Google Sheetの中から「こんなのないよ」を含む行を検索してくるイメージです。
![](https://assets.st-note.com/img/1677212905473-FQQe0oeRpw.png?width=1200)
9.検索した情報をLINEへ返す
8で検索した内容をLINEに通知します。
下記のように、makeで設定をしておくと…
![](https://assets.st-note.com/img/1677212979949-XZMQFrXDJZ.png?width=1200)
![](https://assets.st-note.com/img/1677213096057-aljBL79G9S.png)
上記のように、検索結果が返ってきます。
電話番号をわざわざ入力しなくても、ここから電話をかけられていいっすね。
今日の最注目ポイントは…
GPT-3で、羅列されたテキストを項目ごとに整理することです!
![](https://assets.st-note.com/img/1677213224316-GSUQ1TBaJJ.png?width=1200)
もともと、文章の要約とかが得意ということは知っていたので、処理する途中で、文章のカテゴライズをしているのではないかと思い、今回の検証に行きつきました。
メールが長い人の文章をそのままGPT-3にかけて、要約すればいい感じになる気がしますね!
こいつぁ、いいオモチャを見つけた。
名刺管理アプリとしては、全然不十分(更新とか、削除とか、複数ヒットした場合の処理とか)なのですが、検証したいことはできたのでヨシとします。
文章を解析して、自分の思い通りに整理してくれるのであれば、活躍の幅が広がりそうな気がします。
すでに、試してみたいことがあるので、実装できたらまた投稿します。
次の投稿も気になるよ〜という方は、ぜひフォローお願いいたします!
【GPT-3がらみの、他の記事】
この記事が気に入ったらサポートをしてみませんか?