trait GrammarAnchoring[L, W] extends AnyRef
A GrammarAnchoring is a grammar that has been tuned to a particular sentence (if applicable). It knows how to do two things: assign scores to rules and spans, and determine reachability of various refinements.
It might be nice to consider a refined grammar that doesn't need sentence-specific tuning, but that interferes with integrating lexicalization into the framework.
- Alphabetic
- By Inheritance
- GrammarAnchoring
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Abstract Value Members
- abstract def addConstraints(constraints: ChartConstraints[L]): GrammarAnchoring[L, W]
- abstract def childRefinement(rule: Int, ruleRef: Int): Int
- abstract def leftChildRefinement(rule: Int, ruleRef: Int): Int
- abstract def lexicon: Lexicon[L, W]
- abstract def numValidRefinements(label: Int): Int
- abstract def numValidRuleRefinements(rule: Int): Int
- abstract def parentRefinement(rule: Int, ruleRef: Int): Int
- abstract def rightChildRefinement(rule: Int, ruleRef: Int): Int
-
abstract
def
ruleRefinementFromRefinements(r: Int, refA: Int, refB: Int, refC: Int): Int
Returns the refined rule given parent and child refinements for a unary rule.
Returns the refined rule given parent and child refinements for a unary rule. May return -1 if no such rule is allowed.
- r
rule Index
- refA
parent index
- refB
left child index
- refC
right child index
- returns
rule refinement id, or -1 if rule is not allowed with those refinements
-
abstract
def
ruleRefinementFromRefinements(r: Int, refA: Int, refB: Int): Int
Returns the refined rule given parent and child refinements for a unary rule.
Returns the refined rule given parent and child refinements for a unary rule. May return -1 if no such rule is allowed.
- r
rule index
- refA
parent index
- refB
child index
- returns
rule refinement id, or -1 if rule is not allowed with those refinements
-
abstract
def
scoreBinaryRule(begin: Int, split: Int, end: Int, rule: Int, ref: Int): Double
Scores the indexed epic.trees.BinaryRule rule when it occurs at (begin, split, end)
-
abstract
def
scoreSpan(begin: Int, end: Int, label: Int, ref: Int): Double
Scores the indexed label rule with refinenemnt ref, when it occurs at (begin, end).
Scores the indexed label rule with refinenemnt ref, when it occurs at (begin, end). Can be used for s, or for a "bottom" label. Mainly used for s.
-
abstract
def
scoreUnaryRule(begin: Int, end: Int, rule: Int, ref: Int): Double
Scores the indexed epic.trees.UnaryRule rule when it occurs at (begin, end)
- abstract def sparsityPattern: ChartConstraints[L]
- abstract def topology: RuleTopology[L]
- abstract def validCoarseRulesGivenParentRefinement(a: Int, refA: Int): Array[Int]
-
abstract
def
validLabelRefinements(begin: Int, end: Int, label: Int): Array[Int]
For a given span, what refinements to the label are allowed? Refinements in general are in the range (0, numValidRefinements).
For a given span, what refinements to the label are allowed? Refinements in general are in the range (0, numValidRefinements). This method may return a subset.
- returns
array of valid refinements. Don't modify!
- abstract def validLeftChildRefinementsGivenRule(begin: Int, end: Int, completionBegin: Int, completionEnd: Int, rule: Int): Array[Int]
- abstract def validParentRefinementsGivenRule(begin: Int, splitBegin: Int, splitEnd: Int, end: Int, rule: Int): Array[Int]
- abstract def validRightChildRefinementsGivenRule(completionBegin: Int, completionEnd: Int, begin: Int, end: Int, rule: Int): Array[Int]
- abstract def validRuleRefinementsGivenLeftChild(begin: Int, split: Int, completionBegin: Int, completionEnd: Int, rule: Int, childRef: Int): Array[Int]
-
abstract
def
validRuleRefinementsGivenParent(begin: Int, end: Int, rule: Int, parentRef: Int): Array[Int]
For a given span and the parent's refinement, what refinements to the rule are allowed?
- abstract def validRuleRefinementsGivenRightChild(completionBegin: Int, completionEnd: Int, split: Int, end: Int, rule: Int, childRef: Int): Array[Int]
- abstract def validUnaryRuleRefinementsGivenChild(begin: Int, end: Int, rule: Int, childRef: Int): Array[Int]
- abstract def words: IndexedSeq[W]
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
- def *(other: UnrefinedGrammarAnchoring[L, W]): GrammarAnchoring[L, W]
-
def
*(other: GrammarAnchoring[L, W]): GrammarAnchoring[L, W]
Computes the pointwise product of two grammars, augmenting their refinement space to reflect this.
Computes the pointwise product of two grammars, augmenting their refinement space to reflect this. If they share the same annotationTag, (assuming it's non-negative) they will share their state space. (That is, they will have the same annotations.)
-
def
/(other: GrammarAnchoring[L, W]): GrammarAnchoring[L, W]
Computes the pointwise division of two grammars, augmenting their refinement space to reflect this.
Computes the pointwise division of two grammars, augmenting their refinement space to reflect this. If they share the same annotationTag, (assuming it's non-negative) they will share their state space. (That is, they will have the same annotations.)
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
annotationTag: Int
The annotationTag controls if two grammars are over the same refinements.
The annotationTag controls if two grammars are over the same refinements. If they are, then * and / can be much faster.
Note that 0 is reserved for unrefined anchorings, and -1 never matches other tags.
Reserved: 1 - Lexicalized Parsers with no symbol or rule annotation
0's will be optimized
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- def isConvergedTo(f: GrammarAnchoring[L, W], diff: Double): Boolean
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def length: Int
- def logPartition: Double
- def marginal: RefinedChartMarginal[L, W]
- def maxLabelRefinements: Int
- def maxMarginal: RefinedChartMarginal[L, W]
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
- def tagConstraints: TagConstraints[L]
-
def
toString(): String
- Definition Classes
- AnyRef → Any
- def validRuleRefinementsGivenParent(begin: Int, splitBegin: Int, splitEnd: Int, end: Int, rule: Int, parentRef: Int): Array[Int]
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )