第一回SPARTSプロジェクトミーティング 資料 ソフトウェア検索の現状分析 亀井俊之 粕淵健郎 佐藤弘紹 門田暁人 松本健一 奈良先端科学技術大学院大学 2002年3月18日 はじめに(発表の位置づけ) • ソフトウェア検索システム: – 収集 – 解析 – 分類・整理 • 本発表: – 収集に的を絞る. – 既存の手法・システムを紹介し,分析する. – 今後のアプローチを提案する. 発表の流れ • 従来のソフトウェア検索法 – 既存システムの整理 – 今後の指針 • WWW検索エンジンにおけるクロウリング – 検索エンジンの仕組み – クロウリングの特徴 – 今後の指針 • まとめ 既存のソフトウェア検索 • 専用サービス – 登録型ソフトウェアライブラリ – 登録型ソースコードライブラリ – FTP 検索サービス • WWW検索エンジンによる検索+ブラウジング キーワードを工夫することで,目的のソフトのページを探す. (例:download,version等のキーワードを併用する) • 一般のWWW検索エンジン + 自動Indexing&解析 (本研究で目指す物?) 登録型ソフトウェアライブラリ • ソフトウェアやその関連情報を人手でデータベース 化し,検索させる. – 長所:人間がデータベース化するのである程度の精度が 期待できる. – 短所:データベースの量が少ない. • 例: – Vector www.vector.co.jp/ – 窓の杜 www.forest.impress.co.jp/ – Softwarexchange.com 登録型ソースコードライブラリ • 登録ソフトウェアライブラリのソース版. – 長所:人間がデータベース化するのである程度の精度が期待できる. – 短所:データベースの量が少ない.ソフトウェアライブラリよりももっと少 ない. • 例: – Layer-8 SourceCode Exchange www.layer-8.com/sce/ – freshmeat.net (開発プロジェクトの登録) – SourceForge.net (同上) (例) www.layer-8.com/ FTP検索サービス • 世界各地のFTPサーバから登録されているファイル名を取得 してリストを作成し,ファイル検索を行うことができるようにする. – 長所:世界中のFTPサーバを対象にできるので量が多い. – 短所:ファイル名でしか検索できず,検索しにくい. • 例: – Archie Gateway www.iij.ad.jp/archie.html – AllTheWeb.com http://www.alltheweb.com/ FTP検索に関する論文 • 広瀬雄二,大駒誠一:”インターネット上の資源検索 システムの設計と評価”,情報処理学会誌,Vol.39, No.4,pp.1108-1115,Apr.1998. – 設計したシステムDartsは,パッケージの持つ属性を検索 キーとしても指定できる. • カテゴリ,OS,マシン,用途など – Dartsは,一般公開されていると書かれているが,現在で はアクセスできない状況にあるので,状況が把握できない. (http://darts.comp.ae.keio.ac.jp) WWW検索エンジンによる検索 + ブラウジング • WWW 全体を対象に検索を行い,検索エンジンが提 示した情報をもとに探索を進める. – 長所:WWW全体を検索対象とできるので,多種多様の結 果を得ることができる. – 短所:検索結果にノイズが多く含まれ,実際にいる情報が 埋もれてしまう. – ユーザが探索しないといけないので面倒. この短所を補えば理想的な検索方法と成りうる. 一般のWWW検索エンジン + 自動Indexing&解析 • SEIのAgora※ :Java BeansとCORBA Objectの サーチエンジン – クロウラにより全世界から自動的にIndexを作成する. – AltaVistaのSDKを使って実装している. – Java: ページのHTML中にappletタグがあるかどうかを 調べ,appletを自動ダウンロードし,applet中で参照され ているJava BeansをIndex化する. – CORBA: CORBAネーミングサービスを利用して Objectを探す. ※ R.C. Seacord, S.A. Hissam, K.C. Wallnau, “Agora: A Search Engine for Software Components,” IEEE Internet Computing, Vol.2, No.6, pp.62-70, 1998. 登録型 + クロウラ (ハイブリッド型) • CodeHound ※ – Yahooのように,WWWサイトを登録する. • サイト運営者による登録 • ユーザによる登録 – 登録されたサイトだけを定期的に探索し,各サイト内のテ キスト情報をIndex化する. – ページ内のアーカイブを解析する. • Zip/Tar/GZip ファイルの中身を調べる. • 検索結果を表示する際に,ファイルへの直リンクを提示する. – 詳細は「we can’t talk too much about this」と書かれて いるため,不明である. ※ http://www.codehound.com/ http://www.codehound.com/ 今後の指針 • Agoraのアプローチを,Java,CORBA以外の言語 へも広げることが望ましい. – クロウラにより全世界から自動的にIndexを作成する. – 各Webページ中のソフトウェアを自動的に調査する. • 一方では,Webページ中の全てのアーカイブを自 動ダウンロードして中身を調べるのは,実行効率の 点から無理がある. – フィルタリングを行う.(明らかにソフトウェアと関係ないと 思われるページを探索しない) – アーカイブの一部だけをダウンロードする. (たとえば,LZHファイルは,ファイルの先頭に圧縮ファイ ルのリストが入っている) 発表の流れ • 従来のソフトウェア検索法 – 既存システムの整理 – 今後の指針 • WWW検索エンジンにおけるクロウリング – 検索エンジンの仕組み – クロウリングの特徴 – 今後の指針 • まとめ WWW検索エンジンの仕組み カテゴリ分け フィルタリングエンジン Filtering Engine カテゴリ検索 クライアント Client 新規ページ・ 更新ページの収集 単語検索 索引作成 インデクサ Indexer クロウラ Crawler クロウリング(Crawling) • クロウリング:クロウラを用いて検索対象となるWeb ページを増やしていく処理. • クロウラ(crawler):Web上のハイパーテキストを自 動的にたどるプログラム. – ページの収集: • Webページを取得する. • そのページから参照されているページをたどる. – ページの更新 探索を始める起点とする URL や巡回するアルゴリズムを 工夫することによって,集めるデータを選別することができる. 考察:クロウリング手法 • ソフトウェア資源のみを重点的に集めるクロウリング 手法を用いる場合の重要な要素: – 起点URL:既存検索エンジンを用いて起点URLを選定する. – 巡回アルゴリズム:Web 上のコミュニティを発見し,その中 を重点的に巡回する. • 起点 URL を既存検索エンジンから選定することによ る利点: – 人的資源を節約できる. – 検索質問語(クエリ)を拡張することにより,精度の高い情報 の収集を期待できる. – 機械的に処理するので,大量に収集できる. – 新規Webサイト発見の効率が向上する. 今後の指針 (1/2) • サイトの発見 – 新規のソフトウェア資源を発見するに必要な起点URLは, 既存の検索エンジンを複数台使って調べる.そのために, 既存の検索エンジン対し,それぞれ最良のソフトウェア発 見クエリを考える. • 巡回(更新チェックと類似サイト発見) – 巡回アルゴリズムは,多くのソフトウェアを持っているコ ミュニティサイトを重点的に(高頻度で)調べることができ るようなものを考える. 今後の方向性指針 (2/2) • データベースへの追加 – HTMLのタグを解析する,または文章をある程度理解する などして,検索対象文書が存在するパターンを学習し, データベースを強化していくことができるようにする. 発表のまとめ • ソフトウェア検索の現状分析を行った. – – – – 登録型サービス FTP検索サービス 一般のWWW検索エンジンによる検索 Agora,CodeHoundのアプローチ • 今後の指針について議論した. – Agoraのアプローチとフィルタリングの組み合わせ – アーカイブ解析の工夫(LZHファイル) – クローリング手法の検討
© Copyright 2025 ExpyDoc