多言語タイピングにおける朝鮮語/韓国語の強化

2023.12.17(Sun)
文責:dqmaniac

※本稿は、たのんさんが主催するタイパー Advent Calendar 2023に登録しています。2枠目はこちら
※昨日の記事は、orihさんの英語競技タイピングの世界をざっくりと説明です。
※明日の記事は、TK Lab.さんの速度を競わないタイピング勝負のルールを妄想してみるです。



朝鮮語/韓国語のタイピングとは
用語の定義
なぜ朝鮮語/韓国語か
monkeytypeのkoreanで100wpmを目指せ!(2023.5.24〜10.1)
monkeytypeのkorean 1kで100wpmを目指せ!(2023.10.2〜12.24)
monkeytypeのkorean 5kで100wpmを目指せ!(2023.12.25〜2024.2.19)
TypeRacerのKoreanで100wpmを目指せ!(2024.2.20〜5.XX)
参考文献
各種資料
おまけ1:Interstenoに朝鮮語/韓国語が採用されるには?
おまけ2:過去のタイパー Advent Calendar向け記事へのリンク


●朝鮮語/韓国語のタイピングとは

朝鮮語/韓国語のタイピングを始めるには、まず固有の文字であるハングル(가,나,다,라,...)に習熟する必要がある。ハングルは、英語や日本語ローマ字で用いられるラテン文字(a,b,c,...)や、日本語で用いられるひらがな・カタカナ・漢字とは異質な文字である。基本26種類(Shiftを使う文字を含めると33種類)のパーツを2〜4個組み合わせた形で表現され、総数は1万を超える
Unicode一覧表では第0面のAC00〜D7A3に割り振られている)。日本語の五十音との対応については、ハングルノートが分かりやすい。

次に、朝鮮語/韓国語のキーボード配列に習熟する必要がある。上記の性質上、一般的なキーボード上にハングルを1文字1打鍵対応で割り当てる配列は非現実的である。従って、基本26パーツをキーボード上に割り当てて、1文字2〜4打鍵で入力する方法が主流となっている。韓国語の一般的なキーボード配列は、Windows10/11の標準機能に含まれている。[設定]→[時刻と言語]→[言語]→[言語の追加]で韓国語を選択すれば良い。このキーボード配列については、ハングルの入力方法が分かりやすい。なお、他にはローマ字入力もある。だが、ローマ字入力を習得するにはハングルの読み方とローマ字表記との対応の習得が必須であり、初学者にはハードルが高い。

朝鮮語/韓国語タイピングの技能を発揮する場として、TypeRacermonkeytypeがある。Interstenoではまだ採用されていない。英語をはじめとするラテン文字に慣れきっていると、ハングルおよび朝鮮語/韓国語キーボードの壁は高い。例えば、Interstenoの合格条件である「240文字/分以上、かつミス率0.50%以内」を突破するのが意外と難しい。また、約30秒という短期決戦であっても、外国人がTypeRacerやmonkeytypeで100wpmに到達するのは極めて困難である。


●用語の定義

※朝鮮語/韓国語: 「朝鮮語」とは北朝鮮(朝鮮民主主義人民共和国)で用いられている言語、「韓国語」とは韓国(大韓民国)で用いられている言語を指すらしい。とはいえ、筆者の語学力では両者の違いがよく分からない。monkeytypeのkoreanにどちらの言語が採用されているのかも分からない。TypeRacerのKoreanには「한국어, 조선말(韓国語, 朝鮮語)」と併記されている。本稿では、ハングルが15世紀に李氏朝鮮で制定された歴史に鑑み、朝鮮語を先にして「朝鮮語/韓国語」と併記する。但し、筆者が韓国滞在中に触れた言語を指す場合や、Windows10/11の標準機能の韓国語配列で入力できる言語を指す場合には、「韓国語」と記載する。

※ハングル: 朝鮮語/韓国語で使用されている固有の文字の名称。日本語の「ひらがな」「カタカナ」、英語等の「ラテン文字」に相当する。言語の名称ではない。

※Korean/korean: TypeRacerでは「Korean」と先頭大文字、monkeytypeでは「korean」と先頭小文字で記載されている。これは他の言語でも同様である。Koreanは固有名詞であるため、本稿では「Korean」と先頭大文字で記載する。但し、monkeytypeについて述べる時にのみ、「korean」と先頭小文字で記載する。

※通常版/語彙増加版/1k/5k: 本稿ではmonkeytypeのkoreanを「通常版」、korean 1kを「1k」、korean 5kを「5k」と呼称することがある。特にkorean 1k攻略開始後はその傾向が強い。また、1k,5kをまとめて、通常版と対比する意味で「語彙増加版」と呼称することがある。

※英字表記/ローマ字表記: 本稿で「英字表記」とは、Windows10/11の標準機能の韓国語配列でハングルを打鍵した時の文字列をQWERTY配列の英字に置換した文字列を指す。「ローマ字表記」とは、ハングルの発音をローマ字で表現した文字列を指す。例えば[다]の英字表記は[ek]、ローマ字表記は[da]となる。

※wpm: words per minute、即ちワード/分。打鍵速度を表現する一般的な指標の一つ。英字タイピングでは一般的に1ワードを5文字と数えるため、1wpm=5文字/分、100wpm=500文字/分となる。但しmonkeytypeのkoreanのwpm値は、文字単位でなくパーツ単位で計算されている。仮に1分間にハングルを250文字しか打っていなくても、500パーツ打っていれば500文字/分、即ち100wpmとなる。一方、TypeRacerのKoreanのwpm値は、文字単位で計算される。但し打鍵速度を他の言語と比較する際には、係数2.0を掛けて換算される。即ち、朝鮮語/韓国語の50wpmは英語等の100wpmに相当する。


●なぜ朝鮮語/韓国語か

◆韓国と韓国文化への馴染み

筆者は2009年5月に約1カ月間、韓国の水原(수원/スウォン)に滞在したことがある。韓国語学習が目的ではなかったため、コミュニケーションには専ら英語を用いていた。英語が通じにくい場所には、韓国人の友人と一緒に行くことが多かった。済州島(제주도/チェジュド)にある韓国最高峰の
漢拏山(한라산/ハンラサン・ハルラサン)に登頂した時にも、登山口まで友人に送ってもらった。

しかし1カ月も滞在すれば、多かれ少なかれハングルに触れることになる。例えば大長今パークに単独で行ってみたりとか。大長今(대장금/デジャングム/日本語名:宮廷女官チャングムの誓い)には2006年頃にハマりまくり、日本語版・韓国語版(英語字幕)含め少なくとも6周した。従って韓国滞在中に是非とも行きたい場所であった。ハングルを習得してから大長今を改めて見直せば、また楽しめるかもしれない。

また、持参していたノートPCがぶっ壊れたため、現地の量販店で新たなノートPCを購入し、OSを英語化して使用した。元のOSはもちろん韓国語だったため、英語化するとしても言語の設定がどこにあるかすら分からない。何らかの項目を設定する際にも、[はい]か[いいえ]かも分からない。キーボード配列も韓国語仕様であり、慣れないハングルをキーボードを見ながら必死に打ち込んで翻訳サイトを参照したものだ。その過程で、ハングルを分解できることと、パーツの組み合わせでキーボード入力することを知った。まさか14年経過した2023年になってハングルタイピングを本格的に習得することになるとは、当時は考えもしなかった。

◆偉大な先駆者と有用な練習サイトの存在

X(旧Twitter)上で、中村信さんがmonkeytypeのkoreanとkorean 1kで100wpmの達成を報告されていた。筆者より早く、かつ短期間で達成していた。そもそも筆者が朝鮮語/韓国語でノーミス100wpmを目指す絶望的な練習を数カ月にわたり継続できたのは、中村信さんという偉大な先達がその可能性と道筋を示して下さったお陰であり、大変感謝している。

筆者は2023年にまずmonkeytypeで100wpm達成を目標とした。monkeytypeではランダムに並んだ単語を打つ。1回あたりの時間は細かく設定可能であり、筆者は初期値の30秒のままにしている。また、korean(470語)の他に語彙増加版としてkorean 1k(約1,000語)、korean 5k(約5,000語)という難易度の高いバージョンが用意されている。筆者は全種目で順次100wpmを目指している。

一方で、TypeRacerでも100wpm達成を目標とした。TypeRacerでは文章を打つ。1回あたりの時間は概ね30秒〜1分である。

◆難関言語の工数見積もり

さらなる難関言語(ここではアラビア語、タイ語、ヒンディー語等を指す)に将来挑戦する際の工数を見積もっておきたかった。これらの言語に使われる文字には、筆者は全く馴染みが無い。少し調べた限りでは、図形認識すら困難だ。この意味で、ロシア語や朝鮮語/韓国語と比較しても難関言語の習得は極めて困難である。とはいえ、図形認識の段階さえクリアすれば、その先の成長過程はあまり変わらないと予想される(実はこの見通しがまだまだ甘いのかもしれないが)。従って、朝鮮語/韓国語で100wpmを達成する工数を知っておけば、難関言語で100wpmを達成する工数がそれ以上であると想定できる。

具体的には、100wpm到達までには表1に示す幾つかの段階がある。このうち「図形認識の成長」は、ラテン文字のタイピング習得過程にはほぼ無かった。英語のタイピングを始めたのが英語習得の後だったためだ。2015年のInterstenoの多言語対応においても、ロシア語を除けば一部の特殊文字(ドイツ語のß等)や文字装飾に対応するだけで済んだ。ロシア語のタイピング習得時にのみ、図形認識の壁が存在した。だが、気付いた時にはその壁を通り過ぎており、「配列の試行錯誤」の段階に入っていた。ギリシャ語や朝鮮語/韓国語タイピング習得の過程で「図形認識の成長」の段階を改めて実感できた。具体的には、ハングルのパーツとキー配置の関係を叩き込む際に図形認識を活用した。但しㅗ/ㅜ、ㄱ/ㅅ/ㅈ/ㅊの区別は難しく、100wpmに接近してからも苦労した。

【表1: 多言語タイピングの成長過程】

・図形認識の成長
・文字装飾の区別
・配列の試行錯誤
・打鍵高速化過程のプラトー現象
・最後に100wpmを目指して集中練習

もちろん難関言語にはさらなる難関要因が含まれる可能性もある。例えばアラビア語の場合、「右から左に読む」ことが難関要因となり得る。しかし上記の各段階の工数を概ね把握しておくことで、ある程度の見積もりが可能となる。

……

以上、ロシア語と違って趣味に走った理由しかない。Interstenoでは朝鮮語/韓国語が2023年現在採用されていないし、今後採用されるか否かも分からない。朝鮮語/韓国語タイピングで競い合うライバルがいるわけでもない。要するに、朝鮮語/韓国語タイピングはあくまでも自己満足である。とはいえ、己が成長する実感を味わうのは類稀なる快感を伴うものである。


●monkeytypeのkoreanで100wpmを目指せ!(2023.5.24〜10.1)

◆Windows韓国語配列の使用を決定

monkeytypeに出現する単語を抽出し、使用されている文字の種類を調査した。結果は表2の通り。文字種類は日本語のひらがなやカタカナと比較して圧倒的に多い。しかも語彙の増加に伴い増える。この時点で、日本語のJISかなのような1文字を1打鍵で打つという発想はほぼ通用しないことが分かる。

【表2: korean各種目の単語数と文字種類数】

種目単語数文字種類数
korean470316
korean 1k975506
korean 5k4201911

例えば、Microsoft Keyboard Layout Creator(以下MSKLC)で配列を作成するのは事実上不可能だ。使用可能な計46個のキーをデッドキー23個、その他23個に分けたとして、2打鍵で入力可能な文字は23×(23+1)=552種類が限界だ。Shift, Ctrl, 右Altを駆使して使用可能なキーを増やせば、合計1万文字を超えるハングルをすべて表現することも可能かもしれない。しかしShift等を使えば実質的な打鍵数も増えるため、入力効率が悪くなる。また、頻出する文字を1打鍵化した場合、そのキーをデッドキーに使えなくなるため、表現可能な文字の種類が減る。なお、monkeytypeに出現する文字は限られている。これを利用して、例えばkoreanに出現する316種類の文字に限定して配列を考える手はあると思う。だが、korean 1kやkorean 5k、あるいはTypeRacerに移行する際にいちいち配列の拡張が必要であり、効率が悪い。

また、将来は配列を工夫するとしても、頻出するパーツ/文字/シーケンスを知る必要がある。従って、まずはWindowsの韓国語配列である程度訓練すべきと考えた。この方向性は、koreanで100wpmを達成した今となっても、正しかったと断言できる。Windowsの韓国語配列の入力効率は高く、筆者は現時点でこれを上回る配列を思いつかない。

◆出現単語の分析

monkeytypeのkoreanの攻略に際して、表3に示す情報をExcelシートに整理した。もちろん、最初からすべての情報を整理できたわけではない。例えば「HTML表記」「意味」は、日記を書く際に、あるいは難関単語や特徴的な単語が新たに出現する度に少しずつ埋めていった。また、「英字表記」「Shift有無」は、ある程度ハングルへの習熟が進んでからまとめて調査した。「代表的な表音とそれを使う単語の一覧」以降は、他の情報が埋まってから少しずつまとめ始めた。

単語の分析の目的は、単語の暗記だ。例えば、幾つかの苦戦した単語(主に外来語)は、結局英字表記で覚えた。朝鮮語/韓国語に限らず、ある程度の暗記は必須だ。100wpmを達成するには、指の動き云々以前に、100wpmという速度にいかに脳を適応させるかが勝負だ。脳細胞がつながっていないうちはまず打てない。

【表3: Excelシートに整理した情報の一覧】

大項目中項目タイミング
文字の一覧
(316文字)
出現回数/出現割合/打鍵数初期
HTML表記徐々に
単語の一覧
(470単語)
打鍵数/文字数初期
英字表記少し後
意味(日本語/英語。Google翻訳レベル)徐々に
Shift有無少し後
単語の分析代表的な表音とそれを使う単語の一覧/外来語一覧/同義語一覧最後

◆文字・単語の練習

上記のExcelシートを見ながら、koreanに出現する316種類の文字を1つずつ入力した。まずはハングルのパーツとキーボード上の配置を把握するのが目的だ。入力結果はEXACT関数で比較し、FALSEが出力された場合には即座に修正する。当初は、316文字打つだけで約1時間を要した。korean 1k, korean 5kについても、この段階で同様の練習を実施した。

上記の練習を4日こなし、ハングルにある程度慣れた段階で、単語の練習に移行した認識単位を文字から単語に拡大し、monkeytypeの30秒練習で速度を上げるためだ。初期段階では、10単語に1単語程度の割合でミスが出た。まずはこのミスを減らすことを目指した。korean 1k, korean 5kについては全部打つと時間がかかるため、約500語ずつ練習した。その過程で、[〜하다](〜する)という語尾が頻出することに気付いた。英字表記では[〜gkek]であり、打ちやすいのですぐに覚えた。

※単語をExcelで入力する際、最初の1文字を入力した時点で候補が表示されることがある。しかも候補と違う文字を入力しようとすると意図しない入力結果となることがある。この邪魔な事象には日本語と同様、オートコンプリート機能を無効にすることで対応できる。[ファイル]→[その他]→[オプション]→[詳細設定]→[編集オプション]→[オートコンプリートを無効にする]だ。

速度が上がるにつれて、単語の練習は470単語通し練習という名のタイムアタックに変化した。当初は全470語を入力するのに20分もかかったものだ。しかし、6/26に15分を、7/24に10分を切り、最終的に8分03秒まで詰めた。1語あたり1秒切りまであと13秒であり、そこまでは詰めたかった。だが、10/1にkoreanで100wpmを達成してkorean 1kに移行したため、koreanの470語通し練習は一旦終了とした。

また、ミスタッチどころかミスすら、根絶することはできなかった。発生するミスの要因は毎回異なり、対策しても無限もぐら叩きの様相を呈していた。この470単語通し練習でよく出たミスは表4の通りである。

【表4: 470単語通し練習でよく出たミスの一覧】

カテゴリ内容具体例
認識ミスㅇ/ㅁの混同[운동](運動)を[문]
ㅅ/ㅈの混同[술](酒)を[줄](行)
打鍵ミスt/gの混同[관심](興味)を[관힘]
r/fの混同[환경](環境)を[환령]
f/gの混同[이루다](実現する)を[이후다]
その他t/dの混同[새](鳥)を[애](子供)

◆30秒練習

「出現単語の分析」「文字単位・単語単位での練習」と並行して、monkeytypeを用いた30秒練習を5/24から開始した。当初は10wpmにすら満たなかった。「指が動かねえ! 脳が働かねえ!」という感覚を久々に味わった。配列習得時のセオリーとして、キーボードを一切見ずに訓練を続けた。その結果、レア文字以外のキー配置は1週間程度で定着した。ここでも、最初に覚えたのは頻出する[다](英字表記では[ek])だった

その後も他の言語と同様、将来のTypeRacerへの挑戦も視野に入れて、「30秒・ノーミス」という条件下で練習を重ねた。英語で160wpmを出せる筆者にとって、朝鮮語/韓国語で100wpmを目指す際に速度の比重は少ない。速度を求めてミス覚悟で限界まで追い込む必要が無いためだ。それよりも、ミスとそれによるロスを抑えることを重視した。そもそもノーミスが条件である以上、1ミスでもした場合には即Escである。終了間際のミス等により、誤って打ち切って出した記録は、集計時に対象外とする。初期段階や不調な日には、1回打ち切るのに苦労することもよくあった。また、速度が上がるにつれて、ノーミス打ち切りは難しくなる。しかし基本方針は変えなかった。

