ACL2015読み会@すずかけ台 石垣 達也(高村研)

ACL2015読み会@すずかけ台 石垣 達也(高村研)
研究背景
•  複数人がオンラインで協働する機会が増加 –  Wikipedia, オープンソースプロジェクトが代表的 –  教育プラットフォームとしてMOOCsが台頭 学生にグループを組ませ、課題に取り組ませる グループ
学生A
学生B
学生C
成果物
提出
スコア
MOOCs
本研究の仮定/タスク
仮定: 学生は「役割(Role)」を持ち、成果物に貢献すると仮定 学生A (役割1)
提出
成果物
MOOCs
学生B (役割2)
スコア
学生C (役割なし)
本研究のタスク: ①役割とはなにか定義し、どの役割をどの学生に 割り当てるかモデリング ②割り当てた役割を基に成果物のスコアを予測
関連研究(抜粋)
•  NLPではStance ClassificaEonが近い –  Stance ClassificaEonの研究は多数 –  役割(?)を人手アノテーション [Somasudaran et.al, 2009] 学生A (リーダー)
学生B (アイデアマン)
成果物
提出
MOOCs
スコア
学生C (ムードメーカー)
このようなモデリングでは成果物のスコアを 予測する等のタスクへの応用が難しい
提案手法の概要
提案手法では役割を「分布」で表現する
学生をD次元の素性ベクトルで表現 (Behavior Vector) → Bj, i: グループjの学生iから作った素性ベクトル 「役割」をD次元の重みベクトルで表現 (Weight Vector) → Wk: 役割kの重みベクトル 成果物に与えるスコア スコア最大になるように 学生に「役割」を割り当てる
学生A (役割1)
学生B (役割2)
・・・
成果物
提出
スコア
MOOCs
提案手法の概要
提案手法では役割を「分布」で表現する
学生をD次元の素性ベクトルで表現 (Behavior Vector) → Bj, i: グループjの学生iから作った素性ベクトル 「役割」をD次元の重みベクトルで表現 (Weight Vector) → Wk: 役割kの重みベクトル 成果物に与えるスコア スコア最大になるように 学生に「役割」を割り当てる 役割kが割り当てられた 学生のベクトル
学生A (役割1)
役割kの重みベクトル
学生B (役割2)
・・・
成果物
提出
スコア
MOOCs
提案手法の概要
提案手法では役割を「分布」で表現する
学生をD次元の素性ベクトルで表現 (Behavior Vector) → Bj, i: グループjの学生iから作った素性ベクトル 「役割」をD次元の重みベクトルで表現 (Weight Vector) → Wk: 役割kの重みベクトル 成果物に与えるスコア スコア最大になるように 学生に「役割」を割り当てる 役割kが割り当てられた 学生のベクトル
学生A (役割1)
提出
役割kの重みベクトル
成果物
MOOCs
学生B 重みベクトルの学習と学生と「役割」の割り当てを (役割2)
スコア
・・・
収束するまで繰り返す
Behavior Vectorの素性(1/2)
MOOCsでやりとりしたメッセージから作る素性
•  Team Member Behaviors –  グループ加入への招待/承認をした回数 –  タスクを割り当てるメッセージの回数 –  グループにhelpを求めた回数… •  CommunicaEon Language –  メッセージ内でのFirst nameとLast nameの比率 –  NegaEve wordの出現回数 –  QuesEon wordの出現回数… Behavior Vectorの素性(2/2)
MOOCsでの行動から作る素性
•  AcEviEes –  ログイン回数/メッセージの送信回数 –  送信したメッセージの総数 –  ビデオの視聴回数
重みベクトルの学習
学生にはすでに最適な役割が割り当てられていると仮定 以下の目的関数を最小化する重みベクトルWKを学習
Wk: 役割kの重みベクトル C: グループの総数 Qj: 正解スコア K: 役割の総数 Bj, i: グループjの所属学生iの素性ベクトル pj,k: グループjの役割kの学生 λ: 正規化パラメータ
役割の割り当て
•  成果物に与えるスコアが最大に
なるように学生と役割をマッチン
グ max pj,k
•  完全2部グラフで表現 •  最大重みマッチング問題を
解く •  maximum weighted maching algorithmで解を探索 [Ravindra et, al. 1993] アルゴリズム1
学生に役割を HeurisEcに付与
Behavior Vector生成
重みベクトル更新
新たな役割付与
重みベクトルと役割付与が 収束するまで繰り返し
実験 –データセット-­‐
•  実験方法 –  成果物のスコアを10分割交差検定で予測し、 RMSE(Routed Mean Square Error)をベースラインと比較 •  使用データ –  NovoEd MOOCs データを10分割交差検定 –  57 teams(Elementary course) –  学生のうち「Leader」はアノテーション済み ベースライン
1.  Top K Worst/Best –  成績上位K人、下位K人 ※ 成績はコース終了後にしか分からない 2.  K-­‐means clustering –  K-­‐meansにより学生をKクラスターに分ける 3.  Leader –  データセットにアノテーションされたリーダ 4.  Average –  チームメンバーのbehavior vectorの平均 実験結果/考察
実験結果/考察
提案モデルはLeaderとK bestよりは良い予測精度 自ら立候補したリーダーは成果物のスコアに貢献しない
実験結果/考察
提案モデルの予測精度がもっとも良い 提案モデルは学生と役割の組み合わせも最適化するため
実験結果/考察
K-­‐best,提案モデルはKの値を増やすとエラーが減る MOOCsで実験する場合は、K=3が限界 K-­‐bestはコースが終わった後にしかわからないので 実際には使えない
学習された「役割」
Conclusion/Future Work
•  MOOCsに参加するユーザの「役割」をモデル化 •  「役割」は素性ベクトルの重みで表現 •  学生に適切な「役割」を割り当てることで 成果物のスコアを高精度で予測可能 •  現在は「1人1役割」という制約付き –  実際のデータでは、複数の役割が割り当てられて
いる学生が多い –  ここの拡張が今後のToDo