Migemoの辞書を軽くする2つの方法

シェアする

#### 日々是みげも
毎日、何らかの形で[Migemo](http://0xcc.net/migemo/ “Migemo: ローマ字のまま日本語をインクリメンタル検索”)を利用しています。便利すぎです。
Migemoの情報を探していると、[SKK辞書のWiki](http://openlab.ring.gr.jp/skk/wiki/wiki.cgi “FrontPage – SkkWiki”)に、Migemoに関する記述がありました。
>(Migemoは)SKK 辞書を利用しています。標準ではL辞書からmigemo辞書を作成するようですが、代わりにML辞書を使用すると高速かつ程良いヒットが得られるようです。
>[リンク集 – SkkWiki](http://openlab.jp/skk/wiki/wiki.cgi?page=%A5%EA%A5%F3%A5%AF%BD%B8 “リンク集 – SkkWiki”)
「ようです」というのがかなり気になります。気になったからには、確認したい──。
ということで、ML辞書からMigemo辞書作ってみました!
*migemo-dict.zip
利用の際は上記のZIPファイルを解凍し、標準の“migemo-dict”と入れ替えてください。もちろん、“migemo-dict”はバックアップを忘れずに!
ML辞書は1MByteも無いので手頃です。しかし、ここからmigemo-dictを作るのは大変だった──。


#### Migemo辞書のレシピ
1. [SKK ML辞書](http://openlab.jp/skk/wiki/wiki.cgi?page=SKK%BC%AD%BD%F1#p6 “SKK辞書 – SkkWiki”)をダウンロード
2. `/`をタブに変換
3. コメントを削除(`;[^\t\n]+\t`を削除してから`;[^\t\n]+$`を削除)
4. `^[^\t]`の数が多い順に並べる
5. 元のmigemo-dictから「一文字記号」をコピー
──とまぁ、こんな感じ(数ヶ月前の話なのでうろ覚え)。
おそらく、二度手間・三度手間の余分な作業が混じっていると思います。こういったときに、簡単にスクリプトが組めれば──。
#### もう一つの方法
上記以外にも、こんな方法があります。
[おい!あふを語ろうぜ!Ver.15](http://www.geocities.co.jp/SiliconValley-SanJose/7225/afx/afx15.html#R224 “おい!あふを語ろうぜ!Ver.15”)を見ると、
> あーくとう から上は全部削ったら、サイズが半分以下になった
と書いてあります。
最初は「?」だったのですが、標準の“migemo-dict”をテキストエディタで開いて、納得。
「あーくとう」で検索すると、中間あたりに見つかります。
よくよく見てみると、“migemo-dict”は、Migemoで補完する単語が「文字数の多い順」に並んでいます。
要するに、そんなに文字数の多い物を補完しても仕方がないので削除しよう、ということです。
「あーくとう」から上を削除すると、辞書サイズは1.2MByteくらいになります。こっちでもいいかも。
#### 使ってみた感想
上記の二つの辞書でしばらく使ってみましたが、どちらも、得に違和感はないですね。
以前と比べて、何か検索できなくなった、ということもありません。
むしろ、もう少し、辞書のサイズを減らしても良さそうです。またいい方法が見つかったら、記事にしてみます。