なお、朝鮮語/韓国語の制限時間は初期設定の30秒とした。TypeRacerやInterstenoを見据えるなら、60秒などより長い設定にした方が良い。しかし、特に初期段階で60秒ノーミスを保つのは至難である。練習効率を勘案し、30秒のままの方が良いと判断した。後で振り返れば、15秒などより短い設定を補助的に採用する手はあったと思う。

朝鮮語/韓国語を含む全体の練習は、1セットを約60分として、平日に1セット、休日に2〜3セット実行した。このうち朝鮮語/韓国語には、各セットの最後の約25分を充てた。残りの35分は「指慣らし(主に英語ベースのプログラミング言語)」「Interstenoの10分間練習(主に中速言語)」「ロシア語」「高速言語」という構成だ。Intersteno以外は、monkeytypeの30秒もしくは60秒練習である。朝鮮語/韓国語を25分に限定したのは、それ以上の練習に脳が耐えられなかったためだ。この25分のうち、最初の10分はロード(読み込み)時間だ。次の15分で記録を狙う。これを終える頃には脳のリソースが慢性的に欠乏し、開幕の数語で確実にミスするようになる。この状態で練習を継続しても、己の肉体と精神を痛めつけて疲労を蓄積させるだけであり、戦略的に何の意味も無い。また、朝鮮語/韓国語に限らず他の言語を練習するのは、「Intersteno対策」「ベース速度の維持」「モチベーションの継続」という意味がある。

◆初期段階の改善策

当初は「図形認識→発音→キー配置」という思考回路で打っており、無駄が多かった。そこで、初期段階のうちに発音の要素を排除し、「図形認識→キー配置」という思考回路に矯正した。なお発音については、後のkorean 1k攻略時に漢字や英語との対応関係を調査する際に役立った。

6月下旬、[ㅠ]を左手人差し指(以下「左人」)で打つよう矯正した。Windows10/11の韓国語キーボード配列では、[ㅠ]が[b]に配置されている。韓国語タイピングでは本来、このキーを右手人差し指(以下「右人」)で打つらしい。そこで当初はこのキーを右人で打つ練習をした。しかし、筆者は日本語や英語において[b]を右人で取る最適化に習熟していない。その結果、速度が上がるにつれて、[ㅠ]を右人で打つ際にミスタッチや迷いが発生し始めた。[ㅠ]を右人で打つ練習を約1カ月継続してきたため、ここで左人に切り替えるのはやや惜しい。だが、このままでは速度・正確性両面で悪影響しかない。結果的に、約1週間でこの矯正は完了した。koreanで[ㅠ]が出現するのは[교육](教育/rydbr), [이유](理由/dldb)の2語のみであるため、対策も容易だ

また、初期段階では誤読に伴うミスが頻発していた。具体的には、[ㅌ],[ㅐ],[ㄴ]をそれぞれ英字の[E],[H],[L]と混同して[ㄷ],[ㅗ],[ㅣ]を打つミスだ。[ㄱ]をカタカナの[フ]と誤読し、しかもそれを[f]に脳内で勝手に変換して[ㄹ]と打つミスもあった。さらに、[ㅋ],[ㅌ]は互いに混同しやすい。これらのミスは、初期段階で意識してほぼ根絶した。

◆苦手単語の洗い出しと対策

6/28に、ミスを誘発する単語や迷いやすい単語をチェックし始めた。目的は、苦手単語で発生するミスやタイムロスを限りなく0に近づけることだ。まずは三大凶悪外来語、即ち[퍼센트](パーセント), [컴퓨터](コンピュータ), [프로그램](プログラム)だ。これらをなかなか打てるようにならないのは、外来語であるが故に、他の単語に出現しないレアな文字、レアなパーツを使用するためだ。monkeytypeのkoreanには、470語が概ね均等に出現すると考えられる。このため、頻出する[〜하다]をすぐに覚える一方で、レアな文字やパーツの習熟はなかなか進まない。そこで、英字表記を暗記することにした。上記の三大外来語の英字表記は順に[vjtpsxm], [zjavbxj], [vmfjrmfoa]となる。ついでに、そこまで苦手でなかった[커피](コーヒー)も[zjvl]で暗記し、得意単語に変えた。

他にも、英字表記で暗記した単語が幾つかある。8月中に、r/t/fの区別に苦戦していた[목소리](声)を[ahrthfl]と暗記した。また、[크다](大きい)を[zmek]と暗記することで、頻発していた[크가]ミスを根絶した。さらに、[기다리다](待つ)を[rlekflek]と暗記することで、慣性に任せて[기다기다]と打つミスを根絶した。

漢字に関連付けて暗記する手もある。[력]では毎回[f],[r]で迷って苦戦した。しかしこの文字は470語中[능력](能力), [노력](努力)にしか含まれない。両者に共通する漢字[力]と関連付けて、[fur]という英字表記ごと暗記した。そもそもハングルは表音文字であり、[단](団体), [자](それ自体), [전](全体)のように同じor似た読みを持つ漢語では同じハングルが使われることがある。こういう事例を少しずつ整理し始めた

紛らわしい単語もExcelで一覧にして暗記した。その最たるものは、[새롭다](新しい)と[어렵다](難しい)。脳と指が混同して[새렵다], [어롭다]と打つミスが頻発していたため、この整理は役立った。

他には表5に示す単語が苦手単語リストに挙がった。470単語通し練習で毎回意識して克服に努めたものの、なかなか成果は挙がらなかった。特に「ㅗ/ㅜの判別が至難」「더に不慣れ」という要因は尾を引き、korean 1kに移行後も悪影響を及ぼし続けた。今振り返れば、苦手単語だけを抽出して集中的に練習すべきだったかもしれない。

【表5: その他の苦手単語一覧】

単語意味英字表記苦手要因克服状況
높다高いshvekㅗが見えない。ㅍに不慣れ。×
좋아하다好きwhgdkgkekㅗが見えない×
작품作品wkrvnaㅜが見えない。ㅍに不慣れ。×
움직이다動くdnawlrdlekㅜが見えない。〜하다と混同×
더욱さらにejdnr더に不慣れ×
형태gudxoㅕ,ㅌに不慣れ
대통령大統領eoxhdfudㅌ,ㅕに不慣れ
만큼ほど/同じくらいakszmaㅋに不慣れ。左殺し
최근最近cnlrmsㅊに不慣れ。mをnとミス
경제経済rudwppをoとミス
가운데真ん中rkdnsep
그대로そのままrmeofhㄷ/ㄹ, o/hを混同
아름답다美しいdkfmaekqeka,qを混同

◆脳の弱さとの闘い

練習が進み、70wpm前後まで成長した頃から、脳の弱さが浮き彫りになってきた。まず、練習開始後の約10分間はノーミスを30秒維持できない。30秒どころか10秒持たないことが大半である。このため、各単語のロードに充てるしかなかった。各単語(最低でも苦手単語全部)の打ち方を思い出して初めて、30秒間ノーミスタッチで打ち切れる可能性が出てくる。この問題に関しては、先述した470単語通し練習も直接的な対策にはならなかった。あくまでもmonkeytypeの画面でのロードが必要だった。

各単語のロードが終了してからも、ノーミスを30秒維持できることは稀だ。30秒も脳を高レベルで働かせ続けることは不可能だ。どんなに簡単な単語でも、脳が働かなければミス爆死だ。例えば表6に示すケースで頭が真っ白になり、稚拙極まりないミスタッチを繰り返す。頻出する[〜하다]でさえもミスが出る。日本語で言えば[か]を[き]とミスするようなものだ。要するに、焦ったりびびったり脳を酷使したりして、集中力が途切れた場合や脳のリソースが尽きた場合に、「先読みが途切れる」「指が勝手に動く、あるいは止まる」といった事象が発生する。このため、大半のケースではミスが出るし、仮にノーミスで突破できても次の単語でまた硬直する。

【表6: 脳が働かなくなるタイミング】

・開幕
・改行直後
・難関単語を突破した直後。特に難関単語が2個以上続いた場合
・加速単語で加速した直後
・順調に打ち続けていることにふと気付いた瞬間
・新記録が出そうだと意識した瞬間
・タイピング画面3行目。特に、最後の最後

この事象に対処するには、根本的には出現単語や出現文字、出現パーツへの習熟度を地道に向上させるしかない。難関と思っていた単語をより少ない脳の負担で打ち抜けることで、脳のリソースが尽きる事態が減少する。ほぼ無意識のうちに指が勝手に単語を打ち抜けられるまでに鍛え上げれば、多少の焦りにも対応できる。しかしそのようなレベルにまで鍛え上げるのは、速度が上がるにつれて難しくなる。筆者は100wpmを達成するまでに表7に示すプロセスを辛抱強く繰り返した。それでも結局4カ月以上を要した。

