namazu-dev(ring)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: kwnmz
古川です。
From: Rei FURUKAWA <furukawa@xxxxxxxxxxxx>
Subject: [namazu-dev 441] Re: kwnmz (Re: vfnmz)
Date: Wed, 15 Sep 1999 02:36:50 +0900
Message-ID: <199909141726.CAA03887@xxxxxxxxxxxxxx>
furukawa> とりあえず、デフォルトで全単語が登録されます。その他の説明書きは、
furukawa> これから書きますので、しばらくお待ちを。
kwnmz のオプションですが、いまのところ、次のようになっています。
-b, --no-backup バックアップファイルを作らない
-m, --no-meta meta tag による field を保護しない
kwnmz では、自分で作る行には、行頭に空白を 1 文字入れています。
そして、元の NMZ.field.keywords を読んで、空白以外で始まる行は、
書換えず、そのまま残すようにしています。-m オプションを指定すると、
元ファイルを読まないようになります。
-n num 一つのファイルあたりのキーワード数 (初期値: 10)
-l max_length この値より長い語は、キーワードとしては無効とする
(初期値: 16)
-r max_rate ヒット数が、(全ファイル数) * (この値) より多い語
は、キーワードとしては無効とする (初期値: 0.5)
「ヒット数が多いものは、どうせ tf/idf 的に低い値になって、使われ
なくなるんだから、このオプションはいらないやん」と思われる方もい
らっしゃるかもしれませんが、その通りです。
ただ、kwnmz では、単語表を、いったん全部読み込んでいるので、メモ
リの使用量がどのくらいになるか、よく分からないため、いちおう、こ
のオプションを用意しました。
-e pattern ASCII 文字列に適用するパターン。パターンにマッチ
する語だけがキーワード候補となる。
-E -e /^[\da-z_]{3}/ と同じ。
-j pattern ASCII でない文字列に適用するパターン。パターンに
マッチする語だけがキーワード候補となる。
-J -j /(^(\xa5.){3})|(^([\xb0-\xf4].){2})/ と同じ。
パターンを指定しないと、全ての語が候補となります。
!/pattern/ のようにすると、「パターンにマッチする語を除外」します。
-E には、より適切な値があるような気もします。
-J の意味は、「カタカナ 3 文字以上、または漢字 2 文字以上」です。
ところで…
今回、kwnmz/gcnmz に関する commit をしたのですが、それぞれの *.pl.in
に実行属性がついてしまい、高林さんに御迷惑をおかけいたしました。
# commit の報告自体も遅れてしまい、申し訳ありません。
私は、わりと有名と思われる、
(add-hook
'after-save-hook
'(lambda ()
(save-restriction
(widen)
(if (string= "#!" (buffer-substring 1 (min 3 (point-max))))
(call-process "chmod" nil nil nil "u+x" (buffer-file-name))))))
を使用しているのですが、とりあえずは、これを使わないことにします。
これだと、'#!' で始まるファイルには、chmod u+x してしまうのですが、こ
れを「#! で始まり、先頭行に @ を含まないファイル」にする方法を、御存知
の方はいらっしゃいますでしょうか?
# 内容の分からないまま使用しているのが、そもそもよくないのですが…
--
Rei FURUKAWA
furukawa@xxxxxxxxxxxx