EmacsのSSKの辞書

もう結構時間がたってしまいましたが、Emacs上で動く日本語変換システムである「SKK」用の辞書を 「Windows上での Emacs の SKK の辞書の設定」にある方法でつくりなおしました。

SKKでは変換候補が登録された辞書を用意しておく必要があります。辞書は「SKK辞書- SKK辞書Wiki」にたくさん置いてあり、通常はこの中から使う辞書を選択します。

たくさんの辞書を設定するほど変換の際に表示される候補が充実します。ただ、たくさんの辞書を利用しようとするほどEmacsのメモリもたくさん使い動作が少し遅くなります(辞書サーバーという機能を使えばまた別なのですが、私は上手く使えないです)。今回はできるだけ変換候補を充実させるために、たくさんの辞書をまとめて利用するようにしました。その結果、登録されていない語句はほとんどないというくらいの大きな辞書になったと思います。ただ、同時に全然使う機会がないような語句まで変換の際の候補に表示されるようになってしまったので、逆に少し不便になりました。例えば、この文章はSKKで書いていますが、「遅く」を変換で出そうとしたところ、最初に表示された候補は「邌く」でした...「邌」なんていう漢字は初めてみました。

このような問題に対して、SKKでは個人辞書という仕組みがあります。個人辞書には自分が実際に利用した語句が登録され、その後はそれが優先的に候補に表示されるようになります。ですので、利用しているうちにだんだん個人辞書が充実してきて、よく使われる語句ほど候補として表示されやすくなり、自然に使い勝手が改善されていきます(他の日本語変換でも同じような仕組みになっていると思いますが)。

私はEmacsSKKを20年くらい前から使っています(SKK利用のログをとるskk-record.txtというファイルの中身を見ると、一番最初の記錄は「Sat Oct27 10:06:33 2001」となっています)。その間ずっと個人辞書がアップデートされてきていたので個人辞書に登録された語句は1万5,000個(!)にもなっていました。

辞書は変更しても、この以前からの個人辞書をそのまま利用していれば、「よく利用する語句を優先的に候補に出す+辞書の登録語の充実」という形にすることができたかもしれませんが、今回は辞書の変更と同時に個人辞書もこれまでのものは捨てて、新しく一から作成するようにしました。ですので、個人辞書がある程度充実するまでは上の問題が続きそうです。

個人辞書を一から作成しなおすことにした理由は、これまでの個人辞書の文字コードを上手く変換できなかったためです。

これまでSKKの辞書には元々の文字コードである「euc-jp(あるいは、euc-jis-2004)」を使ってきましたが、多様な文字が使える方がよいのでこれを「ユニコードutf-8)」に変換して利用するようにしました。一緖に個人辞書の文字コードutf-8に変換したかったのですが、なぜか変換が上手くいきませんでした。それで仕方なく、これまでの個人辞書は捨てて一から作成することにしました。

昔はWindows用のEmacsMS-IMEなどの日本語IMEを使うにはちょっと手間がかかったので(具体的には、特別なパッチを当てたEmacsでなければいけなかったので)、SKKを代わりに使うということもありました。私もそれが理由でSKKを使い始めました。しかし、現在では「tr-ime」を使うと普通のEmacs上でIMEも簡単に使えるようになりましたので、SKKを使うメリットも小さくなったかもしれません。それでも私はSKKの入力が結構好きなので使っています(SKKの入力方式は「かな漢字変換プログラム SKK の紹介 | Emacs JP」にあるように普通のIMEIとは全く違う方法です)。本当のSKK好きはEmacs上だけではなく、Emacs以外でもSKKを使えるように、通常のIMESKKで置き換えるまでしているようですが、いろいろ設定が面倒になるので、私はEmacs上でしか使っていません(Emacs以外ではATOKMS-IMEを使って日本語入力しています)。