半構造化文書に対する木構造と文字列 を組合せたラッパーの自動生成法

35
半半半半半半半半半半半半半半半半半 半半半半半半半半半半半半半半半 半半半半 * 半半半半 ** 半半半半半 ** * 半半半半半半半半半半半半半半半半 ** 半半半半半半半半半半半半

Upload: kaseem-richard

Post on 30-Dec-2015

29 views

Category:

Documents


0 download

DESCRIPTION

半構造化文書に対する木構造と文字列 を組合せたラッパーの自動生成法. 山田泰寛* 池田大輔** 廣川佐千男** *九州大学大学院システム情報科学府 **九州大学情報基盤センター. 発表手順. コンテンツ抽出プログラム:ラッパー PLR ラッパー PLR ラッパーの自動生成法 実験 まとめと今後の課題. 背景. 異なるサイト間の情報を比較. たくさんのリンクを巡る 情報を記録・記憶. 手間と時間がかかる. 背景. 自動的に 統合. 容易に比較が可能. (1)発見・収集  (2)抽出・整列  (3)統合. サイトごとにテンプレートが異なる. ラッパー. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 半構造化文書に対する木構造と文字列 を組合せたラッパーの自動生成法

半構造化文書に対する木構造と文字列を組合せたラッパーの自動生成法

山田泰寛 * 池田大輔 ** 廣川佐千男**

* 九州大学大学院システム情報科学府

** 九州大学情報基盤センター

Page 2: 半構造化文書に対する木構造と文字列 を組合せたラッパーの自動生成法

発表手順

コンテンツ抽出プログラム:ラッパー PLR ラッパー PLR ラッパーの自動生成法 実験 まとめと今後の課題

Page 3: 半構造化文書に対する木構造と文字列 を組合せたラッパーの自動生成法

背景

異なるサイト間の情報を比較

たくさんのリンクを巡る情報を記録・記憶 手間と時間がかかる

Page 4: 半構造化文書に対する木構造と文字列 を組合せたラッパーの自動生成法

背景

サイトごとにテンプレートが異なる

自動的に統合

容易に比較が可能

(1)発見・収集 (2)抽出・整列 (3)統合

Page 5: 半構造化文書に対する木構造と文字列 を組合せたラッパーの自動生成法

ラッパー

1 サイト上の Web ページで同種の内容を含み、大量に存在するものから、同種の内容を抽出するプログラム 同一のテンプレートを持つ

Page 6: 半構造化文書に対する木構造と文字列 を組合せたラッパーの自動生成法

ラッパー生成問題

与えられた1サイト上の Web ページの集合から、同種の内容を抽出するためのルールを作成する問題

入力:同種の内容を含む Web ページの集合

出力:ルールの集合

Page 7: 半構造化文書に対する木構造と文字列 を組合せたラッパーの自動生成法

ラッパー生成のポイント

コンテンツ部分の特定 ページ中に広告や無関係な情報が含まれる GUI や訓練例による半自動的な手法

ルールの表現方法 文字列ベース

LR ラッパー( Kushmerick ら , 1997 ) 木構造ベース

Tree ラッパー ( 村上ら , 2001)

Page 8: 半構造化文書に対する木構造と文字列 を組合せたラッパーの自動生成法

LR ラッパー

.....<font size=“5”> 廣川佐千男 </font>.....<a href=“mailto:[email protected]”>Address: hirokawa.xxx.jp</a>.....<font size=“5”> 山田泰寛 </font>.....<a href=“mailto:[email protected]”>Address: [email protected]</a>.....

名前左区切文字列 : 5“>右区切文字列 : </f

項目を囲んでいる左・右区切文字列で特定

同じ項目を囲む区切文字列は同一

Page 9: 半構造化文書に対する木構造と文字列 を組合せたラッパーの自動生成法

LR ラッパーの問題点

.....<font size=“5”> 廣川佐千男 </font>.....<a href=“mailto:[email protected]”>Address: [email protected]</a>.....<font size=“5”> 山田泰寛 </font>.....<a href=“mailto:[email protected]”>Address: [email protected]</a>.....

メールアドレス左区切文字列 : “>右区切文字列 : </a

左区切文字列が特定できない

Page 10: 半構造化文書に対する木構造と文字列 を組合せたラッパーの自動生成法

Tree ラッパー

木構造のパスを用いて表現body

font fonta a

廣川佐千男 山田泰寛Address: [email protected]

Address: [email protected]

名前<body>-<font>-TEXTメールアドレス< body>-<a>-TEXT

Page 11: 半構造化文書に対する木構造と文字列 を組合せたラッパーの自動生成法

Tree ラッパー問題点

body

font fonta a

Address: [email protected] Address: [email protected]

不必要な文字列まで抽出する統合の際にノイズとなる

Page 12: 半構造化文書に対する木構造と文字列 を組合せたラッパーの自動生成法

PLR ラッパー

PLR(Path-Left-Right) ラッパー 木構造によるパスの特定 左・右区切文字列

body

a a

Address: [email protected] Address: [email protected]

メールアドレスパス  < body>-<a>-TEXT左区切文字列  Address: 右区切文字列  NULL

Page 13: 半構造化文書に対する木構造と文字列 を組合せたラッパーの自動生成法

発表手順

コンテンツ抽出プログラム:ラッパー PLR ラッパー PLR ラッパーの自動生成法 実験 まとめと今後の課題

Page 14: 半構造化文書に対する木構造と文字列 を組合せたラッパーの自動生成法

ラッパー生成アルゴリズム

入力: 1 サイト上の複数の半構造化文書

(1) コンテンツ部分特定

(3) 不要なルールの削除

出力:ルール ルール

(2) ルール抽出

高頻度部分(赤)と低頻度部分(黒)に分ける

境界を決め、ルールを抽出

出現頻度の低いルールを捨てる

Page 15: 半構造化文書に対する木構造と文字列 を組合せたラッパーの自動生成法

コンテンツ部分特定

文字列高頻度部分(赤)

低頻度部分(黒)

構造記述部分

コンテンツ部分

対応

対応

高頻度部分:頻度の高い部分文字列の現れる部分 部分文字列の長さ n と頻度の上位 a (%) の決定

頻度の高い部分文字列が構造部分に現れるように

Page 16: 半構造化文書に対する木構造と文字列 を組合せたラッパーの自動生成法

コンテンツ部分特定

長さ n が小さいとき 頻度の高い部分文字列は構造記述・コンテ

ンツ部分の両方に現れる

文書1

文書2

文書3

Page 17: 半構造化文書に対する木構造と文字列 を組合せたラッパーの自動生成法

コンテンツ部分特定

長さ n が大きいとき コンテンツ部分の頻度が下がる 頻度の高い部分文字列は構造記述部分のみに現れる

文書1

文書2

文書3

Page 18: 半構造化文書に対する木構造と文字列 を組合せたラッパーの自動生成法

位置による頻度

(a) 長さ 2

(b) 長さ 5

Page 19: 半構造化文書に対する木構造と文字列 を組合せたラッパーの自動生成法

コンテンツ部分特定

長さ n が大きすぎるとき 構造記述部分の頻度が下がる 再び、頻度の高い部分文字列は構造記述・コンテ

ンツ部分の両方に現れる

文書1

文書2

文書3

Page 20: 半構造化文書に対する木構造と文字列 を組合せたラッパーの自動生成法

コンテンツ部分特定

n: 小   a: 小n: 小   a: 大n: 大   a: 小n: 大   a: 大

分割がうまく行なわれないときは、境界の数が大きい

n: 大きすぎる

(山田他、 Discovery Science 2001)交代数

Page 21: 半構造化文書に対する木構造と文字列 を組合せたラッパーの自動生成法

初期状態 (n,a) は (2,1)

長さ n と割合 a の決定

%

長さ

a

a+1

1

2

2 3 4 n n+1

(n, a) の交代数と (n+1, a) 、 (n, a+1) の交代数を比較

極小の交代数をとる時、長さ n と頻度の上位 a は十分大きいと判断

Page 22: 半構造化文書に対する木構造と文字列 を組合せたラッパーの自動生成法

出力例

例1 例2

Page 23: 半構造化文書に対する木構造と文字列 を組合せたラッパーの自動生成法

ラッパー生成アルゴリズム

入力: 1 サイト上の複数の半構造化文書

(1) コンテンツ部分特定

(3) 不要なルールの削除

出力:ルール ルール

(2) ルール抽出

高頻度部分(赤)と低頻度部分(黒)に分ける

境界を決め、ルールを抽出

出現頻度の低いルールを捨てる

Page 24: 半構造化文書に対する木構造と文字列 を組合せたラッパーの自動生成法

ルールの生成

パスの特定 入力文書を木構造に展開 低頻度部分(黒)を含む

ノードのパスを特定

Page 25: 半構造化文書に対する木構造と文字列 を組合せたラッパーの自動生成法

