[nvdajp-team 1093] 点訳エンジンのテストケース整備

Takuya Nishimoto nishi****@gmail*****
2013年 1月 13日 (日) 19:11:39 JST


西本です。

日本語点訳エンジンの開発について、すこし情報提供します。

「NVDA点字表示の誤り」というデータを整備していただいているので、
これを自動テスト用のファイルに追加してみました。
自動テスト用ファイルは liblouis にならって harness と呼んでいます。

自動テスト用のデータは Python のソースコードです。
すこし整理して保守しやすくしましたが、Unicode 点字シンボルを使っているので、
環境によってはちゃんと読めないかも知れません。

以下のファイルはすべて UTF-8 エンコードです。

ブラウザでごらんになる場合はこちら:
http://bzr.sourceforge.jp/view/nvdajp/nvdajpmain/annotate/head:/jptools/harness.py

Dropbox に一時的においてみたファイルはこちら:
https://dl.dropbox.com/u/62564469/harness.py

自動テストを実行すると、下記の結果が得られます:

c:\work\nvda\jpmain\jptools>python jpBrailleRunner.py
h1: 0 error(s). see __h1output.txt
h2: 21 error(s). see __h2output.txt

h1: カナと記号のテスト
h2: テキスト解析とマスあけのテスト
になっています。
現状ではエラーは h2 だけで起きています。

出力ファイルもとりあえず Dropbox に置いてみました。
https://dl.dropbox.com/u/62564469/__h2output.txt
もう一つのファイルは、テキスト解析の中間結果を確認するためのログです。
https://dl.dropbox.com/u/62564469/__h2log.txt
テストケースにコメントをつけると結果が確認しやすくなります。

このエラーを減らす作業そのものは、プログラマーの仕事です。

しかし、このテスト用データを整備する作業、あるいはチェックする作業は、
点字に詳しい方にご協力いただけるのではないか、と考えてきました。

h1 のテストを充実させるためには記号の点訳の議論が必要なのですが、
現状は h2 のテストに偏っていることもご理解いただけるのではないかと思います。

このテスト用データにこれから追加しないといけないのは、文字位置の対応関係です。
これはポジションマッピングと呼ばれていて、
点訳前の文字列の何文字目が、点訳後のセルのどのマスに対応するかを示します。
タッチカーソルの位置を正しく処理するために必要です。

liblouis を使えばエンジンがポジションマッピングをやってくれるのですが、
現在は liblouis に依存しないで日本語点訳エンジンを実装しているので、
ポジションマッピングも自前で実装しなくてはなりません。
実装方法はまだ悩んでいる途中ですが、少なくともテスト用データの整備が必要です。

以上、私がやっている(やろうとしている)開発作業に、
ちょっとでも興味を持っていただくための参考になれば幸いです。
--
Takuya Nishimoto




nvdajp-team メーリングリストの案内