協調フィルタリングに基づく ソフトウェア開発技術の推薦 ソフトウェアサイエンス研究会@信州大学 2005 年 6 月 23 日 奈良先端科学技術大学院大学 情報科学研究科 秋永 知宏,大杉 直樹,柿元 健,角田 雅照, 門田 暁人,松本 健一.

Slides:



Advertisements
Similar presentations
静岡大学情報学研究科 戸根木千洋 ユーザーイメージ収集 インターフェースの開発. 2 目次 背景と目的 研究の構成 研究の詳細 イメージ収集インターフェースの提案 映画イメージ収集システムの開発 システムの評価 今後の課題.
Advertisements

Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 1 ソフトウェア部品推薦のための.
利用者のプライバシを保護す る協調フィルタリング方式の 提案 7adrm011 木澤寛厚. 背景 商品の量が多い 見つからな い orz ネットショップ.
ステレオ画像を用いた距離測定 小山高専 坪田 真延. Ⅰ. 概要  平行にずらした 2 つのステレオ画像を用いて 対象(人)物までの距離認識を行う。 図 1.1. 左から見た対象 ( 人 ) 物図 1.2. 右から見た対象 ( 人 ) 物.
嗜好ベクトルの近似による サービス享受条件の自動設定 立命館大学大学院 理工学研究科 データ工学研究室 ◎川成宗剛,山原裕之, 原田史子, 島川博光 2007 年 9 月 6 日.
生体情報論演習 - 統計法の実践 第 1 回 京都大学 情報学研究科 杉山麿人.
1 EASE プロジェクトにおける EPM ( Empirical Project Monitor) を用いたプロジェクト管理デモ 奈良先端科学技術大学院大学 産学官連携研究員 松村 知子 2005 年 9 月 30 日 JISA 経営者セミナー.
大規模コーパスから獲得した 名詞の出現パターンを用いた 事態名詞の項構造解析
ユーザーイメージ収集 インターフェイスの開発
点対応の外れ値除去の最適化によるカメラの動的校正手法の精度向上
Scalable Collaborative Filtering Using Cluster-based Smoothing
研究集会 「超大規模行列の数理的諸問題とその高速解法」 2007 年 3 月 7 日 完全パイプライン化シフト QR 法による 実対称三重対角行列の 固有値並列計算 宮田 考史  山本 有作  張 紹良   名古屋大学 大学院工学研究科 計算理工学専攻.
データモデリング 推薦のための集合知プログラミング.
プライバシ協調フィルタリングにおける 利用者評価行列の次元削減
情報爆発A01支援班 マイサーチエンジン開発環境支援グループ 中村聡史, 大島裕明, 田中克己, 喜連川優
卒業論文のタイトルをここに (発表時間は5分です。 PPTスライドは10枚程度にまとめる事)
「データ学習アルゴリズム」 第3章 複雑な学習モデル 3.1 関数近似モデル ….. … 3層パーセプトロン
中間発表用スライド 田中健太.
コードクローンの長さに基づく プログラム盗用確率の実験的算出
初歩的情報リテラシーと アンケート集計のためのExcel・SPSS講座
回帰分析.
第6章 数量化I類.
大阪教育大学大学院教育学研究科 総合基礎科学専攻 中窪 仁
秘匿積集合プロトコルを利用した プライバシ協調フィルタリングの提案
自動車レビューにおける検索と分析 H208032 松岡 智也 H208060 中西 潤 H208082 松井泰介.
Progressive User Profiling in Recommendation Systems
Graduate School of Information Science and Technology, Osaka
回帰モデル・クラス分類モデルを 評価・比較するための モデルの検証 Model validation
プログラム実行履歴を用いたトランザクションファンクション抽出手法
ソースコードの変更履歴における メトリクス値の変化を用いた ソフトウェアの特性分析
複数の言語情報を用いたCRFによる音声認識誤りの検出
定兼邦彦 今井浩 東京大学理学系研究科 情報科学専攻
利用関係に基づく類似度を用いたJavaコンポーネント分類ツールの作成
クローンセットに対する主要編集者の分析法の提案と調査
あらまし アンサンブル学習の大きな特徴として,多数決などで生徒を組み合わせることにより,単一の生徒では表現できない入出力関係を実現できることがあげられる.その意味で,教師が生徒のモデル空間内にない場合のアンサンブル学習の解析は非常に興味深い.そこで本研究では,教師がコミティマシンであり生徒が単純パーセプトロンである場合のアンサンブル学習を統計力学的なオンライン学習の枠組みで議論する.メトロポリス法により汎化誤差を計算した結果,ヘブ学習ではすべての生徒は教師中間層の中央に漸近すること,パーセプトロン学習では
WWW上の効率的な ハブ探索法の提案と実装
限られた保存領域を使用する Javaプログラムの実行トレース記録手法の 提案と評価
コードクローン検出ツールを用いた ソースコード分析システムの試作と プログラミング演習への適用
プログラム動作理解支援を目的とした オブジェクトの振舞いの同値分割手法
TIME SIGNAL: 集合知を利用した赤信号点灯時間の取得手法
配偶者選択による グッピー(Poecilia reticulata)の カラーパターンの進化 :野外集団を用いた研究
市場調査の手順 問題の設定 調査方法の決定 データ収集方法の決定 データ収集の実行 データ分析と解釈 報告書の作成 標本デザイン、データ収集
Webコミュニティ概念を用いた Webマイニングについての研究 A study on Web Mining Based on Web Communities 清水 洋志.
部分的最小二乗回帰 Partial Least Squares Regression PLS
Javaソフトウェア部品検索システムSPARS-Jの実験的評価
シナリオを用いたレビュー手法PBRの追証実験 - UMLで記述された設計仕様書を対象として -
コードクローン分類の詳細化に基づく 集約パターンの提案と評価
P2P ネットワーク上で 実時間ストリーミングを実現するための 分散制御プロトコルの提案
秘匿リストマッチングプロトコルとその応用
ブースティングとキーワードフィルタリング によるシステム要求検出
プログラムスライスを用いた凝集度メトリクスに基づく 類似メソッド集約候補の順位付け手法
設計情報の再利用を目的とした UML図の自動推薦ツール
岩手県立大学ソフトウエア情報学部 3年 鈴木研究室所属 井ノ上 憲司
保守請負時を対象とした 労力見積のためのメトリクスの提案
プログラムの差分記述を 容易に行うための レイヤー機構付きIDEの提案
データ解析 静岡大学工学部 安藤和敏
メソッドの同時更新履歴を用いたクラスの機能別分類法
A-17 検索履歴のプライバシーを秘匿した ユーザクラスタリング
クラスタリングを用いた ベイズ学習モデルを動的に更新する ソフトウェア障害検知手法
欅田 雄輝 S 北陸先端科学技術大学院大学 知識科学研究科
最小二乗法による線形重回帰分析 明治大学 理工学部 応用化学科 データ化学工学研究室 金子 弘昌.
欠陥検出を目的とした類似コード検索法 吉田則裕,石尾隆,松下誠,井上克郎 大阪大学 大学院情報科学研究科
第1章 現状メソッドの標準化 対象工程を流れる代表品種に対し作業を区分し、時間・頻度を 明らかにして、オペレーションリストを作成する。
Webページタイプによるクラスタ リングを用いた検索支援システム
確率的フィルタリングを用いた アンサンブル学習の統計力学 三好 誠司 岡田 真人 神 戸 高 専 東 大, 理 研
確率的フィルタリングを用いた アンサンブル学習の統計力学 三好 誠司 岡田 真人 神 戸 高 専 東 大, 理 研
オブジェクト指向メトリクスを用いた 開発支援に関する研究 --- VC++とMFCを用いた開発を対象として ---
ベイジアンネットワークと クラスタリング手法を用いたWeb障害検知システムの開発
教師がコミティマシンの場合のアンサンブル学習 三好 誠司(神戸高専) 原 一之(都立高専) 岡田 真人(東大,理研,さきがけ)
Presentation transcript:

