情報処理学会 インタラクション 2017
IPSJ Interaction 2017

1-510-30
2017/3/2

MemeManual: Git 学習時の学習者行動に応じたマニュアルの自動生成
森下 真敬1,a)

上野 未貴2,b)

井佐原 均2,c)

概要：学習者のマニュアルを作成する方法は，学習者や教育者にとって非常に重要である．しかしながら，多様な学習者に共通のマニュアルを作成することは難しい．本研究では，学習者の行動に基づき，学習者用のマニュアルを自動生成する手法を提案する．手法を実装し，例として，最も有名なバージョン管理システムの一つである Git の学習過程に適用した．2 つの実験により，学習者の状態を検出する値を設定し，我々の手法が学習者に有効か確かめた．その結果，効果的な学習マニュアルは学習者によって異なること，提案手法が学習者の差異を取得可能であることを示した．

MemeManual: Automatic Manual Generation
based on Learner’s Activity while Studying Git
Masataka Morishita1,a)Miki Ueno2,b)Hitoshi Isahara2,c)Abstract: The way of creating learner’s manual is very important for learners and educators. However, it
is diﬃcult to generate common manuals for various learners.
In this research, we propose the method which generate a learner’s manual automatically based on a leaner’sactivity. The method was implemented and applied to the process of learning Git, as an example, which isone of the popular version management systems. Two types of experiments were carried out; to define thevalue of extracting learners activity and to confirm the eﬀectiveness of the our method for learners. As aresult, we have shown that eﬀective manuals were diﬀerent among learners and our proposed method canobtain such diﬀerences.

1. はじめに学習のためのマニュアルは，学習者が教育上の新しい知識を得るために重要である．しかし，教師がすべての生徒に適切なマニュアルを用意することは難しい．いくつかの科目，特に，バージョン管理システムを学習するプロセスを事例として，提案手法を示す．

2. 学習方法と問題提起
2.1 学習方法

研究ではユーザ者の動作の分析 [1] やマニュアルの作成 [2]近年，e-Learning を用いて，学習することが一般的にについて報告されているが視線に基づいてマニュアルを自なっている．本学では，最も人気のある e-Learning シス動的に生成する研究はほとんどない．この問題を解決するテムの一つである Moodle[3] によって全ての学生に向けてために，学習者の動作に応じて自動的に学習者のマニュア

200 以上のコースが公開されている．これらのコースは主ルを自動生成する新しい方法を提案する．学習対象や学習に以下の 3 つのタイプに分かれている．

環境は様々だが，本研究では，筆者らの所属する情報系の対面授業のための補足コース

我々の大学では，通常すべての学生に対面式の授業を行っている．ほとんどの教
12a)
b)
c)

豊橋技術科学大学 情報知能工学専攻
豊橋技術科学大学 情報メディア基盤センター
morishita@lang.cs.tut.ac.jp
ueno@imc.tut.ac.jp
isahara@tut.jp© 2017 Information Processing Society of Japan

師は，授業の補足として課題や小規模な試験などをe-Learning 上で用意している．
他の組織に向けた e-Learning のみで提供されるコース

222

情報処理学会 インタラクション 2017
IPSJ Interaction 2017

1-510-30
2017/3/2

我々の大学はほかのいくつかの大学や国立高専などには，1 つのウィンドウに Git クライアント，もう 1 つのの他の組織と協力している．

ウィンドウに，ブラウザもしくはエディタを表示して操作

市民や企業に向けた e-Learning のみで提供されるコース

する．この事例を前提として，提案手法の手順を説明する．

労働者の職務スキル向上をサポートするためのコー

まず，前提条件を定義する．

スである．

• 学習者の前にブラウザを表示する 2 つのウィンドウを

特に e-Learning では，どんな種類の学習マニュアルを用意する．ユーザから見て左のウィンドウを Wl ，右使用するかが非常に重要である．通常，教師は教科書やマのウィンドウを Wr とする．Wl は作業対象のアプリニュアルを自ら作成して用意している．しかし，準備に時ケーション，Wr は必要な情報を参照するためのブラ間がかかったり，学生ごとに適切なマニュアルが異なる，ウザとする．また，Wr で参照しているページを pR となどの問題がある．この問題は次節で詳細に説明する．

