半構造化文書に対する木構造と文字列 を組合せたラッパーの自動生成法 山田泰寛* 池田大輔** 廣川佐千男** *九州大学大学院システム情報科学府 **九州大学情報基盤センター 発表手順 コンテンツ抽出プログラム:ラッパー 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 a font a 名前 <body>-<font>-TEXT メールアドレス < body>-<a>-TEXT 廣川佐千男 山田泰寛 Address: [email protected] Address: [email protected] Treeラッパー問題点 body font a font a Address: [email protected] Address: [email protected] 不必要な文字列まで抽出する 統合の際にノイズとなる PLRラッパー PLR(Path-Left-Right)ラッパー 木構造によるパスの特定 左・右区切文字列 メールアドレス パス < body>-<a>-TEXT 左区切文字列 Address: 右区切文字列 NULL body a Address: [email protected] a Address: [email protected] 発表手順 コンテンツ抽出プログラム:ラッパー PLRラッパー PLRラッパーの自動生成法 実験 まとめと今後の課題 高頻度部分(赤)と低頻度部分(黒)に分ける ラッパー生成アルゴリズム 境界を決め、 ルールを抽出 (1) コンテンツ部分特定 入力:1サイト上の 複数の半構造化文書 出現頻度の低い ルールを捨てる (2)ルール抽出 出力:ルール ルール (3)不要なルールの削除 コンテンツ部分特定 高頻度部分(赤) 文字列 低頻度部分(黒) 対応 対応 構造記述部分 コンテンツ部分 高頻度部分:頻度の高い部分文字列の現れる部分 部分文字列の長さ 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 の決定 初期状態(n,a)は(2,1) 2 3 4 1 2 n n+1 長さ (n, a)の交代数と (n+1, a)、(n, a+1)の交代数を比較 a a+1 極小の交代数をとる時、長さnと頻度の上位aは十分大きいと判断 % 出力例 例1 例2 高頻度部分(赤)と低頻度部分(黒)に分ける ラッパー生成アルゴリズム 境界を決め、 ルールを抽出 (1) コンテンツ部分特定 入力:1サイト上の 複数の半構造化文書 出現頻度の低い ルールを捨てる (2)ルール抽出 出力:ルール ルール (3)不要なルールの削除 ルールの生成 パスの特定 入力文書を木構造に展開 低頻度部分(黒)を含むノー ドのパスを特定 ルールの生成 区切文字列の抽出 前ステップで特定されたパスで特定されるノード 左区切文字列は、高頻度部分と低頻度部分の境界から前 に出現する文字列で共通する最長の文字列 右区切文字列は、低頻度部分と高頻度部分の境界から後 に出現する文字列で共通する最長の文字列 共通する文字列が無い場合は“NULL” アドレスは[email protected]です。 アドレスは[email protected]です。 アドレスは[email protected]です。 左区切文字列“アドレスは” 右区切文字列“です。” 高頻度部分(赤)と低頻度部分(黒)に分ける ラッパー生成アルゴリズム 境界を決め、 ルールを抽出 (1) コンテンツ部分特定 入力:1サイト上の 複数の半構造化文書 出現頻度の低い ルールを捨てる (2)ルール抽出 出力:ルール ルール (3)不要なルールの削除 不要なルールの削除 有用な項目の判断 項目の出現に注目 ある文書には現れ、ある文書には現れない項目 半数以上の文書から抽出できるルールを採用 高頻度部分(赤)と低頻度部分(黒)に分ける ラッパー生成アルゴリズム 境界を決め、 ルールを抽出 (1) コンテンツ部分特定 入力:1サイト上の 複数の半構造化文書 出現頻度の低い ルールを捨てる (2)ルール抽出 出力:ルール ルール (3)不要なルールの削除 発表手順 コンテンツ抽出プログラム:ラッパー PLRラッパー PLRラッパーの自動生成法 実験 まとめと今後の課題 実験 産経新聞(日本語, 50ファイル) 本文, 日付, 見出し, ジャンル ジャンル <html><head><title>TEXT SankeiNULL Altavista(英語, 50ファイル) Sankei-international 検索結果の件数 左区切文字列“We_found_” 右区切文字列“_results” 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ラッパー 項目部分を含むノードのパス 前後に共通する左・右区切文字列 実験 不要な文字列の削除に成功 今後の課題 境界特定の精度の向上 不要部分と項目部分 問題点:項目部分が区切文字列に含まれる 複数の項目の分離 共通部分特定に改善の必要あり 項目の抽出に成功した後 異なるサイト間の同種の項目の統合
© Copyright 2024 ExpyDoc