Konosuke Watanabe
sasug****@gmail*****
2007年 3月 4日 (日) 02:47:44 JST
こんにちは,渡辺(のすけ)です. > > 2点目ですが,private_words_default に以下のようなエントリがあると, > > 8700では変換時にクラッシュしてしまうようです(個人辞書に「,」を > > , #T37*1 、 > > . #T37*1 。 > ちょっと再現できないので、バックトレースを取るか、最小限の > private_words_defaultを送って頂くかしてもらえないでしょうか? もう少し調べてみました. フロントエンドに uimを使っているんですが,$HOME/.uim に以下のように 記述して,uim側で標準でカンマ・ピリオドが「,」「.」になるように 設定してあるとクラッシュするようです. (define ja-rk-rule (append '( (((",") . ()) ("," "," ",")) (((".") . ()) ("." "." ".")) ((("@" "@") . ()) (" " " ")) ) ja-rk-rule )) また,適当に削って作った入力データ(rawdic2)と,生成された private_words_defaultを添付します.手元の環境では,このデータで 問題が再現しました. それから,gtk-demoで「あ,」と入力して変換して落ちた際のバックトレースは 以下の通りです. なお,フロントエンドに使っているuimのバージョンは 1.4.0です. #0 0xb6775738 in anthy_mem_dic_push_back_dic_ent (se=0xb67a48a0, is_compound=0, xs=0x83e0770, wt= {pos = 1, cos = 0, scos = 47, cc = 0, ct = 0, wf = 4}, wt_name=0x0, freq=1, feature=0) at mem_dic.c:183 #1 0xb676deb4 in gang_scan (p=0xbfe03dc8, offset=29441, key=0xbfe0399c "鐚\214", n=0xbfe039a0 "#T37*1 窖200\201") at word_dic.c:264 #2 0xb67713be in anthy_textdict_scan (td=0x8265318, offset=29441, ptr=0xbfe03dc8, fun=0xb676ddc0 <gang_scan>) at textdict.c:142 #3 0xb676d95e in scan_dict (td=0x0, nr=<value optimized out>, array=0x1) at word_dic.c:305 #4 0xb676dac8 in anthy_gang_load_dic (sentence=0xbfe03fd4) at word_dic.c:335 #5 0xb67aab0c in anthy_make_word_list_all (sc=0x8272704) at wordlist.c:465 #6 0xb67adb1c in anthy_init_split_context (xs=0x82726c0, sc=0x8272704, is_reverse=0) at splitter.c:258 #7 0xb67a9d7c in anthy_do_context_set_str (ac=0x82726c0, s=0x826ac48, is_reverse=0) at context.c:363 #8 0xb67a9376 in anthy_set_string (ac=0x82726c0, s=0x82674c0 "あ,") at main.c:208 #9 0xb72426a9 in set_string (id_=0x26, str_=0xb670b45c) at anthy.c:170 #10 0xb6827505 in call (proc=<value optimized out>, args=<value optimized out>, eval_state=0xbfe04144, need_eval=SCM_VALTYPE_NEED_EVAL) at ../sigscheme/src/eval.c:381 > > それから,3点目なのですが,.anthyが空っぽの状態で, > > 以前にダンプした個人辞書を anthy-dic-tool --append で読み込んで > > private_words_default を作った場合,登録した単語の一部が > > 変換時に出てこない現象が発生します. > これは今から調べます。 こちらももう少し調べてみました. private_words_defaultが無い状態で生データを anthy-dic-tool --load に流し込んでロードした場合,生データが元々ソートされていないと, private_words_defaultもソートされていないものが出来上がってしまう みたいです. で,何度か同じデータを anthy-dic-tool --append で読み込むと, private_words_defaultの中が完全にソートされた状態となるみたいです. 添付したrawdic2の場合,最初はprivate_words_defaultで , #T37*1 、 . #T37*1 。 が一番上にくるんですが,何度か--appendしているうちにこれらが 一番下に移動します. --- Konosuke WATANABE <sasug****@gmail*****> -------------- next part -------------- #anthy 8130 # Anthyの個人用辞書 # このファイルはEUC-JPで記述すること # # 各単語のエントリは次のような形式をとります # # 読み 頻度 単語 <必須> # 変数名 = 値 <一個以上> # <空行> # # # 名詞の場合は次の例にある6つのパラメータの定義が必要です. # 下の7行をコメントアウトすると読みが「よみ」の「単語」を名詞として # 登録できます. # # よみ 1 単語 # 品詞 = 名詞 # な接続 = y # さ接続 = y # する接続 = y # 語幹のみで文節 = y # 格助詞接続 = y # # 名詞の場合、品詞以外のパラメータは y もしくは nの値をとる。 # # # # 以下に登録されている単語が続きます # 変更した場合には # cat <ファイル名> | anthy-dic-tool --load # とすることによって個人用の辞書を更新することができます。 # , 1 、 格助詞接続 = n 語幹のみで文節 = y する接続 = n さ接続 = n な接続 = n 品詞 = 名詞 . 1 。 格助詞接続 = n 語幹のみで文節 = y する接続 = n さ接続 = n な接続 = n 品詞 = 名詞 あかいなん 1 阿会喃 品詞 = 人名 あくのりっじ 1 アクノリッジ 格助詞接続 = n 語幹のみで文節 = n する接続 = n さ接続 = n な接続 = n 品詞 = 名詞 あにじゃ 1 兄者 格助詞接続 = n 語幹のみで文節 = y する接続 = n さ接続 = n な接続 = n 品詞 = 名詞 あねじゃ 1 姉者 格助詞接続 = n 語幹のみで文節 = y する接続 = n さ接続 = n な接続 = n 品詞 = 名詞 おんちっぷ 1 オンチップ 格助詞接続 = y 語幹のみで文節 = y する接続 = n さ接続 = n な接続 = y 品詞 = 名詞 けい 1 薊 品詞 = 地名 けいしゅう 1 荊州 品詞 = 地名 けいね 1 慧音 品詞 = 人名 -------------- next part -------------- あかいなん #JNM*1 阿会喃 あくのりっじ #T39*1 アクノリッジ あにじゃ #T37*1 兄者 あねじゃ #T37*1 姉者 おんちっぷ #T15*1 オンチップ けい #CN*1 薊 けいしゅう #CN*1 荊州 けいね #JNM*1 慧音 , #T37*1 、 . #T37*1 。