View on
MetaCPAN is shutting down
For details read Perl NOC. After June 25th this page will redirect to
Bridget McInnes > UMLS-Similarity > UMLS::Similarity



Annotate this POD


Open  0
View/Report Bugs
Module Version: 1.47   Source   Latest Release: UMLS-Similarity-1.49


UMLS::Similarity - A suite of Perl modules that implement a number of semantic similarity measures in order to calculate the similarity between two concepts in the UMLS. The measures use the UMLS-Interface module to access the UMLS present in a mysql database.


 use UMLS::Interface;
 use UMLS::Similarity::lch;
 use UMLS::Similarity::path;

 my $umls = UMLS::Interface->new(); 
 die "Unable to create UMLS::Interface object.\n" if(!$umls);

 my $lch = UMLS::Similarity::lch->new($umls);
 die "Unable to create measure object.\n" if(!$lch);

 my $path = UMLS::Similarity::path->new($umls);
 die "Unable to create measure object.\n" if(!$path);

 my $cui1 = "C0005767";
 my $cui2 = "C0007634";

 $ts1 = $umls->getTermList($cui1);
 my $term1 = pop @{$ts1};

 $ts2 = $umls->getTermList($cui2);
 my $term2 = pop @{$ts2};

 my $lvalue = $lch->getRelatedness($cui1, $cui2);

 my $pvalue = $path->getRelatedness($cui1, $cui2);

 print "The lch similarity between $cui1 ($term1) and $cui2 ($term2) is $lvalue\n";

 print "The path similarity between $cui1 ($term1) and $cui2 ($term2) is $pvalue\n";


This package consists of Perl modules along with supporting Perl programs that implement the semantic relatedness measures described by Leacock & Chodorow (1998), Wu & Palmer (1994), Nguyen and Al-Mubaid (2006), Rada, et. al. 1989, Patwardhan (2003), Lin (1988), Resnik (1996), Jiang & Conrath (1997), Patwardhan (2006), Banerjee and Pedersen (2003) and a simple path based measure.

The Perl modules are designed as objects with methods that take as input two concepts. The semantic relatedness of these concepts is returned by these methods. A quantitative measure of the degree to which two word senses are related has wide ranging applications in numerous areas, such as word sense disambiguation, information retrieval, etc. For example, in order to determine which sense of a given word is being used in a particular context, the sense having the highest relatedness with its context word senses is most likely to be the sense being used. Similarly, in information retrieval, retrieving documents containing highly related concepts are more likely to have higher precision and recall values.

The following sections describe the organization of this software package and how to use it. A few typical examples are given to help clearly understand the usage of the modules and the supporting utilities.


    If you write a paper that has used UMLS-Interface in some way, we'd 
    certainly be grateful if you sent us a copy and referenced UMLS-Interface. 
    We have a published paper that provides a suitable reference:

       title={{UMLS-Interface and UMLS-Similarity : Open Source 
               Software for Measuring Paths and Semantic Similarity}}, 
       author={McInnes, B.T. and Pedersen, T. and Pakhomov, S.V.}, 
       booktitle={Proceedings of the American Medical Informatics 
                  Association (AMIA) Symposium},
       address={San Fransico, CA}

    This paper is also found in


  If you have any trouble installing and using UMLS-Similarity, 
  please contact us via the users mailing list :

  You can join this group by going to:

  You may also contact us directly if you prefer :

      Bridget T. McInnes: bthomson at 

      Ted Pedersen : tpederse at



UMLS::Similarity::lch(3) UMLS::Similarity::path(3) UMLS::Similarity::wup(3) UMLS::Similarity::nam(3) UMLS::Similarity::cdist(3) UMLS::Similarity::lin(3) UMLS::Similarity::res(3) UMLS::Similarity::jcn(3) UMLS::Similarity::vector(3) UMLS::Similarity::random(3)


  Bridget McInnes <bthomson at>
  Siddharth Patwardhan <sidd at>
  Serguei Pakhomov <pakh0002 at>
  Ted Pedersen <tpederse at>
  Ying Liu <liux0935 at>


Copyright 2004-2011 by Bridget McInnes, Siddharth Patwardhan, Serguei Pakhomov, Ying Liu and Ted Pedersen

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

syntax highlighting: