edu.stanford.nlp.ling.LabelFactory Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of stanford-corenlp Show documentation
Show all versions of stanford-corenlp Show documentation
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.
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);
}