情報心理学,情報心理学応用
認知心理学,知識工学,人工知能,知的学習支援システム
近年,人工知能技術の発展が目覚ましいですね.
コンピュータがより人間の役に立つためには,ユーザである「人間」が「どのように物事を考えるか(認知するか)」を考えることが大切です.
本研究室では「人の認知の心理学」を研究し,それを知的に理解し,学習を支援するシステムを開発しております.
「心理学ベースで人の心理を理解し,うまくやる気を引き出してくれるコンピュータ」
「人と同じように問題を理解し,解くことができる知能を有するコンピュータ」
面白いと思いませんか?
研究例その1:誤りの可視化を元にした学習支援システム
間違ったときに「それ間違ってるよ」と指摘されるとやる気がなくなりますよね.これを否定的フィードバックと言います.人は否定されるとやる気がなくなります.
そこで,「それが正しいとするとどうなるか考えてみよう」と促すとやる気が出ます.これを肯定的フィードバックと言います.
誤りの可視化では「学習者の解答が【もし正しいとしたら】どんなおかしなことが起きるか」をコンピュータが「可視化」して表現します.
力学の例です.上の問題では本当は垂直抗力が働いているのですが,重力しか働いていないと思って学習者が解答すると...
「あなたの解答に従うと,物体が地面に沈み込んでしまうことになる」という様子をコンピュータが可視化し,「自ら誤りに気付く」ことを促します.
研究例その2:教える活動を体験させるためのTAME(Teachable Agent Module for Error-visualization)エージェント
学習活動の中で最も効果的なことは「人にモノを教えること」です.
しかし,日常ではちょうど自分が教えるのに適した相手がいることは少ないです.そこで,コンピュータが教えられるエージェントになります.
教えられるエージェントが解いた問題に対して,ユーザは「この解き方がおかしい」などを指摘します.
エージェントは,学習者の行動によって理解を深めます.
研究例その3:プログラミングにおける「部品知識の獲得」を支援するための学習支援システム
プログラミングの授業では,if文やfor文などの使い方を覚えてプログラムを作ることが多いです.
しかし,人の問題解決のプロセスでは,「チャンキング」というまとまりとして情報をとらえて一括処理することが一般的で,if文やfor文などのレベルではなく,一定のまとまりのある部品を獲得することがプログラミングスキルの向上に不可欠です.
本研究ではプログラミングにおいて「部品知識」の獲得を支援する研究を行っています.
c=a,a=b,b=cという3行のコードは「Swap」という機能を有する部品知識として獲得します.
さらに,その部品を拡張していくことで,次第に大きなプログラムも作ることができるようになります.
システム画面です.部品を組み合わせて目標となる部品を作ります.目標部品を作り終えると,次はその目標部品を使って,新しく拡張した目標部品を作る課題に移ります.
研究例その4:「他の人のコードの良いところを取り入れる」ためのゲームベースのロボットプログラミング型知識共有プラットフォーム
自分以外の人のプログラムのコードを見ることは良い学習につながるはずです.しかし,実際はそのような機会は少なく,また,他の人のコードがどのように優れているかを理解することも難しいです.
そこで,本研究では自分や他の人のコードを評価し,ランキング形式で表示し,良いところを可視化します.同時にゲーム形式で楽しいです.
ロボットに動作をプログラミングし,作物をできるだけ収穫できるようにします.
収穫数と使用コストに応じてランキングが表示され,他の人のコードの良い点を学べます.
研究例その5:「プログラミングにおける動き方(振る舞い)を理解するため」のトレース演習システム
プログラムについての理解を深めるためには,各行で何が行われているかを理解することが大切です.
そこで,本研究では「どのような順番で行が実行されるか」と「各行で何が行われているか」を学習者に与えるトレース演習課題を提案しました.
さらに,「もし正しいときはどのような結果になるか」も可視化し,学習者自身に誤りに気付かせます.