タイパーの見ている世界について ~タイピング速度のモデル化を添えて~

(2023.05.16) 記事の内容がより分かりやすくなるように構成を変更、一部を加筆・修正しました。

この記事の内容について

この記事では、ローマ字系の日本語配列の選択肢として、母音を左右のどちらかに分離した母音分離配列(例: Dvorak配列)をなぜタイパーが好まないのかについて、タイピング速度の単純なモデルをもとに考えます。

結論としては、十分な練習を積んだタイパーにとって交互打鍵は相対的に損であり、なるべく片手で打てるキーの数を増やしたほうがタイピング速度が向上する、ということになります。
以下、タイピング速度についての単純なモデルを設計し、その数式を解くことでこの結論を導きます。

(しばらく数式が続くので、読むのが面倒な方はまとめに飛んでください!)

タイピング速度のモデル化

モデル設計の方法

ローマ字系配列でのタイピングは、片手で1つ以上のキーを打つ、キーを打つ手を入れ替える、入れ替わった手で1つ以上のキーを打つ、キーを打つ手を入れ替える…という動作の繰り返しだとみなすことができます。
これから、ローマ字系配列でのタイピングに登場する動作を、「片手で1キーを打つ動作」と「キーを打つ手を切り替える動作」の2つに分け、前者のコストを$${a}$$(ms)、後者のコストを$${b}$$(ms)とおくことにします。
また、片手で1キーを打つ動作について、1キー目の動作はキーを打つ手を切り替える動作と同一視することができるため、片手で1キーを打つ動作のコストは2キー目以降のコストのみを考慮することにします。
ここで、打つキーの総数を$${n}$$、片手で打てるキーの平均値を$${c}$$とすると、片手で1キーを打つ動作は$${\frac{n}{c} \times (c-1)a}$$回、キーを打つ手を切り替える動作は$${\frac{n}{c}}$$回生じることになります。
以上のことから、$${n}$$キーを打つのにかかる時間を表す関数

$$
{f(n,c) = \frac{n}{c} \{ (c-1)a+b\}}
$$

を得ることができます。
ここで$${c=1}$$のとき、すなわち完全交互打鍵での所要時間は、$${f(n) = bn}$$で求めることができます。

完全交互打鍵を上回るのに必要な条件

上記モデルにおいて、完全交互打鍵での所要時間は
$${f(n) = bn}$$で表されるので、$${f(n,c)}$$と$${f(n) (c=1)}$$の大小関係、すなわち$${\frac{n}{c} \{(c-1)a+b\}}$$と$${bn}$$の大小関係について考えてみます。
$${a=kb}$$ ($${k}$$は非負の有理数)とおき、$${ \frac{n}{c} \{(c-1)a+b\} < bn}$$を整理すると、最終的に$${(c-1)(k-1)<0}$$という不等式が得られます。
定義より明らかに$${c \geq 1}$$を満たすので、$${k \geq 1}$$を満たすかどうか、すなわち$${a \geq b}$$を満たすかどうかで$${\frac{n}{c} \{(c-1)a+b\}}$$と$${bn}$$の大小が決まります。
ここで、非タイパーは同手打鍵よりも交互打鍵のほうが速く、タイパーは交互打鍵よりも同手打鍵のほうが速いと考えられるため、非タイパーは$${k \geq 1}$$を満たし、タイパーは
$${k < 1}$$を満たすと考えられます。
したがって、タイパーの場合は$${c}$$の値によらず
$${\frac{n}{c} \{(c-1)a+b\} < bn}$$を満たし、同様に、非タイパーの場合は$${c}$$の値によらず$${\frac{n}{c} \{(c-1)a+b\} \geq bn}$$を満たします。

また、$${n}$$を固定し$${k<1}$$を仮定すると$${k}$$の値によらず$${c}$$を大きくするほど$${f(n,c)}$$が小さくなり、同様に、$${n}$$を固定し$${k \geq 1}$$を仮定するとき$${k}$$の値によらず$${c}$$を大きくするほど$${f(n,c)}$$が大きくなるので、このモデルにおいて、タイパーにとってはQwerty配列のほうがDvorak配列などの母音分離配列よりも速度を出しやすく、非タイパーにとっては母音分離配列のほうがQwerty配列よりも速度を出しやすいといえます。

