DEIM Forum 2016 H6-5

Web Index における配信型コンテンツを利用した自動ライブラリ更新システムの提案
大島 拓也†

遠山 元道†† 慶應義塾大学理工学部情報工学科 〒 223–8522 神奈川県横浜市港北区日吉 3-14-1
E-mail: †nanadama@db.ics.keio.ac.jp, ††toyama@ics.keio.ac.jp
あらまし

Web Index(WIX) とは、単語 (keyword) とそれに関連する Web 文書の URL(target) の組み合わせであるエントリの集合 (WIX ファイル) を閲覧中の Web 文書に対して結合 (アタッチ) することによって Web 文書中のキーワードに対して指定された URL へのハイパーリンクを生成し、Web 情報資源の結合を実現するシステムである。本
論文では，WIX システムにおいて，RSS のような複数の配信源より配信されるコンテンツを利用し，WIX ファイルのライブラリを追記的に自動更新するシステムについて提案する．
キーワードWeb Index, Web 情報システム, RSS, XML1. は じ め に

本論文では，ニュースサイトなどの日々コンテンツを追加，更新するサイトが配信している RSS を利用し，WIX システム

近年，インターネットの普及により Web 上での情報検索ののユーザが常に最新のコンテンツにアクセスすることを可能にニーズが著しく増加し，ユーザは検索エンジンを使用することする WIX ファイルの提供，更新，メンテナンスを行う WIXで必要な情報を得ることが可能となった. しかし，検索エンジファイルの更新システムについて提案するものである．

ンを用いた情報検索は，検索結果として得られた Web ページ

本論文の構成は以下の通りである．まず，2 章において本論内の単語の詳細情報を得たい場合には，新たに検索エンジンで文で説明する研究の目的を示す．3 章では，WIX システムの概再検索し，選択しなければならない．Web ページ作成者はハイ要について述べる．4 章ではシステムの構成および機能についパーリンクによって Web ページに関連する複数の情報を予めて述べる．5 章では評価を示す．6 章で結論を述べる．

結合することが可能だが, これは Web ページ作成者が意図した関連のみで結合され, 必ずしも閲覧するユーザのニーズに応えているとは限らない．そこで，著者らは Web における利用者主導による情報資源結合を実現するために，Web IndeX(以下，WIX と呼ぶ) システムという情報資源表現形式の提案，開発を行っている [1, 2] ．
キーワードと URL の組み合わせである，エントリの集合を

2. 研究の目的
現在提供されている WIX ファイルについて，その作成方法には，以下に示すような方法がある．

•

ターゲットとなる URL と，対応付けられるキーワードとを手動で記述する方法•

ターゲットとなる URL を，対応付けられるキーワードXML 形式で記述したものを WIX ファイルという．WIX シスをもとにして作成する方法

テムでは，WIX ファイルを用い，閲覧中の Web ページに結合

Wikipedia の見出し語をキーワード，その見出し語に該当す(アタッチ) をすることで，Web ページ内の文章に出現するキーる Wikipedia の記事ページの URL をターゲットとしているワードをそれに対応する URL へのハイパーリンクに変換する．

エントリの集められた Wikipedia の WIX ファイルや，英単語

現在の Web 形態では，Web ページ作成者によって特定のアンをキーワードとして，該当する Web 英和辞典の記事ページのカーテキストから特定のページへのリンクが関連付けられるとURL をターゲットとしているエントリの集められた英和辞典いう構造が一般的である．Web ページ内のリンクは常に既存の WIX ファイルなどが実際に生成されている．の Web ページへしかリンクすることができず，その Web ペー•

リンクの集合をひとまとめにしている Web ページを利ジ作成後に作成される新たな Web ページへのリンクを作成す用し， キーワードとターゲットとなる URL をまとめて取得しることはできない．WIX では，アンカーテキストとリンクをて作成したもの

