(作業メモ+追記済み)「タイプウェル適応○○○配列」向けの検討事項。

(過去:自分のBlogにおける「ひらがなの出現頻度」を、パソコンを使って調べてみよう!(kanji2na+morogram編、244万文字頻度付き) - 雑記/えもじならべあそび)

  • http://typinger.hp.infoseek.co.jp/typing/study.html で公開されている、Typewell国語Rの単語列に対するn-gram分解。
  • GAの使い方がわからない……ので、(時間があれば)手作業配字試験をする。
    • 特に、月配列系を中心とした、中指シフトのカナ系……だろうなぁ。ほかに最適解が取り出せそうな配列群が見つかるアテはない気がする。

(2009年2月8日14:58:31追記)1-gram解析をしてみた。

 2-gram解析とかをしてもスカスカになりそう……なので、1-gramのみ。グラフをクリックすると、何とか読めるサイズには大きくなるはず。

  • 「くつちらる」が若干多め。
  • 「がてでにのは」が少ない。
  • 「ぅぉを、。!?」とかはそもそも存在しないので、Typewell適応配列からは除外してもいいでは打鍵性を無視していい(将来使われる可能性がゼロではないので、除外はさすがにやりすぎかも)。

 ……わたしの日記自体も偏ってるから、単純に比較するのは誤りなのだけれど、Typewellのそれはまるで「高校教科書のかな出現頻度から拾った」みたいに、比較的固めの文章に合うような選語がなされたように見えるところが不思議だなぁ、と。
 #たとえば、おなじ月配列系でも、オリジナルに近いほど向いていそうな気がする。


 すごく意地悪なことを言えば、「【標準運指×右利き×Qwertyロマかな】にとって苦手なところを微調整で落としてる」ッぽく見えてしまう……のだけれど、これってそもそも「文章ではなく単語を打つ」ソフトウェアであるために、自動的に発生してしまう(=Typewellのやり方ではそもそも回避できない)問題だからなぁ……。
 このくらい偏っていると……1-gram〜3-gramを見つつ「Typewell適応月配列(GA)」を作ることによって、「Typewellでの最速を目指すためだけのけん盤配列」は設計可能だと思います。
 とくに3-gramクラスになると、

  • そもそも、語彙が2155語しかない。
  • 膠着語としての体裁をなすために必要な要素が欠落している。

という部分が非常に響いてくるので、たとえば小梅配列における「そろそろやめさせろ」問題とかのような、ややこしい問題をほとんど潰してしまうことができる……と。


 ……もっとも、「タイプウェル適応○○○配列」としてだけ作ってしまうと、実用上は使い物にならないんですよね……実用でも使えるようにと色気を出すと、とたんにややこしいことになりそうなあたりは微妙。

(2009年2月8日16:19:42追記)ごめん、わたしが馬鹿だった……。


 タイプウェルにおける「ひらがな下し」単語のワード長さは、平均で3.68文字/wordでした。
 こいつがCRLFでセパレートされ、2155語/file収録されて、全体の容量が10082かな/file(CRLF込み)でした(注:Shift-JISコードで数えています)。
 ……ってことは、文中にCRLF(=全角空白と等価の数)は2155個入っていて、当然これはタイプウェルにおけるセパレータとして「Spaceキー」を押すことになります。
 このとき、セパレータの打鍵比率は全打鍵中の21.379%にものぼるわけで……これを親指で打つべきかどうか、という点については考慮しなきゃいけないと思います。
 もしも文字キー領域にセパレータ(Space機能キー)を収めるのならば、間違いなく「E+I」もしくは「D+K」キーの1等地に重複割り当てなきゃダメなレベルですね……このとき、物理的なスペースキー自体は「JIS X6004方式シフト」もしくは「スペースキーによるプレフィックスシフト」用として使うことになりそうです。
 #ただし、10.69%/指の打鍵頻度が掛かることを考えると、とてもじゃないけど「両親指以外に耐えられそうな指がない」気もします……が、このあたりは「タイムアタック用と割り切って使う」のならば、まぁなんとかなる……のかなぁ。安全性に問題がある配列は作りたくないから微妙なのだけれど。

(2009年2月8日19:11:48追記)

 あの「月配列(GA)4-698」を生成したプログラム( http://www.geocities.jp/rage2050a/GeneKana/ )を使わせていただいて、清濁分離配列の生成……じゃなかった、選別を試行中。
 ほんとはn-gramで被りが生じる「長いn-gramと、短いn-gramでの重複加算を補正する」処理が必要……なのだけれど、今回選出した配列を使う場合は【Typewellに出てこない単語は一切打たない】という前提条件があるので、むしろn-gramを被らせたままにして「ワード最適化」を強く出す方向へと振ることにしました。
 打鍵速度データはそのまま使わせていただくことにして、1〜6gramのデータだけをTypewellJRのものに差し替えて、ただいま計算中……かなり時間が掛かりそうですね。
 計算中は特に行動しない予定。

(2009年2月8日19:36:16追記)

 Pentium-M(1.4GHz)ではあまりにも遅すぎる……ので、とりあえずPen4(2.8G)の機体で始めからやり直し中。
 #でも、この手の処理ってPen4は苦手そう……なので、PenMノートの方も止めずに、2台同時で走らせることに。


 あと、「GeneKana0723」の使い方は……極めて不親切に書くと、こんな感じ。

  • GA選別パッケージをダウンロードして、さくっとアンパックする。
  • フォルダngramの中に、「半角かな下ししたTypewellJRのテキストを、1〜6gram処理して降順ソートしたもの」を突っ込む。
  • GeneKana.iniの中身を、↑の通りにテキトーに編集。
  • GeneKana.exeを起動。
  • Ctrl-Nで、テキトーな文字を打ってEnter。
  • Ctrl-Sで、テキトーなファイル名をつけて保存。
  • Alt-Pしてから、スライドバーを「右端」に動かす。
  • Alt-VしてからEndを押して、表示番号を257(自動追尾)にする。
    • ここで↓を押すと、256(現時点の最高記録)を表示する。
  • プログラムが走ってないときは、F5(Run)を押す。

 ……あとは、ひとまず放置プレイで行くしかなさそう。