半構造化文書に対する木構造と文字列 を組合せたラッパーの自動生成法
DESCRIPTION
半構造化文書に対する木構造と文字列 を組合せたラッパーの自動生成法. 山田泰寛* 池田大輔** 廣川佐千男** *九州大学大学院システム情報科学府 **九州大学情報基盤センター. 発表手順. コンテンツ抽出プログラム:ラッパー PLR ラッパー PLR ラッパーの自動生成法 実験 まとめと今後の課題. 背景. 異なるサイト間の情報を比較. たくさんのリンクを巡る 情報を記録・記憶. 手間と時間がかかる. 背景. 自動的に 統合. 容易に比較が可能. (1)発見・収集 (2)抽出・整列 (3)統合. サイトごとにテンプレートが異なる. ラッパー. - PowerPoint PPT PresentationTRANSCRIPT
半構造化文書に対する木構造と文字列を組合せたラッパーの自動生成法
山田泰寛 * 池田大輔 ** 廣川佐千男**
* 九州大学大学院システム情報科学府
** 九州大学情報基盤センター
発表手順
コンテンツ抽出プログラム:ラッパー PLR ラッパー PLR ラッパーの自動生成法 実験 まとめと今後の課題
背景
異なるサイト間の情報を比較
たくさんのリンクを巡る情報を記録・記憶 手間と時間がかかる
背景
サイトごとにテンプレートが異なる
自動的に統合
容易に比較が可能
(1)発見・収集 (2)抽出・整列 (3)統合
ラッパー
1 サイト上の Web ページで同種の内容を含み、大量に存在するものから、同種の内容を抽出するプログラム 同一のテンプレートを持つ
ラッパー生成問題
与えられた1サイト上の Web ページの集合から、同種の内容を抽出するためのルールを作成する問題
入力:同種の内容を含む Web ページの集合
出力:ルールの集合
ラッパー生成のポイント
コンテンツ部分の特定 ページ中に広告や無関係な情報が含まれる GUI や訓練例による半自動的な手法
ルールの表現方法 文字列ベース
LR ラッパー( Kushmerick ら , 1997 ) 木構造ベース
Tree ラッパー ( 村上ら , 2001)
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
項目を囲んでいる左・右区切文字列で特定
同じ項目を囲む区切文字列は同一
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
左区切文字列が特定できない
Tree ラッパー
木構造のパスを用いて表現body
font fonta a
廣川佐千男 山田泰寛Address: [email protected]
Address: [email protected]
名前<body>-<font>-TEXTメールアドレス< body>-<a>-TEXT
Tree ラッパー問題点
body
font fonta a
Address: [email protected] Address: [email protected]
不必要な文字列まで抽出する統合の際にノイズとなる
PLR ラッパー
PLR(Path-Left-Right) ラッパー 木構造によるパスの特定 左・右区切文字列
body
a a
Address: [email protected] Address: [email protected]
メールアドレスパス < body>-<a>-TEXT左区切文字列 Address: 右区切文字列 NULL
発表手順
コンテンツ抽出プログラム:ラッパー PLR ラッパー PLR ラッパーの自動生成法 実験 まとめと今後の課題
ラッパー生成アルゴリズム
入力: 1 サイト上の複数の半構造化文書
(1) コンテンツ部分特定
(3) 不要なルールの削除
出力:ルール ルール
(2) ルール抽出
高頻度部分(赤)と低頻度部分(黒)に分ける
境界を決め、ルールを抽出
出現頻度の低いルールを捨てる
コンテンツ部分特定
文字列高頻度部分(赤)
低頻度部分(黒)
構造記述部分
コンテンツ部分
対応
対応
高頻度部分:頻度の高い部分文字列の現れる部分 部分文字列の長さ n と頻度の上位 a (%) の決定
頻度の高い部分文字列が構造部分に現れるように
コンテンツ部分特定
長さ n が小さいとき 頻度の高い部分文字列は構造記述・コンテ
ンツ部分の両方に現れる
文書1
文書2
文書3
コンテンツ部分特定
長さ n が大きいとき コンテンツ部分の頻度が下がる 頻度の高い部分文字列は構造記述部分のみに現れる
文書1
文書2
文書3
位置による頻度
(a) 長さ 2
(b) 長さ 5
コンテンツ部分特定
長さ n が大きすぎるとき 構造記述部分の頻度が下がる 再び、頻度の高い部分文字列は構造記述・コンテ
ンツ部分の両方に現れる
文書1
文書2
文書3
コンテンツ部分特定
n: 小 a: 小n: 小 a: 大n: 大 a: 小n: 大 a: 大
分割がうまく行なわれないときは、境界の数が大きい
n: 大きすぎる
(山田他、 Discovery Science 2001)交代数
初期状態 (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 は十分大きいと判断
出力例
例1 例2
ラッパー生成アルゴリズム
入力: 1 サイト上の複数の半構造化文書
(1) コンテンツ部分特定
(3) 不要なルールの削除
出力:ルール ルール
(2) ルール抽出
高頻度部分(赤)と低頻度部分(黒)に分ける
境界を決め、ルールを抽出
出現頻度の低いルールを捨てる
ルールの生成
パスの特定 入力文書を木構造に展開 低頻度部分(黒)を含む
ノードのパスを特定
ルールの生成
区切文字列の抽出 前ステップで特定されたパスで特定されるノード 左区切文字列は、高頻度部分と低頻度部分の境界から前
に出現する文字列で共通する最長の文字列 右区切文字列は、低頻度部分と高頻度部分の境界から後
に出現する文字列で共通する最長の文字列 共通する文字列が無い場合は“ NULL”
アドレスは [email protected] です。
アドレスは [email protected] です。
アドレスは [email protected] です。 左区切文字列“アドレスは”右区切文字列“です。”
ラッパー生成アルゴリズム
入力: 1 サイト上の複数の半構造化文書
(1) コンテンツ部分特定
(3) 不要なルールの削除
出力:ルール ルール
(2) ルール抽出
高頻度部分(赤)と低頻度部分(黒)に分ける
境界を決め、ルールを抽出
出現頻度の低いルールを捨てる
不要なルールの削除
有用な項目の判断 項目の出現に注目 ある文書には現れ、ある文書には現れない項目
半数以上の文書から抽出できるルールを採用
ラッパー生成アルゴリズム
入力: 1 サイト上の複数の半構造化文書
(1) コンテンツ部分特定
(3) 不要なルールの削除
出力:ルール ルール
(2) ルール抽出
高頻度部分(赤)と低頻度部分(黒)に分ける
境界を決め、ルールを抽出
出現頻度の低いルールを捨てる
発表手順
コンテンツ抽出プログラム:ラッパー PLR ラッパー PLR ラッパーの自動生成法 実験 まとめと今後の課題
実験
産経新聞 ( 日本語 , 50 ファイル ) 本文 , 日付 , 見出し , ジャンル
Altavista (英語 , 50 ファイル) 検索結果の件数 左区切文字列“ We_found_” 右区切文字列“ _results”
ジャンル
<html><head><title>TEXT
Sankei- NULL
Sankei-international
We_found_187,302_results
失敗例 (1)
左・右区切文字列特定の問題点 産経新聞の日付
項目部分が区切文字列の一部に含まれる 項目部分の一部が高頻度部分に含まれるこ
とが原因
日付 <html><body bgcolor><i><b>TEXT
2002.01.1 NULL
<!---★ 今日の日付に --->2002.01.12</b></i>
日にちの1の位のみ低頻度部分
失敗例 (2)
同一ノードに複数の項目 例 日付とセキュリティホールの種類 左・右区切文字列特定の問題点
[_2003,09,18_]_openssh_ にセキュリティホールいづれの項目も、左区切文字列“ [_”右区切文字列“ _ にセキュリティホール”
2つの項目が同時の項目として抽出される
Tree ラッパーの問題点
<blockquote>段落 1<p>段落 2<p>段落 3<p></blockquote>
産経新聞の本文部分
Tree ラッパーの問題点 同じ項目にタグが挟まれている場合に、細かく分かれてしまう
段落ごとにタグがはさまれている
本文全体ではなく、段落ごとに抽出
ただし、全体として抜き出すほうがいいのか、細かく抜き出すほうがいいのか判断が難しい
まとめ
PLR ラッパーの自動生成法 Tree ラッパー + LR ラッパー 項目部分を含むノードのパス 前後に共通する左・右区切文字列
実験 不要な文字列の削除に成功
今後の課題
境界特定の精度の向上 不要部分と項目部分 問題点:項目部分が区切文字列に含まれる
複数の項目の分離 共通部分特定に改善の必要あり
項目の抽出に成功した後 異なるサイト間の同種の項目の統合