アクセシビリティのアンチパターン

2月27日、NHK放送技術研究所で行われた「視覚障害者向けマルチメディアブラウジング技術の開発」というシンポジウムに参加しました。ディジタル放送のバリアフリー研究開発についての情報通信研究機構の委託研究の成果発表でした。

視覚障害を持つ方の多くがテレビを情報源にしている、という現状があるのですが、ディジタルテレビ放送のデータ放送にはスクリーンリーダーのような技術が存在しません。このような現状を解決するために、音声ブラウザの技術、点字ディスプレイや触覚ディスプレイなどの技術を応用した興味深い技術報告とデモンストレーションが行われました。

そのことはとても意義のあることだと思ったのですが、一方で私が感じたのは、そもそもディジタル放送という技術をもっとユニバーサルデザインで設計できなかったのだろうか、放送情報の作り手がもっとアクセシビリティに配慮することができないのだろうか、ということです。

データ放送に使われるBMLはDynamic HTMLの技術がベースなのですが、ECMAScriptで動的に制御することに特化していて、pとdivとobjectしかタグがないのだそうです。意味的な構造を記述するタグがないので、たとえ情報を取り出せたとしても、音声や展示で提示するためのナビゲーション操作ができません。

だから、放送局でBMLの画面を作った後で、それに合わせて意味的情報を取り出すための「後処理用データ」を作って、受信側に送る、という仕組みが開発されています。XPathなどを使ってテキストエレメントを取り出して、視覚的構造から意味的構造をごりごり抽出するわけです。

どうにもスマートじゃないと思うのですが、放送の現場で最初から「意味的構造でマークアップされたデータを作成する」というのは難しいのだそうです。

新しい技術が開発されるたびに「アクセシビリティのアンチパターン」というべきものが繰り返されているように感じます。

そんなに歴史の古い技術でもないはずのディジタルテレビが、こんな方法でしかアクセシビリティを確保できないのは、技術よりも思想に問題があったとしか言いようがないように思います。

セマンティクスを無視して低レベルのインタラクションを記述するような、スクリプト言語での制御に過度に依存するような、そんなマークアップ言語を設計してしまうと、ユニバーサルデザインが損なわれる。こういうことは、新しい技術を開発して標準化する人が、教訓として持つべきではないでしょうか。

そういえばテレビもラジオも、もともと受信機を自作できるくらいオープンなインフラだった、ということをふっと思い出しました。

いまやテレビは、データのコピーさえ自由にできないインフラになっています。ブラックボックスをアクセシブルにすることがいかに難しいか。。。

ラジオが相変わらず、受信機を自作できるくらいオープンなインフラであることは、いいことだなあ、と思ったりもします。

島根県CMS

2002年に、ラジオフライでは音声合成を用いたインターネットラジオ番組「ラジオフライマガジン」の制作を行いました。ラジオフライのメーリングリストでのやりとりが、編集の達人・デーブ川崎氏によって、月刊ウェブマガジンとしてまず公開されました。それを私がHTMLから音声合成用のファイルに編集し直して、合成音声と効果音とテーマ音楽を使った、約1時間分のMP3コンテンツとして公開されました。この編集作業は数ヶ月続けて、技術実験としての目的を達成しつつ(メンバーの多忙もあって)終了しました。

こんなことをやった背景は、それまでの数年の活動で得た「インターネットラジオ番組を誰でも配信できるようになったけど、コンテンツを定期的に作るのは大変である」という経験からの着想でした。

そして、たまたま「こんなことやってるんですよ」と、ラジオフライマガジンを(当時発売されたばかりの)Apple iPod で聞かせた相手に「これはいいね」と言われ「ユビキタスラジオ」の開発が始まりました(と私は思っているのですが・・)。

最近、ネットワーク応用通信研究所からソースが公開された「島根県CMS」が注目を集めています。

しかし「ウェブサイトに読み上げ機能を持たせるのは、アクセシビリティのことを誤解した邪道なシステムだ」という意見も聞かれます。

恥ずかしながら、私は最近まで、島根県のウェブサイトで音声合成システム GalateaTalk が使われているのは知っていましたが、どのように使われているのかちゃんと知りませんでした。そこで島根県のウェブサイトを見てみました。

右上の「よみあげ」が index.m3u へのリンクになっています。立ち上げると開くのはデフォルトで関連づけられたメディアプレイヤーです。

島根県CMSの機能は、よくある「ActiveXで音声合成機能をクライアントにインストールしてしまうシステム」ではありません。そんなことをしてしまうと、なんのために「ユニバーサルなメディアとしてのテキスト」を公開しているのか分からなくなってしまいます。島根県CMSの機能は「ウェブアクセシビリティ」と呼ぶべきではなく、もっと別のメディアだと考えた方がよいと思うのです。