さらに、$${k<1}$$を仮定すると$${c}$$を大きくするほど$${f(n,c)}$$が小さくなることから、$${c}$$を大きくできる配列であるほど速度が上がるということもいえるので、この点からもタイパーにとってはQwerty配列のほうがDvorak配列などの母音分離配列よりも速度を出しやすいといえます(∵子音→母音の2連接を片手で打てるパターンの個数を考えると、Qwerty配列のほうが母音分離配列より片手で打てるパターンの個数が多く、cを大きくできます)。

Qwerty配列を使いこなすのに必要な速度

上記のモデルにおいて、$${k \geq 1}$$を満たすならば母音分離配列のほうがよく、$${k < 1}$$を満たすならばQwertyがよいという結論を導くことができました。
これはすなわち、Qwertyで新配列より速くタイピングをするためには$${a < b}$$を満たす必要があることを意味します。
ここで、$${b}$$の値を具体的に定めることで、$${a < b}$$を満たすのに必要なタイピング速度を考えてみます。
先行研究(Kinkead, 1975)によると、キーボードでの交互打鍵の速度、すなわち$${b}$$の値は133(ms)であるとされており、これより$${a < b}$$を満たすためには少なくとも秒間7.5キー(分間451キー)でのタイピング力が必要だということになります。
当然、タイピングに習熟していない人が秒間7.5キーでタイピングをするのは不可能であり、また秒間7.5キーのタイピング速度を実現するためにはそれなりの練習時間が必要になることを思うと、Qwerty配列を使いこなすのは母音分離配列に比べて難易度が高いといえるでしょう。

まとめ

  • タイパーと非タイパーではタイピングでネックになる要素が違う(タイパーは交互打鍵よりも片手でのまとめ打ちのほうが速く打てる)

  • 非タイパーにとっては行段系の母音分離配列(例: Dvorak配列)のほうが理論上タイピング速度向上につながる

  • タイパーにとっては母音が左右に散らばっている配列(例: Qwerty配列)のほうが理論上タイピング速度向上につながる

  • タイパーにとってQwerty配列よりも速く打てる配列が存在するかもしれないが、少なくともその配列は母音が左右に散らばっている配列である

  • Qwerty配列を使いこなせるタイピング速度の目安は秒間7.5キー(分間451キー)である

以上、タイパーにとっては直感的に当たり前の事実を確認して終わった形になりますが、こうした事実を正しく認識することは、タイパーと配列制作者の方たち(あるいは非タイパーの方たち)の見ている世界の違いをクリアにするという意味で重要だと考えています。

多くのタイパーにとって、Qwerty配列で秒間7.5キー(分間451キー)というのはむしろ遅いくらいの速度であり、秒間10キー、あるいはそれ以上の速度で打てるのが当たり前の状態を目指して日々練習に励んでいます。

しかしながら、Qwerty配列で秒間7.5キー(分間451キー)という速度は十分な練習なしに到達することは難しく、Qwerty配列でタッチタイピングができる人の割合が40~50%程度であることも踏まえると、ほとんどの人にとって、Qwerty配列の代わりに効率的な設計のなされた新配列を選ぶほうが直接的にタイピング速度の改善につながると考えられます。

秒間7.5キーという壁を超えて速度の限界に挑むタイパーと、自分にとって必要な速度を実現するために新配列を制作する、あるいは利用する配列制作者やユーザーの方たちとでは、根本的に見ている世界が違うといえます。
ただ、そこにある違いは、どちらが優れている、あるいはどちらが劣っているというものではなく、単に前提の違いにすぎないということを忘れないようにしたいです。

参考文献:
Kinkead, R. (1975). Typing Speed, Keying Rates, and Optimal Keyboard Layouts. Proceedings of the Human Factors and Ergonomics Society Annual Meeting, 19, 159 - 161.