epic.parser

GrammarAnchoring

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.

Linear Supertypes
AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. GrammarAnchoring
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def addConstraints(constraints: ChartConstraints[L]): GrammarAnchoring[L, W]

  2. abstract def childRefinement(rule: Int, ruleRef: Int): Int

  3. abstract def leftChildRefinement(rule: Int, ruleRef: Int): Int

  4. abstract def lexicon: Lexicon[L, W]

  5. abstract def numValidRefinements(label: Int): Int

  6. abstract def numValidRuleRefinements(rule: Int): Int

  7. abstract def parentRefinement(rule: Int, ruleRef: Int): Int

  8. abstract def rightChildRefinement(rule: Int, ruleRef: Int): Int

  9. 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

  10. 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

  11. 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)

  12. 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.

  13. 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)

  14. abstract def sparsityPattern: ChartConstraints[L]

  15. abstract def topology: RuleTopology[L]

  16. abstract def validCoarseRulesGivenParentRefinement(a: Int, refA: Int): Array[Int]

  17. 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!

  18. abstract def validLeftChildRefinementsGivenRule(begin: Int, end: Int, completionBegin: Int, completionEnd: Int, rule: Int): Array[Int]

  19. abstract def validParentRefinementsGivenRule(begin: Int, splitBegin: Int, splitEnd: Int, end: Int, rule: Int): Array[Int]

  20. abstract def validRightChildRefinementsGivenRule(completionBegin: Int, completionEnd: Int, begin: Int, end: Int, rule: Int): Array[Int]

  21. abstract def validRuleRefinementsGivenLeftChild(begin: Int, split: Int, completionBegin: Int, completionEnd: Int, rule: Int, childRef: Int): Array[Int]

  22. 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?

    For a given span and the parent's refinement, what refinements to the rule are allowed?

    begin
    end
    rule
    returns

  23. abstract def validRuleRefinementsGivenRightChild(completionBegin: Int, completionEnd: Int, split: Int, end: Int, rule: Int, childRef: Int): Array[Int]

  24. abstract def validUnaryRuleRefinementsGivenChild(begin: Int, end: Int, rule: Int, childRef: Int): Array[Int]

  25. abstract def words: IndexedSeq[W]

Concrete Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. def *(other: UnrefinedGrammarAnchoring[L, W]): GrammarAnchoring[L, W]

  5. 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.)

    other
    returns

  6. 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.)

    other
    returns

  7. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  8. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  9. 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

  10. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  11. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  12. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  13. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  14. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  15. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  16. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  17. def isConvergedTo(f: GrammarAnchoring[L, W], diff: Double): Boolean

  18. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  19. def length: Int

  20. def logPartition: Double

  21. def marginal: RefinedChartMarginal[L, W]

  22. def maxLabelRefinements: Int

  23. def maxMarginal: RefinedChartMarginal[L, W]

  24. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  25. final def notify(): Unit

    Definition Classes
    AnyRef
  26. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  27. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  28. def tagConstraints: TagConstraints[L]

  29. def toString(): String

    Definition Classes
    AnyRef → Any
  30. def validRuleRefinementsGivenParent(begin: Int, splitBegin: Int, splitEnd: Int, end: Int, rule: Int, parentRef: Int): Array[Int]

  31. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  32. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  33. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped