Intersteno2024まとめ
パルキーです。
Intersteno2024オンライン大会に参加したので、結果や感想、課題を今後に向けて残しておこうと思います。
自己紹介
パルキー(@paruki_2_718)です。私は主に毎パソやInterstenoなどの実用タイピングのカテゴリ、様々な練習ソフトのノーミス縛りをメインに活動しています。
毎パソ英文B:5段(2760, 0, 3312)
TW英語:総合XX(ミス1%以内でXS)
TiNノーミス縛り:102.39秒
TW憲法英語ノーミス縛り:Chapter3、Chapter4以外で打ち切り達成
monkeytypeノーミス縛り:141wpm
結果
※ミス列は1以下で青セル、4以上で赤セルにしている
※点数列は本番新記録で青セル、昨年比-100以下で赤セルにしている
公式サイトはこちら
方針
今年も昨年と同様にMSKLCで各言語ごとのキー配列を作成しました。本番は土日に実施し、1日につき最大2~3言語としました。キー配列の類似性から4つのグループに分け、グループ単位で1週間ずつ練習→本番という流れにしました。
第1グループ:ドイツ語、クロアチア語、ハンガリー語、ルーマニア語
第2グループ:イタリア語、フランス語、ポルトガル語、オランダ語
第3グループ:チェコ語、スロバキア語、ポーランド語、スペイン語
第4グループ:フィンランド語、英語、トルコ語、日本語、ロシア語
振り返り
本番後の結果と一言コメントをこちらに残しています。
ミスが少なく安定している
17言語中11言語で本番新記録を出し、ミス数も平均1.82と極力抑えられました。 ハンガリー語, オランダ語には悔いは残るものの、2023年日本語の昨年比-779点といった大失敗が無かったことは評価できるのではないかと思います。
ただ、ミス数が少なく大失敗も無いということは、私の実力でのほぼ理想形に近いスコアであり、長年の課題である入力速度を鍛えなければ、これ以上は上位に立てません。これよりも上位は越えられそうにもない壁が何枚も何枚も立っていますが、少しずつ越えられるようにしていきたいです。(せめて突き離されないように)
改行時の目線移動が遅い
改行時に次の行を認識するまでに時間がかかっています。日本語、英語と違い単語さえ知らない場合、単語ごとではなく文字ごとに意識しなければならないため、行の最後の単語を打ち終えてから次の行の先頭の単語に視線が移動していました。素早く視線移動出来れば詰まらないですが、うまくいかないことも多々あり、遅いときで体感0.5秒くらいは詰まっていました。本番では1言語につき約70行ほど打つので、ここは改善しなければなりません。
行すっ飛ばし、行重複が多い
上の通り、改行時の視線移動が下手なせいで1行すっ飛ばしたり、同じ行を打っていることが何度かありました。改行時にやらかすのは改行に慣れることで改善しそうですが、行の途中で修正し課題文に視線を戻したときに、1行したにあった似たスペルの単語から打ち進めることもあります。実際にフランス語やポーランド語ではこれを2, 3度やらかしています。
本番中に指が冷える
風呂効果を得るため、本番前に20分ほど風呂に入って心身のリラックスと体を温めてから本番を行っています。しかし、緊張と汗のせいか、本番で2分ほど経過してから指が冷えてしまい、終了すると同時に温まるという事態に悩まされました。冬のような指がかじかんで動かないということではなかったので、冷えではないように思います。老化??
日本時間09:00に開始、終了させない
ロシア語の本番を日本時間09:00に始めたところ、カウントダウン後に課題文章が表示されず「応答が長すぎです」とChromeがエラーを吐きました。数分後に、ログアウト、ログインしたところ、正常に本番の実行、結果登録まで出来ましたが、本番前にこういった予期せぬ出来事というのは非常に精神にきます。
後日、何度か日本時間09:00にInterstenoのサイトにアクセスしましたが、現象が再現したため、日本時間09:00(世界標準時間00:00)にサーバ内で何かしらの処理をしてると思われます。今回は課題文章取得時にエラーになりましたが、結果送信時のエラーだとどう対応されるか分かりません。
練習方法
私が練習中に注意したこと、自作の練習環境について書いていきます。PythonやEmacsなど日常では使わないかもしれませんが、参考になれば幸いです。
類似性の高い言語ごとに練習
本番のスケジュールにおいても意識していますが、チェコ語とスロバキア語は配列が似てる、ドイツ語とクロアチア語はYとZを交換、といったように、キー配列が類似している言語ごとに練習しました。ひとつひとつが独立した言語を練習するより互いに相乗効果が期待されます。
トルコ語、ロシア語は定期的に練習
Intersteno参加者全員の統計情報(図4:言語ごとの相関関係)を見てみると、トルコ語やロシア語は他言語との相関係数が小さく、相関関係があるとは言えません。つまり、他の言語を練習していても、トルコ語やロシア語の経験値はあまり溜まらないということです。
一方、英語はトルコ語やロシア語以外の言語(特にイタリア語)と高い相関関係があります。つまり、英語の練習はイタリア語の練習にもなっていると言えます。
もっとも、相関関係以前の話で、ロシア語はキリル文字に慣れないと話にならないし、トルコ語も綴りが他の言語と全然違う感覚があるので、忘れないためにも定期的に練習する必要はあります。
日本語(transliterated)の初見練習
日本語(transliterated)の初見を練習するためには、日本語をローマ字に変換させる必要がありますが、これを手動で行うのは非常に大変です。Pythonを使える環境であればpykakasiパッケージを使って、日本語からローマ字への変換が可能です。漢字変換が正しく行われなかったり区切り箇所が変だったりしますが、そこも含めて初見のローマ字入力対策ということで。。。
1分ごとに文字数、BS数を計測
通常のInterstenoの1分間練習、10分間練習では1分ごとの入力文字数、BS数は計測されません。また、自分でテキストを用意してInterstenoの練習サイトで練習することもできません。フィンランド語やスロバキア語などの文章の種類が少ない言語はここがネックになります。そこで、Emacs上で動く"Intersteno Training mode"を作成しました。
これはテキストファイルを読み込み、文章をすべて打ち終えるまでの1分毎の文字数、BS数を記録するようなモードです。各言語の文章はWikipediaの適当なページを各言語ごとに変換したものを利用しました。
練習記録の中身(サンプル)
左から順に[練習ファイル名],[練習開始時刻],[練習終了時],[累計入力文字-BS数],[累計入力文字-BS数], …
※[累計入力文字-BS数]は練習終了まで1分ごとに出力されます
FI_20240317_1707.txt,2024-03-18 00:15:37,2024-03-18 00:23:14,317-5,607-15,956-17,1086-18,1370-34,1692-39,1997-54,2169-62
FI_20240318_1054.txt,2024-03-18 11:35:01,2024-03-18 11:42:38,336-4,647-13,762-18,1071-34,1366-39,1613-49,1875-55,2059-59
JP_bocchan_1.txt,2024-04-15 14:35:19,2024-04-15 14:42:38,406-2,798-5,1085-6,1398-9,1742-15,2146-24,2566-33,2688-33
JP_bocchan_2.txt,2024-04-18 09:59:49,2024-04-18 10:02:41,431-4,766-24,1071-26
統計情報
今年の参加者や点数に対する情報をグラフ化しました。
言語ごとの参加者数
言語ごとの点数分布
合計点ごとの人数(対数グラフ)
言語ごとの相関関係
参考情報
日本語(transliterated)の初見文章作成
ここでは青空文庫から「坊ちゃん」のzipファイルをダウンロードし、その冒頭部分をローマ字変換するコードを記載します。
※参照元の取り扱い基準に従いましょう
Pythonファイルの中身。ここではmake_transliterated_text.pyとします。
変数 s にローマ字変換したい日本語を入力します。
# coding: utf-8
import re
import pykakasi
s = '''
親譲《おやゆず》りの無鉄砲《むてっぽう》で小供の時から損ばかりしている。小学校に居る時分学校の二階から飛び降りて一週間ほど腰《こし》を抜《ぬ》かした事がある。なぜそんな無闇《むやみ》をしたと聞く人があるかも知れぬ。別段深い理由でもない。新築の二階から首を出していたら、同級生の一人が冗談《じょうだん》に、いくら威張《いば》っても、そこから飛び降りる事は出来まい。弱虫やーい。と囃《はや》したからである。小使《こづかい》に負ぶさって帰って来た時、おやじが大きな眼《め》をして二階ぐらいから飛び降りて腰を抜かす奴《やつ》があるかと云《い》ったから、この次は抜かさずに飛んで見せますと答えた。
親類のものから西洋製のナイフを貰《もら》って奇麗《きれい》な刃《は》を日に翳《かざ》して、友達《ともだち》に見せていたら、一人が光る事は光るが切れそうもないと云った。切れぬ事があるか、何でも切ってみせると受け合った。そんなら君の指を切ってみろと注文したから、何だ指ぐらいこの通りだと右の手の親指の甲《こう》をはすに切り込《こ》んだ。幸《さいわい》ナイフが小さいのと、親指の骨が堅《かた》かったので、今だに親指は手に付いている。しかし創痕《きずあと》は死ぬまで消えぬ。
'''
s = re.sub('\\s', '', s) # 改行, 全角スペース, 半角スペース, タブを削除
s = re.sub('《.*?》', '', s) # 送り仮名を削除
s = re.sub('|', '', s) # ルビの付く文字列の始まりを特定する記号を削除
s = re.sub('[#.*?]', '', s) # 入力者注を削除
kks = pykakasi.kakasi()
print(' '.join([v['hepburn'] for v in kks.convert(s)]))
ローマ字に変換します。
$ python make_transliterated_text.py
oyayuzuri no muteppou de kodomo no toki kara son bakarishiteiru. shougakkou ni iru jibun gakkou no nikai kara tobiori te isshuukan hodo koshi wo nuka shita koto gaaru. nazesonna muyami woshitato kiku nin gaarukamo shire nu. betsudan fukai riyuu demonai. shinchiku no nikai kara kubi wo dashi teitara, doukyuusei no hitori ga joudan ni, ikura ibatsu temo, sokokara tobiori ru koto ha dekima i. yowamushi yaai. to hayashi takaradearu. kozukai ni fu busatte kaetsu te kita toki, oyajiga ooki na me woshite nikai guraikara tobiori te koshi wo nuka su yatsu gaarukato itsu takara, kono tsugi ha nuka sazuni ton de mise masuto kotae ta. shinrui nomonokara seiyou sei no naifu wo moratsu te kirei na ha wo nichi ni ei shite, tomodachi ni mise teitara, hitori ga hikaru koto ha hikaru ga kire soumonaito itsu ta. kire nu koto gaaruka, nande mo kitsu temiseruto uke atsu ta. sonnara kun no yubi wo kitsu temiroto chuumon shitakara, nanda yubi guraikono touri dato migi no teno oyayubi no kabuto wohasuni kiri kon da. sachi naifu ga chiisai noto, oyayubi no hone ga kataka ttanode, ima dani oyayubi ha teni tsui teiru. shikashi kizuato ha shinu made kie nu.
後はローマ字変換された文章をメモ帳などにコピペしてファイル保存することで日本語からローマ字に変換できました。
日本語文章をWikipediaから引用するなら、改行と脚注の番号を削除すれば十分かと思います。
自作Intersteno Training Modeの使い方
これはEmacs上で動くLispで書かれたスクリプトです。ここに公開しておいてアレですが、正直、私の環境でとりあえず動けばいいという気持ちで作っているので、他人に紹介できるほど使い勝手はよくありません。今後改善出来そうな部分として
練習画面の自動スクロール
Interstenoのように時間制限式にする
ミスの個数を記録
ディレクトリの存在確認などのエラー処理
あたりが挙げられます。
また、正誤チェックはEmacsのediffを使うため、Linuxのdiffコマンドが必要です。以下、おおまかな手順です。
Emacsのload-pathの通ったフォルダの中にintersteno_trainer.elを保存。
init.elに (require 'intersteno-trainer nil t) と記載し、Emacsを再起動
M-x intersteno-trainer を実行
ミニバッファに practice: と表示されるので、練習したい文章ファイルを入力
Emacsの画面が上半分に練習文章、下半分に入力する箇所に分割される(Interstenoの練習サイトと類似の構成)
Ctrl-pを入力するとカウントダウンが始まり、カウントダウン後に入力を開始(図5:InterstenoTrainer入力画面参照)
全文章打ち終えたら再度Ctrl-pを入力すると採点される(図6:InterstenoTrainer結果表示参照)