ルールの生成

区切文字列の抽出 前ステップで特定されたパスで特定されるノード 左区切文字列は、高頻度部分と低頻度部分の境界から前

に出現する文字列で共通する最長の文字列 右区切文字列は、低頻度部分と高頻度部分の境界から後

に出現する文字列で共通する最長の文字列 共通する文字列が無い場合は“ NULL”

アドレスは [email protected] です。

アドレスは [email protected] です。

アドレスは [email protected] です。 左区切文字列“アドレスは”右区切文字列“です。”

Page 26: 半構造化文書に対する木構造と文字列 を組合せたラッパーの自動生成法

ラッパー生成アルゴリズム

入力: 1 サイト上の複数の半構造化文書

(1) コンテンツ部分特定

(3) 不要なルールの削除

出力:ルール ルール

(2) ルール抽出

高頻度部分(赤)と低頻度部分(黒)に分ける

境界を決め、ルールを抽出

出現頻度の低いルールを捨てる

Page 27: 半構造化文書に対する木構造と文字列 を組合せたラッパーの自動生成法

不要なルールの削除

有用な項目の判断 項目の出現に注目 ある文書には現れ、ある文書には現れない項目

半数以上の文書から抽出できるルールを採用

Page 28: 半構造化文書に対する木構造と文字列 を組合せたラッパーの自動生成法

ラッパー生成アルゴリズム

入力: 1 サイト上の複数の半構造化文書

(1) コンテンツ部分特定

(3) 不要なルールの削除

出力:ルール ルール

(2) ルール抽出

高頻度部分(赤)と低頻度部分(黒)に分ける

境界を決め、ルールを抽出

出現頻度の低いルールを捨てる

Page 29: 半構造化文書に対する木構造と文字列 を組合せたラッパーの自動生成法

発表手順

コンテンツ抽出プログラム:ラッパー PLR ラッパー PLR ラッパーの自動生成法 実験 まとめと今後の課題

Page 30: 半構造化文書に対する木構造と文字列 を組合せたラッパーの自動生成法

実験

産経新聞 ( 日本語 , 50 ファイル ) 本文 , 日付 , 見出し , ジャンル

Altavista (英語 , 50 ファイル) 検索結果の件数 左区切文字列“ We_found_” 右区切文字列“ _results”

ジャンル

<html><head><title>TEXT

Sankei- NULL

Sankei-international

We_found_187,302_results

Page 31: 半構造化文書に対する木構造と文字列 を組合せたラッパーの自動生成法

失敗例 (1)

左・右区切文字列特定の問題点 産経新聞の日付

項目部分が区切文字列の一部に含まれる 項目部分の一部が高頻度部分に含まれるこ

とが原因

日付 <html><body bgcolor><i><b>TEXT

2002.01.1 NULL

<!---★ 今日の日付に --->2002.01.12</b></i>

日にちの1の位のみ低頻度部分

Page 32: 半構造化文書に対する木構造と文字列 を組合せたラッパーの自動生成法

失敗例 (2)

同一ノードに複数の項目 例 日付とセキュリティホールの種類 左・右区切文字列特定の問題点

[_2003,09,18_]_openssh_ にセキュリティホールいづれの項目も、左区切文字列“ [_”右区切文字列“ _ にセキュリティホール”

2つの項目が同時の項目として抽出される

Page 33: 半構造化文書に対する木構造と文字列 を組合せたラッパーの自動生成法

Tree ラッパーの問題点

<blockquote>段落 1<p>段落 2<p>段落 3<p></blockquote>

産経新聞の本文部分

Tree ラッパーの問題点 同じ項目にタグが挟まれている場合に、細かく分かれてしまう

段落ごとにタグがはさまれている

本文全体ではなく、段落ごとに抽出

ただし、全体として抜き出すほうがいいのか、細かく抜き出すほうがいいのか判断が難しい

Page 34: 半構造化文書に対する木構造と文字列 を組合せたラッパーの自動生成法

まとめ

PLR ラッパーの自動生成法 Tree ラッパー + LR ラッパー 項目部分を含むノードのパス 前後に共通する左・右区切文字列

実験 不要な文字列の削除に成功

Page 35: 半構造化文書に対する木構造と文字列 を組合せたラッパーの自動生成法

今後の課題

境界特定の精度の向上 不要部分と項目部分 問題点:項目部分が区切文字列に含まれる

複数の項目の分離 共通部分特定に改善の必要あり

項目の抽出に成功した後 異なるサイト間の同種の項目の統合