2026 年 9 巻 1 号 p. 31-36
【背景】リハビリテーション(リハ)領域におけるAIの活用は、例えばAIによる動作測定の効率化など、医療現場のDX化(医療DX)に貢献できる。しかし、AIで測定したデータは大規模なことが多く、データから知見を見出すには解析のプログラミングを要することが多い。また、リハ職にとってそれらを体系的に学ぶ機会はなく、医療DXが進みにくい要因の1つになっていると考えられる。そこで筆者らは、リハ養成校の学生を対象に、AI活用時のデータ解析を目的としたプログラミング演習を行ったので、具体的な方法とその理解度調査の結果について報告する。【対象と方法】対象は本学院の2年生54名であり、2年前期開講科目の「リハビリテーション工学演習」で講義を行った。プログラミング言語は、AIの構築・データ解析で良く使われるPythonを用い、Google Colab上でプログラミングを行った。講義内容は、①Pythonでデータの要約・グラフの描画を行う基礎演習、②動作測定のデータを要約する応用演習の2つを行った。講義終了後、アンケートにて、「Q1:記述統計量を求める方法が分かったか」「Q2:グラフを作る方法が分かったか」「Q3:Pythonで動作解析ができることを理解できたか」の3つの質問をした。回答はすべて5件法のリッカート尺度(1:全く分からない、2:あまり分からない、3:どちらでもない、4:少しわかった、5:とてもわかった)とし、得点の分布を中央値と四分位範囲で要約した。【結果】各質問の得点の分布は、Q1:5.0(4.0-5.0)、Q2:5.0(4.0-5.0)、Q3:4.0(3.0-5.0)であった。【結論】リハ学生に対し、AI活用におけるデータ解析の基礎を教え、その理解度は高い傾向を示した。今後は、AIを使ったデータ解析の視点だけでなく、AIを作る内容を扱い、その理解度を明らかにしていく。
第78回道南医学会大会医学研究奨励賞推薦演題
リハビリテーション領域において、理学療法士・作業療法士(セラピスト)がAIを使う・自分で作る動きが散見される。一方、セラピストを対象としたAIの教育体制は確立されておらず、卒前教育を見ても、AIの仕組みや作り方を扱う講義を取り入れた機関はない。以上より筆者は、リハ養成校の学生を対象に、AIの仕組みや作り方を教える講義の計画に着手した。これに先駆けて、AIを学ぶために必要なプログラミング演習(Python言語)を開発し、データの操作や記述統計量の算出、グラフでデータの可視化をするプログラミングを行った。この演習に対する理解度調査の結果、プログラミングに対する高い理解度を示し、AIを扱う講義の基礎を構築できたことが明らかとなった。
リハビリテーション(リハ)領域におけるAIの進出は著しい。これには例えば、個々の患者に合ったリハを自動で立案するシステム1),2) があることや、さらには理学療法士・作業療法士(セラピスト)自身がAIを開発する事例などがある3),4)。このように、「既存のAIを使う」「自分でAIを作る」という動向が散見される一方、セラピストがAIの仕組みや作り方を学べる教育体制は確立されていない。
AIを扱う教育には、プログラミングの導入が必要である。セラピストがプログラミングを学ぶ機会は限られているが、卒前教育であれば、医療統計学や研究法等の科目で、統計解析のプログラミング演習(例.R言語)を導入した機関がある。しかし、AIと統計解析のプログラミングは大きく異なるものであり、AIのプログラミングを扱う卒前教育はない。これが実現できれば、リハ領域でAIを教える教育方法の提案に加えて、卒後の学生によるAIを活用したリハの研究の推進など、社会的・学術的貢献につながると考える。
以上より筆者は、リハ学生を対象としたAIの仕組み・作り方を学べる講義の実現を目指している。これに際し筆者は、次の2つの小目標を立てて講義を構築することとした。
● AIを学ぶ準備として、基本的なプログラミングを学ぶ演習形態を明らかにする
● AIの仕組みや、AIを使ったデータ解析・AIを作る方法を学ぶ演習形態を明らかにする
最終的には、上記2点で明らかになった演習を統合し、本学院が提案する講義とする。
このもとで筆者はまず1点目に取り組み、考案した演習(AIプログラミング基礎演習)を実践した。本論文の目的は、AIプログラミング基礎演習の理解度調査と併せて、教育実践の報告を行うことである。
本演習は、本学院が展開する医療ICT教育5),6)のコンテンツの1つとして実施した。具体的には、医療ICT教育を構成する講義の1つである、2年次前期科目「リハビリテーション工学演習(1回90分、全15回)」内で行った。本演習で用いたプログラミング言語はPython言語(Python 3.11)で、Google Colaboratory上でプログラミングを行うものとした。
・演習の進め方
90分の講義のうち、はじめの15~20分で新しい知識を教え、残りの時間は課題とした。特に最初の15~20分で行う内容は、教員(筆者)と学生が1ステップごとに一緒にプログラムを確認する形とした。
課題では、学生に対して1からプログラムを作成することは求めないものとした。具体的には、必要なものがすべて記載されたプログラムを配布し、それを部分的に修正するような課題とした。これは、医療ICT教育のその他のコンテンツで、ブロックベースのプログラミングは扱っているが、Pythonのようにテキストベースのプログラミングを行うのは今回がはじめてということに依る(図1)。
・演習の構成
本演習は、①データの操作や要約をするプログラムを学ぶ基礎演習、②実際のデータ解析を想定した応用演習の2つで構成した。
①基礎演習では、はじめにデータを格納するファイル形式(csvファイル)の学習を行った。次に、教員が作成した仮想のcsvファイルを解析する演習を行った。具体的には、データをPythonで読み込み、記述統計量の算出・グラフの描画をする演習を行った(図2)。これらは初歩的なものであるが、第1章でも述べたとおり、本演習はプログラミングの仕方を学ぶことに焦点を当てているため、AIに関する内容は今後の展望とする。
②応用演習では、筆者が自作した簡易版の動作測定システムから得たデータを解析する演習を行った(図3)。このシステムは、特定の色を持つ1つのマーカーを追従し、マーカーの2次元座標を時系列で記録するものである。演習では、学生に対してマーカーの座標が記録されたcsvを配布し、記述統計量の算出やグラフの描画を指示した。さらに、どのような動作を行ったデータであるのか、その動作にはどのような特徴があるのかなど、リハの専門性を活かした推論を行う演習も加えた。
基礎演習・応用演習ともに、データの読み込み・操作でpandas、データ解析でNumPy、グラフの描画でMatplotlibのライブラリを用いた。
リハビリテーション工学演習(R7年度)を履修した54名を対象に、演習の理解度調査をアンケート形式にて行った。アンケートは、①理解度調査(5段階の自己評価)、②講義に関するコメント(自由記載の文章)の2つで構成し、講義の最終回が終了した時点で調査した。
①理解度調査では、「Q1.Pythonを使ってデータを読み込んで、表示する方法が理解できたか」「Q2.Pythonで記述統計量を求める方法が理解できたか」「Q3.Pythonでグラフを作る方法が理解できたか」「Q4.Pythonで動作解析ができることを理解できたか」の4つを質問した。回答は5件法のリッカート尺度とし、「1:全くそう思わない」「2:そう思わない」「3:どちらでもない」「4:そう思う」「5:とてもそう思う」の中から答えるものとし、結果は中央値と四分位範囲により要約するものとした。
②講義に関するコメントでは、本演習のさらなる改良を目的として、講義の感想やどんなことを学んでみたいかを自由記載の文章形式で質問した。
図4に①理解度調査の結果、表1に②講義に関するコメントの結果を示す。
①理解度調査では、回収率は100%であった。回答の分布は、「Q1.Pythonを使ってデータを読み込んで、表示する方法が理解できたか」は4.5 (4.0-5.0)、「Q2.Pythonで記述統計量を求める方法が理解できたか」は5.0 (4.0-5.0)、 (「Q3.Pythonでグラフを作る方法が理解できたか」は5.0 (4.0-5.0)、「Q4.Pythonで動作解析ができることを理解できたか」は4.0 (3.0-5.0)であった。
②講義に関するコメントでは、10件の回答を得た。ポジティブな回答では、プログラミングに対する興味や動作分析に関する内容のコメントが得られた。ネガティブな回答には、講義の難易度に関するコメントが得られた。その他のコメントとしては、AIプログラミング基礎演習以外にも展開しているコンテンツ(例.電子工作演習など)と組み合わせたコメントなどが得られた。
本研究では、リハ養成校の学生を対象とした、AIの仕組み・作り方を学べる講義の実現に先駆け、基本的なプログラミングを学ぶ演習を実践した。理解度調査の結果、データの読み込みや記述統計量の算出、グラフの描画などの基礎的なプログラミングの理解度は高い傾向を示した。一方、動作解析など応用的なものについては、基礎的なものと比べると理解度が低い傾向を示した。一部、講義の難易度が高いというコメントも見られたが、理解度調査の結果を踏まえると、適切な難易度の演習を構築できたことが示唆された。
リハ領域の研究で、セラピスト自身がプログラミングをする事例は数多く存在する3),4)。このような事例から、セラピストにおいてもプログラミングの需要があることが推察されるが、現状では独学が中心となっている。またAIに関しても、リハ領域に急激に導入されている現状に反して、教育体制は十分に整っていない。筆者の取り組みは、卒前にAIに関する教育を行おうとするものであり、これが実現できれば、AIの知見を有するセラピストを標準的に輩出できると考える。
本研究の限界を2点述べる。1点目は、「学生がプログラムを書けるようになった」とまでは言及できない点である。先に述べたとおり、本演習では必要なものがすべて書かれたプログラムを配布し、1つずつ解読する演習を行っている。よって、プログラムの仕組みを理解することが中心の演習となっている。一方、「プログラムを書けるようになった」とする到達基準は、例えば1から自分で書けるようになる、生成AIの補助を受けながら書けるようになるなど様々ある。今後は、工学の専門家ではないリハ学生が到達すべき目標を検討したうえで、演習内容の洗練を行っていきたい。2点目は、教育効果の評価が、学生の主観に基づく自己評価のみであり、客観的な評価が行えていない点である。こちらは適切な到達目標を設定したあとで、到達目標が満たされているかを評価できる尺度を検討したい。
本稿では、リハ養成校の学生を対象とした、AIを学ぶために必要なプログラミングを学ぶ演習とその成果を示した。本研究により、工学を専門としなくても、AIの仕組み・作り方を学べる講義の基礎を構築できたと考える。
今後は、AIの基盤となる理論(例.機械学習)やデータ解析を扱う演習を構築し、その理解度を明らかにしていきたい。
本論文内容に関連する著者の利益相反なし