【表7: 脳死対策の一覧】

・470単語通し練習でベース速度を上げる。
・難関単語を少しずつ克服する。即ち、少し速度を落として自然に突破できるようにする。
・加速単語も少しずつ克服する。即ち、力まず自然に加速できるようにする。
・開幕は大量のEscと運で強引に突破する。難関単語がある場合は、事前に指の動きをイメージしておく。
・開幕ダッシュに続けて1行目を速く打つ練習をする。最終的に、1行目を9秒以内に打てるようにする。
・2行目にX秒、3行目にY秒残っている状況に慣れる。X,Yの値は速度により変わる(最終的にX=21, Y=10)。
・改行を突破できた場合は、2行目、3行目で再加速する練習をする(しかし大抵失敗する)。
・最後の最後については場数を踏むしかない(しかし場数を踏んでもミス爆死は多い)。

この事象がいくら発生しても良いだけの速度を獲得するというアプローチも考えた。例えば100wpmを目指すなら、前半を120wpmで打つ。これにより、2行目に22秒、3行目に12秒残す。そして、3行目で数単語打つ度に0.5秒停止する余裕を持つ。実際には、120wpmを維持できるのは高々5秒だった。とはいえ、最終的には20秒まで110wpm弱を維持できるようになり、30秒練習における100wpm達成の確率が高まった。

◆高速化に伴い新たなパターンのミスが発生

90wpmを突破した頃から、新たなパターンのミスが発生した。まずは先読みした文字を先に打つミスだ。これは英語等の他の言語でも発生する典型的なミスだ。しかし、100wpmに満たない時期から発生するとは想定外だった。

95wpmを突破していよいよ100wpmを狙う段階になると、Shift絡みのミスも出始めた。具体的には、[때문](だから)でShiftが残って[떄]となるミスだ。また、頻出する[〜하다](〜する)で強引に加速を狙って[〜gke k][〜gkke]と入るというミスもあった。挙句の果てには、[방향](方向)を[항뱡]とするミスまで出た。[q],[g]の区別がつかないという、ギリシャ語で頻発したミスだ。ハングルではこの二つのパーツの見分けは容易なはずなのに。

これらのミスについても、一つ一つ原因を考察し、対処する必要があった。基本的には、苦手箇所を素早く認識し、その直前に一拍置くしかない。もちろん悠長に1秒単位で待っている余裕は無い。この一拍を限りなく0秒に近付けていく努力が必要だ。

なお、周辺のキーへのカスリは最後まで少なかった。英語等と違って、カスるほどの速度が出ていないためと推測される。

◆モチベーション維持策

4カ月を超える長期戦になると、モチベーションの維持が欠かせない。記録だけにこだわると、特に終盤戦では長期にわたり更新できない時期が増えるためだ。そこで、表8に示す指標を設定した。ささやかな成功体験を積み重ねることで、成長の実感を味わうとともに、執念と怨念に変換した。

【表8: 成長の実感を味わうための指標の一覧】

指標具体例
〇〇wpm以上を通算△△回出す9/15、95wpm以上を通算5回
9/27、98wpm以上を通算5回
〇〇wpm以上を1セットに複数回出す9/15、1セットに95wpm以上を2回
9/23、1セットに95wpm以上を3回
結果表示画面の「やや遅い単語」が100wpm突破8/16に達成
結果表示画面の「遅い単語」が100wpm突破10/1に達成
100wpmを維持できる時間を伸ばす9/13、20秒まで100wpm維持
9/17、26秒まで100wpm維持
Top10から〇〇wpm未満を駆逐する9/16、94wpm未満を駆逐
9/29、97wpm未満を駆逐
Top100から〇〇wpm未満を駆逐する9/10、86wpm未満を駆逐
9/23、89wpm未満を駆逐
タイピング画面で3行打ち切る達成できず
結果表示画面で2行打ち切る9/16に達成
連続5単語以上で平均〇〇wpm以上の加速を決める9/19、連続5単語で平均161wpm
かつての苦手単語を加速単語に変える9/23、[컴퓨터](コンピュータ)を127wpmで突破

◆100wpm達成

10/1の日記から抜粋する(一部改変)。3行目に8秒しか残せなかった時点で更新はあり得ないと割り切り、無駄なびびりから解放されたのが非常に大きかった。実際には2行目までに「打鍵数が多い文字」が頻出し、1行あたりの打鍵数が多いという運に恵まれていた。

korean、101.17wpm(100%)! 100wpm突破!!!!!

画像はこちら。9/20の記録を1.19wpm更新した。更新できるような単語運では断じて無かった。加速単語は無いし迷いまくりだし。終盤ブチ切れてヤケクソスパートをぶちかましたらたまたま決まった。練習開始から9分と、比較的短時間でケリをつけたのも良かった。5/24以来4カ月以上を要し、90wpm以上を100回出した闘争に勝利!

2行目に19秒、3行目に8秒残した。10秒時点で100wpm、その後は主に99〜100wpmを維持した。20秒時点で101wpmに上昇した。終盤に2回ほど凹むも、その度にスパートして立て直した。序盤[사건 정신]で110wpm, 71wpm, [마을]で112wpm, [오늘 점]で80wpm, 104wpm、中盤[연구]で105wpm, [중심]で95wpm, [자료]で90wpm, [방법]で111wpm、終盤[깊다]で114wpm, [때 자료]で101wpm, 112wpm, [국민]で98wpmと失速した。一方、開幕[네 아들 뿐 나이 차 내용 주장하다]で平均187wpm、序盤[내리다 행동 영화]で151wpm, 122wpm, 146wpm、終盤[중요하다 그러다 역사 중 씨]で平均130wpm、最後[변화 남다]で134wpm, 146wpmと加速を決めた。

◆練習結果

2023年5〜10月の練習結果を図1に示す。131日目(実質129日)、697回目の練習で100wpmを突破した。期間中、打たなかったのは7/17と9/24の二日のみである。即ち、1日あたり約5.40回ノーミスを出した。グラフはそこそこ綺麗な成長曲線を描いた。

100wpm到達前に85wpm以上(ノーミス。以下同様)は185回、90wpm以上は100回、95wpm以上は30回出した。かつてここまで苦戦した言語は、ギリシャ語5kのみだ。

【図1: monkeytypeのkoreanの練習回数と速度の成長】

常にノーミスを出せたわけではない。その陰には、ミス爆死したトライアルや、大硬直して絶望した挙句Escを叩いたトライアルが、monkeytypeでcsv出力できただけで898回もある(1日あたり約6.96回)。図2の青い点はノーミス、赤い点はミス爆死やEscを含むトライアルを示す。最初の数秒でEscを叩いて無効になった(記録されなかった)トライアルも含めれば、さらに大量にあると思う。

【図2: monkeytypeのkoreanの練習回数と速度の成長(ミス爆死等を含む)】

表9に時系列の主な更新履歴を示す。1日あたりの練習回数(即ちノーミス達成回数)は、速度が向上するに伴いむしろ減少した。100wpmを意識してびびりまくり、終盤にミス爆死するケースが激増したためだ。

予想通り、8/9に90wpmを超えてからが本番だった。そこから100wpm達成までに2カ月弱を要した。9/5に95wpmを超えてからも長かった。そして最後に待ち受けるのが、99.98〜99.99wpmと100wpmの間にある高い壁だ。30秒に250文字打っても、小数点以下が不足して100wpmに届かない事象が高確率で発生する。これは、実際のタイム計測が30.01秒以上となっているケースが大半であるためだ。

【表9: monkeytypeのkoreanの主な更新履歴】

日付回数速度(wpm)
5/24(Wed)212.40
5/25(Thu)920.39
5/27(Sat)2930.40
5/31(Wed)5841.59
6/5(Mon)10850.78
6/14(Wed)16160.00
6/28(Wed)24270.80
7/8(Sat)30375.17
7/18(Tue)36083.17

日付回数速度(wpm)
8/3(Thu)44985.99
8/6(Sun)46287.55
8/6(Sun)46487.98
8/9(Wed)47690.33

日付回数速度(wpm)
8/15(Tue)51890.75
8/20(Sun)54093.18
9/2(Sat)58394.77
9/5(Tue)59795.55
9/9(Sat)61396.37
9/16(Sat)64898.75
9/20(Wed)66699.98
10/1(Sun)697101.17

※回数とは、そのトライアルまでの累計のノーミス達成回数。


●monkeytypeのkorean 1kで100wpmを目指せ!(2023.10.2〜12.24)(2023.12.24追記)

korean 1kで100wpmノーミスを達成できるのは天才のみ!

凡人にはあり得ない単語運と大量の時間が必要。少なくとも3カ月程度では絶対に無理!!!!!

……

……

……

……

……

……

……

……

……

……

……

と記載してから1週間、ようやく修羅の道を乗り越えて100wpmを達成したため、追記する。

通常版で100wpmを達成した直後に1kの練習を開始した。このため、1kでは最初から60wpm以上打つことができ、初日に70wpmに到達した。一方、通常版では単語慣れにより攻略できた部分が多かった。このため、単語が増えると70wpm程度しか打てず、これが実力相応の結果だったという見方もできる。1kでは改めて単語慣れ(というよりも頻出文字/シーケンスへの慣れ)を進めるとともに、ハングル自体への慣れが不足していた部分を補うことにより、徐々に100wpmに近づいていった。

基本的には、通常版と同様のアプローチで臨んだ。しかしそれだけでは対応できないところも存在した。ここでは1kで新たに採用した、あるいは新たに判明した内容を記載する。

◆出現単語の分析

1kには975語が出現する。この975語が通常版の470語とどの程度重複するのか調査した。結果は何と
33個のみ。即ち、1kで通常版の成果を使って楽をすることは難しい。通常版で100wpmに届いたのは、単語慣れによる部分が大きい。従って1kでもほぼゼロから単語を暗記する必要がある。この時点で、1〜2カ月で100wpmに到達するのは難しいという見通しを立てた。

また、ハングルの発音をある程度習得し、漢字や英語との関連を調査した。背景として、1kには漢字や英語で表現できる単語が比較的多い。漢字で表現できる単語は約450語、英語に由来する単語も20語以上ある。これらを合わせると、全体の約半分を網羅できる。通常版ではそれぞれ約150語、4語であり、合わせても全体の約1/3に過ぎない。

特に、[名詞+하다]で(〜する)という動詞になる単語が多い。例えば[기대](期待)に[하다]を付けると[기대하다](期待する)になる。同様に、[名詞+되다]で(〜させる/される)という動詞、[名詞+히]で(〜に)という副詞になる性質も利用した。これで似たような単語を関連付けられるし、調べる手間も減る。さらに、[〜하다][〜되다]が頻出するなら、そこで速度を稼ぐこともできる。

また、[체][제][력][계][업][간][방][민][대][속][단]等、共通する文字が用いられる単語を整理した。通常版でも実施した対策だ。漢語由来の単語を漢字とリンクできるため、なかなか有効だ。日本語と異なる例については、朝・日で異なる漢字語を参考にさせて頂いた。以上の調査・分析により、単語の暗記を進めようと試みた。

なお、出現単語も文字も通常版より多いため、調査に時間を要した。例えば、1kに出現する470種の文字のHTML表記の調査を完了したのは12/15だった。また、全975語の意味(英語)の調査を完了したのは12/19だった。英字表記に至っては、初回入力完了が12/20、二度目が12/21、三度目が12/22だった。データの正確性をある程度担保するため、最低でも三度は入力してEXACT関数で比較する必要があった。意味はともかくHTML表記や英字表記に関しては、機械的に処理した方が速かったかもしれない。

[쓰이다](使われる/書かれる)は意味が不明だった。Google翻訳では、日本語で[津田][ツイダ]、英語で[serve][take][write][use]と表示されるためだ。別途Google検索してハングルマスターこの記事を見出し、意味を知ることができた。他にも意味不明な単語が幾つか存在したものの、全部調べきる前に100wpmに届いた。

◆975語通し練習

1kでは単語の数が通常版と比較して倍以上になる。このため、約20分、初期段階ではそれ以上のまとまった時間が必要となった。従って、練習の頻度は低下した。「前半と後半に分ける」「ランダムに並べて先頭の500語を打つ」等、工夫が必要だったかもしれない。

初回挑戦では26分05秒を要した。当初は[ㅠ]や4打鍵文字がとっさに読めず、毎回停止した。まずはこれらの文字に慣れることで、タイムが目に見えて改善された。その後11/22に20分を切り、12/15に19分08秒まで詰めた。だが、それ以上の高速化には至らなかった。1語あたり約1.18秒であり、通常版と比較して14%程度遅い。また、ミスは毎回のように20前後に達した。ミスの傾向は特に無く、通常版で頻出したミスが満遍なく発生した。強いて言えば、「左手範囲の打鍵ミスが比較的多い」「975語のうち終盤にミスが発生しやすい」という傾向が辛うじて読み取れた程度だ。このため、基本的に正確性重視で打ち、ミス数が10台前半に減ってきたら速度を一段上げるようにした。

◆30秒練習

単語数が通常版と比較して倍になるため、練習開始後10分では全単語をロードしきれない。限られた練習時間では、出現単語を思い出すだけで練習の前半が終わる。練習の後半には脳が疲弊していて30秒持たず、99%以上の確率でミス爆死だ。原因は脳の貧弱さにあるため、練習時間を増やせば良いわけでもないし、ゆっくり打っても正確性は上がらない。以上により、ロードが終わらない段階でもノーミスを維持すべく、特にタイピング画面2行目以降では減速が必要となった。

一方、頻出する[〜하다][〜되다]で加速できる。これを通常版で得たベース速度に追加した結果、24日目というそこそこ早い段階で90wpmに到達した。だが、その後は伸び悩んだ。

100wpmを狙う段階では、1セット内の朝鮮語/韓国語に割く時間を25分から30分、35分と増やすこともあった。但し脳が疲弊していない時に限る。

◆苦手単語の洗い出しと対策

表10に1kの苦手単語リストの一部を示す。1kが通常版と異なるのは、出現単語数が多いため、苦手単語を練習する機会が相対的に減ることだ。従って、英字表記による暗記を積極的に採用するとともに、必要に応じて個別に練習した。

【表10: korean 1kの苦手単語リスト】

分類対策具体例
難関外来語英字表記で暗記[텔레비전](テレビ/xpffpqlwjs), [티브이](TV/xlqmdl),
[소프트웨어](ソフトウェア/thvnxndnpdj)
難読語一部を英字表記で暗記[훌륭하다](素晴らしい/gnffbd〜), [괜찮다](大丈夫/rhoscksg〜)
その他4打鍵文字練習量増加[끓이다](沸騰させる/煮込む), [수많다](たくさん)
混同練習量増加[그러므로](従って), [실제로](実際に), [농촌](農村), [라디오](ラジオ)
左殺し練習量増加
英字表記も併用
[평균](平均/vudrbs), [폭력](暴力/vhrfur), [숲](森/tnv),
[박물관](博物館/qkranf〜), [받아들이다](受け入れる/dのみ暗記)

◆脳の弱さとの闘い

通常版と同様、特に95wpm突破後にこの問題には悩まされ続けた。しかも通常版よりも長期化し、なかなか最後の壁を突破できなかった。

◆モチベーション維持策

3カ月近い長期戦になると、モチベーションの維持が欠かせない。記録だけにこだわると、特に終盤戦では長期にわたり更新できない時期が増えるためだ。そこで、表8に示す指標を設定した。ささやかな成功体験を積み重ねることで、成長の実感を味わうとともに、執念と怨念に変換した。

【表8: 成長の実感を味わうための指標の一覧】

指標具体例
〇〇wpm以上を通算△△回出す11/14、95wpm以上を通算2回
11/29、96wpm以上を通算5回
12/20、85wpm以上を通算200回
〇〇wpm以上を1セットに複数回出す11/7、1セットに90wpm以上を2回
11/25、1セットに95wpm以上を3回
結果表示画面の「やや遅い単語」が100wpm突破12/3に達成
結果表示画面の「遅い単語」が100wpm突破
100wpmを維持できる時間を伸ばす11/9、19秒まで100wpm維持
11/15、20秒まで100wpm維持
11/27、28秒まで101wpm維持
12/7、29秒まで101wpm維持
Top10から〇〇wpm未満を駆逐する11/8、90wpm未満を駆逐
11/29、95wpm未満を駆逐
12/11、96wpm未満を駆逐
12/16、97wpm未満を駆逐
Top100から〇〇wpm未満を駆逐する11/20、85wpm未満を駆逐
12/15、90wpm未満を駆逐
12/18、91wpm未満を駆逐
12/24、92wpm未満を駆逐
タイピング画面で3行打ち切る達成できず
結果表示画面で2行打ち切る
連続5単語以上で平均〇〇wpm以上の加速を決める
かつての苦手単語を加速単語に変える

◆korean 1kで100wpm達成

12/24の日記から抜粋する(一部改変)。圧倒的な単語運に恵まれ、要所で加速を決めて気持ち良く打ち抜けた。

korean 1k、102.76wpmノーミス! 100wpm突破!!!!!

画像はこちら。11/27の記録を2.78wpm更新した。100wpmの壁の手前で27日、挑戦開始からトータルで約3カ月を要した死闘にようやく勝利! 結果表示画面で3行目に突入! タイピング画面でも3行ほぼ打ち切り!

練習開始後10分と、比較的短時間でケリをつけた。2行目に21秒、3行目に10秒残した。5秒時点で113wpmまで上げるも、11秒時点で107wpmまで落ちた。13秒以降は102〜104wpmで推移した。終盤落ちかけるも28秒時点で104wpmと立て直し、そこからあまり落とさずゴール。序盤[기구]で105wpm、中盤[미터]で95wpm, [어쨌든]で90wpm, [술]で108wpm, [자동차]で90wpm、終盤[동생]で101wpm, [불구하다]で108wpm, [설명 그만큼 서비스]で78wpm, 104wpm, 103wpm, [번째]で70wpmと失速した。一方、開幕[물건 옮기다 제대로 비 어떠하다 달리다 그룹 규정 상품 종이]で平均127wpm, [기록하다]で130wpm、中盤[늘어나다]で136wpm, [이해]で132wpm, [아기]で151wpm, [비롯하다]で131wpm、終盤[넓다 나아가다]で130wpm, 137wpm, [당연하다 주어지다]で140wpm, 138wpmと要所で加速を決めた。最後[주위]でも129wpmと攻めきった。

◆練習結果

2023年10〜12月にmonkeytypeを用いて練習した結果を図3に示す。84日(実質79日)、327回目の練習で100wpmを突破した。期間中、打たなかったのは10/23, 11/17, 18, 22, 23の五日である。即ち、1日あたり約4.14回ノーミスを出した。グラフはそこそこ綺麗な成長曲線を描いた。

100wpm到達前に85wpm以上(ノーミス。以下同様)は218回、90wpm以上は137回、95wpm以上は47回、98wpm以上は8回出した。かつてここまで苦戦した言語は、朝鮮語/韓国語通常版および、ギリシャ語5kのみだ。ラスト1週間でノーミス打ち切りは25回増えた。98wpm以上を最後の週だけで5回追加した。また、11/27に出した99.98wpm(229回目)は外れ値であり、その後4週間は98wpm以上を出す確率を高めるために必要な期間だったと捉えることもできる。

【図3: monkeytypeのkorean 1kの練習回数と速度の成長】

常にノーミスを出せたわけではない。その陰には、ミス爆死したトライアルや、大硬直して絶望した挙句Escを叩いたトライアルが、monkeytypeでcsv出力できただけで556回もある(1日あたり約7.04回)。図4の青い点はノーミス、赤い点はミス爆死やEscを含むトライアルを示す。最初の数秒でEscを叩いて無効になった(記録されなかった)トライアルも含めれば、さらに大量にあると思う。

【図4: monkeytypeのkorean 1kの練習回数と速度の成長(ミス爆死等を含む)】

また、図3と図4を比較すると、90wpm突破後のミス爆死等が相対的に増加していることが分かる。特に99.98wpm突破後は、図3よりも図4の方が練習回数の割合が多いことが分かる。表11に、主な到達点とその到達時期の比較を示す。100wpmを目前にして焦り、あるいは攻略の難易度が上がったため、ミス爆死の確率が増加したと考えられる。

【表11: 主な到達点とその到達時期の比較】

到達点ノーミスのみミス・Esc含む
90wpm108/327回目、全体の33.0%終了時257/883回目、全体の29.1%終了時
95wpm193/327回目、全体の59.0%終了時477/883回目、全体の54.0%終了時
99.98wpm229/327回目、全体の70.0%終了時569/883回目、全体の64.4%終了時

表12に時系列の主な更新履歴を示す。1日あたりの練習回数(というよりもノーミス達成数)は、速度が向上するに伴いむしろ減少した。100wpmを意識してびびりまくり、終盤にミス爆死するケースが激増したためだ。また、11月後半以降は100wpmを目前にしてプラトー現象に陥り、なかなか壁を越えられなかった。99.98wpmを出してからがなかなか遠く、4週間を要した

【表12: monkeytype 1kの主な更新履歴】

日付回数速度(wpm)
10/2(Mon)473.99
10/3(Tue)974.36
10/5(Thu)1675.58
10/6(Fri)2578.00
10/7(Sat)3180.79

日付回数速度(wpm)
10/8(Sun)3781.17
10/9(Mon)4583.58
10/12(Thu)5887.17
10/16(Mon)7687.57
10/20(Fri)9088.78
10/24(Tue)10689.15
10/25(Wed)10890.75

日付回数速度(wpm)
10/28(Sat)12193.16
11/7(Tue)17293.19
11/9(Thu)18294.36
11/12(Sun)19398.39
11/27(Mon)22999.98
12/24(Sun)327102.76


●monkeytypeのkorean 5kで100wpmを目指せ!(2023.12.25〜2024.2.19)(2024.3.15追記)

1kで100wpmを達成した直後に5kの練習を開始した。1kに頻出したシーケンスがそこそこ出現したため、習熟を活かすことができた。このため、最初から80wpm以上打つことができ、3日目に85wpmを超えた。6日目に90wpmを、11日目に95wpmを突破した。1kでの3カ月にわたる鍛錬は無駄ではなかったようだ。しかしその後は伸び悩んだ。1kまでに出てこないパターンを一つ一つ高速化し、ミス誘発箇所を一つ一つ潰していく作業が再び必要となったためだ。

一般に、語彙が増加するほど難易度が上がる。単語がより長く複雑になるためだ。5kでの100wpm達成までにはまだまだ壁が立ちはだかると想定していた。このため、100wpm達成を焦ることは無かった。終盤の安定性を維持しつつ隙を見て加速をする点に課題があると分析していたため、それに対応する練習を繰り返して実力を地道に高めるつもりだった。ところが、2/19にそのような練習を実施していたところ、たまたま単語運に恵まれ、運良く100wpmを超えた。

基本的には、通常版や1kと同様のアプローチで臨んだ。しかしそれだけでは対応できないところも存在した。ここでは5kで新たに採用した、あるいは新たに判明した内容を記載する。

◆出現単語の分析

5kには4201語が出現する。この4201語が通常版の470語、1kの975語とどの程度重複するのか調査した。結果は、
通常版との重複は67語、1kとの重複は92語のみ。なお、通常版・1k・5kすべてに出現する単語はわずか11語のみだった。しかも、そのうち10語は1文字の単語だった。通常版・1k・5kは、もはや別の言語と考えて良いだろう。また、これだけ数が多いと、単語暗記に頼る攻略法は通用しない。結果的に、最初の1カ月ほどはランダム力を鍛え続ける状況に陥った。

なお、5kに出現する912文字のうち、1kと共通なのは453文字に達した。1kには507文字が出現したため、的中率は89.3%に達する。一方、新たに出現する文字が459文字もある。まずはこれらの暗記が必要だ。なお、通常版と共通なのは302文字だ。通常版には317文字が出現したため、的中率は95.3%だ

各文字のHTML表記や、各単語の漢字/カタカナ表記および意味は、日々の練習記録として日記を執筆する際に地道に進めていった。1/30時点で、漢字/カタカナ表記は約3割、意味は約5割埋まった。この作業が終わる頃には100wpmに到達できるだろうか。と思いきや、2/19の100wpm達成時点で、漢字/カタカナ表記は約4割、意味は約6割しか埋まらなかった。それ以前の問題で、全912文字のうちHTML表記の調査を終えたのは9割弱だった。将来、例えば110wpm、120wpmを目指す際にこれらの調査を再開することはあるだろうか。

各単語の意味の調査に関して、Google翻訳レベルでは心許なくなってきた。「韓→日」と「韓→英」の結果が食い違うことが増えたためだ。そこで、[(単語) 意味]でGoogle検索するようになった。結果はほぼ100%「韓→英」が正しい。例外は英語に無い概念(家族や親類の呼称)等、ごく限られた場合のみ。結果的に、Excelシートの意味の欄はすべて英語で埋めた。朝鮮語/韓国語の習得を本格的に目指すなら、そろそろ辞書を買うべきなのだろう。だが、今回はそれが目的ではない。

新たに気付いた傾向は、[〜적](〜的)という単語が多いことだ。[w],[r]のミスを誘発しやすい文字であり、これにいかに慣れるかがカギか。

通常版や1kでも大活躍した[〜하다][〜되다]は、安定の加速シーケンスだ。ここを打つ時だけは脳を休められる。これらが多い時にスコアが伸びるのはもはや当然だ。亜種として[〜지다]等、幾つかパターンがある。この先では、朝鮮語/韓国語の文法の本格的な習得が必要か。

2/13、Excelシートが約1.6MBまで肥大化したため、機能ごとに分割した。即ち、作業用、解析用、練習用だ。vlookup関数を単語数分入力している部分は肥大化の主な原因であるため、作業用に分離する。作業結果のうち必要な部分のみ、解析用に値のみ貼り付ける。また、文字や単語を入力してEXACT関数で比較する機能は練習用に分離する。例えば「英字表記の欄の再入力」は練習用シートで実施し、誤りを検出した場合のみ解析用シートに反映する。これで解析用シートは約1.0MBにまで抑えられた。

