研究課題/領域番号 |
22K12291
|
研究種目 |
基盤研究(C)
|
配分区分 | 基金 |
応募区分 | 一般 |
審査区分 |
小区分62030:学習支援システム関連
|
研究機関 | 和歌山大学 |
研究代表者 |
村川 猛彦 和歌山大学, システム工学部, 准教授 (90304154)
|
研究期間 (年度) |
2022-04-01 – 2025-03-31
|
研究課題ステータス |
交付 (2023年度)
|
配分額 *注記 |
3,120千円 (直接経費: 2,400千円、間接経費: 720千円)
2024年度: 910千円 (直接経費: 700千円、間接経費: 210千円)
2023年度: 910千円 (直接経費: 700千円、間接経費: 210千円)
2022年度: 1,300千円 (直接経費: 1,000千円、間接経費: 300千円)
|
キーワード | プログラミング / 学習支援 / 大規模言語モデル / C言語 / ソフトウェア解析 / 学習支援システム / 大学教育 |
研究開始時の研究の概要 |
初学者向けプログラミング学習において、語(トークン)を適切に並べて文を構成する能力の養成が求められている。本研究では、ソースプログラムに共通して出現する「頻出パターン」に着目し、その抽出および学習支援システムへの適用を行う。C言語のfor文の場合、頻出パターンは「for(;;)」で表される。大規模なソースプログラム群からの頻出パターンの取得を試み、頻出パターンを入力に与えてソースプログラム群における出現を検出するソフトウェアも自作する。データベースを含む学習支援システムは、平成31年度より科研費の助成を受けて開発・公開したものを更新する形で構築し、大学の授業での利用を通じて有効性を実証する。
|
研究実績の概要 |
大規模言語モデルを使用し,C言語の頻出パターンの手がかりになる情報や,ソースプログラムを生成することを試みた.公開されている大規模言語モデルからLlama2を選定して使用し,2022年度の授業で使用したC言語のソースプログラムによるファインチューニングを適用したものと,適用しなかったものとで,様々なプロンプトを与えてソースプログラムを生成させたところ,ファインチューニング適用有のものが不備(構文エラーなど)が少ないことを確認した.大規模言語モデルからのC言語の頻出パターン取得は,プロンプトを与えても望むものが得られず,目視に基づいて初学者が学ぶことになる10種類の頻出パターンを取得した.各頻出パターンをプロンプトに与えてソースプログラムを生成させると,switch文ではおおむね意味のあるソースプログラムが得られたが,do-while文については適切でなかった.1回の生成に,ファインチューニング適用無では30秒程度,適用有では2分程度を要し,対話型による生成・活用には課題があることも確認した. 学習支援に関して,生成AIの一つであるChatGPTを用いて初学者向けの日本語プログラム解説文の生成を実施した.与えるプログラムに行番号や実行結果を添え,コードブロック形式の出力を抑制することで,プログラムを単に与えて解説文を生成させるよりも明瞭な解説文を生成できることを確認した.エラトステネスの篩についてソースプログラムと解説文(人手と本手法の2種類)を学部生に読んでもらった結果,生成した解説文は学習支援に十分な内容であることを確認し,実用への足がかりを得ることができた.
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
2: おおむね順調に進展している
理由
研究実施計画に述べた事項はおおむね達成できているため.
|
今後の研究の推進方策 |
大規模言語モデルや生成AIを活用した「頻出パターンの取得」「学習支援システムの更新および利用」を進めていく.成果を取りまとめながら,国内・海外で成果発表を積極的に行う.
|