Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 1 ソフトウェア部品推薦のための.

Similar presentations


Presentation on theme: "Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 1 ソフトウェア部品推薦のための."— Presentation transcript:

1 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 1 ソフトウェア部品推薦のための 協調フィルタリング手法の提案と実 現 市井誠 † 山本哲男 †† 横森励士 † 井上克郎 † † 大阪大学 大学院情報科学研究科 †† 立命館大学 情報理工学部 情報システム学科

2 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 2 ソフトウェア部品検索システム 過去に開発された大量のソフトウェア資産 企業内で開発 Web 上で公開 再利用や理解を支援するツールが必要 部品数が多いために把握が困難 部品に詳しい人が不在 ソフトウェア部品検索システム ソフトウェア資産をデータベースに登録 キーワード入力等により部品を検索・取得

3 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 3 Java ソフトウェア部品検索システム SPARS-J Java のクラスを部品とし,キーワード入力により 検索 パッケージブラウザ 利用関係の表示

4 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 4 研究の目的 ユーザの目的に応じた部品を取得するには労力が必 要 SPARS-J では,検索語に対して検索結果を返す 検索語は,ユーザの目的の一部しか表現してない ユーザの目的を満たすには,検索結果の選別や,検索の 繰り返しが必要  過去のユーザの検索履歴が利用できないだろうか? システムは,それぞれのユーザの目的で利用されている 過去に同じ目的で検索したユーザがいるかもしれない そのユーザが利用した部品を提示することで,ユーザの 労力を減らせる 協調フィルタリングの手法により,ユーザ の目的に応じた部品を推薦する

5 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 5 協調フィルタリング (1/2) 大量のアイテムの中から,ユーザから得た情報を もとに 推薦アイテムを決定する手法 書店などのオンラインショップで利用されている amazon.co.jp

6 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 6 協調フィルタリング (2/2) 32?42 1?414 54152 ABCDE 531?? 1 アイテ ム ユー ザ 評価 D 推薦 好みが似てい る 1. ユーザから,各アイテムに対する評価を得る 2. ユーザの評価をもとに,アイテムを推薦する 1. 評価の類似度の高いユーザを求める 2. 類似度の高いユーザの評価をもとに,推薦するアイテムを決定 23 検索目的 ソフトウェア部品 履歴 セッション

7 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 7 概念の対応 「ユーザ」 → 「セッション」 セッション:システムの使用開始から終了まで 同じユーザでも,場合により検索目的が異なる 目的が異なれば,異なるユーザとして扱う必要がある システムの使用を終了した段階で目的を終えたと判断 する 「評価」 → 「履歴」 履歴を暗黙的な評価と見なす 表示した部品に,評価値 1 をつける 表示していない部品は評価値 0 明示的に評価を入力するのは,労力が必要

8 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 8 提案手法の手順 ユーザの履歴を,セッションごとに取得する 対象となるセッションへ推薦する部品を求め る

9 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 9 部品データベース 履歴データベース 1234567 ユーザ Web ブラウザ a b c d e : 表示済 部品 セッションの追加 履歴の記録 履歴の取得

10 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 10 部品の推薦 : 表示済 ユーザ Web ブラウザ 部品データベース 履歴データベース 1234567 a b c d e 部品 各セッションとの相 関係数を求める 各部品の推薦値を求 める 推薦する部品を利用 者に提示する 111 11 1 1 1 111 00 0 00 00 ????111 0000 0000011 0000 “?” に入る値を推測 セッション e との 相関係数 ???? 0.64 00 推薦値 0.58 0.67 0 37 各セッションでの評価 値の加重平均 値が高ければ推薦

11 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 11 履歴データ ベース SPARS-J への実装 ( システム構成 ) 推薦部 ユーザ 部品データ ベース 部品検索部 検索・表示 部品登録部 履歴の取得 部品の推薦 部品の登録 追加実装部分

12 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 12 SPARS-J への実装 ( スクリーン ショット ) セッション中で表示した部品 推薦部品 推薦部品 (ZipEntry との利用関係別 )

13 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 13 適用実験の概要 (1/2) 目的 推薦機能が検索効率の改善に役立つかど うか検証する 内容 SPARS-J を利用しての Java プログラム 作成 スケルトンコードの未実装部分の記述 SPARS-J で検索したソースコードを参考 に 練習課題および,課題 1 ~課題 4 の 5 課題 被験者 井上研究室の学生・研究員 8 名 4 名ずつの 2 グループに分け,比較 SPARS-J データベース JDK , Web 上から収集したソースなど約 35,000 クラス 履歴データベースは空の状態から開始 被験者 参照してコード記述 部品の検索・取 得

14 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 14 適用実験の概要 (2/2) 手順 評価項目 検索時間 作業時間全体から コーディング時間を引いたもの 適合率 表示した部品のうち,プログラムに利用できる部品の割合 これらを,推薦機能を利用する場合 / 利用しない場合で比較 グループ 1 グループ 2 1 練習課題 2 課題 1, 課題 2 課題 3, 課題 4 3 課題 1, 課題 2 SPARS-J と課題に慣れる グループ分けの参考にする 推薦機能 無し 推薦機能 有り

15 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 15 実験結果と考察 (1/2) グルー プ 1 グルー プ 2

16 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 16 実験結果と考察 (2/3) 推薦機能 有り 推薦機能 無し 課題 1 では大きな差が見られる 経験者のいない課題であり,推薦の有効性を示唆 課題 3 では差が見られない 課題分野の知識のある被験者の存在 推薦機能の有無による差が見られない被験者の存 在

17 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 17 実験結果と考察 (3/3) 効率の上がっていない被験者が存在する 「表示済み部品は推薦しない」という方針が原 因 該当する被験者の検索行動 : まず様々な部品に軽く目を通し,後半はそれらを見直 しながら有効な部品を絞り込んでいく 利用できる部品は,序盤で履歴に入ってしまい,ほ とんど推薦されない  推薦機能を有効に利用できていなかった 表示済み部品の推薦も行うよう,修正が必要 表示済み部品の推薦については,ユーザが有無を選 択できる様なインターフェースが好ましい

18 Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 18 まとめと今後の課題 まとめ ソフトウェア部品を対象とした推薦手法を提案し, SPARS-J に実装した 適用実験により,ユーザの検索効率の向上が確認された 今後の課題 精度の向上 履歴の重み付けなど ユーザーインターフェースの改良 表示済み部品の扱い 検索画面などからのシームレスな利用 より大規模な実験


Download ppt "Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 1 ソフトウェア部品推薦のための."

Similar presentations


Ads by Google