HTMLファイルからの
ノイズの削減
 関口宏司@ロンウイット
背景/目的
• HTMLにおける「ノイズ」
 • 広告
 • メニュー
 • フッター/ヘッダー


• 用途
 • 検索エンジン
 • コーパスとしてのHTMLコンテンツの利用
 • ファイルサイズの削減




        Copyright (c) 2012 RONDHUIT Co.,Ltd. All Rights Reserved.   2
「ノイズ」の同定
   • 2つ以上の同類(*1)のHTMLページを集め、類似
     のブロックをノイズとみなし、除去する

                                       :他のページに類似の
                                       ブロックがある



                                       :他のページに類似の
                                       ブロックがない




   • ブロックはベクトル化し、ブロック同士の類似度は
     コサイン類似度を用いる

(*1)同類のHTMLページとは、同一ドメイン下のWebサイトをクロールして収集したHTMLページを指す。同一ドメイン
下のWebサイトのHTMLページは、単一のテンプレートを使って作成されていることが多く、レイアウトが同じであるため
類似のブロックが多く見つかりやすい。
                    Copyright (c) 2012 RONDHUIT Co.,Ltd. All Rights Reserved.   3
ブロック
• W3Cの定めたHTMLタグ
 • ブロックレベル要素:<DIV>, <P>, <H1>など
 • インライン要素:<FONT>, <STRONG>, <A>など
• ブロック=ブロックレベル要素+α
• HTMLページを下位ノードにブロック要素が存在し
  ないように分割
                                        BODY




        DIV                              DIV                                    DIV




  P           IMG              IMG                 IMG                 A              SCRIPT



 TEXT                                                               TEXT              CODE

                    Copyright (c) 2012 RONDHUIT Co.,Ltd. All Rights Reserved.                  4
アルゴリズム
• バッチ処理単位G、HTMLページDi



• HTMLページDiをブロックBijへ分割



• ブロックBijのベクトル化



• 類似度Sの計算


        Copyright (c) 2012 RONDHUIT Co.,Ltd. All Rights Reserved.   5
ブロックのベクトル化
• ブロックのベクトル素性
  • ブロック内の各タグ:出現回数
  • 各テキスト:正規化した文字の出現回数
  • 属性title、altの各テキスト:正規化した文字の出現回数

                                                                                A   1
• 例                                                                             P   1
                                                                            ど       1
      <P>どうも<A href="i.html">僕</A>です</P>
                                                               B=
                                                                            う       1
                                                                            も       1
                                                                            で       1
• NekoHTMLの利用
                                                                            す       1



                    Copyright (c) 2012 RONDHUIT Co.,Ltd. All Rights Reserved.           6
まとめ
•   2つ以上の同類のHTMLページが必要
•   単純なアルゴリズム
•   多少の違いは吸収
•   検索エンジンのインデックス作成の前処理
•   テキストコーパスとして有益な部分の抽出
•   ディスク/メモリ消費量の削減に寄与




         Copyright (c) 2012 RONDHUIT Co.,Ltd. All Rights Reserved.   7
参考文献
• 教師情報を必要としないニュースページ群からのコ
  ンテンツ自動抽出吉田、山本日本データベース学会
  論文誌 Vol.8 No.1 2009年6月

• HTML 4.01 Specification W3C Recommendation 24
  December 1999 7.5.3 Block-level and inline
  elements
  http://www.w3.org/TR/html401/struct/global.html#h-
  7.5.3

• NekoHTML http://nekohtml.sourceforge.net/


              Copyright (c) 2012 RONDHUIT Co.,Ltd. All Rights Reserved.   8

Html noise reduction

  • 1.
  • 2.
    背景/目的 • HTMLにおける「ノイズ」 •広告 • メニュー • フッター/ヘッダー • 用途 • 検索エンジン • コーパスとしてのHTMLコンテンツの利用 • ファイルサイズの削減 Copyright (c) 2012 RONDHUIT Co.,Ltd. All Rights Reserved. 2
  • 3.
    「ノイズ」の同定 • 2つ以上の同類(*1)のHTMLページを集め、類似 のブロックをノイズとみなし、除去する :他のページに類似の ブロックがある :他のページに類似の ブロックがない • ブロックはベクトル化し、ブロック同士の類似度は コサイン類似度を用いる (*1)同類のHTMLページとは、同一ドメイン下のWebサイトをクロールして収集したHTMLページを指す。同一ドメイン 下のWebサイトのHTMLページは、単一のテンプレートを使って作成されていることが多く、レイアウトが同じであるため 類似のブロックが多く見つかりやすい。 Copyright (c) 2012 RONDHUIT Co.,Ltd. All Rights Reserved. 3
  • 4.
    ブロック • W3Cの定めたHTMLタグ •ブロックレベル要素:<DIV>, <P>, <H1>など • インライン要素:<FONT>, <STRONG>, <A>など • ブロック=ブロックレベル要素+α • HTMLページを下位ノードにブロック要素が存在し ないように分割 BODY DIV DIV DIV P IMG IMG IMG A SCRIPT TEXT TEXT CODE Copyright (c) 2012 RONDHUIT Co.,Ltd. All Rights Reserved. 4
  • 5.
    アルゴリズム • バッチ処理単位G、HTMLページDi • HTMLページDiをブロックBijへ分割 •ブロックBijのベクトル化 • 類似度Sの計算 Copyright (c) 2012 RONDHUIT Co.,Ltd. All Rights Reserved. 5
  • 6.
    ブロックのベクトル化 • ブロックのベクトル素性 • ブロック内の各タグ:出現回数 • 各テキスト:正規化した文字の出現回数 • 属性title、altの各テキスト:正規化した文字の出現回数 A 1 • 例 P 1 ど 1 <P>どうも<A href="i.html">僕</A>です</P> B= う 1 も 1 で 1 • NekoHTMLの利用 す 1 Copyright (c) 2012 RONDHUIT Co.,Ltd. All Rights Reserved. 6
  • 7.
    まとめ • 2つ以上の同類のHTMLページが必要 • 単純なアルゴリズム • 多少の違いは吸収 • 検索エンジンのインデックス作成の前処理 • テキストコーパスとして有益な部分の抽出 • ディスク/メモリ消費量の削減に寄与 Copyright (c) 2012 RONDHUIT Co.,Ltd. All Rights Reserved. 7
  • 8.
    参考文献 • 教師情報を必要としないニュースページ群からのコ ンテンツ自動抽出吉田、山本日本データベース学会 論文誌 Vol.8 No.1 2009年6月 • HTML 4.01 Specification W3C Recommendation 24 December 1999 7.5.3 Block-level and inline elements http://www.w3.org/TR/html401/struct/global.html#h- 7.5.3 • NekoHTML http://nekohtml.sourceforge.net/ Copyright (c) 2012 RONDHUIT Co.,Ltd. All Rights Reserved. 8