Web ページから独立した「キーワードとリンク先の集合」と有名人の Ameba ブログのリンクをまとめた Web ページや，日して扱い，任意のドキュメントに対して，Web ブラウジングを本の有名企業の公式サイトのホームページのリンクをまとめた行っているユーザ主導で「結合」することでドキュメント内のWeb ページを利用した WIX ファイルが実際に生成されていキーワードを対応する URL のハイパーリンクに自動的に変換る．[3–5] ．

することができる．WIX システムの利用により，Web ページ

Web に存在する情報資源のうち，ニュースサイトの記事，企作成の時系列という壁を越え，古い Web ページからより新し業や団体のプレスリリース，個人が開設するブログの記事な

い Web ページへアクセスすることが可能となる．

ど，時系列で比較的頻繁に情報が記録，更新されていくコンテ

表 1 entry テーブル

ンツに対する，Web ブラウジングを行うユーザの関心は年々
wid eid

keywordtarget1

1

錦織圭

http://ja.wikipedia.org/wiki/錦織圭の WIX ファイルでは，このような，日々追加されていくコン

1

2

フェデラー

http//ja.wikipedia.org/wiki/ロジャー・フェデラー

テンツに直接アクセスすることができない．WIX システムの2

3

田中将大

http://ameblo.jp/tanaka-masahiro

3

6

前田健太

http://www.carp.co.jp/team14/member/p18.html

高まっている．現在の WIX システムで提供されているこれら特徴である，古い Web ページの閲覧中に新しい Web ページへアクセスすることが可能であるという点をより有効に活用するには，このようなコンテンツを含む Web ページへのアクセスファイルのエントリに対して辞書式マッチングを行うため, WIXを WIX システムにおいて可能にする必要がある．本研究の目ファイルをエントリ単位に分解し, WIX データベースに格納

的は，WIX ファイルの自動生成，自動更新システムを構築し，する.

WIX システムを利用して，日々追加されていくコンテンツを含む Web ページへのアクセスを可能にすることである．

3. Web Index システム

3. 3. 2 WIX データベース
WIX データベースでは, WIX ファイルをエントリ単位に分割し, 関係データベースにて管理する. WIX ファイルの情報は, entry テーブルに格納され, 管理される. entry テーブルに

3. 1 システムの概要

は, 各エントリが所属する WIX ファイルの id (wid), エントリ

Web Index (WIX) とは, Web における結合可能な情報資源の id (eid), 辞書語となる keyword と，それに対応する URLである. 現在の Web では, 特定のアンカーテキストから特定のの target が属性として存在する. entry テーブルの例を表 1 にページへのリンクがされるという構造が一般的である．これに示す.

対し，WIX では, アンカーテキストとリンクを Web ページか3. 3. 3 Find インデックス

ら独立した「キーワードとリンク先の集合」( WIX ファイル)として扱い, 任意のドキュメントに対しユーザ主導で「結合」を行うことでドキュメント内のキーワードを対応する URL へのハイパーリンクに変換する.

Find インデックスでは, WIX データベースの entry テーブ
ルからエントリ情報をメモリ上に展開し，高速なアタッチを実現する. WIX システムでは，Aho-Corasick 法に基づくオートマトンを構築し，辞書式マッチングを行う [6]．

3. 2 WIX ファイル
3. 4 ハイパーリンクの生成

図 2 WIX ツールバーの例 (Google Chrome Extension)

ユーザは，WIX ファイルの集合をブックマークとして記録しておき，Web ページを閲覧中に, アタッチボタンをクリックすることで，Web ページ中の単語をハイパーリンクに変換することができる. この結合操作をアタッチと呼ぶ. WIX システムのクライアントサイドは, FireFox add-on や Google
図 1 WIX ファイルの例

Chrome Extension によって実装されている. 図 2 は Chrome

WIX ファイルとは，XML 形式で記述されたキーワードとURL の組み合わせであるエントリの集合であり, WIX システ
ムにおいて，アタッチ対象とリンク先を決定する元として用いられるコンテンツの 1 つである. 記述例は図 1 のようになる.
エントリ内には, キーワードとなる見出し語が keyword 要素として格納され, それに対応する参照先の URL が target 要素に格納される. header 要素には, WIX ファイルのファイル概要,カテゴリー, 作者コメントなどのメタ情報を格納する.