左図:ブロックベースのプログラム(micro:bitのプログラミング)
右図:テキストベースのプログラム(Python言語)

左図:Pythonでは「#」がその行のプログラムを無効にするコードであり,「#」を次々に外していく
右図:左図のプログラムを実行した結果。グラフタイトル(例.sintyouと表示)などは「#」がついているため無効化されており、作成されたヒストグラムにも反映されていない

左図:身体の1ヶ所に特定の色のマーカー(例.緑)を装着し,PCのカメラで動きを撮影すると、画面の「×」印がマーカーを追従する。
右図:手を振る動きを測定したデータの例。「×」印の位置(画面上のx座標,y座標)が記録される。

左上(Q1):Pythonを使ってデータを読み込んで、表示する方法が理解できたか
右上(Q2):Pythonで記述統計量を求める方法が理解できたか
左下(Q3):Pythonでグラフを作る方法が理解できたか
右下(Q4):Pythonで動作解析ができることを理解できたか
Implementation and Evaluation of Python Programming Exercises to Introduce AI Education in Vocational School for Rehabilitation
Yuta FURUDATE 1, Kaori CHIBA 1, Kenta HIRATSUKA 1, Yuji ISHIDA 2, Tatsuya KUDO 2, Katsumi HAMA 3, Sadayoshi MIKAMI 4, Hiroaki KONISHI 5
1Biomedical Science and Engineering Research Center, H.M.A Nursing and Rehabilitation Academy
2H.M.A Nursing and Rehabilitation Academy
3National Institute of Technology, Hakodate College
4Future University Hakodate
5Konishi Cardio-Vascular Medical Clinic
Objective: This study aimed to report a Python programming exercise in a vocational school for rehabilitation and the results of a survey on students’ understanding.
Methods: Fifty-four students participated in the Python programming exercise conducted in a second-year course. They learned (1) data handling, (2) calculation of descriptive statistics, (3) visualization, and (4) introductory of motion data analysis using Python (version 3.11). The survey was conducted after all lectures, and understanding of four items was evaluated using a five-point Likert scale. The results were summarized as the median and interquartile range (IQR).
Results: The results for each item were as follows: (1) data handling: 4.5 (4.0-5.0), (2) calculation of descriptive statistics: 5.0 (4.0-5.0), (3) visualization: 5.0 (4.0-5.0), (4) introductory of motion data analysis: 4.0 (3.0-5.0).
Conclusion: This study clarified a method for conducting Python programming exercises in a vocational school for rehabilitation. These finding suggest that a foundation has been established for lectures that enable students without an engineering background to learn mechanism and development of AI.
Keywords: Vocational school for rehabilitation, Physical therapist, Occupational therapist, AI, Python