Taku Kudo
taku****@chase*****
2009年 7月 19日 (日) 03:37:38 JST
2009/07/16 7:48 に t.kuriki<mikic****@gmail*****> さんは書きました: > はじめて投稿します > > クリキです > よろしくお願いします > > 長い単語にautolinkがはれずに悩んでいます > > - 実行例 > mecab -d /usr/local/lib/mecab/dic/autolink > 神奈川新聞花火大会 > <a href="省略">神奈川新聞</a><a href="省略">花火大会</a> > > - url.csv > 神奈川新聞花火大会,0,0,-32768,省略 > 神奈川新聞,0,0,-23237,省略 > 花火大会,0,0,-16627,省略 区切りの候補が複数ある場合は、コストの和が小さい方が使われます。 -23237 + (-16627) = -39864 < -32768 なので、分割されるほうが優先されます。 神奈川新聞花火大会 のコストを -39864 より小さくすればいいのですが、cost の範囲は 16bit の符号あり整数なので、-32768 より小さくすると、アンダーフローします。 最長一致して欲しい場合は、アンダーフローに中止しつつ 単語の長さに比例以上のスケールで小さくなるようなコスト関数にする必要があります。 一般には、-C * ( length(単語) ^ 1.2) のような関数にして、C を適当に調節してみてください。