DEIM Forum 2016 H6-4

iOS プラットフォームにおける Web Index システムの提案
生田 史織†

遠山 元道 ††† †† 慶應義塾大学理工学部情報工学科 〒 223–8522 神奈川県横浜市港北区日吉 3–14–1
E-mail: †ikuta@db.ics.keio.ac.jp, ††toyama@ics.keio.ac.jp
あらまし Web Index とは，単語とそれに関する Web 文書の URL のペアの集合を閲覧中 Web 文書に対して結合することによって Web 文書中のキーワードに対して指定された URL へのハイパーリンクを生成し，Web 情報資源の結合を実現するシステムである．既存の WIX ではデスクトップブラウザにのみ対応した処理機構を実現していたが、WIX の利便性をさらに向上させるためには、モバイル端末において利用可能である必要がある。そこで、本研究では国内においてモバイルブラウザのシェアの 6 割以上を占める iOS プラットフォームの標準ウェブブラウザであるSafari ブラウザに対応する新たなアタッチ処理機構およびそれらを用いたモモバイルアプリケーションの開発を行う．
キーワードWeb 情報システム，Web Index，iOS，アプリケーション

1. は じ め にクも可能となる．
現在，WIX システムはデスクトップブラウザに対応した処

近年，インターネットの普及により Web 上での情報検索の理機構を主軸に実現している．WIX システムの利便性をさらニーズが著しく増加し，ユーザは検索エンジンを使用することに向上させ，ユーザ数を拡大するためには，モバイル端末におで必要な情報を得ることが可能となった. しかし，検索エンジいても WIX システムが利用可能である必要がある．そこで，ンを用いた情報検索は，検索結果として得られた Web ページ

本研究ではモバイルウェブブラウザに対応する新たなアタッチ内の単語の詳細情報を得たい場合には，新たに検索エンジンで処理機構およびそれらを用いた WIX システムのモバイルアプ再検索し，選択しなければならない．Web ページ作成者はハリケーションの開発を行った．

イパーリンクによって Web ページに関連する複数の情報を予

本論文の構成は以下のとおりである．まず，2 章で WIX シめ結合することが可能だが, これは Web ページ作成者が意図ステムの概要・現状を説明し，次に 3, 4 章で本研究の設計と実した関連のみで結合され, 必ずしも閲覧するユーザのニーズに装について述べる．最後に 5 章で評価について述べ，6 章でま応えているとは限らない．そこで，著者らは Web における利とめを行う．

用者主導による情報資源結合を実現するために，Web IndeX(WIX) システムという情報資源表現形式の提案，開発を行っている [1] [2]. これは，関係データベースの基礎となる関係モデルの考え方を Web に応用したシステムであり，新たな Web の形態の 1 つとして研究が行われている.

2. Web Index システム
WIX ファイルは XML 形式で記述されたキーワードと URL

単語 (keyword) と URL (target) の組み合わせであるペアの組み合わせであるエントリの集合である．エントリには，キー(WIX エントリ) の集合を XML 形式で記述したものを WIX

ワードとなる見出し語を keyword 要素として，それに対応すファイルという．WIX ファイルを用い，閲覧中の Web ページ

る詳細情報を示す参照先の URL を target 要素として格納すに結合 (アタッチ) することで，Web ページ内の文章に出現する．また header 要素にファイル概要, 作者コメントなど, そのるキーワードをそれに対応する URL へのハイパーリンクに変WIX ファイル全体についてのメタデータを格納することも可換する．現在の Web 形態では，Web ページ作成者によって特能である. 記述例は図 1 のようになる. WIX ファイルは「日本定のアンカーテキストから特定のページへのリンクが関連付け語版 wikipedia の見出し語一覧 (wikipedia ja.wix)」や「企業られるという構造が一般的である．Web ページ内のリンクは公式サイト (企業.wix)」や「Ameba ブログ (Ameba.wix)」な常に既存の Web ページへしかリンクすることができず，そのどのように, 内容がグルーピングされたものが存在する.

Web ページ作成後に作成される新たな Web ページへのリンクを作成することは，その Web ページ作成時には決してできな

2. 1 アーキテクチャ

い．WIX では，アンカーテキストとリンクを Web ページから

WIX システムでは WIX ファイルの情報を WIX ライブラ独立した「キーワードとリンク先の集合」として扱い，任意のリ・WIX DB・Find インデックスの 3 つの異なる形態で管理ドキュメントに対してユーザ主導で「結合」することでドキュする．これら 3 形態の比較概念図を図 2 に示し，それぞれにつメント内のキーワードを対応する URL のハイパーリンクに自いて説明していく.

動的に変換する．その結果，Web ページ作成の時系列という壁を越え，古い Web ページからより新しい Web ページへのリン2. 1. 3 Find インデックス
Find インデックスでは，WIX DB の entry テーブルからエントリ情報をメモリ上に展開する．WIX システムでは，Aho-Corasick 法に基づくオートマトンを構築し，辞書式マッチングを行う．

2. 2 ハイパーリンクの生成 (アタッチ)
WIX システムのクライアントサイドは, FireFox add-on やChrome Extension などによって実装されている [1]. 32 はChrome Extension の例である. ユーザがブックマークボタンをクリックすると, サーバーサイドにおいて閲覧 Web ページとFind インデックスとの辞書式マッチングが行われ, リンク生成済の HTML 文書がレスポンスとして返され, 元のページには
図 1 WIX ファイルの記述例

なかったハイパーリンクが処理後のページに生成される. このハイパーリンクを生成する処理をアタッチと呼ぶ. これによって, WIX ファイル内の target タグに記述されている URL と結合されたことになる.

図2

形態比較概念図

図 3 ハイパーリンクの生成 (Chrome Extension)

2. 1. 1 WIX ライブラリ
WIX ライブラリでは，全ての WIX ファイルの XML テキス
トをそのまま保存しており，ファイル単位での情報管理を行っている．アタッチの際には全ての WIX ファイルのエントリに

2. 3 WIX システムの強み対して辞書式マッチングを行うため，WIX ファイルをエント

一般的なウェブブラウジングでは，ユーザは閲覧しているリ単位に分解し WIX DB に格納する．

Web ページ上で気になる単語があった場合，その単語を新しく開いたタブの検索窓にコピーアンドペーストもしくは直接入力

2. 1. 2 WIX DB

し検索することでその単語に関する情報を得ている．一方 WIXWIX DB では，ライブラリで管理している WIX ファイルシステムでは，使用する WIX ファイルをツールバーで選択しをエントリ単位に分解し，RDB タプルとして管理する．WIX

リンクが生成された単語をクリックすることでユーザが求めるファイルのもつエントリの情報は entry テーブルで管理される．

情報を得ることができる．このようにクリックのみでユーザが(表 1)．エントリが属する WIX ファイルの id(wid)，エントリ必要とする情報を取得可能であることは WIX の強みのひとつの id(eid)，辞書語となる keyword とそれに対応する target をであるといえる．

属性として持つ．

2. 4 WIX システムの現状
表 1 entry テーブル
wid eid

keywordtarget

1

1

錦織圭

http://ja.wikipedia.org/wiki/錦織圭

1

2

フェデラー

http://ja.wikipedia.org/wiki/フェデラー

2

3

田中将大

http://ameblo.jp/tanaka-masahiro/

3

5

坂本勇人

http://www.giants.jp/G/player/prof 2756.html

：

：

：

：

現在 WIX システムは Chrome, Safari, Firefox とデスクトッ
プブラウザに対応した処理機構を主軸として提供している．しかしこの現状には２つの懸念点があると考えられる．１つ目は，デスクトップブラウザでは WIX の強みを活かしきれていないという点である．これは PC ブラウザにはマウスや物理キーボードが存在しており，検索したいワードのコピーアンドペースト・入力が比較的容易であるということである．２つ目は，

近年のウェブ技術の発展によりウェブ利用形態はデスクトップ環境からモバイル環境へ広がっているという点である．モバイ
ル端末上でのウェブの利用形態は PC 上でのものと大きく異なっているため，デスクトップ環境のみへの対応ではユーザのニーズに応えきれていないといえる．この懸念点２点は，WIXをシステムとして提供し，ユーザの規模を拡大するのに足かせになるといえる．

2. 4. 1 WIX システムとモバイル端末

図 4 WIX アプリケーションのイメージ

一般的にモバイル端末はデスクトップ PC に比べて画面が小さく物理キーボードが無いため文字が入力しづらい．そのため，ここで，さらに具体的に拡張機能としての WIX アプリケー

デスクトップ PC でのウェブ検索と比べて，モバイル端末で行ションの挙動を決定すべく，AppExtension の機能について詳われるウェブ検索のクエリは短く・また曖昧なものが使用されしく説明する．AppExtension では様々な拡張ポイントが提供る傾向があるといえ，このことに注目したモバイル検索エンジされているが，本研究では Action というホストアプリケーションの研究などが実際に行われている [4]．このことから，モバインで表示されるコンテンツを操作または表示する拡張ポイント

ル機器の画面の小ささと文字の打ちづらさはモバイル検索の課というものを使用する．実際に Action を使用しているアプリ題となっているといえる．また，ウェブページ上に検索したい

ケーションとしては，パスワード管理アプリの 1Password [7] や文字列があった場合，PC 上のマウス操作では容易であった文iOS ブラウザ上でのソースコードを表示する View Source [8]字列の選択がモバイル端末では指による操作ため困難であるとなどがあげられる．

いった問題点がある．そこで，モバイル端末において WIX シ

実際に 1Password の挙動の流れを例示する．図 5 のようにステムが利用可能となれば，クリックのみでウェブページを遷Twitter のログイン画面を Safari ブラウザで開いた場合，拡張移できるため，モバイル端末上でのウェブブラウジングに伴う機能アイコンから 1Password のアプリケーションを呼び出し，様々なコストを削減でき，WIX のユーザ規模の拡大にもつな立ち上がった 1Password のアプリケーション内で twitter アカがるといえる．

ウントを選択をし，その結果が反映された Safari ブラウザが自現在，androidOS で使用可能な専用ブラウザを用いた WIX動的に返されるといった流れになっている．これがホストアプ処理機構が実現している [5]．しかし，モバイルウェブブラウ

リケーションで表示されるコンテンツを操作または表示するとザは主に上位 3 つのシェアが全体の約 97 ％を占めており，新いう Action 拡張ポイントの機能を使用した例である．

しくその他の専用ブラウザを使用するユーザは獲得できないと言える．そのため，シェアの大半を獲得するためには，iOS プラットフォームの標準ブラウザである Safari ブラウザに対応することは不可欠であるといえる．

3. 提 案 設 計
iOS プラットフォームの標準ブラウザである Safari ブラウザに WIX システムを対応させる本研究の提案設計では，2014 年9 月にリリースされた iOS 8 より追加された AppExtension [6]という機能を利用する．この機能により，iOS プラットフォームにおける WIX システム専用のブラウザを構築するのではなく，

図 5 1Password の挙動例

iOS の safari ブラウザをホストアプリケーションとし，WIXシステムを拡張機能のアプリケーションとすることで，ユーザが新たに使用するブラウザを変更することなく iOS プラット
フォームにおいて WIX システムを利用することが可能となった． AppExtension とは，起動中のアプリケーションから別のアプリケーションを立ち上げる拡張機能である．実際の挙動のイメージは図 4 のようになっている．Safari が AppExtension
を通して拡張機能である WIX アプリケーションをリクエストし，WIX アプリケーションがリソースを ReadWrite しレスポンスを AppExtension を通して Safari に返す．

4. 実装

続いて，拡張機能としての WIX アプリケーションの実際のクライアントサイドでの挙動を決定していく．ここでは，考えられる 3 つの実装例を提示する．本研究ではこれら 3 つを全て実装し、評価実験を行う．

4. 1 実 装 例 1

せ，そこからユーザが必要なリンクをクリックする．すなわち，1 つ目の実装例は図 6 のようになっている．これは PC ブラ

上記の 2 つのものと違い Web 文書上にリンクを生成せず，リウザ上提供されている WIX システムの挙動に類似している．

ンク先のリストを表示するため，表示するリストの順序やそのリンクを生成したいウェブ文書がある場合，拡張機能として数をアルゴリズムによって決定することでユーザの利便性を向WIX アプリケーションを立ち上げ，そのアプリ内でリンク先を上できると考えられる．

生成する WIX ファイルを選択しリンクが生成された Web 文
書が Safari 上で返される．

図8

図6

実 装 例 3

実 装 例 1

5. 評
4. 2 実 装 例 2

価クライアントサイドにおけるユーザビリティ，サーバーサイ

2 つ目の実装例は図 7 のようになっている．拡張機能としてドにおける通信量などの観点から 3 つの実装例に対しての評価

WIX アプリケーションを呼び出した際，WIX アプリケーショ実験を行う．また，更なるユーザビリティの向上を目指すべく，ン内で WIX ファイルを選択することなく自動的にアタッチさユーザのクリック履歴や GPS による位置情報を利用した機能れた Safari のウェブ文書が返される．これは 1 つ目の実装例での構築，それによって向上したユーザビリティを評価する．

懸念される WIX アプリケーションを立ち上げ，WIX ファイルを選択するというユーザの動作コストを解消する実装例となる．
これまでの WIX システムのようにアタッチの際にリンク先を6. ま と め決定するのではなく，全てのリンク先が文書上のキーワードに

近年のウェブ技術の発展によりウェブ利用形態はデスクトッアタッチされ，その中からユーザが必要なリンク先を選択する．

プ環境からモバイル環境へ広がっている．モバイル端末上でのウェブの利用形態は PC 上でのものと大きく異なり，デスクトップ環境のみへの対応ではユーザのニーズに応えきれていない．モバイル端末において WIX システムが利用可能となれば，クリックのみでウェブページを遷移できるため，モバイル端末上でのウェブブラウジングに伴う様々なコストを削減でき，WIX のユーザ規模の拡大にもつながる．そこで，本研究では
iOS プラットフォームの標準ウェブブラウザである Safari ブラウザに対応する新たなアタッチ処理機構を備えたモバイルアプ
リを AppExtension 機能を利用し開発を行う．

文図7

実 装 例 2

4. 3 実 装 例 3
3 つ目の実装例は図 8 のようになっている．従来の WIX システムとは異なった形の新しい実装例である．拡張機能として呼び出した WIX アプリケーション上で，ブラウザ上に表示されていた Web 文書のキーワードとリンク先のリストを表示さ献[1] 林昌弘, 青山峻, 朱成敏, 遠山元道.KeioWIX システム (1) ユー
ザインターフェース. データ工学ワークショップ, DEIM2011.
2011.
[2] 森 良介, 藪 達也, 朱 成敏, 遠山 元道. Keio WIX システム (2)サーバーサイド実装. データ工学ワークショップ, DEIM2011.
2011.
[3] 石崎文規, 遠山 元道. 大規模 Aho-Corasick オートマトンにおける追加更新手法の提案. データ工学ワークショップ, DEIM2012.
2012.

[4] Leung, Kenneth Wai-Ting, Dik Lun Lee, and Wang-Chien
Lee. PMSE: A personalized mobile search engine. Knowledge and Data Engineering, IEEE Transactions on 25.4
(2013): 820-834.
[5] 藤井洋太郎, 遠山元道.Web Index クライアントサイドにおけるクロスプラットフォーム化. 慶應義塾大学大学院修士論文,2013.
[6] https://developer.apple.com/jp/documentation/ExtensibilityPG.pdf[7] https://agilebits.com/onepassword[8] https://itunes.apple.com/jp/app/view-source-html-javascript/id917660039?mt=8&ignmpt=uo%3D4