2009年11月09日

効いてるかどうかが分からない - 【追記】11/9,11/10,11/12

~/.anthy/conf の CANDIDATE_STRUCT_PROB_WITHOUT_CORPUS と CANDIDATE_SCORE_CORPUS_UDICT の値を色々変えて区切りと候補の並び順がどう変わるか見てるんですが、値を変えても一向に変化がない…。

違いが出るような文に当たってないのかなぁ…

【追記】11/9

反応してしまっていいのか分からないけど、ちょっと気になったので…。

> 単に環境設定ファイルを書き換えただけでは、再読み込みは行われません。
この辺は大丈夫です。
(自分が何をやったか書かなかったのがいけないですね。すみません)。

> CANDIDATE_STRUCT_PROB_WITHOUT_CORPUS は、
> 私が試した時も、一向に違いが判りませんでした。
あらま。

> CANDIDATE_SCORE_CORPUS_UDICT は、
> 例の例文の「|暑いかもねえ|。|」が有る状態で、
> 学習が無い、もしくは anthy-agent --anonymous にて学習を無視した状態にして、
> 「あつい」を変換した時と、「あつい。」を変換した時で比べてみると、並び順が違います。
> 学習が有る状態だと、「あつい」を学習した結果の方が強く影響する筈です。
んん?
これは、例文で「暑」と「。」の用例ペアが作られ、

「あつい」→ ペアの「。」がないので、用例機能は発動せず、「熱い」になる
「あつい。」→ ペアの「。」があるので、用例機能が発動し、「暑い」になる

ということで、「用例機能が発動するかしないか」の話ですよね。

CANDIDATE_SCORE_CORPUS_UDICT は「corpus 由来の用例機能が発動した場合の効き具合」のパラメータだと思ってたんですが、また勘違いしてますでしょうか?

例えば、辞書が
かみ #T35*301 神 #T35*300 紙 髪 #T30*250 加味 #T35*250 かみ 上 #T35*200 カミ #T35*151 守 (以降、省略)
で、例文に(corpus.x.txt:60)
|ながい|かみを|ひるがえして| |長い|髪を|翻して|
がある場合、
CANDIDATE_SCORE_CORPUS_UDICT が「1」だと、corpus 由来の用例機能がほとんど効力を発揮せず、「かみをひるがえして」が「を|翻して」になるが、「800」とか大きい値だと、効力を発揮して「を|翻して」になる、というような動作をするのかと思ってたんですが…。

【追記】11/10
またまた勝手に引用してしまいますが、
『「発動して効いている時」と
「発動せず効いていない時(あるいは CANDIDATE_SCORE_CORPUS_UDICT 0 の時)」での、
候補の並び順の違い』と、誤解しました。


ざっと例文を見た感じですと。

例文「|ふゆが|きた| |冬が|来た|」にて。

「|ふゆが|きた|」を変換した時に、
150 以下に設定すると「|冬が|着た|」になって、
151 以上に設定すると「|冬が|来た|」になる(春夏秋冬朝夜にてたぶん同様)。
# 「着た」と「来た」で、コーパスによる確率値が同じなので、あとは単純に辞書の頻度値の差が 150 である所が効いてくる。

「|きたの|ふゆ|」
→「|北の|冬|」
→ CANDIDATE_SCORE_CORPUS_UDICT を 2000くらい以上にすると「|来たの|冬|」
# 「北の」と「来たの」で、コーパスによる確率値が大きく違うので、並び順が変わるのに必要な値が大きくなる。

「|きたの|ふゆ|」
→「|北の|冬|」、
→ CANDIDATE_STRUCT_PROB_WITHOUT_CORPUS を 1.0 の CANDIDATE_SCORE_CORPUS_UDICT を 200 くらい以上にすると「|来たの|冬|」
ああ、CANDIDATE_STRUCT_PROB_WITHOUT_CORPUS が効く例が、なんか偶然見つかりましたね。
「SEG_HEAD+Ne+Se+たの」は、コーパス情報が無い模様です。

と言う辺りでしょうか。
「髪」がらみや、「言っ」周辺でも、ありそうです。

なるほど、ご説明ありがとうございました。
もうちょっといじってみます。

が、その前に、また update_params が通らなくなって困ってます orz
calctrans/parsed_data が 0バイトのまま増えず、いつまで経っても終わりません。
(さっき 2009Y10 版も試しましたが同様でした)。

【追記】
原因判明。
~/.anthy/conf をリネームしたら通りました。
多分、学習量を極端に小さくしていたせいだと思います。

お騒がせしました m(_ _)m

# update_params 時に ~/.anthy/conf を見ないようにするにはどうすればいいんだろう?
# あと、update_params 時の例文変換の結果を last-record* に吐き出さないようにしないと、色々マズい気がするけど、これもどうすれば…

【追記】11/12
「update_params 時に ~/.anthy/conf を見ない」
> 環境変数 ANTHY_CONFFILE にて、使用する設定ファイルを指定/変更することができます。
> % env ANTHY_CONFFILE=${HOME}/.anthy/conf_for_update_params make update_params
おお、ANTHY_CONFFILE なんて環境変数があったんですね(そう言えばどこかで見かけた気が…
ありがとうございます。

「update_params 時の例文変換の結果を last-record* に吐き出さないように」についても、対処して頂けました
ありがたや。

posted by vagus at 00:24| 東京 ☀| Comment(0) | TrackBack(0) | 日本語入力 - アプリ | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック