視覚障害者学習支援のための MathML 変換
理学専攻・情報科学コース• At （転置行列/指数）

はじめに

1

近年，身体障害者の就労意識が高まってきており，特に視覚障害者は社会進出の機会を拡大させている．コンピュータ技術の進化により，視覚障害者への情報提供手段が，点字等からスクリーンリーダーによる文書の読み上げに変化し，視覚障害者の教育環境が改善されたことが大きい．しかし，数式を含む文書へのスクリーンリーダーの対応は遅れており，視覚障害学生の理工系大学への進学者数は極端に少ない．そこで本研
究では，数式を含む文書を既存のスクリーンリーダーを用いて学習可能にするための文書変換アプリケーションを提案する．

2

コンピュータでの数式の記述方法

2.1

画像，PDF

コンピュータで数式を記述する場合，画像形式とPDF 形式が主に用いられる．しかし，画像形式はスクPDF 形式は，例リーンリーダーでは読み上げられず，√b2 −4ac
えば「 −b± 2a」という式は「x b b2 4 アック 2a」と読み上げられてしまう．

2.2

MathMLMathML は XML アプリケーションの一つで，W3C[1] によって勧告された数式を記述するためのマークアップ言語である．この言語にはプレゼンテーション形式とコンテンツ形式という二種類の書式がある．前者は文字の大きさや位置関係を指定してレイアウト構造を定めるものであって概念は TEX と同様であり，後者はオペレーターや引数などの数式要素を定義してから数式の意味を厳密に表現するものである．

3

コンテンツ形式 MathML 変換システム

3.1

レイアウト構造表現における問題点

画像や PDF を Infty Reader [2] を用いて TEX へ，或いは TEX を TtM [3] を用いてプレゼンテーション形
式 MathML へ変換することで，ある程度の数式は，スクリーンリーダーで読み上げ可能になる．しかし，例えば「f −1 」は「変数 f の −1 乗」と「関数 f の逆関数」の２通りの解釈が考えられるが，TEX やプレゼンテーション形式 MathML ではこれらを区別して記述することができない．高等学校学習指導要領（平成 21年度 6 月）[4] に記載されている数式を調べると，そのような例は以下の 6 種類ある．

• x′ （微分式/記号 ′ ）dy（微分式/分数式）
• dx

渡辺 千晶

• e（ネイピア数/文字 e）• !（階乗記号/エクスクラメーションマーク)• f −1 （逆関数・逆元／指数式）
提案

3.2

そこで本研究では，既存の TEX 文書を，数式の意味を厳密に表現できるコンテンツ形式 MathML 文書に変換するアプリケーションを提案する．変換元として TEX を選んだ理由は，理工系の文書における利用頻度が高いことと，画像形式や PDF 形式の文書を Infty
Reader を用いて TEX に変換できることがあげられる．
本システムの利活用

3.3

コンテンツ形式 MathML の数式は厳密な論理構造を持っているため，数式処理システム（Mathematica等）や数学オンライン評価システム（STACK 等）などでも利活用できる．

提案手法

4

本手法は大きく分けて以下３つの処理段階で構成される．処理１は TtM を使用，処理３は TtM に追加で実装した．処理２は 4.1 節で詳述する.

• 入力 TEX 文書の分かち書き（処理１）• 数式の意味推定（処理２）• コンテンツ形式 MathML への変換（処理３）4.1

数式の意味推定

3.1 節で挙げた複数の意味を持つ数式のコンテンツ
形式 MathML 変換時には，数式がどのような意味で使われているかを区別する必要がある．前後の文脈から推定することになるが，推定をプログラム化するにあたり，出現しうる前後の文脈を全て列挙することは現実的には難しい．そこで機械学習の手法を用いて，前後の文脈から自動的に数式の意味を推定できるよう学習器を生成する．
4.1.1

MeCab の辞書編集