する• 学習者は視線移動など学習状態取得に有用なセンサー
2.2 学習者と教師にとっての問題を持つウェアラブルデバイスを装着する．本研究では一般的に，学生は何かを学ぶときには自らの方法や，教JINS MEME ES[5](以下， MEME と表記) という眼師から教わるなどの方法によって情報を得る．最近ではイ鏡型のウェアラブルデバイスを用いた．MEME は加ンターネットによって学ぶための多くの情報を簡単に得

速度，ジャイロ，眼電位 [6] の 3 種類のセンサーを持ることが可能になっている．しかし，初心者にとってはどつが，まず，ジャイロセンサーの値を用いて学習者ののように学習すればよいのか決めることが難しい．また，視線移動を検出する．

効率的な学習の仕方は人によって異なる．そのため，学習• MEME のジャイロセンサーでは X ，Y ，Z の 3 軸の用のマニュアルを作成するためには，学習者にとって適切値が取得でき，学習者の頭の横回転は Z 軸の値から検な学習方法を調査する必要がある．本研究では，学習者に出できる．この Z 軸の値が閾値 z threshold [LSB] を超とっての適切な学習方法を得るために，学習中の Web ペー

えたとき，学習者の見ているモニターが変わったと認

ジを参照する頻度に基づいて自動的に情報を要約して，マニュアルを作成する方法を提案する．

3. 提案手法識することにする．
次に，提案手法の手順を説明する．

( 1 ) 初期状態は学習者が Wl を見ているとし，この状態から学習作業および情報取得を開始する．

本研究では，Web 上の特定ページの参照頻度に基づい( 2 ) ウェアラブルデバイスのジャイロセンサーによって学て，Web ページを要約し，学習者のマニュアルを自動生成

習者の視線が左右いずれのウィンドウに向いているかする方法を提案する．

を検出し，Wr に向いていることを検出した場合，pR

学習分野は様々であるが，コンピュータを使用して学習することが多い，情報系の分野を対象にして説明する．一の表示時間 tR = 0 として，参照時間計測をスタートする．

般的に，情報系の分野の学習では，調べものをするための( 3 ) 学習者が作業を継続する意思がある場合，以下のいずブラウザのウィンドウを開きながら，ターミナルやエディれかの学習者の行動により，左ページと右ページの情タなどの作業をするためのウィンドウを開いて， 2 つの報を取得し，学習者の状態保存用ログへの記録をしたウィンドウを左右に並べて作業をすることが多い．さらに，後，tR = 0 として，本ステップを繰り返す．学習者が物理的な環境が許せば，2 つのウィンドウは 1 つのディス作業を終了したい場合は，4 へ進む．

プレイ内にではなく，2 つのディスプレイに各画面を並べて作業をすることも多い．
情報系の学習内容別に，2 つのウィンドウの組合せの典型例を挙げる．
プログラミング
ブラウザ，統合開発環境
コマンドラインの操作
ブラウザ，ターミナル
論文執筆
ブラウザ，エディタ
そこで，本研究では，まず，最初の実験として，近年情報系分野で学習が必要な，バージョン管理手法 Git[4] の学
習プロセスに焦点をあてる．一般的に，Git を使用する際© 2017 Information Processing Society of Japan• 学習者の視線が Wr に向いている間に pR が遷移した場合，遷移前の参照ページ pR の参照時間 tR と作業ページ pT および参照ページ pR の URL とタイトルを取得してログに保存する．

• 学習者の視線が Wl に戻った場合，その時点までのpR の参照時間 tR と各ウィンドウが表示している pTおよび pR の URL とタイトルを取得してログに記録し，2 に戻る．

( 4 ) 学習者の作業終了後，pT および pR の各組合せについて，総参照時間を計算する．

( 5 ) 参照時間に基づき，マニュアルを生成する．
本稿では，マニュアルページの生成例は割愛し，参照頻度の取得方法について具体的な実験をする．

223

情報処理学会 インタラクション 2017
IPSJ Interaction 2017

4. 実験 1
この実験では，左右のウィンドウ間の視線の移動によっ

1-510-30
2017/3/2

操作は慣れておらず，基本的なコマンドもあまり覚えていない．
ユーザ Cて，JINS MEME のジャイロセンサーの Z 軸の値がどの程Git の add や commit の基本的な概念は理解している度変動するのかを調べ，適切な閾値 z threshold [LSB] を検が，あまり使用しておらず，ブランチは十分に理解し証する．ていない．

被験者として 20 代の男性 2 人に JINS MEME を装着させ，左右に並べた 2 つのモニタにそれぞれ全画面のウィンドウを開き，左モニタのウィンドウ Wl で実際の作業を，右モニタのウィンドウ Wr で作業に関する Web ページを参照する動作をしてもらい，その時の Z 軸の値を調べた．
図 1 に，Wl から Wr に視線が移ったときの Z 軸の値を6. 実験 2 の考察
6.1 参照ページ種別
実験結果から，ユーザが参照したページの種別は以下のように分類できる．
検索結果 Google の検索結果のページ示す．図 2 に，Wr から Wl に視線が移ったときの Z の値

リファレンス Git の概念やコマンドの動作について体系を示す．この結果から，ウィンドウ間の視線の移動によっ的に順序立てて学習するように説明されているページて Z 軸の値が ± 2800 [LSB] 程度変動することがわかる．
これより，今後の実験に使用する閾値 z threshold は ± 2800[LSB] とした．

5. 実験 2
この実験では，Learn Git Branching[7] で Git を学習するプロセスを例として取り上げ，学習者の個性に応じて，

例：サルでもわかる Git 入門 [8]記事 Git について様々なトピックで書かれているページ
例: Qiita[9] など技術系サイトに個人が投稿したページや，個人や企業が立ち上げた Web サイトの個別ト
ピックごとの解説ページ
質問サイト Git の質問と回答を投稿するページ例: Stack

Overflow[10]有用な参照ページの差異を考察する．Learn Git Branching
は，Web ページ上にシミュレートされた Git クライアン

6.2 例題 1

トを使用して Git のブランチの動作を学ぶことができる

例題 1 は git rebase の基本的な動作について学ぶ問題でWeb サービスである．学生は自分のコンピューターに Gitある．表 1 に例題 1 でのユーザ別の参照頻度上位 5 位まクライアントがインストールされている必要はなく，ウェでのページ参照時間と URL を示す．表 2 に例題 1 ユーザ

ブブラウザ中の仮想的な Git クライアントで Git コマン

別の参照ページ種別と参照時間を示す．この結果を見るとドの動作を確認できる．今回実験対象として，”Select a

ユーザ A はリファレンスのみを参照しており，もとからlevel” のレベル選択画面から，”様々な tips” の 3 つの例題

例題に必要な情報に見当がついていたと思われる．対してを解くという課題を設定し，時間無制限で取り組ませた．

rebase について知識のないユーザ B とユーザ C は何度も例題はすべて Git の rebase コマンドに関連する設問であ検索をしており，rebase の基本的な動作について学習できる．被験者は Git に関する知識がそれぞれ異なる 20 代のるサイトを探していたことがわかる．

男性 3 人である．Learn Git Branching には日英版がある
が，英語版で実験を実施したところ参照サイトの多くが翻6.3 例題 2訳サイトとなったので，今回は日本語版で実施することに

例題 2 は git rebase を使った応用問題で，特に -i オプした．実験 2 では，左モニタの全画面ウィンドウ Wl 中のションについて学ぶ問題である．表 3 にユーザ別の参照頻

ページ pT として，ブラウザの Learn Git Branching のサ

度上位 5 位までのページ参照時間と URL を示す．表 4 にイトの例題 1，2，3 のいずれかのページが，右モニタの全ユーザ別の参照ページ種別と参照時間を示す．例題 1 でリ

画面ウィンドウ Wr 中の pR として，ユーザの任意の参照ファレンスしか参照していなかったユーザ A がこの実験

ページ pR が表示されるものとする．

では記事のみを参照している．ユーザ B も例題 1 のとき

各ユーザの実験前の Git についての理解状況

よりも記事を参照する割合が大きくなっている．逆にユー

