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. val alpha: Double

  10. 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
  11. final def asInstanceOf[T0]: T0

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

  13. def clone(): AnyRef

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

    Definition Classes
    AnyRef
  15. def finalize(): Unit

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

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

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

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

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

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

  22. def length: Int

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

  24. def logPartition: Double

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

    Definition Classes
    GrammarAnchoring
  26. def maxLabelRefinements: Int

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

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

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

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

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

  32. def numValidRuleRefinements(rule: Int): Int

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

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

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

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

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

    Attributes
    protected
    Definition Classes
    ProductRefinementsHandler
    Annotations
    @inline()
  38. 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
  39. 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
  40. val s1: GrammarAnchoring[L, W]

  41. val s2: GrammarAnchoring[L, W]

  42. 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
  43. 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
  44. 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
  45. val sparsityPattern: ChartConstraints[L]

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

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

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

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

  50. 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
  51. def validLeftChildRefinementsGivenRule(begin: Int, end: Int, completionBegin: Int, completionEnd: Int, rule: Int): Array[Int]

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

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

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

  55. 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
  56. def validRuleRefinementsGivenParent(begin: Int, splitBegin: Int, splitEnd: Int, end: Int, rule: Int, parentRef: Int): Array[Int]

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

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

  59. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  62. 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