キーボードによるかな入力効率の比較

初版: 2001-09-18
更新: 2005-05-05

いくつかの日本語キーボード配列を比較してみた。 ただし, いわゆる漢字直接入力方式 (「T-Code」など) は対象とせず, かなを入力するためのキーボード配列のみに限った。

キーボード配列のいろいろについては, かなを入力するためのキーボードレイアウト各種 というページに書いたので, そちらを参照。 (ただし, 本ページより先に書いたので, 一部の記述に重複がある)

比較に用いた文章

富士通の OASYS サイトに 「キーボードを科学する。」 という文章があるが, この比較記事は親指シフトに有利になるように意図的に例文を選んであり, 参考とするに足りない。 このテストでは, 以下の2つのテキストを使用した。 仮名の出現頻度は「文字・順位・頻度・百分比・累積」の順に並んでいる。

ほかにカタカナ語の多い現代の文章も試した方がいいかもしれない。

よく配列の説明には「何百万字のテキストで試験して」うんぬんと書いてあるのに比べると字数が 3桁くらい不足しているが, 単字頻度については 1000字もあればだいたいの傾向はわかると思うし, だれでも簡単に追試験できるデータの方がいいだろう。

上記のテキストを Perl のスクリプト(注: すべて Shift JIS) で打鍵の列に変換した。 なお, スクリプトは以下の文字だけに対応している。

  あいうえおぁぃぅぇぉかきくけこがぎぐげごさしすせそざじずぜぞたちつてと
  だぢづでどはひふへほばびぶべぼぱぴぷぺぽまみむめもやゆよゃゅょらりるれ
  ろわをんっヴー、。・「」

QWERTY ローマ字入力などでは単独の濁点(゛゜)に対応していないことに注意。

  1. カナタイプライターでは「、。」がないが, 「,.」で代用した。 また引用符(「」)は「た・て」のシフトにした)
  2. Perl は 5.8.x または JPerl を使用すること。

そのあと, eval.pl (評価用スクリプト) を使って打鍵の傾向を調べた。 このスクリプトはスペースバーの打鍵を勘定していないため, 空白を入力する以外の目的でスペースバーを押す入力方式 (例: タッチ16)には多少有利になる。

下のテスト結果は上記のスクリプトを呼び出す test.pltest2.pl を使って生成した。 (JPerl を使う場合は, こちらを使用すること: test.pl, test2.pl)


テスト結果

日本国憲法前文では下のようになった。

指の使用頻度
方式打鍵数シフト 左人左中左薬左小 右人右中右薬右小 最下2段め3段め最上
ローマ字14755309450 1641111251304093162155 2284448030
AZIK 12325127200 1857414510824526815552 1734865730
SKY 13296806490 26717512511323120611597 1199093010
タッチ1617848689160 375279139754672931560 010637210
チョイ 18238359880 21937722316345294224125 13211695220
カナタイプ922486436115 20815186411427574145 219254314135
JIS X 6002922414508105 179128654213510983181 187243326166
JIS X 6004922424498123 1371231105420014410153 2134252840
ナラコード865271594110 9744468420013987168 239252196178
TRON 867374493202
(55)
12113184381941238987 1793873010
NICOLA 863395468312
(59)
143769977147114101106 894752990
中指NICOLA12125856270 1652449977158203101165 928222980
11235415820 1991431544520721213231 3254523460
2指の連続
方式打鍵数交互打鍵(率)左左右右同指異鍵同手跳躍左手縦連
ローマ字1475662 (44.9%)199613962200
AZIK 1232554 (45.0%)235442741440
SKY 13291217 (91.6%)71401350
タッチ1617841648 (92.4%)4392900
チョイ 18231638 (89.9%)16168000
カナタイプ922508 (55.2%)23218110615638
JIS X 6002922486 (52.8%)17126410414524
JIS X 6004922609 (66.1%)11919346271
ナラコード865373 (43.2%)844071381908
TRON 867515 (59.5%)11623566441
NICOLA 863517 (60.0%)13620950261
中指NICOLA1212828 (68.4%)17021364171
1123813 (72.5%)13417575563

ここで「交互打鍵」は左手の次に右手(またはその逆)のように左右交互に打鍵することを指す。 また「同指異鍵」は同じ指で違う位置を連続して打鍵すること, 「同手跳躍」は同じ手で下段から上段というように 2段以上とびこえたキーを連続して打鍵すること, 「左手縦連」とは cr, xe, zw のように, 連続して打鍵しようとすると左手の 2本の指が垂直に並ぶ場合を指す。 同指異鍵・同手跳躍・左手縦連はいずれも打ちづらいと思われる同手打鍵だが, これに対して(QWERTY でいうと) kj・df のように, より打ちやすい同手打鍵もある。 ただどのキーがどの程度打ちやすいかがはっきりしないため, ここでは数えなかかった。