◆4201語通し練習は事実上不可能

通常版や1kと比較しても単語数が桁違いに多いため、通し練習は事実上不可能だった。代わりに、1/25以降、英字表記の欄を埋めるため、全体を通して三度入力した。データの正確性をある程度担保するため、最低でも三度は入力してEXACT関数で比較する必要があった。4201語を1日で打つのは難しいため、約600語ずつ分割して実施した。即ち、約3週間を要した。この対策は、単語慣れに直結した。結果として、1/25以降の成長に寄与した可能性が高い。

例えば、30秒練習で苦戦していた[육]と[욕]がだいぶスムーズに見分けられるようにった。30秒練習だけでなく、こういう基礎訓練も必要ということだ

◆文字サイズを最適値に設定

筆者は8月に購入した九号機(Windows11)のディスプレイ解像度を初期値の1920x1080から1280x720まで下げて使用している。老眼の進行により、初期値のままではとても耐えられなかったためだ。この状態で、Chromeのズーム機能で100%から110%に変更し、monkeytypeを打鍵していた。しかし通常版や1kの段階ですら、4打鍵文字や一部の3打鍵文字の認識に苦労した。5kでは難読文字の出現率が上昇し、認識がネックとなって停止する場面が無視できないレベルにまで増加した。

そこで、12/31からChromeのズーム機能で125%に変更した。筆者の環境ではこの変更により1行当たり文字数は変わらず、改行も増えない。改行時の視点の移動が大きくなるデメリットはあるものの、文字が全体的に見やすくなるメリットの方が大きい。一方、次段階の150%に拡大すると、今度こそ1行当たり文字数が減る。つまり改行が増えるため、かえってマイナスだ。

Chromeのズーム125%でも、区別が難しい文字が存在する。一例は表13の通りだ。実際、1/6の練習では、終盤に[해결되다 통합 늘어지다]が出現した。早速第二者を[통]で決め打ちし、109wpm, 103wpm, 126wpmと加速を決めた。こういうパターンの蓄積がまだまだ足りない。蓄積されるほど判断が必要となり遅くなるものの、対策せずに毎回ミス爆死するよりは遥かに良い。

【表13: 区別が難しい文字とその対策】

区別が難しい文字対策各文字の出現率
[통][틍][퉁][통]を決め打ち
0.26%, 0.00%, 0.01%
[열][옅][열]を決め打ち
0.08%, 0.00%
[쫓][쫒][쫓]を決め打ち
0.03%, 0.00%
[홀][홑][홀]を決め打ち
0.02%, 0.00%
[중][증][종]ズーム125%で対応
0.42%, 0.13%, 0.12%
[농][능]ズーム125%で対応
0.06%, 0.07%

◆苦手単語の洗い出しと対策

1kまでと違い、この対策は意味を為さなかった。母集団が多すぎるためだ。従って、1/24までは、単語運の悪さに抗っても報われないと割り切った。Shiftや紛らわしい単語、外来語が出て崩されたら即Escで良い。凶悪単語や難関単語に耐えて頑張ってもスコア面で報われることはまずあり得ないためだ。但し1/25以降は、30秒持ちこたえる練習を採用したため、ミス爆死しない限りは粘るようにした。

◆脳の弱さとの闘い

2/5以降の最終段階では、1セットに1回は約95wpm以上が出るまで可能な限り粘った。30分粘って出したこともある。

◆モチベーション維持策

2カ月近い長期戦になると、モチベーションの維持が欠かせない。記録だけにこだわると、特に終盤戦では長期にわたり更新できない時期が増えるためだ。そこで、表14に示す指標を設定した。ささやかな成功体験を積み重ねることで、成長の実感を味わうとともに、執念と怨念に変換した。

【表14: 成長の実感を味わうための指標の一覧】

指標具体例
〇〇wpm以上を通算△△回出す1/15、95wpm以上を通算2回
1/27、95wpm以上を通算6回
2/5、95wpm以上を通算9回
〇〇wpm以上を1セットに複数回出す1/9、1セットしかも5分間に90wpmを2回
結果表示画面の「やや遅い単語」が100wpm突破1/14に達成
結果表示画面の「遅い単語」が100wpm突破
100wpmを維持できる時間を伸ばす1/8、19秒まで102wpm維持
1/21、20秒まで101wpm維持
1/23、23秒まで100wpm維持
2/4、27秒まで100wpm維持
Top10から〇〇wpm未満を駆逐する1/9、90wpm未満を駆逐
2/6、95wpm未満を駆逐
2/17、96wpm未満を駆逐
Top100から〇〇wpm未満を駆逐する1/27、85wpm未満を駆逐
2/17、90wpm未満を駆逐
タイピング画面で3行打ち切る達成できず
結果表示画面で2行打ち切る
連続5単語以上で平均〇〇wpm以上の加速を決める
かつての苦手単語を加速単語に変える

◆korean 5kで100wpm達成

2/19の日記から抜粋する(一部改変)。

korean 5k、100.38wpm(100%)! 100wpm突破!!!!!

画像はこちら。13日の記録を1.99wpm更新した。出遅れたため更新を意識してびびらなかったのも幸いした。練習開始後18分粘り、2023/12/25以来55日にわたった闘いにケリをつけた。

2行目に19秒、3行目に9秒残した。出遅れるも中盤以降加速した。10秒時点で96wpmと低迷した。しかし14秒時点で102wpmまで立て直し、20秒まで101〜102wpmを維持した。その後は100〜101wpmで耐えきった! 100wpmに到達できるとは思わなかった。序盤[함부로]で93wpm, [불완전하다 꽉]で102wpm, 69wpm, [현금]で103wpm、中盤[연구원]で102wpm, [손수건]で104wpm、終盤[뛰어들다]で105wpm, [재활용 디자인]で96wpm, 97wpm、最後[밤하(늘)]で84wpmと失速した。一方、序盤[안전하다 산책 거]で152wpm, 111wpm, 139wpm、1語置いて中盤[입사하다 귀하다 (改行)결석 우연히 영상]で平均123wpm, [기뻐하다 묘사하다 퇴직금]で108wpm, 130wpm, 111wpm、終盤[진동 증권 대단하다 연령]で118wpm, 107wpm, 131wpm, 130wpmと加速を決めた。

◆練習結果

2023年12月〜2024年2月にmonkeytypeを用いて練習した結果を図5に示す。55日(実質52日)、203回目の練習で100wpmを突破した。期間中、打たなかったのは1/11, 12, 30の三日である。即ち、1日あたり約3.69回ノーミスを出した。グラフはそこそこ綺麗な成長曲線を描いた。

100wpm到達前に85wpm以上(ノーミス。以下同様)は176回、90wpm以上は111回、95wpm以上は25回、98wpm以上は3回出した。かつてここまで苦戦した言語は、朝鮮語/韓国語通常版、1k、およびギリシャ語5kのみだ。1kの時と違って、最終段階での苦戦が無く、たまたま外れ値が出て100wpmを超えた印象だ。代わりに、95wpmを出してからの足踏みが長かった。

【図5: monkeytypeのkorean 5kの練習回数と速度の成長】

常にノーミスを出せたわけではない。その陰には、ミス爆死したトライアルや、大硬直して絶望した挙句Escを叩いたトライアルが、monkeytypeでcsv出力できただけで388回もある(1日あたり約7.46回)。図6の青い点はノーミス、赤い点はミス爆死やEscを含むトライアルを示す。最初の数秒でEscを叩いて無効になった(記録されなかった)トライアルも含めれば、さらに大量にあると思う。

【図6: monkeytypeのkorean 5kの練習回数と速度の成長(ミス爆死等を含む)】

表15に時系列の主な更新履歴を示す。1日あたりの練習回数(というよりもノーミス達成数)は、速度が向上してもあまり変わらなかった。また、1月には96wpmを目前にしてプラトー現象に陥り、なかなか壁を越えられなかった。1kの時と同様に、終盤まで脳が持たず、文字の認識ができなくなる事象が頻発した。この問題を解決するには、失速を極限まで減らすか、失速を補えるだけの加速をするしかない。1kの時と同様に後者を目指して練習しているうちに、たまたま単語運に恵まれ、前者に限りなく近い形で結果が出た。

【表15: monkeytype 5kの主な更新履歴】

日付回数速度(wpm)
12/27(Wed)1085.60
12/27(Wed)1287.57
12/28(Thu)1788.77
12/30(Sat)2791.20

日付回数速度(wpm)
1/4(Thu)5093.15
1/4(Thu)5295.96

日付回数速度(wpm)
1/25(Thu)11596.36
1/28(Sun)13396.79
2/4(Sun)15297.59
2/8(Thu)16798.37
2/13(Tue)18298.39
2/19(Mon)203100.38


