...

WWWクライアント上で動作する 手書き文字認識モジュールの開発と 知

by user

on
Category: Documents
9

views

Report

Comments

Transcript

WWWクライアント上で動作する 手書き文字認識モジュールの開発と 知
 WWW クライアント 上で動作する
手書き文字認識モジュールの開発と
知的教育システムへの実装
2000 年 3 月
佐賀大学大学院工学系研究科
システム生産科学専攻
伊藤 穣
目次
第1章
はじめに
1
第2章
分数計算を指導する知的 CAI システムのインタフェース
4
知的教育システムの発展
: : : : : : : : : : : : : : : : : : : : : :
4
: : : : : : : : : : : : : : : : : : : : : : : : :
4
2.1
2.1.1
歴史的背景
2.1.2
ユーザインタフェース
: : : : : : : : : : : : : : : : : : :
2.2
分数の教育における知的教育システムの要求
2.3
分数システムの特徴
2.4
分数システムのユーザインタフェース
2.5
各システムの概要とインタフェース
第3章
5
: : : : : : : : : : :
6
: : : : : : : : : : : : : : : : : : : : : : : :
6
: : : : : : : : : : : : : :
7
: : : : : : : : : : : : : : : :
9
: : : : : : : : : : : : : : : : : : :
9
2.5.1
キーボード 版システム
2.5.2
ペンコンピュータ版システム
2.5.3
FRONTIER
: : : : : : : : : : : : : : :
: : : : : : : : : : : : : : : : : : : : : : : :
11
12
WWW 上の知的教育システム
および知的教育システムにおける
15
手書き入力インタフェース
3.1
WWW 上の知的教育システムの実現
: : : : : : : : : : : : : :
15
3.1.1
WWW 上の知的教育システムの構成
: : : : : : : : : :
15
3.1.2
WWW 上の知的教育システムの利点
: : : : : : : : : :
16
3.1.3
3.1.2.1
システムの配布、更新が容易
: : : : : : : : : :
16
3.1.2.2
プラットフォーム独立
: : : : : : : : : : : : : :
18
3.1.2.3
学習者情報の集積
: : : : : : : : : : : : : : : :
19
3.1.2.4
WWW 上の教材資源の利用
: : : : : : : : : :
WWW 上の知的教育システムの研究動向
: : : : : : : :
3.1.3.1
CALAT
3.1.3.2
微分計算を指導する知的 CAI システム :
: : : : : : : : : : : : : : : : : : : : :
i
: : : :
20
21
21
21
3.1.4
3.2
3.2.2
: : : : : : : : :
22
: : : : : : : : : : : : : :
22
スタンド アローン環境で使用できない
3.1.4.2
サーバへの負荷の集中
3.1.4.3
マルチメデ ィアデータの同期
3.1.4.4
通信遅延
3.1.4.5
Java 言語の限界
: : : : : : : : : :
23
: : : : : : : : : : : : : : : : : : : : :
23
: : : : : : : : : : : : : : : : :
: : : : : : : : : : : : : : : : : : : : : : : :
手書き入力の特徴
22
: : : : :
3.1.4.1
手書き入力の有効性
3.2.1
3.3
WWW 上の知的教育システムの問題点
: : : : : : : : : : : : : : : : : : : : : :
3.2.1.1
自然な入力が可能
3.2.1.2
二次元構造を持つ文字集合の入力が容易
3.2.1.3
視線の移動が少ない
: : : : : : : : : : : : : : : :
23
24
24
24
: : : :
25
: : : : : : : : : : : : : : :
26
手書き入力インタフェースの評価
: : : : : : : : : : : : :
26
3.2.2.1
実験内容
: : : : : : : : : : : : : : : : : : : : :
27
3.2.2.2
実験結果
: : : : : : : : : : : : : : : : : : : : :
27
WWW 上での手書きインタフェースの意義
: : : : : : : : : : :
28
WWW クライアント 上で動作する手書き文字認識モジュール
30
4.1
手書き文字認識モジュールの概要
30
4.2
WWW 上での手書き文字の入力
4.3
手書き文字認識モジュールのアーキテクチャ
: : : : : : : : : : :
32
4.3.1
WWW サーバ上での手書き文字認識
: : : : : : : : : :
32
4.3.2
WWW クライアント上での手書き文字認識
第4章
: : : : : : : : : : : : : : : : :
: : : : : : : : : : : : : : : : :
4.4
認識対象文字
4.5
汎用的なモジュールとしての要求仕様
4.5.1
4.5.2
4.5.3
: : : : : : :
: : : : : : : : : : : : : : : : : : : : : : : : : : : :
入力枠の種類
31
34
36
: : : : : : : : : : : : : :
39
: : : : : : : : : : : : : : : : : : : : : : : :
39
4.5.1.1
一行の式を一枠内に入力
: : : : : : : : : : : : :
40
4.5.1.2
入力枠に仕切り線を導入
: : : : : : : : : : : : :
41
4.5.1.3
全ての式に対し一つの入力枠
4.5.1.4
一文字入力枠のみ
認識タイミングの種類
: : : : : : : : : :
43
: : : : : : : : : : : : : : : :
45
: : : : : : : : : : : : : : : : : : :
45
: : : : : : : : : : : : : : : : : :
46
: : : : : : : : : : : : : : : : : : :
46
: : : : : : : : : : : : : : : : : : : : : : : :
47
4.5.2.1
自動一文字認識
4.5.2.2
自動逐次認識
自動一括認識
ii
4.5.3.1
4.6
4.8
第5章
48
: : : : : : : : : : : : : : : : : : : : : : : : :
49
4.5.4
高速な動作
4.5.5
手書き文字認識方法の要求仕様の決定
手書き文字の切り出し
: : : : : : : : : :
50
: : : : : : : : : : : : : : : : : : : : : : :
51
4.6.1
手書き文字の切り出しの必要性
4.6.2
従来の文字切り出し方法
4.6.3
HandChaRM-WWW の文字切り出し方法
4.6.4
4.7
: : : : : : : : : : : : : : : : : :
要求による認識
: : : : : : : : : : : : : :
51
: : : : : : : : : : : : : : : : : :
52
4.6.3.1
文字切り出し方法の決定
4.6.3.2
接触判定法
4.6.3.3
位置関係の評価
: : : : : : : :
: : : : : : : : : : : : :
53
: : : : : : : : : : : : : : : : : : : :
53
: : : : : : : : : : : : : : : : : :
HandChaRM-WWW の文字切り出しの特徴 :
手書き文字の認識方法
53
: : : : : :
: : : : : : : : : : : : : : : : : : : : : : :
4.7.1
従来の手書き文字認識
4.7.2
HandChaRM-WWW の手書き文字認識方法 :
: : : : : : : : : : : : : : : : : : :
4.7.2.1
文字認識方法の決定
4.7.2.2
ストロークの特徴情報の抽出
4.7.2.3
文字知識の記述
4.7.2.4
文字知識の例
: : : : : :
: : : : : : : : : : : : : : :
56
58
59
59
60
60
: : : : : : : : : :
61
: : : : : : : : : : : : : : : : : :
66
: : : : : : : : : : : : : : : : : : :
67
: : : : : : : : : : : : : : : : : :
69
入力インタフェースの基本仕様
WWW FRONTIER の実現
71
5.1
WWW FRONTIER の特徴
71
5.2
システム構成
5.3
ユーザインタフェース
5.4
: : : : : : : : : : : : : : : : : : : :
: : : : : : : : : : : : : : : : : : : : : : : : : : : :
73
: : : : : : : : : : : : : : : : : : : : : : :
74
: : : : : : : : : : : : : : : : : : : : : : : : : : :
74
5.3.1
画面構成
5.3.2
分数式の表示
: : : : : : : : : : : : : : : : : : : : : : : :
76
5.3.3
分数式の入力
: : : : : : : : : : : : : : : : : : : : : : : :
76
5.3.4
分数式の訂正
: : : : : : : : : : : : : : : : : : : : : : : :
78
5.3.5
手書き文字認識のタイミング
: : : : : : : : : : : : : : :
WWW FRONTIER における手書き文字認識の評価
5.4.1
実験の概要
5.4.1.2
実験結果
81
: : : : : : : : : : : : : : : : : :
81
: : : : : : : : : : : : : : : : : : : :
81
: : : : : : : : : : : : : : : : : : : : :
81
手書き文字認識率の評価
5.4.1.1
: : : : : :
80
iii
5.4.2
手書き文字認識速度
: : : : : : : : : : : : : : : : : : : :
82
第6章
考察
83
第7章
まとめ
85
iv
図一覧
2.1
キーボード 版システムのインタフェースの構成 :
: : : : : : : : :
9
2.2
キーボード 版システムのインタフェース画面
: : : : : : : : : : :
10
2.3
キーボード 版システム外観
: : : : : : : : : : : : : : : : : : : : :
10
2.4
分数式の入力枠
: : : : : : : : : : : : : : : : : : : : : : : : : : :
11
2.5
インタフェース画面
2.6
ペンコンピュータ 三洋電機 MBC-MP100J
2.7
FRONTIER のシステム構成
2.8
FRONTIER の入力インタフェース
2.9
ペン型オフィスターミナル SANYO PXT-M001
3.1
WWW 上の知的教育システム
3.2
様々なプラットフォームへの対応
3.3
WWW サーバ上での学習者情報の保持
3.4
キーボード 版分数システムの入力枠
3.5
分数式の入力例
4.1
WWW サーバ上での手書き文字認識のアーキテクチャ
4.2
数式入力の例
4.3
WWW クライアント上での手書き文字認識のアーキテクチャ
4.4
x 筆記体の書き順
: : : : : : : : : : : : : : : : : : : : : : : : :
36
4.5
y の書き方の違い
: : : : : : : : : : : : : : : : : : : : : : : : :
37
4.6
筆記された文字の外見と類似する文字の候補
4.7
切り出しにおける類似する外見の文字の例
4.8
式全体を一枠で表現
4.9
様々な大きさでの筆記
: : : : : : : : : : : : : : : : : : : : : : : :
: : : : : : : : : : :
: : : : : : : : : : : : : : : : : : :
: : : : : : : : : : : : : : :
12
13
14
: : : : : : : :
14
: : : : : : : : : : : : : : : : : :
16
: : : : : : : : : : : : : : : : :
: : : : : : : : : : : : :
19
20
: : : : : : : : : : : : : : : :
25
: : : : : : : : : : : : : : : : : : : : : : : : : : :
26
: : : :
: : : : : : : : : : : : : : : : : : : : : : : : : : : :
:
32
33
34
: : : : : : : : : : :
38
: : : : : : : : : : : :
39
: : : : : : : : : : : : : : : : : : : : : : : :
40
: : : : : : : : : : : : : : : : : : : : : : :
40
: : : : : : : : : : : : : : : : : : : : :
41
: : : : : : : : : : : : : : : : : : : : : : : : : : :
41
4.10 大きさの異なる文字の混在
4.11 仕切り線の導入
12
v
4.12 仕切り線に基づく認識結果表示
4.13 通常の分数の筆記
: : : : : : : : : : : : : : : : : :
42
: : : : : : : : : : : : : : : : : : : : : : : : : :
42
4.14 仕切り線による分子のずれ
4.15 仕切り線からのはみだし
: : : : : : : : : : : : : : : : : : : : :
42
: : : : : : : : : : : : : : : : : : : : : :
43
4.16 全ての式に対し一つの入力枠を設定
4.17 仕切り線の導入
: : : : : : : : : : : : : : : :
44
: : : : : : : : : : : : : : : : : : : : : : : : : : :
44
4.18 一文字のみの入力枠
: : : : : : : : : : : : : : : : : : : : : : : :
45
: : : : : : : : : : : : : : : : : : : : : : : : : :
46
: : : : : : : : : : : : : : : : : : : : : : : : : : :
47
4.19 一文字認識の流れ
4.20 逐次認識の流れ
: : : : : : : : : : : : : : : : : : :
48
: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
48
4.21 誤認識の以降の文字への影響
4.22 一括認識
4.23 要求による認識
: : : : : : : : : : : : : : : : : : : : : : : : : : :
4.24 手書き文字の切り出し
: : : : : : : : : : : : : : : : : : : : : : :
4.25 ストローク同士が非接触
: : : : : : : : : : : : : : : : : : : : : :
4.26 ストローク同士の接触の例
: : : : : : : : : : : : : : : : : : : : :
4.27 文字同士を近接して入力した場合の認識例
4.28 接触点を離して入力した例
49
51
54
54
: : : : : : : : : : : :
55
: : : : : : : : : : : : : : : : : : : : :
55
4.29 文字の大きさによるストロークの距離の違い
: : : : : : : : : : :
4.30 「=」用知識 3:ストローク同士の y 座標の距離による切り出し
56
57
4.31 「÷」用知識 3:ストローク同士の始点、終点の x 座標の位置関
係の評価
: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
57
4.32 「÷」用知識 4:ストローク同士の始点、終点の y 座標の位置関
係の評価
: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
4.33 ストロークの始点と終点の例
4.34 終点が不確定な例
58
: : : : : : : : : : : : : : : : : : :
61
: : : : : : : : : : : : : : : : : : : : : : : : : :
62
4.35 判定距離を用いたマッチングの例
: : : : : : : : : : : : : : : : :
4.36 文字の最上、最下、最右、最左点の抽出
4.37 文字の縦幅、横幅の抽出例
62
: : : : : : : : : : : : :
63
: : : : : : : : : : : : : : : : : : : : :
63
4.38 特徴点におけるストロークの向きの抽出例 (左右方向)
: : : : : :
64
4.39 特徴点におけるストロークの向きの抽出例 (上下方向)
: : : : : :
64
: : : : : : : : : : : : : : : :
64
4.40 ストロークの方向転換の回数抽出例
4.41 始点、終点が等しく方向転換が異なる例
vi
: : : : : : : : : : : : :
65
4.42 ストロークの直線・非直線の判定
: : : : : : : : : : : : : : : : :
65
4.43 ストロークの直線・非直線の判定
: : : : : : : : : : : : : : : : :
66
: : : : : : : : : : : : : : : : : : : : :
66
4.44 ストロークの交点抽出の例
4.45 ツリー構造による知識の記述
4.46 数字「 2 」の知識
: : : : : : : : : : : : : : : : : : :
: : : : : : : : : : : : : : : : : : : : : : : : : :
4.47 座標が不連続となる例
: : : : : : : : : : : : : : : : : : : : : : :
67
68
69
5.1
WWW FRONTIER の使用場面
5.2
WWW FRONTIER のシステム構成
5.3
ユーザインタフェース
5.4
全行消去
5.5
分数式の入力枠
5.6
手書き文字の認識と清書
: : : : : : : : : : : : : : : : : : : : : :
77
5.7
分数線とマイナスの区別
: : : : : : : : : : : : : : : : : : : : : :
78
5.8
文字の上書き訂正
: : : : : : : : : : : : : : : : : : : : : : : : : :
78
5.9
一文字消去
: : : : : : : : : : : : : : : : : : : : : : : : : : : : :
79
: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
79
5.10 一行消去
: : : : : : : : : : : : : : : : :
: : : : : : : : : : : : : : :
72
73
: : : : : : : : : : : : : : : : : : : : : : :
74
: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
75
: : : : : : : : : : : : : : : : : : : : : : : : : : :
5.11 認識に失敗した例
: : : : : : : : : : : : : : : : : : : : : : : : : :
vii
77
81
表一覧
4.1
HandChaRM-WWW の認識対象文字
4.2
基本セットの画数
4.3
接触点の有無
: : : : : : : : : : : : : :
36
: : : : : : : : : : : : : : : : : : : : : : : : : :
52
: : : : : : : : : : : : : : : : : : : : : : : : : : : :
54
viii
第1章
はじめに
近年 、WWW 上で動作する知的教育システムの開発研究が行われている
[1][2] 。WWW には、知的教育システムの実現環境として、システムの配布や
更新が容易であることや、プラットフォームに依存しないこと、インタフェー
ス等のモジュールの分散化が可能であること、サーバにおいて多くの学習者の
情報を集積できること、などの利点がある。
一方、知的教育システムにおいて、手書き入力インタフェースは、学習者が
自然に入力できるインタフェースとして期待されている [3][4][5][6][7] 。特に二
次元構造を持つ数式の入力においては、表示入力一体型のペンタブレットを用
いて数式を直接手書き入力することによって、紙に鉛筆で筆記する場合と同様
な入力が可能である。我々は「分数計算を指導する知的 CAI システム」[8] (以
下、分数システム) のユーザインタフェースとして、手書き入力インタフェー
スを実装したシステムを開発して、その有効性を確かめてきた [7][13] 。
現在、WWW 上で実現している知的教育システムの入力インタフェースと
して、マウスによるボタンのクリックや、キーボード 入力が用いられている。
手書き入力インタフェースを WWW 上で使用可能とすることで、学習者は自
然かつ容易に入力を行うことが可能となる。WWW 上での手書き入力の実現
は、WWW 上の知的教育システムにおけるシステムと学習者の対話の可能性
を広げるものと期待できる。
WWW 上で手書き入力が可能なシステムを開発する際、手書き文字認識を
行うモジュールを WWW サーバ上に配置する可能性と、WWW クライアント
上に配置する可能性とが考えられる。サーバ上に配置した場合、文字認識ごと
に通信を行うため、通信遅延が生じる。遅延により文字認識待ち時間が長くな
ると、学習者のストレスとなる。遅延を生じないためには、クライアント上に
1
おいて手書き文字認識を行うことが効果的である。
一方、WWW 上の知的教育システムは、様々なコンピュータでの使用が想定
される。クライアント上での手書き文字認識は、低速な処理速度のコンピュー
タ上においても、実用的な速度で動作する必要がある。Java 言語は処理速度の
点で必ずしも充分であるとは言えないため、アルゴリズムによっては、文字認
識処理に時間がかかる可能性がある。現在、一般に用いられている手書き文字
認識モジュールの多くは、漢字や続け字など複雑な構造を持つ手書き文字を認
識対象としており、高度な文字認識機構を採用している。それに対し、認識対
象となる文字種が限られるド メインが存在する。例えば、数式を認識対象とす
る知的教育システムでは、認識対象文字は数式の表現に必要な文字種となる。
本研究において、我々は WWW クライアント上で動作する手書き文字認識モ
ジュール HandChaRM-WWW (a Handwriting Character Recognition Module
for expression input on a WWW) を Java 言語で開発し、これを組み込んだ
分数システム WWW FRONTIER(a FRaction calculatiON TraInER) を開発
した。
HandChaRM-WWW は、初等教育における算数を対象領域とし、数字、演
算子、等号などを文字認識の対象に選び、座標情報から構成した文字知識と学
習者のオンライン情報をマッチングするというシンプルな文字認識機構を採用
した。また、文字知識をツリー状に記述することによって、探索空間の縮小を
図った。これらによって、高速な動作、高い認識率、正確な文字切り出しを実
現した。
WWW FRONTIER は、分数の加減算の問題を学習者に提示して解答させ
るド リルタイプの知的教育システムである。このシステムは、WWW 上で手
書きにより自然かつ容易に分数式のインライン入力が可能であるという特徴を
持つ。
WWW FRONTIER における手書き文字認識率を検証した結果、低水準の
手書き文字を含めた中で、93%と実用的な認識率を得た。また、文字認識速度
を検証した結果、平均 75 ミリ秒と実用的な文字認識速度を得た。
本研究において我々は、WWW 上で実用的に動作する手書き文字認識モジュー
ルを開発し、それを実際の知的教育システムに実装して、WWW 上で動作す
る知的教育システムを実現した。このことにより、クライアント上で手書き文
字認識を行うアーキテクチャを採用したこと、認識対象文字を限定し簡易な手
2
書き文字認識方法を採用したことの有効性が示された。
知的教育システムには、認識対象文字種が限られるド メインが存在する。本
研究で開発した手書き文字認識モジュールは、これらのド メインにおいても、
WWW 上で手書き入力可能な知的教育システムを実現する上で有効であると
考える。
本稿では、WWW 上での手書き入力を実現するためのアーキテクチャを提
案し、開発した手書き文字認識モジュールと、それを実装した知的教育システ
ムの開発と評価について述べる。
2 章で、本研究の背景となる、知的教育システムの研究の歴史に触れると共
に、我々が開発を行ってきた分数計算を指導する知的 CAI システムの特徴と、
先行研究におけるシステムの入力インタフェースについて述べる。
3 章で、WWW クライアント上で動作する手書き文字認識モジュールを開発
した背景として、WWW 上の知的教育システムの利点と、手書き入力の有効
性について述べる。
4 章で、我々が開発した手書き文字認識モジュールについて述べる。まず、
WWW クライアント上で手書き文字認識を行うアーキテクチャの採用によっ
て、通信遅延やサーバへの負荷の集中の問題を解決したことについて述べ、次
に、WWW 上で実用的な認識率、認識速度で汎用的に動作することを要求仕
様としたことを述べる。そして、採用した手書き文字切り出し、文字認識方法
について詳細な説明を行う。また、それらを踏まえ、手書き情報を取得する入
力インタフェースの要求仕様について述べる。
5 章で、手書き文字認識モジュールを分数システムに実装し、WWW 上で
手書き入力可能な知的教育システム WWW FRONTIER を実現したことにつ
いて述べると共に、システムの特徴と入力インタフェースについて述べる。ま
た、WWW FRONTIER における手書き文字の認識率、認識速度の評価実験
について述べる。
6 章では、我々が開発した手書き文字認識モジュールについて考察し、7 章
をまとめとする。
3
第2章
分数計算を指導する知的 CAI システ
ムのインタフェース
本章では、本研究の背景となる、知的教育システムの研究の歴史に触れる
と共に、我々が開発を行って来た知的教育システム「分数計算を指導する知的
CAI システム」(以下、分数システム) の特徴について述べる。そして、先行研
究における分数システムのシステム構成と、従来のユーザインタフェースにつ
いて述べる。
2.1
2.1.1
知的教育システムの発展
歴史的背景
学習の効率化や個別教育、新たな学習効果の実現を目指し、1950 年代の後
半より、コンピュータを教育に活用する研究が行われ、実用利用がなされてい
る。活用の方向性として、学生 (学習者) に学習範囲 (ド メイン) の知識やその
適用能力の教授を目的とする CAI(Computer Assisted Instruction) や、学習の
支援を強調する CAL(Computer Assisted Learning) などが挙げられる。
1960 年代に研究された伝統的 CAI は、コンピュータ上にテキストベースの
教材をツリー状に構築し、学習者の正誤や得点に従い、教材間を推移し学習を
行うシステムである。また、シミュレーション環境としての CAI も当時既に
提唱されている。伝統的 CAI には、学習の推移があらかじめ分岐により決定
されているため、学習の展開の自由度が限定されるという問題点がある。
1970 年代に入り、Carbonell(1970) によって CAI に人工知能の技術を導入し
た知的 CAI の提唱がなされた。知的 CAI は、学習者の理解状態を推定し、個
4
別の学習者に沿った問題生成、指導の選択を行う。このことにより、学習の展
開における伝統的 CAI の問題点を解決し、高度個別指導の可能性が広がった。
近年ではマルチメディア技術の発達に基づき、学習環境として知的な推論機
構を導入したシミュレーションシステムの研究も行われている。これらは環境
型 ITS(Intelligent Tutoring System) と呼ばれる。
現在、コンピュータの教育への活用の研究は、知的 CAI や環境型 ITS を包
括した、総合的な知的教育システムの研究として発展してきている。
2.1.2
ユーザインタフェース
知的教育システムのユーザインタフェースは、コンピュータの発達とともに、
学習者との円滑なインタラクションの実現を目指して高度化してきている。
ユーザインタフェースは、学習者の意図をシステムに伝える入力インタフェー
スと、システムの反応を表現する出力インタフェースの二つからなる。
出力インタフェースは、研究当初、キャラクタによるテキスト表示が用いら
れていた [39][40][41] 。その後、GUI の発達に伴いマルチメディアを用いた様々
な形態による表現が可能となった [42] [43][44] 。
一方、入力インタフェースについては、現在発展段階にある。
知的教育システムの入力インタフェースは、開発当初はキャラクタベースに
よる入力が用いられた。入力はキーボード から行われ、一次元的な入力のみが
可能であった。その後、GUI の発達に伴い、二次元的な入力表現が可能となっ
たほか、マウスの普及により、片手で画面上の二次元空間におけるポイントを
容易に指定できるなどのマウスの利点を活かした入力インタフェースの開発が
行われた。
近年、自然な入力が可能な入力インタフェースとして、手書き入力インタ
フェースの研究が行われている。手書き入力を用いた知的教育システムとし
て、山崎らによる書写学習システム [5] や、尾崎らによるひらがなを含めた癖
字の修正を目的とする文字学習システム [10] 、我々が開発した手書き入力可能
な分数システム [11][12][13] (第 2.5.2 、第 2.5.3 節で述べる) などが挙げられる。
5
2.2
分数の教育における知的教育システムの要求
分数の計算は、小学校の数学の教科の中でも、とくに知識や計算技能の獲得
が困難なド メインであると言われる。教育現場からの報告では、小学校のみな
らず、中学校や、高校、ひいては大学においても、一部の学生は分数の計算能
力が著しく欠如しているという現状が指摘されている。
分数の学習では、分数の概念について正確に理解するとともに、計算にお
ける様々な手続きを適用する能力が求められる。これらを獲得するには、分数
の計算問題を繰り返し解答し、習熟することが必要である。また、知識や計算
手続きを誤って憶える場合も多いため、個々の児童に対して誤りの内容を指摘
し、正しい知識の獲得へと導くことが重要である。
しかし実際の教育現場では、通常、一人の教師が多数の児童に対して授業を
行う一斉授業の形式が用いられるため、個々の児童に応じて個別の指導を行う
ことは、教師の能力的な限界から実現が困難である。
分数の教育は、知的教育システムの支援による児童への高度個別指導が強く
要求される現場であると言える。
我々は、実際の教育現場や、その他想定される様々な分数の学習の場面にお
いて、分数の計算能力を獲得させることを目的とする知的教育システム、
「分
数計算を指導する知的 CAI システム」(以下、分数システム) を開発した [8] 。
2.3
分数システムの特徴
分数システムは、二口の分数の加減算問題を提示して、学習者に解答させる
ド リルタイプの知的教育システムである。分数の加減算問題について、全ての
問題世界の問題に対応する機能を実現している。
このシステムの特徴として、学習者に分数問題の計算結果だけでなく計算の
途中式を入力させ、その式変形過程から学習者の解法の文脈を認識できること
が挙げられる。学習者が誤った解答を入力した場合には、学習者の解法の文脈
から誤り原因を同定し、誤りの内容に沿った指導を行う。
学習者の解法の文脈を認識するため、システムはデータベース内に正しい式
変形を定式化したものを教材知識として保有し、学習者の入力内容とパター
ンマッチングを行う。また、誤りについては、誤った式変形を定式化したもの
(バグ知識) を教材知識として保有し、マッチングを行う。
6
例えば以下のような誤りの場合、
2
1
+
3
3
=
3
6
=
1
2
分数の概念が充分に理解できていないため、分子だけでなく分母同士も足し
算してしまっている誤りとみなして、
AN
AD
+
BN
BD
=
+ BN
AD + BD
AN
と定式化する。この場合、指導メッセージは、分母同士を足すことが間違い
であることを学習者に指摘する。
また、学習者の自発的な誤り発見を促すため、誤りの回数によって、指導の
抽象度を変化させる段階的指導を行う。
段階的指導は、誤りの回数に応じて、以下の順に展開する。
1. 誤り存在の示唆
2. 誤り箇所の指摘
3. 誤り原因の指摘
4. 正解例の提示
システムは指導メッセージを提示した後、学習者に入力式の訂正を促す。誤
り原因の指摘を行い、3 度目の再入力を促すことによっても学習者が正解へと
訂正できなかった場合には、正解例を提示し、次の問題へと移行する。
2.4
分数システムのユーザインタフェース
学習者は解答入力において途中式を入力することから、多くの数字や記号を
入力する必要がある。また、分数式は二次元的な構造を持つため、ユーザイン
タフェースの果たす役割は重要である。
我々は、分数システムの開発当初、キーボードを用いて入力するインタフェー
スを持つ分数システムを開発し、教育現場で使用実験を行い、システムの有効
性の検証を行った。
7
その後、自然かつ容易に数式を入力できるなどの手書き入力の特徴に着目
し、ペンコンピュータ上で一文字ずつ数字や記号を手書きによって入力枠に直
接入力できる手書き入力インタフェースの開発を行い、システムに実装した
[11] 。そして、キーボード 入力との比較評価実験を行った [7] 。この実験の結果
については第 3.2.2 節で述べる。
さらに、手書きにより数字、記号の連続筆記が可能なシステム、FRONTIER
を開発した [12][13] 。このシステムでは、一文字ごとの認識待ち時間に影響さ
れることなく連続して手書き文字の入力が可能で、学習者は快適に分数式を入
力することができる。
一方、WWW 上の利点に着目し、WWW 上で動作するキーボード 入力イン
タフェースを Java 言語で開発した。WWW 上で使用できることにより、配布
が容易であり、プラットフォームに依存しない知的教育システムが実現した。
8
2.5
各システムの概要とインタフェース
本節では、前節で述べた様々なシステムの概要とインタフェースについて述
べる。
2.5.1
キーボード 版システム
図 2.1 に、キーボード 版システムの入力インタフェースを示す。このシステ
ムは、パーソナルコンピュータ NEC PC-9801 シリーズ (OS は MS-DOS) 上で
動作する。知的教育システムの本体部分は Prolog 、ユーザインタフェース部分
は C 言語で記述した。
問題提示フィールド
1
1
1
-
3
2
4
=
1
-
3
メッセージフィールド
2
分数式
入力枠
8
=
6
解答入力フィールド
図 2.1: キーボード 版システムのインタフェースの構成
システムが起動し、問題世界が選択された後、システムによって生成された
問題が問題提示フィールド に表示される。同時に、分数式の解答入力フィール
ド に分数式入力枠が一つ表示される。入力枠は、
「=」キーを押すことによっ
て、新たに表示させることができる。
学習者は、分数式入力枠内に、方向キーによってカーソルを移動させなが
ら、数字、記号、分数線をキーボード を用いて入力する。
入力枠間の移動には、スクロールアップ、スクロールダウンキーを用いる。
文字を訂正する方法として、消したい文字の上でスペースキーを押す方法
と、バックスペースキーを使う方法、書き直したい文字の上で上書き入力する
9
方法がある。また、ホームクリアキーを押すことによって、カーソルが存在す
る入力枠内の全ての入力を消去することができる。
図 2.2: キーボード 版システムのインタフェース画面
図 2.3: キーボード 版システム外観
10
2.5.2
ペンコンピュータ版システム
ペンコンピュータ版システムは、ペンコンピュータ部とワークステーション
部からなる。ペンコンピュータ部は、入力インタフェース、問題生成、手書き
文字認識、通信部の各モジュールで構成されている。一方、ワークステーショ
ン部は主制御、入力認識、誤り原因同定、指導方略、教材知識の各モジュール
で構成されている。
ペンコンピュータは三洋電機 MBC-MP100J 、OS は Windows3.1 を用いた。
このペンコンピュータは、入力装置としてペン入力タブレット、出力装置とし
て 640 × 480 ドットの液晶画面 (LCD) を持つ。液晶画面はペン入力タブレット
上に重ね合わせられており、表示入力一体型のインタフェースを実現している。
システムが起動すると、問題世界の選択を促すウインド ウを表示し、学習者
が問題世界を選択すると、システムはあらかじめファイル内に記述した問題を
画面に提示する。学習者は、手書きにより入力枠に直接分数式を入力する。
入力枠は図 2.4 に示すように、縦 3 カラム、横 10 カラムから構成されてい
る。最上段のカラムに分子、中央のカラムに整数、分数線、演算子、最下段の
カラムに分母を入力する。
分子
整数
分数線
演算子
2
6
分母
図 2.4: 分数式の入力枠
図 2.5 に、ペンコンピュータ版システムのインタフェースを示す。
11
図 2.5: インタフェース画面
図 2.6: ペンコンピュータ 三洋電機 MBC-MP100J
2.5.3
FRONTIER
FRONTIER は、ペン型オフィスターミナル (SANYO PXT-M001) と、UNIX
ワークステーション (Sun SPARC station5) で構成されている。ペン型オフィ
12
スターミナルは、UNIX ワークステーションの X 端末に、ペンを入力デバイス
として備えたコンピュータである。液晶ディスプレイと抵抗膜感圧式タブレッ
トが一体となっているため、MBC-MP100J と同様、表示入力一体型の入力イ
ンタフェースの構築が可能である。
このシステムの構成を図 2.7 に示す。インタフェース、手書き文字認識モ
ジュールを C 言語、その他のモジュールを Prolog で記述した。
ペン型オフィスターミナル
UNIX ワークステーション
前処理
問題生成
学習者
モデル
解答入力・
書式解析・入力解析
インタフェース
指導方略
教材知識
学習者モデル解析
バグ知識
後処理
学習者
手書き文字認識モジュール
図 2.7: FRONTIER のシステム構成
ペンコンピュータ版では一文字を入力するごとに手書き文字認識を行ってい
たのに対し、FRONTIER では、文字切り出し、手書き文字認識、手書き文字
の入力受け付けの各処理を平行処理することにより、認識結果の表示を待たず
に連続して手書き文字を入力することが可能となった。
図 2.8 に、入力インタフェースを示す。
13
図 2.8: FRONTIER の入力インタフェース
図 2.9: ペン型オフィスターミナル SANYO PXT-M001
14
第3章
WWW 上の知的教育システム
および知的教育システムにおける
手書き入力インタフェース
本章では、本研究において WWW クライアント上で動作する手書き文字認
識モジュールを開発した背景として、WWW 上で知的教育システムを実現す
ることの利点と、知的教育システムにおける手書き入力の有効性について述べ
る。そして、その双方の利点を併せ持つ、WWW 上で動作する手書き入力イ
ンタフェースを実現することの意義について論じる。
3.1
WWW 上の知的教育システムの実現
近年、急速に普及してきた WWW(World Wide Web) の利点に着目し、WWW
上で動作する知的教育システムの研究開発が行われている。本節では WWW
上の知的教育システムの利点と、現在の研究の動向について述べる。
3.1.1
WWW 上の知的教育システムの構成
WWW 上の知的教育システムの基本的な概念を図 3.1 に示す。
システムの使用者 (学習者) は、インターネットに接続されたコンピュータ
や端末において、WWW ブラウザソフト等を用いて知的教育システムのホー
ムページにアクセスし、学習を行う。
WWW サーバは、学習者のアクセスに応じて、知的教育システムのプロセ
スを起動する。システムのアーキテクチャとして、知的な処理を行う部分を
15
インターネット
学習者
クライアント
WWWサーバ
(知的教育システムサーバ)
WWWブラウザ
図 3.1: WWW 上の知的教育システム
サーバ上に配置する場合や、クライアント上に配置する場合、サーバとクライ
アントで知的な処理を分業する場合などが考えられる。
3.1.2
WWW 上の知的教育システムの利点
WWW 上の知的教育システムには、以下のような利点が挙げられる [1][2] 。
システムの配布、更新が容易
プラットフォームに依存しない
学習者情報の集積が可能
WWW 上の教材資源の利用が可能
このそれぞれについて、以下で詳しく述べる。
3.1.2.1
システムの配布、更新が容易
知的教育システムが使用される場面として、以下のような環境が挙げられる。
初等中等教育ならびに高等教育の教育現場
{ 授業中における使用
{ 授業以外の時間帯における使用
16
家庭内
学習塾等
会社、公共機関等
{ 社員研修での使用
これらの環境で知的教育システムを使用するためには、使用者は配布元から
システムを入手しなければならない。
知的教育システムを配布する方法として、以下の方法が挙げられる。
記憶メデ ィアによる配布
ネットワーク上からのダウンロード
WWW の利用
記憶メデ ィアとして、現在では主にフロッピーデ ィスクや、CD-ROM など
が用いられている。これらを配布するためには、郵送や宅配、持参などの手段
を用いたり、店舗や出張所などに在庫を確保しておく必要がある。これらはい
ずれも、メディア自身の購入費やパッケージング、流通経費などに多額の費用
と事務手続きを必要とするため、営利を目的としてアプリケーション等を販売
する場合以外では適切な方法であるとは言えない。また、システムがバージョ
ンアップする度に、新たに記憶メディアの配布やネット上でのパッチの配布が
必要であるだけでなく、バージョンアップしたこと自体の告知が全ての使用者
に迅速に伝搬する保証がなく、バージョンアップが行われない可能性がある。
ネットワーク上からシステムをダウンロード する方法は、流通における経費
を必要としない。しかし、ファイルをダウンロード してシステムにインストー
ルするためには、ある程度のコンピュータの知識が必要となる。また、使用環
境として、教育現場や塾、社員研修などでは数十台のコンピュータが配置され
ている可能性がある。管理者は、システムのインストールやバージョンアップ
の度に、全てのコンピュータに対し同様の作業を行う必要がある。
これらに対し、WWW 上で知的教育システムが使用できれば、記憶メデ ィ
アの配布を行う必要がないだけでなく、使用者は常に最新バージョンのシステ
ムを使用することができる。また、インストールの必要がないため、数十台の
17
コンピュータを用いる場合でも管理者に負担がかからない。さらに、システム
は使用時のみメモリ上に存在し、使用を終了すると消滅するため、ハードディ
スクの容量を消費しない。
以上のことから、WWW 上で知的教育システムを実現することには、配布、
バージョンアップ等の更新に伴うコストを消費しないという大きな利点がある
と言える。
3.1.2.2
プラット フォーム独立
知的教育システムが使用されるコンピュータのオペレーティングシステム
(OS) として、以下のものが挙げられる。
MS-Windows
{ Windows95,98,NT
Mac-OS
UNIX 系
{ FreeBSD, Linux, Solaris 等
現在の初等中等教育の教育現場においては、MS-Windows や Mac-OS が主
に用いられている。しかし、高等教育においては UNIX 系 OS が用いられてい
る場合もある。
これらの OS にはソフトウエアの互換性がないため、単一の OS 上で知的教
育システムを開発した場合、使用環境が限られてしまう。また、OS のバージョ
ンアップが必ずしも上位互換で行われる保証がないため、いずれ使用不能とな
る可能性がある。
一方、WWW 上で知的教育システムを実現した場合、WWW が閲覧可能な
環境であれば、OS を問わずシステムを使用することができる (図 3.2) 。そのた
め、システム開発者は各 OS ごとに知的教育システムを開発する必要がない。
将来的に新たな OS が発表される可能性は充分にあるが、その場合にもシステ
ムを変更することなく対応が可能である。また近年、パーソナルコンピュータ
以外でも、ネットワークと接続し、WWW を閲覧可能な携帯端末、インター
18
MS-Windows
インターネット
知的教育システムサーバ
Mac-OS
携帯端末等
UNIX
図 3.2: 様々なプラットフォームへの対応
ネットテレビ、ワープロなどの機器の普及が進んでおり、これらの環境でも知
的教育システムを使用することが可能である。
様々な OS や機器において使用可能であることから、WWW 上の知的教育
システムは高い汎用性を持つと言える。
3.1.2.3
学習者情報の集積
WWW 上で知的教育システムを実現する場合、使用者 (学習者) のコンピュー
タと WWW サーバはネットワークで接続されていることから、学習者の履歴
をネットワークを介してサーバに伝送することによって、サーバ上で学習者情
報を保持することができる (図 3.3) 。
多くの学習者がシステムを使用する場合、多数の学習者情報をサーバ上に集
積することができる。集積した情報を分析することにより、問題ごとの正解率
や、誤りの種類についての学習者全体の傾向、システムの指導による正解率の
変化など、システムと学習者のインタラクションを不特定多数の学習者につい
て把握することができる。具体的な応用例として、教育現場において 1 クラス
全体の理解度を判定したり、クラス相互の理解度の比較といった授業評価に用
いることが考えられる。
19
また、システムの指導の効果について、実際の使用におけるデータの入手が
容易となることから、開発者は、新たに指導を追加するだけでなく、適切でな
い指導を行わないようにするなどといった調整を適宜行うことが可能となる。
このように、学習者情報を WWW サーバ上で管理することには、システムの
有効性の評価が容易となるだけでなく、改良点などを見出す上でも大きな利点
がある。
学習者
情報
学習者
情報
学習者
情報
学習者
情報
学習者
情報
インターネット
学習者
情報
ネットワークによる学習者情報の集積
スタンドアローン
図 3.3: WWW サーバ上での学習者情報の保持
3.1.2.4
WWW 上の教材資源の利用
記憶メディアによって知的教育システムを配布する場合、当該ド メインにつ
いての教材資源が実装される。しかし他のド メインについての教材を参照した
い場合には、それぞれのド メインについての教材資源を入手する必要がある。
それに対し、WWW 上の知的教育システムは、WWW 上に存在する様々な
ド メインの教材資源を、リンクによって容易に参照することが可能である。こ
のことから、WWW 上における大規模な教材資源を活用して教育を行うこと
が可能となる。
20
3.1.3
WWW 上の知的教育システムの研究動向
現在、WWW 上で動作する知的教育システムの例として、NTT 情報通信研
究所が開発した CALAT [1] や、岡崎らが開発した、微分計算を指導する知的
CAI システム [2] などがある。以下、それぞれの特徴について述べる。
3.1.3.1
CALAT
CALAT は、従来、CD-ROM 等で配布されていたマルチメデ ィア教材を、
WWW 上で閲覧することを可能とし、個人適応学習環境を実現することを目
的とした初の WWW 上の知的教育システムである。このシステムは、CGI の
技術によって学習者の識別機能を実現している。この機能により、複数の学習
者による使用に対応可能である。学習者はマウスでボタンをクリックしたり、
キーボード による入力を用いて学習を進める。教材によっては、マウスのド
ラッグによって画像の操作を行うものもあるが、これらは Shockwave 等のプ
ラグ インソフトを導入することによって実現されている。
このシステムでは、マルチメディアデータとして画像、動画、音声を用いて
いる。指導においては、これらのデータによる教材知識の説明に重きが置か
れており、計算技能の獲得や習熟などを目的とした学習についての機能は乏
しい。
3.1.3.2
微分計算を指導する知的 CAI システム
このシステムは、学習者に微分計算の問題と、正解例と複数の誤答例を含め
た解答例を提示し、学習者に正解を選択させ、正誤判定を行う知的教育シス
テムである。システムは、バグ知識を用いて誤答例を作成する。このことによ
り、学習者が誤答を選択した場合に、学習者の誤り原因を同定し、適切な指導
を行うことが可能となる。
学習者は、各解答例に付随するチェックボタンをマウスもしくはキーボード
でチェックして正解を選択することによって解答を行う。
このシステムでは、マウスのみによって解答が可能であることから、迅速な
学習が可能であるが、画面中に既に正解例が提示されていることから、与えら
れた問題に対して手続き的な知識を適用して解答を行うという能力の獲得が充
分になされない可能性がある。
21
3.1.4
WWW 上の知的教育システムの問題点
WWW 上の知的教育システムの問題点として、以下の項目が挙げられる。
スタンド アローン環境で使用できない
サーバへの負荷の集中
マルチメディアデータの同期が困難
通信遅延
Java 言語の限界
以下、このそれぞれについて述べる。
3.1.4.1
スタンド アローン環境で使用できない
ネットワークに接続されていないスタンド アローンのコンピュータでは、
WWW 上の知的教育システムを使用することはできない。サーバ上の知的教
育システム本体のプログラムが、学習者が使用するコンピュータと同じ OS で
動作する場合、あるいはシステムが Java 言語のみによって構築されている場
合は、一時的にネットワークに接続した際などにシステム本体をダウンロード
して使用することが可能である。しかし OS が異なる場合は、Java 言語以外に
よって開発されたシステムを使用するためにはエミュレーションソフト等の支
援が不可欠となる。
3.1.4.2
サーバへの負荷の集中
複数のユーザが同時にシステムを使用する場合、サーバに問題生成や解答
解析、学習者への指導、通信などの処理が集中し、処理全体に対して遅延が生
じる可能性がある。このような遅延は、学習者の負担となり、意欲や学習効果
の低下を招く恐れがある。とくに、初等中等教育の授業において使用する際に
は、数十人の学習者が同時にサーバにアクセスするため、遅延は深刻な問題と
なりうる。
この問題を解決する方法として、知的な処理の一部をクライアント上で行う
アーキテクチャを採用することや、複数のサーバを立ち上げ、アクセスを分散
させる方法などが考えられる。
22
3.1.4.3
マルチメディアデータの同期
WWW 上でマルチメデ ィアデータを配信する上で、データサイズの大きさ
により、場合によっては数秒から数十秒もの通信遅延が生じる。とくに、動画
や音声データはサイズが非常に大きく、読み込み時間に差が生じやすい。この
ため、画像にシンクロして音声を出力したい場合に、画像のみが先に表示さ
れ、一定の時間経過の後に音声が出力されるなどの不具合が生じる可能性があ
る。画像と合わない音声が出力されてしまうと、理解が困難であったり、誤っ
た理解を生じる可能性がある。
この問題を解決する方法として、音声データの圧縮などの技術が用いられ
ているが、音質が劣化するという問題点がある。しかし、将来的には、ネット
ワークの容量の増大が見込まれることや、配信技術の発達により、解決される
可能性がある。
3.1.4.4
通信遅延
送受信するデータサイズが小さい場合でも、ネットワークを介して通信する
際に遅延が生じる。表示や出力の遅延は、学習者の負担となり、意欲を低下さ
せる恐れがある。
通信遅延についても、サーバへの負荷の集中に対する対策と同様、知的な処
理の一部をクライアント上で行うことで、通信を行う必要性を軽減するほか、
学習者のコンピュータとネットワーク的に近い位置にサーバを配置するなどの
解決策が考えられる。
3.1.4.5
Java 言語の限界
Java 言語は、クライアント上で動作することから、セキュリティ対策とし
て、クライアントマシン上のファイルに対するアクセスや書き込みが不可能と
なっている。そのため、各学習者のコンピュータ上に個別のデータベースを作
成するなどの操作を行うことができない。
また、現在の段階では処理速度が充分であるとは言えないため、高度かつ
複雑な演算処理には時間がかかる。ネットワーク上では処理能力に乏しいコン
ピュータによる使用も想定されるため、Java 言語でプログラミングを行う際
には、高速性を重視したアルゴリズムを採用する必要がある。
23
手書き入力の有効性
3.2
知的教育システムにおいて、インタフェースの果たす役割は重要である。と
くに、解答を入力する上で繁雑な操作を伴うと、学習者の負担となり、学習効
果を損なう恐れがある。
我々は、知的教育システムに自然に入力できるインタフェースとして、従来
から手書き入力インタフェースの開発を行い、分数システムに実装する研究を
行って来た (第 2.5.2 、2.5.3 節) 。そして、先行研究において、手書き入力イン
タフェースの有効性について検証する実験を行い、その結果、キーボード 入力
に対して高い評価を得た [7] 。
本節では、手書き入力インタフェースの特徴と有効性について論じ、先行研
究における手書き入力インタフェースの評価実験とその結果について述べる。
3.2.1
手書き入力の特徴
近年、知的教育システムの入力インタフェースとして、手書き入力インタ
フェースの研究が行われている [3][4] [9] 。手書き入力を用いたシステムの例と
して、山崎らによる書写学習システム [5] や、尾崎らによるひらがなを含めた
癖字の修正を目的とする文字学習システム [10] が挙げられる。
手書き入力インタフェースには、以下のような特徴がある。
自然な入力が可能
二次元構造を持つ文字集合の入力が容易
視線の移動が少ない
このそれぞれについて以下で詳しく述べる。
3.2.1.1
自然な入力が可能
手書き入力は、人間が紙に鉛筆で筆記するという、従来から行われてきた一
般的な記述方法に最も近い入力方法である。そのため、キーボード の扱いに不
慣れな学習者や、システムを初めて使用する学習者でも、システムを使用する
ために特別な訓練を必要とせず、容易かつ自然に文字や記号を入力することが
可能である。
24
3.2.1.2
二次元構造を持つ文字集合の入力が容易
分数式や、指数を含む数式など、二次元構造を持つ文字集合を入力する際、
入力する文字の大きさや、他の文字との位置関係を表現する必要がある。
手書き入力は、文字の大きさや、他の文字との位置関係について特殊な操作
を行うことなく、文字を入力することが可能である。
それに対して、キーボード を用いて文字の大きさや位置を表現する場合、文
字そのものの他に、文字の大きさを表現する操作や、カーソルキー等で文字の
位置を決定するという操作が必要となる。
このことについて、我々が開発を行って来た分数計算を指導する知的 CAI シ
ステム (分数システム) を例に取り、説明する。
開発当初、分数システムの入力方法として、キーボード を入力インタフェー
スとして用いた (第 2.5.1 節) 。分数式の入力枠を以下の図 3.4 に示す。
=
図 3.4: キーボード 版分数システムの入力枠
入力枠は横 3 段、縦 20 列に分割されている。1 段目には分子、2 段目に整数、
整数部分、分数の中央線 (分数線) 、演算子が入力される。3 段目には分母が入
力される。
図 3.5 に、実際に分数式を入力している例を示す。この例の数式を入力する
際、分数線を入力した後に分母を入力し、続いて分子を入力するという順序を
用いると、数字や記号の入力以外に、最低で 14 回のカーソル移動の操作が必
要である。
分数システムでは、学習者に途中式を入力させるため、一問の解答において
カーソル移動の回数はさらに増加する。このように、キーボード 入力は、学習
に直接関係のない繁雑な操作が必要であり、時間的なロスや、学習者の労力を
消費する結果となりうる。
これに対し、手書き入力では、分数の入力枠に直接文字を書き込めるため、
25
1
3
= 3
−
4
4
図 3.5: 分数式の入力例
文字入力以外の繁雑な操作が不要であり、容易かつ自然に分数式を入力するこ
とができる。
3.2.1.3
視線の移動が少ない
手書き入力用のハード ウエアとして、手書き入力タブレットや、近年普及し
てきた表示入力一体型の液晶ペンタブレットがある。液晶ペンタブレットは、
コンピュータの画面上で、ペンによってマウスカーソルのコントロールが可能
である。この機能を用いて、画面上に直接文字や記号、絵などを書くことがで
きる。
液晶ペンタブレットを入力インタフェース用デバイスとして用いる場合、学
習者が入力する場所と、入力した文字が表示される場所が同じであることか
ら、画面上から視線を動かさずに入力操作を行うことができる。
それに対し、キーボード を用いた入力では、キーボードに熟達した学習者以
外は、キーボード上で文字を確認しながら入力する必要があるため、キーボー
ド と画面の間で視線が頻繁に移動する。
解答入力を行う際に、画面上の問題や入力内容から視線が離れることや、入
力操作に労力を消費されることにより、思考の中断を招くことが考えられる。
このことは、知的教育システムの学習効果に影響を及ぼす恐れがある。
3.2.2
手書き入力インタフェースの評価
我々は、本研究に先立ち、分数システムの入力インタフェースとして開発し
た手書き入力インタフェースの有効性を検証するため、手書き入力と、キー
ボート入力、紙に鉛筆で筆記する場合の 3 種類を比較する評価実験を行った
[7] 。以下、その概要について述べる。
26
3.2.2.1
実験内容
被験者に対し、合計 6 問の分数の加減算問題を提示し、分数式の入力や、訂
正を行わせた。被験者は、大学生および大学院生、合計 38 名である。被験者
の計算能力によって結果に差を生じないよう、入力や訂正などの手順をカード
に記述して被験者に渡し、その手順通りに入力させた。
実験では、手書き入力、キーボード 入力、紙に鉛筆で筆記する場合の 3 種に
おいて、全て同じ問題、同じ手順を用いて入力を行わせた。
被験者の視線の動きや、様子を観察するため、被験者の前方および手元を 2
方向からビデオカメラで撮影した。
全ての入力が終了した後、被験者に入力方法の優劣についてアンケート調査
を行った。
3.2.2.2
実験結果
アンケートでは、以下の 6 項目について質問した。そのそれぞれについて、
手書き入力とキーボード 入力とを比較した部分についての人数を記す。
1. 分数式の入力はどちらが入力し易かったですか
手書き入力 28 人
キーボード 入力 10 人
2. 分数式入力枠内の移動はどちらが移動し易かったですか
手書き入力 28 人
キーボード 入力 10 人
3. 別の分数式入力枠への移動はどちらがし易かったですか
手書き入力 35 人
キーボード 入力 3 人
4. 数字や記号を消す場合はどちらが消し易かったですか
手書き入力 35 人
キーボード 入力 3 人
5. 分数式全体を消す場合はどちらが消し易かったですか
27
手書き入力 24 人
キーボード 入力 14 人
6. 分数式の訂正はどちらがし易かったですか
手書き入力 30 人
キーボード 入力 8 人
このアンケート結果から、手書き入力は、分数式の入力や、入力枠の移動、
訂正などのいずれにおいても、キーボード 入力に対し高い評価を得たことが確
かめられた。
また、ビデオカメラによる観察では、被験者は、キーボード入力時において、
一人あたり平均、画面を 106
6 22 回、キーボードを 116 6 13 回見ていること
がわかった。このことから、キーボード 入力において、頻繁に視線移動が行わ
れれることが確かめられた。この動作は学習とは直接には関係がなく、システ
ムの利用に際して非常に大きな負担になっていると言える。一方、手書き入力
においては、表示と入力が一体となっているため、視線の移動は生じない。
以上の結果から、キーボード 入力に対する手書き入力の有効性が示されたと
言える。
3.3
WWW 上での手書きインタフェースの意義
第 3.1.3 節で述べたように、現在、WWW 上の知的教育システムが開発さ
れている。これらのシステムの入力インタフェースとしては、現在、マウスと
キーボード が用いられている。
しかし、学習者が数式などを入力し、システムが解答解析及び指導を行うシ
ステムを構築する場合には、第 3.2 節で述べたように、手書き入力は有効な入
力方法である。
WWW 上で手書き入力が可能となれば、第 3.1.2 節で述べた WWW 上の知
的教育システムの利点と、手書き入力の有効性を合わせ持つ知的教育システム
が実現する。
本研究において我々は、WWW クライアント上で実用的に動作するオンラ
イン手書き文字認識モジュールを Java 言語で開発し、WWW 上の知的教育シ
ステムにおいて手書き入力を可能とした。
28
WWW 上で動作する手書き文字認識モジュールを開発し知的教育システム
に実装することによって、WWW 上の知的教育システムにおけるシステムと
学習者の対話の可能性が広がるものと期待できる。
29
第4章
WWW クライアント 上で動作する
手書き文字認識モジュール
本研究で我々は、WWW 上で動作する手書き文字認識モジュールの開発にお
いて、実用的な速度、並びに認識率で汎用的に動作することを目指し、WWW
クライアント上で手書き文字認識を行うアーキテクチャを採用すると共に、簡
易な文字切り出し、文字認識方法を採用した。
本章では、まず手書き文字認識モジュールの概要について述べる。続いて
WWW 上での手書き文字の入力方法を述べ、WWW クライアント上で手書き
文字認識を行うアーキテクチャの利点や、認識対象文字を限定する利点、汎用
的なモジュールとしての手書き文字認識方法の要求仕様について述べる。そし
て、要求仕様に基づき、採用した手書き文字の切り出し方法と手書き文字の認
識方法について詳細な説明を行う。最後に、それらを踏まえ、手書き情報を取
得する入力インタフェースの要求仕様について述べる。
4.1
手書き文字認識モジュールの概要
我々は、WWW クライアント上で動作する手書き文字認識モジュール HandChaRM-
WWW (a Handwriting Character Recognition Module for expression input on
a WWW) を開発した。
WWW クライアント上で手書き文字認識を行うアーキテクチャとして、手書
き文字認識モジュールを WWW クライアント上に配置する場合と、WWW サー
バ上に配置する場合が考えられる。本研究では、WWW サーバとの通信によ
る遅延や、サーバやネットワークへの負荷の集中の問題を避けるため、WWW
30
クライアント上での手書き文字認識の実現を目指し、HandChaRM-WWW を
Java 言語で開発した。
このモジュールは、主に数式を扱う知的教育システムの入力インタフェース
として用いることを想定して設計した。そのため、認識対象文字を、数字や演
算子、記号に限定した。
手書き文字認識の方法として、使用者が画面上に筆記したストローク情報を
配列に格納し、文字切り出しを行った後、モジュール内に記述した文字知識と
マッチングさせるオンライン手書き文字認識を用いた。文字知識には、文字の
特徴となる始点や終点の座標、ストロークの方向列などの情報を記述した。
HandChaRM-WWW の設計では、様々な入力インタフェース上で汎用に動
作することを目指し、文字認識方法として、文字の入力枠や文字の大きさに依
存しないマッチング方法を用いた。また、3 種類の認識開始タイミングに対応
可能とした。
4.2
WWW 上での手書き文字の入力
WWW 上で手書き文字入力を行うためには、WWW 上で手書き情報を取得
する入力インタフェースを構築する必要がある。
手書き文字を画面上で表現する最も一般的な方法は、マウスカーソルを操作
して、その軌跡を点列として保持し、手書き情報として評価することである。
WWW 上でマウスカーソルの移動を検知する方法として、Java アプレット
においてマウスイベント情報を取得する方法がある。Java アプレットでは、マ
ウスド ラッグと通常のマウスの移動との違いをイベントとして検知できるた
め、描画と非描画を容易に区別することができ、手書き文字の表現に適して
いる。
特に、液晶ペンタブレット等を用いれば、ペンによって自然なマウス操作が
可能であり、容易に手書き文字認識を行うことができる。
以下、マウスが一旦ド ラッグされ、ド ラッグを終了するまでの間を 1 スト
ロークとし、座標配列内に格納された情報をストローク情報と呼ぶ。複数画の
文字は、複数のストロークによって表現される。
31
手書き文字認識モジュールのアーキテクチャ
4.3
WWW 上で動作する手書き文字認識モジュールを構築する上では、実用的
な速度と認識率を達成できるアーキテクチャを採用する必要がある。
WWW 上で手書き入力を行うアーキテクチャとして、以下の 2 種類が考え
られる。
WWW サーバ上での手書き文字認識
WWW クライアント上での手書き文字認識
このそれぞれについて考察し、WWW クライアント上で手書き文字認識を
行うアーキテクチャを採用した根拠を述べる。
4.3.1
WWW サーバ上での手書き文字認識
図 4.1 に、WWW サーバ上で手書き文字認識を行う場合のアーキテクチャに
ついて示す。
WWWクライアント
ユーザインタフェース
WWWサーバ
ストローク情報
ストローク取得
ストローク情報
通信部
インターネット
手書き文字認識モジュール
認識結果
認識結果出力
認識結果
図 4.1: WWW サーバ上での手書き文字認識のアーキテクチャ
WWW クライアント上の手書き入力インタフェースによって取得されたス
トローク情報は、WWW サーバと通信を行うネットワークインタフェース (通
信部) を経て、インターネットを介して WWW サーバに送られる。
32
WWW サーバ上には、手書き文字認識モジュールを配置しておき、WWW
クライアント上から送られてくるストローク情報を取得し、手書き文字認識を
行う。そして、文字認識結果を WWW クライアント上の通信部に送信する。
通信部は、認識結果を受信すると、受信した情報を出力インタフェースに渡
す。出力インタフェースは、各インタフェースの仕様に従い、認識結果を画面
上に表示する。
このアーキテクチャの利点として、現在、多く開発されている既存の実用的
な手書き文字認識モジュールを WWW サーバ上に配置できるという点が挙げ
られる。このような手書き文字認識モジュールは、WWW サーバコンピュー
タ上にひらがなや漢字を含む膨大なデータベースの保持が容易であり、様々な
入力に対応することが可能である。また、高度な演算を用いた手書き文字認識
機構を採用した場合でも、高性能のコンピュータを用いることによって、高速
に認識処理を行うことができる。
しかし、ネットワークを介することによって、第 3.1.4 節で述べたように、
通信による遅延や、サーバやネットワークへの負荷の集中といった問題が生じ
る。例えば、以下の例のような分数式を入力する場合、一文字ごとに認識を行
うと、合計 39 回の通信遅延が生じる。
4
1
1
-2
4
3
5
-2
4
15
= 3
-2
12
= 3
= 1
1
3
4
12
11
12
図 4.2: 数式入力の例
仮に、通信時に平均 0.5 秒の遅延が生じた場合、一問を解答する上で累積し
て約 20 秒もの遅延が生じることになる。また、複数の学習者が同時にシステ
ムを使用する状況では、WWW サーバやネットワークへの負荷から、文字認
識処理自体にも遅延が生じ、さらなる遅延を招く。
このような遅延は、知的教育システムにおいては、解答を進める上で学習者
に余分な負担を強いることになるだけでなく、学習時間を不必要に延長する。
33
WWWクライアント
ユーザインタフェース
ストローク情報
ストローク取得
手書き文字認識モジュール
認識結果出力
認識結果
図 4.3: WWW クライアント上での手書き文字認識のアーキテクチャ
このことは学習者の意欲の低下を招き、システムの学習効果を損なう恐れが
ある。
さらに、ネットワークの状態によって通信遅延には時間的なばらつきがある
ほか、サーバにかかる手書き文字認識の負荷が一定ではないため、認識待ち時
間が一定とならない。つまり、学習者にとっては不規則に認識待ち時間が変動
するため、手書き文字認識についてのメンタルモデルが混乱し、ひいては手書
き文字認識そのものについての信頼性を損なう恐れがある。例えば、約 0.5 秒
前後で認識結果が返るものと想定している場合に、上記の原因により数秒の
遅延が生じると、単に認識待ち時間が長いのか、筆記した文字が認識不可能で
あったのか、といった、解答とは関係のない思考を強いられる。また、0.5 秒
前後の待ち時間を期待していると、待ち時間が延長した場合に一層のストレス
を生じる可能性がある。
4.3.2
WWW クライアント 上での手書き文字認識
図 4.3 に、WWW クライアント上で手書き文字認識を行う場合のアーキテク
チャについて示す。
WWW クライアント上の手書き入力インタフェースによって取得されたスト
34
ローク情報は、同じ WWW クライアント上に配置した手書き文字認識モジュー
ルに渡される。
手書き文字認識モジュールは、ストローク情報を受け取ると、文字の切り出
しを行い、切り出した文字についてモジュール内に記述された文字知識とマッ
チングを行い、手書き文字認識を行う。認識結果は出力インタフェースに渡さ
れる。
このアーキテクチャの利点として、文字認識において WWW サーバと通信
を行わないので、通信遅延や WWW サーバへの負荷の集中という問題が生じ
ないことが挙げられる。そのため、同時に多くの学習者が学習する場合でも、
文字認識を迅速かつ安定した速度で行うことができ、学習を円滑に進めること
が可能である。
このアーキテクチャの問題点として、モジュールに漢字やひらがななど大量
の文字知識を記述した場合には、モジュール自体のサイズが大きくなり、読み
込みに時間がかかることや、ネットワークに負荷がかかることが挙げられる。
また、現在の WWW クライアント上での Java 言語の処理速度は必ずしも充分
であるとは言えないため、手書き文字認識に高度な演算処理を用いると、認識
に時間がかかる可能性がある。
しかし、手書き文字認識モジュールを数式の認識において使用する場合に
は、認識対象を限定でき、文字知識の量を抑えることができる。さらに、数式
を構成する文字の認識に必要最低限の文字認識方法を採用すれば充分であり、
認識機構を簡略化することにより、高速な文字認識処理が期待できる。
本研究において我々は、通信遅延を生じず、迅速に文字認識が可能であると
いう利点に着目して、WWW 上での手書き入力において、WWW クライアン
ト上に手書き文字認識モジュールを配置するアーキテクチャを採用した。
35
認識対象文字
4.4
HandChaRM-WWW は、主に数式を扱う知的教育システムに実装すること
を想定し、認識対象文字の選択を行った。対象となるド メインを初等中等教
育とし、そこで使用される文字種を基本的なセット (基本セット ) として決定
した。
基本セットに含まれない記号に関しては、新たに文字知識を追加することに
よって対応することが可能である。
表 4.1 に認識対象文字の基本セットを示す。
表 4.1: HandChaRM-WWW の認識対象文字
数字
0; 1; 2; 3; 4; 5; 6; 7; 8; 9
二項演算子
+, −, ×, ÷
等号
=
アルファベット
x; y
その他
. (ピリオド )
(筆記体小文字) , y (ブロック体小文字)
小文字の x の筆記体は書き順を図 4.4 に示すように定義する。小文字 y 筆記
体、y ブロック体については、外観を図 4.5 に示すように定義する。
図 4.4: x 筆記体の書き順
ピリオド は、小数点として用いる場合や、かけ算記号として用いる場合を想
定して実装した。
認識対象文字を数字、記号に限定することには、以下のメリットがある。
高速なマッチングが可能
36
小文字ブロック体
(2画)
小文字筆記体
(1画)
図 4.5: y の書き方の違い
コード のサイズがコンパクト
誤認識の可能性が減少
文字切り出しが容易
高速なマッチングが可能:
認識対象文字を限定することによって、モジュール内に記述する文字知識の数
を必要最低限に抑えることができる。HandChaRM-WWW は、基本セットの
文字知識のみを実装しているため、マッチングにおける探索空間を必要最低限
の大きさに留めることができ、高速にマッチングを行うことができる。
コード のサイズがコンパクト :
漢字やひらがななどを認識対象とする場合に対し、膨大な文字知識を保持する
必要がないため、コード のサイズをコンパクトにすることができる。このこと
によりネットワークからの読み込みのコストを軽減できるほか、学習者が使用
するコンピュータのメモリの消費を抑えることができる。
誤認識の可能性が減少:
多くの文字を認識対象とする場合、類似した外見の文字が存在し、それらの区
別をどのように行うかということが手書き文字認識上の課題となる。
例えば、図 4.6 の例のように、複数の候補が挙げられる場合が考えられる。
これらを区別するには、非常に精度の高い認識方法を用いる必要がある。しか
し、人間が見てもどちらの文字が判断できない手書き文字も存在する。システ
ムにそれらを区別させる方法としては、筆記された文字列の文脈から判定する
ことが考えられる。しかし、文脈にはあらゆる局面において様々な種類が考え
られ、それらを全て網羅することは困難であるばかりでなく、文脈として理解
しうるだけの情報が得られる保証がないため、誤認識の可能性は残される。
37
筆記された文字
2
1
Z
l
候補
0
7
o
フ
図 4.6: 筆記された文字の外見と類似する文字の候補
しかし、認識対象文字が限られる場合は、候補となる文字も限られ、類似し
た外見を持つ文字と誤認識する可能性を減少させることができる。
また、類似する文字同士を厳密に区別する必要がないため、必ずしも非常に
精度の高い認識方法を用いる必要がなく、マッチングにおける処理を簡略化で
き、高速にマッチングを行うことができる。
文字の切り出しが容易
現在までに開発されてきた多くの手書き文字認識モジュールは漢字やひらが
な、アルファベットの筆記体などの続け字を認識対象としているため、文字の
切り出しにおいて高度な演算やデータによるマッチングを行っている。
しかし、数字、記号に特化した文字切り出し方法を用いることによって、高
度な演算やデータによるマッチングを用いずとも、文字切り出しが可能である。
また、対象文字種を限定したことで、文字切り出し時に同様の外見を持つ文
字同士で誤った切り出しを行う場合が排除される。例えば、数字の 11 を入力
した際に、同様の外見を持つひらがなの「い」と誤認識する場合が排除される
(図 4.7) 。そのため、文字切り出し率が向上する。
数式、記号に特化した文字切り出し方法については、第 4.6 節で詳しく述
べる。
38
筆記された文字
11
1+
い
け
候補
図 4.7: 切り出しにおける類似する外見の文字の例
汎用的なモジュールとしての要求仕様
4.5
HandChaRM-WWW を汎用的な手書き文字認識モジュールとして設計する
上で、以下の三つの要素の実現を目指した。
様々な入力インタフェースの入力枠に対応
様々な認識タイミングに対応
高速な動作
以下で、それぞれの内容について詳しく述べ、HandChaRM-WWW の要求
仕様について述べる。
4.5.1
入力枠の種類
知的教育システムの入力インタフェースには、対象となるド メインや、指導
方略の違いによって、文字の入力枠の大きさや、筆記される文字の大きさに
様々なバリエーションが考えられる。
入力枠の設定方法として、以下の種類が考えられる。
一行の式を一枠内に入力
入力枠に仕切り線を導入
全ての式に対し一つの入力枠
一文字入力枠のみ
以下でそれぞれについて例示と考察を行い、HandChaRM-WWW の要求仕
様について述べる。
39
4.5.1.1
一行の式を一枠内に入力
一行の式を一枠内に表現する例を図 4.8 に示す。
図 4.8: 式全体を一枠で表現
このような入力枠を設定した場合、学習者は自由な位置に任意の大きさで文
字を筆記することができる。この入力枠では、学習者が筆記する文字の大きさ
にはばらつきが生じるため、異なる大きさの文字を認識対象とする必要があ
る。切り出しにおいても、文字の大きさが一定ではないため、文字の大きさに
依存した文字切り出し方法を用いることはできない。
図 4.9: 様々な大きさでの筆記
自由な大きさで筆記できることから、指数や底など、大きさの異なる文字が
混在する式を入力することが可能である。
しかし、筆記における自由度が高いことによって、学習者は、どれだけの大
きさで文字を入力すればよいかについて迷う可能性がある。
40
図 4.10: 大きさの異なる文字の混在
また、分数の筆記においては、マイナス記号と分数線との区別が困難で、こ
の両者を誤認識する可能性がある。
4.5.1.2
入力枠に仕切り線を導入
入力枠に縦、横方向に仕切り線を導入した例を図 4.11 に示す。
図 4.11: 仕切り線の導入
我々は、ペンコンピュータ版分数システムおよび FRONTIER の入力インタ
フェースに仕切り線を導入し、文字切り出し率の向上を図った [11] [12][13] 。ま
た、入力された分数式の構文解析を行う上で、仕切り線を基準として文字の位
置関係を評価した。
仕切り線を導入することによって、1 文字のおよその大きさが定まる。この
ことによって、学習者に対して入力する文字の大きさについての基準を示すこ
とができる。
また、仕切り線によって形成される一文字ごとの枠の大きさとの長さの比に
よって、分数線とマイナス記号とを区別することが可能となる。
このような仕切り線には、認識結果の表示においても、表示する文字の大き
さや位置の基準とすることができるという利点がある (図 4.12) 。
41
=
3
2
+
6
6
図 4.12: 仕切り線に基づく認識結果表示
一方、通常、分数を表現する上では、分母が 2 桁を超える場合、分子部分は
センタリングされて記入される (図 4.13) 。
図 4.13: 通常の分数の筆記
しかし、仕切り線を導入した場合、入力や表示は仕切り線に沿って行われる
ため、分子部分は分母の一桁目の上にずれる (図 4.14) 。また、分数線を長く引
いた場合、紙に鉛筆で筆記する場合や、前節で述べた入力枠のみの場合に対
し、位置関係にずれが生じる場合がある。
=
5
11
−
1
11
図 4.14: 仕切り線による分子のずれ
学習者は、入力において分子をセンタリングできるか否かについて混乱する
恐れがある。分数システムを小学校に持ち込み、実際の小学生に使用させる実
42
験を行ったところ、数名の児童が、分子の入力位置について実験者に質問して
いる。そこで、仕切り線導入によるこのような位置のずれに対しては、あらか
じめ学習者に対してガイダンスを行い、混乱を避ける必要がある。
また、入力される文字の大きさが一定であるから、先に示した図 4.10 のよ
うに大きさの異なる文字が混在する数式の表現には適切であるとは言えない。
さらに、このような仕切り線を導入した場合、学習者は必ずしも仕切り線で
囲まれた内側に文字を記入できるとは限らない。そのため、仕切り線を文字切
り出しや手書き文字認識の厳密な基準とすると、学習者に緊張を強いることに
なる。
図 4.15: 仕切り線からのはみだし
そこで、例えば図 4.15 のような入力がなされた場合にも対応できるよう、基
準に余裕を持たせるか、あるいは文字切り出しや文字認識の基準としては使用
しない仕様を採用することが望ましい。
4.5.1.3
全ての式に対し一つの入力枠
全ての式に対し、入力枠を一つだけ設定する例を図 4.16 に示す。
このような入力枠の場合、第 4.5.1.1 節で述べた例のように一つの式に対し
て一つの入力枠を設定する場合よりも、さらに入力の自由度が高くなる。この
ような大きな入力枠を設定した場合、学習者には、枠内に式を全て書き込める
だけの構成力が要求される。
また、式を切り出す際に入力枠を用いることができないため、入力枠の中で
数式の構造を認識し、式同士を切り出す必要がある。つまり、各式ごとに入力
枠を設定した場合と異なり、式変形過程や、入力枠中のどの場所に書かれたも
のが最終的な解答であるかを、知的に判断する必要がある。
43
図 4.16: 全ての式に対し一つの入力枠を設定
この入力枠に、前節において述べた仕切り線を導入する場合を、以下の図
4.17 に示す。
1
3
4
−
1 4
1 4
=
1 7
4
−
1 4
1 4
=
1 3
1 4
図 4.17: 仕切り線の導入
このように、縦横の仕切り線を導入することによって、分数式における分数
線とマイナス記号との区別が容易になるため、式全体を入力枠とする場合で
も、分数の入力が可能となる。また、横軸について基準ができるため、式を枠
内に納めて記述する構成力に乏しい学習者でも、複数の式を表現できるものと
期待される。また、式の切り出しにおいても、横線を基準とすることができ、
44
切り出し率の向上が見込まれる。
4.5.1.4
一文字入力枠のみ
入力において、一文字のみを入力する入力枠について図 4.18 に示す。
図 4.18: 一文字のみの入力枠
このような入力インタフェースは、IME98 など、日本語の手書き入力機能
を持つかな漢字変換ソフトウエアにおいて用いられている。
枠中に一文字しか入力されないため、文字切り出しの必要性がない。しか
し、数式の入力においては位置情報が表現できないため、手書き入力の利点が
損なわれてしまう。入力した文字を数式として表現するには、別途に数式表示
用のフィールド を作成する必要があり、そのフィールド 上での入力位置や訂正
位置をインタフェースに通知する操作が必要であり、数式の入力には不適切な
入力枠であると言える。
4.5.2
認識タイミングの種類
手書き文字認識を行う際、認識の開始タイミングには以下に挙げるバリエー
ションがある。
一文字認識
逐次認識
一括認識
要求による認識
45
認識の開始タイミングによって、学習者に与える影響がそれぞれ異なる。以
下、それぞれのタイミングについて述べる。
4.5.2.1
自動一文字認識
学習者があるストロークを入力し、そのストロークの入力からある一定時間
(我々が開発したペンコンピュータ版では 0.5 秒) 以内に次のストロークが入力
されなければ、それまでに入力されたストローク集合で一文字と判定し、手書
き文字認識を開始する。つまり、学習者は一度に一文字だけを入力し、手書き
文字認識結果を待つ (図 4.19) 。認識結果が表示された後、学習者は次のスト
ロークを入力する。
ある一定時間、認識開始までの猶予を設ける理由は、文字に複数画で筆記さ
れる文字があるためである。
2
2
図 4.19: 一文字認識の流れ
この認識タイミングを用いる場合、システムは文字切り出しを行う必要が
なく、文字切り出しの失敗に伴う認識失敗は生じない。しかし、学習者が多く
の文字を入力する場合、一文字ごとに一定時間の待ち時間が必要となる。例え
ば、図 4.2 で示した数式を入力する際、認識開始までの一定時間を 0.5 秒とす
ると、認識待ち時間の累計は約 20 秒となる。実際には、この時間にさらに手
書き文字認識処理の時間が付加される。このことは学習者の負担となるほか、
学習時間の延長を招く。
4.5.2.2
自動逐次認識
学習者がストロークを入力する度に、文字切り出し判定を行う。入力された
ストロークと、それ以前に入力されたストロークとの位置関係をもとに、以前
に入力されたストロークと、現在入力されたストロークとは別の文字であると
46
判定した場合に、以前に入力されたストローク集合について手書き文字認識を
開始する (図 4.20) 。
2
2 1
図 4.20: 逐次認識の流れ
また、一定時間入力が行われなかった場合にも、手書き文字認識を開始する。
ストロークの入力と、文字切り出し、手書き文字認識の処理を平行化するこ
とで、学習者は連続して文字を入力することができる。そのため、最後に入力
された文字以外では、一文字認識時のような認識待ち時間が生じない。
その半面、認識された文字が以降のストロークの入力中に表示されるため、
その画面上の動作が、ストロークを入力中の学習者の意識を分散させる恐れが
ある。
また、指数や底を含む数式を入力する場合には、入力した文字同士の位置関
係に意味が生じる。そのため、先に書かれた文字の認識において誤認識や認識
失敗が生じた際に、その文字以降に書かれた文字の位置関係の意味が変化して
しまう。例えば図 4.21 の例は、y 3 x2 の入力において y の認識に失敗した際、乗
数である 3 を通常の整数として扱ってしまう場合を示している。
この問題に対応するには、数式の編集操作を容易に行う機構を取り入れ、認
識に失敗した文字だけを再入力するだけで正しい式へと変形できる入力インタ
フェースを設計する必要がある。
4.5.3
自動一括認識
学習者が一文字、あるいは複数の文字を入力し、一定の時間が経過した後、
文字切り出しを行い、手書き文字認識を開始する (図 4.22) 。
認識結果を待たず、数式を一息に入力したい場合に適した入力方法である。
また、入力中にはストロークの軌跡の描画以外の動作が行われないため、逐次
認識におけるような意識の分散は生じない。
47
y3x2
の認識失敗例
3
3x
Xを指数と誤認識
yの認識に失敗
図 4.21: 誤認識の以降の文字への影響
3
2 1
一定時間経過後
図 4.22: 一括認識
しかし逐次認識と同様、二次元構造を持つ数式において初期に書かれた手書
き文字の認識に失敗すると、以降の文字の構造に影響が出るという問題が生じ
る。また、一つの式を数回に分けて入力する場合は、その回数に応じて認識待
ち時間が累積される。
4.5.3.1
要求による認識
学習者からの認識要求によって、手書き文字認識を開始する。一文字ごとに
認識要求を行う場合と、複数文字の一括認識要求を行う場合とが考えられる
(図 4.23) 。
認識要求を行う方法として、画面上に配置したボタンのクリックや、マウス
カーソルを入力枠から外す、などが考えられる。
認識を行う度にボタンを押す操作が加わるため、学習者が一文字ごとに手書
き文字が正しく認識されたかを確認しながら入力したい場合などには、この操
作が負担となる。一方、手書きした文字を見直すことが可能であり、入力した
48
3
2 1
ボタンのクリック等
認識
図 4.23: 要求による認識
文字を確認してから、認識を委ねたいという場合には有効な方法であると言
える。
4.5.4
高速な動作
手書き文字認識において、認識処理 (文字切り出し処理を含む) に時間がか
かると、通信遅延と同様、入力した文字が正しく認識されたか否かについて確
認したいとき、学習者は認識結果を待つことを強いられる。そのため、認識処
理時間が負担となるだけでなく、学習時間の延長を招き、知的教育システムの
学習効果を低下させる恐れがある。このことから、手書き文字の認識処理は可
能な限り高速であることが望ましいと言える。
現在の Java 言語の処理速度は必ずしも充分ではないため、Java 言語で手書
き文字認識モジュールを開発する場合、高速に文字認識処理を行うアルゴリズ
ムを採用する必要がある。
49
4.5.5
手書き文字認識方法の要求仕様の決定
以上述べてきたように、知的教育システムの手書き入力インタフェースに
は、様々な入力枠、認識タイミングが想定される。また、高速性が要求される。
HandChaRM-WWW を汎用的な手書き文字認識モジュールとして実現する
ためには、これらに対応可能な文字切り出し方法、文字認識方法を採用する必
要がある。
そこで、以下のように文字認識の仕様を決定した。
入力枠、仕切り線に依存しない
文字の大きさに依存しない
高速な動作
複数文字の認識
{ 入力枠、仕切り線に依存しない文字切り出し
{ 文字の大きさ、文字列情報に依存しない文字切り出し
自動的に文字認識を開始する機構の実装
高速な文字切り出し
入力インタフェースによって、入力枠の大きさや、入力枠に入力される文字
の大きさは様々であり、場合によっては、大きさの異なる文字が入力枠内に混
在する可能性があることから、入力枠や文字の大きさに依存しない手書き文字
認識方法を採用する必要がある。
様々な認識タイミングに対応するためには、ストローク入力後、一定時間が
経過した後に手書き文字認識を開始するよう、ストロークが筆記される際、常
に経過時間を計測し、自動的に認識を行う機構が必要である。また、複数文字
を一括して認識する場合に対応するため、手書き文字の切り出しを行う機構が
必要である。
さらに、高速な手書き文字認識が可能な認識方法を採用する必要がある。
50
4.6
手書き文字の切り出し
本節では、手書き文字の切り出しの必要性と、先行研究における文字切り
出し方法、および HandChaRM-WWW における文字切り出し方法について述
べる。
4.6.1
手書き文字の切り出しの必要性
学習者が入力したストローク情報とのマッチングに用いる文字知識は、一文
字ごとに記述されている。そのため、学習者が複数の文字を連続して入力し、
それらを逐次認識や一括認識する際には、図 4.24 に示すように、手書き文字
を一文字ずつにわけ、マッチングを行う必要がある。
場合によっては、複数文字を一つの文字知識として表現することも考えられ
るが、文字同士の組み合わせは膨大となるため、一般的な方法であるとは言え
ない。
図 4.24: 手書き文字の切り出し
入力される文字には、一画で形成されるもの、複数画によって形成される
もの、一画、あるいは二画によって形成されるの可能性があるものがある。
HandChaRM-WWW の認識対象文字の基本セットについて、画数を表 4.2 に
示す。
複数画の文字が存在することから、仮に 1 ストロークごとに文字を切り出
す場合、複数画の文字は入力できないことになる。そのため、入力されたスト
51
表 4.2: 基本セットの画数
0
一画
0; 2; 3; 6; 8; 9;
二画
4; 5; +; =; ×; x , y
一画あるいは二画
1; 7
三画
÷
; y; :
ローク相互の位置関係の情報を用いて文字切り出しを行う必要がある。
4.6.2
従来の文字切り出し方法
現在までに開発されている一般的な手書き文字認識モジュールの多くは、漢
字やひらがな、続け字などの多くの文字を認識対象としている。複数の文字が
筆記された場合には、これらの手書き文字の切り出しを行う。
従来の研究では、文字列の高さ、長さ、文字のピッチ、ストローク同士の位
置関係の評価を用いて文字切り出しを行う方法が提案されている [25] 。この方
法では、文字列における各文字の大きさや文字の高さの平均を情報として用い
ていることから、一文字ごとの切り出しが不可能である。それに対して、相澤
らは、手書き文字のストロークから、19 種類のストローク特徴を抽出し、3 層
ニューラルネットを用いてストロークの切り出しの確定、切り出し候補、非切
り出し確定のいずれかに分類する方法を用いて、実時間における文字切り出し
を実現している [27] 。
これらの文字切り出し方法は、様々な種類の文字に対して精度の高い文字切
り出しが可能であるが、高度な演算を用いており、Java 言語で実現する場合、
処理に時間がかかることが予想される。また、一次元的な文字列の情報に依存
する場合は、数式のように二次元構造を持つ文字列の切り出しには不適切で
ある。
52
4.6.3
HandChaRM-WWW の文字切り出し方法
本研究では、Java 言語においても高速に動作し、二次元構造の文字列の切
り出しにも対応できる文字切り出し方法として、ストローク同士の接触判定法
と、ストローク同士の位置関係の評価を組み合わせた方法を用いた。以下、そ
の内容について述べる。
4.6.3.1
文字切り出し方法の決定
前節で述べたように、通常の文字切り出し方法では、様々な情報を用い、高
度な演算によって位置関係を評価する機構を採用しているが、これらの方法は
Java 言語では処理に時間がかかる可能性がある。
そこで、ほとんどの文字が接触点を持つという基本セットの文字の特徴に着
目し、接触点の有無を評価する接触判定法を文字切り出しに導入した。接触判
定法を導入した文字切り出しを行うシステムとして、青島らの実時間手書きス
トローク解析による数式入力システム [32] [33] がある。
一方、基本セットの一部の記号は接触点を持たない。そこで、接触点を持た
ない文字については、各ストロークの特徴と位置関係に基づいて切り出しを
行う。
接触判定法と、一部の文字について位置関係を評価する方法を組み合わせる
ことによって、基本セット全ての文字の切り出しが可能である。
この方法は、既に配列内に格納されている座標同士を、単純に比較したり、
条件にマッチングするかを判定するだけでよく、高速な動作が期待できる。
4.6.3.2
接触判定法
ひらがなや漢字では、一文字を構成するストローク同士は必ずしも接触して
いない (図 4.26) 。そのため、文字切り出しでは様々な情報と演算を用いてスト
ローク相互の位置関係を評価する必要がある。
それに対し、認識対象文字である基本セット (表 4.1) の文字における複数画の
文字のほとんどは、ストローク同士が接触する部分 (接触点) を持つ (図 4.26) 。
そこで、接触点を持つ文字と、接触点を持たない文字とを区別し、接触点を
持つ文字については接触判定を行うことによって、文字切り出しを行う。接触
判定には、各ストローク情報の座標列 (横方向を x 軸、縦方向を y 軸とする) か
53
図 4.25: ストローク同士が非接触
第1ストローク
接触点
第2ストローク
第1ストローク
第2ストローク
接触点
接触点
第1ストローク
第2ストローク
図 4.26: ストローク同士の接触の例
ら、互いに一致する座標を検索するという方法を用いる。基本セットにおける
接触点なし (非接触) の文字については、次節で述べる位置関係の評価方法に
おいて切り出しを行う。
表 4.3 に、基本セットの文字の接触点の有無を示す。
表 4.3: 接触点の有無
接触点あり
1; 4; 5; 7; +; ×; x; y
接触点なし
=; ÷
接触判定法を用いることにより、文字同士が近接している場合においても、
容易に文字切り出しが可能である (図 4.27) 。また、二次元構造を持つ数式にも
対応することができる。
接触判定法は、学習者が正確に数字を入力した場合や、文字同士を接触させ
ずに入力した場合には有効な切り出し方法である。しかし、図 4.28 の例のよ
54
図 4.27: 文字同士を近接して入力した場合の認識例
うに、接触させるべき部分が接触していないとき、誤認識の可能性が生じる。
入力
認識結果
1
−
−
17
図 4.28: 接触点を離して入力した例
そこで、接触判定においてある程度の余裕を持たすことにより、わずかにス
トローク同士が離れている場合に対応した。この余裕を大きく取った場合、文
字同士が近接して入力された場合にも切り出しが可能であるという接触判定法
の利点が損なわれる恐れがある。そこで、ストロークの座標同士が数ドット単
位に接近している場合のみ、接触と判定する。
接触すべきストローク同士を離して入力してしまう例では、入力される文字
の大きさが大きくなるほど、距離が増大するという傾向が見られる (図 4.29) 。
そこで、文字の大きさにより、判定に用いる距離を変化させる。このことによ
り、小さな文字同士が近接して入力される場合の文字切り出しの精度を向上さ
55
せるだけでなく、大きな文字において、接触すべきストロークが離れている場
合にも対応することが可能となる。
図 4.29: 文字の大きさによるストロークの距離の違い
4.6.3.3
位置関係の評価
HandChaRM-WWW の認識対象文字の基本セットのうち、接触点のない「=」
「÷」については、切り出し用の文字知識を用いて、文字切り出し時にストロー
クの位置関係を評価して文字切り出しを行う。
「=」の切り出しでは、以下の切り出し用の文字知識を用いて、文字の切り
出しを行う。
1. 両ストロークはそれぞれ横向き直線である
2. 両ストロークの始点、終点は、それぞれ x 座標の位置が近い
3. 両ストロークは、y 軸について、ストロークの横の長さ以内の距離にある
これら全ての知識にマッチした場合を、
「=」が入力されたと見なす。この
「=」用の知識の 3 番目の内容について、図 4.30 に示す。
「÷」の切り出しでは、横棒、上の点、下の点の書き順で入力されるものと
し、以下の切り出し用の文字知識を用いて、文字の切り出しを行う。
1. 第 1 ストロークは横向き直線である
2. 第 2 ストローク、第 3 ストロークは点状、もしくは第 1 ストロークに対し
5 分の 1 以下の右向き直線である
56
横の長さ
第1ストローク
横の長さ
第2ストローク
=
イコールとして認識
横の長さ
第1ストローク
横の長さ
−
−
第2ストローク
マイナスとして認識
図 4.30: 「=」用知識 3:ストローク同士の y 座標の距離による切り出し
3. 第 2 ストローク、第 3 ストロークの始点、終点の x 座標は、第 1 ストロー
クの始点の x 座標の値より大きく、終点の y 座標の値より小さい。
4. 第 2 ストローク、第 3 ストロークの y 座標の始点、終点は、第 1 ストローク
の y 座標に対し、第 1 ストロークの横の長さの 3 分の 2 以内の距離にある
「÷」用の知識 3 、4 の内容について、それぞれ図 4.31 、図 4.32 に示す。
第2ストローク終点x座標
第2ストローク始点x座標
第1ストロークの終点のx座標
第1ストローク
第3ストローク終点x座標
第1ストロークの 始点のx座標
第3ストローク始点x座標
図 4.31: 「÷」用知識 3:ストローク同士の始点、終点の x 座標の位置関係の
評価
「=」
「÷」ともに、入力された横向き直線のストロークと、それ以降に入
力されたストロークの特徴や位置関係によって文字切り出しを行う。
57
第1ストロークの
横の長さの3分の2
第2ストローク始点y座標
第2ストローク終点y座標
横の長さ
第1ストローク
第3ストローク始点y座標
第3ストローク終点y座標
第1ストロークの
横の長さの3分の2
図 4.32: 「÷」用知識 4:ストローク同士の始点、終点の y 座標の位置関係の
評価
手書き入力において、接触点のない横向き直線のストロークが入力される例
として、
「=」
「÷」の他に、マイナス記号、分数線がある。マイナス記号につ
いては、一つの式において縦方向に連続して入力される状況は考えにくい。そ
のため、
「=」の切り出し条件によって、充分文字切り出しが可能である。一
方、分数線が入力された後、上下に分母、分子が入力される場合があるが、分
母、分子として点、もしくは横線に対して 5 分の 1 以下の直線が上下連続して
入力されるという場面も考えにくい。そこで、
「÷」の切り出し条件によって、
文字切り出しが可能である。
4.6.4
HandChaRM-WWW の文字切り出しの特徴
接触判定法と、位置関係の評価を行う方法によって、複数の文字が二次元構
造的に入力される場合でも、文字切り出しが可能となった。この二つの方法の
組み合わせは、ストロークを構成する座標同士を比較する処理と、ストローク
の座標情報から、入力されたストロークが直線であるか否か、点であるか否
か、そしてストロークがどちら向きであるかを抽出する処理によって成り立っ
ている。これらの処理は高度な演算を必要とせず、Java 言語においても高速
に動作する。
58
4.7
手書き文字の認識方法
本節では、手書き文字認識方法の先行研究に触れ、HandChaRM-WWW の
手書き文字認識方法として、文字の特徴点とストロークの方向を用いる方法を
採用した理由と、その詳しい内容について述べる。
4.7.1
従来の手書き文字認識
従来から、多くの文字種を対象とした手書き文字認識の方法が研究されてい
る。それらは、その用途やアルゴリズムによって、オフライン手書き文字認識
とオンライン手書き文字認識の 2 種に分類される。
紙などにあらかじめ手書きされた文字を、光学読み取りなどの技術によって
画像として取得し、デジタル情報に変換して認識処理を行う場合をオフライン
手書き文字認識 (オフライン認識) と呼ぶ。この認識方法は、郵便番号や宛名
の読み取りなどにおいて既に実用化されている。
オフライン認識では、既に筆記されたものが対象となるため、入力された文
字がどのような書き順で入力されたか、ストローク同士が入力される際にどれ
だけ時間的な間隔があったか、などの情報を得ることができない。そのため、
デジタル変換した画像のみをもとに高度な演算を行うことによって手書き文字
認識を行う [15][16][17] [18][19][20] 。
それに対し、ペン等によって手書き入力可能な機器を用いて入力された情報
をリアルタイムに取得し、手書き文字認識を行う方法をオンライン手書き文字
認識 (オンライン認識) と呼ぶ。オンライン認識では、入力されるストローク
の座標に基づき、書き順や、ストローク数、各ストロークの性質、ループの有
無、回転の方向などの情報の抽出が容易である。
また、リアルタイムで手書き文字認識が可能であることから、認識結果を直
ちに表示することができ、インタラクティブなユーザインタフェースを構築す
ることができる。
オンライン認識の研究当初は、手書きされたストロークの始点や終点などの
特徴点やストロークの方向、個数、ストローク相互の相対的な位置関係、書き
順などの情報を用いて手書き文字認識を行っていた。しかし、この方法では、
認識対象となる文字種が限定されるという問題点がある。
そこで、漢字やひらがなを認識対象とする場合に高い精度で認識を行うこと
59
を目指した研究が行われた。そのような先行研究において、ストロークの特徴
を数十種類に分類し、入力されたストロークの特徴を抽出した後、ストローク
の特徴を記述した知識とマッチングを行い、その後、マッチングしたストロー
クの集合と、文字知識として記述した集合とをマッチングさせるという、萬木
らによる階層分析法 [21] や、岡本らによるストロークの方向特徴と方向変化特
徴を用いる方法 [31] 、田守らによるファジー推論を導入した方法 [28] などが考
案され、いずれも高い認識率を実現している。
4.7.2
HandChaRM-WWW の手書き文字認識方法
HandChaRM-WWW の手書き文字認識部は、文字切り出し部によって切り
出された文字のストローク情報を受け取ると、文字認識に必要なストロークの
特徴を抽出し、それらと、各認識対象文字ごとに文字の特徴を文字知識として
記述したものとを、認識開始タイミングに従ってマッチングを行い、手書き文
字認識を行う。
4.7.2.1
文字認識方法の決定
第 4.5.4 節で述べたように、知的教育システムにおける手書き文字認識には
高速性が求められる。
一般に用いられている手書き文字モジュールの多くは、漢字やひらがな、ア
ルファベットなど多くの文字種を認識対象としている。そのため、第 4.7.1 で
述べたように、高度な演算が必要な文字認識方法を用いている。
しかし、現在の Java 言語の処理速度は必ずしも充分であるとは言えない。そ
のため、高度な演算を用いる文字認識方法を採用した場合、処理に時間がかか
る可能性が高い。ネットワーク上には様々な処理能力のコンピュータが存在し、
処理能力が充分ではないコンピュータ上では、この傾向は一層顕著になる。
そこで、認識対象文字の認識に必要不可欠な文字認識方法のみを採用するこ
とで、認識処理の簡略化を図った。具体的には、オンライン認識の研究の初期
に用いられた、ストロークの特徴点やストロークの方向、方向転換の回数、ス
トロークの個数、ストローク同士の相対的な位置関係などの特徴に基づく手書
き文字認識方法 [22][23] を採用し、手書き文字認識を実現した。この方法は、
高度な演算を必要としないため、高速に認識処理を行うことができる。
60
4.7.2.2
スト ロークの特徴情報の抽出
HandChaRM-WWW が手書き文字認識に用いるストロークの特徴情報を以
下に示す。
スト ローク数
切り出された文字が何画であるかを表す。ストローク数により、基本セッ
トの中の一画の文字と複数画の文字とを区別することができる。
各スト ロークの始点、終点の座標
ストロークの始点や終点の位置により、文字をグループ化することがで
きる。例えば、数字「 2 」は始点が x 軸において文字全体の左側、終点が
右側となる。一方、数字「 3 」は始点、終点ともに文字全体の左側となる。
数字「 4 」のように複数のストロークから構成される文字については、各
ストロークごとに始点、終点を抽出する (図 4.33) 。
第1ストローク始点
始点
第2ストローク始点
第1ストローク終点
終点
第2ストローク終点
図 4.33: ストロークの始点と終点の例
また、数字「 9 」のように、x 軸について見た場合、終点の位置が不確定
なものも存在する (図 4.34) 。そのため、始点と終点の x 座標の評価だけ
では不十分である。
一方、数字「 9 」は y 軸について見た場合、始点が文字全体の上側、終点
が下側にある。それに対し、数字「 8 」は始点、終点ともに文字の上側に
ある。
文字知識では、これらの情報を元に、次に述べる文字の最上、最下、最
右、最左点との相対位置を記述している。相対位置は、文字の特徴に応
61
始点
始点
終点が文字全体の右側
終点が文字全体の左側
図 4.34: 終点が不確定な例
じて、文字ごとに判定に用いる距離 (判定距離) を決定している。例えば、
数字「 2 」のように、終点の x 座標が最右点に非常に近い場合は、文字の
横の長さの 30%を判定距離とする (図 4.35) 。
終点
終点
判定距離
判定距離
数字「2」の条件を満たす
条件を満たさない
図 4.35: 判定距離を用いたマッチングの例
文字の最上、最下、最右、最左点の座標
判定距離の基準としたり、次に述べるストロークの向きの判定の基点と
するため、文字の最上、最下、最右、最左点を抽出する (図 4.36) 。
文字の横幅、縦幅
最上、最下、最右、最左点のそれぞれから、入力された文字の横幅、縦
幅を抽出する (図 4.37) 。この横幅、縦幅に対する比によって、上記の判
定距離が決定される。
また、文字の縦横の比率を抽出することができる。これにより、例えば
数字「 1 」のように、縦長の文字であるか否かを判定できる。
62
最上点
最上点
最右点
最左点
最左点
最右点
最下点
最下点
図 4.36: 文字の最上、最下、最右、最左点の抽出
最左点
最上点
最上点
最右点
縦幅
縦幅
最左点
最右点
最下点
最下点
横幅
横幅
図 4.37: 文字の縦幅、横幅の抽出例
各特徴点におけるスト ロークの向き (上下左右方向)
上記の始点、終点、最上、最下、最左、最右点などにおいて、ストロー
クの上下、及び左右方向についての向きを抽出する (図 4.38 、4.39) 。
スト ロークの方向転換点と転換回数 (左右方向)
ストロークの方向転換点を抽出すると共に、ストロークの方向転換の回
数を抽出する。例えば、数字「 2 」の方向転換点は 2 箇所、つまり方向転
換回数は 2 回となる (図 4.40) 。
数字「 2 」を始点、終点のみで表現した場合、図 4.41 のような、始点と
終点が一致するが外観が大きく異なるストロークにもマッチングしてし
63
最上点は左向き
最下点は左向き
図 4.38: 特徴点におけるストロークの向きの抽出例 (左右方向)
第2ストローク始点は下向き
最左点は上向き
図 4.39: 特徴点におけるストロークの向きの抽出例 (上下方向)
方向転換点
方向転換点
方向転換点
方向転換点
方向転換点
方向転換点
方向転換は2回
方向転換は3回
図 4.40: ストロークの方向転換の回数抽出例
まうことになる。そこで、方向転換点を取ることにより、正しく筆記さ
れた数字のみ認識可能となるほか、他の文字との区別も容易になる。
64
x1
x1
y1
y1
y2
y2
x2
x2
図 4.41: 始点、終点が等しく方向転換が異なる例
方向転換は、左右方向では、文字の横幅の 25%以上連続して x 座標が増加
あるいは減少しているかを判定する。上下方向では同様に縦幅の 25%以
上連続して y 座標が増加あるいは減少してるかを判定する。
スト ロークが直線であるか否か
数字「 1 」
「4」
「5」
「 7 」、記号「−」
「=」
「+」
「÷」、アルファベット小
文字「 y 」ブロック体などは、ストローク中に直線が含まれる。この直線
が、方向転換として検出できない程度に屈曲している場合や、曲線であ
る場合 (図 4.42) に、文字として不適当な外観となる場合がある。
そこで、入力されたストロークが、直線であるのかあるいは屈曲点が存
在する線や曲線などの非直線であるのかを判定する。
直線
非直線
(屈曲線)
非直線
(曲線)
図 4.42: ストロークの直線・非直線の判定
このことにより、数字「 4 」と「×」が以下のように、始点、終点が同じ
座標で入力された場合 (図 4.43) でも、第 1 ストロークが直線が否かを判
定することにより、区別することが可能である。
スト ローク内の交点の有無
65
y座標が等しい
第1ストローク
(屈曲線)
y座標が等しい
第1ストローク
(直線)
図 4.43: ストロークの直線・非直線の判定
1 ストロークの中に、ループなどにより、交わる点が存在するか否かと、
存在する場合はその位置を抽出する (図 4.44) 。
交点
交点
交点
図 4.44: ストロークの交点抽出の例
4.7.2.3
文字知識の記述
前節で述べたストロークの特徴情報を用いて、基本セットの各文字について
特徴を考察し、文字知識を記述した。
知識の探索においては、全ての知識を並列に記述して全解探索を行うより
も、知識をツリー状に記述する方法が効率的に優れている。そこで、基本セッ
トの各文字を葉とするツリーを構築し、節点において分岐に用いるための知識
を分岐用知識として記述した。
分岐用知識によって、基本セットはグループ化され、最終的に知識にマッチ
ングする文字が一意に決定できる。
66
ストローク数
1 ストローク (1,2,3,6,7,8,9,0,-,y筆記体)
2 ストローク (1,4,5,7,+,=,×,x筆記体,yブロック体)
第2ストロークは
水平
yes (1,5,=)
交点はあるか
3 ストローク
÷
no (1,2,3,7,-)
no (4,7,+,×,x,y)
第2ストローク
終点は右端
0(1,-)
no(4,+,×,x,y)
yes (1,=)
第1ストロークは
水平
=
1
5
yes
7
+
yes
×
最下点は右向き
no (9,y)
始点は右端
no (4,x)
第1ストローク
終点は右端
1
yes
no
yes(8,0)
no (6,9,y)
no (4,×,x,y)
第1ストローク
は直線
yes(×,y)
no
始点と終点が近接
最下点は右向き
水平直線か
第1ストロークは
水平
第1ストローク
終点は右端
yes
yes (6,8,9,0,y)
方向転換の回数
第1ストロークは垂直
no
y
no
yes
4
x
yes
-
2
3
no
1
yes
7
2
3
yes
6
yes
no
y
9
0
no
8
図 4.45: ツリー構造による知識の記述
一方、分岐用の知識を用いるだけでは、外観が実際の文字とは大きく異なる
入力も、知識の条件を満たす場合にはマッチングしてしまうことになる。しか
し、正しく筆記されなかった場合も文字として認識することは望ましくない。
そこで、分岐用知識において一意に決定した文字について、さらに詳細に文字
の特徴についてチェックする詳細チェック知識を用いる。
この動作を、数字「 9 」を用いて説明する。まず、ストローク数によって、1
ストロークの文字群 (1; 2; 3; 6; 7; 8; 9; 0;
0
;y
) に分類される。次に、交点の存在
の有無により、交点を持つ文字 (6; 8; 9; 0; y ) に分類され、最下点の向き、終点
の x 座標の文字内での位置によって、最終的に「 9 」にマッチングする。この
後、詳細チェック知識を用いて、入力されたストロークが正しく「 9 」と入力
されたかをチェックする。
ツリー構造による知識の記述方法を導入したことによって、高速なマッチン
グを実現すると同時に、他の文字との誤認識の可能性を排除した。
4.7.2.4
文字知識の例
文字知識の記述例として、図 4.46 に、数字「 2 」についての詳細チェック知
識を図示する。
知識の内容は、それぞれの文字について、数名に手書き文字を紙に筆記して
もらい、それらをもとに文字の特徴を抽出したものである。特徴点の判定で
は、個人差による手書き文字の外見の多少の相違を吸収するため、判定基準に
67
ある程度の幅を設けた。そして、それぞれの文字について入力の試行を繰り返
し、経験的に知識の内容の調整を行った。
始点は中心より左側
始点は中心より上
終点は
下から25%以内
始点は右向き
二つ目の方向転換点は
下から33%以内
二つ目の方向転換点は
左から25%以内
図 4.46: 数字「 2 」の知識
68
終点は右から33%以内
一つ目の方向転換点は
文字の中心より右
最上点は右向き
4.8
入力インタフェースの基本仕様
前節までに述べてきた内容から、入力インタフェースの基本仕様が決定さ
れる。WWW クライアント上で手書き文字認識を行う知的教育システムが
HandChaRM-WWW を導入する際には、この基本仕様に沿った入力インタフ
ェースを構築する必要がある。
入力インタフェースは、手書き文字の入力機能と、入力されたストローク情
報を保持する機能、保持したストローク情報を各インタフェース個別の認識タ
イミングに従い、HandChaRM-WWW に渡す機能、HandChaRM-WWW から
文字認識結果を受け取る機能を備える必要がある。
ストローク情報は、第 4.2 節で述べたように、マウスダウン (マウスのクリッ
ク) 、マウスド ラッグ ( クリックしたままマウスを移動する) 、マウスアップ ( ク
リックを解除) の各イベントをイベントハンド ラによって検知する。入力イン
タフェースはマウスダウンからマウスアップまでの間にマウスが移動した座標
を横方向を x 座標、縦方向を y 座標として、配列内に格納する。入力されたス
トロークの座標のみを配列内に格納すると、ストロークの始点、終点の判別が
困難となるため、マウスアップされた際には、マウスアップを示す特殊な値と
して 9999 を格納する。
HandChaRM-WWW では、文字切り出しにおいて接触判定法を用いること
や、手書き文字認識においてストロークの交点の座標を求めるため、入力イン
タフェースで取得される座標は、一つのストロークについて連続している必要
がある。
ストローク
取得した座標
図 4.47: 座標が不連続となる例
しかし、プラットフォームの性能によっては、Java アプレット上ではイベ
69
ントハンド ラが充分に短い時間間隔でイベント発生を検知できるとは限らない
ため、図 4.47 の例に示すように、取得した座標が非連続なものとなる場合が
ある。
そこで、取得した座標間を補完する必要がある。補完については、HandCharm-
WWW 側で行うことも可能であるが、認識開始後の処理を増加させることと
なるため、文字認識における高速な動作を実現する上では、入力インタフェー
ス側で、学習者の入力時にリアルタイムで補完を行うこととした。
補完では、離れた 2 点間を、x 座標、y 座標ともに互いに 1 以内の距離にあ
る点列を計算式によって生成し、座標配列に格納する。
70
第5章
WWW FRONTIER の実現
本章では、WWW 上で手書き入力可能な知的教育システムの実現を目指し
て、本研究で開発した HandChaRM-WWW を分数システムに実装し WWW
FRONTIER を実現したこと、そして、WWW FRONTIER の特徴、システム
構成、ユーザインタフェースについて述べる。また、WWW FRONTIER にお
ける手書き文字認識率、認識速度を検証した実験とその結果について述べる。
5.1
WWW FRONTIER
の特徴
我々は、HandChaRM-WWW を分数システムに実装し、WWW 上におい
て手書きにより分数式を自然かつ容易に入力できる知的教育システム WWW
FRONTIER を開発した。
WWW FRONTIER は、小学校の児童に二口の分数の加減算問題を提示し、
解答させるド リルタイプの知的教育システムである。
このシステムは、分数システムの機能を受け継いでいる。すなわち、学習者
に途中式を入力させ、式変形過程から解法の文脈を認識するほか、学習者が
誤った解答を入力した際には、バグ知識を用いて誤り原因を同定し、誤り内容
に沿った指導メッセージを提示する。また、学習者の誤り回数に応じて、指導
メッセージの内容の詳細さを変化させることにより、学習者の自発的な誤り発
見を促す段階的指導を行う。
動作環境として、WWW 上での運用が可能であり、WWW 上の知的教育シ
ステムとしての利点を持つ。また、手書き入力インタフェースを持ち、手書き
により分数式の入力を行うことが可能である。WWW クライアント上で動作
する手書き文字認識モジュール HandChaRM-WWW を実装したことにより、
71
通信遅延等を生じず迅速な手書き文字認識が可能となり、学習者は快適に入力
操作を行うことができる。
学習者は Java 環境を持つ WWW ブラウザを用いて WWW FRONTIER の
ホームページにアクセスすることで、システムを使用して学習することがで
きる。入力機器として、表示入力一体型の液晶ペンタブレットを用いることに
よって、入力インタフェースの入力枠に直接分数式を書き込むことが可能であ
る。また、ジェスチャー機能の導入により、分数式の消去や訂正などの編集操
作を容易に行うことができる。
図 5.1: WWW FRONTIER の使用場面
72
5.2
システム構成
システムの構成を図 5.2 に示す。
ユーザインタフェースと手書き文字認識モジュールは WWW クライアント
上で動作し、解答解析や指導方略などの知的モジュールは UNIX ワークステー
ション上で動作する。
WWWクライアント
WWW サーバ(UNIX ワークステーション )
前処理
問題生成
学習者
モデル
インタフェース
解答入力・
書式解析・入力解析
通信部
指導方略
手書き文字
認識モジュール
教材知識
学習者モデル解析
バグ知識
学習者
後処理
図 5.2: WWW FRONTIER のシステム構成
WWW クライアントとサーバ間は、ネットワークを介してソケット通信に
よってデータを送受信する。WWW クライアント側からは式変形過程を含め
て学習者によって入力された式や、機能ボタンによる要求が送信される。
WWW サーバ側は、生成した問題、解答解析結果、指導メッセージを送信
する。
WWW 上の知的教育システムは、同時に複数の学習者がアクセスする可能
性がある。そこで、システムは学習者ごとにサーバのプロセスを複製し、並行
処理を行うことによってそれぞれの学習者に対応する。
WWW クライアント上で動作するユーザインタフェースと手書き文字認識
モジュールは Java 言語で開発した。WWW サーバの知的モジュールは Prolog
言語、通信モジュールは C 言語で開発した。
73
5.3
ユーザインタフェース
第 4.8 で述べた基本仕様に基づき、WWW FRONTIER のユーザインタフェー
スを開発した。インタフェースウインド ウを図 5.3 に示す。
5.3.1
画面構成
メッセージフィールド
問題提示
フィールド
分数式入力
フィールド
機能ボタン
フィールド
図 5.3: ユーザインタフェース
インタフェース画面は、問題提示フィールド、分数式入力フィールド、メッ
セージフィールド、機能ボタンフィールド の 4 つから構成されている。
問題提示フィールド は、システム起動時、ならびに後述する機能ボタン「次
の問題」が押されたときに WWW サーバに問題生成を依頼し、生成された問
題を受け取り表示する。
74
分数式入力フィールドは、手書きによる分数式の入力を受け付ける。第 5.3.3
節で詳細を述べる。
メッセージフィールド は、学習者への指導メッセージを表示する。キーボー
ド 版分数システムでは、分数式入力フィールド の右側にメッセージフィールド
を配置し、誤った式変形の真横に指導メッセージを表示することによって、誤
り位置を明示することが可能であったが、本インタフェースでは、分数式入力
フィールド の上にメッセージフィールドを配置し、誤り位置は文章の内容にお
いて表現する。
メッセージは文章で構成されるため、メッセージの読み易さを求める上では
ある程度の横幅が必要となる。一方、分数式を容易に入力する上では、入力枠
にある程度の大きさがあることが望ましい。メッセージフィールド を分数式入
力フィールド の上に配置したことにより、分数式入力枠をより大きく設定する
ことが可能となり、分数式の入力が容易となった。
機能ボタンフィールド には、一行消去、全行消去などの編集操作を行うボタ
ン、解答終了をシステムに通知するボタン、次の問題を要求するボタン、シス
テムの使用方法についてのヘルプを要求するボタン、システムの終了を通知す
るボタンを配置している。
一行消去ボタンを押すと、学習者が入力中の入力枠 (行) に入力した全ての文
字が消去される。全行消去ボタンを押すと、全ての入力枠で、学習者が入力し
た全ての文字を消去する。これらのボタンを配置することによって、入力式を
簡単に消去することができ、式を再入力する上で操作性の向上が期待できる。
図 5.4: 全行消去
学習者が解答終了ボタンを押すと、インタフェースは WWW サーバに入力
75
式を送信し、サーバ上で解答解析が行われる。サーバは正誤判定や、誤り原因
同定を行い、解析結果と指導メッセージをインタフェースに送信する。インタ
フェースは受信した情報をメッセージフィールド に表示する。
システム終了ボタンを押すと、ユーザインタフェースとネットワークを介し
て接続している WWW サーバ上の知的教育システムのプロセスが終了する。
WWW FRONTIER の画面サイズは、SVGA デ ィスプレイで使用可能であ
ることを前提として基本サイズを決定した。このサイズは、環境に応じて変更
が可能である。
5.3.2
分数式の表示
WWW はプラットフォームによってテキスト文字のフォントの大きさが異
なる場合がある。そのため、文字相互の位置関係が変化し、分数式を正しく表
示することができない場合がある。そこで、手書き文字の清書や問題表示にお
いて、数字や演算子等の記号を画像フォントとしてモジュール内に保持し、表
示に用いた。これにより、様々なプラットフォーム上において正しく分数式を
表示することが可能となった。
5.3.3
分数式の入力
学習者は、分数式入力フィールド にペンを用いて直接数字、記号を入力す
る。ペンを降ろすと、画面上のペンの位置に点が描かれる。そのままペンを動
かし、ストロークを描くことで文字を入力することができる。
ペンを素早く動かした場合、座標の取得が間に合わず、マウスアップが行わ
れない場合にも、点間が非連続に描画される場合がある。そこで、第 4.8 節で
の仕様に従い、点間の座標を補完し、補完した座標全てにおいて点を表示する。
このことによって、学習者が入力したストロークが、ストロークとしてシステ
ムに認識されたことを視覚的に確認することができる。この機能により、学習
者が気付かぬうちにペンが画面上から離れ、不本意にストローク数が増加した
場合と、単に座標の取得が間に合わなかった場合とを区別することができる。
また、手書きによるマイナス記号と分数の中央線との区別や、分数式が正
しく書かれているかを判定する数式構造認識での基準を設けるため、分数式
入力フィールド の入力枠内に一文字分ごとの仕切り線を導入した。分数式入力
76
フィールド は仕切り線によって縦に2段、横に 15 段に分割されている。学習
者は分母、分子を入力する場合は仕切り線によって構成される四角形の中に数
字を記入する。また、分数の中央線、等号、演算子、整数を書く場合は、中央
の仕切り線上に筆記する
分子
整数・演算子
・分数線
分母
図 5.5: 分数式の入力枠
文字認識モジュールは、学習者が入力した数字、記号を認識し、画面上で学
習者のストロークを消去し、仕切り線を基準として位置を調整して清書する。
このことによって、学習者は自分が入力した手書き文字がシステム側に正しく
認識されたか否かを確認することができる。
図 5.6: 手書き文字の認識と清書
マイナス記号と分数の中央線との区別は、マイナス記号として認識された文
77
字の長さと、仕切り線の長さとの比で判定する。
分数線
=
=
マイナス
=
=
−
図 5.7: 分数線とマイナスの区別
5.3.4
分数式の訂正
学習者が数字や記号を誤って入力した場合などでは、入力した文字や式を訂
正する必要がある。手書き入力は、訂正においても方向キー等によるカーソル
移動などの繁雑な操作が不要であり、ペンによって訂正位置をシステムに直接
通知することができる。
WWW FRONTIER は、分数式の訂正を行う上で、上書きする方法と、ジェ
スチャー (編集操作を行う手書き記号) を用いる方法とを導入した。
入力した文字を訂正したい場合は、図 5.8 に示すように、訂正したい文字の
上から文字を上書きすることによって訂正することができる。
図 5.8: 文字の上書き訂正
WWW FRONTIER のジェスチャーには、一文字消去と一行消去がある。一
文字だけ消去したい場合は、消去したい文字をペンで押さえる (図 5.9) 。
78
図 5.9: 一文字消去
一行全体を消去したい場合は、消去したい行の上で大きな×を描く。一行を
消去する方法としては、機能ボタンを用いる方法があるが、機能ボタンは入力
中の行のみに対して有効であるため、入力中以外の行を消去したい場合には
ジェスチャーを用いる方法が有効である (図 5.10) 。
図 5.10: 一行消去
ジェスチャーを手書き文字として認識するため、HandChaRM-WWW の認
識対象文字として、大きな×を追加した。大きな×は乗算記号と区別するた
め、縦横の比率を 1:2 以上とした。また、ピリオド を認識した場合を、一文字
消去のジェスチャーとして扱う仕様とした。
79
5.3.5
手書き文字認識のタイミング
手書き文字の認識タイミングとして、第 4.5.3 節で示した自動一括認識を採
用した。学習者が複数の文字を入力し、一定時間の間に新たに入力がなけれ
ば、自動的に文字認識を開始する。現在、この一定時間は 0.5 秒に設定してい
るが、変更が可能である。
分数を入力する際には、第 4.5.2.1 節で示したように、一文字ごとの認識で
は認識待ち時間が蓄積され、学習者の負担となる。そこで、自動逐次認識、あ
るいは自動一括認識を用いることが望ましい。
自動逐次認識には、学習者は認識を待たずに連続して文字を入力できるとい
う利点がある。しかし、この認識タイミングでは、学習者の入力受け付けと、
手書き文字認識とがモジュール内で平行して実行されるため、処理の競合によ
る遅延が懸念される。つまり、Java アプレットでは、認識処理の負荷が大きく
なると、学習者の入力した座標の取得が困難となり、場合によっては文字とし
ての外形を留めない程度に座標取得落ちが発生する可能性がある。
それに対し、自動一括認識では、複数文字を筆記後、処理がシステムに委ね
られるため、処理の競合の問題は生じない。このことにより、認識待ち時間を
軽減するだけなく、座標の取得において、文字認識を可能とするだけの充分な
情報量を確保できる。
80
5.4
WWW FRONTIER における手書き文字認識
の評価
5.4.1
手書き文字認識率の評価
5.4.1.1
実験の概要
WWW FRONTIER の手書き文字の認識能力について検証する実験を行った。
実験では、ペン入力デバイスとして、表示入力一体型の液晶ペンタブレッ
ト WACOM PL-400 を用いた。この液晶ペンタブレットは、XGA(1024 × 768
ドット ) 対応、13.3 インチ TFT 液晶ディスプレイを持っている。また、電磁誘
導方式により最高 0.05mm の読取分解能を実現している。
液晶ペンタブレット上で WWW ブラウザを起動し、システムにネットワー
ク経由でアクセスした。そして被験者 (大学生)8 名に対し、システムが認識対
象としている文字から分数の中央線を除いた計 14 文字を、一文字ずつ順番に
入力させた。各文字 5 回ずつ、合計 70 文字を筆記させた。
対象となる学習者による実際の使用を想定し、実験に際して、被験者に対し
「丁寧に入力すること」という制約を設けなかった。
5.4.1.2
実験結果
手書き文字認識率の平均は 93%であった。この結果は、HnadChaRM-WWW
の認識率が実用的な水準であることを示している。
7%の文字を認識できなかった原因として、タブレットへの不慣れから、筆
記中にペンを離してしまうなどの誤操作や、悪筆での入力などが挙げられる。
図 5.11 に、実験において認識に失敗した入力の例を示す。
example A:
example B:
unexpected
pen-up
example C:
poor hand
図 5.11: 認識に失敗した例
example A は、数字「 7 」の入力の途中でペンがタブレットから不用意に離
81
れ、ストロークが途切れたことで認識に失敗した例である。手書き文字認識モ
ジュールは数字「 1 」が二つ入力されたものと認識した。example B と example
C は、悪筆により認識に失敗した例である。example B は二筆書きの数字「 1 」
の入力において、横線となるべき二筆目が傾いている。また、example C は、
二つ目の方向転換点が右に寄りすぎている。
また、ある被験者は、乗算記号「×」を誤った書き順で記述したため、認識
に二度失敗している。このような誤った書き順については、文字知識を追加す
ることによって対応することができる。
5.4.2
手書き文字認識速度
HandChaRM-WWW の文字認識速度を計測した。計測は、DELL コンピュー
タ Dimension XPS R450(Pentium II 450MHz 、RAM 256MB) を用いた。WWW
FRONTIER に使用する 14 文字の認識対象文字を順番に筆記し、100 回の試行
の結果、最大で 160 ミリ秒、最小 50 ミリ秒以下、平均 75 ミリ秒という結果を
得た。この結果は、HandChaRM-WWW の認識速度が実用的な水準であるこ
とを示している。
一方、文字認識モジュールを WWW サーバ上に配置した場合を想定して、
研究室内 LAN(通信速度 100Mbps) において、WWW FRONTIER における、
WWW クライアントと WWW サーバ間の通信遅延の計測を行った。100 回の
試行の結果、最大 220 ミリ秒、最低 50 ミリ秒、平均 100 ミリ秒の遅延が生じ
ることがわかった。LAN 環境においてもこれだけの遅延が見られたことから、
より遠方から WWW サーバにアクセスされる実際の使用においては、さらに
長時間の通信遅延が予想される。それに加えて、サーバ上での文字認識時間が
付加される。
これらのことから、WWW クライアント上において HandChaRM-WWW
によって手書き文字認識を行うというアーキテクチャを用いることによって、
学習者の手書き入力に対し、素早く手書き文字認識結果を返すことが可能であ
ることが確かめられた。
82
第6章
考察
一般の手書き文字認識機構は、漢字や続け字などを認識対象とするため、高
度な文字認識機構を用いている。それに対し、HandChaRM-WWW の開発で
は、認識対象を初等教育の算数に必要な文字、記号とし、それらの認識に特化
したシンプルな手書き文字認識機構を実現した。その結果、現在処理速度が必
ずしも充分ではない Java アプレット上においても、高速な手書き文字認識が
可能となった。また、認識対象を特化したことで正確な文字切り出しが可能と
なった。
一方、HandChaRM-WWW の文字知識は、文字の書き順を基に記述してお
り、誤った書き順には対応できない。誤った書き順については、文字知識を追
加することによって対応することができる。
また、文字についての厳密なマッチングを行う機構を採用していないため、実
際には認識対象文字とは異なるランダムなストロークについても、文字知識に
マッチした場合はなんらかの文字と認識してしまう。そのため、HandChaRM-
WWW の文字認識機構は、文字の正しい書き方を教える指導には適さないと
考えられる。しかし、WWW FRONTIER と同様に、文字の入力インタフェー
スとして手書き入力インタフェースを用いる場合には、HandChaRM-WWW
は有効に機能すると考える。
WWW 上における手書き入力の方法としては 、パーソナルコンピュータ
や手書き可能な携帯端末において、手書き入力が可能な仮名漢字変換ソフト
IME98(Microsoft 社) などが実用化されている。IME98 は、一文字入力が可能
なウインド ウを開き、その中に手書き文字を入力させ、手書き文字認識を行
う。そのため、WWW の画面上にインラインで直接手書き入力することは不
可能である。
83
WWW 上で手書き FEP を手書き文字の入力に用いるためには、入力した文
字の画面における位置情報を、システムに対し別途に入力する必要がある。と
くに、数式は二次元構造を持ち得るため、カーソルやマウスで位置を指定して
入力する作業は思考の中断を招くものと考えられる。また、文字の大きさにつ
いての情報も別途に入力する必要がある。さらに、手書き文字の入力フィール
ド が一文字分であるため、複数の文字を同時に筆記したり、連続筆記を行うこ
とができない。
HandChaRM-WWW を実装したシステムでは、WWW の画面に直接手書き
で文字を入力することが可能である。また、書かれた文字の大きさを判定する
ことが可能で、大きさの違う数字が混在する数式を、繁雑な操作を経ずに表現
することが可能である。
加えて、複数文字の同時認識や、逐次認識が可能であることから、入力枠に
仕切り等を用いて文字の切り出し精度を向上させることにより、連続して文字
を入力することも可能である。
84
第7章
まとめ
我々は、WWW の利点と、入力インタフェースとしての手書き文字入力の有
効性に着目し、WWW 上での手書き入力を実現する汎用的な手書き文字認識
モジュール HandChaRM-WWW の開発を行い、分数計算を指導する知的 CAI
システムに実装し、手書き入力インタフェースを備えた WWW FRONTIER
を開発した。
HandChaRM-WWW は WWW クライアント上で動作するため、通信遅延
のない、迅速な文字認識が可能である。さらに、入力枠に直接インライン入力
が可能であり、自然かつ容易な入力を実現している。
文字認識では、認識対象文字を数字、演算子、等号のみに限定し、それに特
化した切り出し方法を用いて正確な切り出しを行う。また、認識対象文字に特
化したシンプルな認識機構を用い、認識モジュールの高速な動作と高い認識率
を得た。文字知識としてストロークの座標情報と方向列のみ用い、コード 内に
ツリー状に記述することによって、高速なマッチングを可能とした。WWW
FRONTIER 上で認識率と認識速度の評価実験を行った結果、実用的な認識率、
認識速度を得ることができた。
知的教育システムには、認識対象となる文字種が限られるド メインが存在
する。それらのド メインにおいて、WWW 上での手書き入力を実現する上で、
HandChaRM-WWW のアーキテクチャは有効であると考える。
85
謝辞
研究活動全般ならびに本論文の執筆において、多岐にわたり多大なる御指導
ならびに御鞭撻を賜わりました近藤弘樹教授に、厚く御礼申し上げます。
当研究グループにおいて、様々な御指導ならびに御意見を頂きました渡辺健
次助教授、岡崎泰久助手、田中久治技官の皆様に、心より感謝申し上げます。
本研究を通じて、手書き文字認識の専門家のお立場からの貴重な御助言を頂
きました、三洋電機株式会社の岡本正義氏に、心より感謝申し上げます。
本論文の作成におきまして、貴重な御意見を頂きました新井康平教授、林田
行雄教授、只木進一助教授の皆様に、心より感謝申し上げます。
本研究において、知的教育システム WWW FRONTIER の開発に携わった、
佐賀大学大学院工学系研究科江頭広幸氏、ならびに佐賀大学情報科学科江島光
麿氏 (現・大栄総合教育システム) に感謝いたします。
本研究を通じて、様々な議論や、手書き文字認識の評価実験に御協力頂いた
知能情報システム学科第 5 研究グループの学生諸兄に感謝いたします。
86
参考文献
[1] 仲林清, 小池義昌, 丸山美奈, 東平洋史, 福原美三, 中村行宏, \WWW を用い
た知的 CAI システム CALAT," 電子情報通信学会論文誌( D-II ), Vol.J80-
D-II, No.4, pp.906-914, April 1997.
[2] 岡崎泰久, 渡辺健次, 近藤弘樹, \WWW( World-Wide Web ) を利用した
知的 CAI," 電子情報通信学会論文誌( D-II ), Vol.J80-D-II, No.5, pp.1304-
1307, May 1997.
[3] 伊藤秀規 , \ペンコンピュータの教育利用," 教育工学関連学協会連合第 4
回全国大会講演論文集, pp.445-446, Oct. 1994.
[4] 和田慎二郎, 植野雅之, 松本正嗣, 対馬勝英, \手書き数式編集システムの
開発," CAI 学会誌, Vol.11, No.3, pp.136-149, Oct. 1994.
[5] 山崎敏範, 井口征士, 桜井良文, \オンライン手書き文字認識手法を用い
た書写学習システム," 電子情報通信学会論文誌( D ), Vol.J65-D, No.10,
pp.1211-1218, Oct. 1982.
[6] 山崎敏範, 井口征士, 桜井良文, \文字の微細構造に着目した書写学習システ
ム," 電子情報通信学会論文誌( D ), Vol.J67-D, No.4, pp.442 - 449, April
1984.
[7] 渡辺健次, 笹栗裕孝, 岡崎泰久, 山口禎介, 伊藤穣, 中原博文, 池田泰孝, 田
崎敏昭, 近藤弘樹, 岡本正義, 吉川隆敏, 堀井洋, \分数計算を指導する知的
CAIシステムのためのペンコンピュータによるインターフェイスの実
現とその評価," 教育システム情報学会誌 Vol.14, No.4, pp.139-150, Oct.
1997.
[8] 渡辺健次, 岡崎泰久, 只木進一, 近藤弘樹, \分数計算を指導する知的 CAI シ
87
ステムの実現," 電子情報通信学会論文誌( A ), Vol.J77-A, No.3, pp.518-
529, March 1994.
[9] 中山恭與,\CAI アプ リケーション用の数式入力システム," 電子情報通信
学会論文誌 (A), J76-A, No.12, pp.1787 - 1794, Dec, 1993.
[10] 尾崎正弘, 足達義則, 石井直宏, 小谷津孝明, \感性情報を考慮したファジー
手書き文字学習システム," 電子情報通信学会論文誌 (DII), J79-D-II, No.9,
pp.1554 - 1651, Sep. 1996.
[11] 笹栗 裕孝, 岡崎 泰久, 渡辺 健次, 近藤 弘樹, 岡本 正義, 吉川 隆敏, 堀井
洋, \分数計算を指導する知的 CAI システム -手書きインターフェースの
試作-," 信学技報 ET94-112 1994.
[12] 山口禎介, 田中久治, 岡崎泰久, 渡辺健次, 近藤 弘樹, 岡本正義, 吉川隆敏,
堀井洋, \分数計算を指導する知的 CAI システム FRONTIER - 連続筆記
手書き入力と並行認識の実現 -", 平成 8 年度電気関係学会九州支部連合
大会講演論文集, p. 727 1996.
[13] T. Yamaguchi, K. Watanabe, Y. Okazaki, H. Nakahara, Y. Ikeda, J. Ito,
H. Kondo, M. Okamoto, T. Yoshikawa, H. Horii, \An implementation of
the pen Based interface for an ITS for guiding fraction calculation," Proc.
of The International Conference on Computers in Education ICCE97,
pp.504-511, Kuching, Malaysia, Dec. 1997.
[14] J. Ito, Y. Okazaki, K. Watanabe, H. Kondo, M. Okamoto, \Pen based user
interface for an ITS on WWW client -Handwriting character recognition
with Java applet-," Proc. of The International Conference on Computers
in Education 98 Vol.2, pp.324-327, Beijing, China, Oct. 1998.
[15] 孫 寧, 安倍正人, 根元義章, \改良型方向線素特徴量および部分空間法を用
いた高精度な手書き文字認識システム," 電子情報通信学会論文誌( D-II ),
J78-D-II, pp.922-930, June 1995.
[16] 小川英光編著,\パターン認識・理解の新たな展開 - 挑戦すべき課題 -," 電
子情報通信学会, 1994.
88
[17] 森健一,\パターン認識," 電子情報通信学会, 1988.
[18] 加藤 寧, 安部正人, 根元義章, \改良型マハラノビス距離を用いた高精度な
手書き文字認識," 電子情報通信学会論文誌 (DII), 79-D-II, No.1, pp.45 -
52, Jan. 1996.
[19] 若林哲史, 鶴岡信治, 木村文隆, 三宅康二, \手書き数字認識における特徴選
択に関する考察," 電子情報通信学会論文誌 (DII), J78-D-II, No.11, pp.1627
- 1638, Nov. 1995.
[20] 水上嘉樹, 古賀和利, 鳥岡豊士, \変移抽出を行う手書き文字認識システム,"
電子情報通信学会論文誌 (DII), J80-D-II, No.1, pp.63 - 72, Jan. 1997.
[21] 萬木正義, 永田静男, 小沼賢二, 久保田恵子, \階層分析法によるオンライ
ン文字認識," 電子情報通信学会論文誌( D ), J68-D, No.6, pp.1320-1327,
June 1985.
[22] 相澤正, 中川正樹, 高橋延匡, \オンライン手書き文字認識におけるパター
ンプ リミティブの情報理論的決定とその辞書生成," 電子情報通信学会論
文誌( D ), J69-D, No.10, pp.1459-1470, Oct. 1986.
[23] 沢井良一, 中川正樹, 高橋延匡, \オンライン手書き日本語文字認識における
つづけ字の検討," 電子情報通信学会論文誌( D ), J70-D, No.5, pp.946-957,
May 1987.
[24] 澤田清, 吉川隆敏, 岡本正義, 堀井洋, 亀田勇, \オンライン文字切り出し特
徴の多段階ネットワーク表現," 情報処理学会第 39 回全国大会,2E-5, pp.559
- 560, 1989.
[25] 村瀬洋, 若原徹, 梅田三千雄, \候補文字ラティス法による枠無し筆記文字列
のオンライン認識," 電子情報通信学会論文誌 (D), Vol.J68-D, No.4, pp.765
- 772, April 1985.
[26] 岡本正義, 山本英人, 吉川隆敏, 堀井洋, \物理的特徴量を用いたオンライ
ン文字自動切り出し手法," 信学技報, PRU95-13, May 1995.
89
[27] 相澤博, 若原徹, 小高和己, \複数のストローク特徴を用いた手書き文字列
からの実時間文字切出し," 電子情報通信学会論文誌( D-II ), Vol.J80-D-II,
No.5, pp.1178-1185, May 1997.
[28] 田守寛文, 茶谷公之, 坂野秋夫, 吉田公義, \ファジー推論を応用した手書
き文字認識手法," 電子情報通信学会論文誌 (DII), J74-D-II, No.2, pp.166
- 174, Feb. 1991.
[29] 吉川 隆敏, 澤田 清, 岡本 正義, 堀井 洋, 亀田 勇, " ストロークの相対位
置行列によるオンライン手書き文字認識," 情報処理学会第 39 回全国大会,
6E-4, pp.557-558, 1989.
[30] 中村明, 岡本正義, 堀井洋, \知識ベースに基づいた手書き情報認識," 情報
処理学会第 43 回全国大会, 分冊 2, 2-19-20, Oct. 1991.
[31] 岡本正義, 山本和彦, \方向特徴と方向変化特徴を用いたオンライン手書き
文字認識," 電学論( C ), Vol.119, No.3, pp.358-366, March 1999.
[32] 青島史郎, 森健策, 末永康仁, \実時間手書きストローク解析による数式入
力システム," PRMU98-19, pp.45 - 52, May, 1998.
[33] 青島史郎, 森健策, 末永康仁, \実時間手書きストローク解析による数式入力
システム(第 2 報)-文字認識機構の改善-," PRMU98-277, pp.57-64, Feb.
1999.
[34] 内山匡, 曽根原登, 徳永幸生, \非ユークリッド 距離を用いたオンライン
手書き文字認識," 電子情報通信学会論文誌 (DII) VOL.J80-D-II, No.10,
pp.2705 - 2712, OCT. 1997.
[35] 鈴木雅人, 大町真一郎, 加藤寧, 阿曽弘具, 根元義章, \混合マハラノビス
関数による高精度な類似文字識別手法," 電子情報通信学会論文誌 (DII)
VOL.J80-D-II, No.10, pp.2752 - 2760, OCT. 1997.
[36] 清田公保, 桜井敏彦, 山本眞司, \ストローク代表点の相対位置情報に基
づく視覚障害者用オンライン文字認識" 電子情報通信学会論文誌 (DII)
VOL.J80-D-II, No.3, pp.715 - 723, March 1997.
[37] 情報処理学会編, \情報処理ハンドブック," オーム社 1989.
90
[38] D. Sleeman and J. S. Brown: \Intelligent Tutoring Systems", Academic
Press (1982).
[39] Carbonell, J.R.(1970)Mixed-Initiative Man-Computer Instructional Dialogues. Doctoral dissertation, Massachusetts Institute of Technology,
Cambridge, Massachusetts.
[40] Steavens, A.L.; and Collins, A.(1977)The goal structure of a Socratic
tutor. Proceedings of the National ACM Conference, Seattle, Washington,
pp. 256 - 263. Association for Computing Machinery, New York.
[41] Brown, J.S.; Burton, R.R.; and Bell, A.G.(1974)SOPHIE: a sophisticated
instructional environment for teaching electronic troubleshooting, BBN
Report 2790. Bolt Beranek and Newman Inc., Canbridge, Massachusetts.
[42] Bonar, J.G.; and Weil, W.(1985)An informal programming language. Paper presented at the meeting Expert System in Government, October,
Washington, D.C.
[43] Richer, M.H.; and Clancey, W.J.(1985)GUIDON-WATCH: a graphic interface for viewing a knowledge-based system. IEEE Computer Graphics
and Applications, vol.5, no.11, pp. 51 - 64.
[44] Brown, J.S.(1983)Process versus product: a perspective on tools for communal and informal electronic learning. In Report from the Learning Lab:
Education in the Electronic Age, Educational Broadcasting Corporation.
91
研究発表
●はファーストオーサー、○は共著を示します。
【学術論文】(査読付き)
●伊藤穣, 江頭広幸, 岡崎泰久, 渡辺健次, 近藤弘樹, WWW 上でのオンライン
手書き文字認識の実現とそれを実装した知的教育システムの開発. 電子情報通
信学会論文誌 (掲載予定)
○渡辺健次, 笹栗裕孝, 岡崎泰久, 山口禎介, 伊藤穣, 中原博文, 池田泰孝, 田
崎敏昭, 近藤弘樹, 岡本正義, 吉川隆敏, 堀井洋, 分数計算を指 導する知的CA
Iシステムのためのペンコンピュータによるインターフェイスの実現とその評
価. 教育システム情報学会誌 Vol.14, No.4, pp, 139-150, 1997 年
○岡崎泰久, 岡嶋智子, 大島正豊, 伊藤穣, 田中久治, 宮山建, 渡辺健次, 栗山
裕至, 前村晃, 近藤弘樹, 既存の WWW リソースを活用した WWW 教材の構築
とその授業実践. 教育システム情報学会誌, Vol.15, No.4, pp.285 - 292, 1999 年.
【国際会議】(査読付き)
○ Teisuke Yamaguchi, Kenzi Watanabe, Yasuhisa Okazaki, Hirofumi Naka-
hara, Yasutaka Ikeda, Joe Ito, Hiroki Kondo, Msayoshi Okamoto, Takatoshi
Yoshikawa, Hiroshi Horii, An Implementation of the Pen Based Interface for an
ITS for Guiding Fraction Calculation, Proc. of The International Conference
on Computers in Education ICCE97, pp.504 - 511(1997. 12) .
○ Kenzi Watanabe, Hirotaka Sasaguri, Yasuhisa Okazaki, Teisuke Yam-
aguchi, Joe Ito, Toshiaki Tasaki,Hiroki Kondo, Masayoshi Okamoto, Takatoshi
Yoshikawa and Hiroshi Horii, An ITS for Guiding Fraction Calculation using
92
a Pen-Computer { Handwriting Character Input Interface and Its Evaluation
{ a Proceedings of ED-MEDIA 97, pp.1422 - 1423, (1997. 7)
● Joe Itoh, Yasuhisa Okazaki, Kenzi Watanabe, Masayoshi Okamoto and
Hiroki Kondo, Pen Based User Interface for an ITS on the WWW Clinet,
Handwriting character recognition with Java applet, Proc.
of The Inter-
national Conference on Computers in Education ICCE98, Vol.2, pp.324 327(1998. 10) .
【講演論文】(学会発表)
●伊藤穣, 池田泰孝, 中原博文, 山口禎介, 岡崎泰久, 渡辺健次, 田崎敏昭, 近藤
弘樹, 岡本正義, 吉川隆敏, 堀井洋, 分数式入力のための手書きインタフェースの
評価実験. 平成 8 年度電気関係学会九州支 部連合大会講演論文集 P.764 , 1996
年 10 月
●伊藤穣, 岡崎泰久, 近藤弘樹, 分数計算を指導する知的 CAI のバグ同定と指
導方略の評価. 情報処理学会第55回全国大会講演 論文集 (4), pp.466 - 467,
1997 年 9 月
○渡辺健次, 山口禎介, 江頭広幸, 伊藤穣, 岡崎泰久, 近藤弘樹, 岡本正 義, 古川
隆敏, 堀井洋, 連続手書き文字認識および式変形過程並行 認識機能を備えた 分
数計算を指導する知的 CAI システム FRONTIER の実現. 教育システム情報
学会第 21 回全国大会講演論 文集 pp.105 - 108, 1998 年 8 月.
●伊藤穣, 岡崎泰久, 渡辺健次, 近藤弘樹, 岡本正義, WWW クライアン ト上
における手書き文字認識モジュールの開発 { 分数計算を 指導する知的 CAI シ
ステムへの実装 {. 教育システム情報学会第 21 回全国大会講演論文集 pp.31 -
34, 1998 年 8 月.
○江頭広幸, 伊藤穣, 岡崎泰久, 渡辺健次, 近藤弘樹, 手書き入力による分数計
算を指導する知的 CAI システムの WWW 上での実現. 情報処理学会第 58 回全
国大会講演 論文集 (4), pp.381 - 382, 1999 年 3 月
●伊藤穣, 稲田義邦, 江頭広幸, 岡崎泰久, 渡辺健次, 近藤弘樹, 学習モード と
93
指導スタイルに基づく ITS の指導方略の具体化. 教育システム情報学会第 24
回全国大会講演論文集 JSISE99 pp.97 - 100, 1999 年 8 月
【研究会報告】
●伊藤穣, 稲田義邦, 宮原昌史, 江頭広幸, 岡崎泰久, 渡辺健次, 近藤弘 樹, 学
習モード と指導スタイルに基づく ITS の指導モデルの提案. 電子情報通信学会
技術研究報告 ET98-96, pp.25 - 32, 1998 年 12 月
●伊藤穣, 江頭広幸, 岡崎泰久, 渡辺健次, 近藤弘樹, WWW クライアント上で
手書き文字認識を行う分数計算を指導する知的 CAI システムの実現. 電子情報
通信学会技術研究報告 [教育工学],pp.127 - 134, 1999 年 3 月
●伊藤穣, 稲田義邦, 江頭広幸, 岡崎泰久, 渡辺健次, 近藤弘樹, 学習モード と
指導スタイルに基づく ITS の指導方略の考察. 人工知能学会研究会資料 SIG-
IES-9804, pp.65 - 70, 1999 年 3 月
●伊藤穣, 稲田義邦, 江頭広幸, 岡崎泰久, 渡辺健次, 近藤弘樹, ITS の使用され
る状況と学習者の構えに応じた指導方略. 日本教育工学会研究報告集:知的教
育システムを用いた学習支援 JET 99-6 pp.17 - 24, 1999 年 12 月
94
Fly UP