練習用ワードジェネレータ

AZIK練習に向けてこんなの作ろうと思ってます.
すでに類似品がありましたら教えてくださいm(_ _)m

概要

フリーの辞書であるmecab-ipadic*1を用いて,指定した性質をもつワードを抽出する.抽出した結果は打鍵トレーナーやWeatherTypingのようにユーザが単語を登録できるタイプのタイピングソフトに合わせて整形して出力する.

目的

初めの動機は飛鳥配列を練習する際に「シフト無し」「右親指シフト」「左親指シフト」で打てるワードが欲しいと思ったこと.実際,飛鳥の練習を始めた当時は段平さんに作っていただいた飛鳥のためにを用いて練習した.基本的にはこのようなものを各種配列を利用しているユーザが与えるルールに基づいて自動生成したい.

飛鳥配列の場合,一つのキーに3つの文字が割り当てられるため,初期の段階からすべてのシフトパターンを用いる単語をランダムで練習する方法は効率が悪いと考え,普段よく使うタイプウェル美佳タイプであえて練習しなかった.いくつかの配列を習得した段階の私であればおそらくタイピング初心者よりも新たな配列の習得は容易だったと思うが,飛鳥の配列を習得する際はその領域をいくつか区切って練習していかなければとても覚えられる気がしなかった.

おそらくタイピング初心者にとって初めて習得することになるだろうQWERTYやJISかなでも同じようなことを感じると思う.そのとき,特定の性質を持つワードで練習を順繰りに重ねていくのは親指シフトだけでなく,一般的な配列習得でも有効だと思う.実際,いくつかのタイピングソフトでは「カ行で始まる単語」「サ行で始まる単語」といった練習メニューがあるし,昨年のタイピング講座でも同じような方法で練習させてみたが,それほど負担を感じさせることがなく覚えられそうな気にはなったようだ.

動作イメージ

  1. 辞書の選択
  2. 欲しいワードの条件を指定
  3. 出力フォーマットの選択
  4. ファイル出力

mecab-ipadicには「名詞」「形容詞」「副詞」「人名」「固有名詞」などの複数の辞書があるのでまず特定の辞書を選択する.次に,以下に定める条件を指定し,特定のタイピングソフトに合わせたフォーマットで出力する.もちろん単純に単語を順番に並べただけといった簡単なフォーマットも用意しておく.辞書の方も単語を羅列したものも読み込めるようにする.

与えられる条件

以下の条件をand,or,notで複数組み合わせ可能

  • 特定の文字列を含む(「あ」や「あん」といった文字列がどこかに入っている)
  • n文字目に特定の文字列が入っている
  • 指定した文字列だけで構成されている

正規表現書いて処理した方が楽そうだな.まぁ,条件の指定方法はインターフェースの問題だから,内部では正規表現で処理するということにしとこう.

運指表(ローマ字打ち,かな打ちで別)を登録すれば以下のような条件も指定可能.

  • 特定の指を使う文字を含む
  • n文字目に特定の指を使う文字が入っている
  • 指定した指だけで打てる文字で構成されている

こちらも正規表現に変換できそう.

この程度の条件でおそらく目的を満たすようなものが得られると思う.

練習用ソフト

ユーザがワード登録できるソフトってどんなのあったかな?和文変換付きのタイピングソフトはおそらくタッチタイピング習得時には使わないと思うけど,入れとこう.

僕が知っててそれなりに使われてそうなのはこんなところだろうか.ワード編集可能なソフトでこれ使ってるというのがあったら教えてくださいな.

*1:10MB程度で再配布もOKらしい.ライセンスについて[http://d.hatena.ne.jp/mir/20070928/p2:title]