All Downloads are FREE. Search and download functionalities are using the official Maven repository.

edu.stanford.nlp.ling.LabelFactory Maven / Gradle / Ivy

Go to download

Stanford CoreNLP provides a set of natural language analysis tools which can take raw English language text input and give the base forms of words, their parts of speech, whether they are names of companies, people, etc., normalize dates, times, and numeric quantities, mark up the structure of sentences in terms of phrases and word dependencies, and indicate which noun phrases refer to the same entities. It provides the foundational building blocks for higher level text understanding applications.

There is a newer version: 4.5.7
Show newest version
package edu.stanford.nlp.ling;


/**
 * A LabelFactory object acts as a factory for creating
 * objects of class Label, or some descendant class.
 * It can also make Labels from Strings, optionally with options.
 *
 * @author Christopher Manning
 * @version 2000/12/25
 */
public interface LabelFactory {

  /**
   * Make a new label with this String as the
   * value.
   * Any other fields of the label would normally be null.
   *
   * @param labelStr The String that will be used for value
   * @return The new Label
   */
  public Label newLabel(String labelStr);


  /**
   * Make a new label with this String as the value, and
   * the type determined in an implementation-dependent way from the
   * options value.
   *
   * @param labelStr The String that will be used for value
   * @param options  May determine what kind of label is created
   * @return The new Label
   */
  public Label newLabel(String labelStr, int options);


  /**
   * Make a new label.  The String argument will be decomposed into
   * multiple fields in an implementing class-specific way, in
   * accordance with the class's setFromString() method.
   *
   * @param encodedLabelStr The String that will be used for labelling the
   *                        object (by decoding it into parts)
   * @return The new Label
   */
  public Label newLabelFromString(String encodedLabelStr);


  /**
   * Create a new Label, where the label is formed from
   * the Label object passed in.  The new Label is
   * guaranteed to at least copy the value() of the
   * source label (if non-null); it may also copy other components
   * (this is implementation-specific).  However, if oldLabel is of
   * the same type as is produced by the factory, then the whole
   * label should be cloned, so that the returnedLabel.equals(oldLabel).
   * Implementation note: That last sentence isn't true of all
   * current implementations (e.g., WordTag), but we should make it
   * so that it is true!
   *
   * @param oldLabel The Label that the new label is being created from
   * @return The new label of a particular type
   */
  public Label newLabel(Label oldLabel);

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy