com.johnsnowlabs.nlp.annotators.deid
DeIdentificationModel
Companion object DeIdentificationModel
class DeIdentificationModel extends AnnotatorModel[DeIdentificationModel] with DeIdentificationParams with DeidModelParams with HasSimpleAnnotate[DeIdentificationModel] with HandleExceptionParams with HasSafeAnnotate[DeIdentificationModel] with CheckLicense
Contains all the parameters to transform a dataset with three Input Annotations of types DOCUMENT, TOKEN and CHUNK, into its DeIdentified version of by either masking or obfuscating the given CHUNKS.
Additionally, an optional DOCUMENT column can be given to calculate join sentences boundaries if outputAsDocument is true.
To create an configured DeIdentificationModel, please see the example of DeIdentification.
- See also
BaseDeidParams to see params
DeIdentificationParams to see params
DeidModelParams to see params
DeIdentification to train your own model
- Grouped
- Alphabetic
- By Inheritance
- DeIdentificationModel
- CheckLicense
- HasSafeAnnotate
- HandleExceptionParams
- HasSimpleAnnotate
- DeidModelParams
- DeIdentificationParams
- BaseDeidParams
- AnnotatorModel
- CanBeLazy
- RawAnnotator
- HasOutputAnnotationCol
- HasInputAnnotationCols
- HasOutputAnnotatorType
- ParamsAndFeaturesWritable
- HasFeatures
- DefaultParamsWritable
- MLWritable
- Model
- Transformer
- PipelineStage
- Logging
- Params
- Serializable
- Serializable
- Identifiable
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
Type Members
-
type
AnnotationContent = Seq[Row]
- Attributes
- protected
- Definition Classes
- AnnotatorModel
-
type
AnnotatorType = String
- Definition Classes
- HasOutputAnnotatorType
- implicit class StringReplacement extends AnyRef
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
$[T](param: Param[T]): T
- Attributes
- protected
- Definition Classes
- Params
-
def
$$[T](feature: StructFeature[T]): T
- Attributes
- protected
- Definition Classes
- HasFeatures
-
def
$$[K, V](feature: MapFeature[K, V]): Map[K, V]
- Attributes
- protected
- Definition Classes
- HasFeatures
-
def
$$[T](feature: SetFeature[T]): Set[T]
- Attributes
- protected
- Definition Classes
- HasFeatures
-
def
$$[T](feature: ArrayFeature[T]): Array[T]
- Attributes
- protected
- Definition Classes
- HasFeatures
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
_transform(dataset: Dataset[_], recursivePipeline: Option[PipelineModel]): DataFrame
- Attributes
- protected
- Definition Classes
- AnnotatorModel
-
def
afterAnnotate(dataset: DataFrame): DataFrame
- Definition Classes
- DeIdentificationModel → AnnotatorModel
-
val
ageGroups: StructFeature[Map[String, Array[Int]]]
A map of age groups to obfuscate ages.
A map of age groups to obfuscate ages. For this parameter to be active, the obfuscateByAgeGroups parameter must be true. If the given ageGroups do not fully contain the ages, the ages continue to be obfuscated according to the ageRanges. The map should contain the age group name as the key and an array of two integers as the value. The first integer is the lower bound of the age group, and the second integer is the upper bound of the age group. Default age groups are as follows in the English language:
Map( "baby" -> Array(0, 1), "toddler" -> Array(1, 4), "child" -> Array(4, 13), "teenager" -> Array(13, 20), "adult" -> Array(20, 65), "senior" -> Array(65, 200) )
- Definition Classes
- DeIdentificationParams
-
val
ageRanges: IntArrayParam
List of integers specifying limits of the age groups to preserve during obfuscation
List of integers specifying limits of the age groups to preserve during obfuscation
- Definition Classes
- BaseDeidParams
-
val
ageRangesByHipaa: BooleanParam
A Boolean variable indicating whether to obfuscate ages based on HIPAA (Health Insurance Portability and Accountability Act) Privacy Rule.
A Boolean variable indicating whether to obfuscate ages based on HIPAA (Health Insurance Portability and Accountability Act) Privacy Rule.
The HIPAA Privacy Rule mandates that ages from patients older than 90 years must be obfuscated, while age for patients 90 years or younger can remain unchanged.
When
true
, age entities larger than 90 will be obfuscated as per HIPAA Privacy Rule, the others will remain unchanged. Whenfalse
, ageRanges parameter is valid.- Definition Classes
- DeIdentificationParams
-
val
allTerms: MapFeature[String, List[String]]
dictionary, which contains all terms for using later in anonimization function
-
def
annotate(annotations: Seq[Annotation]): Seq[Annotation]
- annotations
The annotations per row that we need to obfuscate the document. Annotations should be DOCUMENT, TOKEN, CHUNK. The annotations of kind TOKEN or CHUNK will be have sentence number in the metadata in any of the annotations of kind Document. If the TOKEN or CHUNK have a sentence number in metadata longer that the sentence number on the document annotations the annotator should throw and exception
- returns
The annotations of kind Document masked or obfuscated.
- Definition Classes
- DeIdentificationModel → HasSimpleAnnotate
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
beforeAnnotate(dataset: Dataset[_]): Dataset[_]
This method represents the pipeline method which calls each method one by one It utilizes the main point of interest which is getAnonymizeSentence() and calls it for each sentence
This method represents the pipeline method which calls each method one by one It utilizes the main point of interest which is getAnonymizeSentence() and calls it for each sentence
- returns
a Sequence of Anonimized Annotations
- Definition Classes
- DeIdentificationModel → AnnotatorModel
-
val
blackList: StringArrayParam
List of entities that will be ignored in the regex file.
List of entities that will be ignored in the regex file. The rest will be processed. The default values are "IBAN","ZIP","NPI","DLN","PASSPORT","C_CARD","DEA","SSN", "IP", "DEA".
- Definition Classes
- DeIdentificationParams
-
val
blackListEntities: StringArrayParam
List of entities coming from NER or regex rules that will be ignored for masking or obfuscation.
List of entities coming from NER or regex rules that will be ignored for masking or obfuscation. The rest entities will be processed. Defaults to an empty array.
- Definition Classes
- DeIdentificationParams
-
final
def
checkSchema(schema: StructType, inputAnnotatorType: String): Boolean
- Attributes
- protected
- Definition Classes
- HasInputAnnotationCols
-
def
checkValidEnvironment(spark: Option[SparkSession], scopes: Seq[String]): Unit
- Definition Classes
- CheckLicense
-
def
checkValidScope(scope: String): Unit
- Definition Classes
- CheckLicense
-
def
checkValidScopeAndEnvironment(scope: String, spark: Option[SparkSession], checkLp: Boolean): Unit
- Definition Classes
- CheckLicense
-
def
checkValidScopesAndEnvironment(scopes: Seq[String], spark: Option[SparkSession], checkLp: Boolean): Unit
- Definition Classes
- CheckLicense
- def chunkFlexibleEquals(chunkA: Annotation, chunkB: Annotation): Boolean
- def chunkSameEntity(chunkA: Annotation, chunkB: Annotation): Boolean
-
final
def
clear(param: Param[_]): DeIdentificationModel.this.type
- Definition Classes
- Params
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
val
consistentObfuscation: BooleanParam
Whether to replace very similar entities in a document with the same randomized term (default: true) The similarity is based on the Levenshtein Distance between the words.
Whether to replace very similar entities in a document with the same randomized term (default: true) The similarity is based on the Levenshtein Distance between the words.
- Definition Classes
- DeIdentificationParams
-
def
copy(extra: ParamMap): DeIdentificationModel
- Definition Classes
- RawAnnotator → Model → Transformer → PipelineStage → Params
-
def
copyValues[T <: Params](to: T, extra: ParamMap): T
- Attributes
- protected
- Definition Classes
- Params
-
def
createAnonymizeAnnotation(anonymizeSentence: (Sentence, Seq[Annotation]), offset: Int, idx: Int, spacesLength: Int, optionalDocument: Option[Annotation]): Annotation
The method that takes anonymized sentence to create proper Annotation
The method that takes anonymized sentence to create proper Annotation
- anonymizeSentence
a sentence, which is anonymized
- idx
a index of the sentence
- returns
a proper Annotation instance
-
val
dateFormats: StringArrayParam
Format of dates to displace
Format of dates to displace
- Definition Classes
- BaseDeidParams
-
val
dateTag: Param[String]
Tag representing what are the NER entity (default: DATE)
Tag representing what are the NER entity (default: DATE)
- Definition Classes
- DeIdentificationParams
-
val
dateToYear: BooleanParam
true if dates must be converted to years, false otherwise
true if dates must be converted to years, false otherwise
- Definition Classes
- DeIdentificationParams
-
val
days: IntParam
Number of days to obfuscate the dates by displacement.
Number of days to obfuscate the dates by displacement. If not provided a random integer between 1 and 60 will be used
- Definition Classes
- BaseDeidParams
-
final
def
defaultCopy[T <: Params](extra: ParamMap): T
- Attributes
- protected
- Definition Classes
- Params
-
def
dfAnnotate: UserDefinedFunction
- Definition Classes
- HasSimpleAnnotate
-
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
- def duplicateClean(entities: Seq[Annotation], entitiesToCompare: Seq[Annotation]): Seq[Annotation]
-
val
entityCasingModes: StructFeature[Map[String, Array[String]]]
Dictionary with entity casing modes that match some entities 'lowercase': Converts all characters to lower case using the rules of the default locale.
Dictionary with entity casing modes that match some entities 'lowercase': Converts all characters to lower case using the rules of the default locale. 'uppercase': Converts all characters to upper case using the rules of the default locale. 'capitalize': Converts the first character to upper case and converts others to lower case. 'titlecase': Converts the first character in every token to upper case and converts others to lower case.
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
explainParam(param: Param[_]): String
- Definition Classes
- Params
-
def
explainParams(): String
- Definition Classes
- Params
-
def
extraValidate(structType: StructType): Boolean
- Attributes
- protected
- Definition Classes
- RawAnnotator
-
def
extraValidateMsg: String
- Attributes
- protected
- Definition Classes
- RawAnnotator
-
final
def
extractParamMap(): ParamMap
- Definition Classes
- Params
-
final
def
extractParamMap(extra: ParamMap): ParamMap
- Definition Classes
- Params
-
val
features: ArrayBuffer[Feature[_, _, _]]
- Definition Classes
- HasFeatures
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
val
fixedMaskLength: IntParam
Select the fixed mask length: this is the length of the masking sequence that will be used when the 'fixed_length_chars' masking policy is selected.
Select the fixed mask length: this is the length of the masking sequence that will be used when the 'fixed_length_chars' masking policy is selected.
- Definition Classes
- DeIdentificationParams
-
val
genderAwareness: BooleanParam
Whether to use gender-aware names or not during obfuscation.
Whether to use gender-aware names or not during obfuscation. This param effects only names. If value is true, it might decrease performance. Default: False
- Definition Classes
- BaseDeidParams
-
def
generateFakeBySameLength(wordToReplace: String, entity: String): String
obfuscating digits to new digits, letters to new letters and others remains the same
obfuscating digits to new digits, letters to new letters and others remains the same
- Definition Classes
- DeidModelParams
-
def
generateFakeBySameLengthUsingHash(wordToReplace: String, entity: String): String
- Attributes
- protected
- Definition Classes
- DeidModelParams
-
def
get[K, V](feature: MapFeature[K, V]): Option[Map[K, V]]
- Definition Classes
- DeIdentificationModel → HasFeatures
-
def
get[T](feature: StructFeature[T]): Option[T]
- Attributes
- protected
- Definition Classes
- HasFeatures
-
def
get[T](feature: SetFeature[T]): Option[Set[T]]
- Attributes
- protected
- Definition Classes
- HasFeatures
-
def
get[T](feature: ArrayFeature[T]): Option[Array[T]]
- Attributes
- protected
- Definition Classes
- HasFeatures
-
final
def
get[T](param: Param[T]): Option[T]
- Definition Classes
- Params
-
def
getAllTerms: Map[String, List[String]]
dictionary, which contains all terms for using later in anonimization function
-
def
getAnonymizeSentence(sentence: Sentence, protectedEntities: Seq[Annotation], dateTag: String = "DATE", wholeDocumentDate: Option[Int] = None, zipCodeTag: String = "ZIP"): (String, Seq[Annotation])
Main point of interest.
Main point of interest. This method projects the sentence into the anonymized form This method is called for each sentence in the input collection of Annotations
- sentence
a sentence, which we want to anonymize
- protectedEntities
a sequence of Entities which we want to anonymize
- dateTag
a String which represents the value with which we replace dates
- returns
a String, which represents an anonymized sentence
-
def
getBlackListEntities: Array[String]
Gets blackListEntities param
Gets blackListEntities param
- Definition Classes
- DeIdentificationParams
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
getConsistentObfuscation: Boolean
- Definition Classes
- DeIdentificationParams
-
def
getDateFormats: Array[String]
- Definition Classes
- BaseDeidParams
-
def
getDateTag: String
- Definition Classes
- DeIdentificationParams
-
def
getDateToYear: Boolean
- Definition Classes
- DeIdentificationParams
-
def
getDays: Int
- Definition Classes
- BaseDeidParams
-
final
def
getDefault[T](param: Param[T]): Option[T]
- Definition Classes
- Params
- def getEntityCasingModes: Option[Map[String, Array[String]]]
-
def
getFakeByHashcode(fakes: Seq[String], wordToReplace: String, entity: String, seed: Int): String
- Attributes
- protected
- Definition Classes
- DeidModelParams
-
def
getFakersEntity(entity: String, result: String): Seq[String]
- Definition Classes
- DeidModelParams
-
def
getIgnoreRegex: Boolean
- Definition Classes
- DeIdentificationParams
-
def
getInputCols: Array[String]
- Definition Classes
- HasInputAnnotationCols
-
def
getKeepYear: Boolean
Gets keepYear param
Gets keepYear param
- Definition Classes
- DeIdentificationParams
-
def
getLanguage: String
- Definition Classes
- BaseDeidParams
-
def
getLazyAnnotator: Boolean
- Definition Classes
- CanBeLazy
-
def
getMappingsColumn: String
- Definition Classes
- DeIdentificationParams
-
def
getMaskingPolicy: String
- Definition Classes
- DeIdentificationParams
-
def
getMetadataMaskingPolicy: String
Gets metadataMaskingPolicy param
Gets metadataMaskingPolicy param
- Definition Classes
- DeIdentificationParams
-
def
getMinYear: Int
- Definition Classes
- DeIdentificationParams
-
def
getMode: String
- Definition Classes
- DeIdentificationParams
- def getNearTokens(tokenizedSentence: Seq[IndexedToken], count: Int, ngrams: Int = 2): (String, String)
-
def
getNerEntitiesBySentence(annotations: Seq[Annotation], sentenceCount: Int): Seq[Seq[Annotation]]
Returns the NER Annotations for each Annotation instance in the input Sequence
Returns the NER Annotations for each Annotation instance in the input Sequence
- annotations
a Sequence of Annotation instances
- returns
a Sequence of Sequence[IndexedToken], each Sequence represents tokens from each input Annotation
-
def
getObfuscateByAgeGroups: Boolean
Gets obfuscateByAgeGroups param
Gets obfuscateByAgeGroups param
- Definition Classes
- DeIdentificationParams
-
def
getObfuscateDate: Boolean
- Definition Classes
- DeIdentificationParams
-
def
getObfuscateRefSource: String
- Definition Classes
- BaseDeidParams
-
def
getObfuscationStrategyOnException: String
- Definition Classes
- DeIdentificationParams
-
final
def
getOrDefault[T](param: Param[T]): T
- Definition Classes
- Params
-
final
def
getOutputCol: String
- Definition Classes
- HasOutputAnnotationCol
-
def
getParam(paramName: String): Param[Any]
- Definition Classes
- Params
-
def
getRegexEntities(tokensSentences: Seq[IndexedToken], idx: Int): Seq[Annotation]
Returns the Regex Annotations for each IndexedToken in the input Sequence
Returns the Regex Annotations for each IndexedToken in the input Sequence
- tokensSentences
a Sequence of IndexedToken instances
- returns
a Sequence of Annotation, each Annotation represents Regex Entity
- def getRegexEntities(): Array[String]
-
def
getRegexOverride: Boolean
- Definition Classes
- DeIdentificationParams
-
def
getRegexPatternsDictionary: Map[String, Array[String]]
dictionary with regular expression patterns that match some protected entity
-
def
getReturnEntityMappings: Boolean
- Definition Classes
- DeIdentificationParams
-
def
getSameEntityThreshold: Double
- Definition Classes
- DeIdentificationParams
-
def
getSameLengthFormattedEntities(): Array[String]
- Definition Classes
- BaseDeidParams
-
def
getSeed(): Int
- Definition Classes
- BaseDeidParams
- def getSelectiveObfuscationModes: Option[Map[String, Array[String]]]
-
def
getSentences(annotations: Seq[Annotation]): Seq[Sentence]
Returns the content of each sentence inside the input sequence
Returns the content of each sentence inside the input sequence
- annotations
a Sequence of Annotation instances, to return content from
- returns
a Sequence of Sentence
-
def
getTokensBySentence(annotations: Seq[Annotation]): Seq[Seq[IndexedToken]]
Returns the tokens for each Annotation instance in the input Sequence
Returns the tokens for each Annotation instance in the input Sequence
- annotations
a Sequence of Annotation instances
- returns
a Sequence of Sequence[IndexedToken], each Sequence represents tokens from each input Annotation
-
def
getUseShiftDays: Boolean
Getter method of useShiftDays
Getter method of useShiftDays
- Definition Classes
- DeIdentificationParams
-
def
getValidAgeRanges: Array[Int]
Gets valid ageRanges whether ageRangesByHipaa is true or not.
Gets valid ageRanges whether ageRangesByHipaa is true or not.
- Attributes
- protected
- Definition Classes
- DeIdentificationModel → DeidModelParams
-
def
getZipCodeTag: String
- Definition Classes
- DeIdentificationParams
-
def
handleEntitiesDifferences(AEntities: Seq[Annotation], BEntities: Seq[Annotation]): Seq[Annotation]
Returns a complement of A entities against B entities
Returns a complement of A entities against B entities
- AEntities
a sequence of Entities to combine
- BEntities
an sequence of Entities to combine
- returns
a Sequence of Annotation, which is difference between NER and RegEx
-
final
def
hasDefault[T](param: Param[T]): Boolean
- Definition Classes
- Params
-
def
hasParam(paramName: String): Boolean
- Definition Classes
- Params
-
def
hasParent: Boolean
- Definition Classes
- Model
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
val
ignoreRegex: BooleanParam
Select if you want to use regex file loaded in the model.
Select if you want to use regex file loaded in the model. If true the default regex file will be not used The default value is false.
- Definition Classes
- DeIdentificationParams
-
val
inExceptionMode: Boolean
- Attributes
- protected
- Definition Classes
- HasSafeAnnotate
-
def
initializeLogIfNecessary(isInterpreter: Boolean, silent: Boolean): Boolean
- Attributes
- protected
- Definition Classes
- Logging
-
def
initializeLogIfNecessary(isInterpreter: Boolean): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
val
inputAnnotatorTypes: Array[AnnotatorType]
Input annotator type: DOCUMENT, TOKEN, CHUNK
Input annotator type: DOCUMENT, TOKEN, CHUNK
- Definition Classes
- DeIdentificationModel → HasInputAnnotationCols
-
final
val
inputCols: StringArrayParam
- Attributes
- protected
- Definition Classes
- HasInputAnnotationCols
-
final
def
isDefined(param: Param[_]): Boolean
- Definition Classes
- Params
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
val
isRandomDateDisplacement: BooleanParam
Use a random displacement days in dates entities,that random number is based on the DeIdentificationParams.seed If true use random displacement days in dates entities,if false use the DeIdentificationParams.days The default value is false.
Use a random displacement days in dates entities,that random number is based on the DeIdentificationParams.seed If true use random displacement days in dates entities,if false use the DeIdentificationParams.days The default value is false.
- Definition Classes
- DeIdentificationParams
-
def
isRegexMatch(nerTokens: (String, String), token: String, regexPatterns: Array[String]): Boolean
Returns Boolean flag, which says if the token matches at least one pattern from array
Returns Boolean flag, which says if the token matches at least one pattern from array
- token
a token of interest to check for the match
- regexPatterns
an Array of String to check against the token
- returns
a Boolean flag, representing if the token matches at least pattern one of regexPatterns
-
final
def
isSet(param: Param[_]): Boolean
- Definition Classes
- Params
-
def
isTraceEnabled(): Boolean
- Attributes
- protected
- Definition Classes
- Logging
-
val
keepYear: BooleanParam
Whether to keep the year intact when obfuscating date entities.
Whether to keep the year intact when obfuscating date entities. If true, the year will remain unchanged during the obfuscation process. If false, the year will be modified along with the month and day. Default: false.
- Definition Classes
- DeIdentificationParams
-
val
language: Param[String]
The language used to select the regex file and some faker entities.
The language used to select the regex file and some faker entities. 'en'(English),'de'(German), 'es'(Spanish), 'fr'(French), 'ar'(Arabic) or 'ro'(Romanian) Default:'en'
- Definition Classes
- BaseDeidParams
-
val
lazyAnnotator: BooleanParam
- Definition Classes
- CanBeLazy
-
def
log: Logger
- Attributes
- protected
- Definition Classes
- Logging
-
def
logDebug(msg: ⇒ String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logDebug(msg: ⇒ String): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logError(msg: ⇒ String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logError(msg: ⇒ String): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logInfo(msg: ⇒ String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logInfo(msg: ⇒ String): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logName: String
- Attributes
- protected
- Definition Classes
- Logging
-
def
logTrace(msg: ⇒ String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logTrace(msg: ⇒ String): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logWarning(msg: ⇒ String, throwable: Throwable): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
def
logWarning(msg: ⇒ String): Unit
- Attributes
- protected
- Definition Classes
- Logging
-
val
mappingsColumn: Param[String]
This is the mapping column that will return the Annotations chunks with the fake entities
This is the mapping column that will return the Annotations chunks with the fake entities
- Definition Classes
- DeIdentificationParams
-
val
maskingPolicy: Param[String]
Select the masking policy:
Select the masking policy:
- 'entity_labels': Replace the values with the entity value.
- 'same_length_chars': Replace the name with the asterix with same length minus two plus brackets on both end.If the entity is less than 3 chars (like Jo, or 5), we can just use asterix without brackets.
- 'fixed_length_chars': Replace the obfuscated entity with a masking sequence composed of a fixed number of asterisk.
- Default: 'entity_labels'
- Definition Classes
- DeIdentificationParams
-
def
mergeEntities(nerEntities: Seq[Annotation], regexEntities: Seq[Annotation], regexOverride: Boolean = false): Seq[Annotation]
Returns a combined Sequence of Annotations, cleaned from duplicates
Returns a combined Sequence of Annotations, cleaned from duplicates
- nerEntities
a sequence of NER Entities to combine
- regexEntities
an sequence of Regex Entities to combine
- returns
a Sequence of Annotation, which is result of a merge without duplicates
-
val
metadataMaskingPolicy: Param[String]
If specified, the metadata includes the masked form of the document.
If specified, the metadata includes the masked form of the document. Select the following masking policy if you want to return mask form in the metadata:
- 'entity_labels': Replace the values with the entity value.
- 'same_length_chars': Replace the name with the asterix with same length minus two plus brackets on both end.If the entity is less than 3 chars (like Jo, or 5), we can just use asterix without brackets.
- 'fixed_length_chars': Replace the obfuscated entity with a masking sequence composed of a fixed number of asterisk.
- Default: ""
- Definition Classes
- DeIdentificationParams
-
val
minYear: IntParam
Minimum year to use when converting date to year
Minimum year to use when converting date to year
- Definition Classes
- DeIdentificationParams
-
val
mode: Param[String]
Mode for Anonymizer ['mask'|'obfuscate'].
Mode for Anonymizer ['mask'|'obfuscate']. Default: 'mask'
- Mask mode: The entities will be replaced by their entity types.
- Obfuscate mode: The entity is replaced by an obfuscator's term.
- Definition Classes
- DeIdentificationParams
Given the following text: "David Hale visited EEUU a couple of years ago"
- Mask mode: "
<
PERSON>
visited<
COUNTRY>
a couple of years ago" - Obfuscate mode: "Bryan Johnson visited Japan a couple of years ago"
- Mask mode: "
Example: -
def
msgHelper(schema: StructType): String
- Attributes
- protected
- Definition Classes
- HasInputAnnotationCols
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
val
obfuscateByAgeGroups: BooleanParam
Whether to obfuscate ages based on age groups.
Whether to obfuscate ages based on age groups.
When
true
, the age groups specified in the ageGroups parameter will be used to obfuscate ages. Whenfalse
, the age ranges specified in the ageRanges parameter will be used to obfuscate ages. Default: false.- Definition Classes
- DeIdentificationParams
-
val
obfuscateDate: BooleanParam
When mode=="obfuscate" whether to obfuscate dates or not.
When mode=="obfuscate" whether to obfuscate dates or not. This param helps in consistency to make dateFormats more visible. When setting to
true
, make sure dateFormats param fits the needs. If the value is true and obfuscation is failed, then DeIdentificationParams.unnormalizedDateMode will be activated. When setting to 'false', then the date will be masked to <DATE> Default: false- Definition Classes
- DeIdentificationParams
-
val
obfuscateRefSource: Param[String]
The source of obfuscation to obfuscate the entities.
The source of obfuscation to obfuscate the entities. The values ar the following: 'file': Takes the entities from the obfuscatorRefFile 'faker': Takes the entities from the Faker module 'both': Takes the entities from the obfuscatorRefFile and the faker module randomly.
- Definition Classes
- BaseDeidParams
-
val
obfuscationStrategyOnException: Param[String]
The obfuscation strategy to be applied when an exception occurs.
The obfuscation strategy to be applied when an exception occurs.
The obfuscation strategy determines how obfuscation is handled in case of an exception. Four possible values are supported:
- "mask": The original chunk is replaced with a masking pattern.
- "default": The original chunk is replaced with a default faker.
- "skip": The original chunk is not replaced with any faker.
- "exception": Throws the exception.
The default obfuscation strategy is "default".
- Definition Classes
- DeIdentificationParams
-
def
onWrite(path: String, spark: SparkSession): Unit
- Attributes
- protected
- Definition Classes
- ParamsAndFeaturesWritable
-
val
optionalInputAnnotatorTypes: Array[String]
Optional input annotator type: DOCUMENT
Optional input annotator type: DOCUMENT
- Definition Classes
- DeIdentificationModel → HasInputAnnotationCols
-
val
outputAnnotatorType: AnnotatorType
Output annotator types: DOCUMENT
Output annotator types: DOCUMENT
- Definition Classes
- DeIdentificationModel → HasOutputAnnotatorType
-
val
outputAsDocument: BooleanParam
Whether to return all sentences joined into a single document
Whether to return all sentences joined into a single document
- Definition Classes
- DeIdentificationParams
-
final
val
outputCol: Param[String]
- Attributes
- protected
- Definition Classes
- HasOutputAnnotationCol
-
lazy val
params: Array[Param[_]]
- Definition Classes
- Params
-
var
parent: Estimator[DeIdentificationModel]
- Definition Classes
- Model
-
val
random: SecureRandom
- Attributes
- protected
- Definition Classes
- DeidModelParams
- val regexEntities: StringArrayParam
-
val
regexOverride: BooleanParam
If the value is true, prioritize the regex entities; if the value is false, prioritize the ner.
If the value is true, prioritize the regex entities; if the value is false, prioritize the ner. The default value is false. If DeIdentification.combineRegexPatterns is true, this value will be invalid.
- Definition Classes
- DeIdentificationParams
-
val
regexPatternsDictionary: MapFeature[String, Array[String]]
dictionary with regular expression patterns that match some protected entity
-
val
region: Param[String]
With this property, you can select particular dateFormats.
With this property, you can select particular dateFormats. This property is especially used when obfuscating dates. You can decide whether the first part of 11/11/2023 is a day or the second part is a day when obfuscating dates. The values are following: 'eu' for European Union 'us' for USA Default: 'eu'
- Definition Classes
- DeIdentificationParams
-
def
replaceRegExFlavors(word: String): String
This is simple RegEx replace which removes some punctuation tokens from input
This is simple RegEx replace which removes some punctuation tokens from input
- word
a String, inside which we want to replace flavors
- returns
a String, which represents a cleaned version
-
val
returnEntityMappings: BooleanParam
With this property, you can select if you want to return mapping column.
With this property, you can select if you want to return mapping column.
- Definition Classes
- DeIdentificationParams
-
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
-
val
sameEntityThreshold: DoubleParam
Similarity threshold [0.0-1.0] to consider two appearances of an entity as
the same
(default: 0.9) For date entities this method doesn't apply.Similarity threshold [0.0-1.0] to consider two appearances of an entity as
the same
(default: 0.9) For date entities this method doesn't apply.- Definition Classes
- DeIdentificationParams
-
val
sameLengthFormattedEntities: StringArrayParam
List of formatted entities to generate the same length outputs as original ones during obfuscation.
List of formatted entities to generate the same length outputs as original ones during obfuscation. The supported and default formatted entities are: "phone", "fax", "contact," "id", "idnum", "bioid", "medicalrecord", "zip", "vin", "ssn", "dln", "plate", "license", "IRS", "CFN", "account".
- Definition Classes
- BaseDeidParams
-
def
save(path: String): Unit
- Definition Classes
- MLWritable
- Annotations
- @Since( "1.6.0" ) @throws( ... )
-
val
seed: IntParam
It is the seed to select the entities on obfuscate mode.
It is the seed to select the entities on obfuscate mode. With the seed, you can reply to an execution several times with the same output.
- Definition Classes
- BaseDeidParams
-
val
selectiveObfuscationModes: StructFeature[Map[String, Array[String]]]
dictionary of modes to enable multi-mode deidentification.
dictionary of modes to enable multi-mode deidentification. 'obfuscate': Replace the values with random values. 'mask_same_length_chars': Replace the name with the asterix with same length minus two plus brackets on both end. 'entity_labels': Replace the values with the entity value. 'mask_fixed_length_chars': Replace the name with the asterix with fixed length. You should also invoke "setFixedMaskLength()" 'skip': Skip the entities (intact) The entities which have not been given in dictionary will deidentify according to setMode()
-
def
set[T](feature: StructFeature[T], value: T): DeIdentificationModel.this.type
- Attributes
- protected
- Definition Classes
- HasFeatures
-
def
set[K, V](feature: MapFeature[K, V], value: Map[K, V]): DeIdentificationModel.this.type
- Attributes
- protected
- Definition Classes
- HasFeatures
-
def
set[T](feature: SetFeature[T], value: Set[T]): DeIdentificationModel.this.type
- Attributes
- protected
- Definition Classes
- HasFeatures
-
def
set[T](feature: ArrayFeature[T], value: Array[T]): DeIdentificationModel.this.type
- Attributes
- protected
- Definition Classes
- HasFeatures
-
final
def
set(paramPair: ParamPair[_]): DeIdentificationModel.this.type
- Attributes
- protected
- Definition Classes
- Params
-
final
def
set(param: String, value: Any): DeIdentificationModel.this.type
- Attributes
- protected
- Definition Classes
- Params
-
final
def
set[T](param: Param[T], value: T): DeIdentificationModel.this.type
- Definition Classes
- Params
-
def
setAgeGroups(value: Map[String, Array[Int]]): DeIdentificationModel.this.type
Sets the age groups to obfuscate ages.
Sets the age groups to obfuscate ages. For this parameter to be active, the obfuscateByAgeGroups parameter must be true. If the given ageGroups do not fully contain the ages, the ages continue to be obfuscated according to the ageRanges. The map should contain the age group name as the key and an array of two integers as the value. The first integer is the lower bound of the age group, and the second integer is the upper bound of the age group. Default age groups are as follows in the English language:
Map( "baby" -> Array(0, 1), "toddler" -> Array(1, 3), "child" -> Array(3, 12), "teenager" -> Array(12, 20), "adult" -> Array(20, 65), "senior" -> Array(65, 200) )
- Definition Classes
- DeIdentificationParams
- Exceptions thrown
IllegalArgumentException
if the value is empty, contains negative values, or is not a pair of integers
-
def
setAgeGroups(value: HashMap[String, ArrayList[Int]]): DeIdentificationModel.this.type
- Definition Classes
- DeIdentificationParams
-
def
setAgeRanges(mode: Array[Int]): DeIdentificationModel.this.type
List of integers specifying limits of the age groups to preserve during obfuscation
List of integers specifying limits of the age groups to preserve during obfuscation
- Definition Classes
- BaseDeidParams
-
def
setAgeRangesByHipaa(value: Boolean): DeIdentificationModel.this.type
Sets whether to obfuscate ages based on HIPAA (Health Insurance Portability and Accountability Act) Privacy Rule.
Sets whether to obfuscate ages based on HIPAA (Health Insurance Portability and Accountability Act) Privacy Rule.
The HIPAA Privacy Rule mandates that ages from patients older than 90 years must be obfuscated, while age for patients 90 years or younger can remain unchanged.
- value
If true, age entities larger than 90 will be obfuscated as per HIPAA Privacy Rule, the others will remain unchanged. If false, ageRanges parameter is valid. Default: false.
- Definition Classes
- DeIdentificationParams
- def setAllTerms(value: Map[String, List[String]]): DeIdentificationModel.this.type
-
def
setBlackList(list: Array[String]): DeIdentificationModel.this.type
List of entities that will be ignored to in the regex file.
List of entities that will be ignored to in the regex file. The rest will be processed. The default values are "IBAN","ZIP","NPI","DLN","PASSPORT","C_CARD","DEA","SSN", "IP", "DEA".
- Definition Classes
- DeIdentificationParams
-
def
setBlackListEntities(value: Array[String]): DeIdentificationModel.this.type
Sets the list of entities coming from NER or regex rules that will be ignored for masking or obfuscation.
Sets the list of entities coming from NER or regex rules that will be ignored for masking or obfuscation. The rest entities will be processed. Defaults to an empty array.
- Definition Classes
- DeIdentificationParams
-
def
setConsistentObfuscation(s: Boolean): DeIdentificationModel.this.type
Whether to replace very similar entities in a document with the same randomized term (default: true) The similarity is based on the Levenshtein Distance between the words.
Whether to replace very similar entities in a document with the same randomized term (default: true) The similarity is based on the Levenshtein Distance between the words.
- Definition Classes
- DeIdentificationParams
-
def
setDateFormats(s: Array[String]): DeIdentificationModel.this.type
Format of dates to displace
Format of dates to displace
- Definition Classes
- BaseDeidParams
-
def
setDateTag(s: String): DeIdentificationModel.this.type
Tag representing what are the NER entity (default: DATE)
Tag representing what are the NER entity (default: DATE)
- Definition Classes
- DeIdentificationParams
-
def
setDateToYear(s: Boolean): DeIdentificationModel.this.type
true if dates must be converted to years, false otherwise
true if dates must be converted to years, false otherwise
- Definition Classes
- DeIdentificationParams
-
def
setDays(k: Int): DeIdentificationModel.this.type
Number of days to obfuscate the dates by displacement.
Number of days to obfuscate the dates by displacement. If not provided a random integer between 1 and 60 will be used
- Definition Classes
- BaseDeidParams
-
def
setDefault[T](feature: StructFeature[T], value: () ⇒ T): DeIdentificationModel.this.type
- Attributes
- protected
- Definition Classes
- HasFeatures
-
def
setDefault[K, V](feature: MapFeature[K, V], value: () ⇒ Map[K, V]): DeIdentificationModel.this.type
- Attributes
- protected
- Definition Classes
- HasFeatures
-
def
setDefault[T](feature: SetFeature[T], value: () ⇒ Set[T]): DeIdentificationModel.this.type
- Attributes
- protected
- Definition Classes
- HasFeatures
-
def
setDefault[T](feature: ArrayFeature[T], value: () ⇒ Array[T]): DeIdentificationModel.this.type
- Attributes
- protected
- Definition Classes
- HasFeatures
-
final
def
setDefault(paramPairs: ParamPair[_]*): DeIdentificationModel.this.type
- Attributes
- protected
- Definition Classes
- Params
-
final
def
setDefault[T](param: Param[T], value: T): DeIdentificationModel.this.type
- Attributes
- protected[org.apache.spark.ml]
- Definition Classes
- Params
-
def
setDoExceptionHandling(value: Boolean): DeIdentificationModel.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
-
def
setEntityCasingModes(value: Map[String, Array[String]]): DeIdentificationModel.this.type
Set dictionary with entity casing modes that match some entities.
Set dictionary with entity casing modes that match some entities. 'lowercase': Converts all characters to lower case using the rules of the default locale. 'uppercase': Converts all characters to upper case using the rules of the default locale. 'capitalize': Converts the first character to upper case and converts others to lower case. 'titlecase': Converts the first character in every token to upper case and converts others to lower case.
-
def
setFixedMaskLength(value: Int): DeIdentificationModel.this.type
fixed mask length: this is the length of the masking sequence that will be used when the 'fixed_length_chars' masking policy is selected.
fixed mask length: this is the length of the masking sequence that will be used when the 'fixed_length_chars' masking policy is selected.
- Definition Classes
- DeIdentificationParams
-
def
setGenderAwareness(value: Boolean): DeIdentificationModel.this.type
Whether to use gender-aware names or not during obfuscation.
Whether to use gender-aware names or not during obfuscation. This param effects only names. If value is true, it might decrease performance. Default: False
- Definition Classes
- BaseDeidParams
-
def
setIgnoreRegex(s: Boolean): DeIdentificationModel.this.type
Select if you want to use regex file loaded in the model.
Select if you want to use regex file loaded in the model. If true the default regex file will be not used The default value is false.
- Definition Classes
- DeIdentificationParams
-
final
def
setInputCols(value: String*): DeIdentificationModel.this.type
- Definition Classes
- HasInputAnnotationCols
-
def
setInputCols(value: Array[String]): DeIdentificationModel.this.type
- Definition Classes
- HasInputAnnotationCols
-
def
setIsRandomDateDisplacement(s: Boolean): DeIdentificationModel.this.type
Use a random displacement days in dates entities,that random number is based on the DeIdentificationParams.seed If true use random displacement days in dates entities, if false use the DeIdentificationParams.days The default value is false.
Use a random displacement days in dates entities,that random number is based on the DeIdentificationParams.seed If true use random displacement days in dates entities, if false use the DeIdentificationParams.days The default value is false.
- Definition Classes
- DeIdentificationParams
-
def
setKeepYear(value: Boolean): DeIdentificationModel.this.type
Sets whether to keep the year intact when obfuscating date entities.
Sets whether to keep the year intact when obfuscating date entities. If true, the year will remain unchanged during the obfuscation process. If false, the year will be modified along with the month and day. Default: false.
- Definition Classes
- DeIdentificationParams
-
def
setLanguage(s: String): DeIdentificationModel.this.type
The language used to select the regex file and some faker entities.
The language used to select the regex file and some faker entities. 'en'(English),'de'(German), 'es'(Spanish), 'fr'(French), 'ar'(Arabic) or 'ro'(Romanian). Default:'en'
- Definition Classes
- BaseDeidParams
-
def
setLazyAnnotator(value: Boolean): DeIdentificationModel.this.type
- Definition Classes
- CanBeLazy
-
def
setMappingsColumn(s: String): DeIdentificationModel.this.type
This is the mapping column that will return the Annotations chunks with the fake entities
This is the mapping column that will return the Annotations chunks with the fake entities
- Definition Classes
- DeIdentificationParams
-
def
setMaskingPolicy(value: String): DeIdentificationModel.this.type
Select the masking policy:
Select the masking policy:
- 'entity_labels': Replace the values with the entity value.
- 'same_length_chars': Replace the name with the asterix with same length minus two plus brackets on both end.If the entity is less than 3 chars (like Jo, or 5), we can just use asterix without brackets.
- 'fixed_length_chars': Replace the obfuscated entity with a masking sequence composed of a fixed number of asterisk.
- Default: 'entity_labels'
- Definition Classes
- DeIdentificationParams
-
def
setMetadataMaskingPolicy(value: String): DeIdentificationModel.this.type
If specified, the metadata includes the masked form of the document.
If specified, the metadata includes the masked form of the document. Select the following masking policy if you want to return mask form in the metadata:
- 'entity_labels': Replace the values with the entity value.
- 'same_length_chars': Replace the name with the asterix with same length minus two plus brackets on both end.If the entity is less than 3 chars (like Jo, or 5), we can just use asterix without brackets.
- 'fixed_length_chars': Replace the obfuscated entity with a masking sequence composed of a fixed number of asterisk.
- Default: ""
- Definition Classes
- DeIdentificationParams
-
def
setMinYear(s: Int): DeIdentificationModel.this.type
Minimum year to use when converting date to year
Minimum year to use when converting date to year
- Definition Classes
- DeIdentificationParams
-
def
setMode(m: String): DeIdentificationModel.this.type
Mode for Anonymizer ['mask'|'obfuscate'].
Mode for Anonymizer ['mask'|'obfuscate']. Default: 'mask'
- Mask mode: The entities will be replaced by their entity types.
- Obfuscate mode: The entity is replaced by an obfuscator's term.
- Definition Classes
- DeIdentificationParams
Given the following text: "David Hale visited EEUU a couple of years ago"
- Mask mode: "
<
PERSON>
visited<
COUNTRY>
a couple of years ago" - Obfuscate mode: "Bryan Johnson visited Japan a couple of years ago"
- Mask mode: "
Example: -
def
setObfuscateByAgeGroups(value: Boolean): DeIdentificationModel.this.type
Sets whether to obfuscate ages based on age groups.
Sets whether to obfuscate ages based on age groups.
When
true
, the age groups specified in the ageGroups parameter will be used to obfuscate ages. Whenfalse
, the age ranges specified in the ageRanges parameter will be used to obfuscate ages. Default: false.- Definition Classes
- DeIdentificationParams
-
def
setObfuscateDate(s: Boolean): DeIdentificationModel.this.type
When mode=="obfuscate" whether to obfuscate dates or not.
When mode=="obfuscate" whether to obfuscate dates or not. This param helps in consistency to make dateFormats more visible. When setting to
true
, make sure dateFormats param fits the needs. If the value is true and obfuscation is failed, then DeIdentificationParams.unnormalizedDateMode will be activated. When setting to 'false' then the date will be masked to <DATE> Default: false- Definition Classes
- DeIdentificationParams
-
def
setObfuscateRefSource(s: String): DeIdentificationModel.this.type
The source of obfuscation to obfuscate the entities.
The source of obfuscation to obfuscate the entities. The values are the following: 'file': Takes the entities from the obfuscatorRefFile 'faker': Takes the entities from the Faker module 'both': Takes the entities from the obfuscatorRefFile and the faker module randomly.
- Definition Classes
- BaseDeidParams
-
def
setObfuscationStrategyOnException(value: String): DeIdentificationModel.this.type
Sets the obfuscation strategy to be applied when an exception occurs.
Sets the obfuscation strategy to be applied when an exception occurs.
The obfuscation strategy determines how obfuscation is handled in case of an exception. Four possible values are supported:
- "mask": The original chunk is replaced with a masking pattern.
- "default": The original chunk is replaced with a default faker.
- "skip": The original chunk is not replaced with any faker.
- "exception": Throws the exception.
The default obfuscation strategy is "default".
- Definition Classes
- DeIdentificationParams
-
def
setOutputAsDocument(mode: Boolean): DeIdentificationModel.this.type
Whether to return all sentences joined into a single document
Whether to return all sentences joined into a single document
- Definition Classes
- DeIdentificationParams
-
final
def
setOutputCol(value: String): DeIdentificationModel.this.type
- Definition Classes
- HasOutputAnnotationCol
-
def
setParent(parent: Estimator[DeIdentificationModel]): DeIdentificationModel
- Definition Classes
- Model
-
def
setRegexOverride(s: Boolean): DeIdentificationModel.this.type
If the value is true, prioritize the regex entities; if the value is false, prioritize the ner.
If the value is true, prioritize the regex entities; if the value is false, prioritize the ner. The default value is false. If DeIdentification.combineRegexPatterns is true, this value will be invalid.
- Definition Classes
- DeIdentificationParams
-
def
setRegexPatternsDictionary(value: Map[String, Array[String]]): DeIdentificationModel.this.type
dictionary with regular expression patterns that match some protected entity
-
def
setRegion(s: String): DeIdentificationModel.this.type
With this property, you can select particular dateFormats.
With this property, you can select particular dateFormats. This property is especially used when obfuscating dates. You can decide whether the first part of 11/11/2023 is a day or the second part is a day when obfuscating dates. The values are following: 'eu' for European Union 'us' for USA Default: 'eu'
- Definition Classes
- DeIdentificationParams
-
def
setReturnEntityMappings(s: Boolean): DeIdentificationModel.this.type
With this property, you can select if you want to return mapping column.
With this property, you can select if you want to return mapping column.
- Definition Classes
- DeIdentificationParams
-
def
setSameEntityThreshold(s: Double): DeIdentificationModel.this.type
Similarity threshold [0.0-1.0] to consider two appearances of an entity as
the same
(default: 0.9) For date entities this method doesn't apply.Similarity threshold [0.0-1.0] to consider two appearances of an entity as
the same
(default: 0.9) For date entities this method doesn't apply.- Definition Classes
- DeIdentificationParams
-
def
setSameLengthFormattedEntities(entities: Array[String]): DeIdentificationModel.this.type
List of formatted entities to generate the same length outputs as original ones during obfuscation.
List of formatted entities to generate the same length outputs as original ones during obfuscation. The supported and default formatted entities are: PHONE, FAX, CONTACT, ID, IDNUM, BIOID, MEDICALRECORD, ZIP, VIN, SSN, DLN, LICENSE, PLATE, IRS, CFN, ACCOUNT.
- Definition Classes
- BaseDeidParams
-
def
setSeed(s: Int): DeIdentificationModel.this.type
It is the seed to select the entities on obfuscate mode.
It is the seed to select the entities on obfuscate mode. With the seed, you can reply to an execution several times with the same output.
- Definition Classes
- DeidModelParams → BaseDeidParams
-
def
setSelectiveObfuscationModes(value: Map[String, Array[String]]): DeIdentificationModel.this.type
dictionary of modes to enable multi-mode deidentification.
dictionary of modes to enable multi-mode deidentification. 'obfuscate': Replace the values with random values. 'mask_same_length_chars': Replace the name with the asterix with same length minus two plus brackets on both end. 'mask_entity_labels': Replace the values with the entity value. 'mask_fixed_length_chars': Replace the name with the asterix with fixed length. You should also invoke "setFixedMaskLength()". 'skip': Skip the entities (intact) The entities which have not been given in dictionary will deidentify according to setMode().
-
def
setUnnormalizedDateMode(mode: String): DeIdentificationModel.this.type
The mode to use if the date is not formatted.
The mode to use if the date is not formatted. [mask, obfuscate, skip] Default: obfuscate
- Definition Classes
- DeIdentificationParams
-
def
setUseShiftDays(s: Boolean): DeIdentificationModel.this.type
- Definition Classes
- DeIdentificationParams
-
def
setZipCodeTag(s: String): DeIdentificationModel.this.type
- Definition Classes
- DeIdentificationParams
-
val
supportedFormattedEntities: Array[String]
- Attributes
- protected
- Definition Classes
- BaseDeidParams
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- Identifiable → AnyRef → Any
-
final
def
transform(dataset: Dataset[_]): DataFrame
- Definition Classes
- AnnotatorModel → Transformer
-
def
transform(dataset: Dataset[_], paramMap: ParamMap): DataFrame
- Definition Classes
- Transformer
- Annotations
- @Since( "2.0.0" )
-
def
transform(dataset: Dataset[_], firstParamPair: ParamPair[_], otherParamPairs: ParamPair[_]*): DataFrame
- Definition Classes
- Transformer
- Annotations
- @Since( "2.0.0" ) @varargs()
-
final
def
transformSchema(schema: StructType): StructType
- Definition Classes
- RawAnnotator → PipelineStage
-
def
transformSchema(schema: StructType, logging: Boolean): StructType
- Attributes
- protected
- Definition Classes
- PipelineStage
- Annotations
- @DeveloperApi()
- def udfDocuments: UserDefinedFunction
- def udfProtectedEntities: UserDefinedFunction
-
val
uid: String
- Definition Classes
- DeIdentificationModel → Identifiable
-
val
unnormalizedDateMode: Param[String]
The mode to use if the date is not formatted.
The mode to use if the date is not formatted. [mask, obfuscate, skip] Default: obfuscate
- Definition Classes
- DeIdentificationParams
-
val
useShifDays: BooleanParam
Use shift days : Whether to use the random shift day when the document has this in its metadata.
Use shift days : Whether to use the random shift day when the document has this in its metadata. Default: False
- Definition Classes
- DeIdentificationParams
-
def
validate(schema: StructType): Boolean
- Attributes
- protected
- Definition Classes
- RawAnnotator
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
- def wrapColumn(col: Column): Column
-
def
wrapColumnMetadata(col: Column): Column
- Attributes
- protected
- Definition Classes
- RawAnnotator
-
def
write: MLWriter
- Definition Classes
- ParamsAndFeaturesWritable → DefaultParamsWritable → MLWritable
-
val
zipCodeTag: Param[String]
- Definition Classes
- DeIdentificationParams
Deprecated Value Members
-
def
setUseShiftDayse(s: Boolean): DeIdentificationModel.this.type
- Definition Classes
- DeIdentificationParams
- Annotations
- @deprecated
- Deprecated
deprecated because of typo
Inherited from CheckLicense
Inherited from HasSafeAnnotate[DeIdentificationModel]
Inherited from HandleExceptionParams
Inherited from HasSimpleAnnotate[DeIdentificationModel]
Inherited from DeidModelParams
Inherited from DeIdentificationParams
Inherited from BaseDeidParams
Inherited from AnnotatorModel[DeIdentificationModel]
Inherited from CanBeLazy
Inherited from RawAnnotator[DeIdentificationModel]
Inherited from HasOutputAnnotationCol
Inherited from HasInputAnnotationCols
Inherited from HasOutputAnnotatorType
Inherited from ParamsAndFeaturesWritable
Inherited from HasFeatures
Inherited from DefaultParamsWritable
Inherited from MLWritable
Inherited from Model[DeIdentificationModel]
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