けものみち

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

タイピングの練習形態やワードセットに関しての考察

タイピングの練習形態やワードセットについて、自分なりに考察をすすめてみました。 定量的なデータを示せず、個人の経験や他人から聞いた話に大部分を依存しているのでその点はご了承ください。

用語定義

当たり前のように使われてきていそうな用語ですが、この文章での定義を書いておきます。

  • タイピング:キーボードを使って、テキストを入力すること
  • ワード:「単語」「短文(数十文字程度からなる一文)」
  • ワードセット:ワードの集合

本題

タイピングスキル向上のための練習形態とワードセットについては、様々な観点から議論はあると思うのですが、 今回は以下の4点に絞りたいと思います。

  1. あらかじめワードセットや特定の課題文が用意されており、それらを反復して入力するような練習形態に意味はあるのか?
  2. 「日本語」のタイピング練習において、カタカナや漢字などへの変換を含まないような文章の入力ばかりを練習していて意味があるのか?
  3. 数字・記号を入力をしないタイピング練習ばかりをやっていてよいのだろうか?
  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 差別 事例」「機械学習 差別」とかそんな感じの単語で検索してみてください。

技術の進歩や開発力があれば、文章の自動生成によって課題文章に多様性を持たせるというアプローチも技術の発展によってはありえそうです。しかし、自然な文章を生成できる保証がないことや、自動生成される文章そのものの意味が問題となるケースを制御できるかといった、さまざまな問題を考慮して丁寧に設計しないと、実装コストがそれなりに高いのに、ユーザにタイピング練習サイト・ソフトの価値を提供できないという本末転倒な事態が起こる可能性が高いというのが現状です。

ワードセットを設けて、短文をランダムに表示するという方式は、開発者にとっては、設計・実装しやすく、コストもほどほどで済む、というのが正直なところです。本当は、そのソフトを作る目的や達成したいことを定め、設計を行ってから、それらを達成できるように実装を考える、という手順であるべきで、実装できそうだからこういう設計にする、というのは目的と手段の逆転が起こっているので、思考過程としてはよくないですね。しかし、そもそもソフトが実装できないことにはタイピング練習サイトもソフトも生まれず、世の中に価値を提供できないというのも事実ではあります…。難しいところですね。

仮に、例文数がものすごく豊富なワードセットがネット上に公開されていたとして、それを用いるサイトが複数あった場合、結局おなじワードセットを参照しているのだから、登場する例文は同じようなものになってしまうのではないか?といったことも考えましたが、どうなんでしょうね...。同じ例文に生成する確率が十分低ければ、ユーザからは案外わからない気はします。

例文を自動生成できると課題文が「無限」通りあると思っている方がいるかもしれませんが、文字の種類が有限個しかないことと、例文の長さが有限であることから、課題文章は高々有限通りです。二度同じ文章が出てくる確率が非常に低いので、無限通りと言いたくなりますが、厳密には違います。

まとめ

タイピングソフト・練習サイトで利用されているワードセットや、練習形態といった観点を自分なりに深堀りしてみました。多くのタイピストが漠然と考えているようなことかもしれませんが、一定の根拠を示したり、曖昧な認識の語彙を具体的に定義したりといった基本的なことが意外となされていない気がします。意見や結論自体に面白さ・新規性・意外性はあまりないかと思いますが、自分の今後の開発方針・練習のアプローチの整理もかねてこの記事を残すこととします。

銀の弾丸は存在しない。これ一つですべて解決するようなおいしい話なんて求めずに、コツコツ練習を重ねましょう(自戒もこめて)。