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.