Edison.java

#

Edison is an NLP data representation and feature extraction framework that can be used to store several annotations of text. Examples of annotations include named entities, parse trees, semantic role labels, etc Edison represents all these as a graph, where nodes are groups of tokens called Constituents and the labeled edges between the nodes are called Relations.

Getting started

To start using Edison, you will need the edison-0.7.4.jar in your classpath. You can get the latest version of edison here: edison-0.7.4.jar

In addition, Edison also requires the following jars in the classpath:

You can find most of these here. Note that this compressed archive does not contain the cogcomp-common-resources jar, which you should download separately if you need to use the data. The slfj, commons and other jars can be found from their respective websites.

Download edison and all its dependencies here

Maven2: To use Edison with Maven, you need to include the following in your pom.xml


 <repositories>
  <repository>
   <id>CogcompSoftware</id>
   <name>CogcompSoftware</name>
   <url>http://cogcomp.cs.illinois.edu/m2repo/</url>
  </repository>
 </repositories> 

Now, in the dependencies section of the pom file, add the following dependency


<dependencies>
.
.
 <dependency>
   <groupId>edu.illinois.cs.cogcomp</groupId>
   <artifactId>edison</artifactId>
   <version>0.7.4</version>
   <type>jar</type>
   <scope>compile</scope>
  </dependency>
.
.
</dependencies>

Resources and Examples

  1. The Javadoc for edison

  2. BasicExample.java covers the basics of using Edison and introduces the TextAnnotation, Sentence, Constituent and Relation classes.

  3. FirstCuratorExample.java gives a simple example that shows how to add some views from the Curator and print them.

  4. CuratorConnectionExample.java shows another example that accesses an instance of the Curator to create TextAnnotation objects and add views.

  5. CuratorConnectionExample2.java presents a second example of connecting to the curator.

  6. FeaturesExample.java shows how Edison can be used to generate features.

  7. FeaturesExample2.java shows an example of complex features that can be easily generated because of Edison's expressivity.

  8. ViewExample.java shows how an arbitrary view can be created.

  9. WikifierExample.java shows how to access the Wikifier through the curator.

  10. ParseSiblingExample.java shows how to get siblings of nodes from parse trees. It also provides an example of how to query Edison views for its contents.