No description, website, or topics provided.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.


ADW (Align, Disambiguate and Walk) version 1.0 -- October 13, 2014.

Online demo:


  1. Introduction

  2. Installation

  3. Requirements

  4. Quick start

  5. License

  6. INTRODUCTION =========================

This package provides a Java implementation of ADW, a state-of-the-art semantic similarity approach that enables the comparison of lexical items at different lexical levels: from senses to texts. For more details about the approach please refer to:

This release version is prepared by Mohammad Taher Pilehvar (Sapienza University of Rome).

  1. INSTALLATION =========================

1- Download the Semantic signatures (for all the 118K concepts in WordNet 3.0, size ~ 1.4 GB) using the following link:

2- Extract the downloaded file in the directory of your choice.

For example:


3- Update the wn30g.ppv.path entry in the config/ file with the directory containing semantic signatures.

For example:


4- You are ready to go! To get started, continue reading Quick start.

  1. REQUIREMENTS =========================
  • Java 6 (JRE 1.6) or higher
  • Semantic signatures (see Installation)
  • WordNet 3.0 dictionary files (already included in the resources directory)
  1. QUICK START =========================

The following is a usage example for measuring semantic similarity using ADW.

ADW pipeLine = new ADW();

double score = pipeLine.getPairSimilarity(text1, text2,
    					disMethod, measure,
   						srcTextType, trgTextType); 


text1 and text2 are the two lexical items to be compared. The types of these lexical items is denoted by srcTextType and trgTextType, respectively. For supported input formats please see 4.1.

disMethod specifies if the pair of lexical items have to be disambiguated or not. In the current version we support:

  • ALIGNMENT_BASED Alignment-based disambiguation (see Pilehvar et al., 2013)
  • NONE No disambiguation

measure denotes the method utilized for comparing pairs of semantic signatures. For supported methods please see 4.2.

For example:

//the two lexical items to be compared
String text1 = "a mill that is powered by the wind";    
String text2 = "windmill.n.1";

//types of the two lexical items
ItemType srcTextType = ItemType.SURFACE;  
ItemType trgTextType = ItemType.WORD_SENSE;

//if lexical items has to be disambiguated
DisambiguationMethod disMethod = DisambiguationMethod.ALIGNMENT_BASED;      

//measure for comparing semantic signatures
SignatureComparison measure = new WeightedOverlap(); 

ADW pipeLine = new ADW();

double similarity = pipeLine.getPairSimilarity(text1, text2,
    				      disMethod, measure,
   					      srcTextType, trgTextType); 


In this version, we support five different input formats:

  • SURFACE Text in surface form (e.g., A baby is playing with a dog)
  • SURFACE_TAGGED Lemmas with part of speech tags (e.g., baby#n be#v play#n dog#n). We support only four parts of speech: nouns (n), verbs (v), adjectives (a), and adverbs (r).
  • SENSE_KEYS WordNet 3.0 sense keys (e.g., baby%1:18:00:: play%2:33:00:: dog%1:05:00::)
  • SENSE_OFFSETS WordNet 3.0 synset offsets (e.g., 09827683-n 01072949-v 02084071-n)
  • WORD_SENSE WordNet 3.0 Word sense (e.g., baby.n.1 play.v.1 dog.n.1 or baby#n#1 play#v#1 dog#n#1)


Different signature comparison methods are included (implement the SignatureComparison interface):

  • WeightedOverlap
  • Cosine
  • Jaccard

For details of the above three, please see Pilehvar et al. (2013)

  1. LICENSE =========================

ADW (Align, Disambiguate and Walk) -- A Unified Approach for Measuring Semantic Similarity.

Copyright (c) 2014 Sapienza University of Rome. All Rights Reserved.

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.

If you use this system, please cite the following paper:

M. T. Pilehvar, D. Jurgens and R. Navigli. Align, Disambiguate and Walk: A Unified Approach for Measuring Semantic Similarity. Proceedings of the 51st Annual Meeting of the Association for Computational Linguistics (ACL 2013), Sofia, Bulgaria, August 4-9, 2013, pp. 1341-1351.

For more information please contact:

pilehvar atsign di (dot) uniroma1 (dot) it

For bug reports, fixes and issues please use our github page: