mixle.models.grammar moduleΒΆ
Grammar-learning experiment helpers.
- class GrammarLearningResult(model, history, validation_history=None)[source]
Bases:
FitResult[HeterogeneousPCFGDistribution]Fitted PCFG plus training and optional validation log-likelihood history.
- class PCFGParseNode(label, span, log_prob, rule_index, rule_type, children=(), value=None)[source]
Bases:
objectNode in a Viterbi parse tree.
- Parameters:
- label: Any
- log_prob: float
- rule_index: int
- rule_type: str
- children: tuple[PCFGParseNode, ...] = ()
- value: Any = None
- fit_induced_pcfg(data, terminal_estimators, max_nonterminals, initial_model=None, vdata=None, max_its=10, init_p=1.0, seed=None, terminal_rule_mass=0.5, rule_pseudo_count=1.0e-3, prune_threshold=0.0, min_rule_prob=0.0, start='S', name=None)[source]
Fit an induced heterogeneous PCFG and track train/validation likelihoods.
- Parameters:
terminal_estimators (Sequence[ParameterEstimator])
max_nonterminals (int)
initial_model (HeterogeneousPCFGDistribution | None)
max_its (int)
init_p (float)
seed (int | None)
terminal_rule_mass (float)
rule_pseudo_count (float | None)
prune_threshold (float)
min_rule_prob (float)
start (Any)
name (str | None)
- Return type:
GrammarLearningResult
- pcfg_log_likelihood(model, data)[source]
Return total PCFG log likelihood on raw sequences.
- viterbi_parse(model, sequence)[source]
Return the maximum-probability CKY parse under a heterogeneous PCFG.