3. 3 アーキテクチャ
3. 3. 1 WIX ライブラリ

図 3 アタッチ前の Web ページ

WIX ライブラリでは, 全ての WIX ファイルを，過去のバーExtension の一例である. 図 3 の記事を閲覧中に，アタッチボジョンも含めて保存しており, ファイル単位での情報管理を行っタンをクリックすることで，Web ページに含まれるキーワーている. アタッチの際には, アタッチエンジンが全ての WIX

ドのうち，WIX ファイルのエントリにキーワードとして含まれているものがあれば，WIX ファイルの target に記述されたな Web ページの構造を分析して取得方法を指定する必要がな

URL へのハイパーリンクが生成され，図 4 のようになる.

い．二点目は，Web ページの更新日時の取得が簡単にできることである．ニュースサイトなどの Web サイトでは，ブラウザのリクエストに対し，PHP などのサーバサイドスクリプトを利用して HTML を動的に生成しているものが多い．このような Web ページの更新日時は，記事そのものの更新日時ではな
く，サーバサイドスクリプトの実行日時になっており，記事の更新日時の取得には利用できない．一方，RSS では，その多くが表 2 に示すような更新日時を含んでおり，その取得は容易である．記事の更新日時は，古くなったコンテンツを，エントリ生成の対象から除外する処理において重要である．
本システムでは，以下の 3 ステップによって WIX ファイル

図 4 アタッチ後の Web ページの自動更新を行っている．

(1) キーワード候補の登録(2) RSS ファイルの登録と RSS アイテムの抽出

4. 自動 WIX ライブラリ更新システム(3) キーワード候補単語と RSS アイテムからエントリ生成システムの概要とデータの入出力を図 5 に示す．

4. 1 システムの概要
自動 WIX ライブラリ更新システムは，WIX システムのユーザが，ユーザ自身の興味に応じて，キーワードに関連するコンテンツに容易にアクセスできるようにすることを目的とした，WIX ファイルの自動更新・管理システムである．本システム
によって提供される WIX ファイルは，最新のコンテンツへのURL を含むものとなっており，ユーザが該当する WIX ファイルへのブックマークを含むアタッチボタンをクリックすることで，閲覧中の Web ページの単語に対し，それに関連する最新のコンテンツへのリンクが作成される．ユーザはこのリンクをクリックすることで該当するコンテンツにアクセスすることができる．
最新のコンテンツを取得するために，本システムは RSS を利用している．RSS とは，コンテンツを提供する情報提供者

図5

システム概要図が，更新情報をひとまとめにして利用しやすい形式で配信する

XML 形式の文書フォーマットである [7]．RSS 2.0 では，Web

4. 2 キーワード候補の登録ページの更新情報をアイテムという単位で扱っている．アイテ
ムに含まれる要素は，表 2 で示している．

エントリのキーワードの候補となる単語をキーワード候補としてデータベースに登録する．キーワード候補の単語群には，

表 2 RSS のアイテムに含まれる要素
要素名

説明<title>記事のタイトル<link>

記事のリンク URL<pubDate> 記事の更新日時

助詞や代名詞などのストップワードが含まれないようにする必要がある．本システムでは，キーワード候補の単語群として，日本語版 Wikipedia の見出し語約 200 万語を取得し，ここから，「ここ」「私」などのストップワードや，数字のみの見出し語，日付の見出し語などを取り除いて登録している．

RSS を利用して最新のコンテンツを取得する方法は，直接4. 3 RSS ファイルの登録と RSS アイテムの抽出

Web サイトをクローリングして最新のコンテンツを取得する方本システムでは，コンテンツの提供者が提供する，RSS フィー法より，以下の二点で優れている．一点目は，情報提供者がコダの URL を登録する必要がある．RSS フィーダを登録すると，ンテンツとして配信している記事の含まれるページのみのリン

RSS アイテム抽出モジュールで定期的に RSS フィーダより配クを，Web サイトの構造に依存せずに取得できることである．

信される RSS ファイルの更新を確認する．RSS ファイルに更直接 Web サイトをクローリングしてコンテンツを取得する場

新があった時，追加された RSS アイテムを取得し，データベー合は，サイトごとに異なる Web ページの構造を分析し，CSSスに登録する．また，RSS アイテム抽出モジュールでは，古くセレクタなどを用いて適切に必要なリンクのみを取得する必要なった RSS アイテムの削除も行う．RSS アイテムが古くなっがある．一方，RSS を利用したコンテンツ取得では，そのようたと判定する基準は二つある．一つは RSS アイテムの示すリ

表 3 拡張された entry テーブル
wid eid keyword

targettitle

4

1

錦織

http://www.nikkei.com/article/XXXXXX

錦織がベスト８入り...

4

2

錦織

http://news.tennis365.net/news/XXXXXX

錦織，アウェーに屈する

4

3

清田

http://www.nikkansports.com/XXXXXX

ロッテ清田＆藤岡の東洋大コンビ...

4

4

清田

http://headlines.yahoo.co.jp/XXXXXX

ロッテ清田、東洋大の後輩・藤岡に...

ンクがリンク切れとなっている場合である．もう一つは RSS アイテムの示す記事の更新日時から，一定時間以上経過していた場合である．いずれの場合も，古くなった RSS アイテムは削除され，エントリの生成の対象外となる．

4. 4 エントリ生成と WIX ファイルの更新

図 6 ポップアップされた複数のリンク

RSS アイテム抽出モジュールにおいて，RSS アイテムの更新が行われると，続いてエントリ生成と WIX ファイルの更新を行う．エントリ生成モジュールでは，データベースに登録さ5. 評

れている全ての RSS アイテムに対し，各 RSS アイテムに含ま5. 1 評価の方法

れている記事のタイトルに，同じくデータベースに登録されているキーワード候補の単語が含まれているかどうかを調べる．
タイトルにキーワード候補の単語が含まれていれば，含まれていた単語をキーワード，RSS アイテム中の Web ページの URLをターゲットとしたエントリを生成する．この操作をマッチングと呼ぶ．本システムでは，大量のキーワード候補からトライ木を生成し，それを利用してマッチングを行った．一つの RSSアイテムに対応する単語が複数ある場合は，それぞれの単語をキーワードとしたエントリを生成する．全ての RSS アイテムに対し，対応するエントリの生成が終わったら，エントリ全てを含む WIX ファイルを新たに作成する．RSS アイテム抽出モジュールで削除された古い RSS アイテムを含むエントリが残らないように，WIX ファイルの更新は追記型ではなく，完全な上書き型で行う．
本システムでは，同一のキーワードに対し複数の URL が対応するようなエントリが存在する．このような場合には，Webページ中のキーワードを直接ハイパーリンクに変換するのではなく，ポップアップの形で複数のリンクをまとめて表示し．
ユーザがユーザ自身の興味に応じてリンクを選択できるようにしている．図 1 で示したように，WIX ファイルに含まれる情報は，キーワードとリンク先となる URL に限られているが，これらの情報だけではユーザがリンクを選択する上で不十分である．そこで，本システムでは，表 3 のように WIX ファイルを価評価に当たって，Yahoo!JAPAN ニュースで提供されているRSS ファイル 443 個を登録した．本システムで RSS アイテムの取得を行ったところ，2015 年 12 月 28 日 20 時から，30 日20 時までの 48 時間に，9,879 個の RSS アイテムを取得できた．
本評価では，エントリ生成のためのマッチング処理における，探索範囲の違いによるリンクの変化を比較するために，以下に示す 2 種類の探索範囲を用意した．

•

RSS アイテムに含まれる，記事のタイトルのみ．

•

記事のタイトルに加え，RSS アイテムのリンク先の Webページを取得し，その本文全体．

