package edu.stanford.nlp.naturalli; import edu.stanford.nlp.ie.util.RelationTriple; import edu.stanford.nlp.ling.CoreAnnotation; import java.util.Collection; /** * A collection of {@link edu.stanford.nlp.ling.CoreAnnotation}s for various Natural Logic data. * * @author Gabor Angeli */ public class NaturalLogicAnnotations { /** * An annotation which attaches to a CoreLabel to denote that this is an operator in natural logic, * to describe which operator it is, and to give the scope of its argument(s). * This only attaches to tokens which are operators (i.e., the head words of operators). */ public static final class OperatorAnnotation implements CoreAnnotation<OperatorSpec> { @Override public Class<OperatorSpec> getType() { return OperatorSpec.class; } } /** * An annotation which attaches to a CoreLabel to denote that this is an operator in natural logic, * to describe which operator it is, and to give the scope of its argument(s). */ public static final class PolarityAnnotation implements CoreAnnotation<Polarity> { @Override public Class<Polarity> getType() { return Polarity.class; } } /** * The set of sentences which are entailed by the original sentence, according to Natural Logic semantics. */ public static final class EntailedSentencesAnnotation implements CoreAnnotation<Collection<SentenceFragment>> { @SuppressWarnings("unchecked") @Override public Class<Collection<SentenceFragment>> getType() { return (Class<Collection<SentenceFragment>>) ((Object) Collection.class); } } /** * A set of clauses contained in and entailed by this sentence. */ public static final class EntailedClausesAnnotation implements CoreAnnotation<Collection<SentenceFragment>> { @SuppressWarnings("unchecked") @Override public Class<Collection<SentenceFragment>> getType() { return (Class<Collection<SentenceFragment>>) ((Object) Collection.class); } } /** * The set of relation triples extracted from this sentence. */ public static final class RelationTriplesAnnotation implements CoreAnnotation<Collection<RelationTriple>> { @SuppressWarnings("unchecked") @Override public Class<Collection<RelationTriple>> getType() { return (Class<Collection<RelationTriple>>) ((Object) Collection.class); } } }