class Chart(object): (source)
Known subclasses: nltk.ccg.chart.CCGChart
, nltk.parse.earleychart.IncrementalChart
, nltk.parse.featurechart.FeatureChart
Constructor: Chart(tokens)
A blackboard for hypotheses about the syntactic constituents of a sentence. A chart contains a set of edges, and each edge encodes a single hypothesis about the structure of some portion of the sentence.
The select method can be used to select a specific collection of edges. For example chart.select(is_complete=True, start=0) yields all complete edges whose start indices are 0. To ensure the efficiency of these selection operations, Chart dynamically creates and maintains an index for each set of attributes that have been selected on.
In order to reconstruct the trees that are represented by an edge, the chart associates each edge with a set of child pointer lists. A child pointer list is a list of the edges that license an edge's right-hand side.
Method | __init__ |
Construct a new chart. The chart is initialized with the leaf edges corresponding to the terminal leaves. |
Method | child |
Return the set of child pointer lists for the given edge. Each child pointer list is a list of edges that have been used to form this edge. |
Method | dot |
Undocumented |
Method | edges |
Return a list of all edges in this chart. New edges that are added to the chart after the call to edges() will not be contained in this list. |
Method | initialize |
Clear the chart. |
Method | insert |
Add a new edge to the chart, and return True if this operation modified the chart. In particular, return true iff the chart did not already contain edge, or if it did not already associate child_pointer_lists... |
Method | insert |
Add a new edge to the chart, using a pointer to the previous edge. |
Method | iteredges |
Return an iterator over the edges in this chart. It is not guaranteed that new edges which are added to the chart before the iterator is exhausted will also be generated. |
Method | leaf |
Return the leaf value of the word at the given index. |
Method | leaves |
Return a list of the leaf values of each word in the chart's sentence. |
Method | num |
Return the number of edges contained in this chart. |
Method | num |
Return the number of words in this chart's sentence. |
Method | parses |
Return an iterator of the complete tree structures that span the entire chart, and whose root node is root. |
Method | pretty |
Return a pretty-printed string representation of this chart. |
Method | pretty |
Return a pretty-printed string representation of a given edge in this chart. |
Method | pretty |
Return a pretty-printed string representation of this chart's leaves. This string can be used as a header for calls to pretty_format_edge. |
Method | select |
Return an iterator over the edges in this chart. Any new edges that are added to the chart before the iterator is exahusted will also be generated. restrictions can be used to restrict the set of edges that will be generated. |
Method | trees |
Return an iterator of the tree structures that are associated with edge. |
Method | _add |
A helper function for select, which creates a new index for a given set of attributes (aka restriction keys). |
Method | _append |
Undocumented |
Method | _register |
A helper function for insert, which registers the new edge with all existing indexes. |
Method | _trees |
A helper function for trees. |
Instance Variable | _edge |
A dictionary mapping each edge to a set of child pointer lists that are associated with that edge. |
Instance Variable | _edges |
A list of the edges in the chart |
Instance Variable | _indexes |
A dictionary mapping tuples of edge attributes to indices, where each index maps the corresponding edge attribute values to lists of edges. |
Instance Variable | _num |
The number of tokens. |
Instance Variable | _tokens |
The sentence that the chart covers. |
Construct a new chart. The chart is initialized with the leaf edges corresponding to the terminal leaves.
Parameters | |
tokens:list | The sentence that this chart will be used to parse. |
Return the set of child pointer lists for the given edge. Each child pointer list is a list of edges that have been used to form this edge.
Returns | |
list(list(EdgeI)) | Undocumented |
nltk.parse.earleychart.IncrementalChart
Return a list of all edges in this chart. New edges that are added to the chart after the call to edges() will not be contained in this list.
Returns | |
list(EdgeI) | Undocumented |
See Also | |
iteredges, select |
nltk.parse.featurechart.InstantiateVarsChart
Add a new edge to the chart, and return True if this operation modified the chart. In particular, return true iff the chart did not already contain edge, or if it did not already associate child_pointer_lists with edge.
Parameters | |
edge:EdgeI | The new edge |
*child | A sequence of lists of the edges that were used to form this edge. This list is used to reconstruct the trees (or partial trees) that are associated with edge. |
Returns | |
bool | Undocumented |
nltk.parse.earleychart.IncrementalChart
Return an iterator over the edges in this chart. It is not guaranteed that new edges which are added to the chart before the iterator is exhausted will also be generated.
Returns | |
iter(EdgeI) | Undocumented |
See Also | |
edges, select |
nltk.parse.featurechart.FeatureChart
Return an iterator of the complete tree structures that span the entire chart, and whose root node is root.
Return a pretty-printed string representation of this chart.
Parameters | |
width | The number of characters allotted to each index in the sentence. |
Returns | |
str | Undocumented |
Return a pretty-printed string representation of a given edge in this chart.
Parameters | |
edge | Undocumented |
width | The number of characters allotted to each index in the sentence. |
Returns | |
str | Undocumented |
Return a pretty-printed string representation of this chart's leaves. This string can be used as a header for calls to pretty_format_edge.
Return an iterator over the edges in this chart. Any new edges that are added to the chart before the iterator is exahusted will also be generated. restrictions can be used to restrict the set of edges that will be generated.
Parameters | |
span | Only generate edges e where e.span()==span |
start | Only generate edges e where e.start()==start |
end | Only generate edges e where e.end()==end |
length | Only generate edges e where e.length()==length |
lhs | Only generate edges e where e.lhs()==lhs |
rhs | Only generate edges e where e.rhs()==rhs |
nextsym | Only generate edges e where e.nextsym()==nextsym |
dot | Only generate edges e where e.dot()==dot |
is | Only generate edges e where e.is_complete()==is_complete |
is | Only generate edges e where e.is_incomplete()==is_incomplete |
**restrictions | Undocumented |
Returns | |
iter(EdgeI) | Undocumented |
Return an iterator of the tree structures that are associated with edge.
If edge is incomplete, then the unexpanded children will be encoded as childless subtrees, whose node value is the corresponding terminal or nonterminal.
Returns | |
list(Tree) | Undocumented |
Note | |
If two trees share a common subtree, then the same Tree may be used to encode that subtree in both trees. If you need to eliminate this subtree sharing, then create a deep copy of each tree. |
A helper function for select, which creates a new index for a given set of attributes (aka restriction keys).
nltk.ccg.chart.CCGChart
A helper function for trees.
Parameters | |
edge | Undocumented |
complete | Undocumented |
memo | A dictionary used to record the trees that we've generated for each edge, so that when we see an edge more than once, we can reuse the same trees. |
tree | Undocumented |
nltk.parse.earleychart.IncrementalChart
A dictionary mapping each edge to a set of child pointer lists that are associated with that edge.
nltk.parse.earleychart.IncrementalChart
A dictionary mapping tuples of edge attributes to indices, where each index maps the corresponding edge attribute values to lists of edges.