私たちの研究室(慶應義塾大学SFC金子郁容研究室)では,全国各地の学校や教育委員会と協力して,それぞれの学校が主体となって行う調査活動(学校評価・学校の改善のための情報公開)の支援をしています.こうした支援をするうちに,調査の集計が手作業で行われているために調査担当者の負担が非常に大きいということや,いわゆるデジタル・ディバイドのためにWebアンケートによる電子的な集計ができないことなどの,現場の様々な問題が浮かび上がってきました.
そこで,普通紙と白黒プリンタと汎用の光学スキャナで使えるような,「オープンソースのマークシート処理ソフト」があったらよいだろうと考えて, 調査票の設計・マークシート原稿PDF作成・スキャン画像読み込み・マーク認識・CSV生成・自由記述欄のテキスト起こしの支援までを 行うような, 一連のアプリケーションとして, SQS(Shared Questionnaire System)を開発しました. またこれを,JavaWebStartにより,Webページ上をクリックするだけで簡単にインストール・起動ができるリッチクライアントとして利用できるようにしました. こうして,原稿自動読み取り機付きのスキャナ(PFUのScanSnap,5万円程度など)さえ あれば,誰でも・どこでも・いつでも・何にでも…マークシートによる 調査ができるようになりました.
SQSは,宮城県の30の公立高校をはじめとして,各地での利用を始めてもらっています. 今までに,のべ2万人以上の調査票を処理したことになります. また,学校だけではなく,企業やNPOのマーケティング,大学などでの研究のための調査にも,幅広く使ってもらえるものであると考えています.
SQSは,Apache License Version 2で提供しています.これは,インフラを無償化・共有化をすることで, 調査結果の共有・調査票の共有・調査手法の共有というような,さまざまな層での共有を促そうと考えているからです. 今後は,このシステム上で作成される調査票のXMLファイルや,調査手法を表すXMLスキーマファイルに, DublinCoreでメタデータを付けて,CreativeCommonsライセンスで公開することなどを支援する仕組みを提供することにより, 社会調査情報のSemanticWeb化を実現するプラットフォームとして, 普及をめざしていこうと考えています.
SQS(Shared Questionnaire System)は,アンケート調査一般を行う上での事務的負担を軽減するための, 一連のソフトウェア群です。 わたしたちは,その実装を,J2SE1.4の上に,XHTML2.0, XForms1.0, XSL1.0,SVG1.0 などの 各種のXML標準技術を用いて開発し, Apacheライセンス2.0でのオープンソースによる配布を行なっています。
共有される調査票は,XHTML2.0+XForms1.0のサブセットであるSQS Source形式に よって定義されます.SQS Sourceは調査の実施形態に非依存であり,これを, XSLTを用いて実際の調査の実施形態ごとのメディア (紙に印刷されたマークシート, PCなどのWebブラウザ, 携帯電話やPDA等のWebブラウザなど)上のコンテンツに 変換して利用する仕組みになっています.
現在までに,SQS Source形式をGUI上で編集し,各種の調査実施形態に応じたイン ターフェイス表現に変換する機能を備えた「SQS SourceEditor」と, マークシート 形式のアンケート実施形態について,スキャナなどで読み込んだ回答画像ファイル 群をもとに,マーク読み取りと自由記述欄のテキスト起こし作業を行なうための 「SQS MarkReader」を開発しています.
以下のリストに示すようなアプリケーション群によって,調査活動全般を支援します. リストのうち,強調部分の機能に対応する アプリケーション(sqs-core)が実装済みです.
SQSとしてまだ提供されていない部分については, SQSの入出力の主要な部分がXML形式であることから, 既存のXML対応のアプリケーションを用いて代替することができると思われます.
また,すでにSQSで提供されている部分についても, 既存のXML対応のアプリケーションを用いることができるものと思われます.
SQSの一連のユーザアプリケーションは, デスクトップ上で独立して動作するアプリケーション (またはサーバと連携して動作するリッチクライアント) として実現されています.また,このデスクトップ アプリケーションから,内部的な専用のWebサーバを起動して, 各種のWebアプリケーションを実行することができます. なお,これらのインストール・各種設定・起動は,JavaWebStartにより,Webページ上の クリックひとつで行えるように,自動化されています.
また,ユーザが実施した調査プロセス情報の公開を受け付けて, SemanticWebを実現するための,サーバ側の Webアプリケーション(sqs-webapp)の開発も進めています.
SQSは,調査デバイス非依存な調査票記述言語として, XHTML2.0+XForms1.0のボキャブラリのサブセットによる, SQS(SQS Source)形式 というものを定義しています. これにより,特定の調査デバイスの表現方式に依らない, 調査自体の抽象的・構造的なデザインを行うことができます.
一方,「ユーザに対して質問を行い,回答をさせるためのコンテンツ」を 記述するためのコンテンツ形式/メディアには,さまざまなものがあります. SQSでは,以下のリストで示すようなコンテンツ形式/メディアへの対応を予定しています. なお,強調部分は,対応済みです.
SQSでは,このような,さまざまなメディアに対応するために, SQS Source形式のXMLファイルを変換して,各種のコンテンツ形式による表現での調査票を, 自動的に生成できるように作られています (これは,XMLの,いわゆる"One Source Multi Use"の発想にもとづくものです).
SQSは,SQS Source形式のXMLデータを入力とし, マークシート式調査票の印刷原稿のコンテンツを変換出力する機能を備えています. ここでは,SQS Source形式を,XSLTによって, XSL-FO + SVG + FOX(Apache FOPによるFOの拡張)という名前空間を用いた 印刷用の中間表現形式への変換を行い,さらに,Apache FOPを用いることで, 最終的には PDFファイルを生成するというように,多段階のパイプライン型の処理を行うような 実装がなされています. また,パイプとなるスクリプトは,変換対象となるXML要素のグループごとに, モジュール型の構成になっています. そのため,パイプやモジュールを単位として,スタイルシートを差し換えたり修正したり することによって,生成される表現の内容を変化させたり,多メディアへの対応をする といった拡張方法が,容易となるようなアーキテクチャが実現されています.
いわゆる帳票ソリューション系のアプリケーションの多くは, 帳票生成のための処理が,サーバ上で行われる形でシステム全体が設計されてきました. これは,帳票生成に必要なソフトウェアコードと リソース(知的財産)に,ライセンス上のインストール制限などがあったためです.
これに対し,SQSでは,その全体がオープンソースソフトウェアであるため, インストール制限がありません.そのため, 比較的余裕のあるクライアント側のCPUやメモリ資源を利用して, 分散的に変換処理を行うことができます.これにより, 従来では実現できなかったような,新しい柔軟な利用スタイルを実現することができます.
SQSでは,変換対象のコンテンツ(SQS Source)から変換後のコンテンツ(PDFファイルなど)を 生成するしくみは,クライアント上でローカルに動作することになります. つまり,サーバに変換対象コンテンツをアップロードし, 他の人と共有する混み合っていて負荷の高いサーバ上で変換タスクを実行し, 変換後のコンテンツをダウンロードする,といったような 冗長なやりとりを必要としません.このため,SQS Sourceファイルの編集→ 組版処理された原稿ファイルPDFプレビューといった処理の応答性を飛躍的に 高めることができます.
クライアント側のファイル資源によって初期化されてから動作するようなWebアプリケーション, たとえば,「クライアント側でスキャンした画像を,サーバ側でOMR処理を行う Webアプリケーション」という設計について,考えてみてください. このシステムが,実用的なものに成り得ないことは,すぐに想像がつくでしょう. サーバとクライアントの間で,リッチで大きなサイズのコンテンツをやりとりしたり, 頻繁なインタラクションを必要とするWebアプリケーションは,通信帯域が狭い・遅延が 大きい場合には,操作しにくい・ユーザビリティの悪いものになります.
これは,サーバ中心主義的な設計手法の弊害です. JavaWebStartなど,いわゆるリッチクライアント技術に期待が集まってきているのは, まさに,これが理由なのです.しかし,リッチクライアントの開発には, 従来のWebアプリケーションと同じようにはいきません.ストレージに関する工夫や GUI開発に関する異なる専門性が必要となります.また,Webブラウザ上のフォームという 良くも悪くも低機能なインターフェイスに慣れたユーザにしてみると, リッチクライアントは学習コストの高い複雑なシステムに見えてしまうことでしょう.
そこで,SQSでは,Webアプリケーションとリッチクライアントを融合する技術として, WebサーバとWebアプリケーションを,JavaWebStartによってクライアント側に ダウンロードしてから,Webブラウザと同じマシンの上で動作させるようなモデルを実現しました. これにより,Webアプリケーション動作時の通信による遅延をほとんどゼロにすることができました. また,外部ネットワークから切断された環境においても, Webアプリケーションを利用できるようになりました. Webサーバには Jetty5.0.0を採用しているので,servlet2.4/JSP2.0 仕様に基づいた Webアプリケーションを動作させることができます.このとき, JavaWebStartを利用することで,すべてのコードは,管理コストを増すことなしに, 自動的なインストールや更新ができ,最新の状態に維持された上での実行をさせることができます.
このように,「クライアントマシン上にダウンロードされるWebサービス」というモデルを 実現させた上で,さらに,ローカルにダウンロードされたWebサーバが起動していなくても, コンテンツが可能なようにしておくと便利です.そのため,SQSアプリケーションでは, さまざまなバリエーションの静的なHTMLファイルを,事前に生成するようになっています. また,Webサーバが起動しているときには,静的に生成されているHTMLコンテンツを雛形として, 動的サービスが追加的に利用可能となるようにリンク先などを自動的に書き換えるなどの フィルタリングをしながら,Webクライアントにコンテンツを提供するしくみでの動作をします.
SQS Source形式のXMLファイルをビジュアルに作成・編集できるSwingアプリケーションです。 ローカルのハードディスク,jarファイル内,Web上に置かれたテンプレートを読み込んで, SQS Source形式のファイルを作成・編集することができます.また,編集中のファイルを, HTMLフォーム形式や,PDF形式でのマークシート型の調査票原稿として書き出す機能を持っています. なお,この SQS SourceEditor は,SQS Source形式のデータを編集するための専用のXMLエディタ としてではなく,多様な名前空間を構成して作られたXMLデータを編集するための, 拡張可能なXMLエディタとして設計されています.
従来は,マークシート式の調査を実施するためには, 高価な専用機器への投資などのイニシャルコスト, 専用マークシート用紙の購入費などのランニングコストを, 支払う必要がありました.あるいは,そうした一切のプロセスを, 専門の調査会社にアウトソースするしかありませんでした.
アウトソース方式の調査のための予算を確保できなかったような ユーザ・ニーズのために,白黒で,普通紙に印刷されたマークシートと, (ドロップアウトカラー機能などの無い)汎用の光学スキャナや, FAXなどの読み取り機器を利用できるようにすることが求められました.
OMR専用の機器や用紙を使わない上に,汎用的な機器環境に対応するというのは, 大変な困難を意味します.ハードウェアごとの品質や方式の差異を, ソフトウェアの工夫で埋めなければならないからです. 特定の機器や用紙を指定できないために,スキャン画像の背景が白枠・黒枠の両方の 場合があり得ますし,ドロップアウトカラーなどの光学的な支援もありません. 出力される画像ファイルのフォーマット・解像度・色深度などにについても, できる限り柔軟に対応できるようにしなければなりません. 傾きやゆがみの補正,明るさ調整やノイズ除去などの機能も自前で用意する必要があります.
そこで,SQSでは,OMR処理を行うライブラリを, 独自開発することにしました.このとき,
といったような工夫をすることにより,実用的な読み取りの速度・精度を達成しました.
従来のOCRシステムは,調査票デザインの自由度の点で, 制約の大きなものでした.ここには,次の2つのいずれかの問題がありました.
SQSでは,上述した2つの問題を同時に解決しています.
本プロジェクトの目的は,SQSをツールとして用いることで,「学校評価支援システム」を構築・運用することに あります.ここで我々が対象としている「学校評価」とは,教職員・保護者・児童生徒らを対象としたアンケート 調査を実施し,その調査結果を分析し,関係者に情報公開するというような,一連の学校改善活動のことです. われわれは,学校の現場にSQSを導入してゆくことで,こうした学校評価を行う上での 事務的な負担を軽減させるとともに,学校評価のプロセス情報の公開を支援してゆくことで, 教員・児童・生徒・保護者のコミュニケーションを実りあるものにする契機をつくり, 経営体としての学校組織の改善サイクルを回し,さらには,教育行政全体の改善にまでも 寄与していきたいという願いを持っています.
学校評価支援におけるSQS利用の流れは,おおまかには次に示すようなものとなります.
2003年9月以来、慶應義塾大学金子研究室と研究提携契約を結んでいる 教育委員会・学校において,学校評価アンケート (主として,学内の教職員,生徒,保護者に対する,全数調査形式の アンケート)を実施するために,sqs-coreが利用されています. 回答者数では,のべ数万人,数十万ページ分の 規模の回答が集計処理されたということになります.
私たちは,SQSによって, 多層的なガバナンス構造を持った組織体が,定量的調査に基づいて,その経営を改善しよ うとするときの,組織モジュール間での調査スキーマの共有と,調査結果の比較のための モデルを提案しようと考えています.そのために,次のような展開での作業を行ってきました.
今後は,社会の中での多層的なガバナンス構造を持つ組織体を,より幅広く視野に入れて,
というような,3層のツリー構造を持った組織モジュール間での 役割分担をするようなモデルを,SQSの利用を通じて普及させてゆくことを目指していきます.
今後,SQS Source形式のデータのヘッダ部分に, 調査に関する仮説(調査したい事柄の,原因と結果についての推論モデル)を, RDFで記述するというような,拡張を行ってゆく予定を持っています.これにより,
というようなプロセスを実現することができます.
これはつまり,もともとの調査仮説(メタデータ)の確からしさを, 実測値によって検証し,定量的な根拠を与えて意味付けをしてゆく ということになります.
従来は,SemanticWebの世界は, 専門家が統制された環境でメタデータを書くか, 一般人が書いた自然言語から機械的にメタデータを抽出するかの, 両極端の方法しかあり得ませんでした.そうした状況に対して,SQSは, メタデータ記述方法の,第三の道を提案することになります.
このようにして,SQSを中心としたナレッジマネジメント・知識処理システムを 構築することで,従来では捉えにくかったような,社会的な課題の現状を把握 することができます.ここから,その改善活動を具体的な数値的根拠に基づいて 進めることができるような,新しいガバナンスのスタイル--地方自治・住民自治の技術, 企業統治の手法など--を,開発・提案していきたいと考えているのです.