NOTE: An updated version of the SRL is available as a component of the Illinois NLP Curator (http://cogcomp.cs.illinois.edu/page/software_view/Curator).
Semantic Role Labeler is a machine-learning based tool that identifies shallow semantic information in a given sentence. The tool labels verb-argument structure following the notation defined by the Propbank project, identifying who did what to whom by assigning roles that indicate the agent, patient, and theme of each verb to constituents of the sentence representing entities related by the verb.
This system applies machine learning techniques to learn to analyze a sentence using Propbank section 02-21 as the training data, as used in the CoNLL-2005 shared task.
Constraints provided by experts (e.g., "No two arguments of the same verb can overlap") are modeled as linear inequalities over local decisions, and an Integer Linear Programming system is used to solve for the optimal set of local decisions that satisfy these constraints.