各キー位置の使用率詳細は を参照。 (この表は, evalmap.pl と, それを呼びだす testmap.pl を使って作成した。 JPerl では こちら を使用すること)

QWERTY ローマ字入力では, JIS X 6002 カナ入力にくらべて打鍵数が 1.6 倍になった。 漢語の多い文章を入力する場合, 使用頻度の高いキーが右手に偏っているため, 右手の負担がかなり大きくなることがわかる。
また, 母音が a を除いて 3段目に集中しているため, 3段目の打鍵数が多く, しかも 1/2段めと 3段めのキーが交代に出てくる傾向が強いので, 指が激しく上下にいったりきたりすることになるのも問題だ。 (2指の連続の「右右」の多さはそれを物語る)
DVORAK に変えれば左手または右手が連続する場合や 3段目の多用は減るが, 非常によく使う k が母音と同じ左側にあるため, かたより自体はあまりかわらない。 AZIK の DVORAK 版などは k のかわりに c を使うことでこの問題に対処しようとしているようだ。

AZIK は, 右手へのかたより問題にはかなり効果を発揮している。 左手の打鍵数そのものはふつうのローマ字入力とそれほど変らないが, 右手の打鍵数がかなり減っているのがわかる。 ただ, 実際に使ってみると, いつもほとんど使わない p のキーを押すことが多く, 通常のローマ字入力に慣れていると小指が疲れる。

SKY は AZIK よりも少し打鍵数が多いが, QWERTY よりは明かに少なく, かつ 2段めの使用率と交互打鍵率が圧倒的に高い。

タッチ16 とチョイは打鍵数がローマ字より 2割以上多く, JIS X 6002 カナ入力の 2 倍に達しているが, 左左・右右のように連続して同じ指を使う割合がきわめて少ない。 同じ指で違うキーを2回以上打鍵する回数は, ローマ字で 96回に達したのに対し, タッチ16ではわずか9回, チョイは0回だった。
なおタッチ16の打鍵数がチョイより少なくなっているのは, eval.pl がスペースバーの打鍵を勘定していないためで, じっさいの打鍵数はタッチ16の方がすこし多い。

JIS X 6002 カナは右小指を酷使すること, 最上段のキーの使用頻度が高いことがあきらかに問題。 また, キー数が多いわりにシフトキーを多用するのも問題。
これに対し, JIS X 6004 の結果は総打鍵数は同じであるにもかかわらず, いちじるしく改良されている。 しかもシフトの押し下げ回数の増加は驚くほど小さくおさえられている。 JIS X 6004 のシフトはプレフィックス型なので, 「2指の連続」は本来ならばシフトキーも含めて数えなければならないが, この表ではそうなっていない。 しかしそれでも, 同指異鍵・同手跳躍・左手縦連などの難しい打鍵がきわめて少なくなっているのがわかる。
ついでに JIS X 6002 の原型であるカナタイプも調べてみた。 カナタイプでは「せそへけむめぬろ」がシフト側にあるにもかかわらず, シフトの打鍵数は JIS X 6002 と大して変わらない。 右手小指や最上段の使用はやはり多いが, JIS X 6002 よりは少ないし, ホームポジションから極端に離れたキーは使われていないので, かなり楽だろうと思う。

ナラコードは打鍵数こそ少ないが, それ以外は論外。 もともと速く打てるようにはデザインされていないのだから当然かもしれない。

TRON 配列が NICOLA より 4打多いのは, 半濁音(ぱ,ぽ)があるため。 上の表のシフトの欄でかっこに入っているのはクロスシフトの数。 他の方式にくらべて, NICOLA 配列はとびぬけてシフト押し下げ回数が多い。
NICOLA は最下段の打鍵数が極端に少ない。 濁音のつけられる字をすべてシフトなしで入力できるようにするため, 頻度の少ない「ひふへほ」を最下段にもってきたのがその理由だが, 親指をホームポジションに置いたまま最下段のキーを押そうとすると, 手をまるめて打たなければならず, 速く打てないこともあるのかもしれない。
親指シフトの問題はほかにもある。 eval.pl の評価対象には含まれていないが, NICOLA では, 「びりびり」(び=右シフト+x, り=左シフト+e) のように 右シフトと左シフトの字が交互に出てくるとかなり打鍵しづらくなる。

中指NICOLA の打鍵数は AZIK と大差ない。 シフト押し下げ回数の多い NICOLA の悪い面がもろに出てしまっている。 また NICOLA 配列はもともと中指をシフトがわりに使うことなど考慮されていないので, シフト数が多いこととあいまって, 中指を使う頻度が極端に高くなっている。 右小指の打鍵数が多いのもいただけない。

それにくらべると花配列はすぐれている。 シフトキーを中指に移動したため, シフトの問題はまったくなく, ふつうのキーボードがそのまま使えるだけでなく, 打鍵数もローマ字にくらべて明かに少なく, JIS X 6002 の 2割増し程度ですんでいる。 交互打鍵率も仮名入力方式としては高く, 試した中ではもっとも釣合いのとれた優れた入力方式だと思う。 ただし, ほかの方式にくらべて最下段の打鍵数がもっとも多い。 このため, 同手跳躍がほかの方式に比べて多めであるが, 左手縦連のように極端に難しい打鍵は避けられているようだ。


「めくらぶどうと虹」でも大体の傾向は同様だが, よく見ると異なっている点もある。

指の使用頻度
方式打鍵数シフト 左人左中左薬左小 右人右中右薬右小 最下2段め3段め最上
ローマ字4864219226720 640384344824113388560351 875170422841
AZIK 4395209123040 749297355690944726480154 827170718610
SKY 4663226523980 8265254884261054518522304 339332210020
タッチ165664276528990 1212871536146116613304030 0356920950
チョイ 5884261232720 10911044418591221807725519 516364717210
カナタイプ304515381507262 607382314235524199208576 5028961283364
JIS X 6002304514151630334 568349279219488313278551 6008281201416
JIS X 6004304512951750643 527308244216535452446317 63516657450
ナラコード296710761891504 60079129268728442272449 7601025557625
TRON 278114171364722
(280)
569282228338596275312181 816114279132
NICOLA 2769142113481267
(276)
335496397193522277330219 3471300109032
中指NICOLA4216208621300 4251070398193571703330526 350274711190
3733192318100 633668451171518530530232 108916589860
2指の連続
方式打鍵数交互打鍵(率)左左右右同指異鍵同手跳躍左手縦連
ローマ字48642240 (46.1%)107215513177460
AZIK 43952190 (49.8%)99612081945890
SKY 46634209 (90.3%)16029328100
タッチ1656645130 (90.6%)1993344000
チョイ 58845106 (86.8%)59718000
カナタイプ30451798 (59.1%)63960729633352
JIS X 600230451756 (57.7%)53775128836644
JIS X 600430451775 (58.3%)407862229993
ナラコード29671383 (46.6%)38411994755033
TRON 27811596 (57.4%)61956521617216
NICOLA 27691419 (51.3%)7116382221769
中指NICOLA42162565 (60.9%)8038472261324
37332464 (66.0%)6915772662203

各キー位置の使用率詳細は を参照。 よく出てくる文字の並びが日本国憲法とだいぶ違っていることがわかる。

日本国憲法で顕著だったローマ字入力の右手へのかたよりは, こちらではあまり顕著でない。 しかし, そのかわり左手小指の打鍵数が極端に多くなっている。 これはもちろん「a」が大量に出てくるためである。
最上段の 1打は長音符号「ー」がでてくるため。

ここでもやはり AZIK の効果はあるが, 日本国憲法の場合にくらべてさほどはっきりしない。

SKY の打鍵数はこの例ではかなり多い。 もっとも SKY は打鍵数を減らすことよりも交互打鍵を増やすことが目的であるようなので, その意味ではこの例でも成功しているといえる。

タッチ16で右中指の打鍵数が目立って多いのは, やはり「a」が多いため。

カナタイプのシフト数は JIS X 6002 よりもかえって少ない。 右手小指が多いのは句読点を押すため。

JIS X 6004 のシフト数はけっこう多く, TRON 配列のクロスシフトを除いたシフト数より多くなっている。 JIS X 6004 では「ま」を打鍵するときシフトを押す必要であるため, 「です・ます」調ではシフト押し下げ回数がふえてしまうもののようだ。 また漢語に多い「ん・う・く」などの頻度が低くなっていることも大きい。 交互打鍵率も低く, 同指異鍵も多い(ただし中段の打鍵数が多いので同手跳躍は避けられている)。 JIS X 6004 は漢語の多い高校の教科書をデータとして最適化したそうなので, 漢語の少ない文章には弱いのかもしれない。 しかし, NICOLA 配列に較べればいぜんとしてシフトを押す回数は少ない。

TRON 配列や NICOLA で最上段を使っているのは引用符(「」)の入力のためである。

複数カナをまとめて入力するナラコードの特徴は, 漢語の少ない文章ではほとんど効果を発揮しないことがわかる。

花配列はあいかわらずすぐれており, 中指NICOLA はあいかわらずダメだ。


おまけ: 花配列の感想

花配列の結果が思ったよりもよかったので, 実際に使って見た。 設定のしかたは, 花配列を使う に書いたのでそちらを参照。 「し」が「x」のキーに割り当てられているのがちょっと意外で, 「しょ(xq)」が打ちづらい。 「か(s)」ととりかえた方がいいかもしれない。 それ以外は楽に打てそうだ。 中指シフトという考え方のおかげで, 字によって 1打だったり 2打だったりするのも不自然ではないし, ふつうのキーボードで使えるため, ローマ字入力に慣れた人間にも抵抗が少ない。


文字コードの話に戻る