つまりこれは、HTMLというテキスト情報に「インターネットラジオ番組」という新しいメディアを付加し、両者を効率よく制作・配信するシステムなのだと思います。それはまさに、私が「ラジオフライマガジンをもっと効率よく制作したい」と思いながらほったらかしていた、私が欲しかった機能なのです。。

そう思いながら、島根県ウェブサイトの読み上げを聞いていると、別の問題が明らかになりました。つまり GalateaTalk の基本性能としての「読み付与」や「音声の明瞭性」などがよくないのです。無償だからといって、これは GalateaTalk の評判を下げてしまっているのではないかと。。でも、郵便番号を日付のように読み付与してしまうのは、使い方を工夫すれば解決するのでは。。

GalateaTalk は何度か商用化の打診があり、私もいろいろ頑張ったのですが、商用レベルの品質に持って行くには相当な努力が必要である、ということで断念した経緯があります。しかし、島根県CMSがGalateaTalkのキラーアプリの一つになれば、状況は変わるかも知れません。 島根県CMSの音声読み上げの改良にも取り組んでいかなくては、と思いを新たにした次第です。

Galatea Dialog Studio

オープンソースのVoiceXMLインタプリタGalatea Dialog Studioの新しいバージョンをリリースしました。

Galatea Toolkitは2000~2002年度に情報処理技術振興協会(IPA)の支援で開発が行われ、現在は音声対話技術コンソーシアム(ISTC)の元で開発が続けられています。

2008年3月上旬に行われるISTC総会では会員向けに2007年度版ソフトウェアの配布と技術解説を行います。その準備作業としてこの数日、私が担当している対話処理系のアップデート作業を行いました。

これまでISTCおよび情報処理学会の委員会でマルチモーダル対話記述ワーキンググループに参加し、マルチモーダル対話システムのアーキテクチャに関して議論が続けられました。その知見を踏まえてリファクタリングを重ねた結果「Linux用の Galatea Dialog Manager を Windows で動くようにする」という作業の目処が立ち、今回のリリースではその成果を盛り込むことにしました。豊橋技術科学大学のグループで開発されている Windows 版の対話マネージャと区別するために名称を Dialog Studio に変更しました。音声合成には GalateaTalk を、音声認識にはJuliusを使用しますが、いずれも SourceForge.jp でホストされているプロジェクトです。

Galatea Dialog Studio は現在 Eclipse 3.3 上で開発を行っています。動作環境をJava 6に移行したことで簡単に Cookie に対応することができました。昨年中に行った HTTP の POST メソッドへの対応と合わせて、いろいろなウェブアプリケーションフレームワークとの相性がよくなりました。ドキュメントでは PHP との連携例を記載しましたが、個人的にはこれから Ruby on Rails で VoiceXML アプリケーションを開発するためのツールやライブラリの整備を進めていきたいと思っています。

Studioと名乗っているのに編集機能がないなど、まだまだお粗末なシステムであることは事実です。やりたいこともたくさん残っています。きちんと情報を公開して、少しでも多くの方に関心を持っていただけるように努力したいと思います。

MagicPoint

そして研究会2日目の金曜日。自分の研究会をセッション一つだけ抜けて、同じ島根大学の中で開催されていたまつもとゆきひろさんの学生向け講演会に顔を出してきました。

終了後、どぎまぎしながら、名刺交換させていただきました。ThinkPad を閉じようとしているまつもと氏とこんな会話を。

プレゼンテーションソフトは何を?

MagicPointです。

あー、ありましたね(なんて失礼な。。)

じゃあLinuxなんですね。

そうです。あー、失敗した(うまく shutdown しなかったらしい)

お話お上手ですね(なんて失礼な。。)

私はろくなこと言ってませんね。あちゃあ。

後半の討論会は最初しか参加できませんでしたが「地域振興の切り札」に祭り上げられたまつもと氏を見ていると、もっとそっとしてあげたい気がしました。

そんな話を島根大学の縄手先生にしたら「島根県のサイトの読み上げをGalateaTalkでやってたときに、半角仮名文字を読み上げないから文字コード変換をして…とか、まつもとさんが御自身でなさってたみたいですよ」とのこと。そんなNaClさんの足手まといになったGalateaTalkの関係者であることを私はあの場で名乗らなくてよかったのかも知れない。。と思いました。

あれ以来、Ruby on Rails による VoiceXML アプリケーション開発についてつらつらと検討中です。

Rubyのチカラ

夜中に松江のホテルの部屋で去年の人工知能学会全国大会の招待講演ビデオ配信「Rubyのチカラ」を見ました。