協調フィルタリングに基づく ソフトウェア開発技術の推薦 ソフトウェアサイエンス研究会@信州大学 2005 年 6 月 23 日 奈良先端科学技術大学院大学 情報科学研究科 秋永 知宏,大杉 直樹,柿元 健,角田 雅照, 門田 暁人,松本 健一

1 ソフトウェア開発技術の習得の必要性 新しいソフトウェア開発技術が急速に増加している. UML , COCOMO II ,アスペクト指向など 毎週約 10 個の新出単語(技術の名前など)が IT 用語辞 典に追加され, 2005 年現在,単語数は 6797 語である. Incept Inc. , “IT 用語辞典 e-Words” , ; 生産性や品質を向上させるために,これらの新しい 開発技術を習得していく必要がある.

2 技術の習得における問題 技術の習得に充てられる時間は非常に少ない. 教育にかける時間(年平均) 100 時間未満 77.0% 100 ~ 200 時間未満 16.4% 200 ~ 300 時間未満 3.3% 300 ~ 400 時間未満 1.6% 400 ~ 500 時間未満 0.0% 500 時間以上 1.6% 経済産業省,組み込みソフトウェア開発強化推進委員会(監修), “ 2004 年度版 組み込みソフトウェア産業実態調査報告書 ” , 2004 . 大量の開発技術の中から,業務内容に適した技術 を取捨選択して学習することが求められる.

3 目的とアプローチ 目的 習得する技術の取捨選択を容易にする. アプローチ 個々の開発者の興味を事前に調査し,業務に適 していると思われるソフトウェア開発技術を, 協調フィルタリングを用いて推薦する.

4 協調フィルタリングとは? 協調:複数のユーザの知識を利用して, フィルタリング:大量のアイテムの中から,役立つ アイテムだけを選び出す(推薦する). 好みの傾向が類似したユーザ F K A B DE C G IJ H L NO M P Q ST R 大量のアイテム F が良い !K が好き ! ? ? F F K K

5 応用例: Amazon 社の書籍推薦システム データ収集各ユーザが,読み終えた本を 5 (好き) ~ 1 (嫌い)の 5 段階で評価する. 好みの傾向が似ているユーザが高く評価した本が推 薦される.

6 書籍 2 書籍 1 書籍 4書籍 4 書籍 3 書籍 5書籍 5 推薦対象ユーザ ユーザ A ユーザ B ユーザ C ? (知らない) 5 (好き) 5 (好き) 1 (嫌い) 5 (好き) 5 (好き) ? (知らない) 5 (好き) 5 (好き) 5 (好き) 1 (嫌い) 1 (嫌い) 1 (嫌い) 1 (嫌い) ? (知らない) 3 (普通) 5 (好き) 3 (普通) 1 (嫌い) ? (知らない) 各ユーザによる,各技術に対する 4 段階の評価値を 用いて推薦を行う. 推薦を行う際に用いるデータ 推薦対象開発者 開発者 A 開発者 B 開発者 C 技術 2 技術 1 技術 4 技術 3 予測対象 技術 ? (知らない) 4 (興味大) 4 (興味大) 1 (興味なし) 4 (興味大) ? (知らない) 4 (興味大) 4 (興味大) 4 (興味大) 1 (興味なし) 1 (興味なし) 4 (興味大) 1 (興味なし) 1 (興味なし) ? (知らない) 2 (興味小) 4 (興味大) 3 (興味あり) 1 (興味なし) ? (知らない)

7 ? (知らない) ? (知らない) ? (知らない) ? (知らない) ? (知らない) 4 (興味大) 3 (興味あり) 2 (興味小) 1 (興味なし ) 4 (興味大) 推薦するソフトウェア開発技術の決定 1. 開発者が「知らない」と答えた全技術について,評 価値を予測する. ユーザベース予測 アイテムベース予測 2. 評価値が 3 以上になると予測される技術を推薦す る 技術 6 技術 5 技術 8 技術 7 技術 9 予測した評価値 フィルタリング 推薦対象ユーザ に対する推薦 技術 5 4 (興味大) 技術 9 4 (興味大) 技術 6 3 ( 興味あり )

8 類似度: 0.92 類似度: 1.0 類似度: –0.97 技術 2 技術 1 技術 4 技術 3 予測対象 技術 4 (興味大) 4 (興味大) 1 (興味なし) 推薦対象開発者 開発者 A 開発者 B 開発者 C 1. 類似度計算:推薦対象開発者と他の開発者間との類 似度を求める. 2. 予測値計算:類似度の高い k 人の開発者の評価値 を類似度で加重平均し,「知らない」技術の評価値 を算出する. 評価値予測方法 1 :ユーザベース予測 4 (興味大) ? (知らない) 4 (興味大) 4 (興味大) 4 (興味大) 1 (興味なし) 1 (興味なし) 4 (興味大) 1 (興味なし) 1 (興味なし) ? (知らない) 2 (興味小) 4 (興味大) 3 (興味あり) 1 (興味なし) ? (知らない) ? (知らない) 4 (興味大) 予測する

9 類似度 1.0 類似度 類似度 0.1 技術 2 技術 1 4 (興味大) 4 (興味大) 1 (興味なし) 推薦対象開発者 開発者 A 開発者 B 開発者 C 1. 類似度計算:技術間の類似度を求める. 2. 予測値計算:類似度の高い k 個の技術の評価値を 類似度で加重平均し,「知らない」技術の評価値を 算出する. 評価値予測方法 2 :アイテムベース予測 4 (興味大) ? (知らない) 4 (興味大) 4 (興味大) 4 (興味大) 1 (興味なし) 1 (興味なし) 4 (興味大) 1 (興味なし) 1 (興味なし) ? (知らない) 2 (興味小) 4 (興味大) 3 (興味あり) 1 (興味なし) ? (知らない) ? (知らない) 4 (興味大) 技術 4 技術 3 予測する 予測対象 技術

