IME2007の問題点

調べてみると遅い理由がわかってきました。これは何とかなりそうです。
猿頁さんありがとうございます。
http://salv.miscnotes.com/2007/02/ime2007.php

あちこちでかなり否定的な評価評判を一身に受けているIME2007ですが、私のところでもかなり傍若無人な振る舞いをしてくれています。

おおまかに不評な項目を挙げてみると、

1. 変換効率が悪い。余計な候補が出てくる、必要な候補が出てこない、一般的ではない用語が先に来る。
2. 動作が遅い。特に長文を一括で入力した場合に。
3. 時々変換が効かなくなる。漢字候補が表示されず、ひらかな/カタカナ程度になってしまう。

あと、あまり一般的には語られていませんが、私の手元ではこんな不愉快さもあります。

4. 予測入力が発動しない。今回の目玉機能のひとつなのに。
5. 半角/全角キーでの入力モードが効かなくなる場合がある。

これらはいったいなぜなのか。
また何らかの対処法はあるのか。

なんてあたりを知りたくて、ちょいと調べてみました。

I. 変換効率が悪い。

変換効率の変わりっぷりの原因は、どうも変換アルゴリズムの変更にあるみたいです。
IME2007では従来のアルゴリズムではなく、まったく新たにTrigram/SLM(Statistical Language Model)ってやつを採用したらしいんですね。

正直このTrigram/SLM、いったいどういうロジックで、実際IME2007の中でどう実装されているかの情報がほとんど見つかりません。
具体的な部分にまで言及しているのは【インタビュー】VistaとOffice 2007、かな漢字変換の結果が違うのはなぜ?くらいでした。

のでこの記事を前提として、後は推測するしかないんですけれども。

たぶん使い勝手に関わるポイントは、

Trigram/SLMでは、3つの語(Trigram)のつながりやすさを考慮して変換結果を決める。

従来は、(中略)最後は職人技とも言える手作業での調整作業に頼るほかない。このため保守が大変で、もっと科学的で機械的な手法を求めていた。

こうした背景にマッチしていたのがTrigram/SLMだった。

あたりではないかと踏むと、要は「3単語の相関で候補の優先を演算し」「調整のための手作業が不要で」「機械的に変換基準を学んでいく」機能なのだと解釈できそうです。

と考えると、

* アルゴリズムの変更で、IME2003までの変換基準の情報を取り込めなかったのではないか?
* IME2007では機械的な「学び」を前提とし、あまり「調整のための手作業」を行っていないのではないか?

つまり、インストール直後は

何も覚えていないAIシステム
のような状態なのではないかと。

てことでここひと月ばかりIME2007でもぅれつな量の文章を打ち込んでみたら、私の言い回しや漢字の使い方にかなりマッチした変換候補を出してくれるようになってきました。文脈の前後に合わせて出てくる候補の優先が変わったりしますので、長文を一気に入力した際に手戻りして別候補を指定させる必要がほとんどなくなってきています。一度調教すると変換効率やら精度のぴったり感はIME2003の比でありませんぜご主人様。

あーこのへんがTrigramなのかなーと。
かなり使い込まないとメリットが出てこない代物なのかもしれません。

おっとついでに。

このへんの恩恵を受けるためには、[IME2007のプロパティ]ダイアログ-[辞書/学習]タブ-[学習設定]-[学習する]にチェック、さらにその下の-[学習情報をファイルに保存する]にもチェックをつけておかないといけないようです。ここらへんのチェックを外すとそもそも覚えてくれなかったり電源切るたびに忘れてくれてしまったりするようなので。

II. 動作が遅い。

これについては、「Outlookをひと通り設定すると速くなるぜ」との話を小耳にはさんで、もぅ

なんですとー!?

なレベルで半信半疑。

そう言えば動作の遅い自宅マシンはBecky!使ってるし、わりかし速い仕事場マシンはOutlook使ってるよなー、と自宅マシンでも使いもしないOutlookに設定してみたとたんに驚きの速さに!

