NAME
UMLS::Interface::ICFinder - provides the information content of the CUIs in the UMLS for the modules in the UMLS::Interface package.
DESCRIPTION
This package provides the information content of the CUIs in the UMLS for the modules in the UMLS::Interface package.
For more information please see the UMLS::Interface.pm documentation.
SYNOPSIS
use UMLS::Interface::CuiFinder;
use UMLS::Interface::ICFinder;
use UMLS::Interface::ErrorHandler;
%params = ();
$params{"realtime"} = 1;
$cuifinder = UMLS::Interface::CuiFinder->new(\%params);
die "Unable to create UMLS::Interface::CuiFinder object.\n" if(!$cuifinder);
$icfinder = UMLS::Interface::ICFinder->new(\%params, $cuifinder);
die "Unable to create UMLS::Interface::ICFinder object.\n" if(!$icfinder);
$concept = "C0037303";
$ic = $icfinder->_getIC($concept);
print "The IC of $concept is $ic\n\n";
print "Note: This probably returned zero because the information\n";
print "content file is not specified - this is difficult to do in\n";
print "the synopsis. You need to create an icpropagation file and\n";
print "then pass it as one of the parameters. See:\n\n";
print " create-icpropagation.pl\n\n";
print "to create it and then add the following line above:\n\n";
print " \$params{\"icpropgation\"} = <icpropagation file>;\n\n";
print "\n";
INSTALL
To install the module, run the following magic commands:
perl Makefile.PL
make
make test
make install
This will install the module in the standard location. You will, most probably, require root privileges to install in standard system directories. To install in a non-standard directory, specify a prefix during the 'perl Makefile.PL' stage as:
perl Makefile.PL PREFIX=/home/sid
It is possible to modify other parameters during installation. The details of these can be found in the ExtUtils::MakeMaker documentation. However, it is highly recommended not messing around with other parameters, unless you know what you're doing.
PROPAGATION
The Information Content (IC) is defined as the negative log of the probability of a concept. The probability of a concept, c, is determine by summing the probability of the concept (P(c)) ocurring in some text plus the probability its decendants (P(d)) occuring in some text:
P(c*) = P(c) + \sum_{d\exists decendant(c)} P(d)
The initial probability of a concept (P(c)) and its decendants (P(d)) is obtained by dividing the number of times a concept is seen in the corpus (freq(d)) by the total number of concepts (N):
P(d) = freq(d) / N
Not all of the concepts in the taxonomy will be seen in the corpus. We have the option to use Laplace smoothing, where the frequency count of each of the concepts in the taxonomy is incremented by one. The advantage of doing this is that it avoides having a concept that has a probability of zero. The disadvantage is that it can shift the overall probability mass of the concepts from what is actually seen in the corpus.
PROPAGATION IN REALTIME
The algorithm to determine the information content of a CUI in real time is as follows:
1. get all of its decendants using the DFS
2. looping through the frequency file computing the
probability of the decendants and storing this
information
3. sum the probability of the decedants and the CUI
4. calculate the IC which is defined as the negative log of
the probabilty of the concept (which is the sum from
step 3)
In order to run the propagation in real time, we require the frequency counts of a list of CUIs to be given to us.
SEE ALSO
http://tech.groups.yahoo.com/group/umls-similarity/
http://search.cpan.org/dist/UMLS-Similarity/
AUTHOR
Bridget T McInnes <bthomson@cs.umn.edu> Ted Pedersen <tpederse@d.umn.edu>
COPYRIGHT
Copyright (c) 2007-2009
Bridget T. McInnes, University of Minnesota
bthomson at cs.umn.edu
Ted Pedersen, University of Minnesota Duluth
tpederse at d.umn.edu
Siddharth Patwardhan, University of Utah, Salt Lake City
sidd at cs.utah.edu
Serguei Pakhomov, University of Minnesota Twin Cities
pakh0002 at umn.edu
Ying Liu, University of Minnesota Twin Cities
liux0395 at umn.edu
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.