Contents

学習指導要領コード整形ツール

学習指導要領コード整形ツール

../../../images/python/mext-guide-code-tree.png

 今年のGWの最終日は午後から雨で家にいて、家族でキャンプ疲れしてダラダラしていたので、コードを書きました。
 「学習指導要領をコード体系に沿ってツリー構造に展開した上で、ツリー上で連鎖する親項目の記述内容を引き継いで、コードとそれが意味する指導要領の内容を1:1で表現する」というツールです。
 誰も求めていないかもしれないですが、オープンソースにしておきます。
https://github.com/tatoflam/mext-guide-code-organizer

 学習指導要領は「学習指導要領コード」として、コード体系が整理されて、Excel版とCSV版が文科省のサイトに公開されているのですが、そのままでは使い勝手が良くありません(少なくとも自分には)。

 コードが指導要領の目次体系に沿っているのはいいし、コード体系と粒度が教科によって微妙に違うのも、教科ごとに内容と分量が違うから仕方ありません。ただ問題は、目次項目そのものにも内容が記載されたまま、文章と目次を切り離すようにしてコード化されているので、「1つのコードに対応する指導要領の内容・意味が分からない」ということです。

 例えば極端な例でいうと以下のようなコードと内容が対応づけられています。

1
2
3
83H1203222112000: ・ 学校での学習や活動
83H1203222113000: ・ 地域の行事
83H1203222114000: ・ など

(「など」にIDが振られている(!)のはさておき)
これらは実は

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
83H0000000000000 第9節 外国語
83H1200000000000 英語
83H1203000000000 2 内容
83H1203200000000〔思考力,判断力,表現力等〕
83H1203220000000 (3) 言語活動及び言語の働きに関する事項
83H1203222000000 ② 言語の働きに関する事項 言語活動を行うに当たり,主として次に示すような言語の使用場面や言語の働きを取り上げるようにする。
83H1203222100000 ア 言語の使用場面の例
83H1203222110000 (ア) 生徒の身近な暮らしに関わる場面
83H1203222112000 ・学校での学習や活動
83H1203222113000 ・地域の行事
83H1203222114000 ・など

 という目次体系の記述を踏まえないと、意味がわかりません。
 文科省のサイトにあるExcel版は、コードの桁ごとにフィルタできるようになっていて、それをポチポチと狭めていけば、絞り込んでいくことはできますが、それだとシステムを組むにはいまいち。CSV版を使ってどうにか整理する必要があります。
 コードの1桁単位の数字が、章・節などそれぞれの目次体系と対応しているため、コード体系の格桁の数字をもとに、以下のようにツリー構造に変換できれば、親子関係を辿ることは難しくありません。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
83H0000000000000 第9節 外国語
  83H1200000000000 英語
    83H1203000000000 2 内容
      83H1203200000000〔思考力,判断力,表現力等〕
        83H1203220000000 (3) 言語活動及び言語の働きに関する事項
          83H1203222000000 ② 言語の働きに関する事項 言語活動を行うに当たり,主として次に示すような言語の使用場面や言語の働きを取り上げるようにする。
            83H1203222100000 ア 言語の使用場面の例
              83H1203222110000 (ア) 生徒の身近な暮らしに関わる場面
                ・ 83H1203222112000 学校での学習や活動
                ・ 83H1203222113000 地域の行事
                ・ 83H1203222114000 など

 プログラムでは、1つのコードを1つのノードに対応させ、ノードが複数の子ノードを持つというツリー型のデータ構造を作って、親のノードの記述内容を子ノードに引き継ぐようにしました。こうすることで、コードに対応する内容が1:1でわかるようになります。

  • 83H1203222112000, “第9節 外国語|英語|2 内容|〔思考力,判断力,表現力等〕|(3) 言語活動及び言語の働きに関する事項|② 言語の働きに関する事項 言語活動を行うに当たり,主として次に示すような言語の使用場面や言語の働きを取り上げるようにする。|ア 言語の使用場面の例|(ア) 生徒の身近な暮らしに関わる場面|・ 学校での学習や活動”
  • 83H1203222113000: “第9節 外国語|英語|2 内容|〔思考力,判断力,表現力等〕|(3) 言語活動及び言語の働きに関する事項|② 言語の働きに関する事項 言語活動を行うに当たり,主として次に示すような言語の使用場面や言語の働きを取り上げるようにする。|ア 言語の使用場面の例|(ア) 生徒の身近な暮らしに関わる場面|・ 地域の行事”
  • 83H1203222114000: “第9節 外国語|英語|2 内容|〔思考力,判断力,表現力等〕|(3) 言語活動及び言語の働きに関する事項|② 言語の働きに関する事項 言語活動を行うに当たり,主として次に示すような言語の使用場面や言語の働きを取り上げるようにする。|ア 言語の使用場面の例|(ア) 生徒の身近な暮らしに関わる場面|など”

 とはいえ面倒だったので、他国で似たようなことをやっている友人に愚痴ったら、彼はとある欧米の国の教育省のサイトのスクレイピングをして、WebページのHTMLのリンク構造から似たようなことをやっているとのこと。海外でも教育関連のデータは未整備であることが多いです。指導要領がコード化されてファイルとして公開されているだけ、日本はマシなのかもしれません。