見出し画像

Colemakや大西配列を凌ぐ日英両立配列ができたので比較する

旧onik配列を使用して3ヶ月がたち、1つ疑問に思ったことがある。
「なんでローマ字入力にこだわってるんだっけ?」
日本語を気持ちよく打ちたいなら 薙刀式けいならべ などの優れた配列が既にある。
ああそうだ、私は英語入力と両立したかったんだった。

それを思い出して久々に本腰を入れて英語入力のしやすさを調べたら、散々だった。
日本語向け配列の中では善戦していたものの、uciera-vanilla や MTGAP などの英語向け配列に大差をつけられ敗北した。
これでは安心して自分の配列を使いつづけられない。
慣れてきた配列を手放すのは苦渋の決断だったが、今度こそ安心して使える、日英両立の配列を作ることにした。

結論から言えば、今回比較した13配列の中で最も同じ指の連続使用が少なく、日英のバランスがとれた配列を完成させることが出来た。


打ちやすい配列の評価について

論理配列の評価ができる KLA や KLAnext0.06 といったサイトを見ていたら、distanceや同じ指の連続使用(以下:指連)の評価をかなりテキトーにやっていることに気付いた。具体的には

・指連の回数なのに小数点がでてくる(多分指の強さを人差し指は1.0、小指は0.65とか定義してその逆数を掛けてる。小指に頻度高いキーを置くと同鍵連打だけでも指連の回数がはね上がる)。
・薬指や中指で上段を押す場合と下段を押す場合の労力の差を考慮していない。
など。

それに加え日本語は文章を打つ際に「変換→確定」という作業を膨大な数こなすのに、Enterまでの距離をほとんど評価していない点も気になった。

ゆえにこれらの評価手法を用いる限り、「使いやすい配列」は一向に日の目を浴びない。
なので今回は唯一まともだった KLA-SP での指連の回数と、Heat Map (頻度分布) の二軸で独自に評価していこうと思う。

配列作成において気を付けたポイント
・日英両方において同じ指の連続使用(指連)を避ける
・実際の文章入力で使う Enter や BS を押しやすくする
・薬指の下段や小指の上下段などの押しにくい箇所はなるべく避ける

分析する文字データは
・日本語 → X(旧Twitter)とQuoraから無作為抽出した約15万字
・英語 → KLA-SPのプリセットにある Magna Carta, 1984 Chapter1, Tarzan Of The Apes, Jungle Book の約14.8万字

日本語の文字データのローマ字への変換について
・基本的に打鍵が少ない方(zya, chi, teli ではなく ja, ti, thi)
・ちゃ行→ch
・しゃ行→sh
・じ→zi
・ふ→hu
・文末の「っ」、小文字あ行 → L で小文字化( Xでない)
・ん + な行 や行 あ行 → nn(xnにしてない。それ以外の場合はn)
・「、。」を使うのは意味上の切れ目であるという観点から、「、。」の後に半角スペースを入れて余分な指連カウントを防いでいる。「、。」の前には半角スペースを入れていない。

比べる配列は日本語入力で実力がある、
大西
Tomisuke
Concordia
Astarte
ワカサギ配列
英語入力で実力のある、
uciea-vanilla
poqtea
MTGAP
古株の有名配列である、
Qwerty
Colemak
Dvorak
今回私が作った配列
・onik
・onik-zxcv

全部で13配列。
なお格子配列に合わせて作られた配列もスタッガードに揃えて比較している。
日本語入力の指連スコアに関しては、データの「じ」を zi とした場合、 ji とした場合の両方を分析してスコアのいい方を採用している。

ではさっそく日本語・英語それぞれにおける指連の少なさ Top5 を見ていく。

日本語入力ランキング

5位 uciea-vanilla

指連の回数 7126回
Qwerty比 44.6%

主に左手人差し指の ao で指連を踏んでいるが、適度な傾斜もあるので実際の入力では ao を人→中と打つ最適化が起こると思われる。ゆえにaoの指連の回数(426回)の分、実際の入力ではスコアが良いと考えてよい。

4位 大西

指連の回数 6107回
Qwerty比 38.2%

日本語入力に最適化された配列。右手の中段と下段で清濁隣接しているのが覚えやすくていい。あと母音のアルペジオ打ちやすい(使用経験あり)。

3位 onik-zxcv

指連の回数 5923回
Qwerty比 37.1%

運指は Angle Mod を採用している。あと本来なら右手小指上段で打つキーを薬指担当にしている。感覚的におかしいが経験則的に正しい。

2位 ワカサギ

指連の回数 5746回
Qwerty比 36.0%

ぱっと見ローマ字の指連は iy や iz で踏んでいるが、句読点と記号の処理が上手いため全体の指連が伸びなかった印象。(追記 じはjiと打つことで指連を回避できるが、iza, ize, izo といった文字列で指連を踏むという意味)

1位 onik

指連の回数 5533回
Qwerty比 34.6%

onik-zxcvでも言えたことだが、右手のホームポジションが右に寄っているのでEnterやBSを打ちやすい。こちらの配列ではzxcv固定よりも頻度分布や指連を考慮して作っている。

日本語入力の指連ランキング(Qwerty比%)
1位 onik 5533 (34.6%)
2位 ワカサギ 5746 (36.0%)
3位 onik-zxcv 5923 (37.1%)
4位 大西 6107 (38.2%)
5位 uciea-vanilla 7126 (44.6%)
6位 Colemak 7212 (45.2%)
7位 Astarte 7310 (45.8%)
8位 Tomisuke 7316 (45.8%)
9位 poqtea 7542 (47.2%)
10位 MTGAP 8137 (50.9%)
11位 Concordia 8303 (52.0%)
12位 Dvorak 13821 (86.5%)
13位 Qwerty 15973 (100%)

広い目で見れば Dvorak 以外は大丈夫。


英語入力ランキング

5位 onik-zxcv

指連の回数 5307回
Qwerty比 53.2%

4位 onik

指連の回数 5155回
Qwerty比 51.7%

3位 MTGAP

指連の回数 4993回
Qwerty比 50.1%

2位 uciea-vanilla

指連の回数 4970回
Qwerty比 49.9%

1位 poqtea

指連の回数 4953回
Qwerty比 49.7%

英語入力のランキング
1位 poqtea 4953 (49.7%)
2位 uciea-vanilla 4970 (49.9%)
3位 mtgap 4993 (50.1%)
4位 onik 5155 (51.7%)
5位 onik-zxcv 5307 (53.2%)
6位 Colemak 5387 (54.0%)
7位 Concordia 5531 (55.5%)
8位 ワカサギ 5939 (59.6%)
9位 Dvorak 6458 (64.8%)
10位 Astarte 6744 (67.6%)
11位 大西 7193 (72.2%)
12位 Tomisuke 9513 (95.4%)
13位 Qwerty 9969 (100%)

やはり英語向け配列が強い。日本語向け配列ではあまり見ないが、英語向けでは母音を左手にぎゅっと固めた配置が多い。1〜3位の実力差はほとんどない。

日英両立ランキング

単純に日英の%を1:1で足して調べる。

1位 onik

日→34.6% 英→51.7%  86.4%

2位 onik-zxcv

日→37.1% 英→53.2%  90.3%

3位 uciea-vanilla

日→44.6% 英→49.9%  94.5%

日英両立のランキング
1位 onik 86.4%
2位 onik-zxcv 90.3%
3位 uciea-vanilla 94.5%
4位 ワカサギ 95.5%
5位 poqtea 96.9%
6位 Colemak 99.2%
7位 MTGAP 101.0%
8位 Concordia 107.5%
9位 大西 110.4%
10位 Astarte 113.4%
11位 Tomisuke 141.2%
12位 Dvorak 151.3%
13位 Qwerty 200%

無事に1位2位を取れてよかった。onik配列で日本語1位を取れたので、例えば「日本語入力8割で英語はたまに打つくらい」な人に対してもオススメ出来るのはでかい。ちなみに uciea-vanilla で ao を人→中で最適化した場合でもonikのスコアには及ばない。

-aoとか-auとかは左手人差し指部分の最適化(人→中)を許容した場合。

指連の分析が終わったので次は Top5 配列の Heat Map を見る。


Heat Map(頻度分布)

Heat Map からどの程度打ちやすいのかを判断していく。
なぜKLAの distance スコアではダメかというと、KLAはホームポジションからの距離を測るのみであり、例えば「薬指は上段は押しやすいけど下段は押しにくい」とか「小指はenterなら押せるけど短いから上段に届きにくい」とかを考慮していないためである。

それに加え、本来ホームポジションをきっちり守っているのは打ち始めくらいなもので、一旦打ち始めると人差し指さえもホームポジションに納まっていない人が多い。ならば distance は事実に基づかない「ホームポジションからの距離」などではなく、「指ごとに頻度の重心を求め、その仮想点からの距離×打鍵数」で評価した方がよいと思われる。

