けものみち

まったりと、きのむくままに。

10万打鍵すると指への負担はどうなるのか?~タイプウェル基本常用語Rを例に~

今回のタイピング分析記事は、「指の負担」をテーマに簡単な分析を行ってみました。

分析に至った背景

「運指最適化」(あるいは単に「最適化」)と呼ばれるテクニックが、タイパーの間で非常にポピュラーになってきました。 運指最適化とは、簡単に言うと「タイピングの打鍵速度を向上させるために、単語に応じて打ち方や指の運び方を使い分けること」です。いくつか例を書いておきます。

例1: 「ん」+(ア行、ナ行、ヤ行)では、「ん」を打つときに nn か xn か選択できますが、指の負担を減らすために xn を打つ。

例2: 「か」は ca、kaの2通り、「じ」は zi、ji があるが、直前の文字に応じてこれらを使い分ける。 「かんじ」という単語について、打ち方を羅列すると kanji、kannji、canji、...、cannzi といろんなパターンがある。 左右の手に負荷が分散してなおかつ打ちやすいものを選択する一例として canji と打つ。 ここで、ホームポジションの場合、n と j は右手人差し指で打鍵することになるが、n→右手人差し指、j→右手中指、i→右手薬指と置くことで、よりスムーズに打鍵することが可能となる。

一方で、自分自身でもそうですが、この運指最適化は「なんとなくこれが打ちやすい」という経験に頼ったものになっているケースが多いです。

そこで、既存のワードセットを活用して、自分の現在の打鍵がどのようになっているのかを簡単にでも分析することで、どの運指最適化を積極的に採用すべきかについて基準として参考になるものを見つけられたらよいなと考えてみました。

実験の問題設定

実験の内容について説明します。

タイプウェル基本常用語(日本語)のワードセットを利用し、10万打鍵した場合、手にどのような負担がかかるかをシミュレーションしました。 具体的には、タイプウェルの基本ルール同様に400打鍵打ち切りを1セットと定義し、これを250セット繰り返して累計10万打鍵した場合、どのキーを何回打つかを計測しました。

今回の分析を行うにあたり以下の仮定を立てておきます。

運指最適化を全く使用していない

運指最適化のレパートリーは、指を変えるパターン、文字を変えるパターン、あるいはそれらを組み合わせるパターンなど非常に多く、この運指を採用した場合、しなかった場合で逐一比較すると、いきなり問題設定が複雑になり、非常に見通しの悪い分析となってしまいます。 そこで、自分が運指最適化を行っていない場合の分析を行うことで比較基準をつくります。

具体的には、

  • 最も打鍵数が少なくなるように打つ
  • 「か」「く」「こ」はそれぞれ ka、ku、ko 固定
  • 「し」「せ」はそれぞれ si、se 固定
  • 「ふ」は fu 固定
  • 「ん」は nn 固定

としておきます。

ホームポジションを崩していない

f:id:WhiteFox-Lugh:20220212162610p:plain

