use WordNet::QueryData; use WordNet::Similarity::path; use strict; my $wn = WordNet::QueryData->new; my $measure = WordNet::Similarity::path->new ($wn); my $Infile1 = shift; my $Infile2 = shift; open (INPUT, "$Infile1") || die "can't open the input file1"; chomp (my @words1 = ); close (INPUT) ; open (INPUT, "$Infile2") || die "can't open the input file2"; chomp (my @words2 = ); close (INPUT) ; for my $i (0 .. $#words1) { if ($words1[$i] =~ /\#n$/){ for my $j ( 0 .. $#words2) { if ($words2[$j] =~ /\#n$/){ my $value = $measure->getRelatedness("$words1[$i]#1", "$words2[$j]#1"); print "similarity of $words1[$i] and $words2[$j] = $value\n";} }}} #### $measure->getRelatedness("cat#n#1", "dog#n#1"); #### July#n Macdonough#n patrol#v water#n Guam#n protect#v assault#n craft#n enemy#n submarine#n continue#v role#n depart#v Hawaii#n August#n day#n Pearl#n Harbor#n depart#v Admiralty#n Islands#n #### similarity of July#n and Macdonough#n = similarity of July#n and Hawaii#n = similarity of July#n and August#n = similarity of Macdonough#n and Macdonough#n = . . .