Web ページ本文の取得にあたり，HTML のスクレイピングに特化した Java のライブラリである，Jsoup を利用した．Ya-hoo!JAPAN ニュースで提供されている Web ページからは，広告やナビゲーションなどの，コンテンツとは関係のない部分を取り除いた部分を，CSS セレクタで ”div#main” と指定することで取得できる．このようにして取得した Web ページの一部を，以下 Web ページの本文と呼ぶ．取得したデータは，データベースの rssitem テーブルに，text 型の content 要素として格納した．本文を取得する場合は，RSS アイテム一つにつき一回の HTTP リクエストとレスポンスとが必要になるため，RSSのみを取得して解析するのに比べ，RSS アイテムの取得にかかる時間は非常に大きくなる．

拡張し，各エントリごとにエントリのタイトルを設定するよう

5. 2 特定のキーワードについての結果と考察にした．

探索範囲にタイトルのみを利用した場合と，本文全体を利用

WIX ファイルを拡張し，各エントリにタイトルを設定する
ことで，図 6 に示すように，ポップアップによって表示された

した場合のそれぞれについて，幾つかの単語に対し生成されたエントリの数を表 4 に示す．

複数のリンクは，リンク先のページのタイトルが表示され，一探索範囲がタイトルのみの場合，”ソフトバンク”，”ヤクル

目でどのようなページにリンクするかわかるようになった．

ト”のような，複数の記事ページで多く見られるキーワード更新された WIX ファイルは，3 章で説明した，他の WIXについては，図 7 のように十分なエントリ数が得られた．一ファイルと同様に，WIX DB に登録され，Find インデックス

方，”Linux”，”川端慎吾”のような，限られた記事ページでしを構築して．アタッチ可能な状態となる．

か取り上げられないようなキーワードについては，エントリを得ることはできなかった．
探索範囲を本文全体とした場合，複数の記事ページで多く見られるキーワードについては，非常に多くのリンクが得られ表 4 探索範囲別のキーワードごとのエントリ数
キーワード

タイトルのみ 本文全体

朝日新聞デジタル 118

124

5. 3 全体的なキーワードについての結果と考察
探索範囲を，Web ページのタイトルのみとした時と，Web

野球

28

233

ページの本文全体とした時の，エントリの生成数を比較した結

総理

31

206

果を 5 に示す．

ソフトバンク

15114

ヤクルト

648

フェデラー

322

Linux

017

川端慎吾

02

表 5 探索範囲，キーワード数とエントリ数の関係
探索範囲

エントリ キーワー

平均エン最大エン数

ド数

トリ数 *1

トリ数 *2

10,8884.16

453,276,577 59,903

54.70

238

タイトルのみ 45,266
本文全体*1 エントリ数 / キーワード数．一つの単語あたりの平均エントリ数．*2 一つの単語に対し生成された最大エントリ数．

ハイパーリンクの数がおよそ 20 個以下であるようなキーワー
図 7 探索範囲がタイトルのみの場合の，”ヤクルト”でのアタッチ結果

ドに対しては，WIX による結合が行われたことで，ユーザが興味のある Web ページに容易にアクセスすることができるよる．”ヤクルト”の場合のアタッチ結果を図 8 に示す．このような場合は，ユーザが多くのリンクの中からユーザ自身の興味のあるページを選択するのはやや負担となると考えられる．一方，”Linux”，”川端慎吾”のような，限られた記事ページでしか取り上げられないようなキーワードについても，図 9 に示すようにエントリが 2 つ得られた．

うになると考えられる．ただし，探索範囲がタイトルのみであろうと，本文全体を含んでいようと，生成されたエントリ数が大きくなっている要因として，”野球”，”総理”など，ユーザがあまり注目しないほど一般的なキーワードを含むエントリを生成しているという点があげられる．これらのキーワードに関してはユーザの注目の対象になることが少ないため，エントリがいくら生成されても，ユーザが WIX システムを利用する上であまり妨げになるような要素はないと考えられる．一つのキーワードに対し，多数のエントリが生成されうる場合には，エントリの生成上限数を指定し，更新日時の新しいコンテンツへのリンクを含むエントリのみを生成することや，あらかじめ２つの探索範囲でエントリ生成を行い，キーワードごとに生成されたエントリ数に応じて，最終的な WIX ファイルに記述するエントリを変更することによって，このような問題を解消することが可能であると考えられる．

