namazu-dev(ring)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: How to get tf value? (長文注意)
小松です。
On Tue, 26 Oct 1999 03:05:47 +0900
Mr. Rei FURUKAWA <furukawa@xxxxxxxxxxxx> wrote:
>
> 実は、私は、「perl 流の SYNOPSIS と EXAMPLE」「Data::Dumper」につ
> いて、よく知らないのです。この点について、御指導いただけると、あり
> がたいです。
いや、私も詳しくないのですが(^^; SYNOPSIS とか EXAMPLE に
ついては、 CPAN モジュールについてるやつです。たとえば、次の
ような感じです。
> __END__
>
> =head1 NAME
>
> Data::Dumper - stringified perl data structures, suitable for both
> printing and C<eval>
>
>
> =head1 SYNOPSIS
>
> use Data::Dumper;
>
> # simple procedural interface
> print Dumper($foo, $bar);
(中略)
> =head1 EXAMPLES
>
> Run these code snippets to get a quick feel for the behavior of this
> module. When you are through with these examples, you may want to
> add or change the various configuration variables described above,
> to see their behavior. (See the testsuite in the Data::Dumper
> distribution for more examples.)
>
> use Data::Dumper;
>
> package Foo;
> sub new {bless {'a' => 1, 'b' => sub { return "foo" }}, $_[0]};
Dumper は、私もつい最近使い始めたのですが、結構いけてます。
複雑なハッシュやアレーをファイルに吐き出したり、読み込んだり
プリチイにプリントするのに便利です。
------------------- キリトリセン -----------------------
use strict;
use IO::File;
use Data::Dumper;
my $Cluster = { # ref_hash
c001 => [1,],
c002 => [10,],
c003 => [22,],
c004 => [30,],
c005 => [40,],
c006 => [50,],
c007 => [60,],
c008 => [80,],
c009 => [130,],
c010 => [140,]
} ;
my $fh = new IO::File;
$fh->open("> d.dmp"); # ハッシュを保存するファイル
$Data::Dumper::Indent = 0; # インデントしない
print $fh Dumper($Cluster), "\n"; # ハッシュの吐き出し
undef $fh;
my $c2 = require('d.dmp'); # 今のファイルからハッシュを読み込む
my $sample = 'c009'; # ちゃんと読んだかテストしてみる
print $sample, '=>' , @{ $$c2{$sample} }, "\n";
$Data::Dumper::Indent = 1; # インデントする
print Dumper($c2), "\n"; # 美麗にプリント
__END__
> これを出力することは、できるとは思うのですが、単純にやると、結局、
> インデックスを全部読みこむことになります。環境 & データの規模によっ
> ては、メモリが心配になるのですが…
>
> 小松さんの想定する使い方について、教えてください。
>
> (1) 同じデータを複数回参照しますか?
> (2) 最終的に、全てのデータを参照しますか?
#あう、メモリの問題がありますね。たしかに。
(1) (2) ともに、yes であります。
> &score($document_number, $word) のような関数
これがあれば、gnmz 的には全然オッケーです。
言い忘れましたが、$word ごとのファイル数(1.3.x
の hit * 2 の "hit")の出力もお願いします。
> ここは、「検索」と「分類」の違いでしょうか。
>
> 検索の場合は、結果の文書を読むことが目的なので、ある程度少なく絞り
> たいですが、分類の場合、少ない文書に分けると、逆に分類数が多くなる
> ので、あまり嬉しくないですね。
>
> ヒット数の評価を、中程度 (直観的には、「文書数**0.5」くらい?) で
> ピークにくるようにするのがいいかもしれません。
なるほど。試行錯誤で決めてくしかないかもしれませんね。
*-------------------------------------------------------
Hiroshi Komatsu <sui_feng@xxxxxxxxxxxxx>
URL http://home2.highway.ne.jp/sui_feng/index.html