NAME
WordNet::SenseRelate::WordToSet - find sense of a target word most related to given set of words
SYNOPSIS
use WordNet::SenseRelate::WordToSet;
use WordNet::QueryData;
my $qd = WordNet::QueryData->new;
my %options = (measure => 'WordNet::Similarity::jcn',
wordnet => $qd);
my $mod = WordNet::SenseRelate::WordToSet->new (%options);
my $res = $mod->disambiguate (target => 'bank',
context => [qw/money cash dollar/]);
# all senses for target and their scores are returned
# we will just print the sense most related to the set
$best_score = -100;
foreach my $key (keys %$res) {
next unless defined $res->{$key};
if ($res->{$key} > $best_score) {
$best_score = $res->{$key};
$best = $key;
}
}
# let's call WordNet::QueryData to get the gloss of the most
# related sense of the target to the set
print "$best : ", join(", ", $qd->querySense($best, "glos")), "\n";
my $res = $mod->disambiguate (target => 'bank',
context => [qw/river shore slope water/]);
# all senses for target and their scores are returned
# we will just print the sense most related to the set
$best_score = -100;
foreach my $key (keys %$res) {
next unless defined $res->{$key};
if ($res->{$key} > $best_score) {
$best_score = $res->{$key};
$best = $key;
}
}
# let's call WordNet::QueryData to get the gloss of the most
# related sense of the target to the set
print "$best : ", join(", ", $qd->querySense($best, "glos")), "\n";
DESCRIPTION
WordNet::SenseRelate::WordToSet finds the sense of a given target word that is most related to the words in a given set.
Methods
The methods below will die() on serious errors. Wrap calls to these methods in an eval BLOCK to catch the exceptions. See 'perldoc -f eval' for more information.
- new
-
The constructor for this class.
Parameters:
wordnet => REFERENCE : WordNet::QueryData object (required) measure => STRING : name of a WordNet::Similarity measure (required) config => FILENAME : path to a config file for above measure trace => INTEGER : generate traces (default : 0) threshold => NUMBER : similarity scores less than this are ignored
Returns:
A reference to the constructed object or undef on error.
The trace levels are:
1 show non-zero scores from the semantic relatedness measure 2 show zero & undefined scores from the relatedness measure (no effect unless combined with level 1) 4 show traces from the semantic relatedness measure
Note: the trace levels can be added together to achieve a combined effect. For example, to show the non-zero scores, the zero scores, and the traces from the measure, use level 7.
- disambiguate
-
Disambiguates the target word
Parameters:
target => STRING : the target word to disambiguate (required) context => REFERENCE : a reference to an array of context words
Returns:
A hash reference. The keys of the hash will be the senses of the target word, and the values will be the score for each sense.
- getTrace
-
Gets the current trace string and resets it to "".
Parameters:
None
Returns:
The current trace string (before resetting it). If the returned string is not empty, it will end with a newline.
Example:
my $str = $wsd->getTrace (); print $str;
SEE ALSO
http://senserelate.sourceforge.net/.
Ted Pedersen, Satanjeev Banerjee, and Siddharth Patwardhan (2005)
Maximizing Semantic Relatedness to Perform Word Sense Disambiguation,
University of Minnesota Supercomputing Institute Research Report UMSI
2005/25, March.
L<http://www.msi.umn.edu/general/Reports/rptfiles/2005-25.pdf>
AUTHORS
Ted Pedersen, University of Minnesota, Duluth tpederse at d.umn.edu
Jason Michelizzi
Last modified by : $Id: WordToSet.pm,v 1.8 2008/03/22 01:14:04 tpederse Exp $
COPYRIGHT AND LICENSE
Copyright (C) 2005-2008 by Jason Michelizzi and Ted Pedersen
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA