コモン クロールとは? データフォーマット、インデックス、および利用法

コモン クロールとは何か?

スクレイプレス ユニバーサル スクレイピング API は、研究やデータパイプラインでアーカイブされたウェブデータセットを補完できる現在の公開ウェブページを取得します。

要点

  • コモン クロールは、ウェブクロールデータのオープンリポジトリです。 非営利のコモン クロール財団は、研究者や開発者がウェブスケールのクロールを構築することなくアクセスできる大規模なキャプチャを公開しています。
  • コーパスには、いくつかの表現が含まれています。 WARCは生のクロール記録を保持し、WATは派生メタデータを含み、WETは抽出されたプレーンテキストを含みます。
  • 大きなダウンロードの前にインデックスが必要です。 CDXJおよび列指向URLインデックスは、ユーザーが記録を特定し、アーカイブファイルを読む前に範囲を推定するのに役立ちます。
  • クロールはサンプルであり、ウェブの完全なコピーではありません。 発見ポリシー、ロボットルール、クロールのタイミング、失敗、重複、言語識別が、何が表示されるかに影響します。
  • オープンアクセスは、下流の義務を取り除くものではありません。 ユーザーは引き続きプライバシー、著作権、機密コンテンツ、計画された使用に対する適合性を評価する必要があります。

コモン クロールの定義

コモン クロールは、公共にアクセス可能なウェブページをクロールし、その結果のアーカイブと派生データセットを公開する非営利プロジェクトです。 コモン クロール財団の概要 は、組織、収集の歴史、提供するフォーマットを説明します。コーパスは、ウェブ研究、言語分析、検索実験、アーカイブ研究、機械学習データパイプラインで使用されます。

このプロジェクトは、昂貴な障壁の1つを減らします:幅広いウェブサンプルの収集。ユーザーはインデックスを照会し、記録を選択し、オリジナルのクロール艦隊を運用することなくアーカイブレスポンスを処理できます。コモン クロールはそれらの記録をタスク-readyデータセットに変換しません。クリー二ング、重複排除、言語識別、品質フィルタリング、安全性のレビュー、法的分析は、下流の作業として残ります。

各命名されたクロールは、独自のカバレッジを持つ時間制限付きのキャプチャです。ページが欠落している理由は、クロールがそれを発見しなかった、ロボットのルールがアクセスをブロックした、ホストが利用できなかった、リクエストが失敗した、URLが優先順位を下げた、またはコンテンツがクロール後に表示されたためです。存在にも限界があります:アーカイブされたレスポンスはリダイレクト、エラーページ、コンセント画面、または期待されるコンテンツではなく部分的な描画である場合があります。

したがって、コモン クロールは収集インフラと歴史的コーパスとして最もよく理解されます。生データと派生データ、インデックスを提供します。それは特定のモデルや分析に対する正確性、代表性、権利、適合性を保証しません。これらの質問は、データを選択し変換するユーザーの責任です。

コモン クロールデータの整理方法

クロールプロセスは、URLを発見し、レスポンスを取得し、アーカイブファイルに記録を書き込みます。コモン クロールは、CCBotとしてそのクローラーを識別し、その動作に関する情報を公開します。サイトはrobots.txtを通じてクロールルールを表現できます。その標準構文は、 ロボット排除プロトコルによって定義されています。ルールはクロールのアクセスに影響を与えます。ウェブの他の部分を非表示にしたり、下流での使用のためのライセンスを与えたりすることはありません。

WARCファイルは生のクロール記録を保持します。これにはHTTPリクエスト、レスポンス、およびクロールメタデータが含まれる場合があります。この層は、クロールした内容に最も近く、ヘッダー、ステータス、ペイロードバイト、またはコンテンツタイプが重要な場合に便利です。ファイルは圧縮され、パーティション分けされているため、スコープを絞ることなく、全体のクロールを読むことは高コストであり、ほとんどのプロジェクトには不必要です。

WATファイルは、生の記録から派生したメタデータを含み、ヘッダーや発見されたリンクなどの情報を含みます。WETファイルには、抽出されたプレーンテキストが含まれ、これは言語やテキスト分析に便利ですが、元の構造の多くを省略します。 コモン クロールデータガイド は、これらのフォーマットと、生データ、メタデータ、抽出されたテキストとの違いを説明します。

インデックスは、URLとクロール記録をアーカイブ内の位置にマッピングします。ターゲットを絞ったワークフローは、インデックスを照会し、アーカイブファイル名、バイトオフセット、記録長などのフィールドを受信し、その後必要な範囲のみをリクエストします。これは、すべてのWARCをダウンロードするよりも速く、安価です。分析プロジェクトは、ドメイン、ステータスコード、メディアタイプ、またはクロールパーティション間で一括フィルタリングに列指向URLインデックスを使用することもできます。

WARC、WAT、WET、およびインデックスデータ

必要な証拠を保持する最も軽い表現を選択することで、コモン クロールの作業を理解可能でコスト意識のあるものに保つことができます。

次元主な意味一般的な誤り
WARC生のリクエスト、レスポンス、およびクロール記録。最初にURLを絞らずにすべてのテキストのみのタスクに使用すること。
WATヘッダーやリンク情報などの派生メタデータ。メタデータが完全なページボディを含むと仮定すること。
WETテキスト処理用の抽出されたプレーンテキスト。抽出されたテキストをレイアウト、テーブル、またはスクリプトの忠実なコピーとして扱うこと。
CDXJインデックス個々の記録のURLルックアップとアーカイブの場所。インデックスのヒットをアーカイブされたレスポンスが有用であるという証明と混同すること。
列指向URLインデックスカラム形式のバルク分析フィルタリング。質問が要求する以上のパーティションとカラムをスキャン。

Common Crawlの用途

コーパスは、サンプリングと変換の選択肢が可視化されている限り、広範なウェブカバレッジから恩恵を受けるプロジェクトをサポートします。

ウェブと言語の研究

研究者は、リンク、ドメイン、言語、テンプレート、および大規模サンプルにわたるコンテンツの変化を測定します。

検索と情報検索

チームは、選択した記録からインデックス、ランキング実験、文書コレクション、および検索ベンチマークを構築します。

機械学習コーパス

フィルタリングされたテキストまたはマルチモーダルサブセットは、権利、品質、安全性、および重複レビューの後に事前トレーニングと評価をサポートできます。

歴史的比較

連続的なクローリングは、ドメイン、トピック、またはウェブ技術の変化を示すことができますが、クローリングカバレッジは制御する必要があります。

実用的なCommon Crawlワークフロー

クローリングを選択する前に研究課題を記述します。現在言語の研究は、最新の利用可能なパーティションを必要とする場合があります。歴史的分析は比較可能な時間ウィンドウを必要とします。ドメイン監査は、URLプレフィックスの小さなリストだけを必要とする場合があります。質問が、どのクローリングID、インデックス、ファイルタイプ、およびフィールドが範囲内に属するかを決定します。

インデックスをクエリし、クエリパラメータを保存します。クローリングコレクション、URLパターン、マッチモード、ステータスフィルタ、メディアタイプ、およびインデックス行に適用された重複排除を記録します。バルクジョブを開始する前にヒットのサンプルを確認します。インデックスは、ログインページ、リダイレクト、エラーレスポンス、または共有された名前を持つ無関係なサブドメインを指すことができます。

生の証拠が重要な場合は、選択したWARCレコードに対してバイト範囲を取得します。パースする前に、WARCターゲットURI、応答ステータス、コンテンツタイプ、キャプチャ時間、ペイロードを確認します。テキストのみの分析の場合、抽出ステージが削除または変更した内容を理解するために、WET出力のサンプルと対応する生のレコードを比較します。

派生データセットのマニフェストを作成します。入力クローリングID、コードバージョン、フィルター、ブロックリスト、言語モデル、品質しきい値、重複排除方法、および出力スキーマをリストします。ポリシーが許す限り、WARCの位置に戻るレコードレベルのポインタを保持します。その系譜は、別のレビューアがドキュメントが最終セットに入るか出る理由を再構築できるようにします。

カバレッジとデータ品質の制限

Common Crawlはウェブ全体をキャプチャできません。公共のウェブは継続的に変化し、URLの発見は不均一で、ホストは異なるアクセスポリシーを適用します。大規模なウェブサイトは、カレンダー、パラメータ、ミラー、または生成されたページを介してサンプルを支配する可能性があります。小規模なサイトは、少数のインバウンドリンクしかなく、カバレッジが少なくなる場合があります。ページ数は、直接的に代表的なコンテンツに変換されるわけではありません。

レンダリングは別の境界です。クローラーの応答には、JavaScriptが実行された後にブラウザが生成する最終ページではなく、最初のHTMLが含まれている可能性があります。したがって、WET抽出はクライアントレンダリングインターフェースに対して空または不完全である可能性があります。現在のブラウザまたはレンダリングサービスは比較を提供できますが、新しいキャプチャがアーカイブされた証拠の静かな代わりとして置き換えられてはなりません。

