morit****@razil*****
morit****@razil*****
2005年 10月 29日 (土) 12:46:29 JST
>>> Daisuke Maki さんは書きました: > 最新版のSennaでPerlのSenna-0.08をコンパイルしたら、morphテストがおちてし > まいます: これはテストに合格しないということでしょうか? それともエンジンが(プロセスが)落ちてしまうということでしょうか? 後者だとしたらbugです。。(でも僕の手元では再現しないです) 前者に関しては今回エンジンのデフォルトの挙動を変更したのが原因です。 sennaでは検索時に適合率と再現率のどちらを重視するか決めることができますが、 今回の版ではデフォルトで再現率をやや重視する設定に変えました。 「本語」で「日本語」がヒットするようになったのはそのせいです。 ちなみにbasic APIを使う場合は、/var/senna/senna.confの中で PARTIAL_MATCH_THRESHOLD に数値を指定してこの挙動を制御できます。(デフォルト値は10です) 形態素の区切りで検索した結果の数がPARTIAL_MATCH_THRESHOLDの値以下だった場合は、 部分一致で再度検索して結果に加えます。 PARTIAL_MATCH_THRESHOLD -1 とすれば、部分一致による再検索は行いません。 advanced APIを使用すればこうしたマッチングポリシーを きめ細かくアプリケーションから制御できるようになります。 なお、MySQLバインディングでは現状ではbasic APIのみを使用していますが、 in boolean modeではadvanced APIの機能を使えるようにする予定です。 -- morita