タイトル取得の続き&低頻度辞書とのマッチ

 前回作成していたWikipediaタイトル取得プログラム「getCategoryBio.pl」について、カテゴリの階層をどれだけたどるかを制限できるようにし、頭のカテゴリからとりあえず2階層だけ探索するようにしました。

$limit =2; #呼び出し階層制限
&scanWikiCategory($wikiTemp . "生物学", $limit);

sub scanWikiCategory {

if ($_[1] <=0) { #第2引数の階層制限チェック
$tree->delete();
return;
}
}

として続行するかどうか決めさせています。このようにして「Category:生物学」から、約10000ページ名を取得することができました。

 その後、得られたwikiページ名と、低頻度辞書を正規表現でマッチするか調べ、マッチしない単語を出力抑制辞書に登録するプログラム「dicMatcher.pl」を書き始めました。とりあえず2つの辞書の相互マッチを調べるところまで作りました。

foreach $i (@low_dic) {
$notMatched =1; #フラグを初期化

foreach $line (@wiki_dic) {
if ($i =~ /\Q$line/) {
$notMatched =0;
last;
}
elsif ($line =~ /\Q$i/) {
$notMatched =0;
last;
}
}
}

のようにして、$notMatchedのフラグを書き換えています。次回以降、低頻度辞書の評価をいろいろ試してみたいと思います。