epic.parser

ProductGrammarAnchoring

final case class ProductGrammarAnchoring[L, W](s1: GrammarAnchoring[L, W], s2: GrammarAnchoring[L, W], alpha: Double = 1.0) extends ProductRefinementsHandler[L, W] with GrammarAnchoring[L, W] with Product with Serializable

Creates a product of two derivation scorers, seamlessly combining their refinements as appropriate.

This class is the main motivation for the "annotationTag" on epic.parser.GrammarAnchoring instances. If one of the annotation tags is "0" then it does not use refinements, and so we can avoid clever games.

Similarly, if the tags matched, then we can use the same tags. I'm not 100% convinced this is necessary any more. But I have it for now.

Linear Supertypes
Serializable, Serializable, Product, Equals, GrammarAnchoring[L, W], ProductRefinementsHandler[L, W], AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. ProductGrammarAnchoring
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. GrammarAnchoring
  7. ProductRefinementsHandler
  8. AnyRef
  9. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new ProductGrammarAnchoring(s1: GrammarAnchoring[L, W], s2: GrammarAnchoring[L, W], alpha: Double = 1.0)

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]

    Definition Classes
    GrammarAnchoring
  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

    Definition Classes
    GrammarAnchoring
  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

    Definition Classes
    GrammarAnchoring
  7. final def ==(arg0: AnyRef): Boolean

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

    Definition Classes
    Any
  9. def addConstraints(constraints: ChartConstraints[L]): GrammarAnchoring[L, W]

  10. val alpha: Double

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

    Definition Classes
    ProductGrammarAnchoringGrammarAnchoring
  12. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  13. def childRefinement(rule: Int, ruleRef: Int): Int

  14. def clone(): AnyRef

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

    Definition Classes
    AnyRef
  16. def finalize(): Unit

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

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

    Definition Classes
    GrammarAnchoring
  19. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  20. final def label1Ref(label: Int, ref: Int): Int

    Attributes
    protected
    Definition Classes
    ProductRefinementsHandler
    Annotations
    @inline()
  21. final def label2Ref(label: Int, ref: Int): Int

    Attributes
    protected
    Definition Classes
    ProductRefinementsHandler
    Annotations
    @inline()
  22. def leftChildRefinement(rule: Int, ruleRef: Int): Int

  23. def length: Int

    Definition Classes
    GrammarAnchoring
  24. def lexicon: Lexicon[L, W]

  25. def logPartition: Double

    Definition Classes
    GrammarAnchoring
  26. def marginal: RefinedChartMarginal[L, W]

    Definition Classes
    GrammarAnchoring
  27. def maxLabelRefinements: Int

    Definition Classes
    GrammarAnchoring
  28. def maxMarginal: RefinedChartMarginal[L, W]

    Definition Classes
    GrammarAnchoring
  29. final def ne(arg0: AnyRef): Boolean

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

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

    Definition Classes
    AnyRef
  32. def numValidRefinements(label: Int): Int

  33. def numValidRuleRefinements(rule: Int): Int

  34. def parentRefinement(rule: Int, ruleRef: Int): Int

  35. final val refinementController: GrammarAnchoring[L, W]

    Attributes
    protected
    Definition Classes
    ProductRefinementsHandler
  36. def rightChildRefinement(rule: Int, ruleRef: Int): Int

  37. final def rule1Ref(rule: Int, ref: Int): Int

    Attributes
    protected
    Definition Classes
    ProductRefinementsHandler
    Annotations
    @inline()
  38. final def rule2Ref(rule: Int, ref: Int): Int

    Attributes
    protected
    Definition Classes
    ProductRefinementsHandler
    Annotations
    @inline()
  39. 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

    Definition Classes
    ProductGrammarAnchoringGrammarAnchoring
  40. 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

    Definition Classes
    ProductGrammarAnchoringGrammarAnchoring
  41. val s1: GrammarAnchoring[L, W]

  42. val s2: GrammarAnchoring[L, W]

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

    Scores the indexed epic.trees.BinaryRule rule when it occurs at (begin, split, end)

    Definition Classes
    ProductGrammarAnchoringGrammarAnchoring
  44. 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.

    Definition Classes
    ProductGrammarAnchoringGrammarAnchoring
  45. def scoreUnaryRule(begin: Int, end: Int, rule: Int, ref: Int): Double

    Scores the indexed epic.trees.UnaryRule rule when it occurs at (begin, end)

    Scores the indexed epic.trees.UnaryRule rule when it occurs at (begin, end)

    Definition Classes
    ProductGrammarAnchoringGrammarAnchoring
  46. val sparsityPattern: ChartConstraints[L]

  47. final def synchronized[T0](arg0: ⇒ T0): T0

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

    Definition Classes
    GrammarAnchoring
  49. val topology: RuleTopology[L]

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

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

    Definition Classes
    ProductGrammarAnchoringGrammarAnchoring
  52. def validLeftChildRefinementsGivenRule(begin: Int, end: Int, completionBegin: Int, completionEnd: Int, rule: Int): Array[Int]

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

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

  55. def validRuleRefinementsGivenLeftChild(begin: Int, split: Int, completionBegin: Int, completionEnd: Int, rule: Int, leftChildRef: Int): Array[Int]

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

    Definition Classes
    ProductGrammarAnchoringGrammarAnchoring
  57. def validRuleRefinementsGivenParent(begin: Int, splitBegin: Int, splitEnd: Int, end: Int, rule: Int, parentRef: Int): Array[Int]

    Definition Classes
    GrammarAnchoring
  58. def validRuleRefinementsGivenRightChild(completionBegin: Int, completionEnd: Int, split: Int, end: Int, rule: Int, rightChildRef: Int): Array[Int]

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

  60. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  63. def words: IndexedSeq[W]

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from GrammarAnchoring[L, W]

Inherited from ProductRefinementsHandler[L, W]

Inherited from AnyRef

Inherited from Any

Ungrouped