210 likes | 297 Views
ソフトウェア検索の現状分析. 第一回 SPARTS プロジェクトミーティング 資料. 亀井俊之 粕淵健郎 佐藤弘紹 門田暁人 松本健一 奈良先端科学技術大学院大学 2002 年 3 月 18 日. はじめに(発表の位置づけ). ソフトウェア検索システム: 収集 解析 分類・整理 本発表: 収集に的を絞る. 既存の手法・システムを紹介し,分析する. 今後のアプローチを提案する.. 発表の流れ. 従来のソフトウェア検索法 既存システムの整理 今後の指針 WWW検索エンジンにおけるクロウリング 検索エンジンの仕組み クロウリングの特徴 今後の指針
E N D
ソフトウェア検索の現状分析 第一回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 (同上)
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全体を検索対象とできるので,多種多様の結果を得ることができる. • 短所:検索結果にノイズが多く含まれ,実際にいる情報が埋もれてしまう. • ユーザが探索しないといけないので面倒. この短所を補えば理想的な検索方法と成りうる.
一般のWWW検索エンジン + 自動Indexing&解析一般の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/
今後の指針 • Agoraのアプローチを,Java,CORBA以外の言語へも広げることが望ましい. • クロウラにより全世界から自動的にIndexを作成する. • 各Webページ中のソフトウェアを自動的に調査する. • 一方では,Webページ中の全てのアーカイブを自動ダウンロードして中身を調べるのは,実行効率の点から無理がある. • フィルタリングを行う.(明らかにソフトウェアと関係ないと思われるページを探索しない) • アーカイブの一部だけをダウンロードする.(たとえば,LZHファイルは,ファイルの先頭に圧縮ファイルのリストが入っている)
発表の流れ • 従来のソフトウェア検索法 • 既存システムの整理 • 今後の指針 • WWW検索エンジンにおけるクロウリング • 検索エンジンの仕組み • クロウリングの特徴 • 今後の指針 • まとめ
カテゴリ分け フィルタリングエンジン Filtering Engine カテゴリ検索 分類データ 収集データ 全文検索 インデックス 新規ページ・ 更新ページの収集 単語検索 インデクサ Indexer クロウラ Crawler 索引作成 WWW検索エンジンの仕組み クライアント Client WWW
クロウリング(Crawling) • クロウリング:クロウラを用いて検索対象となるWebページを増やしていく処理. • クロウラ(crawler):Web上のハイパーテキストを自動的にたどるプログラム. • ページの収集: • Webページを取得する. • そのページから参照されているページをたどる. • ページの更新 探索を始める起点とする URLや巡回するアルゴリズムを 工夫することによって,集めるデータを選別することができる.
考察:クロウリング手法 • ソフトウェア資源のみを重点的に集めるクロウリング手法を用いる場合の重要な要素: • 起点URL:既存検索エンジンを用いて起点URLを選定する. • 巡回アルゴリズム:Web 上のコミュニティを発見し,その中を重点的に巡回する. • 起点 URL を既存検索エンジンから選定することによる利点: • 人的資源を節約できる. • 検索質問語(クエリ)を拡張することにより,精度の高い情報の収集を期待できる. • 機械的に処理するので,大量に収集できる. • 新規Webサイト発見の効率が向上する.
今後の指針 (1/2) • サイトの発見 • 新規のソフトウェア資源を発見するに必要な起点URLは,既存の検索エンジンを複数台使って調べる.そのために,既存の検索エンジン対し,それぞれ最良のソフトウェア発見クエリを考える. • 巡回(更新チェックと類似サイト発見) • 巡回アルゴリズムは,多くのソフトウェアを持っているコミュニティサイトを重点的に(高頻度で)調べることができるようなものを考える.
今後の方向性指針 (2/2) • データベースへの追加 • HTMLのタグを解析する,または文章をある程度理解するなどして,検索対象文書が存在するパターンを学習し,データベースを強化していくことができるようにする.
発表のまとめ • ソフトウェア検索の現状分析を行った. • 登録型サービス • FTP検索サービス • 一般のWWW検索エンジンによる検索 • Agora,CodeHoundのアプローチ • 今後の指針について議論した. • Agoraのアプローチとフィルタリングの組み合わせ • アーカイブ解析の工夫(LZHファイル) • クローリング手法の検討