NaClさんがどういうつもりでまつもと氏を雇っておられたか、という話をその日に伺ったので、「NaClさんの業務にどう役立つか」という観点はおそらくRubyの発展過程で強く意識されたであろう、と思いました。

そして言語オタクのまつもと氏が人工知能の講演じゃないことを申し訳なさそうに語りはじめた、昨年6月の人工知能学会での講演。Rubyで導入された機能はすべて過去の言語の二番煎じだ、と謙遜しつつも、「単純さよりも自然さが重要」という言語設計のコンセプトがじっくり語られるのを聞いて、私にはある考えが浮かびました。

プログラミング言語Rubyは、プログラマーに「自然なコーディング」を許容するために設計された「人工知能」なのだ、と。

どこでどういう省略記法を許すか、という規則を実装したパーザーはルールベースで作り込まれているはずなので、言語を作っている側は人工知能だと思わないで作っているのでしょうが、実務の文脈でいかに自然な記述を許容するか、一つ一つ職人芸で仕様を選択した結果は、「高度な手作り人工知能」と言えるのかも。

人工知能としての自然言語処理技術では「人間がやりとりする言語のコーパスを集めて、それをどう処理したらいいか検討する」ということが行われるわけですが、「プログラミング言語が使われるシステム開発の現場のコーパスを集めて、それを効率よく記述できるプログラミング言語を設計する」ということがもしきちんと行われたら、Ruby のような言語はもっと工学的に設計できるのかも知れません。そのときに重要なのは「集めるコーパスにリアリティがあること」ではないでしょうか。

そんな視点を持ちつつ、私もすっかり固くなってしまった頭を柔らかくしながらプログラミングの勉強を続けたいと思ったのでした。

続・松江の奇跡

多忙な数週間をやっと乗り切って、日記を書けるようになりました。。

前回の日記は、松江のホテルの部屋で夜中に眠れなくて書き殴って掲載しました。

最近は「である体」でミクシィ日記にいったん掲載して、数日おいて「ですます体」に書き直してはてな日記に再掲載、というパターンが多かったのですが、なんだかあのときは「ラジオ深夜便」にやられてしまいました。。

松江で開催した第40回福祉情報工学研究会は無事に終了。両日ともに60人を超える参加者に足を運んでいただきました。磁気ループをお使いになる方からのリクエストにも無事に対応できました。

バリアフリー見学ツアーで伺ったお話を改めてまとめてみます:

  • ワコムアイティの今岡さん:15年前に地元にUターンして「くにびきネット」というパソコン通信で三輪さんと出会う。パソコンがバリアフリーの手段であることを強く認識。「プロジェクト23」という活動に参加。やがて著作権法の改正を見据えて「ピロートーク」の開発に着手。これは「音訳図書をネット配信する」ためのツールである。DAISYなど音訳図書の技術は普及しているが、「今日の新聞を聞きたい」というニーズを満たすサービスはまだない。現在は松江ライトハウスのサービスに合わせて開発され、週刊誌の読み上げなどで利用されている。ボイスレコーダーで簡単に聞くことができる。島根大学の縄手先生がツール開発に協力。読み手は「自分の得意なジャンル」を登録して参加できる。自宅で簡単に朗読を録音する、というカジュアルなボランティアのきっかけになれば。
  • 三輪さん:視覚障害者の立場からUD研究会として活動。松江市のバリアフリーマップはSPコードに対応し、点字ブロックなども調査されている。「てくてくラジオ」は自分がウィンドウショッピングをしたいというニーズから開発。
  • ハートフルウィングさん(映画の副音声専門の会社)の活動紹介(映像のみ)
  • ネットワーク応用通信研究所(NaCl)の井上社長:三輪さんのメーリングリスト仲間を中心に、linux.or.jp のサーバ管理会社として設立。MS-DOS環境と音声合成装置でパソコン通信をしていた視覚障害者がWindows普及で困難に直面していることを三輪さんから学び、Linux対応スクリーンリーダーを開発。その経験からクライアントソフトを必要としないウェブ音声化システムを提案し、オープンソース技術(Ruby + GalateaTalk)の島根県ウェブサイトCMSにつながった。
  • 一文字家の景山さん:旅館から仕出し弁当屋として発展。「社会を明るくする運動」と弁当箱に書くだけでなく何か実践をしたいと思っていたところに三輪さんと出会い、弁当箱をユニバーサルデザインにすることに取り組む。片手で開くことができる、点字の説明がついている、箸袋を探しやすく取り出しやすい、など。現場で組み立ての手間が増えるが「この仕事は質の高い仕事だから誇りを持って欲しい」と説得。コストは上がったが弁当の売り上げはアップしている。