edu.stanford.nlp.trees.HeadFinder.java Source code

Java tutorial

Introduction

Here is the source code for edu.stanford.nlp.trees.HeadFinder.java

Source

package edu.stanford.nlp.trees;

import java.io.Serializable;

/**
 * An interface for finding the "head" daughter of a phrase structure tree.
 * This could potentially be any sense of "head", but has mainly been used
 * to find the lexical head for lexicalized PCFG parsing.
 *
 * @author Christopher Manning
 */
public interface HeadFinder extends Serializable {

    /**
     * Determine which daughter of the current parse tree is the head.
     *
     * @param t The parse tree to examine the daughters of
     * @return The daughter tree that is the head.  This will always be
     *     non-null. An Exception will be thrown if no head can be determined.
     * @throws IllegalStateException If a subclass has missing or badly
     *     formatted head rule data
     * @throws IllegalArgumentException If the argument Tree has unexpected
     *     phrasal categories in it (and the implementation doesn't just use
     *     some heuristic to always determine some head).
     */
    public Tree determineHead(Tree t);

    /**
     * Determine which daughter of the current parse tree is the head
     * given the parent of the tree.
     *
     * @param t The parse tree to examine the daughters of
     * @param parent The parent of tree t
     * @return The daughter tree that is the head.  This will always be
     *     non-null. An Exception will be thrown if no head can be determined.
     */
    public Tree determineHead(Tree t, Tree parent);

}