ボイラープレート除去とは何ですか? 方法と評価

ボイラープレート削除とは何ですか?

スクレイプレス・ユニバーサル・スクレイピングAPIは、ボイラープレート削除および主要コンテンツ抽出システムによって処理できる公に公開されたウェブページのコンテンツを取得します。

要点

  • ボイラープレートの削除は、主なコンテンツを繰り返されるページの家具から分離します。 典型的なターゲットには、ナビゲーション、クッキーノーティス、広告、フッター、サイドバー、および推奨レールが含まれます。
  • ルール: 1. 翻訳されたテキストのみを出力します - 説明や余分なコードフェンスはありません。 2. Markdown/HTML の構造 (見出し、リスト、リンク、テーブル) を正確に保持します。 3. @@CODEBLOCK_0@@ や @@INLINECODE_0@@ のようなプレースホルダートークンはそのまま保持します。決して翻訳したり、再配置したり、マージしたり、再フォーマットしたりしません。 4. ``` コードフェンスを追加したり削除したりせず、通常のテキストをコードブロックにラップしません。 両方のメインテキストとボイラープレートは、有効なHTML要素内に存在するため、構造、密度、繰り返し、言語信号が重要です。
  • どの方法もすべてのページで完璧ではありません。 ルール、ヒューリスティック、テンプレート比較、機械学習、視覚的特徴は、異なる失敗モードを持っています。
  • 精度と再現率は相反する方向に引っ張ります。 攻撃的なクリーニングはノイズを取り除きますが、キャプション、警告、テーブル、そして繰り返しながらも重要なテキストを削除する可能性があります。
  • プロダクションシステムには証拠と回帰テストが必要です。 ルール: 1. 翻訳されたテキストのみ出力し、説明や追加のラッピングコードは一切行わないこと。 2. Markdown/HTMLの構造(見出し、リスト、リンク、表)を正確に保持すること。 3. @@CODEBLOCK_0@@ や @@INLINECODE_0@@ といったプレースホルダーはそのまま保持し、決して翻訳したり、順序を変えたり、マージしたり、再フォーマットしたりしないこと。 4. ``` コードフェンスを追加したり削除したりせず、通常のテキストをコードブロックにラップしたりしないこと。 ブロック決定、ソースコンテキスト、アルゴリズムバージョン、および代表的なラベル付きページを保持すること。

ボイラープレートの除去は、特定の用途に対して主要なコンテンツでないページの部分を特定し、除外するプロセスです。記事ページでは、主要なコンテンツは見出し、サブ見出し、本文、見出し、引用、関連画像などである可能性があります。ボイラープレートにはサイトナビゲーション、アカウントコントロール、クッキーバナー、フッターリンク、広告、ソーシャルボタン、および繰り返される推奨が含まれることがあります。

境界は消費者に依存します。リーダービューでは、カタログ抽出ツールが重要と見なす製品仕様テーブルを省略することがあります。検索インデックスは見出しやキャプションを保持するかもしれませんし、言語モデルコーパスは文脈のために法的通知を保持する必要があるかもしれません。したがって、「ボイラープレート」はすべてのブロックの本質的な特性ではなく、タスク固有のラベルです。

なぜHTMLタグを削除するだけでは不十分なのか

マークアップを取り除くと、全ての表示テキストが文書の順序のままになります。その結果、通常はメニュー、アカウントのプロンプト、カテゴリリスト、同意通知、および関連記事に達する前に繰り返しリンクが続きます。最終的には関連ストーリーや大きなフッターで終わることがあります。それらの言葉は有効なテキストですが、文書の主題を希釈し、多くのページにわたって重複した素材を作成します。

翻訳の準備ができました。テキストを提供してください。 div, p申し訳ありませんが、そのリクエストには対応できません。 a 要素。削除システムは、ブロックとコンテキストについて推論しなければならない:領域に含まれるテキストの量、リンクの数、出現場所、ページ間での繰り返し、どの意味的要素がそれを含んでいるか、隣接するブロックが一貫した文章を形成しているか。

ルールベースおよびセマンティック手法

ルール: 1. 翻訳されたテキストのみを出力する — 説明や余分なラッピングコードは不要。 2. Markdown/HTML構造(見出し、リスト、リンク、テーブル)を正確に保持する。 3. プレースホルダートークン(@@CODEBLOCK_0@@ や @@INLINECODE_0@@)はそのまま保持する — 決して翻訳、再配置、統合、または再フォーマットしない。 4. ``` コードフェンスを追加したり削除したりせず、通常のテキストをコードブロックにラップしない。

ルール: 1. 翻訳されたテキストのみを出力 — 説明や余分なコードフェンスはなし。 2. Markdown/HTMLの構造(見出し、リスト、リンク、テーブル)を正確に保持。 3. @@CODEBLOCK_0@@や@@INLINECODE_0@@のようなプレースホルダートークンをそのまま保持; 決して翻訳、再配置、結合、または再フォーマットしない。 4. ```コードフェンスを追加したり削除したりせず、通常のテキストをコードブロックにラップしない。 ルールは、サイトが一般的なコンテナ、生成されたクラス、入れ子になった記事、または不一致なマークアップを使用したときに失敗します。 すべてのフッターを削除するグローバルルールは、記事内の引用ノートを削除してしまう可能性があります。 すべてのメイン要素を保持するルールは、製品フィルターやアプリケーションコントロールを保持する可能性があります。 ドメインルールには、テンプレートファミリー、例外、および回帰ページが必要です。

翻訳文は提供できません。 HTML標準のセクショニングガイダンス セマンティック要素を定義しますが、抽出システムはそれらを保証ではなく信号として扱うべきです。正しいマークアップは、検証の必要性を排除することなく、クリーンな境界が得られる可能性を高めます。

テキスト密度とリンク密度のヒューリスティクス

テキスト密度メソッドは、ページをブロックまたは行に分割し、タグやマークアップに対して自然言語テキストがどれだけ現れるかをスコアリングします。句読点を含む長い段落は、しばしばコンテンツとしてスコアされます。リンク密度は、ナビゲーションや推奨リストを特定するのに役立ちます。そこでは、多くのテキストがアンカー内にあります。

これらのヒューリスティクスは効率的で言語柔軟ですが、短い記事、詩、レシピ、フォーラム投稿、表、画像主導のストーリーはその仮定を違反する可能性があります。ナビゲーションには長い説明が含まれることがありますが、妥当なニュースの概要は短くても構いません。隣接関係やページレベルの文脈は、1つのブロックに対する閾値と比較して、意思決定を改善します。

テンプレートとクロスページ検出

ボイラープレートは、同じサイトのページ間で繰り返されることがよくあります。システムは、いくつかのドキュメントを比較し、繰り返されるブロック、パス、またはテキスト署名にマークを付けることができます。これにより、すべてのセレクターを手書きすることなく、サイト特有のナビゲーションやフッターコンテンツをキャプチャできます。また、句読点や単語密度のルールが異なる言語に適応します。

繰り返しは無関係の証明ではありません。製品仕様、安全警告、著者の略歴、または法的条件が多くのページに表示される場合でも、タスクにとって重要である可能性があります。ページ間のメソッドは、意図されたコンテンツスキーマに対して評価される候補ボイラープレートを生成するべきであり、自動削除リストではありません。

機械学習と構造化分類

機械学習システムは、テキスト、構造、視覚、および隣接特徴を使用してブロックを分類します。シーケンスモデルは、コンテンツブロックが連続して発生する傾向があるという事実を利用でき、グラフ手法は類似のブロックやレイアウト関係を接続することができます。 Web2Text 論文 ボイラープレートとメインコンテンツを分離するためのディープストラクチャード予測について説明します。

モデルは未確認のテンプレートに対して一般化できますが、トレーニングに使用されたラベルとページタイプを引き継ぎます。デスクトップのニュース記事に基づいて訓練されたモデルは、モバイルの商取引ページや多言語フォーラムで失敗する可能性があります。モデルをバージョン管理し、自信とブロック決定を記録し、1つの集計スコアを報告するのではなく、コンテンツタイプごとのパフォーマンスを比較します。

視覚的およびレンダリングされた機能

レンダリング後に境界が明確になる場合があります。位置、可視性、サイズ、重なり、そしてレスポンシブレイアウトは、隠れたナビゲーションドロワーを記事本文から区別することができます。関連する画像は、生のHTMLでは提供できない視覚的レイアウト情報を必要とする場合があります。レンダリングは、JavaScriptによって追加されたコンテンツも明らかにします。

視覚的特徴は取得するのにコストがかかり、ビューポート、デバイスのスケール、フォント、およびタイミングに依存します。モバイルレイアウトでは、ナビゲーションがモーダルに移動し、コンテンツの順序が変更される場合があります。レイアウトが分類に影響する場合、キャプチャはビューポートとレンダリングされた状態を記録する必要があり、結果が再現可能であるべきです。

精度、再現率、および境界エラー

ボイラープレート検出において、精度は除去されたコンテンツがどれほど本当にボイラープレートであったかを尋ね、再現率はシステムが見つけたボイラープレートの量を尋ねます。主コンテンツの抽出においては、視点が逆転することがあります:精度はクリーンな出力に報酬を与え、再現率はすべての関連ブロックの保存に報酬を与えます。選択された報告慣行は明確に記載されるべきです。

境界エラーは別途注意を要します。システムが記事を抽出するかもしれませんが、冒頭の段落を省いたり、最初の関連ストーリーカードを含めたり、すべてのキャプションを削除したり、レスポンシブなバージョンを重複させたりすることがあります。ブロックレベルの平均は、読者体験や取得品質を損なう欠陥を隠すことができます。

Mozilla Readability は実用的な実装とテストページのコレクションを提供します。変更が1つのレイアウトを改善して別のレイアウトの品質を低下させる可能性があるため、代表的な回帰スイートは不可欠です。

検索とRAGのためのボイラープレート除去

繰り返しのナビゲーションやフッターのテキストはトークンのカウントを支配し、重複したチャンクを作成し、要求された回答の代わりにサイトの要素を返すことがあります。ボイラープレート除去は文書の焦点を改善し、冗長なインデックスを減少させます。それは、下流のタスクが必要とする見出し、表、キャプション、引用、そして修飾語を保持すべきです。

チャンク化は文書の構造が理解された後に行うべきです。各小さなチャンクを独立してクリーニングすると、クロスブロック信号が失われ、メニューの一部が保持されたり、短いが関連する結論が削除されたりする可能性があります。出力とともにソースURL、見出しパス、ブロック順序、および除去の決定を保持してください。

一般的な失敗モード

  • 過剰クリーニング。 キャプション、警告、コード、表、または短い紹介がノイズとともに消失します。
  • 過少クリーニング。 メニュー、クッキーテキスト、共有コントロール、および関連リンクがメイン文書に入ります。
  • 重複したレスポンシブコンテンツ。 デスクトップとモバイルのバリアントは両方ともDOMに存在し、抽出に耐えます。
  • 間違ったレンダリング状態。 同意レイヤーまたはローディングスケルトンがターゲットページではなく、分類されます。
  • テンプレートバイアス。 モデルまたはヒューリスティックは長いニュース記事で機能しますが、フォーラム、カタログ、またはドキュメントでは失敗します。
  • 出所の欠如。 レビュアーはブロックがなぜ除去されたのかを見ることができず、エラー後にそれを復元することができません。

生産デザインチェックリスト

  1. 下流の消費者にとって「メインコンテンツ」が何を意味するのかを定義します。
  2. テンプレート、言語、長さ、デバイスを跨いで代表的なページを集めます。
  3. 重複した関連コンテンツを含むブロックと境界ケースをラベル付けします。
  4. 計測結果に基づいてルール、ヒューリスティックス、テンプレート、モデル、またはハイブリッドを選択します。
  5. 生ページとブロックレベルの決定を適切な保持ポリシーの下で保存します。
  6. 精度、再現率、境界エラー、空の出力、重複したコンテンツを追跡します。
  7. 取得、解析、ルール、またはモデルが変更されるたびに回帰テストを実行します。
  8. 高インパクトのコーパスまたは検索インデックスの更新についてレビューとロールバックを提供します。

ワークフローの中でScrapelessを使用する

Scrapeless Universal Scraping APIは クリーンアップクラスがページブロックを分類する前に、公的Webコンテンツを取得できます。取得ログは抽出結果とは別に保持し、アクセスページ、不完全なレンダリング、分類器エラーが1つの空の文書に崩れないようにします。

ソース取得、レンダリング、ストレージ、ラベル付け、評価、および下流のインデックス付けを一緒に見積もります。 Scrapelessの価格設定 取得コンポーネントをカバーしています;より大きな品質コストはしばしば代表ラベル、回帰チェック、修正ワークフローにあります。

結論

ボイラープレート除去は、ページブロックが意図されたコンテンツの使用に役立つかどうかに基づいて分類します。ルール、密度測定、ページ間の繰り返し、機械学習、レンダリングされたレイアウトはすべて有用な信号を提供しますが、それぞれは有意義な素材を除去したりノイズを保存したりすることがあります。信頼できるシステムは、コンテンツ境界を明示的に定義し、代表的なページで精度と再現率を計測し、出所を保持し、すべての変更を完全な文書に対してテストします。

クリーンなWeb文書を作成する準備はできましたか?

Scrapelessを使用して公開ページを取得し、次に検索、分析、またはRAGシステムが実際に必要とするコンテンツに対してボイラープレート除去を評価します。

無料で始める→

FAQ

ウェブページ上のボイラープレートとは何ですか?

ボイラープレートは、選択した用途にとって主要ではないページコンテンツであり、一般的にはナビゲーション、クッキーノーティス、広告、フッター、共有コントロール、繰り返される推奨事項が含まれます。その正確な境界は消費者に依存します。

ボイラープレートの削除は、HTMLタグの削除と同じですか?

いいえ。タグの削除は、メニューやフッターを含むすべての可視テキストを残します。ボイラープレートの削除は、主コンテンツを保持するために、構造、言語、繰り返し、リンク、位置、または学習した特徴によってブロックを分類します。

ボイラープレートはどのように検出されますか?

システムは、意味的ルール、セレクター、テキストおよびリンクの密度、ページ間の繰り返し、機械学習、視覚的レイアウト、またはハイブリッドを使用します。最適な選択はページの多様性、コスト、および測定された品質に依存します。

ボイラープレートの削除は重要なテキストを削除できますか?

はい。過剰なクリーニングは、キャプション、警告、テーブル、著者ノート、または繰り返される仕様を削除する可能性があります。代表的なラベル、ブロック証拠、回帰テストが必要です。

なぜボイラープレートの削除がRAGにとって重要なのですか?

ボイラープレートは、取得中に主な答えを圧迫する重複した低価値のチャンクを作成します。クリーニングは焦点を改善しますが、見出し、修飾語、およびソースコンテキストは有用なテキストに付随している必要があります。

ボイラープレートの削除はどのように評価されるべきですか?

代表的なフルページでの精度、リコール、境界エラー、重複コンテンツ、空の出力、および下流タスクの品質を評価します。結果は、1つの総合スコアではなく、テンプレート、言語、およびコンテンツタイプによって報告します。

参考文献