Splits tokens on specified characters, typically punctuation. Multiple split characters in a row will create a single split (not multiple splits).

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

  • splitChars ( type=string | optional ) - List of characters which should be used to split tokens
    • If not present, then tokens are split on any sequence of punctuation. 
  • dontSplitChars ( type=string | optional ) - List of characters which will NOT be used to split tokens.
    • This is typically used to identify exceptions (characters which are not used to split tokens) when splitChars is missing.
    • These characters are included in the produced tokens.
  • splitBeforeChars ( type=string | optional ) - if any character in this list occurs inside a token, that token will be split just before that character
  • splitAfterChars ( type=string | optional ) - if any character in this list occurs inside a token, that token will be split just after that character
  • splitPrefixChars ( type=string | optional ) - true/false whether to split on all punctuation (default: true)
  • splitSuffixChars ( type=string | optional ) - true/false whether to split on all punctuation (default: true)
  • splitFlag ( type=string | optional ) - The flag to be put on the vertex between the two tokens.
    • If missing, defaults to ALL_PUNCTUATION.


"dontSplitChars": ".",
"splitChars":"-",
"splitFlag":"DASH_SPLIT"

Example Output

"dontSplitChars": "."
Splits on all punctuation, except periods.

For example, the token:  "SagaToolkit-1.0" will produce the following graph:

V-------[SagaToolkit-1.0]-------V
^----[SagaToolkit]--V--[1.0]----^
V-----[Abe-Lincoln]-----V--[likes]--V--[the]--V-----[iPhone-*&@#*&7.0]-----V
^--[Abe]--V--[Lincoln]--^                     ^--[iPhone]--V--[7]--V--[0]--^ 
With Don't Split Param
"dontSplitChars": "."
V-----[Abe-Lincoln]-----V--[likes]--V--[the]--V--[iPhone-*&@#*&7.0]--V
^--[Abe]--V--[Lincoln]--^                     ^--[iPhone]--V--[7.0]--^
With Split Chars Param
"splitChars": "-#."
"dontSplitChars": "."
V-----[Abe-Lincoln]-----V--[likes]--V--[the]--V--------[iPhone-*&@#*&7.0]--------V
^--[Abe]--V--[Lincoln]--^                     ^--[iPhone]--V--[*&@]--V--[*&7.0]--^

Output Flags

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.

Vertex Flags:

  • if no flag is set on the "splitFlag" parameter:

    • 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 ALL_PUNCTUATION - Tokens processed or produced composed only of punctuation characters are tagged as ALL_PUNCTUATION.
  • And if not if no flag is set on the "splitFlag" parameter, not extra tag is added.


  • No labels