c

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
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: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. def *(other: UnrefinedGrammarAnchoring[L, W]): GrammarAnchoring[L, W]
    Definition Classes
    GrammarAnchoring
  4. 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.)

    Definition Classes
    GrammarAnchoring
  5. 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.)

    Definition Classes
    GrammarAnchoring
  6. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  7. def addConstraints(constraints: ChartConstraints[L]): GrammarAnchoring[L, W]
  8. val alpha: Double
  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

    Definition Classes
    ProductGrammarAnchoringGrammarAnchoring
  10. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  11. def childRefinement(rule: Int, ruleRef: Int): Int
  12. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  13. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  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 isConvergedTo(f: GrammarAnchoring[L, W], diff: Double): Boolean
    Definition Classes
    GrammarAnchoring
  17. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  18. final def label1Ref(label: Int, ref: Int): Int
    Attributes
    protected
    Definition Classes
    ProductRefinementsHandler
    Annotations
    @inline()
  19. final def label2Ref(label: Int, ref: Int): Int
    Attributes
    protected
    Definition Classes
    ProductRefinementsHandler
    Annotations
    @inline()
  20. def leftChildRefinement(rule: Int, ruleRef: Int): Int
  21. def length: Int
    Definition Classes
    GrammarAnchoring
  22. def lexicon: Lexicon[L, W]
  23. def logPartition: Double
    Definition Classes
    GrammarAnchoring
  24. def marginal: RefinedChartMarginal[L, W]
    Definition Classes
    GrammarAnchoring
  25. def maxLabelRefinements: Int
    Definition Classes
    GrammarAnchoring
  26. def maxMarginal: RefinedChartMarginal[L, W]
    Definition Classes
    GrammarAnchoring
  27. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  28. final def notify(): Unit
    Definition Classes
    AnyRef
  29. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  30. def numValidRefinements(label: Int): Int
  31. def numValidRuleRefinements(rule: Int): Int
  32. def parentRefinement(rule: Int, ruleRef: Int): Int
  33. final val refinementController: GrammarAnchoring[L, W]
    Attributes
    protected
    Definition Classes
    ProductRefinementsHandler
  34. def rightChildRefinement(rule: Int, ruleRef: Int): Int
  35. final def rule1Ref(rule: Int, ref: Int): Int
    Attributes
    protected
    Definition Classes
    ProductRefinementsHandler
    Annotations
    @inline()
  36. final def rule2Ref(rule: Int, ref: Int): Int
    Attributes
    protected
    Definition Classes
    ProductRefinementsHandler
    Annotations
    @inline()
  37. 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
  38. 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
  39. val s1: GrammarAnchoring[L, W]
  40. val s2: GrammarAnchoring[L, W]
  41. 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
  42. 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
  43. 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
  44. val sparsityPattern: ChartConstraints[L]
  45. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  46. def tagConstraints: TagConstraints[L]
    Definition Classes
    GrammarAnchoring
  47. val topology: RuleTopology[L]
  48. def validCoarseRulesGivenParentRefinement(a: Int, refA: Int): Array[Int]
  49. 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
  50. def validLeftChildRefinementsGivenRule(begin: Int, end: Int, completionBegin: Int, completionEnd: Int, rule: Int): Array[Int]
  51. def validParentRefinementsGivenRule(begin: Int, splitBegin: Int, splitEnd: Int, end: Int, rule: Int): Array[Int]
  52. def validRightChildRefinementsGivenRule(completionBegin: Int, completionEnd: Int, begin: Int, end: Int, rule: Int): Array[Int]
  53. def validRuleRefinementsGivenLeftChild(begin: Int, split: Int, completionBegin: Int, completionEnd: Int, rule: Int, leftChildRef: Int): Array[Int]
  54. 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?

    Definition Classes
    ProductGrammarAnchoringGrammarAnchoring
  55. def validRuleRefinementsGivenParent(begin: Int, splitBegin: Int, splitEnd: Int, end: Int, rule: Int, parentRef: Int): Array[Int]
    Definition Classes
    GrammarAnchoring
  56. def validRuleRefinementsGivenRightChild(completionBegin: Int, completionEnd: Int, split: Int, end: Int, rule: Int, rightChildRef: Int): Array[Int]
  57. def validUnaryRuleRefinementsGivenChild(begin: Int, end: Int, rule: Int, childRef: Int): Array[Int]
  58. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  59. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  60. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  61. 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