namazu-ml(avocado)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

pnamazu-98.04.16



古川です。

perl 版検索クライアントを別便にて高林さんに送ります。

# 1. おそらくバグがあります。
# 2. 私の身のまわりの、ごく限られたデータしかテストしていません。
# 3. エラー処理の類は、充実していません。

# 履歴 
#       '+': 新規仕様
#       '?': 試験的仕様
#       '*': 本体以外の仕様
#       '!': 修正
# 98.04.16
#   ! 前方一致検索ができなくなっていたのを修正                  (1)
#   ! 単語分解がうまくいかないケースがあったのを修正            (2)
#   ? ひらがな語の扱いを見直し                                  (3)
#   ? カタカナ語に限り、中間一致検索ができるようにした          (4)
#   * そのためのデータベース作成スクリプト 'ktnmz.pl' 添付

(1) 内蔵わかち書き処理により、2 byte 文字と '*' が分けられてしまい、前
    方一致検索であることが、検索ルーチンに渡らなくなっていました。

(2) 単語分解の侯補となる語を、今までは二分探索の途中で判定していたので
    すが、それだと、本来あるべき語を通り過ぎるケースがありました。

    修正して、しっかり探すようにしました。
    が、その分速度が遅くなったような気がします。

(3) 内蔵わかち書き処理では、辞書が無いため、送り仮名まで含めて分解でき
    ることは少ないように思います。すると、分解したときに、送り仮名が次
    の単語になってしまい、見つからない、ということになります。

    また、mknmz で HiraganaOpt を使っていると、ひらがな語が見つからない
    ために全体がヒットしない、というのがちょっとイヤです。

    かといって、検索対象から全く削除してしまうと、本当に探したいときに
    困るし、せめて参考ヒット数は知りたい。

    といったケースを考慮した落としどころとして、

        ヒットしなかったひらがな語は、演算対象としない

    という仕様を採用しています。


(4) インデックス中で、カタカナ語はひとまとまりで登録されてしまうので、
    例えば「ヤマハサイレントアンサンブルピアノ」はそのまま登録され、こ
    こから「アンサンブル」を検索に引っかけることはできませんでした。

    今回は、カタカナの並び->登録単語の表を作り、それをもとに中間一致検
    索ができるようにしてみました。

    「カタカナ語に限り中間一致検索可能」という仕様は、文章にすると、ち
    ょっとカッチョワリイ気もしますが、自分では、「こりゃ使える」と思っ
    ています。
    


話は変わりますが

>> On Thu, 9 Apr 1998 19:26:53 +0900, Rei FURUKAWA <furukawa@xxxxxxxxxxxxxxxx> said:
  >>> 話はさらにそれますが、lynx が 2.8 になったら、フォームに日本語が使えな
  >>> くなってしまいました。うーむ。
  >> 私のところ (Linux) では問題なく使えていますが…。

私のところでも、FreeBSD ならば問題ないことが分かりました。でも SunOS は
やっぱダメ。うーむ、何がいけないんだろう。

-- 

                                        ヤマハ(株)ピアノプレーヤ設計課
                                                              古川 令
                                             furukawa@xxxxxxxxxxxxxxxx