class RelationExtractionModel extends GenericClassifierModel with ParamsAndFeaturesWritable with HandleExceptionParams with HasSafeAnnotate[GenericClassifierModel]

Extracts and classifies instances of relations between named entities. For this, relation pairs need to be defined with setRelationPairs, to specify between which entities the extraction should be done.

For pretrained models please see the Models Hub for available models.

Example

Relation Extraction between body parts

Define pipeline stages to extract entities

val documenter = new DocumentAssembler()
  .setInputCol("text")
  .setOutputCol("document")

val sentencer = new SentenceDetector()
  .setInputCols("document")
  .setOutputCol("sentences")

val tokenizer = new Tokenizer()
  .setInputCols("sentences")
  .setOutputCol("tokens")

val words_embedder = WordEmbeddingsModel.pretrained("embeddings_clinical", "en", "clinical/models")
  .setInputCols("sentences", "tokens")
  .setOutputCol("embeddings")

val pos_tagger = PerceptronModel.pretrained("pos_clinical", "en", "clinical/models")
  .setInputCols("sentences", "tokens")
  .setOutputCol("pos_tags")

val dependency_parser = DependencyParserModel.pretrained("dependency_conllu", "en")
  .setInputCols("sentences", "pos_tags", "tokens")
  .setOutputCol("dependencies")

val clinical_ner_tagger = MedicalNerModel.pretrained("jsl_ner_wip_greedy_clinical","en","clinical/models")
  .setInputCols("sentences", "tokens", "embeddings")
  .setOutputCol("ner_tags")

val ner_chunker = new NerConverter()
  .setInputCols("sentences", "tokens", "ner_tags")
  .setOutputCol("ner_chunks")

Define the relations that are to be extracted

val relationPairs = Array("direction-external_body_part_or_region",
                      "external_body_part_or_region-direction",
                      "direction-internal_organ_or_component",
                      "internal_organ_or_component-direction")

val re_model = RelationExtractionModel.pretrained("re_bodypart_directions", "en", "clinical/models")
  .setInputCols("embeddings", "pos_tags", "ner_chunks", "dependencies")
  .setOutputCol("relations")
  .setRelationPairs(relationPairs)
  .setMaxSyntacticDistance(4)
  .setPredictionThreshold(0.9f)

val pipeline = new Pipeline().setStages(Array(
  documenter,
  sentencer,
  tokenizer,
  words_embedder,
  pos_tagger,
  clinical_ner_tagger,
  ner_chunker,
  dependency_parser,
  re_model
))

val data = Seq("MRI demonstrated infarction in the upper brain stem , left cerebellum and  right basil ganglia").toDF("text")
val result = pipeline.fit(data).transform(data)

Show results

result.selectExpr("explode(relations) as relations")
 .select(
   "relations.metadata.chunk1",
   "relations.metadata.entity1",
   "relations.metadata.chunk2",
   "relations.metadata.entity2",
   "relations.result"
 )
 .where("result != 0")
 .show(truncate=false)
+------+---------+-------------+---------------------------+------+
|chunk1|entity1  |chunk2       |entity2                    |result|
+------+---------+-------------+---------------------------+------+
|upper |Direction|brain stem   |Internal_organ_or_component|1     |
|left  |Direction|cerebellum   |Internal_organ_or_component|1     |
|right |Direction|basil ganglia|Internal_organ_or_component|1     |
+------+---------+-------------+---------------------------+------+
See also

RelationExtractionApproach to train your own model.

RelationExtractionDLModel for BERT based extraction

Linear Supertypes
GenericClassifierModel, CheckLicense, HasSafeAnnotate[GenericClassifierModel], HandleExceptionParams, HasSimpleAnnotate[GenericClassifierModel], WriteTensorflowModel, HasStorageRef, GenericClassifierParams, AnnotatorModel[GenericClassifierModel], CanBeLazy, RawAnnotator[GenericClassifierModel], HasOutputAnnotationCol, HasInputAnnotationCols, HasOutputAnnotatorType, ParamsAndFeaturesWritable, HasFeatures, DefaultParamsWritable, MLWritable, Model[GenericClassifierModel], Transformer, PipelineStage, Logging, Params, Serializable, Serializable, Identifiable, AnyRef, Any
Known Subclasses
Ordering
  1. Grouped
  2. Alphabetic
  3. By Inheritance
Inherited
  1. RelationExtractionModel
  2. GenericClassifierModel
  3. CheckLicense
  4. HasSafeAnnotate
  5. HandleExceptionParams
  6. HasSimpleAnnotate
  7. WriteTensorflowModel
  8. HasStorageRef
  9. GenericClassifierParams
  10. AnnotatorModel
  11. CanBeLazy
  12. RawAnnotator
  13. HasOutputAnnotationCol
  14. HasInputAnnotationCols
  15. HasOutputAnnotatorType
  16. ParamsAndFeaturesWritable
  17. HasFeatures
  18. DefaultParamsWritable
  19. MLWritable
  20. Model
  21. Transformer
  22. PipelineStage
  23. Logging
  24. Params
  25. Serializable
  26. Serializable
  27. Identifiable
  28. AnyRef
  29. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new RelationExtractionModel()
  2. new RelationExtractionModel(uid: String)

    uid

    a unique identifier for the instantiated AnnotatorModel

Type Members

  1. type AnnotationContent = Seq[Row]
    Attributes
    protected
    Definition Classes
    AnnotatorModel
  2. type AnnotatorType = String
    Definition Classes
    HasOutputAnnotatorType

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def $[T](param: Param[T]): T
    Attributes
    protected
    Definition Classes
    Params
  4. def $$[T](feature: StructFeature[T]): T
    Attributes
    protected
    Definition Classes
    HasFeatures
  5. def $$[K, V](feature: MapFeature[K, V]): Map[K, V]
    Attributes
    protected
    Definition Classes
    HasFeatures
  6. def $$[T](feature: SetFeature[T]): Set[T]
    Attributes
    protected
    Definition Classes
    HasFeatures
  7. def $$[T](feature: ArrayFeature[T]): Array[T]
    Attributes
    protected
    Definition Classes
    HasFeatures
  8. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  9. def _transform(dataset: Dataset[_], recursivePipeline: Option[PipelineModel]): DataFrame
    Attributes
    protected
    Definition Classes
    AnnotatorModel
  10. def afterAnnotate(dataset: DataFrame): DataFrame
    Attributes
    protected
    Definition Classes
    AnnotatorModel
  11. def annotate(annotations: Seq[Annotation]): Seq[Annotation]

    takes a document and annotations and produces new annotations of this annotator's annotation type

    takes a document and annotations and produces new annotations of this annotator's annotation type

    annotations

    Annotations that correspond to inputAnnotationCols generated by previous annotators if any

    returns

    any number of annotations processed for every input annotation. Not necessary one to one relationship

    Definition Classes
    RelationExtractionModelGenericClassifierModel → HasSimpleAnnotate
  12. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  13. val batchSize: IntParam

    Batch size

    Batch size

    Definition Classes
    GenericClassifierParams
  14. def beforeAnnotate(dataset: Dataset[_]): Dataset[_]
    Attributes
    protected
    Definition Classes
    GenericClassifierModel → AnnotatorModel
  15. def categorizeRel(relation: RelationInstance): (Long, Float, Array[Float])
    Attributes
    protected
  16. final def checkSchema(schema: StructType, inputAnnotatorType: String): Boolean
    Attributes
    protected
    Definition Classes
    HasInputAnnotationCols
  17. def checkValidEnvironment(spark: Option[SparkSession], scopes: Seq[String]): Unit
    Definition Classes
    CheckLicense
  18. def checkValidScope(scope: String): Unit
    Definition Classes
    CheckLicense
  19. def checkValidScopeAndEnvironment(scope: String, spark: Option[SparkSession], checkLp: Boolean): Unit
    Definition Classes
    CheckLicense
  20. def checkValidScopesAndEnvironment(scopes: Seq[String], spark: Option[SparkSession], checkLp: Boolean): Unit
    Definition Classes
    CheckLicense
  21. val classes: StringArrayParam
    Definition Classes
    GenericClassifierModel
  22. final def clear(param: Param[_]): RelationExtractionModel.this.type
    Definition Classes
    Params
  23. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  24. def copy(extra: ParamMap): GenericClassifierModel
    Definition Classes
    RawAnnotator → Model → Transformer → PipelineStage → Params
  25. def copyValues[T <: Params](to: T, extra: ParamMap): T
    Attributes
    protected
    Definition Classes
    Params
  26. def createDatabaseConnection(database: Name): RocksDBConnection
    Definition Classes
    HasStorageRef
  27. var customLabels: MapFeature[String, String]

    Custom relation labels

  28. val datasetInfo: Param[String]

    Descriptive information about the dataset being used.

    Descriptive information about the dataset being used.

    Definition Classes
    GenericClassifierParams
  29. final def defaultCopy[T <: Params](extra: ParamMap): T
    Attributes
    protected
    Definition Classes
    Params
  30. def dfAnnotate: UserDefinedFunction
    Definition Classes
    HasSimpleAnnotate
  31. val directionSensitive: BooleanParam

    If it is true, only relations in the form of "ENTITY1-ENTITY2" will be considered, If it is false, both "ENTITY1-ENTITY2" and "ENTITY2-ENTITY1" relations will be considered,

  32. val doExceptionHandling: BooleanParam

    If true, exceptions are handled.

    If true, exceptions are handled. If exception causing data is passed to the model, a error annotation is emitted which has the exception message. Processing continues with the next one. This comes with a performance penalty.

    Definition Classes
    HandleExceptionParams
  33. val dropout: FloatParam

    Dropout coefficient

    Dropout coefficient

    Definition Classes
    GenericClassifierParams
  34. val epochsN: IntParam

    Maximum number of epochs to train

    Maximum number of epochs to train

    Definition Classes
    GenericClassifierParams
  35. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  36. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  37. def explainParam(param: Param[_]): String
    Definition Classes
    Params
  38. def explainParams(): String
    Definition Classes
    Params
  39. def extraValidate(structType: StructType): Boolean
    Attributes
    protected
    Definition Classes
    RawAnnotator
  40. def extraValidateMsg: String
    Attributes
    protected
    Definition Classes
    RawAnnotator
  41. final def extractParamMap(): ParamMap
    Definition Classes
    Params
  42. final def extractParamMap(extra: ParamMap): ParamMap
    Definition Classes
    Params
  43. val featureScaling: Param[String]

    Feature scaling method.

    Feature scaling method. Possible values are 'zscore', 'minmax' or empty (no scaling)

    Definition Classes
    GenericClassifierParams
  44. val features: ArrayBuffer[Feature[_, _, _]]
    Definition Classes
    HasFeatures
  45. val filterByTokenDistance: IntParam

    filtering criterion based on number of token between entities.

    filtering criterion based on number of token between entities. Model only finds relations that have fewer than the specified number of tokens between them.

  46. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  47. val fixImbalance: BooleanParam

    Fix the imbalance in the training set by replicating examples of under represented categories

    Fix the imbalance in the training set by replicating examples of under represented categories

    Definition Classes
    GenericClassifierParams
  48. def get[T](feature: StructFeature[T]): Option[T]
    Attributes
    protected
    Definition Classes
    HasFeatures
  49. def get[K, V](feature: MapFeature[K, V]): Option[Map[K, V]]
    Attributes
    protected
    Definition Classes
    HasFeatures
  50. def get[T](feature: SetFeature[T]): Option[Set[T]]
    Attributes
    protected
    Definition Classes
    HasFeatures
  51. def get[T](feature: ArrayFeature[T]): Option[Array[T]]
    Attributes
    protected
    Definition Classes
    HasFeatures
  52. final def get[T](param: Param[T]): Option[T]
    Definition Classes
    Params
  53. def getBatchSize: Int

    Batch size

    Batch size

    Definition Classes
    GenericClassifierParams
  54. def getCategories(): Array[String]
    Definition Classes
    GenericClassifierModel
  55. def getCategoryName(id: Int): String
    Definition Classes
    GenericClassifierModel
  56. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  57. def getClasses: Array[String]

    Proxy to getCategories

  58. def getCustomLabel(label: String): String
  59. def getCustomLabels: Map[String, String]

    Custom relation labels

  60. def getDatasetInfo: String

    get descriptive information about the dataset being used

    get descriptive information about the dataset being used

    Definition Classes
    GenericClassifierParams
  61. final def getDefault[T](param: Param[T]): Option[T]
    Definition Classes
    Params
  62. def getDirectionSensitive: Boolean

    Gets the directionSensitive

  63. def getDropout: Float

    Dropout coefficient

    Dropout coefficient

    Definition Classes
    GenericClassifierParams
  64. def getEncoder: GenericClassifierDataEncoder
    Definition Classes
    GenericClassifierModel
  65. def getFeatureScaling: String

    Get feature scaling method

    Get feature scaling method

    Definition Classes
    GenericClassifierParams
  66. def getFixImbalance: Boolean

    Fix imbalance in training set

    Fix imbalance in training set

    Definition Classes
    GenericClassifierParams
  67. def getInputCols: Array[String]
    Definition Classes
    HasInputAnnotationCols
  68. def getLabelColumn: String

    Column with label per each document

    Column with label per each document

    Definition Classes
    GenericClassifierParams
  69. def getLazyAnnotator: Boolean
    Definition Classes
    CanBeLazy
  70. def getLearningRate: Float

    Learning Rate

    Learning Rate

    Definition Classes
    GenericClassifierParams
  71. def getMaxEpochs: Int

    Maximum number of epochs to train

    Maximum number of epochs to train

    Definition Classes
    GenericClassifierParams
  72. def getMaxSyntacticDistance: Int

    Maximal syntactic distance, as threshold (Default: 0)

  73. def getModelFile: String

    Model file name

    Model file name

    Definition Classes
    GenericClassifierParams
  74. def getMultiClass: Boolean

    Gets the model multi class prediction mode

    Gets the model multi class prediction mode

    Definition Classes
    GenericClassifierParams
  75. final def getOrDefault[T](param: Param[T]): T
    Definition Classes
    Params
  76. final def getOutputCol: String
    Definition Classes
    HasOutputAnnotationCol
  77. def getOutputLogsPath: String

    Get output logs path

    Get output logs path

    Definition Classes
    GenericClassifierParams
  78. def getParam(paramName: String): Param[Any]
    Definition Classes
    Params
  79. def getPredictionThreshold: Float

    Minimal activation of the target unit to encode a new relation instance (Default: 0.5f)

  80. def getRelationPairs: Array[String]

    List of dash-separated pairs of named entities ("ENTITY1-ENTITY2", e.g.

    List of dash-separated pairs of named entities ("ENTITY1-ENTITY2", e.g. "Biomarker-RelativeDay"), which will be processed

  81. def getRelationPairsCaseSensitive: Boolean

    Gets the case sensitivity of relation pairs

  82. def getRelationTypePerPair: Map[String, Array[String]]

    Get the lists of entity pairs allowed for a given relation

  83. def getRelationTypePerPairStr: String

    Get a string representation of the lists of entity pairs allowed for a given relation

  84. def getScopeWindow: (Int, Int)

    Get scope window

  85. def getStorageRef: String
    Definition Classes
    HasStorageRef
  86. def getValidationSplit: Float

    Choose the proportion of training dataset to be validated against the model on each Epoch.

    Choose the proportion of training dataset to be validated against the model on each Epoch. The value should be between 0.0 and 1.0 and by default it is 0.0 and off.

    Definition Classes
    GenericClassifierParams
  87. final def hasDefault[T](param: Param[T]): Boolean
    Definition Classes
    Params
  88. def hasParam(paramName: String): Boolean
    Definition Classes
    Params
  89. def hasParent: Boolean
    Definition Classes
    Model
  90. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  91. val inExceptionMode: Boolean
    Attributes
    protected
    Definition Classes
    HasSafeAnnotate
  92. def initializeLogIfNecessary(isInterpreter: Boolean, silent: Boolean): Boolean
    Attributes
    protected
    Definition Classes
    Logging
  93. def initializeLogIfNecessary(isInterpreter: Boolean): Unit
    Attributes
    protected
    Definition Classes
    Logging
  94. val inputAnnotatorTypes: Array[AnnotatorType]

    Input annotator types : WORD_EMBEDDINGS, POS, CHUNK, DEPENDENCY

    Input annotator types : WORD_EMBEDDINGS, POS, CHUNK, DEPENDENCY

    Definition Classes
    RelationExtractionModelGenericClassifierModel → HasInputAnnotationCols
  95. final val inputCols: StringArrayParam
    Attributes
    protected
    Definition Classes
    HasInputAnnotationCols
  96. final def isDefined(param: Param[_]): Boolean
    Definition Classes
    Params
  97. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  98. final def isSet(param: Param[_]): Boolean
    Definition Classes
    Params
  99. def isTraceEnabled(): Boolean
    Attributes
    protected
    Definition Classes
    Logging
  100. val labelColumn: Param[String]

    Column with label per each document

    Column with label per each document

    Definition Classes
    GenericClassifierParams
  101. val lazyAnnotator: BooleanParam
    Definition Classes
    CanBeLazy
  102. val learningRate: FloatParam

    Learning Rate

    Learning Rate

    Definition Classes
    GenericClassifierParams
  103. def loadModel(sparkSession: SparkSession, tfModel: TensorflowWrapper, categories: Array[String], encoder: GenericClassifierDataEncoder, nerTags: Array[String]): RelationExtractionModel.this.type
  104. def log: Logger
    Attributes
    protected
    Definition Classes
    Logging
  105. def logDebug(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  106. def logDebug(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  107. def logError(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  108. def logError(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  109. def logInfo(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  110. def logInfo(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  111. def logName: String
    Attributes
    protected
    Definition Classes
    Logging
  112. def logTrace(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  113. def logTrace(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  114. def logWarning(msg: ⇒ String, throwable: Throwable): Unit
    Attributes
    protected
    Definition Classes
    Logging
  115. def logWarning(msg: ⇒ String): Unit
    Attributes
    protected
    Definition Classes
    Logging
  116. var maxSyntacticDistance: IntParam

    Maximal syntactic distance, as threshold (Default: 0)

  117. def model: TensorflowGenericClassifier
    Definition Classes
    GenericClassifierModel
  118. val modelFile: Param[String]

    Location of file of the model used for classification

    Location of file of the model used for classification

    Definition Classes
    GenericClassifierParams
  119. def msgHelper(schema: StructType): String
    Attributes
    protected
    Definition Classes
    HasInputAnnotationCols
  120. val multiClass: BooleanParam

    If multiClass is set, the model will return all the labels with corresponding scores.

    If multiClass is set, the model will return all the labels with corresponding scores. By default, multiClass is false.

    Definition Classes
    GenericClassifierParams
  121. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  122. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  123. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  124. def onWrite(path: String, spark: SparkSession): Unit
    Definition Classes
    GenericClassifierModel → ParamsAndFeaturesWritable
  125. val optionalInputAnnotatorTypes: Array[String]
    Definition Classes
    HasInputAnnotationCols
  126. val outputAnnotatorType: String

    Output annotator types : CATEGORY

    Output annotator types : CATEGORY

    Definition Classes
    RelationExtractionModelGenericClassifierModel → HasOutputAnnotatorType
  127. final val outputCol: Param[String]
    Attributes
    protected
    Definition Classes
    HasOutputAnnotationCol
  128. val outputLogsPath: Param[String]

    Folder path to save training logs.

    Folder path to save training logs. If no path is specified, the logs won't be stored in disk. The path can be a local file path, a distributed file path (HDFS, DBFS), or a cloud storage (S3).

    Definition Classes
    GenericClassifierParams
  129. lazy val params: Array[Param[_]]
    Definition Classes
    Params
  130. var parent: Estimator[GenericClassifierModel]
    Definition Classes
    Model
  131. var predictionThreshold: FloatParam

    Minimal activation of the target unit to encode a new relation instance (Default: 0.5f)

  132. var relationPairs: Param[String]

    List of dash-separated pairs of named entities ("ENTITY1-ENTITY2", e.g.

    List of dash-separated pairs of named entities ("ENTITY1-ENTITY2", e.g. "Biomarker-RelativeDay"), which will be processed

  133. var relationPairsCaseSensitive: BooleanParam

    Determines whether relation pairs are case sensitive

  134. def safeAnnotate(annotations: Seq[Annotation]): Seq[Annotation]

    A protected method designed to safely annotate a sequence of Annotation objects by handling exceptions.

    A protected method designed to safely annotate a sequence of Annotation objects by handling exceptions.

    annotations

    A sequence of Annotation.

    returns

    A sequence of Annotation objects after processing, potentially containing error annotations.

    Attributes
    protected
    Definition Classes
    HasSafeAnnotate
  135. def save(path: String): Unit
    Definition Classes
    MLWritable
    Annotations
    @Since( "1.6.0" ) @throws( ... )
  136. def scaleFeatures(features: Array[Array[Float]]): Array[Array[Float]]
    Attributes
    protected
    Definition Classes
    GenericClassifierModel
  137. val scopeWindow: IntArrayParam

    The scope window of the feature generation for relations

  138. def set[T](feature: StructFeature[T], value: T): RelationExtractionModel.this.type
    Attributes
    protected
    Definition Classes
    HasFeatures
  139. def set[K, V](feature: MapFeature[K, V], value: Map[K, V]): RelationExtractionModel.this.type
    Attributes
    protected
    Definition Classes
    HasFeatures
  140. def set[T](feature: SetFeature[T], value: Set[T]): RelationExtractionModel.this.type
    Attributes
    protected
    Definition Classes
    HasFeatures
  141. def set[T](feature: ArrayFeature[T], value: Array[T]): RelationExtractionModel.this.type
    Attributes
    protected
    Definition Classes
    HasFeatures
  142. final def set(paramPair: ParamPair[_]): RelationExtractionModel.this.type
    Attributes
    protected
    Definition Classes
    Params
  143. final def set(param: String, value: Any): RelationExtractionModel.this.type
    Attributes
    protected
    Definition Classes
    Params
  144. final def set[T](param: Param[T], value: T): RelationExtractionModel.this.type
    Definition Classes
    Params
  145. def setBatchSize(batch: Int): RelationExtractionModel.this.type

    Batch size

    Batch size

    Definition Classes
    GenericClassifierParams
  146. def setCategoryNames(categoryNames: Array[String]): RelationExtractionModel.this.type
    Definition Classes
    GenericClassifierModel
  147. def setCustomLabels(labels: HashMap[String, String]): RelationExtractionModel.this.type

  148. def setCustomLabels(labels: Map[String, String]): RelationExtractionModel.this.type

    Set custom relation labels

  149. def setDatasetInfo(value: String): RelationExtractionModel.this.type

    set descriptive information about the dataset being used

    set descriptive information about the dataset being used

    Definition Classes
    GenericClassifierParams
  150. def setDefault[T](feature: StructFeature[T], value: () ⇒ T): RelationExtractionModel.this.type
    Attributes
    protected
    Definition Classes
    HasFeatures
  151. def setDefault[K, V](feature: MapFeature[K, V], value: () ⇒ Map[K, V]): RelationExtractionModel.this.type
    Attributes
    protected
    Definition Classes
    HasFeatures
  152. def setDefault[T](feature: SetFeature[T], value: () ⇒ Set[T]): RelationExtractionModel.this.type
    Attributes
    protected
    Definition Classes
    HasFeatures
  153. def setDefault[T](feature: ArrayFeature[T], value: () ⇒ Array[T]): RelationExtractionModel.this.type
    Attributes
    protected
    Definition Classes
    HasFeatures
  154. final def setDefault(paramPairs: ParamPair[_]*): RelationExtractionModel.this.type
    Attributes
    protected
    Definition Classes
    Params
  155. final def setDefault[T](param: Param[T], value: T): RelationExtractionModel.this.type
    Attributes
    protected[org.apache.spark.ml]
    Definition Classes
    Params
  156. def setDirectionSensitive(value: Boolean): RelationExtractionModel.this.type

    If it is true, only relations in the form of "ENTITY1-ENTITY2" will be considered, If it is false, both "ENTITY1-ENTITY2" and "ENTITY2-ENTITY1" relations will be considered,

  157. def setDoExceptionHandling(value: Boolean): RelationExtractionModel.this.type

    If true, exceptions are handled.

    If true, exceptions are handled. If exception causing data is passed to the model, a error annotation is emitted which has the exception message. Processing continues with the next one. This comes with a performance penalty.

    Definition Classes
    HandleExceptionParams
  158. def setDropout(dropout: Float): RelationExtractionModel.this.type

    Dropout coefficient

    Dropout coefficient

    Definition Classes
    GenericClassifierParams
  159. def setEncoder(encoder: GenericClassifierDataEncoder): RelationExtractionModel.this.type
    Definition Classes
    GenericClassifierModel
  160. def setEpochsNumber(epochs: Int): RelationExtractionModel.this.type

    Maximum number of epochs to train

    Maximum number of epochs to train

    Definition Classes
    GenericClassifierParams
  161. def setFeatureScaling(featureScaling: String): RelationExtractionModel.this.type

    Set the feature scaling method.

    Set the feature scaling method. Possible values are 'zscore', 'minmax' or empty (no scaling)

    Definition Classes
    GenericClassifierParams
  162. def setFilterByTokenDistance(value: Int): RelationExtractionModel.this.type

    filtering criterion based on number of token between entities.

    filtering criterion based on number of token between entities. Model only finds relations that have fewer than the specified number of tokens between them

  163. def setFixImbalance(fix: Boolean): RelationExtractionModel.this.type

    Fix imbalance of training set

    Fix imbalance of training set

    Definition Classes
    GenericClassifierParams
  164. final def setInputCols(value: String*): RelationExtractionModel.this.type
    Definition Classes
    HasInputAnnotationCols
  165. def setInputCols(value: Array[String]): RelationExtractionModel.this.type
    Definition Classes
    HasInputAnnotationCols
  166. def setLabelColumn(column: String): RelationExtractionModel.this.type

    Column with label per each document

    Column with label per each document

    Definition Classes
    GenericClassifierParams
  167. def setLazyAnnotator(value: Boolean): RelationExtractionModel.this.type
    Definition Classes
    CanBeLazy
  168. def setMaxSyntacticDistance(maxSyntacticDistance: Int): RelationExtractionModel.this.type

    Maximal syntactic distance, as threshold (Default: 0)

  169. def setModelFile(modelFile: String): RelationExtractionModel.this.type

    Set the model file name

    Set the model file name

    Definition Classes
    GenericClassifierParams
  170. def setMultiClass(value: Boolean): RelationExtractionModel.this.type

    Sets the model in multi class prediction mode

    Sets the model in multi class prediction mode

    Definition Classes
    GenericClassifierParams
  171. final def setOutputCol(value: String): RelationExtractionModel.this.type
    Definition Classes
    HasOutputAnnotationCol
  172. def setOutputLogsPath(outputLogsPath: String): RelationExtractionModel.this.type

    Set the output log path

    Set the output log path

    Definition Classes
    GenericClassifierParams
  173. def setParent(parent: Estimator[GenericClassifierModel]): GenericClassifierModel
    Definition Classes
    Model
  174. def setPredictionThreshold(predictionThreshold: Float): RelationExtractionModel.this.type

    Minimal activation of the target unit to encode a new relation instance (Default: 0.5f)

  175. def setRelationPairs(relationPairs: Array[String]): RelationExtractionModel.this.type

    List of dash-separated pairs of named entities ("ENTITY1-ENTITY2", e.g.

    List of dash-separated pairs of named entities ("ENTITY1-ENTITY2", e.g. "Biomarker-RelativeDay"), which will be processed

  176. def setRelationPairsCaseSensitive(value: Boolean): RelationExtractionModel.this.type

    Sets the case sensitivity of relation pairs

  177. def setRelationTypePerPair(categories: HashMap[String, List[String]]): RelationExtractionModel.this.type

    Set the lists of entity pairs allowed for a given relation

  178. def setRelationTypePerPair(categories: Map[String, Array[String]]): RelationExtractionModel.this.type

    Set the lists of entity pairs allowed for a given relation

  179. def setScopeWindow(window: (Int, Int)): RelationExtractionModel.this.type

    Sets the scope of the window of the feature generation for relations

  180. def setStorageRef(value: String): RelationExtractionModel.this.type
    Definition Classes
    HasStorageRef
  181. def setTensorflowModel(spark: SparkSession, tf: TensorflowWrapper): RelationExtractionModel.this.type
    Definition Classes
    GenericClassifierModel
  182. def setValidationSplit(validationSplit: Float): RelationExtractionModel.this.type

    Choose the proportion of training dataset to be validated against the model on each Epoch.

    Choose the proportion of training dataset to be validated against the model on each Epoch. The value should be between 0.0 and 1.0 and by default it is 0.0 and off.

    Definition Classes
    GenericClassifierParams
  183. def setlearningRate(lr: Float): RelationExtractionModel.this.type

    Learning Rate

    Learning Rate

    Definition Classes
    GenericClassifierParams
  184. val storageRef: Param[String]
    Definition Classes
    HasStorageRef
  185. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  186. def toString(): String
    Definition Classes
    Identifiable → AnyRef → Any
  187. final def transform(dataset: Dataset[_]): DataFrame
    Definition Classes
    AnnotatorModel → Transformer
  188. def transform(dataset: Dataset[_], paramMap: ParamMap): DataFrame
    Definition Classes
    Transformer
    Annotations
    @Since( "2.0.0" )
  189. def transform(dataset: Dataset[_], firstParamPair: ParamPair[_], otherParamPairs: ParamPair[_]*): DataFrame
    Definition Classes
    Transformer
    Annotations
    @Since( "2.0.0" ) @varargs()
  190. final def transformSchema(schema: StructType): StructType
    Definition Classes
    RawAnnotator → PipelineStage
  191. def transformSchema(schema: StructType, logging: Boolean): StructType
    Attributes
    protected
    Definition Classes
    PipelineStage
    Annotations
    @DeveloperApi()
  192. val uid: String
    Definition Classes
    RelationExtractionModelGenericClassifierModel → Identifiable
  193. def validate(schema: StructType): Boolean
    Attributes
    protected
    Definition Classes
    RawAnnotator
  194. def validateStorageRef(dataset: Dataset[_], inputCols: Array[String], annotatorType: String): Unit
    Definition Classes
    HasStorageRef
  195. val validationSplit: FloatParam

    The proportion of training dataset to be used as validation set.

    The proportion of training dataset to be used as validation set.

    The model will be validated against this dataset on each Epoch and will not be used for training. The value should be between 0.0 and 1.0.

    Definition Classes
    GenericClassifierParams
  196. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  197. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  198. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  199. def wrapColumnMetadata(col: Column): Column
    Attributes
    protected
    Definition Classes
    RawAnnotator
  200. def write: MLWriter
    Definition Classes
    ParamsAndFeaturesWritable → DefaultParamsWritable → MLWritable
  201. def writeTensorflowHub(path: String, tfPath: String, spark: SparkSession, suffix: String): Unit
    Definition Classes
    WriteTensorflowModel
  202. def writeTensorflowModel(path: String, spark: SparkSession, tensorflow: TensorflowWrapper, suffix: String, filename: String, configProtoBytes: Option[Array[Byte]]): Unit
    Definition Classes
    WriteTensorflowModel
  203. def writeTensorflowModelV2(path: String, spark: SparkSession, tensorflow: TensorflowWrapper, suffix: String, filename: String, configProtoBytes: Option[Array[Byte]], savedSignatures: Option[Map[String, String]]): Unit
    Definition Classes
    WriteTensorflowModel

Inherited from GenericClassifierModel

Inherited from CheckLicense

Inherited from HandleExceptionParams

Inherited from HasSimpleAnnotate[GenericClassifierModel]

Inherited from WriteTensorflowModel

Inherited from HasStorageRef

Inherited from GenericClassifierParams

Inherited from AnnotatorModel[GenericClassifierModel]

Inherited from CanBeLazy

Inherited from RawAnnotator[GenericClassifierModel]

Inherited from HasOutputAnnotationCol

Inherited from HasInputAnnotationCols

Inherited from HasOutputAnnotatorType

Inherited from ParamsAndFeaturesWritable

Inherited from HasFeatures

Inherited from DefaultParamsWritable

Inherited from MLWritable

Inherited from Model[GenericClassifierModel]

Inherited from Transformer

Inherited from PipelineStage

Inherited from Logging

Inherited from Params

Inherited from Serializable

Inherited from Serializable

Inherited from Identifiable

Inherited from AnyRef

Inherited from Any

Parameters

Annotator types

Required input and expected output annotator types

Members

Parameter setters

Parameter getters