|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectedu.stanford.nlp.trees.TreeGraph
edu.stanford.nlp.trees.GrammaticalStructure
public abstract class GrammaticalStructure
A GrammaticalStructure
is a
(that is, a tree with additional labeled
arcs between nodes) for representing the grammatical relations in a
parse tree. A new TreeGraph
GrammaticalStructure
is constructed
from an existing parse tree with the help of
, which
defines a hierarchy of grammatical relations, along with
patterns for identifying them in parse trees. The constructor for
GrammaticalRelation
GrammaticalStructure
uses these definitions to
populate the new GrammaticalStructure
with as many
labeled grammatical relations as it can. Once constructed, the new
GrammaticalStructure
can be printed in various
formats, or interrogated using the interface methods in this
class.
EnglishGrammaticalRelations
,
GrammaticalRelation
,
EnglishGrammaticalStructure
,
Serialized FormField Summary | |
---|---|
protected List<TypedDependency> |
allTypedDependencies
|
protected Set<Dependency<Label,Label,Object>> |
dependencies
|
protected List<TypedDependency> |
typedDependencies
|
Fields inherited from class edu.stanford.nlp.trees.TreeGraph |
---|
root |
Constructor Summary | |
---|---|
GrammaticalStructure(List<TypedDependency> projectiveDependencies,
TreeGraphNode root)
|
|
GrammaticalStructure(Tree t,
Collection<GrammaticalRelation> relations,
HeadFinder hf,
Filter<String> puncFilter)
|
|
GrammaticalStructure(Tree t,
Collection<GrammaticalRelation> relations,
Lock relationsLock,
HeadFinder hf,
Filter<String> puncFilter)
Create a new GrammaticalStructure, analyzing the parse tree and populate the GrammaticalStructure with as many labeled grammatical relation arcs as possible. |
Method Summary | |
---|---|
Collection<TypedDependency> |
allTypedDependencies()
Returns all the typed dependencies of this grammatical structure. |
protected void |
collapseDependencies(List<TypedDependency> list,
boolean CCprocess)
Destructively modify the Collection<TypedDependency> to collapse
language-dependent transitive dependencies. |
protected void |
collapseDependenciesTree(List<TypedDependency> list)
Destructively modify the Collection<TypedDependency> to collapse
language-dependent transitive dependencies but keeping a tree structure. |
protected void |
correctDependencies(Collection<TypedDependency> list)
Destructively modify the TypedDependencyGraph to correct
language-dependent dependencies. |
Set<Dependency<Label,Label,Object>> |
dependencies()
Returns the set of (governor, dependent) dependencies in this GrammaticalStructure . |
List<String> |
getDependencyPath(int nodeIndex,
int rootIndex)
Returns the dependency path as a list of String, from node to root, it is assumed that that root is an ancestor of node |
List<String> |
getDependencyPath(TreeGraphNode node,
TreeGraphNode root)
Returns the dependency path as a list of String, from node to root, it is assumed that that root is an ancestor of node |
Set<TreeGraphNode> |
getDependents(TreeGraphNode t)
Tries to return a Set of leaf (terminal) nodes
which are the s of the given node t . |
static TreeGraphNode |
getGovernor(TreeGraphNode t)
Tries to return a leaf (terminal) node which is the of the given node t . |
GrammaticalRelation |
getGrammaticalRelation(int govIndex,
int depIndex)
Get GrammaticalRelation between gov and dep, and null if gov is not the governor of dep |
GrammaticalRelation |
getGrammaticalRelation(TreeGraphNode gov,
TreeGraphNode dep)
Get GrammaticalRelation between gov and dep, and null if gov is not the governor of dep |
static List<GrammaticalRelation> |
getListGrammaticalRelation(TreeGraphNode gov,
TreeGraphNode dep)
Get a list of GrammaticalRelation between gov and dep. |
static TreeGraphNode |
getNodeInRelation(TreeGraphNode t,
GrammaticalRelation r)
|
Collection<TypedDependency> |
getRoots(Collection<TypedDependency> list)
Return a list of TypedDependencies which are not dependent on any node from the list |
boolean |
isConnected(Collection<TypedDependency> list)
Checks if all the typeDependencies are connected |
String |
toString()
Return a String representing this treegraph. |
Collection<TypedDependency> |
typedDependencies()
Returns the typed dependencies of this grammatical structure which do not break the tree structure of dependencies |
List<TypedDependency> |
typedDependencies(boolean includeExtras)
Returns the typed dependencies of this grammatical structure. |
List<TypedDependency> |
typedDependenciesCCprocessed(boolean includeExtras)
Get the typed dependencies after collapsing them and processing eventual CC complements. |
Collection<TypedDependency> |
typedDependenciesCollapsed()
Get the typed dependencies after collapsing them. |
List<TypedDependency> |
typedDependenciesCollapsed(boolean includeExtras)
Get the typed dependencies after collapsing them. |
Collection<TypedDependency> |
typedDependenciesCollapsedTree()
Get the typed dependencies after collapsing them, but keep a tree structure: no relative clause processing no xsubj relations no propagation of conjuncts |
Methods inherited from class edu.stanford.nlp.trees.TreeGraph |
---|
addNodeToIndexMap, getNodeByIndex, getNodes, main, root |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected Set<Dependency<Label,Label,Object>> dependencies
protected List<TypedDependency> typedDependencies
protected List<TypedDependency> allTypedDependencies
Constructor Detail |
---|
public GrammaticalStructure(Tree t, Collection<GrammaticalRelation> relations, Lock relationsLock, HeadFinder hf, Filter<String> puncFilter)
t
- A Tree to analyzerelations
- A set of GrammaticalRelations to considerrelationsLock
- Something needed to make this thread-safehf
- A HeadFinder for analysispuncFilter
- A Filter to reject punctuation. To delete punctuation
dependencies, this filter should return false on
punctuation word strings, and true otherwise.
If punctuation dependencies should be kept, you
should pass in a Filters.<String>acceptFilter().public GrammaticalStructure(List<TypedDependency> projectiveDependencies, TreeGraphNode root)
public GrammaticalStructure(Tree t, Collection<GrammaticalRelation> relations, HeadFinder hf, Filter<String> puncFilter)
Method Detail |
---|
public String toString()
TreeGraph
String
representing this treegraph. By
default, the nodes of the treegraph are printed in Lispy
(parenthesized) format, with one node per line, indented
according to depth.
toString
in class TreeGraph
String
representation of this treegraphpublic Set<Dependency<Label,Label,Object>> dependencies()
GrammaticalStructure
.
GrammaticalStructure
.public Set<TreeGraphNode> getDependents(TreeGraphNode t)
Set
of leaf (terminal) nodes
which are the DEPENDENT
s of the given node t
.
Probably, t
should be a leaf node as well.
t
- a leaf node in this GrammaticalStructure
Set
of nodes which are dependents of
node t
, or else null
public static TreeGraphNode getGovernor(TreeGraphNode t)
GOVERNOR
of the given node t
.
Probably, t
should be a leaf node as well.
t
- a leaf node in this GrammaticalStructure
t
, or else null
public static TreeGraphNode getNodeInRelation(TreeGraphNode t, GrammaticalRelation r)
public GrammaticalRelation getGrammaticalRelation(int govIndex, int depIndex)
public GrammaticalRelation getGrammaticalRelation(TreeGraphNode gov, TreeGraphNode dep)
public static List<GrammaticalRelation> getListGrammaticalRelation(TreeGraphNode gov, TreeGraphNode dep)
public Collection<TypedDependency> typedDependencies()
public Collection<TypedDependency> allTypedDependencies()
public List<TypedDependency> typedDependencies(boolean includeExtras)
public Collection<TypedDependency> typedDependenciesCollapsed()
public Collection<TypedDependency> typedDependenciesCollapsedTree()
public List<TypedDependency> typedDependenciesCollapsed(boolean includeExtras)
public List<TypedDependency> typedDependenciesCCprocessed(boolean includeExtras)
protected void collapseDependencies(List<TypedDependency> list, boolean CCprocess)
Collection<TypedDependency>
to collapse
language-dependent transitive dependencies.
Default is no-op; to be over-ridden in subclasses.
list
- A list of dependencies to process for possible collapsingCCprocess
- apply CC process?protected void collapseDependenciesTree(List<TypedDependency> list)
Collection<TypedDependency>
to collapse
language-dependent transitive dependencies but keeping a tree structure.
Default is no-op; to be over-ridden in subclasses.
list
- A list of dependencies to process for possible collapsingprotected void correctDependencies(Collection<TypedDependency> list)
TypedDependencyGraph
to correct
language-dependent dependencies. (e.g., nsubjpass in a relative clause)
Default is no-op; to be over-ridden in subclasses.
public List<String> getDependencyPath(int nodeIndex, int rootIndex)
public List<String> getDependencyPath(TreeGraphNode node, TreeGraphNode root)
node
- Note to return path fromroot
- The root of the tree, an ancestor of node
public boolean isConnected(Collection<TypedDependency> list)
list
- a list of typedDependencies
public Collection<TypedDependency> getRoots(Collection<TypedDependency> list)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |