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