前回の記事で、Realforce RC1を使い始めた初日のヒートマップを載せました。あのとき総打鍵数9,173回、Backspaceが2位(9%)でした。

[📦 商品リンク: moshimo-card-aYlh6]

あれから1週間。改めてヒートマップを開いてみたら、Backspaceが堂々の1位になっていました。

正直、ちょっと笑ってしまいました。

1週間の打鍵データ

総打鍵数は110,376回。1日あたり約15,000〜16,000回。AI駆動開発が中心なので、自分でコードをガリガリ書いていた頃に比べると少ないと思います。プロンプトを書いてAIに投げて、その間は別の思考作業をしている時間が多いので。

Realforce RC1のヒートマップ - 1週間後の打鍵データ

トップ10

順位 キー 打鍵数 割合
1 Backspace 9,527 8.6%
2 A 9,386 8.5%
3 O 8,483 7.7%
4 I 7,992 7.2%
5 N 7,110 6.4%
6 Enter 6,362 5.8%
7 U 6,034 5.5%
8 Space 5,704 5.2%
9 T 5,636 5.1%
10 E 5,307 4.8%

Backspaceが1位で9,527回、2位のAが9,386回。その差はわずか141回で、ほぼ拮抗しています。

前回の30分データではAが1位(889回)でBackspaceが2位(835回)でした。つまり、使い始めはAが勝っていたけど、1週間でBackspaceが逆転した。新しいキーボードに慣れてきたはずなのに、Backspaceが増えている。「慣れの問題」だけでは説明できなさそうです。

Backspace 8.6%が意味するもの

英語タイピングの研究データでは、トレーニングを受けたタイピストのエラー修正率は5.9%、未訓練者で6.5%くらいだそうです。自分の8.6%は、まあ高い。

でも、これは単に「タイプミスが多い」だけの話じゃないと思っています。

日本語をローマ字入力で打って、英語も混ぜて使う。この環境には、英語だけのタイピングにはない独自のエラー構造があります。

日本語タイピングの「3層エラー」

英語のタイプミスはシンプルです。指が間違ったキーを押した。それだけ。

日本語はそうじゃない。3つのレイヤーでBackspaceを消費しています。

graph TD
    A[Backspace消費の3層構造] --> B[第1層: 単純なキータッチミス]
    A --> C[第2層: 言語切り替え忘れ]
    A --> D[第3層: 漢字変換ミスの事後修正]
    B --> B1[指が間違ったキーを押す<br/>→ 英語話者にもある]
    C --> C1[英語を打ちたいのにIMEがオン<br/>→ ひらがなが出る<br/>→ 全消しして打ち直し]
    D --> D1[変換候補を確認せず確定<br/>→ 後から読み返して気づく<br/>→ 数単語分を消して再変換]

    style B fill:#e8f5e9
    style C fill:#fff3e0
    style D fill:#fce4ec

第1層は誰にでも起きるミス。指が滑った、隣のキーを押した。これは英語話者にもあります。

第2層は、英語と日本語を切り替えて使う人特有の問題です。英語を打ちたいのにIMEがオンのままで、ひらがなが出てしまう。逆に日本語を打ちたいのに英字がそのまま出る。英語だけの環境には絶対に発生しないタイプのミスです。

第3層が一番厄介です。漢字変換のミス。「橋」と「箸」と「端」みたいに、読みが同じで意味が違う候補がたくさんある。いちいち確認して打っていたらスピードが落ちるので、ある程度は許容して進んでしまいます。で、あとから読み返して気づいて直す。このとき、数文字どころか数単語分をBackspaceで消して打ち直すことになるので、1回のミスあたりのBackspace回数が英語のタイプミスより格段に多くなります。

英語には第2層と第3層がない。日本語のBackspace率が高くなるのは、構造的に当然なんだろうと思います。

ちなみに、この仮説を裏付ける研究データを探してみましたが、「日英バイリンガル入力者のBackspace使用率比較」というピンポイントな研究はまだ見つかりませんでした。日本語タイピングの研究自体が、英語に比べてかなり少ないようです。IMEという複雑なシステムを介するので、何をもって「エラー」とするかの定義自体が難しいのかもしれません。

スペースキーが8位という日本語の特徴

もうひとつ面白かったのが、スペースキーの位置です。全打鍵の5.2%で8位。

英語ではスペースが全キーストロークの10%以上を占めて断トツ1位になるのが普通です。日本語は単語間にスペースを入れないので、ほぼ半分。当たり前ですが、データで見ると改めて印象的です。

そして母音。A(2位)、O(3位)、I(4位)、U(7位)、E(10位)と、母音5つが全部トップ10に入っています。ローマ字入力では子音の後に必ず母音が来るので、母音の出現頻度が英語より格段に高い。英語だと'E'だけが上位に来て他の母音はそこまで目立ちません。

これはまさに「日本語ローマ字入力の指紋」 だと思いました。

IMEをもっと賢くすれば解決するのか?

第3層の「漢字変換ミス」。これ、IMEがもっと賢ければ減るんじゃないか?と思って調べてみました。

ATOK — 文脈理解の老舗

ATOKはAI・ディープラーニング技術を適用した変換エンジンを持っていて、文脈依存の変換精度は現状で一番成熟しています。Google日本語入力やMS IMEが間違えるような変換を正しく処理できるケースがある。

ただ、エンジニアの日常って、コード、コメント、Slack、プロンプト、ドキュメントが入り混じる短文中心のタイピングが多いです。ATOKの文脈理解が活きるのは長い文章を書くときなので、エンジニアだとメリットが限定的かもしれません。逆にGoogle IMEは技術用語や新しいライブラリ名の変換がWeb上のデータを元にしているので、そこは強い。

あとサブスクで年額がかかるのも地味に気になります。Backspaceの打鍵数が少し減る程度のために払う価値があるかという話。

azooKey — ニューラルかな漢字変換

面白い新興勢力がazooKeyです。「Zenzai」というニューラルかな漢字変換エンジンを搭載していて、IPA未踏事業に採択されたプロジェクト。評価実験では、古典的なかな漢字変換エンジン(azooKeyのベースライン)が150問中56問正解だったのに対し、Zenzai搭載後は約100問正解まで精度が上がっています。

ただ、Windows版は現在開発中で安定性の保証がなく、CPUバックエンドだと動作が非常に遅いのでGPU(CUDAかVulkan)が必要。まだ仕事で使えるレベルではないです。macOS版は評判がいいみたいですが。

LLM搭載IMEという夢と現実

根本的に、LLMは日本語予測変換に非常に適しています。ChatGPTに日本語を打てば文脈をちゃんと読んで変換してくれる。

でも問題はそこじゃない。

IMEが要求するのは「常駐・即応答・低負荷」。LLMが持つのは「高負荷・大規模・GPU依存」。ここが根本的にかみ合わない。

応答速度は本当に大事です。 Backspaceを素早く叩いて修正するのは0.1秒以下の話ですが、変換のたびに数百ミリ秒の遅延が入ったら思考が途切れます。入力のストレスが増えるのは本末転倒です。

NPU搭載PCの普及が進めば、ローカルでのニューラルIMEが現実味を帯びてくるかもしれません。でも今じゃない。

現時点の最適解は「Google IME + 高速Backspace」

こうして整理してみると、今の自分のワークフローは意外と最適化されていることに気づきました。

変換精度を上げるよりも、ミス修正のコストを下げるほうがストレスが少ない。Realforceの静電容量無接点方式がそこに効いています。

「ミスを減らす」のではなく「リカバリーの速度を上げる」という戦略。考えてみれば、タイプミスの数よりも「ミスに気づいてから修正完了するまでの速度」のほうが実際の生産性に直結します。

APCで「もっと速いBackspace」を試す

Realforceにはキーごとにアクチュエーションポイントを変えられるAPC(Actuation Point Changer)という機能があります。せっかくヒートマップでデータが取れるので、データ駆動で調整してみることにしました。

デフォルトは2.2mmだった

ここで初めて知ったのですが、デフォルトは0.8mmではなく2.2mmです。RC1は4段階(0.8mm / 1.5mm / 2.2mm / 3.0mm)で、新品の状態では2.2mm。

APCは「キーを押すときの重さ(バネの抵抗感)」を変えるものではありません。キーの重さは0.8mmでも2.2mmでも同じ45g。変わるのは「どの深さまで押したら入力として認識されるか」だけ。

つまり1.5mmに変えると、今までと同じ感触で押し始めるけど、2.2mmまで押し込む前の1.5mm地点で反応するようになる。キーの物理的なフィーリング自体は変わらないので、違和感は思ったより少ないはずです。

まずは一括1.5mmで実験

一気に全部を0.8mmにするのではなく、段階的に攻めます。

RC1はAPC設定を複数パターン保存できるので、デフォルトの2.2mmは残したまま、1.5mmの設定に切り替えて1週間使ってみます。合わなかったらすぐ戻せます。

本当は「Backspaceと母音キーだけ0.8mm、他は2.2mm」みたいなカスタム設定もやりたいのですが、まずはベースラインとして一括変更からスタートします。

1週間後にヒートマップを取って、Backspaceの割合が8.6%からどう変化するか比較する。 エンジニアらしくA/Bテストですね。

次の検証テーマ

1週間後のデータが楽しみです。