Download presentation
Presentation is loading. Please wait.
1
2)L3D, Univ. of Colorado, Boulder
認知モデルに基づいた関連ソフトウェア 自動収集提示システムの開発 中小路 久美代1) 山田 和明1) YE, Yunwen2) 1)東京大学先端科学技術研究センター 2)L3D, Univ. of Colorado, Boulder
2
構成 1.ソフトウェア再利用に必要な機能とは? 2.再利用の成功例としてのOSSとその問題点 3.ソフトウェアファーミング
4.認知モデルに基づいたソフトウェア再利用支援 5.研究経過(CodeBroker, E-Learning, etc) 6.まとめ・今後の方針
3
ソフトウェア再利用に必要な機能 ■ ソフトウェアリポジトリの構築・整備・管理方法の確立 ■ ソフトウェアの自動収集・検索技術の確立
前提として,開発者が 既存のソフトウェアを検索して再利用しよう! ソフトウェアを再利用するためにリポジトリに蓄えよう! 検索しやすいように詳細なコメントを書こう! というモーティベーションを持っていることが必要 技術的アプローチだけでなく認知的アプローチによる ソフトウェア再利用支援が必要
4
ソフトウェア再利用の成功例(OSS) オープンソースソフトウェア(OSS)の開発 公開 CVSサーバ 開発者グループ 拡張・改善 問題点
■ 追加された拡張・改善がシステム全体に紛れ込む ため部品レベルでの品質向上が蓄積されない ■ 再利用の仕組みの解明が進んでいない
5
システム開発モデルの推移 開発者が利用しやすいコンポーネントリポジトリの提供が必要 伽藍モデル バザールモデル
コンポーネント開発者とアプリケーション開発者が分離 良質なコンポーネントのみ蓄積 伽藍モデル コンポーネント開発者とアプリケーション開発者が混在 提供されるモノは取り敢えず蓄積 バザールモデル 開発者が利用しやすいコンポーネントリポジトリの提供が必要
6
目的 ■ 開発者が参加しやすいコンポーネントリポジトリ としてソフトウェアファーミングを提案
■ 認知モデルに基づいた関連ソフトウェアの検索・ 提示が可能なソフトウェア再利用支援システム の構築
7
ソフトウェアファーミング OSS systems decomposing contributing reusing seeding
Repository of OSS parts
8
再利用プロセスに必要な機能 1. Seeding : 2. Location : 3. Comprehension :
4. Modification : 5. Sharing : 既存部品の収集・分解 再利用部品の探索・抽出 再利用部品の機能・使用方法の学習 開発中のシステムにあわせて機能改善・拡張 リポジトリに還元
9
開発者が検索を試みないと関連ソフトウェアを探索・抽出しない
従来の再利用支援システム 開発者が検索を試みないと関連ソフトウェアを探索・抽出しない
10
開発者の認知的情報利用 L1: ユーザが熟知し,よく使用する機能・情報 L2: ユーザが概ね理解し,時々使用する機能・情報
11
開発者が存在を知らないソフトウェアの利用が促進
提案する再利用支援システム 開発者が存在を知らないソフトウェアの利用が促進
12
ソフトウェア再利用支援システム プログラム履歴情報 OSSの再利用部品の リポジトリ OSS Systemsのリポジトリ
13
ソフトウェア再利用支援システム 関連プログラムの 検索・抽出結果表示 プログラム履歴から作成されたモデル 関連プログラムを利用したユーザ群
14
研究経過 Javaプログラムの 再利用支援システム: CodeBroker 協調フィルタリングによる コミュニティモデル生成
15
CodeBroker Javaプログラムの再利用を支援するシステム Emacs上にプログラミング環境と検索要求ブラウザを統合
開発者の背景知識に基づいてタスクに関連したプログラムを提示
16
CodeBroker
17
CodeBroker
18
CodeBroker
19
CodeBroker 開発者名を表記 簡単なプログラム例を表示
20
CodeBroker ■ Discourse model ■ User model ■ 検索要求再定義インターフェース
Skip componentsで不要なパッケージ・クラスを指定して作成 ■ User model 古いプログラムから開発者のL1領域の知識を抽出して作成 プログラム開発過程で頻度の高い知識を自動的に更新 ■ 検索要求再定義インターフェース ドキュメントコメントとシグネチャから抽出された検索要求により 開発者のタスクを正確に記述することは不可能 既存の検索手法で関連する全ての部品の検索は困難
21
CodeBroker:利用効果 ■ 存在を知らない部品の再利用支援 ■ 検索時間の短縮 ■デリバリの雪だるま効果 ■知識増幅効果
自律的情報検索により(L4ーL3)領域の知識を提示 ■ 検索時間の短縮 自律的情報検索により検索時間が短縮 ■デリバリの雪だるま効果 提示された再利用部品に関連した他の部品の発見を促進 ■知識増幅効果 CodeBrokerにより新しい知識を提供することで開発者の 開発能力が向上
22
(Collaborative Filtering : CF)
協調フィルタリング (Collaborative Filtering : CF) 嗜好パターンの類似したユーザ群の情報に基づいて各ユーザへの推薦度を求める手法 推薦 要求 推薦請求者 嗜好パターンの類似したユーザ群を抽出
23
協調フィルタリング:計算例 A B C D E U1 100 70 80 50 U2 60 30 U3 U4 U5 U1 U2 U3 U4
-0.7 -0.5 -0.9 -0.3 -1 -0.6 0.2 相関係数 ユーザxの嗜好度の平均 ユーザxの商品jに対する嗜好度 ユーザxの推薦度 ユーザiの相関係数 ユーザiの商品jに対する嗜好度
24
協調フィルタリング:問題点 データの欠損 データの規模 ■ 一般的なクラスタリング手法をそのまま適用する のは困難.
■ 一般的なクラスタリング手法をそのまま適用する のは困難. ■ 予め分割するクラスの数を決めておくことは困難. データの規模 ■ データ規模の増加に伴う計算時間の増大
25
CFを用いた類似ユーザ検出 ① 各ユーザに対する相関を特徴ベクトルと捉える. ② 特徴ベクトルを用いて各ユーザに対する相関を
1 2 3 4 5 -0.7 -0.5 -0.9 -0.3 -1 -0.6 0.2 1 2 3 4 5 -0.7 -0.5 -0.9 -0.3 -1 -0.6 0.2 1 2 3 4 5 -1 ① 各ユーザに対する相関を特徴ベクトルと捉える. ② 特徴ベクトルを用いて各ユーザに対する相関を 繰り返し計算する. ③ 分類された2つのグループに対し②の操作を行う.
26
E-Learning インターネット E-Learning企業 ■ Internet server ■ Data base user
ユーザ情報・学習コンテンツなどの管理 ■ Data base ユーザの学習履歴などの管理
27
実験結果 Group C 100~200問の課題を解答. 解答した問題の正解率は高い. 数問,正解率が低い課題がある. Group E
10~30問の課題を解答. Group F 正解率のバラつきが小さい. Group I 解答せずにログアウトした課題 が多い. 正解率のバラつきが大きい. Group J 正解率が0の課題が多い. Group K 解答した課題の数が0または1つ.
28
まとめ ■ 関連ソフトウェア自動収集提示システムの開発に おける認知的アプローチの必要性を指摘
■ 関連ソフトウェア自動収集提示システムの開発に おける認知的アプローチの必要性を指摘 ■ 開発者が参加しやすいコンポーネントリポジトリと してソフトウェアファーミングを提案 ■ 自律的にユーザ情報を収集し,関連ソフトウェアを 検索・提示する再利用支援システムを提案
29
今後の研究方針 ■ OSSで実践されている再利用の仕組みの解明(GIMP) ■ 提案しているソフトウェア再利用支援システムの評価
■ ソフトウェアファーミングにおける開発者間の相互支援 知識共有を促進させるための経済モデルの検討 (例:Expert Exchange
30
研究成果 1. 山田和明,中小路久美代, 増田宏, 馬場靖憲, e-Learning における学習コンテンツのカスタマイズ支援-協調フィルタリングによる類似ユーザの検出, 人工知能学会研究会資料, SIG-IES-A202-10, pp.57-62, October, 2002. 2. Kumiyo Nakakoji, Kazuaki Yamada, Yasuhiro Yamamoto, Masayasu Morita, A Conceptual Framework for Leaning Experience Design, Conference on Creating, Connecting and Collaborating through Computing (C5), 2003 (in print). 3. Yunwen Ye, Programming with an Intelligent Agent, IEEE Intelligent Systems, Special Issue on AI pride, May-June, (in print). 4. Yunwen Ye, 山本恭裕,中小路久美代,岸田孝一, ソフトウェアファーミング:OSSコンポーネントリポジトリ構築のための社会技術的支援環境, ソフトウェアシンポジウム 2003, ソフトウェア技術者協会, July, 2003 (submitted). 5. Yunwen Ye, Kumiyo Nakakoji, Yasuhiro Yamamoto, Kouichi Kishida, The co-evolution of System and Community in OSS Development, Free/Open Source Software Development, S. Koch (Ed.), Idea Group Inc., (submitted).
31
End
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.