Package nltk :: Package parse :: Module featurechart :: Class FeatureTreeEdge
[hide private]
[frames] | no frames]

Class FeatureTreeEdge

source code

 object --+        
          |        
chart.EdgeI --+    
              |    
 chart.TreeEdge --+
                  |
                 FeatureTreeEdge

A specialized tree edge that allows shared variable bindings between nonterminals on the left-hand side and right-hand side.

Each FeatureTreeEdge contains a set of bindings, i.e., a dictionary mapping from variables to values. If the edge is not complete, then these bindings are simply stored. However, if the edge is complete, then the constructor applies these bindings to every nonterminal in the edge whose symbol implements the interface SubstituteBindingsI.

Instance Methods [hide private]
 
__init__(self, span, lhs, rhs, dot=0, bindings=None)
Construct a new edge.
source code
 
_bind(self, nt, bindings) source code
 
next_with_bindings(self) source code
 
bindings(self)
Return a copy of this edge's bindings dictionary.
source code
 
__str__(self)
str(x)
source code
 
__cmp__(self, other) source code
 
__hash__(self)
hash(x)
source code

Inherited from chart.TreeEdge: __repr__, dot, end, is_complete, is_incomplete, length, lhs, next, rhs, span, start

Inherited from object: __delattr__, __getattribute__, __new__, __reduce__, __reduce_ex__, __setattr__

Static Methods [hide private]

Inherited from chart.TreeEdge: from_production

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, span, lhs, rhs, dot=0, bindings=None)
(Constructor)

source code 

Construct a new edge. If the edge is incomplete (i.e., if dot<len(rhs)), then store the bindings as-is. If the edge is complete (i.e., if dot==len(rhs)), then apply the bindings to all nonterminals in lhs and rhs, and then clear the bindings. See TreeEdge for a description of the other arguments.

Parameters:
  • span - A tuple (s,e), where subtokens[s:e] is the portion of the sentence that is consistent with the new edge's structure.
  • lhs - The new edge's left-hand side, specifying the hypothesized tree's node value.
  • rhs - The new edge's right-hand side, specifying the hypothesized tree's children.
  • dot - The position of the new edge's dot. This position specifies what prefix of the production's right hand side is consistent with the text. In particular, if sentence is the list of subtokens in the sentence, then subtokens[span[0]:span[1]] can be spanned by the children specified by rhs[:dot].
Overrides: chart.TreeEdge.__init__

__str__(self)
(Informal representation operator)

source code 

str(x)

Overrides: chart.TreeEdge.__str__

__cmp__(self, other)
(Comparison operator)

source code 
Overrides: chart.TreeEdge.__cmp__

__hash__(self)
(Hashing function)

source code 

hash(x)

Overrides: chart.TreeEdge.__hash__