Happy My Life

日常とか技術とか

mozcで半角英数字をサジェスト対象にする

最近は、もっぱらmozc(Google日本語IME)を利用している。その魅力はなんといってもUbuntuで快適に動作すること。

ただ、すべてに満足しているわけでもなく、ここ最近の不満に思っていたのが、「以前入力した半角英数字が、サジェスト対象とならない事」。 これは以前のバージョンではできていたのだが、バージョンアップに伴いできなくなっていた。

これは以下のような理由らしい。

1.1.770.0以降、半角英数字の入力履歴への学習は行われなくなりました。理由としては、パスワード/電話番号/クレジットカード番号などといったプライバシーセンシティブなフレーズがサジェストされると気がかりだという意見を反映してのものです。 現状では、半角英数字すべてが対象となっていますが、F10などユーザが明示的に行ったものに関してはその制約を緩めるといった対策を考えていきたいと思います。プライバシーと有益さはトレードオフの関係にあります。みなさんのご意見をお待ちしております。 1.1.770.0にVer.UP後から半角英数字を学習しません - Google グループ

技術書を執筆していると様々な独特の英単語が多く登場するので、半角英数字のサジェスト機能は非常に便利だった。このおかげで、スペルミスを減らす&入力を軽減できていたので。しかし、バージョンアップで、これができなくなっていろいろ不便に思っていた。

ということで、ふと思い立って、この半角英数字のサジェスト機能を復活させることに(それ以上の凝ったことはしてない)

変更箇所

半角英数字のサジェストを復活させたい場合は以下の箇所を無効化(コメントアウト)するとよい。それだけ。

prediction/user_history_predictor.cc 1375行前後

//  if (IsPrivacySensitive(segments)) {
//    VLOG(2) << "do not remember privacy sensitive input";
//    return;
//  }

このIsPrivacySensitive関数で、入力文字が半角英数字であるか判断し、英数字であればtrueを返してサジェスト対象から外している。

あとは、ビルドして生成されたライブラリなどを/usr/lib/mozcディレクトリなどにコピーすることで解決する。

このmozcのソースコード取得、ビルドなどは、Ubuntu × google 日本語入力 Mozc = 最強! - 箕面市役所Edubuntu日記を参考にした。

これで半角英数字も、サジェスト対象となった。これで快適。

Google誕生 —ガレージで生まれたサーチ・モンスター
デビッド ヴァイス マーク マルシード
イースト・プレス
売り上げランキング: 84283