ただそれを計算するプログラム書くのは私じゃできないので、ここでは上記の視点を踏まえつつ Top5 の Heat Map を観察していく。

データは日英15万字ずつを合わせた計30万字。頻度を見やすいように英語文章の半角スペースは削除してある。じ→ziのデータで分析しているが、そもそも「じ」が大量にある訳でもないのでどちらでカウントしようがどんぐりの背比べである(Heat Mapにおいては)。

poqtea

Kの遠さはKP入れ替えでカバーできるとして、Yくらいの頻度のキーを小指上段に持ってくるのは個人的に推せない。使うならKP入れ替えマスト。あ、入れ替えると名前がpoqteaからkoqteaになるのか。コックティー、、、ちんちん茶

ワカサギ

ぱっと見の頻度の美しさは1位。一文字飛ばし指連の観点から「~だが」とか打つのつらそうだと思ったけど、データで見ると「d〇g」「g〇d」のペアはかなり少なかったので杞憂でした。「、。」が離れてるのが感覚的に少し嫌だけど、そのくらい。全体的に完成度高い。

uciea-vanilla

小指の使用を嫌悪する初代KLAやKLAnext0.06においてかなり評価が高い。ao でかなりの数指連を踏んでいるが、実際の入力では人→中の最適化が起こりやすい位置なのでそこまで気にしなくていい。Kが遠いのとそこそこ打つ B が薬指下段で押しにくいのがデメリット。また右手人差し指で頻度の高いキーを複数担当しているので「かまど」とか打つときに人差し指があっちこっち移動して大変。タイピング速度が速くなるにつれ、この配列でいう「かまど」などの ”一文字飛ばし指連” の影響が大きくなることは留意したい。


onik-zxcv

他配列と運指が異なることに注意。指の長さ的に中指と薬指は中段~上段に頻度を偏らせるべき、という哲学によって作成。右手人差し指は G の後につながる母音は a が65%以上を占めること、D の後につながる母音は e が半分以上を占めることなどを考慮して打ちやすいように配置。英語でまぁまぁ使う F が遠いこと、日本語で n を三回連打しないといけない時に nnn → xnn で打つという最適化がしにくいこと、ny が少し打ちにくいことが弱点。

onik

他配列と運指が異なることに注意。左手人差し指は英語の指連である sc, sm が最適化しやすいこと、ry, ny などの拗音が打ちやすいことを意識して配置した。xnn の最適化がしやすいように x を右手に逃がし、頻度低いとはいえそこそこ使う z を薬指下段という地獄から救出した。

まとめ

日英まとめた指連スコア
1位 onik 2位 onik-zxcv 3位 uciea-vanilla 4位 ワカサギ 5位 poqtea

Heat Map を見て思ったのは、左手に母音を集めると右手でかなりの子音を捌かなきゃならなくなるという事。ucieaは左手3本の指のみで母音をカバーして左手小指でも子音を担当しているが、それでも右手で捌く子音多いよな感は拭えない。なんで片手で捌く子音が多いとだめかというと、一文字飛ばし指連の問題や押しにくい位置に高頻度なキーを置かざるを得ないという問題がでてくるからである。
一方で母音を左右に分けるとこれらの諸問題を解決できる代わりに、左右交互打鍵が出来なくなる。論理配列はこのようなトレードオフ的側面が強いので、どの配列を使うかは各々の直感と哲学で決めたらよろしい。


あとがき

そもそも打ちやすい配列って何なんでしょうね。
それを決めるためにKLAが補助的ツールとして開発されたのに、いつの間にか「打ちやすい配列」ではなくて「KLAの評価が高い配列」を目指すようになっていました。そのことに途中で気づいてから、本当に打ちやすい配列とは何なのかを考えるようになりました。

評価の仕方でホームポジションからの距離を測るってどうなの?
標準運指って本当に打ちやすいの?
BSって結構使うけど遠いままでいいの?
左右交互打鍵ってどこがいいの?
Qwerty配列でraとnaと打つときでそんなに差あるの?
Qwertyにおける「加速ワード」はどんな打ち方なの?

こんな感じでいろいろなことを考えて、やっとこさ出来上がったのがonik配列です。
スコアを追い求めるのではなく、打ちやすさを追い求めた配列です。

気に入ったらぜひ。

この記事が気に入ったらサポートをしてみませんか?