以下に，各ユーザの実験前の Git の理解状況を示す．

ザ C はリファレンスを参照する割合が大きくなっており，ユーザ A総参照時間も一番長い．すなわち，応用問題を解く場合にGit 全体および今回対象とした rebase の概念については，リファレンスに記載してあるような基本的な説明より理解しており，普段から CUI で Git を使用している．

も，記事の局所的な情報の方が参考になるといえる．

ユーザ B
日常的に GUI で Git を使用しているが，Git の概念は十分に理解していない．また，今回対象とした，CUI© 2017 Information Processing Society of Japan

6.4 例題 3
例題 3 は git cherry-pick について学ぶ問題である．表224

情報処理学会 インタラクション 2017
IPSJ Interaction 2017

図 1

1-510-30
2017/3/2

学習者の視線が左から右に移ったときの Z 軸の値

図 2Fig. 1 The value of the Z axis when the learner’s line of sightmoves from left to right
表 1

学習者の視線が右から左に移ったときの Z 軸の値

Fig. 2 The value of the Z axis when the learner’s line of sightmoves from right to left

例題 1 でのユーザ別の参照時間上位 5 位までのページの参照時間と URL

Table 1 Viewing time and URL of Top 5 reference pages by user in Example 1
順位12

3

4

5

ユーザ

URL

参照時間 [秒]A

http://www.backlog.jp/git-guide/stepup/stepup7 6.html

77B

https://www.google.co.jp/q=git+master+移動

388

C

http://www.backlog.jp/git-guide/stepup/stepup2 3.html

35A

https://www.google.co.jp/q=git+rebase

6B

http://www.backlog.jp/git-guide/stepup/stepup7 5.html

232C

http://www.backlog.jp/git-guide/stepup/stepup2 2.html

23A

https://www.google.co.jp/q=git+rebase+i

5B

http://www.backlog.jp/git-guide/stepup/stepup2 5.html

180C

http://kyon-mm.hatenablog.com/entry/20121217/1355706783

20

A

なし

0

B

http://sota1235.com/blog/2015/03/19/git-rebase.html

70C

http://www.backlog.jp/git-guide/stepup/stepup2 6.html

19

A

なし

0

B

http://www.backlog.jp/git-guide/stepup/stepup2 8.html

69C

http://www.backlog.jp/git-guide/stepup/stepup2 7.html

18

表 2

例題 1 でのユーザ別の参照ページ種別と参照時間

Table 2 Types and viewing time of reference pages by user in Example 1
ユーザ

記事 [秒]

リファレンス [秒]検索結果 [秒]質問サイト [秒]総参照時間 [秒]

A

077

11088

B

375

493

606

51479

C253

250

350538

表 3

例題 2 でのユーザ別の参照時間上位 5 位までのページの参照時間と URL

Table 3 Viewing time and URL of Top 5 reference pages by user in Example 2
順位12345ユーザ

URL

参照時間 [秒]A

http://tkengo.github.io/blog/2013/05/16/git-rebase-reference/43

B

http://d.hatena.ne.jp/mrgoofy33/20100910/1284069468

408

C

http://www.backlog.jp/git-guide/stepup/stepup6 4.html

134A

https://www.google.co.jp/q=git+rebase+i

4B

http://www.backlog.jp/git-guide/stepup/stepup2 5.html

167C

http://www.backlog.jp/git-guide/stepup/stepup2 3.html

81

A

なし

0

B

https://www.google.co.jp/q=git+branch+削除

3C

http://www.backlog.jp/git-guide/stepup/stepup2 2.html

74

A

なし

0

B

https://www.google.co.jp/q=commit+amend

3C

http://www.backlog.jp/git-guide/reference/branch.html

63

Aなし

0Bなし

0C

http://labs.timedia.co.jp/2010/12/git-moving-changes-with-cherry-pick.-ja/

55

5 にユーザ別の参照頻度上位 5 位までのページ参照時間と1, 2 に比べて少なくなっている．これは先の 2 つの例題にURL を示す．表 6 にユーザ別の参照ページ種別と参照時

よって rebase についての知識がついたことを顕著に示し間を示す．結果を見ると，ユーザ B, C の参照時間が例題ている．ユーザ A の参照時間が長くなっているのは別解© 2017 Information Processing Society of Japan225

情報処理学会 インタラクション 2017
IPSJ Interaction 2017

表 41-510-30
2017/3/2

例題 2 でのユーザ別の参照ページ種別と参照時間

Table 4 Types and viewing time of reference pages by user in Example 2
ユーザ記事 [秒]リファレンス [秒]検索結果 [秒]

質問 [秒]

総参照時間 [秒]A

4304047

B

408

167

60581

C

155

419

590633• git cherry-pickがあるか模索していたのが理由であると考えられる．

6.5.2 ユーザ別の詳細な考察
6.5 実験 2 全体の考察

ユーザ A

表 7 にユーザ別の参照頻度上位 5 位までのページ参照

ユーザ A は他の被験者と比べると総参照時間が短く，時間と URL を示す．表 8 にユーザ別の参照ページ種別と今回対象とした課題の解決法をもとから把握していた参照時間を示す．と言える．さらに，検索結果の参照時間もかなり短い

6.5.1 ユーザ間に共通したページ

のでどのように検索すれば必要な情報が得られるか理

本例題において，ユーザ A，B，C はそれぞれ，11 ，33，36 種のページ参照した．うち，ユーザ間で共通したページ解している．
ユーザ B

は，以下の 3 種のリファレンスおよび記事のページに加えユーザ B はリファレンスよりも記事のページを参照て，3 種の検索結果ページである．

する傾向が強く見られた．Git の体系的な情報よりも，リファレンス実際のコマンドの実行の仕方やその結果の情報を重視「rebase -i でコミットを修正する」*1 というページをして学習している．また，検索結果の参照時間が長く，ユーザ A ，B が参照した．git rebase -i コマンドの動検索結果から課題に役立ちそうな情報を慎重に選んで作について簡単に解説したページ．rebase i で検索しいることがわかる．

た際，1 番目に表示されるため，参照したのだと思わ

ユーザ Cれる．git rebase -i コマンドには色々な機能があるがユーザ C はリファレンスに該当するページに長く参照

このページでは edit についてしか解説されておらず，しており，体系的な情報を使って学習している．ユー

今回の例題に対してはあまり参考にならない．

ザ C のようにまだ Git についての知識が浅い学習者

記事は，Git の概念や基本的なコマンドの動作を先に理解• 「git のコミットの歴史を改変する (git rebase) 1 /2」*2 というページをユーザ A ，B が参照した．このページも git rebase -i コマンドについてのページでする必要があることがわかる．

7. まとめあるが，実際のコミットログと実行例を使って更に本研究では，学習者の行動によって自動的に学習マニュ具体的な解説がされている．Git の概念の説明はされアルを生成する新しい手法を提案した．我々は提案した手ていないが，Git についてある程度理解があれば非常法のアプリケーションを実装した．実験では，提案手法をに参考になると思われる．

Git の学習に適用し，個人差を考慮して，視線移動検出の• 「Git でブランチを作るのを忘れて master にコミッための閾値を決定し，また，個人のレベルや思考過程に応*3 というページをユートしてしまったときの対処法」

じた，学習に有効な参照ページの差異を確認した．以下に，

ザ B ，C が参照した．このページではブランチの今後の展望を示す．

移動方法について解説されている．branch の移動は• ユーザの行動特徴を考慮してより適切なしきい値の調整

Git の概念や仕様をよく理解していなければ使いこなすことは難しく，rebase によって branch を移動でき• マニュアル生成時のスクリーンショット配置の最適化ることに気付く必要がある．

• 更に複雑な動作を分析し，各学習者の弱点を考慮した

検索結果

詳細なマニュアルの生成

以下は，Google で検索されたキーワードである．

*1
*2
*3

• git rebase

参考文献• git rebase i[1]

http://www.backlog.jp/git-guide/stepup/stepup7 6.html
http://tkengo.github.io/blog/2013/05/16/git-rebasereference/
http://qiita.com/atskimura/items/a90dfa8bfc72e3657ef9© 2017 Information Processing Society of Japan[2]

S. Ishimaru et. al., Smart Eyewear for Interaction andActivity Recognition , Proceedings of the 33rd Annual
ACM Conference Extended Abstracts on Human Factors in Computing Systems, pp.307-310, (2015)
K. Murakami et. al., A Proposal of an Automatic In-226

情報処理学会 インタラクション 2017
IPSJ Interaction 2017

表 51-510-30
2017/3/2

例題 3 でのユーザ別の参照時間上位 5 位までのページの参照時間と URL

Table 5 Viewing time and URL of Top 5 reference pages by user in Example 3
順位12

3

45

ユーザURL

参照時間 [秒]A

https://liginc.co.jp/web/tool/79390

81

B

https://www.google.co.jp/q=cherry+pick

44Cなし0A

https://www.google.co.jp/q=git+cherry-pick

15

B

http://d.hatena.ne.jp/mrgoofy33/20100910/1284069468

3

C

なし

0

A

http://rfs.jp/server/git/gite-lab/git-cherry-pick.html

4B

https://www.google.co.jp/q=commit+amend

1

C

なし

0

A

なし

0

B

http://sota1235.com/blog/2015/03/19/git-rebase.html

70

C

なし

0

A

なし

0

B

なし

0

C

なし

0

表 6

例題 3 でのユーザ別の参照ページ種別と参照時間

Table 6 Types and viewing time of reference pages by user in Example 3
ユーザ

記事 [秒]

リファレンス [秒]検索結果 [秒]

質問 [秒]

総参照時間 [秒]

A

85

0

150100B3045048C00000

表 7

ユーザ別の参照時間上位 5 位までのページの参照時間と URL

Table 7 Viewing time and URL of Top 5 reference pages by user
順位

12345

ユーザ

URL

参照時間 [秒]A

https://liginc.co.jp/web/tool/79390

81

B

http://d.hatena.ne.jp/mrgoofy33/20100910/1284069468

412

C

http://www.backlog.jp/git-guide/stepup/stepup2 3.html

135A

http://www.backlog.jp/git-guide/stepup/stepup7 6.html

77B

https://www.google.co.jp/q=git+master+移動

388

C

http://www.backlog.jp/git-guide/stepup/stepup6 4.html

134A

http://tkengo.github.io/blog/2013/05/16/git-rebase-reference/43

B

http://www.backlog.jp/git-guide/stepup/stepup2 5.html

347

C

http://www.backlog.jp/git-guide/stepup/stepup2 2.html

134A

https://www.google.co.jp/q=git+cherry-pick

15

B

http://www.backlog.jp/git-guide/stepup/stepup7 5.html

234C

https://www.google.co.jp/q=git+ブランチ+移動

131A

https://www.google.co.jp/q=git+rebase

6B

http://sota1235.com/blog/2015/03/19/git-rebase.html

70C

http://qiita.com/atskimura/items/a90dfa8bfc72e3657ef9

112

表 8

ユーザ別の参照ページ種別と参照時間

Table 8 Types and viewing time of reference pages by user

[3]

[4]
[5]
[6]

ユーザ

記事 [秒]

リファレンス [秒]検索結果 [秒]

質問 [秒]

総参照時間 [秒]A

128

77390244

B820674659

52158

C40867428101363

stallation Manual Generation Method Using Operating
Logs for Open Source Software , Information Processing Society of Japan, pp.926-939, (2008)
M. Dougiamas and P. Taylor, ”Moodle: Using learning
communities to create an open source course management system , pp.171-178, (2003)
Git: https://git-scm.com/
JINS MEME Academic: https://jins-meme.com/en/
Dhuliawala, Murtaza, et al. ”Smooth eye movement interaction using EOG glasses.” Proceedings of the 18th
ACM International Conference on Multimodal Interac-© 2017 Information Processing Society of Japan

[7]
[8]
[9]
[10]

tion, pp.307-311, (2016)
Learn Git Branching: http://learngitbranching.js.
org/
サルでもわかる Git 入門 〜バーション管理を使いこなそう〜: http://www.backlog.jp/git-guide/
Qiita: http://qiita.com/
stackoverflow: http://stackoverflow.com/

227