10 評価実験 目的 協調フィルタリングが開発技術の推薦に効果があるか否 かを明らかにする. 効果がある場合,ユーザベース予測とアイテムベース予 測のどちらがより効果があるかを明らかにする. 以下の方法を用いて推薦を行い,精度を比較した. ユーザーベース予測に基づく推薦 アイテムベース予測に基づく推薦 単純な推薦 各技術に対する評価の平均値を予測値とする 例 ) Java の評価値が 4, 3,4,3 のとき,評価の予測値は 3.5 とな る 全員からの評価が高い技術を推薦する

11 1. データ中の評価値をひとつ選び,隠蔽する. 2. 隠蔽した評価値を予測する. 3. 実際の評価値(実測値)と予測した評価値(予測値)を比 較し,精度評価指標を計算する. 4.1 ~ 3 の手順を,すべての開発者に対して行った (leave one out 法 ) . 類似度: 0.98 類似度: 1.0 類似度: – (興味大) 4 (興味大) 4 (興味大) 1 (興味なし) 3 (興味あり) 4 (興味大) 4 (興味大) 1 (興味なし) 1 (興味なし) ? (知らない) 2 (興味小) 1 (興味なし) 予測対象 技術 技術 2 技術 1 技術 4 技術 3 推薦対象開発者 開発者 A 開発者 B 開発者 C 予測する 実験手順 4 (興味大) 4 (興味大) 1 (興味なし) ? (知らない) 1 (興味なし) 4 (興味大) 3 (興味あり) ? (知らない) 比較する 3 (興味あり) ? (予測対象) 4 (興味大)

12 実験に用いたデータ データ収集方法 各ソフトウェア開発技術に対する興味の度合いをアン ケートにより調査した. 中間値が付けられないように,興味の度合いは 4 段階とし た. 調査対象者 21 社のソフトウェア開発技術者: 31 名, 2 大学の大学院生 ( 情報科学専攻 ) : 19 名 調査対象技術 ソフトウェア開発に関する技術: 51 個 エクストリームプログラミング( XP ),能力成熟度モデル統合 ( CMMI ),統一モデリング言語( UML ), Web サービスなど

13 データの詳細

14 評価指標 (1/2) 絶対誤差の平均値. 適合率:推薦された技術 (N r 個 ) のうち,実際にユー ザが興味を持っていた(実測値 3 以上)技術 (N a 個 ) の割合. 再現率:実際にユーザが興味を持っていた(実測値 3 以上)技術 (N u 個 ) のうち,推薦された技術 (N r 個 ) の 割合.

15 評価指標 (2/2) F1 値:適合率と再現率を1つの値で表現した値 閾値を変更すると,適合率と再現率が変化する. 例 ) 推薦する技術数が多くなるように閾値を設定すると,再現率 は大きくなるが,適合率は低い値となる. 適合率と再現率はトレードオフの関係にある. 閾値を変化させ, F1 値の最大値を採用した.

16 実験結果 (1/2) 単純な推薦と比較して,ユーザベース,アイテム ベース共に,高い精度を示した.

17 実験結果 (2/2) 閾値を変化させた時の適合率と再現率の関係

18 実験結果まとめ 協調フィルタリングに基づく推薦のほうが,単純な 推薦よりも精度が高かった. 絶対誤差平均については有意差あり 再現率,適合率は10~20%程度高い ユーザーベースとアイテムベースの間では, 絶対誤差平均については有意差あり(ユーザベースが良 い) 再現率,適合率はどちらが良いとはいえない.

19 類似度に基づく可視化 技術間の類似度に基づき,類似関係グラフを作成し た. 開発者は,グラフを見ることで,各技術の位置付け を知ることができる. 直感的に類似していると考えられる開発技術が,グラフ 上においても距離が近いことが確認できた.

20 アンケートご協力のお願い 本研究に興味を持たれた方 アンケートに協力してもよい方 メールアドレスを記入していただいた方には,結果 を返信いたします. 個人情報の利用目的 本アンケートにて収集した個人情報は,下記の目的で使 用します. アンケート結果集計による協力者全体の傾向調査. 個々のアンケート結果分析によるオススメ技術等の分析. 分析方法の有効性を確認するための事例研究(実験デー タとして利用). 結果を個人名・組織名を隠蔽した上で一般に公開. アンケート協力者への結果のフィードバック

21 今後の課題 より大規模なデータセットに対しても,提案手法が 有効であるかどうかを確かめる. 開発者のデータを増やす. 開発技術の項目数を増やす. 重回帰分析など,他の手法を用いて推薦を行い,精 度の比較を行う. 提案方法を実装し, Web などで公開する.