WhatsApp Businessチャットから住所と注文番号を抽出する

WhatsApp Businessチャットは、世界中の何百万もの中小企業が毎日注文を受け付ける方法です。顧客から「3ユニット必要、123 MG Road、バンガロールに配達して」とメッセージが届き、あなたはその会話をスクリーンショットして記録として残します。住所、注文番号、数量はすべてチャットの吹き出しの中にあります。しかし、それらはそこに閉じ込められてもいます——フォームでも、領収書でも、いかなる種類の文書でもない、メッセージスレッド内の自由形式のテキストとして存在しているのです。

手入力をやめよう — AIに読み取らせるだけ
画像やPDFをアップロード — 10秒で構造化データに
今すぐ試す
登録不要 · カード不要 · 10秒で結果
スマートフォンを手に持ち、メッセージアプリを表示している様子。WhatsApp Businessチャットのスクリーンショットに顧客の注文住所が含まれていることを示しています

重要なポイント

  1. WhatsAppの吹き出しはフォームのように解析できないと誰もが思っている——配達住所は単なる文章でありフィールドではなく、注文番号は同じメッセージ内のどこかに浮かんでいる。
  2. OCRはすべての文字を読み取るが、何も理解しない——「Rua Augusta, 1500」と「Order #4」を同じ未分化の文字列に平坦化する。なぜなら、どのテキストが何であるかを示すフォームレイアウトがないからだ。
  3. 意味による抽出は意味で読み取る——国ごとのテンプレートなしで、1回のバッチ処理で4か国の形式の住所と注文番号を分離する。

住所と注文番号は実際どこにあるのか

WhatsApp Businessのチャットスレッドは、メッセージバブルの連続です。お客様のメッセージは片側(Androidでは緑、iOSでは青)に、ビジネス側の返信は反対側に表示されます。各バブルには、お客様が入力した内容(プレーンテキスト、絵文字、時には商品の写真)がそのまま入っています。「住所フィールド」も「注文番号フィールド」もありません。あるのは、次のような文だけです。

「こんにちは、TシャツLサイズ2枚とジーンズ32サイズ1本をお願いします。配達先は45, 3rd Cross, Indiranagar, Bangalore 560038です。注文番号は#4です。」

住所、商品、数量、注文番号はすべて同じバブルの中にあります。同じ会話の中で複数のメッセージにまたがっていることもあります。住所の形式自体も国や地域によってまったく異なります。

インド

「45, 3rd Cross, Indiranagar, Bangalore 560038, Karnataka」—6桁のPINコード、地域名/横断道路システムが一般的。地方では郵便番号の認識が普及していない場合があります。

ブラジル

「Rua Augusta, 1500, apto 42, Consolação, São Paulo - SP, 01304-001」—CEP(8桁の郵便番号)、bairro(地区)は必須の情報、complemento(アパート/ブロック)は配達に重要です。

ナイジェリア

「12 Adeola Odeku Street, Victoria Island, Lagos」—6桁の郵便番号。多くの農村部では正式な通り名ではなく、ランドマークを使った道案内が使われます。

インドネシア

「Jl. Merdeka No. 10, RT 03 RW 05, Kelurahan Gambir, Jakarta Pusat 10110」—通りにはJl.の接頭辞、RT/RW地区システム、5桁の郵便番号。

問題は、住所に専用のフィールドがないことだけではありません。国ごとに住所の書き方がまったく異なり、WhatsAppはそれらすべてを同じように扱います。つまり、チャットバブルに入力された生のテキストとしてです。標準もテンプレートも、画面上の予測可能な位置もありません。

従来のOCRではチャットデータを抽出できない理由

WhatsApp Businessのチャットのスクリーンショットを撮って、従来のOCRエンジンにかけてみてください。出力されるのは、画面上から下へ、左から右へと読み順に並んだテキストの塊です。画面上部のタイムスタンプ、ビジネスプロフィール名、顧客の電話番号、メッセージバブルの内容、あなたの返信、次のメッセージ——すべてが混ざり合います。OCRは文字の位置を読み取るだけで、意味を理解しないからです。

従来のOCRツールは、「Rua Augusta, 1500」が住所で「apto 42」が部屋番号であることを認識しません。「Order #4」が注文番号であることもわかりません。すべてを区別のない1つの文字列として読み取り、後はあなた自身が情報を拾い出すしかありません。顧客が3つのメッセージを続けて送信した場合——最初に商品をリストし、次に住所、そして注文番号——出力は連結された混乱状態になり、手動で解析する必要があります。

これはOCRの解像度や精度の問題ではありません。OCRの仕組み(文字に見える形を見つけること)と、ユーザーが実際に必要としていること(どのテキストが何を意味するのかを理解すること)の間に、根本的なミスマッチがあるのです。チャットのスクリーンショットには、フォームフィールドやラベル、構造化されたレイアウトはありません。そこにあるのは会話であり、会話には理解が必要です。

セマンティック抽出——意味でチャットを読み解く

ImageToTable.aiは異なるアプローチを採用しています。画像内のテキストの座標をスキャンする代わりに、人間と同じようにスクリーンショットを見ます。つまり、内容を読み、各情報が何を意味するのかを理解し、あなたが指定したものを正確に抽出します。

出力する列を定義します——住所注文番号。AIはスクリーンショットを読み取り、位置ではなく意味的な役割に基づいて各列に一致するテキストを見つけます。テキストを配送先として機能させる要素——通り名、市区町村名、郵便番号、地域識別子——を認識することで住所を特定します。たとえそれらの要素が商品名や数量と一緒に文中に現れても、それが可能です。

これこそがカスタム列抽出パラダイムの仕組みです。あなたが欲しいものを定義すれば、AIが意味に基づいてそれを見つけます。上記で示したあらゆる住所形式のバリエーションで機能します。なぜなら、「ブラジルの住所」がどのようなものかを事前に知っておく必要がないからです。AIは住所という概念——通り、番地、市区町村、郵便番号——を理解し、チャットテキスト内のどこに現れてもそれらを識別します。

テンプレートは不要。事前にアップロードするサンプル文書も不要。国ごとの住所形式のトレーニングも不要。スクリーンショットをアップロードし、列名を入力するだけで、AIがチャットを読み取ります。

JPG/PNG/PDF AI抽出

ファイルは安全に処理され、保存されることはありません。

出力結果 — 注文ごとに1行

WhatsApp Businessのチャットスクリーンショットをまとめてアップロードします。たとえば、1日に受け取った10件の注文分です。各スクリーンショットは、同じ列定義で同じ抽出処理が実行されます。出力は1つのスプレッドシートで、各行が1件の注文を表します。

スクリーンショット住所注文番号
chat_01.png45, 3rd Cross, Indiranagar, Bangalore 560038#4
chat_02.pngRua Augusta, 1500, apto 42, Consolação, São Paulo - SP#102
chat_03.png12 Adeola Odeku Street, Victoria Island, LagosORD-23

このテーブルは、住所形式がまったく異なる国々からの注文を、1つの統一された構造にまとめます。さらに列を追加することもできます — 顧客名電話番号注文商品数量 — 列リストに追加するだけでOKです。AIが同じスクリーンショットを再度読み取り、今度はチャットヘッダーやメッセージ内容から顧客名を見つけ、テキストから電話番号を抽出し、お客様がリクエストした商品をリストアップします。

1つのバッチに、インド、ブラジル、ナイジェリア、インドネシアの顧客からのスクリーンショットを含めることができます — まとめて処理され、まとめて抽出され、1つのスプレッドシートで納品されます。国ごとの設定も、形式固有のテンプレートも必要ありません。

ここが弱点 — 正直な限界

チャットのスクリーンショットは、このツールが扱う中で最も構造化されていない入力です。意味抽出はうまく機能しますが、魔法ではありません。以下が実際の限界です。

住所が複数のメッセージに分割されている場合。 お客様が番地を1つ目のメッセージで、市区町村を次のメッセージで、PINコードを3つ目のメッセージで送信し、その間にビジネスからの返信が挟まることがあります。1枚のスクリーンショットではそれらすべてを捉えきれない可能性があります。解決策は、会話スレッド全体をスクリーンショット(可能であればスクロールキャプチャ)して、AIが完全なコンテキストを持てるようにすることです。

テキストではなく音声メッセージの場合。 お客様が住所を音声メモで送信した場合、スクリーンショットから抽出できるテキストはありません。音声文字起こしは、スクリーンショット抽出には含まれない別の機能です。お客様に住所をテキストで入力してもらうか、音声メモを別途文字起こしする必要があります。

曖昧な住所やランドマークベースの住所の場合。 「いつもの場所に送って」や「スルレレの大きなモスクの近く」といった表現には、抽出可能な住所の構成要素が含まれていません。AIはテキスト内に正式な住所が存在しないことを正しく識別し、捏造する代わりにその旨をフラグ付けします。これらの注文では、配達詳細を確認するためのフォローアップメッセージが依然として必要です。

1枚のスクリーンショットに複数の住所がある場合。 お客様が同じ注文で2つの異なる場所への配達を依頼する場合 — 「半分はオフィスに、半分は自宅に送って」 — 曖昧さが生じます。抽出では両方の住所が返されますが、それらを注文構造にどのようにマッピングするかはお客様が判断する必要があります。配送ラベル列(「オフィス」/「自宅」)を追加すると、区別に役立ちます。

絵文字とステッカー。 AIは絵文字をコンテキストの手がかりとして読むことができますが(テキストの横にある📍ピンは「これは場所に関連する」ことを示します)、住所テキストを覆うステッカー画像は盲点となります。ステッカーの背後にあるテキストはスクリーンショットでは見えません。

これらはチャット抽出を避ける理由ではありません。これらは、チャットのスクリーンショットで動作するあらゆるツールが直面する現実的な限界です。これらを理解することで、スクリーンショットのワークフローをそれに合わせて設計できます — 会話のスクロール全体をキャプチャし、重要な注文ではお客様に住所をテキストで入力してもらい、曖昧な指示にはフォローアップ用のフラグを付けます。

注文ワークフローへの影響

手動でのWhatsApp注文処理における本当のコストは、住所をスプレッドシートに打ち込む作業そのものではありません。それは積み重なりです。1日に10件の注文があり、それぞれから住所と注文番号を書き写す手間、月曜朝のバックログ、どのメッセージを処理したか分からなくなって同じ注文を二重に処理してしまうミス、お客様のメッセージにある似たような通り名を読み違えて誤った場所に配達してしまう事故——こうしたことの積み重ねが本当のコストなのです。

Redditである小さな飲食店の経営者は、こう簡潔に語っています。「WhatsAppの注文を手動でスプレッドシートにコピーするのに、あまりにも時間を費やしすぎていた」。別の水販売事業を営む方は、すべての顧客がWhatsAppで注文し、すべてを手動で処理している——顧客が増えるごとにボトルネックが大きくなると指摘しています。

手動のコピーペーストからスクリーンショットベースの抽出に移行すると、情報がシステムに入力される時点でワークフローが変わります。スクリーンショットはすでに記録です——お客様のメッセージを保存するために撮影します。そのスクリーンショットを読み取って詳細を打ち直す代わりに、直接アップロードします。住所と注文番号は、キーボードを経由せずにスプレッドシートに直接入力されます。以前は1件あたり1分かかっていた注文確認も、スクリーンショットを撮るのと同じタイミングで処理できるようになります。

スプレッドシートもより便利になります。住所が構造化された列に入力されれば、市区町村で並べ替えてルートごとに配達をグループ化したり、注文番号の範囲でフィルタリングしてバッチを確認したり、サブセットをエクスポートして配送チームに送信したりできます。チャットスレッドに散らばっていた注文番号が、数秒でスキャンできる1つのリストになります。

よくある質問

ImageToTable.aiはWhatsApp Businessのチャットスクリーンショットから住所を抽出できますか?

はい。列名を「住所」(または「配送先住所」)に設定し、チャットのスクリーンショットをアップロードしてください。AIが顧客のメッセージ内容を読み取り、配送先住所として機能するテキスト(番地、市区町村、郵便番号、その他の場所の詳細)を抽出します。インド、ブラジル、ナイジェリア、インドネシアなど、さまざまな住所形式に対応しています。これは、事前定義されたテンプレートではなく、住所の構成要素をその意味に基づいて識別するためです。

住所と注文番号が別々のチャットメッセージにある場合はどうなりますか?

ツールはスクリーンショット全体を読み取ります。顧客の住所が1つの吹き出しにあり、注文番号があなたの返信(「ありがとうございます。#4で確定しました」)に表示されている場合、それらが同じスクリーンショット内に収まっていれば、AIは両方を特定できます。情報が複数の画面にまたがる長い会話スレッドの場合は、スクロールキャプチャを撮るか、複数のスクリーンショットを同じバッチに含めてください。AIは各スクリーンショットを個別に処理し、後で結果をマージできます。

英語以外の言語の住所でも機能しますか?

はい。AIは言語に関係なく、スクリーンショットに表示されているテキストをそのまま読み取ります。ポルトガル語で書かれたブラジルの住所(「Rua Augusta, 1500, Consolação」)や、ヒンディー語で書かれたインドの住所でも同様に機能します。AIは住所を構成する要素を識別します。使用する列名(「住所」)は英語ですが、抽出された値はチャットに書かれている通りに出力され、元の言語と書式が保持されます。

顧客名や電話番号、注文商品など、他の項目も抽出できますか?

はい。必要な列名(「顧客名」「電話番号」「商品」「数量」「合計金額」など)を追加すれば、AIがスクリーンショットを読み取って該当情報を抽出します。顧客名はWhatsApp Businessのプロフィールヘッダーかメッセージ本文から取得します。電話番号は数字のパターンで認識します。商品と数量はチャットテキスト内の注文説明から抽出します。住所や注文番号に限らず、列リストで指定した情報が出力されます。

お客様が「いつもの場所で」のような曖昧な住所しか送ってこない場合はどうなりますか?

AIは見つかった情報をそのまま返します。テキストに番地や市区町村、郵便番号などの識別可能な住所要素が含まれていない場合、抽出値は空欄になるかフラグが付きます。ツールがデータを捏造することはありません。曖昧な配送指示の場合は、スクリーンショットで注文を確認し、配達前に顧客に完全な住所を確認するのがベストプラクティスです。抽出機能は、ほとんどのケースで顧客が明確な住所を提供している注文の入力を省くためのものです。

住所と注文番号はすでにスクリーンショットの中にあります——WhatsAppの注文会話をキャプチャするたびに。問題は、それらを再入力するか、AIに読み取らせるかです。一方の方法はコピー&ペーストのサイクルに留まります。もう一方は、スクリーンショット自体を注文ワークフローの入力に変えます。支払いスクリーンショットからデータを抽出するのと同じ原理がここでも当てはまります:インターフェースが文書でなくてもデータはそこにある——位置ではなく意味で読み取るツールが必要なだけです。

自分のスクリーンショットで試す

サインアップ不要 • ファイルは安全に処理され、保存されません

📮 contact email: [email protected]