教師データと未知データを読み込む際に，オープンソースの形態素解析ツール MeCab を用いて形態素に分割した．MeCab には TEX の数式を扱う機能はない
ため，MeCab の辞書に TEX コマンドと数学記号を新しい単語として追加した．

4.1.2

カテゴリ分類

ここでは機械学習の分野で一般的に用いられている
scikit-learn ライブラリを用いた．文書のベクトル化には CountVectorizer，パターン識別にはサポートベ
クターマシン，パラメータチューニングにはグリッドサーチ，学習器の精度の評価にはクロスバリデーションを用いた．教師データには，TEX で記述された高校
数学教材 34 ファイル計 103 ページ，6439 行の文章をweb から収集した．
未知データ・教師データとして読み込むテキストをどのような条件にすると数式の意味推定時の正答率が向上するか検証した．条件として以下 2 点を考える．

図 1: 論理行数による正答率の変化（!）• テキストの長さ（句点で区切った一文を「論理行」とし，論理行数 r を 1 ≤ r ≤ 10 の範囲で動かす）• テキスト中の数式の登場箇所(1) 数式が論理行 r 行中の最終文中にある(2) 数式が論理行 r 行中の先頭文中にある(3) 数式が論理行 r 行中の中央文中にある
dydx （微分式/分数式），e（ネイピア数/文字 e），!

図 2: 論理行数による正答率の変化（At ）（階乗記号/エクスクラメーションマーク) の正答率はr に依存せずほぼ一定となった．! の例を図 1 に示す．
上記 3 つの数式は，前後の文脈に関係なく一方の意味のみで使用されることが殆どであるためと考えられる．
x′ （微分式/記号 ′ ），At （転置行列/指数），f −1 （逆関数・逆元/指数式）の正答率のグラフは 6 ≤ r ≤ 7を頂点に上に凸となった．x′ の例を図 2 に示す．上記
3 つの数式の意味は前後の文脈に依存するためと考えられる．また，r が小さ過ぎるとデータが疎となって特徴語の区別が付きにくくなり，r が大き過ぎると登場する形態素が多くなり別の形態素が特徴語となるため，それぞれ正答率が下がったと考えられる．
数式の登場箇所は，どの条件でも大きな違いはなかったが，グラフより，登場箇所 (1) が若干ではあるが正答率が最も高かった．
以上より，ここでは r = 6 と登場箇所 (1) を採用した．

5

実行結果

数式「逆元 g −1 」を含む部分を変換した例を示す．変
換前の TEX を図 3，変換後の MathML を図 4，このMathML を FireFox で開いたものを図 5 に示す．TEX
では上付き文字として書かれている −1 が，MathML
では逆元を表す<inverse/>タグに変換された．

6

まとめと今後の課題

視覚障害者のアクセシビリティを考慮した数式文書作成のために，TEX 文書をコンテンツ形式 MathML文書へ変換するツールを作成した．その際，複数の意味をもつ数式を自動で正しく解釈するために，機械学習の手法を採用した．今後は，解釈の結果が誤っていた場合に人の手で訂正して，学習器の精度を上げられるようにしたい．

図 3: 変換前（TEX）

図 4: 変換後（MathML）

図 5: 変換後（FireFox）

参考文献[1] W3C「W3C Mathml Home」, <https://www.
w3.org/Math/>（2018/1/5/閲覧）[2] 数理科学情報処理システム研究プロジェクト「InftyProject」 ，<http://www.inftyproject.org/jp/software.html#InftyReader>（2018/1/5/閲覧）[3] Ian H. Hutchinson「TtM, a TeX to MathML
translator」 ，<http://hutchinson.belmont.
ma.us/tth/mml/>（2018/1/5/閲覧）[4] 文部科学省 (2009 年 6 月)「高等学校学習指導要領」[5] 大武信之 (2002)「視聴覚障害者高等教育支援のための文書処理システムの開発」お茶の水女子大学
大学院人間文化研究科博士 (理学) 学位論文; 博乙
第 174 号