Location : Home > Languages > Perl > Package Title : Statistics::Burst |
![]() |
Statistics::Burst - Word Burst アルゴリズムの実装
use Statistics::Burst; my $burstObj=Burst::new(); $burstObj->generateStates(3,.111,2); $burstObj->gamma(.5); $burstObj->setData(\@gap_space); $burstObj->process(); $statesUsed=$burstObj->getStatesUsed();
この Burst モジュールはクラインバーグのワード・バーストアルゴリズム(Kleinberg's Word Bursts algorithm)の実装である。
アルゴリズムに関する論文は http://www.cs.cornell.edu/home/kleinber/bhs.pdf にある。
このアルゴリズム実装が行うことは、いくつかのパラメータが設定されたときにドライバコードが数のリストを渡すことである。数のリストは異なる到着間の時間である。店の入り口に人が 8:10, 8:20, 8:25, 8:30 に到着するとモデル化すると、 Burst に渡される数のリストは (10,5,5) となる。
バースト(burst)は到着とレートによる定義されるワードの多さをモデル化するために用いられる。例えばスラッシュドットからの RSS タイトルを監視しているとしよう。ワードがタイトルに現れたらワードが到着したと見なすことができる。このときの到着レートはあるワードが1日にどれくらい到着するか、または、1ハンドリングあたり何回ワードが現れるか(これは通常 1 より小さい)で評価できる。この情報により、Burst 関数によって処理される分離リリストを構築できる。
new
$burst=Statistics::Burst::new();
burst オブジェクトを返す。
setState($lamba, [$index])
$burst->setState(.112); $burst->setState(.24,1);
特定の状態の lamba を設定または変更する。$index が指定されていなければ新たな状態を生成する。
generateStates($count,$rate, $sigma)
$burst->generateStates(4,.123,1);
状態を生成するデベロッパ。生成すべき状態の数 [$count] を 状態 0 に対する初期レート [$rate] 及び状態変化にどれくらいかかるかを示すパラメータ sigma を指定する。sigma が高ければ状態からの変動が大きい。
gamma($gamma)
$burst->gamma(2,);
移行コストに対するパラメータ。値が大きいほどより高位に移行するためにコストが必要。
setData($gap_space)
$burst->setData([4,5,6,3,4,2]);
処理すべきデータを設定する。
process
$burst->process();
burst の計算を開始する。
getStatesUsed
$array_ref=$burst->getStatesUsed();
データセットにおける各ステップに対する処理の状態を返す。
Copyright 2004-2005, Tommie M. Jones All Rights Reserved.
本ライブラリはフリーソフトウェアであり、Perl 本体と同等の条件で修正/再配布してもよい。
![]() |
Updated : 2007/07/27 |