Namazu-devel-ja(旧)


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

Re: 「プロ野球チームをつくろう」検索問題



古川です。

# 最近、全く貢献できなくて、申し訳ありません。この状態は、もう少し
# 続きます。うーむ。

From: osamu okano <osamu2001@xxxxxxxxxxxx>
Subject: [namazu-devel-ja] Re: 「プロ野球チームをつくろう」検索問題
Date: Wed, 26 Apr 2000 01:17:22 +0900

osamu2001> 解決策はkakasiが「を」を特別扱いしないことと
osamu2001> { プロ 野球 チーム をつくろう* }のように、
osamu2001> perl版のnamazuクライアントのように前方後方一致とフレーズ検索
osamu2001> の組み合わせが可能になることです。

このケースで、perl 版ならば、

    *プロ野球チームをつくろう*

で検索可能です。

ちなみに、perl 版がどういう処理をしているかと言うと…

まず、前処理としてのわかち書きですが、ここでは、1 byte 文字と 2 バイト
文字を分けるだけで、いわゆる、日本語のわかち書きは、行なわれません。

日本語のわかち書きは、検索時に、ついでに行なわれます。

(検索 1)
「*プロ野球チームをつくろう*」を探します。しかし、当然見つからないので、
条件にあう、なるべく長い語として、「*プロ」が採用されます。

この時点で、検索文字列は、「*プロ 野球チームをつくろう*」となり、
「*プロ」の展開形として「プロ」、インデックスの内容によっては、
「ワープロ」なども見つかれば、抽出されます。


(検索 2)
「野球チームをつくろう*」を探します。しかし、当然見つからないので、
条件にあう、なるべく長い語として、「野球」が採用されます。

この時点で、検索文字列は、「*プロ 野球 チームをつくろう*」となり、
同様に繰り返して「*プロ 野球 チーム を つくろう*」となります。


(検索 5)
最後に「つくろう*」を探します。これは、「つくろう」の他に、「つくろう
です」「つくろうだ」などが見つかるかもしれません。


osamu2001> この話はすべてchasenを使わないと仮定しての話です。

perl 版では、純粋にインデックスだけを見てわかち書きするので、インデッ
クス作成時に使うのが kakasi でも chasen でも、関係なく動きます。

# というつもりでいるけど、chasen を使ったことはないので、実はよく分か
# りません


「ユーザが、『どんな風にわかち書きされるか』を知らなくても使える」こ
とは、わりと重要な性質だと思っているので。


From: Satoru Takabayashi <satoru-t@xxxxxxxxxxxxxxxxxx>
Subject: [namazu-devel-ja] Re: --html-split (namazu-bug#10)
Date: Wed, 26 Apr 2000 11:58:38 +0900

satoru-t> これらの問題を解決するには思いきった書き直しが必要です。いつ
satoru-t> になったらやる気が起きるかな…。

思いきった書き直しの際には、この部分は私が書きましょう。


-- 

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