Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
WordNet::Similarity::rUsermContributed Perl DocuWordNet::Similarity::random(3)

       WordNet::Similarity::random - Perl module for computing semantic
       relatedness of word senses using	a random measure.

	 use WordNet::Similarity::random;

	 use WordNet::QueryData;

	 my $wn	= WordNet::QueryData->new();

	 my $random = WordNet::Similarity::random->new($wn);

	 my $value = $random->getRelatedness("car#n#1",	"bus#n#2");

	 ($error, $errorString)	= $random->getError();

	 die "$errorString\n" if($error);

	 print "car (sense 1) <-> bus (sense 2)	= $value\n";

       This module generates random numbers as a measure of semantic
       relatedness of word senses. It is possible to assign a random value for
       a word sense pair and return the	same value if the same word sense pair
       is passed as input. It is also possible to generate a new random	value
       for the same word sense pair every time.

	   This	method is internally called to determine the parts of speech
	   this	measure	is capable of dealing with.

	   Parameters: none.

	   Returns: none.

	   Overrides the initialize method in the parent class.	This method
	   essentially initializes the measure for use.

	   Parameters: $file --	configuration file.

	   Returns: none.

       $random->getRelatedness ($synset1, $synset2)
	   Returns a value for the relatedness of the two synsets.  This value
	   is a	random number greater-than or equal-to zero and	less-than

	   If the synsets are not properly formed word#pos#sense strings, or
	   if they are not found in WordNet, then the error level will be set
	   to non-zero and an error string will	be generated.

	   This	method is internally called to determine the extra options
	   specified by	this measure (apart from the default options specified
	   in the WordNet::Similarity base class).

	   Parameters: none.

	   Returns: none.

       The semantic relatedness	modules	in this	distribution are built as
       classes that define the following methods:


       See the WordNet::Similarity(3) documentation for	details	of these

       Typical Usage Examples

       To create an object of the random measure, we would have	the following
       lines of	code in	the Perl program.

	  use WordNet::Similarity::random;
	  $measure = WordNet::Similarity::random->new($wn, '/home/sid/random.conf');

       The reference of	the initialized	object is stored in the	scalar
       variable	'$measure'. '$wn' contains a WordNet::QueryData	object that
       should have been	created	earlier	in the program.	The second parameter
       to the 'new' method is the path of the configuration file for the
       random measure. If the 'new' method is unable to	create the object,
       '$measure' would	be undefined. This, as well as any other error/warning
       may be tested.

	  die "Unable to create	object.\n" if(!defined $measure);
	  ($err, $errString) = $measure->getError();
	  die $errString."\n" if($err);

       To find the semantic relatedness	of the first sense of the noun 'car'
       and the second sense of the noun	'bus' using the	measure, we would
       write the following piece of code:

	  $relatedness = $measure->getRelatedness('car#n#1', 'bus#n#2');

       To get traces for the above computation:

	  print	$measure->getTraceString();

       However,	traces must be enabled using configuration files. By default
       traces are turned off.

       The behavior of the measures of semantic	relatedness can	be controlled
       by using	configuration files. These configuration files specify how
       certain parameters are initialized within the object. A configuration
       file may	be specified as	a parameter during the creation	of an object
       using the new method. The configuration files must follow a fixed

       Every configuration file	starts with the	name of	the module ON THE
       FIRST LINE of the file. For example, a configuration file for the
       random module will have on the first line
       'WordNet::Similarity::random'. This is followed by the various
       parameters, each	on a new line and having the form 'name::value'. The
       'value' of a parameter is optional (in case of boolean parameters). In
       case 'value' is omitted,	we would have just 'name::' on that line.
       Comments	are supported in the configuration file. Anything following a
       '#' is ignored till the end of the line.

       The module parses the configuration file	and recognizes the following

	   The value of	this parameter specifies the level of tracing that
	   should be employed for generating the traces. This value is an
	   integer equal to 0, 1, or 2.	If the value is	omitted, then the
	   default value, 0, is	used. A	value of 0 switches tracing off. A
	   value of 1 or 2 switches tracing on,	but the	random measure is so
	   simple, that	generating traces makes	little senses, so this option
	   has no effect.

	   The value of	this parameter specifies whether or not	caching	of the
	   relatedness values should be	performed.  This value is an integer
	   equal to  0 or 1.  If the value is omitted, then the	default	value,
	   1, is used. A value of 0 switches caching 'off', and	a value	of 1
	   switches caching 'on'.

	   The value of	this parameter indicates the size of the cache,	used
	   for storing the computed relatedness	value. The specified value
	   must	be a non-negative integer.  If the value is omitted, then the
	   default value, 5,000, is used. Setting maxCacheSize to zero has the
	   same	effect as setting cache	to zero, but setting cache to zero is
	   likely to be	more efficient.	 Caching and tracing at	the same time
	   can result in excessive memory usage	because	the trace strings are
	   also	cached.	 If you	intend to perform a large number of
	   relatedness queries,	then you might want to turn tracing off.

	   The value of	this option is the maximum random number that will be
	   generated.  The value of this option	must be	a positive floating-
	   point number.  The default value is 1.0.  All random	numbers
	   generated will be in	the range [0, maxrand).

       perl(1),	WordNet::Similarity(3),	WordNet::QueryData(3)

	 Ted Pedersen, University of Minnesota Duluth
	 tpederse at

	 Siddharth Patwardhan, University of Utah, Salt	Lake City
	 sidd at


       To report a bug,	go to or
       e-mail "tpederseA atA".

       Copyright (c) 2005, Ted Pedersen	and Siddharth Patwardhan

       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
       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.

       Note: a copy of the GNU General Public License is available on the web
       at <>	and is included	in this
       distribution as GPL.txt.

perl v5.24.1			  2008-03-27	WordNet::Similarity::random(3)


Want to link to this manual page? Use this URL:

home | help