画像生成AIを試す

この年末年始は帰省をしつつ,原稿執筆をしていました。

プログラミング体験・学習に関する原稿でしたが,他と違った角度から照らしたものにしようと悪戦苦闘してました。詳しくはまた機会をあらためて書こうと思います。

締切仕事から解放されて,ようやく画像生成系のAIを自分のパソコン環境に導入してみました。

この記事のアイキャッチ画像はその画像生成AIモデルの一つである「Anything-v4.0」を導入して描画させたものです。

これは「1boy, computer, typing, looking screen, indoor, casual」というプロンプト(画像描画させるためのキーワード群)を指定して,横長サイズに指定した結果です。

同じ条件でも描画させる度に画像が変わるので,今回も3回目に描画させた結果を採用したものです。この辺は導入の仕方によって生成の手順は異なってくるので,1枚1枚描かせるパターンもあれば,自動的に複数枚の画像を生成させるやり方もあります。コマンドラインで済ます人もいれば,WebUIを利用することもできます。

導入手順は簡単で,たとえばWebUIで使いたければ…

  • Python
  • pythonライブラリ
    • torch
    • diffusers
    • gradio
  • 学習モデル
    • Stable Diffusion v2-1
    • Anything-v4.0

といったものをインストールして,pythonのスクリプトを起動するとローカルでWeb画面を開くことができます。それらはいろんな方々がネットでやり方をシェアしてくださっているので参考にしました。

ちょっと雑になりますがインストール手順はおおむね以下のような感じです。

(各自の環境によってコマンドは変わってきますので,その辺の説明はごめんなさいします。)

Macであれば,もしPythonが未導入ならHomebrewを使ってPython入れてもいいです。

brew install python@3.10

あとはpipもしくはpip3で…

pip3 install torch
pip3 install --upgrade diffusers transformers
pip3 install gradio

してライブラリを導入しておいて,学習モデルを導入します。

brew install git-lfs
git lfs install

