Parse.java :  » Natural-Language-Processing » OpenNLP » opennlp » tools » coref » mention » Java Open Source

Java Open Source » Natural Language Processing » OpenNLP 
OpenNLP » opennlp » tools » coref » mention » Parse.java
/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreemnets.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License. You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package opennlp.tools.coref.mention;

import java.util.List;

import opennlp.tools.util.Span;

/** 
 * Interface for syntactic and named-entity information to be used in coreference
 * annotation.
 */
public interface Parse extends Comparable<Parse> {

  /**
   * Returns the index of the sentence which contains this parse.
   * @return The index of the sentence which contains this parse.
   */
  public int getSentenceNumber();

  /** 
   * Returns a list of the all noun phrases
   * contained by this parse.  The noun phrases in this list should
   * also implement the {@link Parse} interface.
   * @return a list of all the noun phrases contained by this parse.
   */
  public List<Parse> getNounPhrases();

  /** 
   * Returns a list of all the named entities
   * contained by this parse.  The named entities in this list should
   * also implement the {@link Parse} interface.
   * @return a list of all the named entities contained by this parse. */
  public List<Parse> getNamedEntities();

  /** 
   * Returns a list of the children to this object.  The
   * children should also implement the {@link Parse} interface.
   * @return a list of the children to this object.
   * */
  public List<Parse> getChildren();

  /**
   * Returns a list of the children to this object which are constituents or tokens.  The
   * children should also implement the {@link Parse} interface.  This allows
   * implementations which contain addition nodes for things such as semantic categories to
   * hide those nodes from the components which only care about syntactic nodes.
   * @return a list of the children to this object which are constituents or tokens.
   */
  public List<Parse> getSyntacticChildren();

  /** 
   * Returns a list of the tokens contained by this object.  The tokens in this list should also
   * implement the {@link Parse} interface.
   *
   * @return the tokens
   */
  public List<Parse> getTokens();

  /** 
   * Returns the syntactic type of this node. Typically this is the part-of-speech or
   * constituent labeling.
   * @return the syntactic type.
   */
  public String getSyntacticType();

  /** 
   * Returns the named-entity type of this node.
   * @return the named-entity type. */
  public String getEntityType();

  /** 
   * Determines whether this has an ancestor of type NAC.
   * @return true is this has an ancestor of type NAC, false otherwise.
   */
  public boolean isParentNAC();

  /**
   * Returns the parent parse of this parse node.
   * @return the parent parse of this parse node.
   */
  public Parse getParent();

  /**
   * Specifies whether this parse is a named-entity.
   * @return True if this parse is a named-entity; false otherwise.
   */
  public boolean isNamedEntity();

  /**
   * Specifies whether this parse is a noun phrase.
   * @return True if this parse is a noun phrase; false otherwise.
   */
  public boolean isNounPhrase();

  /**
   * Specifies whether this parse is a sentence.
   * @return True if this parse is a sentence; false otherwise.
   */
  public boolean isSentence();

  /**
   * Specifies whether this parse is a coordinated noun phrase.
   * @return True if this parse is a coordinated noun phrase; false otherwise.
   */
  public boolean isCoordinatedNounPhrase();

  /** 
   * Specifies whether this parse is a token.
   * @return True if this parse is a token; false otherwise.
   */
  public boolean isToken();

  public String toString();

  /** 
   * Returns an entity id associated with this parse and coreferent parses.  This is only used for training on
   * already annotated coreference annotation.
   * @return an entity id associated with this parse and coreferent parses.
   */
  public int getEntityId();

  /**
   * Returns the character offsets of this parse node.
   * @return The span representing the character offsets of this parse node.
   */
  public Span getSpan();

  /**
   * Returns the first token which is not a child of this parse.  If the first token of a sentence is
   * a child of this parse then null is returned.
   * @return the first token which is not a child of this parse or null if no such token exists.
   */
  public Parse getPreviousToken();

  /**
   * Returns the next token which is not a child of this parse.  If the last token of a sentence is
   * a child of this parse then null is returned.
   * @return the next token which is not a child of this parse or null if no such token exists.
   */
  public Parse getNextToken();
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.