目が見えない又は見えづらい人向けのデータサイエンス環境改善プロジェクト

English page

プロジェクトについて

近年、データサイエンスや機械学習などのAI関連技術が、様々な分野で活用されています。 今後は学校教育の中などにおいても、そういった技術を学ぶ機会が増えていくことでしょう。 そして、データサイエンス等を学ぶ上で必要不可欠なのが、グラフなどを用いた膨大なデータの分析手法です。 目が見えなかったり、見えづらかったりする視覚障害者にとっては、 こういった視覚に頼った分析手法の存在が、データサイエンスを学ぼうとする上での大きな障壁となっています。

そこで、本プロジェクトでは、視覚に頼らずにデータサイエンスや機械学習技術を習得するために必要な、情報整理やツール開発をしたいと考えています。 現時点では、Google Colaboratory上の視覚的な状態変化を音で通知するライブラリと、グラフを音に変換出来るような可視化の代替手段となるようなものを開発しました。 また、これらのライブラリを用いて、基本的な機械学習や高度な深層学習のチュートリアルも作成いたしました。

データサイエンスに興味のある視覚障害者の方々にとって、 いくつかの典型的な機械学習のチュートリアルを実行しながら、データサイエンスに取り組むきっかけとなれば幸いです。

なお、データサイエンス以前に、プログラミングもあまりしたことがないという方々のために、 以下のような入門コンテンツも作成致しました。 スクリーンリーダーの設定から、プログラミングの基礎、本ページで紹介しているツールの簡単な使い方まで、 丁寧に解説してあります。ご参考になれば幸いです。

スクリーンリーダー利用者のためのデータサイエンス入門

また、プロジェクトの詳細な背景については、以下のブログにもまとめてありますので、もしよろしければお読みください。

視覚に頼らないでデータサイエンスを学習する方法の模索

ライブラリの紹介

データサイエンスでよく利用されるNotebook環境ですが、比較的アクセシビリティの良い、 Google Colaboratory上で主に動作させることを想定して、各種Pythonライブラリを開発しています。 また、グラフの音声化ライブラリなどは、ローカル環境上でのスクリプトなどでも、一応試せるように作っておりますが、 動作環境に強く依存するため、問題等ございましたら、ご連絡頂けると幸いです。

audio-plot-lib

このライブラリは、グラフデータを音に変換し、そのまま再生したり、マウスカーソルでなぞるようにして、 インタラクティブに値の確認が出来るなど、データ可視化の代替手段を提供します。

以下は、インタラクティブにデータを確認することが可能なグラフの例です。 正弦波と余弦波の2つのグラフが重ねて音声化されています。 まずはじめに、次のボタンをクリックして、グラフ音声のミュートを解除してください。 ちなみに、Google Colab上ではボタンをクリックする作業は不要です。

ボタンを押したら、「エンター グラフ」と音声が鳴るまで、適当にマウスカーソルを動かしてみてください。 そして、音声によりグラフ上にいることがわかったら、マウスカーソルを左右に動かして、グラフデータが音程で表現されていることを確かめてみてください。 あるいはマウスがない場合は、スライダーまでカーソルを移動し、スライダーを左右に動かしてみてください。

最初の状態では、正弦波の音だけが聞こえるはずです。 ダブルクリックをすることで、音声化されるデータを、もう一方の余弦波の方に切り替えることが出来ます。 また、クリックすることにより、その場所のデータの値を読み上げることも出来ます。 マウスがない場合は、複数のスライダーがそれぞれのグラフに対応しています。

このようにインタラクティブにグラフデータを確認する以外にも、 単に音を再生するだけのグラフを作成することも可能です。 以下、同じデータを音声化したグラフの例となります。再生して、音の変化を確認してみてください。


また、以下のGoogle Colabのサンプルへアクセスすれば、ひととおりの機能を、自分で修正しながら試すことが出来るようになっています。 基本的な使い方やパラメータの指定方法など、確認してみてください。

Open example of audio plot lib in Colab

事例集

音声グラフの作成例です。再生版とインタラクティブ版のそれぞれを掲載しています。

colab-a11y-utils

このライブラリは、Google Colab上の使い勝手を向上させるために、以下の機能を追加します。 次に説明するブラウザ拡張オプションと合わせれば、スクリーンリーダーで色々と移動しなくても、Google Colabをよりスムーズに使うことが出来るようになると思います。


Open example of colab accessibility utilities in Colab

チュートリアル

線形回帰アルゴリズム

このチュートリアルでは、後述する学習教材のPython Data Science Handbookでも紹介されている、機械学習の基本、線形回帰アルゴリズムについて学びます(英語です)。

Open linear regression tutorial in Colab

音声コマンド認識器学習アルゴリズム

このチュートリアルでは、PyTorch公式サイトで紹介されている、ディープラーニングによる音声コマンド認識器の学習について学びます(英語です)。

Open speech command recognition tutorial in Colab

学習教材

スクリーンリーダー利用者のためのデータサイエンス入門

このウェブサイトは、スクリーンリーダーを利用する人々がデータサイエンスを学ぶために作られました。 NVDAやGoogle Colaboratoryの基本的な使い方から、Pythonやデータサイエンスの基礎的な内容までを扱っています。 特に学生を対象に、丁寧に書かれたコンテンツです。

Python Data Science Handbook

このサイトでは、Jake VanderPlas氏によるPythonデータサイエンスハンドブックの全文を掲載しています。 各ページにColabへのリンクが用意されていますので、おそらくこのプロジェクトで紹介したライブラリを活用することにより、機械学習の基礎を十分に学ぶことができると思います。 スクリーンリーダーで学ぶ上で、問題点等ございましたら、お気軽に私の方へご連絡頂けると幸いです。

Google Colabの使い方Tips

類似プロジェクト

Desmos

Desmosは、関数電卓やグラフ描画機能を含む無料のオンライン数学ツールです。 アクセシビリティにも力を入れており、本プロジェクトで開発したような、グラフの音声化も実現されています。 実際に教育現場や入学試験などでの利用実績も豊富にあり、データサイエンスの基礎となる数学を学ぶには、最適のツールだと思います。

Accessible Graphs

グラフデータの音声化に特化した、無料のオンラインツールです。 シンプルで使い勝手も良く作られているので、グラフの音声化を手軽に体験出来ます。 特に点字ディスプレイにも対応している点が、とても優れていると思います。

連絡先

ご意見やご要望のある方は、GitHubのディスカッションページかメールにてお知らせ頂けると幸いです。

GitHubのディスカッションページ
メール連絡先

さいごに

ぜひこのプロジェクトを広めて応援してください。

Tweet

Github上のStarを押して頂けると大変励みになります。

GitHubへのリンク

本プロジェクトは、2020年異能vationプログラム破壊的な挑戦部門の支援を受けて遂行されたものです。この場を借りて深く御礼申し上げます。

異能vationプログラムへのリンク