通常版、1k、5kを合わせた練習回数と速度の関係を図7に示す。通常版の最初の100回(主に50wpm未満)は除く。通常版では95wpm以上のエリアの密度が薄い。即ち、単語運に頼っていた部分があった。1kで95wpmを出してからの苦戦を経て、5kでも95wpm以上を出せる実力が培われたと考えている。また、通常版から1kに移行した時のギャップが最も大きかった。5kでは初日に85wpmを超えるなど、移行時のギャップが小さかった。

◆図7: monkeytypeの練習回数と速度の成長


●TypeRacer Koreanで100wpmを目指せ!(2024.2.20〜5.XX)(2024.5.XX追記)

monkeytypeで5kまですべて100wpmを達成したのを機に、TypeRacerでも100wpmを目指すことにした。monkeytypeとの主な違いは、100wpmの定義、そして単語の羅列でなく文章を打つことだ。

monkeytypeでは、文字数でなく打鍵数、即ちパーツの数を測定する。30秒間に250パーツ打ち切れば、概ね500打鍵/分、即ち500cpmとなる。英語等と同様、5cpmを1wpmと換算するため、500cpm=100wpmとなる。一方TypeRacerでは、まず文字数を測定する。但し1文字あたりの打鍵数が一部記号を除いて2打鍵以上となるため、このままでは英語等と比較して不利になる。そこで、TypeRacerのKoreanでは係数2.0を掛けて英語等と比較する。例えば1分間に250文字打ち切れば、250文字/分、即ち250cpmとなる。これを2倍して500cpm(100wpm)と換算する。

TypeRacerでは文章を打つ。朝鮮語/韓国語では英語等と違って、文頭が大文字になることは無い。一方、[.][,]["]['][(][)]といった記号は出現する。Windowsの韓国語配列では、英語配列と同じ位置にこれらの記号が配置されている。また、ごく稀に[…][π]を含む文章がある。前者は例えば[r→右Ctrl→(変換候補表示)→PageDown×2]、後者は[g→右Ctrl→(変換候補表示)→PageUp×2→4]で入力できる。注意点として、[…]の直前に別のハングルがある場合、[右Ctrl]で変換候補を表示させると直前のハングルをベースとした変換候補が表示される。そこで、直前のハングルを[Enter]で確定させ、かつスペースで1文字空けてから[…]を入力する。もしくは、先に[…]を確定させた後、[←]で1文字前に戻って直前のハングルを入力する。

◆TypeRacerを用いた練習

2024年2〜5月にTypeRacerを用いて練習した結果

なお、TypeRacerではmonkeytypeと違って、ノーミスを前提とした練習はしていない。ミスタッチ発生時には基本的にBS後に修正し、先に進む(あまりにもミスタッチが多い場合にはEscだが)。確かに、この修正によるロスは速度に影響する。一方、ノーミスを狙うと速度面で委縮することがある。従って、概ね実質正確性98〜99%を狙いつつ、加速できそうな場所では積極的に加速していた。

◆図8: TypeRacerの練習回数と速度の成長

表16に時系列の主な更新履歴を示す。

◆表16: TypeRacerの主な更新履歴

※回数は、記録を出した時点での総練習回数。その日までの総練習回数とは必ずしも一致しない。
※上記データは
TypeRacer Dataから取得した。


●参考文献

Unicode一覧表
→ハングルのHTML表記を調査する際、Unicode一覧 A000-AFFFUnicode一覧 D000-DFFFを参照しました。また、ハングルのパーツのHTML表記を調査する際、Unicode一覧 1000-1FFFUnicode一覧 3000-3FFFも参照しました。

ハングルノート
→ハングルの基本的な読み方を習得する際、ハングルで名前を書こう!韓国語で「あいうえお表」作っちゃったに記載されている、日本語の五十音表とハングルの対応を参考にさせていただきました。

ハングル練習プリント
→Windows10/11の標準機能の韓国語キーボード配列を習得する際、ハングルの入力方法(タイピング)を参考にさせていただきました。

趙義成の朝鮮語研究室
→monkeytypeのkorean 1kおよびkorean 5k攻略時に、朝・日で異なる漢字語を参考にさせていただきました。また、朝鮮語ビビンパも興味深く拝読しました。他のコンテンツは筆者の学習レベルが追いつかず、読みこなせていません。

Home - instant tools
→出現文字別の分類と集計に文字出現頻度分析ツールを使用しました。このツールは、朝鮮語/韓国語のみならず多言語の解析に、以前から大変役立っています。


●各種資料

出現文字・単語の分析資料
 →monkeytypeのkorean, korean 1k, korean 5kに出現する単語の各種情報を調査・分析した資料。(2024/3/15現在、5kは未完)

練習実績とグラフ
 →monkeytypeのkorean, korean 1k, korean 5kの練習実績を集計し、グラフを描画した資料。


●おまけ1:Interstenoに朝鮮語/韓国語が採用されるには?

大前提として、朝鮮語/韓国語を母国語とする人たちで構成される継続的な組織が必要だ。なぜなら、オンライン大会のみを考慮した場合でも、毎年の本番用文章や、TakiやZAV向けの練習用文章を提供する必要があるからだ。課題文章は日本語の文章を参照すれば分かる通り、政治的・宗教的に中立で、著作権の問題が無く、それなりの語彙を含むある程度知的な内容で、かつ指定された量(10分間練習は約1万字、1分間練習は約1000字)を満たす必要がある。また練習/本番ソフトへの反映に際しては、特殊文字の取り扱い(どんな文字があるか、どの文字を何点にするか)を決定する必要がある。

その上で、Interstenoの組織への働きかけが必要だ。参考までに、2022〜2023年に日本語の係数を2.2607から2.95に変更する際に要した手続きの概要を記載する。朝鮮語/韓国語やその他の言語を新規に採用する際にも、以下に類する手続きが必要になると考えられる。

・日本側の組織(Intersteno Japan。全日本タイピスト連合とは別組織)からの提案
・Intersteno側のScience Committeeでの説明と承認
・Intersteno側のBoardでの説明と承認
・Intersteno側の各種作業(練習/本番ソフトへの反映、公式サイト等での周知)

この係数に関しても考慮が必要だ。1文字打つのに必要な打鍵数は概ね判明しているため、それがベースになるだろうか。

以上、朝鮮語/韓国語をほんの少しかじりかけた程度の外国人が代行するのは無理がある。まずは北朝鮮人/韓国人の協力者を見出すことから始める必要がある。


●おまけ2:過去のタイパー Advent Calendar向け記事へのリンク

筆者が執筆した文章が数年分蓄積してきたため、備忘録を兼ねて以下にまとめておく。その後の状況も記載する。

多言語タイピングにおけるギリシャ語の強化(2022.12.18)
→ギリシャ語の強化は、最難関種目である25kでの100wpm達成をもって一旦終了した。将来TypeRacerでさらなる境地を目指す意思はある。また、Interstenoで採用されるなら本格的な練習を再開する。

多言語部門におけるロシア語の強化(2021.12.12)
→ロシア語の強化は継続している。但し2022〜2023年はmonkeytypeが中心だった。通常版や1kでは語彙が少なくIntersteno対策には力不足であるため、2022年には10kでの練習を中心とした。2023年にはさらに踏み込んで、25kや50kでの練習を採り入れた。375kでは語彙がマニアックすぎてランダム練習に近くなり、かえって対策にならないと判断している。1月以降、TypeRacerやTakiを用いて文章を打つ訓練に戻ろうと考えている。

老化とタイピング(2020.12.6)
→老化は恐ろしいことに着々と進行している。特に平日の在宅勤務終了後には、眠すぎてタイピングをやる気にすらなれない日が多くなった。しかし特にスピード練習は継続的に実施しないと速度がどんどん衰えていく。Interstenoで言えば英語や日本語等、速度を要求される言語を打つ練習を採用していく。

更新したければ走れ! 2019年版(2019.12.15)
更新したければ走れ!(2018.12.16)
→ランニングは継続している。2023年の年間走行距離は2019年以来久々に1000kmを超えた。但し速度は明らかに低下した。2020年4月の在宅勤務開始に伴い、日々の通勤の高速ウォーキングが丸々なくなったのが地味に響いている。また、老化に伴い、スピード練習をやらないとすぐに落ちるし、そもそもスピード練習の負荷に耐えるのが困難になりつつある。
→タイプウェル国語Rは2022年1月30日、タイプウェル英単語は2019年3月3日を最後に打っていない。約30秒で800文字/分(160wpm)かそれ以上を目指す(≒800文字/分を約30秒維持する)打鍵は、monkeytypeの高速言語の攻略とある意味似ている。スピード練習として効果的であることは間違いないため、いずれ再開する予定はある。


タイパー Advent Calendar 2023に戻る
タイパー Advent Calendar 2023(2枠目)へ
トップページに戻る
タイピングページに戻る