6. お わ り に
6. 1 結論

本研究では，ニュースサイトやブログの記事，企業や団体の
図8

探索範囲が本文全体の場合の，”ヤクルト”でのアタッチ結果公式サイトで配信されるプレスリリースなどのような，時系列で比較的頻繁に情報が記録，更新されていくコンテンツにアクセスすることを可能にするための WIX ファイルの自動生成，自動更新及び管理システムを提案し，実装した．実装にあたっては，Web ページの更新情報の配信に幅広く使われている RSS

図9

探索範囲が本文全体の場合の，”川端慎吾”でのアタッチ結果を利用するシステムを構築し，Web ページの構造を解析して情報抽出するよりも簡単な更新情報の取得を可能にした．本研究

RSS アイテムのタイトルには，その RSS を提供しているで提案するシステムの利用により，WIX ファイルのライブラ

Web サイトの名前が含まれているものも多い．”朝日新聞デジリの運用者の，WIX ファイルの作成の負担を軽減することがタル”というキーワードはその一例で，Web ページの内容その可能となる．

ものとは関連のない Web ページまで対応付けられてしまう場合が多い．

6. 2 今後の課題

タイトルのみの探索範囲で十分に関連するコンテンツへのリマッチングに用いるキーワードを，あらかじめ抽出しておいンクが得られる場合と，本文全体まで探索してようやく関連すた単語群に限定するのではなく，タイトルや本文などの入力かるコンテンツへのリンクが得られる場合とがあると考えられる．

ら抽出する方法がある．MeCab [8] のような形態素解析エンジンを利用して，新しい単語をキーワードとして抽出する方法が考えられる．

Web ページの本文全体を抽出するにあたり，Web ページから広告やナビゲーションなどのノイズとなりうる要素を排除してコンテンツ部分のみを抽出する必要がある．HTML 文書から部分文書検索を行う技術 [9] の本システムへの実装が考えられる．

文献[1] 林昌弘，青山峻，朱成敏，遠山元道. KeioWIX システム (1) ユー
ザインターフェース. データ工学ワークショップ，DEIM2011.
2011.
[2] 森良介，藪達也，朱成敏，遠山元道. Keio WIX システム (2)サーバーサイド実装. データ工学ワークショップ，DEIM2011.
2011.
[3] 藤井洋太郎，遠山元道．WIX システムにおけるコンテンツ作成
支援システム．DEIM 2012．2012．
[4] 市東隼，分部亮太，朱成敏，遠山元道．Keio WIX システム (3)コンテンツ作成．DEIM2011．2011．
[5] 金岡慧，遠山元道．自動更新型 WIX ファイル生成システムおよび Deep Web に対するアタッチ機構の構築．DEIM2014．2014．
[6] 石崎文規，遠山元道. 大規模 Aho-Corasick オートマトンにおける追加更新手法の提案. データ工学ワークショップ，DEIM2012.
2012.
[7] RSS Advisory Board, ”RSS 2.0 Specification”, http://www.
rssboard.org/rss-specification, 2016 年 1 月 15 日アクセス．
[8] MeCab http://mecab.googlecode.com/svn/trunk/mecab/doc/index.html?sess=3f6a4f9896295ef2480fa2482de521f6．
[9] 欅 惇志，宮崎 純，波多野 賢治，山本 豪志朗，武富 貴史，加藤博一．XML 部分文書検索技術の Web 文書への適用． DEIM
Forum 2014, 2014.
[10] 吉永 光，古川 孝則，山本 博章，金子 美博．トライ木を用いたXML キーワード検索法，DEIM Forum 2014, 2014.
[11] 古川 孝則，滝澤 健斗，山本 博章，金子 美博．トライ木を用いた XML キーワード検索法，DEIM Forum 2015, 2015.
[12] Y. Xu, Y. Papakonstantinou. Eﬃcient Keyword Search
for Smallest LCAs in XML Database, Proc. of SIGMOD,
pp.537-538, 2005.