(git LFSについてはこちら

git clone https://huggingface.co/stabilityai/stable-diffusion-2-1

あるいは

git clone https://huggingface.co/andite/anything-v4.0

そしたら次のpythonスクリプトをファイルに保存して動かします。

import gradio as gr
import torch
import click
import datetime
import random
from diffusers import StableDiffusionPipeline
import numpy as np

ai_model = "./stable-diffusion-2-1"
# ai_model = "./anything-v4.0"

def generate(prompt, nega_prom, height, width, steps, cfg, seed):
    pipe = StableDiffusionPipeline.from_pretrained(
      ai_model,
    )

    pipe.safety_checker = lambda images, **kwargs: (images, [False] * len(images))
    if seed == "":
      seed = int(random.randrange(4294967294))
    else:
      seed = int(seed)
    print(f"Seed value : {seed}")
    latents = torch.tensor(get_latents_from_seed(seed, width, height))

    gen_img = pipe(prompt=prompt, negative_prompt=nega_prom, height=height, width=width, num_inference_steps=steps, guidance_scale=cfg, latents=latents).images[0]
    gen_img.save(f"./any3_step{steps}-cfg{cfg}-{seed}.png")
    return gen_img

def get_latents_from_seed(seed: int, width: int, height:int) -> np.ndarray:
    # 1 is batch size
    latents_shape = (1, 4, height // 8, width // 8)
    # Gotta use numpy instead of torch, because torch's randn() doesn't support DML
    rng = np.random.default_rng(seed)
    image_latents = rng.standard_normal(latents_shape).astype(np.float32)
    return image_latents


webui = gr.Interface(fn=generate,
                     inputs=[
                     gr.Textbox(label = 'Prompt text', value="", lines=2, elem_id="prompt"),
                     gr.Textbox(label = 'Negative Prompt text', value="", lines=2, elem_id="nega_prom"),
                     gr.Slider(minimum=64, maximum=1024, step=64, label="縦サイズ(px)", value=768, elem_id="height"),
                     gr.Slider(minimum=64, maximum=1024, step=64, label="横サイズ(px)", value=512, elem_id="width"),
                     gr.Slider(minimum=10, maximum=150, step=1, label="ステップ数", value=25, elem_id="steps"),
                     gr.Slider(minimum=1, maximum=10, step=0.5, label='CFG', value=7.5, elem_id="cfg"),
                     gr.Textbox(label = 'seed', value=None, placeholder="0 - 4294967294. Blank is random.", elem_id="seed"),
                     ],
                     outputs=gr.Image().style(height=768)
                     )
webui.launch()

Pythonスクリプトについて参考にしたWebページはこちら(感謝感謝)。

本来であれば,画像生成系AIについて整理してから書きたいところですが,それもまた別の機会に。

私自身はまだ生成系AIをどのように自分の生産活動に活かすとよいのか模索中ですが,可能性があることは嫌というほど感じているので,何かしら自分で取り組む糸口を見つけ出してみようと思います。

でも生成した画像をブログ記事のアイキャッチ画像にするのは,地味に実用的かも。

電子決済ごっこ

…と私が名付けたわけではないのですが,今回,徳島県上板町高志幼稚園で,園児の皆さんがお買い物活動をする際のお手伝いをしてきたことがニュースでそう呼ばれました。

JRT四国放送のニュースはYahooニュースでも配信されました。

〈追記20221215〉放送網のNNNニュースでも自動的に配信されていました。

〈/追記〉

NHK徳島でもローカルニュースで取り上げていただきました。

〈追記20221215〉徳島新聞もWebでは閲覧は有償ですが取り上げてくださいました。

〈/追記〉

年少さんたちとちょっと仲良くなって,私も楽しく参観しました。

今回の実践は,開発して提供したシステムを使ったものとしては徳島県内の幼稚園では初めてというのは間違いではありません。正確に言えば,日本の幼稚園で初めてです。ということは世界の幼稚園で初めてです。

ICカードを使った電子決済ごっこの試みということなら,先行した事例があります。

ただし,実際のインターネットクラウドを利用したシステムはこれまでありません(ローカルネットワークで組んだものだけ)。よって,インターネットクラウドを利用した電子決済ごっことしては,幼稚園で初です。

他は,東京学芸大学附属小金井小学校の学級で取り組んだ例が小学校として初です。また単発的なイベントで利用したことは徳島県内ですでに数回あります。

〈追記20221215〉長野県でも中学生向けにICカードの実践をしてくださっている報告いただきました。ありがとうございます。〈/追記〉

というわけで,この子たち,とっても最先端です。


今回,使っていただいたのはビジュアルプログラミング環境のScratch(スクラッチ)とICカードリーダーを組み合わせるツール(PaSoRich)でした。クラウドのデータベースに数値を預けるシステム(NumberBank)と組み合わせて実現しています。

利用前提としていたICカードリーダーがモデルチェンジしてしまい,新モデルの対応が必要になっているため,お試しいただくためのハードルが高くなってしまっています。

けれども,対応するICカードリーダーとFelicaカード(たとえばお古の交通系ICカード)があれば,誰でも試したり,自分たちでプログラミングすることができます。ぜひお試しください。

また追ってご紹介させていただきます。

Osmo 遊びベースのデジタル学習キット

Tangible Play社の「Osmo」(オズモ)は紹介するのが若干難しい商品です。

彼らの日本語サイトは「受賞歴のあるiPad用の教育ゲームシステム」としていて,それはそれで的確ではあるのですが,Osmoの特徴がiPad用であるかのような印象になります。実際にはFire Tablet用もあります。

検索の仕方を変えると「遊びベースの学習」というタイトルをつけた販売ページが出てきます。こちらの方がいくらかOsmoの特徴を表わしている気がします。それから,PR TIMESなどのプレスリリースサイトで紹介されるときには「デジタル学習キット」と書かれたりします。こちらも製品を表現できていると思います。

そんなわけで,組み合わせて「遊びベースのデジタル学習キット」としてみました。

それから,「Osmo」というブランド名をつける他のジャンルの製品も多く,検索しても辿り着き難い問題が残ります。どうしてもアクションカメラとか,スタンプとか,他のものが混ざってしまうのです。

それでも,日本ではトイザらスで販売されているようですし,物理的な玩具教材との組合せという特徴は魅力的なので,もう少し話題にされてよい商品だと思います。

あらためて,Osmoというのは,iPadのカメラを上手に工夫した仕組みを共通の土台とする,様々な玩具やアプリ教材の集まりです。

Osmoサイトより

タブレットを立てる「ベース」(台座)と前面カメラにかぶせる「ミラーヘッド」(反射鏡)の基本セットがあって,これの上に,いくつものゲームや教材が展開しているという製品群となっています。

そのため,販売されているものは,あらかじめ基本的なものを組み合わせたセット商品とか,追加的に購入する個別のゲームや教材といった形であったりします。

どのようなものがあるかは本家サイトをご覧いただきたいのですが,英語圏に関していえば,この仕組みを使った様々なコラボレーション商品が出ていたりします。


少し昔話。

Osmoが登場したのは2014年頃。最初はクラウドファンディング形式の予約販売でスタートしました。

「タングラム」と「ワード」という玩具+アプリ教材と,「ニュートン」というアプリのみの教材という構成で登場し,早期予約者は49ドル(50%OFF)で購入できました。

私は,そこで1セット予約購入し,実際に届いたものを試してみたのです。

当時,2013年ごろにはベネッセコーポレーションもiPadと物理的な玩具を組み合わせた幼児向け教材である「Tangiblock」を登場させていました。

単にタブレット画面とのやりとりで終わるのではなく、画面の外側に実在するものを組み合わせて活動を展開するような発想が注目されていた時期でもありました。「タンジブル」という言葉は「実体があるもの」とか「手触りがある」ということを指す言葉ですが,そういう手に触ることができるものを介してコンピュータと関係するという考え方に関心が集まっていたわけです。

そういうこともあって,Osmo1セット予約購入して好感触を得たことから,その後,追加で3セットほど注文して,機会あるごとに周りに触ってもらうようになってました。

時間の経過とともにiPadのモデルチェンジが進んでいくと,最初に購入したセットのベース(台座)で対応できなくなっていきます。

ベースの初期デザインは,対応するiPadの大きさや厚みにフィットするよう寸法決め打ちでつくられていたため,モデルチェンジによるサイズや厚みの変更に対応できなかったのです。

しばらくなら古いモデルを使い続けることで対処できても,いずれは旧いiPadのサポートが切れたりするため,新しいモデルに対応できないOsmoを披露する機会はどんどん少なくなっていったのでした。OsmoをつくっているTangible Play社も解決策を模索していたとは思うのですが,なかなか新しいベースは登場しませんでした。

かなり時間が経過してから,ようやく幅広いモデルのiPadに対応できるベースとミラーヘッドが登場します。

しかし,そのときにはOsmo登場当初とは製品バリエーションも変わっており,もしも新しいベースやミラーヘッドが欲しければ,新たにセットを購入し直さなければならない状態。すでに基本的なセットを持っている初期ユーザーにとっては,重複購入になってしまうことになり,そのため,しばらく放置状態が続きました。

さらに時間が経過して,ようやく新しいミラーヘッドが単体販売され,その次にようやく新しいベースも単体販売されるようになったのでした。

ところが,日本の場合,Osmo日本正式販売の開始が新しいベースを含んだセット商品登場以降であったため,新しいベースだけの単体販売の必要性が薄いと判断されて,国内で正規購入できるのはミラーヘッドだけ(いま現在,品切れ)。私のような個人輸入の初期ユーザーは,新しいベースも米国Amazonなどから個人輸入する必要があるのです。(日本のAmazonでもベースのみを購入できますが,法外な郵送料を設定されているので,場合によって直接米国Amazonで購入する方がよかったりします。)

左:初期モデル/右:新モデル

しばらく放置していましたが,久し振りに催事で展示する必要が出てきたので,この機会に米国Amazonで新しいベース新しいミラーヘッドを購入することにしました。

9/28に注文して10/6に届きました。発注時は10/18到着予定でしたが、結果的には2週間もあれば届くようです。追加料金を払って,もう少し速く配達してもらうこともできます。

上の写真をご覧いただければ分かるように,旧モデルが横幅を決め打ちして設計し,結果的に当時存在していたiPadのモデルだけ対応するものになっていたのに対し、新モデルは横幅はフリーになっています。おかげで12.9インチのProモデルも世代に関係なく立て掛けられます。さらにminiモデルにも使えます。

ミラーヘッドも再設計されていますが,実はミラーヘッドの方は3世代存在していて,初期モデル,それを新ベース用に合うよう再設計した第2世代,そして狭ベゼルiPadに対応するため再々設計された第3世代に分かれています。

もし狭ベゼルのiPadをお持ちでないなら新しいベースだけを買えばよいのですが,狭ベゼルiPadで使いたいとなると新しいベースだけでなく,新しいミラーヘッドも別途購入しなければなりません。

そもそも新しいミラーヘッドをバンドルしてくれればいいのに,現時点では別売りです(ずるいですね)。

とにかく,揃ってしまえば,ようやくOsmoがもっている魅力を発揮してくれることになります。

2019年にTangible Play社はインドのEdTech企業Byju’sに買収されグループ企業となりました。

スタートアップ企業が大きな企業に買収されることで更なる拡大を目指すのは珍しいことではありません。今後もいろんな教材が登場してOsmoのバリエーションが増えていくのだろうと思います。

教育データ標準に捧ぐ戯言

2022年9月5日(月)に「教育データの利活用に関する有識者会議(第12回)」があるそうです。

「教育データ」について相互利用ができるよう形式を統一し,規格を整備したりすること,またその利用促進について話し合いが進められています。

教育データ標準の目的とは,サービス提供者や使用者が「相互に交換,蓄積,分析が可能となるように収集するデータの意味を揃えること」としていることが文部科学省のスライドから分かります。

これに続けて別のスライドには,もう少し細かなことを書き込んだものが続きます。

記載されている「Pedagogy First, Technology Second」とか「学習活動の効果の最大化を念頭においた標準化」とか「多様な社会の力を活用できるための標準化」とかは,「教育データの相互運用性」を実現するにあたっての『願い』みたいなものの表明に見えます。

データ標準化だけでは,「Pedagogy First」にはならないし,「学習活動の効果の最大化」にはつながらないし,「多様な社会の力を活用」することにはならないけれど,教育データの標準化が,どうかそうした意志を持つ人々に届いてその方向性で利用されますように…という「願い」が込められたスライドのようです。

「願い」への気持ちは忘れずに,本来の「教育データの相互運用性」を実現することに特化して,やるべきことを考えると,まずは「日本全国で定義の統一が必要なもの」から取り組むという方針は理にかなっています。ローカル事情満載の個別的・局所的なものを対象としたデータの標準化に取り組むのは,事情が異なり多様な事象を扱わなくてはならなくなるので後回しです。

全国で共通しているものからデータ標準化すれば「共通して使用することで相互のメリット」が得られる可能性は高いわけです。いや,普通そうです。だからデータ標準化に意味があります。

しかし,その相互メリットが「教育データを互いに活用することで児童生徒がより付加価値の高い学びが可能となる等の意義が高くなること」なのかどうかと問われたら,いくら私がPedagogy Firstな人だとしても,「さて,どうでしょう…」と中空を見つめるしかありません。「願い」ではあるから,折よく,そんな付加価値の高い学びを提供してくれる機会が得られたら,そうかもね,としか答えようがありません。

おそらく「相互メリット」なるものは別にあって,付加価値の高い学び云々とは別のところにある。だから,ここに掲げられたメリットを理由として「データ標準」の使用を強制できないのも当然のこと。それでも,別にあるはずの相互メリットのために粛々と,今後開発されるシステム,導入されるべきシステム,文部科学省の様々な行政事務において,教育データ標準化への対応を取り組まなければならないのです。

では,別の相互メリットって何なのか?

この問いにステークホルダーごとに答えようと試みたものが下図です。

「教育データ標準化」がもたらす相互メリットと,教育データ標準化が「データ活用を促進」してもたらされるメリットが混在している表なので,上手くいけばみんなハッピー(広範なステークホルダーに寄与)を羅列したものになっています。

ステークホルダー間を越えて取り結ぶ「教育データの相互運用性」が実現されると,本当にこれらのメリットが享受できるのかは不明です。できそうな気もしますが,それは「最高の食材が届けられるから最高の料理ができそうな気がする」ことと同じではないでしょうか。素材の扱い方次第ともいえそうです。

私たちは,最高のシェフがいる前提で,最高の食材をどこからでも迅速に届けてもらえる仕組みをつくろうとしている。そうでなければ最高のシェフとて最高の料理はつくれやしない。いや,最高のシェフがいなかろうと,最高の食材を明日にでもお取り寄せできる仕組みが構築されれば,どの家庭にも嬉しい。そんな感じです。

話が逸れました。

広範なステークホルダー間を越えた教育データの相互運用性について議論すると,やりたいことが広範になって話がぼやけます。それでも,上の表に記載されたメリット群から浮かび上がるキーワードがあるとすれば,それは何なのか。

思うに,Pedagogyでもなく,Technologyでもなく,「Utility」ではないでしょうか。

穿ってBusinessと書くこともできそうですし,Business First, Pedagogy Second, Technology Thirdと言った方が,率直じゃないかと思ったりもします。Utilityだって詰まるところ,Businessのことなのですから。

ともかく,Businessなるものを「商売」と捉えるか,単なる「仕事」とか「用件」と捉えるかは,人それぞれでいいはずですが,誤解を避けるため,ここではUtility(実用性,効用)といった言葉にしておきます。

そのUtilityとは具体的に何なのか。結論をもう少し先送りしながら,お互いのコンセンサスを醸成していった方がよいと思いますが,教育の分野にそれが足りていなかったのではないかとは思うのです。


さて,それではUtilityをもたらす,「教育データ標準」とは何ぞや。

上のスライドは文部科学省が描いている「これが教育データとして変換される情報のイメージですよ」というスライドです。逆に言えば,(すべて完備された暁には)記録された教育データをもとに覗くとこういった学校の中の様子を掴めますよ,さかのぼって知ることができますよ,ということです。

こうした教育データが「相互運用性」を持つというのはどういうことか。

一番分かりやすいのが教育データの受け渡しが発生する場面,つまり転校するときです。元の学校で記録したデータを転校先の学校に渡してそのまま読み込むことができるのが相互運用の一例です。正確には「相互交換」の例です。シームレスでいちいち変換する手間がない。

転校のような特殊なシチュエーションでないとメリットがないわけではありません。

日常的な校務で情報処理する際や,子どもたちが授業で学習サービスを利用する際は,複数のコンピュータが連携して動作している場合がほとんどです。それらコンピュータ同士が動作中にそのままデータを交換するためにも教育データの標準が決まっている必要があるのです。シームレスでデータが行き交っている。

さてはて,これは誰にとってのメリットなのでしょう。

コンピュータ同士がデータをシームレスに受け渡し合えること自体はコンピュータにとっての話に見えます。そのことが結果的には人間にも「手間をかけさせない」ことにつながれば嬉しいね,いやそうあるべきだ…ということだと思われます。


けれども,人間って誰?っていう風に続くわけです。

そこは一枚岩ではありません。

教育データ標準のメリットを享受する人間は,利用者だったり,管理者だったり,開発者だったりします。

利用者であれば「児童生徒」「教諭」「学校事務」「養護教諭」「ICT担当教諭」などがあるかもしれません。さらに管理者として「教頭」「副校長」「校長」「指導主事」「学校教育課担当者」「教育長」などあります。喜ぶポイントが異なる人達が混在しているのです。

しかも,利用者や管理者を直接喜ばすのは教育データ標準ではありません。実のところは,開発者がよりよいシステム開発を試みて成功した場合に利用者や管理者にメリットが届くのです。

これが,教育データ標準の議論が立場によって違ったものに見える理由です。

この教育データ標準というお話は,学校教育の中にいる利用者や管理者にとっては直接的な話ではありません。その人達を相手にしている開発者やそれを取り巻く人々にとっての問題なのです。Businessというキーワードが関係する余地はこういうところにもあるわけです。

もしも利用者や管理者にメリットをもたらすことが目的であれば,各社が独自ノウハウで便利なものを提供すればよいはずです。他社のシステムとのデータ交換も,各社が「変換機能」を用意すれば済むことです。もしもTechnology Firstを信ずるなら,変換に際して手間のかかりそうな項目や定義のすり合わせも,AI補助を用いたり,UXを工夫するなりの技術的な創意工夫で解決する方向性もあり得ます。

各社がそのような企業努力や開発力の発揮をすることで競争することがBusinessというものです。

Business的な「競争領域」については,説明スライドにも記されています。この「各社が創意工夫を行い独自に機能を実装」する方向性を自前主義ともいいます。

しかし,技術開発の世界にはまた別の原則が働いており,それが教育データ標準などの「標準化」あるいは「規格化」に対する強い動機を持ち込むのです。「協調領域」と書かれている部分がそれにあたります。

技術開発者は,効率性や合理性を尊重します。乱暴にいえば面倒くさがりなのです。すでに良いやり方があるなら,自分で一から用意せずに,それを再利用した方が圧倒的に楽です。

これを「車輪の再発明はしない」という風に表現することがあります。

Business的な競合相手だとしても,ともに同じ目的の製品を開発し,お互いの製品間でデータを交換するニーズがあるなら,協調し合って共有できることは共有した方が互恵的です。

加えて,同じ敵を相手にするならば,共闘するが得策です。

その共通の敵とは,たとえば,文部科学省が用意する公的なシステムです。そのためにノウハウを交換し合えれば,開発者にとっては大いにメリットになります。

開発者にとってのUtilityが高まれば,システム自体の開発が容易になり,創意工夫に余力を回すことができる。これが利用者や管理者へのメリットにつながる可能性があるということです。それをBusinessとしての成果につなげられるかは各社の努力です。

「標準化」や「規格化」は,既存の開発者に対してUtilityをもたらすだけではありません。

新たな開発者の参入を容易にします。

場合によっては利用者や管理者が開発者になる可能性を拓きます。標準や規格を策定し,準拠するノウハウがオープンに公開されることの大きなメリットは,誰もが開発することに参加できることなのです。

逆に言えば,標準化や規格化をする作業自体は,既存の開発者へのUtilityはもちろんですが,むしろ,新たな開発者の参入容易性を確保すること(低参入障壁)を最優先に取り組まれなければならないのです。

私個人は,利用者の傍らに「開発」もしくは「開発者」がもっと近づいてくれることを目指すべきと思います。それはWebサービスで利用できるとか,スクリプト言語から呼び出せるとか,ツールに読み込ませると面白い活用を生み出せるとか,そういうエリアにフォーカスすべきだと思います。私がUtilityという言葉を持ち出すのも,そういうところを強調したいからです。


さて,もう一度このスライドを見てみましょう。

2つ上のスライドを再掲

図中「主体情報」「内容情報」「活動情報」と大きく3つ区分されているのは,なんでなのかというと,このスライドとは別のスライドで,既存の国際標準規格とか関係団体標準とか,すでに教育データを標準化しようとした試みを参照してみたら,情報を3つに分けて扱っていることが分かったと整理されているからです。

確かに,学校というものを分解して考えようとするとき,大学の講義でも最初の取っ掛かりに提示するのは下図のようなものなわけです。

それで私たちは各要素(「学習者」「指導者」「内容」)の属性であるとか変数などを見定め,その役割や機能について理解をし,どのような手続きやコミュニケーションの活動を行なう存在なのか把握しようとします。それらを記録できるようなデータの形式があったら便利だね嬉しいねということになります。

教育データ標準化の取り組みはすでに進められているので,取り組めるものから取り組んで「教育データ標準」という名称でその定義や形式を公開しているわけです。現在は第2版(2021年度)まで出ています。

この公開サイトで何が提供されているかというと,下図の四角で囲まれた部分(主体情報定義と学校コードと学習指導要領コード)の教育データ標準がExcelファイルで公開されているのです。

主体情報のデータ項目を定義したExcelファイルを覗くと,へぇ〜私たちの主体情報ってこんな項目を記録するんだと,なかなか興味深く読めます。児童生徒も教職員も,基本情報セクションに「在留カード番号」を記録する項目がある(しかも識別子との順が両者で逆になっている)のは興味深いです。それって基本情報なんだ。

学習指導要領コードは,年度ごと,学校種ごとにコードファイルを分けて配布していて,修正バージョンも複数あります。学校コードも,東と西で二分割したファイルを配布していて,幾度か修正更新されています。それから教育委員会コードも公開されています。

これらを見ると,どこからか「はい,決めましたよ。はい,出しましたよ。」という声が聞こえそうです。

もう少し利用しやすい形で公開はできないものでしょうか。

これでは,利用者が開発者になるとか,学習で活用したくなる…とは思えません。

たとえば,Googleスプレッドシートに読み込ませて公開する方法を採用してみてはどうでしょう。例として,古いバージョンですが,実際に学校コードを一括化して公開したものがあります。

これとて使いやすいわけではありませんが,Excelファイルをダウンロードして(全国一括で見たいなら東西を合体させて)参照しなければならないことに比べれば,まだマシです。修正を反映してくれれば,いつでも最新バージョンを利用することができます。

しかも,上の例は,学校ごとに位置情報を付加していますので,学校間交流をしている相手校とか全国の学校の所在地を,地図上で確認することに利用できます。学校コードの定義の中に位置情報も含んでもらえれば,もっと普段の学習活動にも利用できるはずです。

文部科学省サイトで公開している学校コードファイルは,たとえると冷凍した食材で,使うためには解凍しなければならない面倒がある…とでも表現しましょうか。

おなじ冷凍でも,文部科学省もGitHubアカウントを確保して,そこに一括ファイルをアップロードして置いてくれてもいいんじゃないでしょうか。そうすれば修正のバージョン管理もできるし,いろんな人々が修正を提案することもできます。

〈追記/*〉学校コードや学習指導要領コードについては,利用しやすいように外部の団体や組織が独自に公開している例がすでにあるようです。

こちらはGitHubを使って学習指導要領コードをLinked Open Dataとして公開している事例。

こちらは学校コードを検索できるようにしたWebサイトの事例。

学校コードは相談次第ではAPIでの利用への対応もしてくれるようです。

本来はこうした基礎的データベースを文部科学省など国レベルで提供できるようにするのが本筋ですが… 〈*/〉

もっとも,現在の事業予算では,利便性確保までは事業範疇(予算)に入っていないのでしょう。関係者はみんな,そうした方が便利であることは分かっているし,反対ではないけれど,それが仕事には入ってないから取り組めないという,行政あるあるです。

「教育データの利活用に関する有識者会議」は,そういうことをちゃんと指摘する機会になるべきだと思います。Business寄りのことばかり議論せず,利用者や開発者のUtilityを議論して欲しい。そう願います。


ちなみに,学習指導要領コードについて,とあるデジタル教材コンテストの応募作品で,これをデータとして含めたコンテンツ作品に出会ったことがあります。一つ一つの教育素材にコードが付いてたのです。

「おっ,実際に利用されている!」と,ちょっとワクワクしたのですが,残念ながら個別の教育素材にコードを振っただけでした。

もし,ひとつの教育素材に振られたコード(複数ある)のどれかをクリックしたら,同じコードを振られた教育素材がズラッとリストアップされたら面白かっただろうに。そうはなっていなかったのです。

教育データ標準の取り組みで「学習指導要領コード」を定義して公開して,それが確かに利用されたとしても,その結果はあまりメリットをもたらさなかった例です。少なくともその時点では感じられなかった。

いまは「教材事業者等が活用しやすい形(Excel,CSV形式)で文科省ホームページにデータを掲載している」学習指導要領コードを,将来的には,デジタル教材連携サイトの構築やコンテンツへのコード付与支援ソフトウェアの開発をすることで,なるべく利用しやすくしたい計画は持っている様子。

これが実現すれば,私たちはSNSのツイートや書き込みに,簡単に学習指導要領の該当部分を引用する仕組みを開発できます。その引用に学習指導要領コードが埋め込まれることで簡単に教科書や教材へのリンクが張れるということにもなるし,自分のデジタルノートにもそれを貼り付けることができるようになります。

ただ,これも「事業者」を念頭に議論を続けていると,まったく後回しにされてしまう世界です。

協調領域をBusiness寄りで議論することは大事ですが,むしろ利用者や管理者のUtility寄りで議論を展開してもらわないと,標準化はしたけれど…利用は促進されなかった,マイナンバーみたいだね,となってしまいます。

教育データ標準の議論が様々なレイヤーや領域と多岐に渡っているため,学習者情報のダッシュボードのような便利そうな部分の話とか,相互運用性を問題する話とか,利用促進の話とか,こういうブログで取り上げやすい話とかも限定的になりがちで,正直なところ,全体把握できているのは一部の人達だけです。

果たして,教育データ標準の取り組みが周り回って私たちにとってのメリットに本当につながるのかどうか。それはやってみなければ分からないのだろうというのが外野からの景色なのです。(このブログは外野です〈追記/*〉とは若干言えなくなったみたいだけど…はは。せいぜい文句言います。〈*/〉)


教育データ標準の議論は,もっと大きなところでは,私に「図書館の自由に関する宣言」と「図書館員の倫理綱領」の存在を思い起こさせます。

本来,児童生徒あるいは学習者には,自己に関する情報のコントロール権や学習に関する権利が保障されているはずですが,学校教育が学校教育法や学習指導要領のもとで展開される中で,そこにある程度の制限が加えられるケースも起こり得ます。

そのバランスをどう考えるか,私たちの中でコンセンサスが醸成されているとは言えません。

このあと,教育データ標準の議論は「内容情報」と「活動情報」についてコマを進めようとしています。

図書館の例えでいえば,図書コードの形式を定義して,利用者の図書利用情報をどのような形式で記録できるようにするかを策定する取り組みです。

そうやって例えたときに,図書館には「宣言」と「倫理綱領」があったなぁと思い出すのです。

図書館の自由に関する宣言は「図書館は、基本的人権のひとつとして知る自由をもつ国民に、資料と施設を提供することをもっとも重要な任務とする」として,この任務を果たすため以下を確認・実践をするとしています。

第1 図書館は資料収集の自由を有する
第2 図書館は資料提供の自由を有する
第3 図書館は利用者の秘密を守る
第4 図書館はすべての検閲に反対する

そして「図書館の社会的責任を自覚し、自らの職責を遂行していくための図書館員としての自律的規範」が合わせて示されているのです。(長くなるので引用は控えます)

学校と図書館では位置づけが異なるとは思います。しかし,利用者の秘密を守る,利用者を差別せず,利用者の秘密を漏らさないという部分は,そのままでないにしても何かしら学校でも同じような倫理的な再確認を行なわなければならないと考えます。

個人情報やプライバシーにかかわる議論は,「教育データの利活用に関する有識者会議 論点整理(中間まとめ)」でいくらか議論されています。

今後,Q&Aのようなものが作成されて,事業者や教育職員に対してどのような倫理的行動を取るべきかが示唆されるとは思います。


私自身は,外野の人間として,教育データ標準のいくつかや,国際標準団体の規格などが趣味の休日プログラミングからでも利用しやすくなることを期待しています。

文部科学省の有識者会議や,企業と連携している専門家の議論は,私たち市井の人間からすると,いつも向こう側の開発者にとっての議論に終始していて,利用者として開発にかかわろうとする素人には難し過ぎです。

私たちは自らの学習を楽しく彩るために,学習履歴や学習活動データを自分で着色したり編集したりレイアウトしたいのです。そういう立場で議論している人達がどこかにいてくれることを願います。