テキストパイプラインはノイズを増幅する可能性があります。ナビゲーション、クッキーノーティス、スクレイピングされたコピー、機械生成のページ、スパム、および繰り返しのテンプレートは、抽出によって残る可能性があります。言語識別子は、短いまたは混合言語のレコードを誤分類することがあります。品質フィルターは、方言、コードスイッチング、またはリソースが少ない言語を排除しながら平均を改善できます。スライスレベルの統計とサンプル例を公開します。

オープンな利用可能性は普遍的な許可ステートメントではありません。下流のユーザーは、個人データ、著作権のある作品、センシティブなコンテンツ、契約制限、および処理の目的を評価する必要があります。除外および削除リクエストは、いかなる派生データセットにおいても文書化された経路を必要とします。Common Crawlのコレクションポリシーは、ユーザー自身の法的および倫理的レビューを置き換えるものではありません。

Common Crawlデータセットを検証する方法

ドメイン、言語、時間、応答ステータス、メディアタイプ、およびソース濃度によるカバレッジを報告します。サンプルが再現できるようにインデックスクエリとクローリング識別子を含めます。分析がクローリングを比較する場合、コンテンツの移動をウェブ自体の変化として解釈する前に、発見とキャプチャボリュームの変化を正規化します。

重複をいくつかのレベルで測定します:正確なペイロード、正規化されたテキスト、テンプレート、およびほぼ重複したドキュメント。結果の横にルールとしきい値を保持します。多くのミラーURLを持つドメインは、カウントを支配することができます。同時に、繰り返しの法的テキストやナビゲーションは、ページ全体を破棄するよりもセグメントレベルで削除する方が良いかもしれません。

ペアレコードで抽出の品質を監査します。選択したWARCペイロードに対してWETテキストを比較し、タイトル、メインテキスト、表、エンコーディング、ボイラープレートを確認します。JavaScriptが重いページに対しては、アーカイブが取得した応答のみを含むことを文書化します。欠落したレンダリングテキストを仮定で埋めないでください。

すべての変換を通じて由来を追跡します。最終行は、可能な限りクローリングID、WARCファイル名、オフセット、ターゲットURI、キャプチャ時刻、および変換バージョンに追跡可能であるべきです。レコードが削除されるときは、影響を受けたルールと派生リリースを記録します。これにより、データセットは維持可能となり、一時的なエクスポートではなくなります。

結論

Common Crawlは、アーカイブされたウェブデータを扱うためのオープンインフラストラクチャです。大規模なクローリングコレクション、生のWARCレコード、派生したWATおよびWETファイル、ターゲットアクセスを可能にするインデックスを公開します。このプロジェクトは、ユーザーがウェブスケールのクローラーを操作する手間を省きますが、完成した研究または学習データセットを提供するものではありません。

役立つ作業は狭い質問、インデックスクエリ、再現可能なマニフェストから始まります。カバレッジ、レンダリング、重複、権利、および抽出品質は、仮定されるのではなく測定される必要があります。現在のページが比較のために追加されるときは、その取得方法と時間をアーカイブとは別に保つ必要があります。

アーカイブされたウェブデータと現在のウェブデータを比較する準備はできていますか?

Scrapeless Universal Scraping APIを使用して、現行ページの取得を許可しつつ、同じ証拠モデル内のCommon Crawlレコードポインターとタイムスタンプを保持します。

今すぐ登録して $5の無料クレジットを取得クレジットカードは不要.

$5のクレジットを受け取る →

FAQ

Common Crawlは検索エンジンですか?

いいえ。Common Crawlはウェブクロールアーカイブとインデックスを公開します。ユーザーはそれらの資料を元に独自のクエリ、分析、検索インデックス、または派生データセットを構築します。

WARCとWETの違いは何ですか?

WARCは生のクロールレコードとHTTPペイロードを保持します。WETは抽出されたプレーンテキストを含んでおり、テキスト処理には楽ですが、ページ構造や他の応答の詳細を失います。

すべてのウェブサイトがCommon Crawlに含まれていますか?

いいえ。各クロールは発見、優先順位、ロボットルール、タイミング、ホストの可用性、およびリクエストの結果によって形作られたサンプルです。

Common CrawlデータはAIトレーニングに使用できますか?

それはトレーニングデータパイプラインへの入力として使用できますが、ユーザーはまだ品質と安全性をフィルタリングし、重複とカバレッジを測定し、権利、プライバシー、許可された使用を評価する必要があります。

なぜ最初にCommon Crawlインデックスをクエリするのですか?

インデックスは、どのレコードがターゲットと一致し、アーカイブファイルのどこにあるかを特定し、大きなコレクションを盲目的にダウンロードする代わりに、ターゲット範囲リクエストを許可します。

参考文献