画像: みんなの運指表(http://unsi.nonip.net/)より引用

ホームポジションとは上図のように、

  • 左手小指: 1、Q、A、Z
  • 左手薬指: 2、W、S、X
  • 左手中指: 3、E、D、C
  • 左手人差し指: 4、5、R、F、V、T、G、B
  • 親指(両方): スペースキー
  • 右手人差し指: 6、7、Y、H、N、U、J、M
  • 右手中指: 8、I、K、,(コンマ)
  • 右手薬指: 9、O、L、.(ピリオド)
  • 右手小指: 0、P、;(セミコロン)、/(スラッシュ)、-(ハイフン)など

と分担する運指のことです。 自分の運指がかなりこれに近いので今回の分析ではこれを採用します。

分析結果

f:id:WhiteFox-Lugh:20220212164446p:plain
図1: 打鍵頻度(箱ひげ図)
f:id:WhiteFox-Lugh:20220212170949p:plain
図2: 累積打鍵回数

まず、400文字、250セット行った時の各アルファベット、スペースキー、ハイフンの打鍵頻度は図1のようになりました。 各キーについて250回分データがあるので、箱ひげ図としてプロットしてあります。

累積打鍵回数にしたものが図2です。

スペースキー(一番左の箱ひげ図)がそこそこの頻度なのはタイプウェルの仕様上まあ自明かなとは思えます(ちなみにスペースキーの回数でだいたい何単語打たされているかがわかります)。

日本語を打っているので a、i、u、e、o の頻度がそれなりにあるのですが、e の頻度がほかの母音に比べて低いでしょうか。

子音に着目すると、k、n、r、s、t あたりが多いですね。 運指最適化をしていない状態であることを考えると、この辺の打鍵頻度が高い子音については運指の考察をしたほうが良いかなと思います。

f:id:WhiteFox-Lugh:20220212171419p:plain
図3: 左右の手の打鍵負担割合

図3 はホームポジションで10万打鍵打った場合、どちらの手でどれだけ打つかの割合を円グラフにしたものです。スペースキーは左右に分類が不可能だったのでカウントしていません。

左手が 37,790 打鍵、右手が 48,949 打鍵となり、やや右手のほうが負担が大きいという結果になりました。 しかし、左手の母音が a と e、右手の母音が i と u と o となっていることや、母音の打鍵数が支配的になっていそうな気がします。

そこで、子音とハイフンのみの場合も出してみました。

f:id:WhiteFox-Lugh:20220212171900p:plain
図4: 左右の手の打鍵負担割合(子音とハイフンのみ)

子音とハイフンのみだと、左手が 21,747 打鍵、右手が 21,590 打鍵となり、ほぼ同じなんですね。

今回計測に含めたものだと、左手が Z、W、S、D、R、F、T、G、Bの9種類、 右手が Y、H、N、J、M、K、P、ハイフンの8種類で種類数には差はありませんが、 図2の累積打鍵数を見てもそれなりに打鍵数に差があるので意外と非自明な結果に思えます。

最後に、指ごとの打鍵数を表してみます。

f:id:WhiteFox-Lugh:20220212172847p:plain

ピアノ運指の番号にならって、左手小指(L5)、左手薬指(L4)、左手中指(L3)、左手人差し指(L2)、親指(1)、 右手人差し指(R2)、右手中指(R3)、右手薬指(R4)、右手小指(R5) とつけました。

右手人差し指の負担が大きいでしょうか。

タイプウェルではコンマやアラビア数字が出てこないので、右手中指が i と k だけで他の指よりも打鍵数が多いのもなかなか面白い結果になっているように感じます。

future work 集

やるとしたら、という感じの future work なんですけど、正直実装コスト的な話であまりやる気になってない問題たちです。

今回の分析では、複数入力パターンがある場合を一切考慮していませんが、これについても考察していく必要がありそうですね。 ただし、ルールベースで「この単語の時はこっち」「この場合はあっち」「例外としてこの時はこれ」という風に羅列していくと非常に分析が難しくなってしまいます。

(「じゅ」で zyu と打つパターンと ju と打つパターンとかやりだすともう例外まみれになって実装したくなくなりますね...。確率的なモデルとか用いるとその辺うまく処理できそうな気がしますが、あんまりいいものが思いつきません)

今回の実験では、打鍵数のみに着目しているので、単語のまとまり、前後のつながりなどは全く考慮していません。

また、タイプウェル基本常用語(日本語)を用いた分析結果であるため、ほかのワードセットの場合、全く異なる結果が出る可能性が大いにあります。特に、ランダムな文字列を打つようなタイピング練習ソフト、サイトでは、ほとんど役に立たない結果になると思われます。 ほかのワードセットやコーパスで試してみたい方は頑張ってください。

(とはいえ、タイプウェルのファンはいまだにそこそこいるので、伸び悩んでいる人へいいデータを提供したとも言えそうな気がしますね)

まとめ

せっかくの3連休を有効活用したいとのことで、アイデア出し、実験、ブログ執筆まで6時間程度で雑に自由研究をしてみました。

本記事では、タイプウェル基本常用語を10万打鍵打つとどの指(手)にどれくらい負担がかかるのかを算出しました。 結果の解釈は人それぞれになると思いますが、タイプウェルの攻略や、運指最適化の一指標としてこのデータを活用していただければなと思います。