namazu-ml(avocado)


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

pnamazu-98.04.21



古川です。

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

今回は、

    「2 byte 文字中間一致」の実験版です

    テストが不完全かもしれません (いつものことですが)

    「カタカナ中間一致」も残ってしまっています (いずれ廃止します)

    ドキュメントも書いていません

というわけで、公開版ではなく、proto にでも置いてやってください。


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

# 履歴 
#       '+': 新規仕様
#       '?': 試験的仕様
#       '*': 本体以外の仕様
#       '!': 修正
# 98.04.21 (proto)
#   ? 2 byte 文字の中間一致検索ができるようにした
#   * そのためのデータベース作成スクリプト 'mbnmz.pl' 添付

使いかたは、カタカナ中間一致とだいたい同じですが、

    中間一致用のデータベースのファイル名は NMZ.m および NMZ.mi です。

    中間一致させるには、'*中間一致*' のように、語の前後に '*' をつけて
    ください。

    '前方一致*' や '*後方一致' もできます。(バグがなければ)

これをもとに、自分のところで実験してみました。

[\xa1-\xfe] の 94 文字の組み合わせで表を作ったので、NMZ.mi のサイズは
94 * 94 * 4 = 35344 バイトです。

    NMZ.i のサイズ      1681273
    登録単語数            16566
    うち 2byte 文字語数    6542
         2byte 文字数     21919
    NMZ.m のサイズ        87676

以前申しましたように、私のところでは、極力、ひらがなや記号を排除した運
用をしていますから、1 バイト / 2 バイトの語数の割合は、普通とは違うか
もしれません。

>> On Sat, 18 Apr 1998 00:27:23 +0900, Satoru Takabayashi <ccsatoru@xxxxxxxxxxxxxxxxxx> said:
  > だと思います。『ホノルル』みたいに一語に同じ文字が使われていると少
  > しは効率が上がるかな。扱いが変わってくるけど英語の単語についても同

という処理は今のところしていないです。


  > # 2byteで考えた場合、英語には "th" や "he" のような大人気の bigram 
  > # があるからその辺がちょっとネックになりますね。

ここでは単語のヒット数ではなく、「種類の数」が関係してくるので、きっと
'er' とかの方が人気でしょう。

-- 

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