Amazonの複数商品注文
スクリーンショットから各商品名、数量、価格を読み取る
Amazonの1つの注文に5つの商品が含まれていることがあります。それぞれに商品名、数量、価格があり、同じページに縦に並び、薄いグレーの線で区切られているだけです。データを見つけること自体は難しくありません。難しいのは、データを正しく整理することです。つまり、商品2の価格が商品1の合計に誤って紐づかないようにし、長い商品名が2行目に折り返された場合に、それを別のエントリとして読み取らないようにすることです。
重要ポイント
- OCRツールはテーブル抽出を約束しますが、商品がエンジンでは検出できないほど薄いグレーの線で区切られているだけの複数商品注文画面に直面すると、その約束は果たされません。
- 2行目に折り返された商品名は、次の商品の価格とまったく同じ画面上の位置に表示されます。座標ベースのリーダーは、この価格を毎回誤った行に割り当ててしまいます。
- セマンティック抽出はグリッド線をまったく探しません。各商品を名前、数量、価格のまとまりとして読み取り、商品が5つでも50でも、正しく属性を割り当てます。
複数商品注文が従来の抽出ツールにとって難しい理由
単一商品の注文スクリーンショットは、商品名1つ、数量1つ、価格1つという単純な読み取り作業です。しかし、複数商品の注文では、ほとんどの従来のOCRツールでは解決できない構造上の問題が発生します。問題はフィールドの数が増えることではなく、商品が密集して配置されると、フィールド間の視覚的な関係が崩れてしまうことです。
グレーの線の問題。 Amazonは注文詳細ページで、商品を細い水平なグレーの線で区切っています。人間の目には、これらの線は明確な区切りです。線の上が商品1、線の下が商品2です。しかし、従来のOCRエンジンにとって、グレーの線は見えない(薄すぎて検出できない)か、意味を持たない単なる視覚要素の一つです。エンジンはテキストの連続ブロックとして認識し、ある商品がどこで終わり、次の商品がどこから始まるのかを理解できません。その結果、商品の境界が消失し、隣接する商品のデータが1つの構造化されていない塊に統合されてしまいます。
テキストの折り返しが読み取り順序を崩す。 Amazonの商品名は長いことがよくあります。「Bissell Pet Stain Eraser Cordless Carpet Cleaner, 2454, Gray」は注文サマリーの1行に収まらず、2行目、場合によっては3行目に折り返されます。この折り返されたテキストは、次の商品の価格と同じ垂直位置に配置されます。従来のOCRは左から右、上から下へと読み取るため、商品1の名前の2行目を取得し、それを商品2の価格と誤って組み合わせてしまうことが容易に起こります。その結果、商品と価格が1行ずつずれた表が生成されてしまいます。
「もう一度注文」ボタンが視覚的な流れを乱す。 Amazonは注文ページの各商品の下に、「もう一度購入」または「もう一度注文」ボタンを配置します。これらのボタンは商品間に視覚的な重みを加え、ページの垂直方向のリズムを変えます。均一な間隔や線の検出に依存する従来の抽出ツールは、これらのボタンを上の商品に属するテキスト、または新しいセクションの始まりと誤解釈する可能性があります。どちらの場合でも、抽出結果は構造的な整合性を失います。
核心的な問題は行の帰属です。 従来のOCRツールはテキストを読み取ります。商品名、その数量、価格が1つの論理的な単位を形成していることを理解しません。視覚的な境界が微妙な場合(細い線、折り返された名前、ボタンなど)、帰属は崩壊します。
各明細行の実際の内容
抽出方法を検討する前に、Amazonの複数商品注文のスクリーンショットに、商品ごとにどのようなフィールドが表示されるかを正確に把握しておくと役立ちます。表示内容は出品者の種類や注文設定によって異なりますが、コアとなるフィールドは一貫しています。
商品名(省略表示)。Amazonには商品タイトルが表示されますが、注文サマリーページではほとんどの場合、2行で省略され、末尾に「...」が付きます。完全な名称は商品ページで確認できますが、スクリーンショットには省略版のみが写ります。抽出の目的においては、通常、この省略された名称で識別は十分です。
数量。「Qty: 1」「Qty: 2」などと表示されます。フォントサイズは商品名よりも小さく、数量ラベルは商品画像の横または下に配置されます。モバイルアプリのスクリーンショットでは、数量が折りたたまれて非表示になり、タップして展開しないと見えない場合があります。
単価と行合計。各商品には個別の単価が表示され、複数数量の商品には行合計(数量×単価)が表示されます。下部の注文サマリーには「商品小計」も表示されますが、これはすべての行合計の合計であり、商品ごとの値とは別です。従来のOCRは、この小計を最後の商品の価格と誤認することがあります。これは空間的な近接性が原因です。
出品者とフルフィルメント情報。商品名の下に、出品者の種類に応じて追加の行が表示される場合があります。
- 出品者(サードパーティ): 商品名の下に「出品者: [出品者名]」と表示され、ページ上で確認できる場合は出品者の評価も表示されます。
- FBA(Amazonフルフィルメント): これらの商品は、通常、注文サマリーに出品者の記載はなく、商品名、数量、価格のみが表示されます。
- Subscribe & Save: Subscribe & Saveに登録されている商品には、割引率(例:「Subscribe & Saveで5%オフ」)と、割引後の価格が通常価格と併せて表示されます。1つの商品に2つの価格値があると、単一の価格フィールドを想定しているツールが混乱する可能性があります。
商品ごとの配送状況。Amazonは異なるフルフィルメントセンターから商品を発送する場合があり、その場合、1つの注文が複数の荷物で届くことがあります。注文画面の各商品には、異なる配送状況が表示される場合があります。商品1は「明日お届け予定」、商品2は「発送済み」、商品3は「準備中」などです。これらのステータスラベルは商品価格の下に表示され、抽出対象にノイズを加えます。
これらの複雑さがない単一商品のシナリオとの簡単な比較については、 基本的なAmazon注文スクリーンショットから注文番号と商品詳細を抽出するガイドをご覧ください。 複数商品のケースでは、分離すべき「商品詳細」ブロックが複数存在するため、異なるアプローチが必要です。
デスクトップ vs モバイル — 同じ注文、異なるスクリーンショット
Amazonの注文ページはデスクトップとモバイルで表示が異なり、スクリーンショットの形式が明細の読み取りに直接影響します。
デスクトップ(Webブラウザ)。 デスクトップブラウザの「注文一覧」ページは、商品が縦に積み重なったリストで表示され、各商品の左側に商品画像、中央に商品詳細、右側に価格が配置されます。灰色の区切り線が端から端まで引かれています。商品名は部分的に表示されますが、折り返されることもあります。「もう一度購入」ボタンは明確に区別できます。このレイアウトは、視覚的な構造が一貫しており情報量が多いため、最も抽出に適しています。
モバイルアプリ。 Amazonのモバイルアプリは異なるアプローチを取っています。注文リストはデフォルトで折りたたまれており、合計金額と配送状況が記載されたサマリーカードが表示され、個々の商品を確認するには各注文をタップする必要があります。注文詳細画面でも、商品名は小さな画面に合わせてより強く切り詰められ、価格は単価なしで行合計のみ表示される場合があり、出品者情報はさらにタップしないと表示されない場合があります。さらに重要な点として、 r/amazonprime の一部のユーザーから、Amazonアプリが特定のデバイスでスクリーンショットを制限しているとの報告があり、ユーザーは別のデバイスで画面を撮影するか、モバイルブラウザでデスクトップサイトを開いてスクリーンショットを撮ることを余儀なくされています。
モバイルブラウザ(デスクトップサイト)。 一般的な回避策は、モバイルブラウザでAmazonのWebサイトを開き、ページのデスクトップ版をリクエストして、そのスクリーンショットを撮ることです。結果は、小さな画面に縮小されたデスクトップレイアウトになります。テキストは小さくなりますが、商品リスト全体が折りたたまれずに表示されます。これは、多くの場合、モバイルでの最良の抽出シナリオです。
これらの形式間のレイアウトの違いは、テンプレートベースの抽出ツールでは各形式に個別のテンプレートが必要になることを意味します。さらに、AmazonがUIを更新するたびに(これは定期的に行われており、 出品者フォーラムの苦情 で確認できます)、さらに多くのテンプレートが必要になります。テンプレート不要のセマンティック抽出は、この問題を完全に回避します。
先頭、中間、末尾 — 系列位置の落とし穴
リスト内のアイテムの位置によって、先頭、中間、末尾の各行で異なる抽出リスクが生じます。
先頭のアイテムは、注文番号、注文日、配送先住所といった注文ヘッダーのすぐ下に位置します。上から下へ読み取る従来のOCRツールは、注文番号を商品名と解釈し、配送先住所の行を商品説明と解釈する可能性があります。先頭アイテムのデータはこのヘッダーコンテキストから分離する必要があり、ヘッダー情報がどの商品行にも属さないことを理解する必要があります。
中間のアイテムは、灰色の線だけを境界として隣接アイテムに挟まれています。系列位置効果が最も顕著になるのはここです。あるアイテムの詳細の終わりと次のアイテムの始まりが視覚的に近接しています。商品名が複数行にわたる場合、アイテム間での属性誤認の可能性が最も高くなります。3番目のアイテムの価格が2番目のアイテムの説明の続きとして読み取られたり、4番目のアイテムの数量が3番目のアイテムの数量を上書きしたりします。このような位置のずれがリスト全体に連鎖的に影響します。
末尾のアイテムは、注文サマリーセクション(「商品小計」「配送料&手数料」「税抜き合計」「推定税額」、そして最終的な「注文合計」)に近接するという問題に直面します。末尾のアイテムの価格はこのブロックのすぐ上にあり、サマリーの金額が追加のアイテムデータと誤認される可能性があります。特に「商品小計」は、末尾のアイテムの価格に近い大きな金額であるため、古典的なOCRの誤読パターンです。
これらの位置的なリスクは理論上のものではありません。2025年のドキュメント抽出エラーに関する業界分析では、データ入力ミスの60%以上がヘッダーフィールドではなく明細行レベルで発生しています。複数アイテムの注文では、先頭と末尾を除くすべての明細行が両側を類似データに囲まれているため、このリスクが集中します。
セマンティック抽出が複数商品注文を異なる方法で読み取る仕組み
明細抽出の問題に対する標準的な対応は、より優れた行検出、つまり、より鮮明な線の検出、より良い列の位置合わせ、より多くのトレーニングデータを構築することです。ImageToTable.aiは、視覚的な境界線の検出にまったく依存しない、根本的に異なるアプローチを採用しています。
カスタム列抽出は、各フィールドがどこにあるかではなく、何を意味するかを理解することで機能します。「商品名」「数量」「単価」「行合計」など、必要な列を定義するだけで、AIがスクリーンショット上のどこからでも、セマンティックな理解に基づいて対応する値を見つけ出します。列の定義は位置ではなく意味に基づいているため、デスクトップ、モバイルブラウザ、折りたたまれたモバイルアプリビューのいずれで撮影されたスクリーンショットでも、まったく同じように機能します。
複数商品注文は、このアプローチから直接恩恵を受けます。AIは、商品1がどこで終わり、商品2がどこから始まるかを知るために、灰色の区切り線を検出する必要はありません。各商品エントリ全体をセマンティック単位(名前、数量、価格で構成されるまとまり)として識別し、それらを個別の行として抽出します。長い商品名の折り返された2行目も、AIがそれを同じセマンティック単位の一部として理解するため、正しい商品に属したままになります。視覚的に分離されたテキストブロックとして扱われることはありません。
すでに単一商品のAmazon注文抽出に慣れている場合、複数商品注文でもワークフローは同じで、出力される行が増えるだけです。同じ 追跡および配送情報 を商品データと一緒に抽出して、購入詳細と物流ステータスの両方を1つのテーブルで取得することもできます。
複数注文のバッチ処理。セマンティック抽出の実用的な利点の1つは、複数のスクリーンショットに拡張できることです。例えば、1ヶ月分のAmazon Business購入による10件の複数商品Amazon注文スクリーンショットがある場合、それらをすべて一度にアップロードし、列を一度定義するだけで、すべての注文のすべての商品が含まれた1つの統合テーブルを取得できます。各行には元の注文の識別子が含まれているため、商品を元の注文にさかのぼって追跡できます。これにより、手動でコピー&ペーストする1時間以上の作業が、数分のセットアップに変わります。
複数商品注文のスクリーンショットの視覚的な複雑さが、クリーンな抽出を妨げない理由についての詳細な議論は、関連記事 なぜ複雑なAmazon注文スクリーンショットも見た目ほど厄介ではないのか をご覧ください。
よくある質問
モバイルアプリのスクリーンショットで、折りたたまれた明細項目を抽出できますか?
はい、ただしスクリーンショットに明細の詳細が表示されている場合に限ります。各注文をタップして開かずに注文一覧を撮影した場合、個別の商品は表示されない可能性があります。ベストプラクティスは、注文詳細画面(全商品リストが表示される画面)を開いてからスクリーンショットを撮ることです。Amazonアプリでスクリーンショットがブロックされる場合は、モバイルブラウザでサイトのデスクトップ版を表示し、その画面を撮影してください。
スクリーンショットで商品名が「...」で省略されている場合はどうなりますか?
抽出処理は、スクリーンショットから読み取れる情報を取得します。省略された名前(通常は最初の60~80文字)でも、商品を特定するには十分な場合がほとんどです。完全な商品タイトルが必要な場合は、注文IDや商品説明をAmazonアカウントと照合してください。抽出結果には、スクリーンショットに表示されているテキストが、省略されているかどうかに関わらず含まれます。
Subscribe & Saveの割引情報は正しく抽出されますか?
はい。Subscribe & Saveの割引がある商品の場合、スクリーンショットには割引価格と通常価格の両方、および割引率が表示されます。「単価」列を定義して実際に支払った価格を取得したり、「通常価格」と「割引額」の列を別々に定義して割引額を追跡することも可能です。抽出処理は、これら2つの価格を異なるセマンティックラベルを持つ価格値として認識し、別々のフィールドとして扱います。
複数の商品を含む注文のスクリーンショットを、一度にまとめて処理できますか?
はい。本ツールはバッチファースト処理に対応しており、Amazonの注文スクリーンショット(単一商品・複数商品の両方)を何枚でもアップロードして、まとめて処理できます。出力は1つのスプレッドシートで、各行が1つの注文に含まれる1つの商品を表し、定義した列(商品名、数量、価格、および注文番号や配送状況などの追加フィールド)が含まれます。これにより、スクリーンショットの山が構造化された購入記録に変換されます。
注文に異なる出品者(FBAと第三者出品者)の商品が混在している場合はどうなりますか?
出品者の種類に関わらず、抽出処理は同じように機能します。FBAの商品は注文ページに出品者の表示がなく、第三者出品者の商品には「[出品者名] 出品」と表示されます。記録管理のためにこの情報が必要な場合は、「出品者」列を追加して取得できます。AIは、出品者情報の表示方法に関わらず、各商品を独立した行として扱います。
抽出時の数量の扱いについて — 1行が1商品ですか、それとも1単位ですか?
デフォルトでは、ツールは明細行ごとに1行を出力します。注文に同じ商品が「数量: 3」と含まれている場合、3行に分割されるのではなく、数量=3の1行として出力されます。在庫管理や原価配分のために、各単位を個別の行として必要な場合は、計算列を定義するか、エクスポート後に数量を分割してください。抽出処理は、注文ページの表示ロジックをそのまま保持します。