MLODE 2014, September 1-2 in Leipzig, Germany

Content analysis and the Semantic Web, a LIDER Hackathon

T9: Converting the output of Babelfy into RDF-NIF

SUMMARY

Topic description

Babelfy is a unified, multilingual, graph-based approach to Entity Linking and Word Sense Disambiguation. Based on a loose identification of candidate meanings, coupled with a densest subgraph heuristic which selects high-coherence semantic interpretations, Babelfy is able to annotate free text with with both concepts and named entities drawn from BabelNet’s sense inventory.

The task consists of converting text annotated by Babelfy into RDF format. In order to accomplish this, participants will start from free text, will annotate it with Babelfy and make use of the NLP2RDF NIF module.

Objective

INPUT: free text, in any of the 50 languages available in BabelNet.
INTERMEDIATE OUTPUT: enriched text, semantically annotated via Babelfy.
OUTPUT: semantically annotated text converted into NIF-RDF format.

The following figure shows the workflow of the task.

Note: We released a demo package that shows you how the input and the output should look like (see details below, section Instructions). The objective of this hackathon is to try to mime the behaviour of the demo yourself.

Requirements

Software requirements

Data requirements

Instructions

  1. Download BabelNet stanford indexes from http://babelnet.org/download (direct link: http://babelnet.org/data/2.5/babelnet-2.5-index-bundle.tar.bz2)
  2. Unpack it with
    	
    	bzip2 -d babelnet-2.5-index-bundle.tar.bz2
    	tar xvf babelnet-2.5-index-bundle.tar
    	
    You should now have a directory called 'BabelNet-2.5'
  3. Download the hackathon demo here
  4. Uncompress the hackathon demo file to your project directory
    		
    	tar xzvf YOUR_PROJECT_DIR leipzig_hackathon_t9_babelfy2nif.tar.gz
    	
    You should now have the following structure:
    	
    	.
    	├── config/
    	├── lib/
    	├── models/
    	├── resources/
    	├── leipzig_hackathon-0.0.1-SNAPSHOT-jar-with-dependencies.jar
    	└── run_babelfy2nif-demo.sh
    	
  5. Open config/babelnet.var.properties and set the variable babelnet.dir to the directory containing BabelNet's indexes. For example, if you have the indexes under the directory /home/flati/resources/BabelNet-2.5, set
    	
    	babelnet.dir=/home/flati/resources/BabelNet-2.5
    	
  6. Run the demo
    
    	sh run_babelfy2nif-demo.sh			
    	
  7. Take a look at the file config/babelfy2nif.properties. It has several parameters that allows the customization of the demo.

Useful links

An example

The demo feeds Babelfy with the following sentence

	Hello World!
	
and then converts it into NIF. The result of this is contained into a newly-created file called rdf_output.nif.txt which looks like the following: