2007年10月3日の日記の1番目の記事へのコメント
■Anthyの謎の再変換対策
いつ頃からなのかはわかりませんが,ふと気がつくと,なぜか句読点やその他の記号を変換すると「きごう」とかが候補に出てくるようになっちゃいました.あと全角アルファベットを入力して,間違えて変換しちゃうと日本語読みになったり.しかも全部読み仮名にならずに,半端に一部だけカタカナ読みになるのが腹立たしいw
一体何が原因なんじゃろう・・・.alt-cannadicを新しくしてるから? それとも,ekatoさんに教えてもらった「なまちゃ」対策を適用しているから? というわけで調べてみたところ,前者はどうも mkworddic/base.t に「きごう #KJ 〓 ↓ ↑ ← → 〒 ※ ▼ ▽ ▲ △ ■ ・・・」というごっついエントリがあるからっぽいです.こいつを消したら出なくなりました.
一方,後者は今まで gtankan.ctdに「えっち #KJ*5 H」のように大文字しか候補になかったのが,alt-cannadic-070918 で「えっち #KJ*5 H h」みたいに小文字も入ったことが原因の模様.試しに大文字でやってみたら,9100cで,alt-cannadicを置き換えなくても出ました.
うーん,記号はエントリ消せばいいとして,アルファベットを入力することを考えると,こっちは小文字もあった方がいいよね.仕方ないなぁ,のび太くんは.
・・・って何でひらがな以外を再変換しようとするんじゃコンチクショウ! そこがおかしい.ていうか再変換って,デフォルトで有効なんだっけ?
あれ,base.tの上記のエントリ消しても,「きごう」で変換すると,記号が出てきますよ?もちろん,「,」とか「\」を入力して変換しても「きごう」は出てこないのに.こ,これは一体?
gtankan.ctd を見ると「きごう #KJ*5 - 、 。 , . ・ : ; ? ! ゛ ゜ ´ ` ¨ ^ ‾・・・」というエントリがあります.base.t との違いは頻度情報がついていることくらいか・・・? というわけでbase.tの方のエントリの「#KJ」を「#KJ*5」にしてみたら,消さなくても記号を変換して「きごう」が出なくなりました.ほう.
じゃあ何で同じ「#KJ*5」なのに,「HOGE」は「エッチOGE」になっちゃうんですかねー.ていうか何で「エッチ」は出るのに「エイチ」は出ねーんだうおー.うは,「O」とか「G」を変換すると漢字が出てくるし(笑)
・・・もうちょっと粘ろうかと思ったんですが,頻度下げても状況が変わらなかったので,辞書いじるのはやめて再変換自体を潰すことにしました.grepしたら即見つかったのでお別れです.日本語コメント素晴らしい.
--- src-main/context.c.org 2007-05-04 07:52:19.000000000 +0900 +++ src-main/context.c 2007-10-03 23:17:33.000000000 +0900 @@ -251,7 +251,7 @@ ac->prediction.nr_prediction = 0; ac->prediction.predictions = NULL; ac->encoding = encoding; - ac->reconversion_mode = ANTHY_RECONVERT_AUTO; + ac->reconversion_mode = ANTHY_RECONVERT_DISABLE; return ac; }
ってこんなことしてる場合じゃねー.うお,「如く」が出ねーorz
[コメントを書く]
2007年10月3日の日記の1番目の記事へのコメント
ありがとうございます.
> うお,「如く」が出ねーorz
「あら?以前対処した覚えがあるんだけどな」と思って見直してみたら、してませんでした orz
どうも、どう対処するか迷ったまま忘れてたらしいです。すみません。
ご指摘感謝です。
あと、alt-cannadic-070815 以降なら base.t は外して(もしくは空にして)構いません。必要なものは取り込み済みなので。
再変換は自分もよく分かってませんが、思いつくままに書くと、
1. 複数の読みがあっても選べない(どういう基準でどれが選ばれるかは anthy が決める)
(ちなみに選べないのは数年前まで atok でもそうだったと思います)。
2. 「HOGE」がブツギリにされるのは「HOGE」という語が辞書にないから。
「ほげ #T35 HOGE」を登録すれば一語として認識されるハズ
3. 辞書にある語でも変なところで区切られるのは anthy が賢くなれば解消されると思う(多分)
4. 単純に辞書を逆に引いて選択された語(文節)の読みを調べ、それと同じ読みの候補を
リストアップしてるだけだと思うので、アルファベットか否かというのはそもそも
気にしていないと思う
5. カタカナ語を再変換してもひらがなの候補が出ない(カタカナのみ)
6. 頻度を付けたら再変換しても「きごう」がでなくなったのは、頻度を付けたことで
(複数の読みがある場合にどれを選ぶかの)順序が変わって「きごう」が選ばれなく
なったからでしょうか(1. の状況)。よく分かりません。
つまり、alt-cannadic でうまいこと行っているように見えるのはたまたまです。
7. 「悪ー」とかは再変換に限らず「おー」で普通に変換したときでも出るのではないか
と思いますが(今ちょっと手元にないので確認できません)、長音記号に限らず、
「じょ」「てぃ」とかの拗音でも、anthy は昔から一文字とは見てくれず、二文字
として扱うので、他にも「じょしゅ」で「女子ゅ」とかになると思います。
canna は「じょ」を一文字として扱ってくれる(「じ」と「ょ」の間で区切ったり
しない)ので、こういうことは起こらないんですが。
「ー」と「っ」は仕方ないかなという気もしますが、せめて拗音は…。
こんな感じじゃないかなと自分は思っています。
# nosuke さんの日記は自分が気づいていないことを教えてくれるので、
# 非常に参考になります。また気づいたことがあったらお願いします。
実はChange Logか何かでそれを知ってから,毎回base.tは空にしてビルドしてたんですが,今回たまたま空にし忘れてインストールして現象に気づきました.
# 昔は,「うまー」で全角の「(゜Д゜)」が出るのが凄く嫌で,そこだけ消してました(笑)
> 1. 複数の読みがあっても選べない(どういう基準でどれが選ばれるかは anthy が決める)
なるほど全パターンやってくれるわけじゃないんですね・・・.
> 他にも「じょしゅ」で「女子ゅ」とかになると思います。
>「ー」と「っ」は仕方ないかなという気もしますが、せめて拗音は…。
お,自分の所だとそういう切り方出ないっすね.
これが「なまちゃ対策」の効果なのかな?
http://garakuta.homelinux.org/~nosuke/diary/diary.html?y=2007&m=9&d=17&n=1#17-1
> # nosuke さんの日記は自分が気づいていないことを教えてくれるので、
> # 非常に参考になります。また気づいたことがあったらお願いします。
(;´Д`)'`ァ'`ァ
まあ,気づいたことはネタにしたがるところがあるので,また何かあれば無責任にぐだぐだと書いてしまうことでしょう.参考になるかどうかは分かりませんが・・・
> これが「なまちゃ対策」の効果なのかな?
あ、そうですね。それのこと忘れてました(^^;
ところで、
> 1. 複数の読みがあっても選べない(どういう基準でどれが選ばれるかは anthy が決める)
これですが、よく考えたら自分はscim-anthy上で使ってみただけで、本当にanthyが一つしか使ってないのか確認したわけではなかったので、一応撤回させてください。「anthyは複数の読みを送ってきてるのにscim-anthyが最初のものしか使ってないという可能性も一応考えられるな」と気づいたので。適当なこと言ってすみません。
それと、
> 5. カタカナ語を再変換してもひらがなの候補が出ない(カタカナのみ)
これは「そのカタカナ語が辞書に登録されていない語の場合」というのが抜けてました。補足します。
いい加減な人間で面目ないです。
ぬぬ,uimでは,カタカナモードで入力して変換すると,普通にひらがなの候補も出てくるようです.たとえばカタカナモードで「ペ」を入力して変換すると,ひらがなの「ぺ」が出てきます<フォントによってはどっちがどっちかまったくわかりませんな・・・これは恐ろしい・・・
> いい加減な人間で面目ないです。
いい加減さなら負けませんよ(・∀・)