Separates tokens based on character changes from lowercase-uppercase, letter-number, alphanumeric-punctuation. Without taking any character in the vertex, and respecting the capital letter.

Operates On:  Lexical Items with TOKEN and possibly other flags as specified below.

Stage can only be used as part of a manual pipeline or a base pipeline


Generic Configuration Parameters

  • boundaryFlags ( type=string array | optional ) - List of vertex flags that indicate the beginning and end of a text block.
    Tokens to process must be inside two vertices marked with this flag (e.g ["TEXT_BLOCK_SPLIT"])
  • skipFlags ( type=string array | optional ) - Flags to be skipped by this stage.
    Tokens marked with this flag will be ignored by this stage, and no processing will be performed.
  • requiredFlags ( type=string array | optional ) - Lex items flags required by every token to be processed.
    Tokens need to have all of the specified flags in order to be processed.
  • atLeastOneFlag ( type=string array | optional ) - Lex items flags needed by every token to be processed.
    Tokens will need at least one of the flags specified in this array.
  • confidenceAdjustment ( type=double | default=1 | required ) - Adjustment factor to apply to the confidence value of 0.0 to 2.0 from (Applies for every pattern match).
    • 0.0 to < 1.0  decreases confidence value
    • 1.0 confidence value remains the same
    • > 1.0 to  2.0 increases confidence value
  • debug ( type=boolean | default=false | optional ) - Enable all debug log functionality for the stage, if any.
  • enable ( type=boolean | default=true | optional ) - Indicates if the current stage should be consider for the Pipeline Manager
    • Only applies for automatic pipeline building

Configuration Parameters

  • case ( type=boolean | default=true | optional ) - If true, all tokens are separated on a case change
  • number ( type=boolean | default=true | optional ) - If true, all tokens are separated on a letter-number
  • punctuation ( type=boolean | default=true | optional ) - If true, all tokens are separated on an alphanumeric-punctuation
  • splitFlag ( type=string | optional ) - If true, all tokens are separated on an alphanumeric-punctuation


"case": true,
"number": true,
"punctuation": true

Example Output

V--[Issues]--V--[with]--V--------[SagaToken123@#$]----------V--[send]--V--[email]--V--[to]--V-----------------[[email protected]]-----------------V--[for]--V--[HELP]--V 
                        ^-[Saga]-V-[Token]-V-[123]-V-[@#$]--^                               ^-[it]-V-[@]-V-[this]--V--[Company]--V--[.]--V--[com]--^


No split on punctuation

"punctuation": false
V--[Issues]--V--[with]--V---------[SagaToken123@#$]---------V--[send]--V--[email]--V--[to]--V-----[[email protected]]------V--[for]--V--[HELP]--V
                        ^--[Saga]--V--[Token]--V--[123@#$]--^                               ^--[it@this]--V--[Company.com]--^


No split on number change

"number": false
V--[Issues]--V--[with]--V-------[SagaToken123@#$]------V--[send]--V--[email]--V--[to]--V------------------[[email protected]]-------------------V--[for]--V--[HELP]--V
                        ^-[Saga]-V-[Token123]-V-[@#$]--^                               ^-[it]--V--[@]--V--[this]--V--[Company]--V--[.]--V--[com]-^


No split on casing

"case": false
V--[Issues]--V--[with]--V---------[SagaToken123@#$]---------V--[send]--V--[email]--V--[to]--V----------------[[email protected]]----------------V--[for]--V--[HELP]--V
                        ^--[SagaToken]--V--[123]--V--[@#$]--^                               ^--[it]--V--[@]--V--[thisCompany]--V--[.]--V--[com]--^



Output Flags

Note that flags are placed on every token as appropriate to the current token:

  • If the token being processed is "token.123", the parameter "punctuation" is set, then one of tokens generated should be "." and it will have the ALL_PUNCTUATION flag.
  • If the token being processed is "token.123", the parameter "punctuation" is NOT set, then one of tokens generated should be "token." and it will have the HAS_PUNCTUATION flag.

Lex-Item Flags:

  • TOKEN - All tokens produced are tagged as TOKEN.
  • ALL_PUNCTUATION - Tokens processed or produced composed only of punctuation characters are tagged as ALL_PUNCTUATION.
  • HAS_DIGIT - Tokens produced with at least one digit character are tagged as HAS_DIGIT. 
  • HAS_PUNCTUATION - Tokens produced with at least one punctuation character are tagged as HAS_PUNCTUATION. (ALL_PUNCTUATION will not be tagged as HAS_PUNCTUATION).
  • ALL_DIGITS -  All characters in the token are digits.
  • HAS_LETTER - At least one character is a letter.
  • ALL_LETTERS - All characters in the token are letters.
  • SPLIT - Tokens split are tagged with SPLIT.
  • SPLIT_ON_CASING - Split on lower to upper case.
  • SPLIT_ON_NUM_TO_ALPHA - Split on number to alphabetic.
  • SPLIT_ON_ALPHA_TO_NUM - Split on alphabetic to number.
  • SPLIT_BEFORE_PUNCT - Split before punctuation.
  • SPLIT_AFTER_PUNCT - Split after punctuation.
  • SPLIT_DOUBLE_PUNCT - Split on two punctuation characters.


Vertex Flags:

If no flag is set on the "splitFlag" parameter:

  • CHAR_CHANGE -  Identifies the vertex as change type between 2 character (between letter, number or punctuation).
  • No labels