毎パソで成功する確率を上げるための考察と工夫
本記事は、タイパー Advent Calendar 2022 の12月2日の記事となります。
12月1日の記事は、たのんさんの「e-typing英語腕試しを攻略!」が公開されています。
12月3日はおかぴらさんの「10年ぶりにタイピングしたら全一になった話」が公開されています。
まえがきと毎パソの経歴
毎日パソコン入力コンクール(通称:毎パソ)とは、文部科学省後援事業のタイピングの大会になります。様々な部門があるのですが、基本的にはタッチタイピングの正確さと速さを競う大会となっており、日本全国からたくさんのタイピストが参加する大会となっています。
筆者が毎パソに現役で参加していたのは小学4年生~高校2年の時で、この記事を書く10年前のことになります。 参加していた部門は、小学4年生~中学2年は第5部和文部門、中学3年~高校2年は英文部門がメインです。全国大会出場は常連で、和文では最高2位、英文では中学3年で英文A部門初出場で初見文章ノーミスで全国優勝し、文部科学大臣賞を受賞しております。
今回は、私が毎パソに参加していた時から10年以上経った今でも、毎パソで良い成績を残すためのヒントをいくつか書き残しておこうと思います。
以下に書くことは2022年の私が考えていたことではなく、英文A部門で全国優勝した中学3年生のときまで試行錯誤していた内容がほとんどです。 つまり、この記事は、どうやったら毎パソの一発勝負で成功できるか?を小中学生の当時のぼくがやっていたことを思い出して今書いているという感じになります。一部は全国大会で勝つために特化した対策も含まれていますが、できる限りどのタイピングレベルの人でも応用できるように配慮して書いたつもりです。
コロナ禍で大きくルールが変わってしまった全国大会については自分が把握しきれていない部分が大きく、ここについてはあまり深く書きません。 特に「課題文が初見」「課題文が紙に印刷されている」あたりは全国大会がここ数年オンサイトで開催されていないため、なくなってしまったと思います。
ちなみにですが、第10回~第18回(2010~2018年度)の全国大会の英文A部門でノーミスを達成しているのは、のべ70人中5人のみで、その5人のうち3人が優勝です。さらにその3人の中の1人が私です。もちろん年度によってレベル差はあるものの、全国大会の緊張した空気、課題文章が紙に印刷されていて見づらい上に初見文章という条件の中、ノーミスで優勝がいかに難しいかはある程度理解できるかと思います。
速さより正確さを磨くべき
速さを上げる、というのはみんな当たり前のように練習してきます。速いほど上位に行きやすい、というのは、小学生低学年の方でも直感的に理解できるはずです。
一方、正確さの重要性についてはあまり認識されていない可能性が高い気がします。 しかし、毎パソの大会方式やルールなどから考えると、速さよりも重要な要素だと考えています。
以下にその根拠を列挙します。主観的な意見だと納得しづらい部分もあると思うので、極力事実ベースです。
また、ここでいう「正確さが高い」は「打鍵でのミスが少ない」という意味と「入力した文章の文字に誤字・脱字・余字といった文字の誤りが少ない」という意味の二つが混在している点に留意してください。
級位認定にそう書いてある
毎パソの級位認定のページを読んでみましょう。ページの最初のほうに、
入力文字数がどんなに多くても、ミスカウント規定に該当する場合は、10級-B以下の認定となります。
という記述があります。ミスカウント規定とは「ミスカウント規定 (第I類 パソコン入力)」に書いてあり、以下の通りです。
正確な入力の奨励を目的として、ミスカウントに関する規定を設けます。
下記の表の「ミスカウント数」に該当した場合、以下のようになります。
1.全国大会への出場権は得られません
2.級認定は10級-B以下になります
3.ランキングには入りません
第3部~第6部の英文・和文部門では、競技時間5分でミスカウント数が「9文字以上」の場合「ミスカウント規定」が適用されます。
冒頭に「正確な入力の奨励を目的として」と明確に書いてあります。こんなにしっかりはっきり書いてあるんですよ。
ミスカウント規定に該当する場合のペナルティはかなり大きく、短く言えば「失格」と捉えてよいでしょう。
特別点について
再び級位認定のページですが、今度は「特別点について (第I類 パソコン入力)」を読んでみましょう。
より正確な入力を奨励するためにミスカウントの少ない場合は、下記の特別点を設けます。(小数点以下は、切り上げ)
級位認定にも「正確な入力の奨励」と書いてあったのに、ここにさらに「より正確な入力を奨励するため」とはっきり書いてあります。書いてあるんですよ。読んでいなかった方は反省してくださいね...?
とはいっても、実際ミス1文字でどれくらい特別点が減ることになるのでしょうか?得点計算式に当てはめて計算してみましょう。 特別点は「正解数の $N$ %」という書き方をしており、 $N$ の値が1文字ミス増えるごとに5ずつ減少していきます。 例えば、競技終了時に500文字打てている人であれば、
- 0ミス : $500 - 0 + \lceil 500 \times 0.20 \rceil = 600$
- 1ミス : $500 - 1 + \lceil 499 \times 0.15 \rceil = 574$ (0ミスから -26点)
- 2ミス : $500 - 2 + \lceil 498 \times 0.10 \rceil = 548$ (0ミスから -52点)
- 3ミス : $500 - 3 + \lceil 497 \times 0.05 \rceil = 522$ (0ミスから -78点)
- 得点計算は(正解文字数) - (不正解文字数) + (特別点{小数点以下切り上げ})
- $\lceil x \rceil$ は $x$ 以上の最小の整数で、つまり小数点以下切り上げを表す
となります。和文だと競技終了時1000文字打てている人とかもいるので、上記の計算を2倍した数値、英文だと全国出場者だと2000文字とか優に超えてくるので、上記の計算の4倍ほど減点が大きくなります。
「それよりも、タイピングの速さでカバーすればいいのでは?」と考える方もいるかと思いますが、やめるべきです。特別点の5%というのは、競技時間が5分の場合、300秒の5%、つまり15秒で正確に入力できる文字数におおよそ相当します。1文字ミスすると15秒分の努力が無駄になります。
一発勝負
e-typing やタイプウェルといった練習ソフト・サイトなどはたくさん練習して1回でもハイスコアが出ればいい競技で、ハイスコアが評価されやすいゲーム性となっています。
一方、毎パソについては、予選・全国大会どちらに関しても、どれだけ練習しようが本番一発勝負で決まる仕組みです。 簡潔に言えば、上振れを引きに行くのではなく、いかに下振れせず安定したパフォーマンスを出せるか、緊張した環境下でいかに失敗しないかが重要なのです。
速さと正確さはトレードオフの関係にあります。安定したパフォーマンスのためには速さを多少落としても正確さに振ったほうがよいでしょう。
感覚としては入学試験に近いですね。入試でヤマを張る人、いませんよね?
打ち直しロスを減らせる
間違って打った場合、BackSpace を押して文字を消すとか、該当する箇所まで戻って消して打ち直すといった修正に時間を取られることになります。BackSpace 打ち直しのロスは短めに見積もっても1秒弱はかかるでしょう。この修正にかかる時間を減らすことがカギです。
順位が重要だから(全国大会出場者向け)
大学生や社会人になってからでも、練習次第で十分タイピングの技能は伸びます。得点狙いをするのであれば一般部門でも十分です。
一方、全国大会は出場回数が限られています。全国大会出場資格がある高校生以下の方にとって大きな問題となるのは、点数より順位でしょう。
全国大会で1位と2位の差が500点差とかあると、外野の方々は「今年の1位の人強すぎ」などと盛り上がるかと思われます。 一方、出場者目線だと、1点差でもいいので上の順位に立てればよいと思います。
仮にあなたが全国大会に出場するとして、圧倒的大差で優勝して伝説になりたいといった勝利へのこだわりや、テレビなどのメディア露出を目指したいといった承認欲求があるのであれば別ですが、本当にそうするべきでしょうか?周りの実力や自分の癖を分析して、できるだけリスクを減らして戦略的に勝利するのも一つの勝ち方だと私は思います。
タイピング以外でもそうですが、SNS を使って人を観察していると、他者から良く見られたい、思われたいと、他者の評価ベースで生きている人が多すぎる気がします。全国出場者だと外野からいろいろ言われることもあると思いますし、私も「これくらいのスコア余裕で俺も出せるじゃん?」などの書き込みをされているのを見かけて落ち込んだことがあります。 しかし、同じ土俵に立って同じ条件(環境・年齢・機材・課題文・ルール etc...)で同じ時間帯に戦っていない時点でそのようなことを言う資格はないのだ、と強い気持ちをもっていれば恐れることはないです。相手の気持ちを考えられない他者の言葉など真に受ける必要はありません。大切なのは、自分で立てた目標に向かって、自分が満足できる努力をしたかどうか、結果に自分が満足しているかどうかだと思うんです。
勝算の見積もり
ここまでは正確さがなぜ重要かを書きました。
以上のことから、私が現役で参加していた時に立てていた基本方針は以下のようになります。
- ミスカウント規定が固定文字数だしミスが得点に大きく響くので本番でミス0を出す確率を高める
- 打てば打つほどミスのリスクも失格のリスクも上がる
- ミス0でボーナス点、というより1ミスでもしたら順位に大きく響く、という考え方
- 一方で、今出せる実力で狙える順位より上を狙うには、それなりのリスクを負わないといけない
- 目標とする順位に必要な文字数はどれくらいか見積もっておく
- 文字数がだいたい見積れれば適切な打鍵の速さも見積もれる
- 課題文の難易度的なことは考えず、文字数ベースで考える(定量的な指標が大事)
- 部門ごとに語彙のレベルや課題文の中身自体の理解しやすさはある程度制御されているため
- 課題文が「易しい」「難しい」というのは課題文の内容自体に対して領域知識があるとかでも変わってきて割と主観的
- タイピングの練習だけではカバーしきれない部分もあるので、いろんな観点で毎パソで勝つ確率を上げるための分析をする
目標とする順位に必要な文字数はどれくらいか見積もっておくについては、過去のランキングを見ながら探ればよいでしょう。 雑な例ですが、目標が10位で、10位前後の人のスコアがおおよそ600~650の間に収まっているのであれば、ノーミスでこのスコアを出すには1.2で割っておよそ500~540文字打てばよいことがわかります。
ミス0をほぼ確実に出せる文字数や速さと、実際に目指したい順位に大きな乖離がある場合は、目標が高すぎる可能性が高いです。 逆に言うとここで「これなら可能性はある」と思えるのなら、練習次第で十分解決できると言えるでしょう。
勝率を上げるために
ここからは、勝率を上げるために自分がやっていた工夫を列挙します。すぐに役立つものから、長期的に訓練しないと身につかないものまでありますが、試してみる価値は十分あると思います。
5分間正確さを維持できる打鍵速度を把握する
基本的ですが、中距離走のイメージです。最初から最後まで安定して正確さを出せるスピードで打ってください。
途中でミスをして遅れが出ていても、ペースをむやみに上げるといったことは非推奨です。 ペースを無理に上げた結果、打鍵ミス、変換ミスが増えて逆にペースダウンするといった悪循環に陥る可能性が高いです。
ミスタイプをあまりしない速度で打つと、入力しなおしによるタイムロスが減らせます。
毎パソはミスタイプしても間違いを競技中に教えてくれないため、ミスタイプを根本的に減らすことが勝率を上げる第一歩です。
ペース配分をきちんとするだけなので、即効性はそれなりにあると思います。人によっては一時的にスコアが落ちるといったことも起きると思いますが、下振れを引かないようにするための工夫なので、長期的に見れば勝率は上がると考えられます。
ラストは何もしない
毎パソの和文・英文部門では、間違っても最後の数秒で追い込みをしないでください。追い込みでミスを埋め込んだ場合、取り返しのつかないことになります。 競技終了5秒前までには確実に未変換の文章は無いようにして、最後は何もしないでください。
語彙力を増やす
語彙の多さは以下の理由で武器になります。
- 知っている単語と知らない単語では認識のしやすさに違いが出る(チャンクで認識できるようになる)
- 同音異義語で変換ミスをしづらくなる
- 例えば「変換」「返還」、「保障」「保証」「補償」
- 似た音の語彙を無意識にミスしてしまうことが減る
- 「しく」「ひく」
- 変換にバリエーションができる
- 「市場」→「しじょう」「いちば」、「市場価値」などであれば「しじょう」で出るけど、「市場」単独だと「史上」「試乗」など同音異義語があるので「いちば」と打ったほうがすぐ出てくるし誤変換リスクが減らせる、といったことが考えられるようになる
- 英語であればスペルミスにすぐ気づけるようになる
短期的に獲得しにくいスキルですし、タイピングに直接結び付きにくいですが、普段から本を読むといった活動に取り組みましょう。
目線を行き来する回数を減らす
タッチタイピング(キーボードを見ずにタイピングをすること)ができていない状態はかなり不利になります。タッチタイピングは最低限習得してください。 なぜなら、入力した文章と、課題文章が一致しているかを確認する必要があるのに、そこにキーボードを見ている時間が加われば、見る箇所が増えてしまいロスにつながりやすいです。
和文・英文部門であれば、画面上部に課題文章、画面下部に入力文章となっているので、基本は課題文を見るのがおススメです。和文の変換時や、ある程度の長さを打った時、ミスタイプしたかなと感じた時に、課題文章と入力文章を比較すると、目線の上下移動が減ります。
英文であれば、変換がないので、指の感覚でミスタイプしたかなと感じた時以外は課題文を見ているくらいでも構いません。その場合は、文頭や固有名詞の大文字、数字、アポストロフィあたりのミスに注意してください。
変な練習方法ですが、毎パソに限らず、入力画面を隠したり、目をつむったままでタイピングしても、ひらがな or アルファベットでどんな文字が打たれているかわかる状態になっていると、直感的にミスしたかどうかも判断しやすくなりますし、目線の移動も減らせて一石二鳥です(変換についてはIMEの変換順序とかもあるのでさすがに入力画面を隠したり目をつむったまま打ったりといったことは不要です)。
文字のズレを認識する
簡易チェックとして今打っている文字とその1行上の文字が、課題文と入力文章で一致しているかをこまめに確認するとよいです。句読点と別の文字でチェックするのがおすすめです。 上の画像のように、「、」の上に来ている文字が課題文章と入力文章で違うと、今打っている文章の手前で何かミスがあると考えられます。この場合は、1文字少ないとわかりますね。 句読点を選ぶ理由は、文字が等幅であり、句読点は比較的空白の割合が大きいので認識・比較がしやすいからです。
一方、この方法だと、オレンジ枠で囲っているような同音異義語のミスは検出できません。
英文の場合も同様ですが、英文は文字の横幅がおおよそ半分なので和文より検知しづらいと思います。
英文の場合、余分な文字、脱字があるとこのように語がまるごとずれることがあるのでその場合は確実に間違っていることがわかりますが、このようなケースは結構少ないです。 基本は文字のズレがないかこまめに確認しつつ、指の感覚でタイポしてないかわかるようになることが大事です。
英文でも、冒頭の m を余分に打ったみたいなミスはどうにかなることもありますが、大文字小文字のタイプミスや、 from を form と打ってしまうといった文字数が同じだけど違うみたいなミスは検出できません。
その他
予選・全国大会共通で役立ちそうな工夫は以下の通りです。
- 緊張をほぐす自分なりの方法を編み出す
- 個人的には本番の最初30秒だけしっかり集中してペースをつかんでよかったらゆっくり息を吐くみたいなことをしていた
- 大会前に練習しすぎない
- 指が動かなくなるかもしれない
全国大会がもしオンラインではなく会場で開催されることになった場合は以下のことに気を付けるとよさそうです。
- 全国大会の時期は11月下旬~12月なので気温によっては手が冷えてしまう恐れがある。カイロや温かい飲み物、手袋など、指を冷やさない対策をしておくとよい
- 課題文が紙に印刷されている場合、紙をめくるときにスタンドから課題文を落とさない。めくった後も固定されているか確認
- 課題文がエアコンの風で動いて落ちたケースとか見かけました
- 課題文が紙に印刷されている場合、他の人の紙をめくる音が聞こえてきても気にしない
- 会場が静かなので、気になる人は気になるかもしれません
- 逆に「俺めくったぜ!」って感じで少し音を立てると...いや、なんでもありません
- 周りのタイプ音を気にしない
- 会場は静かなのでめちゃくちゃ聞こえてきますが、紙をめくる音はほかの人がどこまで打っているかの情報を得られるのに対し、タイプ音は情報量皆無なので気にするだけ本当に無駄です
- 競技開始前のゆびならし時間で何をするか決めておく
- 何か持ち込めるわけでもないので、文章ではなく単純に指動かすだけとかマッサージするとかでもいいかもですね
おわりに
この記事では、どうすれば毎パソの一発勝負で成功する確率が上げられるか、どのような工夫をすればよいかの一例を記述しました。今後出場される方がこの記事を読んで少しでも役立ててくだされば書いた意義があるのかなと思います。
タイピングの練習形態やワードセットに関しての考察
タイピングの練習形態やワードセットについて、自分なりに考察をすすめてみました。 定量的なデータを示せず、個人の経験や他人から聞いた話に大部分を依存しているのでその点はご了承ください。
用語定義
当たり前のように使われてきていそうな用語ですが、この文章での定義を書いておきます。
- タイピング:キーボードを使って、テキストを入力すること
- ワード:「単語」「短文(数十文字程度からなる一文)」
- ワードセット:ワードの集合
本題
タイピングスキル向上のための練習形態とワードセットについては、様々な観点から議論はあると思うのですが、 今回は以下の4点に絞りたいと思います。
- あらかじめワードセットや特定の課題文が用意されており、それらを反復して入力するような練習形態に意味はあるのか?
- 「日本語」のタイピング練習において、カタカナや漢字などへの変換を含まないような文章の入力ばかりを練習していて意味があるのか?
- 数字・記号を入力をしないタイピング練習ばかりをやっていてよいのだろうか?
- ワードセットや文章の多様性
1 について
あらかじめワードセットや特定の課題文が用意されており、それらを反復して入力するような練習形態に意味はあるのか?
ひとまず、この問いに答えるなら、意味は十分あると考えます。
特定の固定の文章を打つ練習(例えば e-typing の長文)や、ワードセットに含まれる単語・文章ばかりを練習するのは、実用に足らない指摘は一定支持できると思います。ある程度タイピング技能が習熟すると、違うソフトやサイトで練習すると全然タイムやスコアがでないといったような悩みを抱える人は一定数存在します。個人的な見解としては、このように、打鍵がある程度速くならないと、打鍵の正確さ・速さが単語や文章によって変わるといった比較すらできないので、この段階まで来てはじめて、いろいろな単語・文章で正確に速く打てるようになる練習が有効なのではないかと思います。
タイピング技術習得段階であれば、ワードセットの利用は推奨されると筆者は考えます。タイプウェルや MonkeyType あたりがまさにそれで、利用・出現頻度の高いワードを抽出して反復練習できる仕組みを提供しています。同じような語彙、それも日常でも出現頻度が高いような語彙が繰り返し出現するからこそ、習得段階の人にとっては、語彙の認識といった、タイピング以外の要素に注意をとられることが少なくなり、タイピング技術の習得により集中できると考えられます(「タイピング」という単語は「キーを打つことによってテキストを入力」という意味であって文章を認識する過程を含んでいないことに注意)。
2 について
「日本語」のタイピング練習において、カタカナや漢字などへの変換を含まないような文章の入力ばかりを練習していて意味があるのか?
毎パソの和文のように、課題文章を変換も含めて正しく入力する練習を「実用入力練習」という言われ方をすることがある、というのは実は割と最近(2022年に入ったあたり?)知りました。「実用」という単語をタイピング練習の文脈でどう具体的に定義するかは難しいし、使える/使えない、役に立つ/役に立たないといった主観的な尺度で判断せざるを得ないので、ここでは「実用」という単語は使用しないこととします。
「意味がある」を「必要なのか?」と解釈するなら、自分は必要であると考えます。
日本語の文章入力において、キーボードの操作に着目すると、「打鍵」→「変換」といった二つの過程に大きく分けられるのではないかと考えられます。このことから、「変換なしの練習」形態を提供しているサイト(例えば、e-typing)やソフトは、「打鍵」の部分に特化した練習を提供しているといえそうです。
ここで注意してほしいのは、「打鍵」して「変換」という順序なのであって、逆ではないということです。打鍵なしにカタカナや漢字などへの変換はできないはずです(できないですよね...?そもそも変換にも打鍵が必要ですし…)。「打鍵」のスキルがベースでそのうえで「変換」のスキルを考えるのが自然だと思います。「変換なしの練習」のみでは「変換」の過程を練習できないので、この練習形態のみで続けている場合、タイピング練習としては「不十分」とは言えそうですが、「変換なしの練習」そのものが「不要」ないし「意味がない」という主張は通らないと思います。
「打鍵」単独で考えても、どのようにキーボードに手を置くのか、どのキーがどこにあるのか、どの指でとるのか、この文字はどう打てばよいのか、といった様々なことを考えているはずです。同様に「変換」単独で考えても、正しい語彙を出すにはどう区切って変換すればよいか、効率よく目的の語彙を出すにはどうするか、スペースキー以外での変換方法は何があるか、辞書に登録されていない固有名詞はどう打つか、などなど考えることは多いです。ある程度、打鍵スキルが習熟したならば、打鍵の練習も変換の練習も両立して行ってよいと思うのですが、一度に考えることが増えてしまうと何を目的とした練習であるかがわかりにくくなる可能性が高いので、打鍵スキルが習得段階にあるならば、まずは打鍵の練習に特化したほうが良いと考えます。
3 について
数字・記号を入力をしないタイピング練習ばかりをやっていてよいのだろうか?
早い段階で数字・記号も練習に含めましょう。タイピングにおいて、数字・記号を排除する正当な理由がそこまでないと思います。
記号を排除する合理的な理由を考えるとするならば、1打鍵1文字に統一し、2打鍵で1文字入力できる文字を排除することで、kpm (key per minute、一分間あたりの打鍵数)という評価指標の定義により忠実に従わせられる、という感じでしょうか。といいつつも、kpm の測定では、 Shift + あるキーで入力できる文字を含んでいながら、それを2打鍵としてカウントしていないケースがほとんどな気はしますし、数字や、1打鍵で入力できる記号を排除する根拠にはなりません。
おそらく開発者が、以前から存在するタイピング練習ソフトを参考にしたり、いままで練習で使用してきたものを参考にしたりした結果、なんとなく数字や記号を避けようとするバイアスがワードセットに反映されてしまっているのだと思います。開発者にフィードバックできるのであれば、数字・記号を含めた、あるいは特化したワードセットを作ってもらうのが良いかもしれません(採用するかどうかは開発者の自由です)。とはいえ、ワードセットの構築時に数字・記号を意識して含めるということ自体が大変だったり、ワードセット内で数字・記号が登場する割合がどれくらいが適切なのかを考えると結構難しい問題だと思います。
練習自体を数字・記号入力に特化させるという手を取るほうが早いと思います。「すべキー」(ランダムに出現する数字・記号を打つ)練習というカテゴリがあったり、毎パソだと数字・記号分野がありますので、自分に合いそうなものを探してみましょう。
バイアスの話を出したので、ちょっと脱線しますが、数字・記号が含まれていないケース以外に、ワードセットにどういったバイアスが反映されてしまうか、いくつか例を挙げておきます。決して悪いというわけではなく、何も考えないでワードセットを構築するとこうなりがちかもしれない、ということです。
- 日本人が考える英語の例文に含まれる地名が日本の地名に偏る
- I’m from Kyoto. とか
- 文化依存のバイアスを解除するのはなかなか一人では難しいですね
- 開発者が詳しい分野のワードが多い
- 筆者は情報系なので、コンピュータサイエンスにまつわるワードを多く入れてしまっているかも
- あえて特定の分野に特化したワードしか入れないという風にすることで面白さを生み出せる
開発者がこの記事を読んでいるのであれば、なぜ数字・記号を含める / 含めないのかというのをきちんと根拠をもって設計できているかどうか今一度見直してみるのもよいかなと思います。
4 について
ワードセットや文章の多様性
さて、ワードセットや文章の多様性について考えてみましょう。そもそもワードセットや文章の「多様性が高い」とは具体的に何でしょう。語彙数、品詞、語彙のジャンル、文章の形態などさまざまな観点が含まれそうで、具体的に定義するのはかなり難しそうです。ここでは、課題文の種類が豊富であることや、ワードセットに含まれる語彙や文章が豊富、あるいは文章を自動生成する仕組みが存在している、といった状態を「多様性が高い」と表現しておきましょう(毎回固定の課題文であったり、ワードセットのなかからランダムに選ぶ場合でも、同じワードを重複して練習することが多い場合は多様性が低いということになります)。
月並みな結論ですが、多様性が高い/低いどちらにせよ利点・欠点はあるのでどちらか一方がいいとは言い切れません(だからこそ、いろんなタイプの練習ソフトやサイトがあるわけだし、オールインワンみたいなサイトがない)。
多様性が低いことのメリットは、一つの課題、あるいはワードセットに集中して取り組める、過去の成績と一定の基準で比較がしやすいあたりが挙げられそうです。デメリットとしては、特定の課題文だけがうまく打てるようになってしまう、ユーザーが飽きてしまうことでしょうか。
多様性が高い、つまり課題文の種類が豊富であることや、ワードセットに含まれる語彙や文章が豊富であるメリットは、いろいろな文章で練習できるところでしょう。一方で、ワードセットの構築コストが高いことや、例文の数を増やすには一定限界があるということはあまり知られていません。
ワードセットの語彙の多様性を上げる単純なアプローチとしては、開発者がワードセットに含まれる語彙や文章を随時増やしていくという方法が考えられます。この方法の問題点としては、ワードセットの品質や更新頻度が開発者に依存すること、開発者がソフトの機能開発に注力できなくなることが挙げられます。
実際、私も一人で機能とワードセット両方作っていて、ワードそのものを考えるコストや、重複ワードがないか、ワードそのものに誤字などのミスがないかどうかを確認する仕組みの導入など、想像以上にコストがかかることを実感しました。
開発者の負担を減らす方針でこのアプローチを改善するなら、開発者だけに限らず、ソフトの利用者などがワードセットの編集に携われるように、クラウドソーシング的な仕組みを導入して、大人数でワードセットを開発すれば、一人当たりの負担を減らしながら同時にワード数の増加も見込めそうです。ワードセットではありませんが、TypingTube がこのアプローチに近く、利用者が、曲の歌詞と歌詞の読み方、表示タイミングと時間を含めた譜面データの作成できるようになっています。この仕組みは、データ作成者が増えるまでが大変ではあるものの、作業を開発者以外に分散させることによって負担軽減、かつ練習できる文章のレパートリーを増やせるため、かなり合理的といえそうです。このアプローチにおいて考慮すべき点としては、データの品質管理、データフォーマットの制定、データ作成を促すインセンティブ設計あたりでしょうか。
ワードセットという概念自体を取っ払って、文章を自動生成して、同じ文章が出てこないようにする仕組みを考えれば多様性が高くなりそうでいいじゃないか、と思う方もいらっしゃるかもしれませんね。確かに実装できればとても面白そうです。実際、WeatherTyping ではワード自動生成というモードが実装されていて可能性はありそうなアプローチです。
問題点として、誰が読んでも自然といえるような文章が自動生成できる仕組みがソフトに簡単に組み込めるほど容易ではないことが挙げられます。マルコフ連鎖くらいならちょっと頑張って文章データセットが集められれば実装はそこまで重たくないのでできそうですが、不自然な文章が生成されるケースも多いです。タイピングの練習が主目的なのだから、文章が不自然だとストレスを感じてしまう人もいる(し、実際にそういうレビューを見たことがある)ので避けたいところですね。
ほかの問題点として、文章を自動生成するための文章(データセット)が必要でこれを用意するのが大変という点も挙げられます。どこからデータを取ってくるのか、著作権・ライセンス的に大丈夫なのか、データセットの語彙や文章は十分用意されているかなど、考えることが多いです。
文章自動生成では、宗教的、差別的、倫理的、法律的など、いろいろな観点で不適切な内容の文章が生成されるリスクがあります。情報系の人なら聞いたことある話題だとは思いますが、意外と盲点なんですよね。実際、AI が自動生成した文章が不適切であったがために炎上したという事例もあります。詳しくは「AI 差別 事例」「機械学習 差別」とかそんな感じの単語で検索してみてください。
技術の進歩や開発力があれば、文章の自動生成によって課題文章に多様性を持たせるというアプローチも技術の発展によってはありえそうです。しかし、自然な文章を生成できる保証がないことや、自動生成される文章そのものの意味が問題となるケースを制御できるかといった、さまざまな問題を考慮して丁寧に設計しないと、実装コストがそれなりに高いのに、ユーザにタイピング練習サイト・ソフトの価値を提供できないという本末転倒な事態が起こる可能性が高いというのが現状です。
ワードセットを設けて、短文をランダムに表示するという方式は、開発者にとっては、設計・実装しやすく、コストもほどほどで済む、というのが正直なところです。本当は、そのソフトを作る目的や達成したいことを定め、設計を行ってから、それらを達成できるように実装を考える、という手順であるべきで、実装できそうだからこういう設計にする、というのは目的と手段の逆転が起こっているので、思考過程としてはよくないですね。しかし、そもそもソフトが実装できないことにはタイピング練習サイトもソフトも生まれず、世の中に価値を提供できないというのも事実ではあります…。難しいところですね。
仮に、例文数がものすごく豊富なワードセットがネット上に公開されていたとして、それを用いるサイトが複数あった場合、結局おなじワードセットを参照しているのだから、登場する例文は同じようなものになってしまうのではないか?といったことも考えましたが、どうなんでしょうね...。同じ例文に生成する確率が十分低ければ、ユーザからは案外わからない気はします。
例文を自動生成できると課題文が「無限」通りあると思っている方がいるかもしれませんが、文字の種類が有限個しかないことと、例文の長さが有限であることから、課題文章は高々有限通りです。二度同じ文章が出てくる確率が非常に低いので、無限通りと言いたくなりますが、厳密には違います。
まとめ
タイピングソフト・練習サイトで利用されているワードセットや、練習形態といった観点を自分なりに深堀りしてみました。多くのタイピストが漠然と考えているようなことかもしれませんが、一定の根拠を示したり、曖昧な認識の語彙を具体的に定義したりといった基本的なことが意外となされていない気がします。意見や結論自体に面白さ・新規性・意外性はあまりないかと思いますが、自分の今後の開発方針・練習のアプローチの整理もかねてこの記事を残すこととします。
銀の弾丸は存在しない。これ一つですべて解決するようなおいしい話なんて求めずに、コツコツ練習を重ねましょう(自戒もこめて)。