実はIME2007の目玉のひとつに、「Outlookアドレス帳、Exchangeグローバルアドレス帳をIMEの辞書として活用」ってのがありまして。これ、実際にはアドレス帳を直で辞書として使うわけではなく、不特定のタイミングでアドレス帳からIMEの辞書にデータをインポートしているみたいなんです。
で、アドレス帳がないとインポート動作が空振りしてしまうわけなんですが、どうもこの時にタイムアウトするまで待つんだかアドレス帳データがあるかもしれないフォルダを片っ端からチェックしに行くだかして時間がかかっちゃうらしいんですね。

「フリーズかっ?」と思うほど遅い時は、このインポートロジックが虚しく空振り続けているのではないかと。

てことでアドレス帳にダミーでもいいのでいくつかデータを登録しておくとかなり動作が改善されるようです。

で、もひとつ。

このアドレス帳データがインポートされる辞書が「Outlook連絡先辞書(姓/名)/Outlookグローバルアドレス一覧辞書(姓/名)」の4ファイルなんですが、これがインストールデフォルトでシステム辞書として登録されるみたいなんですよ。
[IME2007のプロパティ]ダイアログ-[辞書/学習]タブ-[システム辞書]から確認できます。

じゃあこの4つの辞書をシステム辞書の登録から削除したらいいんではないのか?

って削除してみました。→ばかっ速。

私はSharePointを使っていないのでわからないんですが、「SharePoint上の共有データをIMEの辞書として活用」ってのも IME2007の目玉機能となっていますので、SharePointサービスを使っている方はそれっぽい辞書も自動生成されるのかもしれません。てことでそっちな方はSharePoint回りの設定情報を整えるかそれ系の辞書を削除しちゃうかすると速度改善に効果があるかもしれませんね。

ちなみに、ユーザー辞書が設定されていなくても遅くなるようです。ので、ダミーでもいいのでいくつか単語登録をかけておきましょう。

III. 時々変換が効かなくなる。

これは大きく2つの原因があるようです。

まず、Office IME 2007 で入力した文字を漢字に変換できない場合の対処方法で言及されているのは、おもに設定ファイルや学習情報が壊れてしまった場合の対処です。
保存されたファイルだけではなく、それらのデータがオンメモリだったりキャッシュだったりの中で壊れている場合もあるようなので、上記ページで言及されている対処をする前に、一度単純に再起動かけて様子を見てもいいかもしれません。それでも何度も発生するようであれば、大元のファイルが壊れている/または壊れやすい状態になってしまっていると判断し、一から出直す覚悟を決めて設定やら辞書やらを削除していく方向でひとつ。

で、実はもうひとつ原因があって。

InfoCage/モバイル防御における重要なお知らせ「IME2007に関する件」
IME2007の共存問題について

など、入力回りなのかメモリ回りなのかなあたりでお行儀の悪いソフトと混在させると、IME2007がうまく辞書にアクセスできなくなってしまうようなんですね。
上に掲げたページは一例で、他にも一部のオンラインゲームなど相性が悪いものがかなりあるようです。

で、これへの対処は「IME2007を使うな」なんだそうで。うわー。

でもまあ上記ページのようにメーカーサイドできちんと言ってくれているだけまだましで。言っていない、もしくはそもそも関連に気付いていないメーカーもかなりあるでしょうから、現時点ではきちんとした対処法はないように思います。

IV. 予測入力が発動しない。

これはわかるまでちょいとハマりました。

まずこの予測入力は、「詳細なテキストサービス」にカテゴライズされている機能です。
ので、予測入力を有効にするには[IME2007のプロパティ]ダイアログ-[予測入力]タブ-[設定]-[予測入力を使用する]にチェックするだけではダメで、[テキストサービスと入力言語]ダイアログ-[詳細設定]-[システムの構成]-[詳細なテキストサービスをオフにする]のチェックを外す必要があります。

このチェックを外すと言語バーが表示されてしまうんですよね。私は嫌いなんですけど。
また、IME2003の頃のナチュラルインプットに違和感を覚えていた方は気持ち的にこのへんをオフにしてしまいたくもなります

がまぁ今回ナチュラルインプットはなくなりましたし、使い込むと意外に予測入力はツカエますので、これを機に詳細なテキストサービスのお世話になってもいいかもしれません。

で、ここまでの設定で予測入力に対応してくれるのはOfficeソフトだけです。
Office以外のソフトでも予測入力を可能にしたい場合にはもうひとつ、、[テキストサービスと入力言語]ダイアログ-[詳細設定]-[互換性の構成]-[詳細なテキストサービスのサポートをプログラムのすべてに拡張する]にチェックを付けておく必要があります。

ここまで設定すると、メモ帳だろうが秀丸だろうが十分予測入力のお世話になれるようになります。

おまけ。
予測入力は、インストール時にはオンメモリの状態、つまり電源を切ると予測のためのデータを忘れてしまう設定になっています。電源を切っても今日使った言い回しを覚えておいてもらいたい時には、[IME2007のプロパティ]ダイアログ-[予測入力]タブ-[入力履歴]-[ファイルに保存する]を選択しておきましょう。
覚え続けさせていると何だか重くなってくるような気がしないでもありませんが、このへんはしばらく使いこんでからまたご報告したいと思います。

ちなみに。
たとえば「さる」と打ってTab→「さるべーじ」で確定、とした時に、その入力欄にフリガナ連動が仕込まれていた場合はどうなるか?これ、ちゃんとフリガナ欄に「サルベージ」と表示されましたよなんかすげぇ。

V.半角/全角キーでの入力モードが効かなくなる場合がある。

IV.なわけでしぶしぶ言語バーをデスクトップに表示するはめになってしまったわけですが。
これが出てると、私のマシンでは半角/全角キーでの入力モード切り替えができなくなってしまいました。最初は効くんですけど、2回目からはもーダメ。タスクバーに入れるとまた1度だけ効き、タスクバーから出すとまた1度だけ効くというなんともな状態でして。
他のマシンでの再現性がどこまであるのかはわからないんですけれども。
悔しいことに、Alt+半角/全角は効くんですよね。

この現象はXPマシンで言語バーが表示されている時にのみ発生します。詳細なテキストサービスをOffにしてIMEバー表示の状態だったり、それをシステムトレイに入れている状態では半角/全角ばんばん効きまくりです。

つことでどうもこれは言語バー側の問題のような気がしてきました。
言語バーはIMEではなく、OS側の機能なんですよね。のでここは日本のIMEチームではなく米国のWindowsOSチーム主体で開発されているんです。
昔っから多バイト圏てゅうかIME経由入力をすることに対して米国MSは冷たいような気がしています。VSだって「ありえない」と言われつつ、やはり英数字以外の入力でみょーな動作をすることがあるわけですし。

のでこの現象は、ひょっとしたらVista言語バーでは発生しないかもしれません。

で、だ。今さらコマンドプロンプトでもないのにAlt+半角/全角に戻りたかぁねぇやって私はどうすればいいのかと。
言語バーサイドのFixか、IMEサイドの歩み寄りを待つしかないのかと。
いやだ私はわがままなので今すぐ快適な環境にどうにかしたいと。

ということで、「窓使いの憂鬱」で半角/全角をAlt+半角/全角に割り当ててしまいました。
実害はありませんし、従来通りの動作ですし、予測入力も効くので今んとこ私としてはベストな状態となっています。

でまぁここまで、IME2007の動作の納得できなさはIMEだけに起因するわけではないということと、私の知っている限りのおもしろくなさに対しての対処法をお話ししてきたわけですが。

今のところの結論としては、

冤罪の部分も多いが、IME自身や啓蒙不足に起因している部分もまた多くある

という感じでしょうか。
私としては一応有罪(執行猶予付き)という感じで、これからも注目していきたいと思います。

今後注目していくポイントとしては、

* Trigram/SLMのクセと育て方/育てる必要があることをもっとアピールしてほしい
* 他社製ソフトとの相性を確認する手段を提供してほしい
* インストールデフォルトでそこそこツカえる状態にしてほしい

といったところでしょうか。特に最後のは大事だと思うんだけどなぁ。<<

ということで設定を変更してみました。Outlook関係の4つの辞書を対象からのぞいてみました。目を見張るほどの効果とは思えませんが、悪くはなっていないようです。念のためにOutlookを設定しておくかな。
なお、予測変換に関してはVISTAでは問題なく作動してるようです。それにしてもIMEを止めるのはどうすればいいのかな?