10 Ağustos 2007 Cuma

Text synonymizer - unintelligent text rewriter

use WordNet::QueryData;
use Lingua::EN::Tagger;

my $t = new Lingua::EN::Tagger;
my $wn = WordNet::QueryData->new;

my $text;

open (FH, "<" . $ARGV[0]);
while () { $text .= $_; }
close (FH);

my $tagged = $t->add_tags($text);

while ($tagged =~ /\<(.+?)\>(\w+)\<.+?\>/g) {
my $sense = $1;
my $word = $2;
my $newsense = "";
$newsense = "n" if ($sense =~ /nn/i);
$newsense = "a" if ($sense =~ /jj/i);
$newsense = "v" if ($sense =~ /vb/i);
if ($newsense) {
foreach ($wn->querySense($word . "#" . $newsense . "#1" , "syns")) {
s/\#.+//;
next if (/$word/);
$text =~ s/$word/$_/;
last;
}
}

};

print $text;
exit;


0 Comments: