[Anthy-dev 3394] Re: anthy-8700

Back to archive index

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 。


Anthy-dev メーリングリストの案内
Back to archive index