Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Excerpt

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.

Saga_is_recognizer
Recognizerfalse

Include Page
Generic Configuration

...

Parameters
Generic Configuration Parameters

Configuration Parameters

  • splitChars (string, optional) -
    Parameter
    summary
    List of characters which should be used to split tokens
    .
    namesplitChars
    • If not present, then tokens are split on any sequence of punctuation. 
  • dontSplitChars (string, optional) -
    Parameter
    summary
    List of characters which will NOT be used to split tokens.
    namedontSplitChars

    • 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.
  • Parameter
    summaryif any character in this list occurs inside a token, that token will be split just before that character
    namesplitBeforeChars
  • Parameter
    summaryif any character in this list occurs inside a token, that token will be split just after that character
    namesplitAfterChars
  • Parameter
    summarytrue/false whether to split on all punctuation (default: true)
    namesplitPrefixChars
  • Parameter
    summarytrue/false whether to split on all punctuation (default: true)
    namesplitSuffixChars
  • splitFlag (string, optional) -
    Parameter
    summary
    The flag to be put on the vertex between the two tokens.
    namesplitFlag

    • If missing, defaults to ALL_PUNCTUATION.

Examples


code
Code Block
boundaryFlagstext block split
stageCharacterSplitter
requiredFlagstoken
languagejs
titleExample Configuration 1
{
 "type"dontSplitChars": ".",
"splitChars":"CharacterSplitter-",
 "splitFlag":"DASH_SPLIT"

Example Output

Code Block
boundaryFlagstext block split
stageCharacterSplitter
requiredFlagstoken
languagejs
"dontSplitChars": "."
}

Splits on all punctuation, except periods periods.

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

Code Block
languagetext
V-------[SagaToolkit-1.0]-------V

...


^----[SagaToolkit]--V--[1.0]----^

...

Code Block
languagejs
titleExample Configuration 1
{
  "type":"CharacterSplitter",
  "splitChars":"-",
  "splitFlag":"DASH_SPLIT"
}

(splits tokens dashes)

Output Flags

Lex-Item Flags:

  • TOKEN - All tokens produced are tagged as TOKEN

Vertex Flags:

  • ALL_PUNCTUATION - Identifies the vertex as all token
    • The default flag if no "splitFlag" is present.
  • <splitFlag> - Defines an alternative flag to ALL_PUNCTUATION, if desired (see above)

Example

With Defaults 

Code Block
languagetext
themeFadeToGrey
V-----[Abe-Lincoln]-----V--[likes]--V--[the]--V-----[iPhone-*&@#*&7.0]-----V
^--[Abe]--V--[Lincoln]--^                     ^--[iPhone]--V--[7]--V--[0]--^ 
Code Block
boundaryFlagstext block split
stageCharacterSplitter
requiredFlagstoken
languagejs
titleWith Don't Split Param
Code Block
{
	"type":"CharacterSplitter",
	"dontSplitChars": "."
}
Code Block
languagetextthemeFadeToGrey
V-----[Abe-Lincoln]-----V--[likes]--V--[the]--V--[iPhone-*&@#*&7.0]--V
^--[Abe]--V--[Lincoln]--^                     ^--[iPhone]--V--[7.0]--^
Code Block
boundaryFlagstext block split
stageCharacterSplitter
requiredFlagstoken
languagejs
titleWith Split Chars Param

...

code
{
	"type":"CharacterSplitter",
	"splitChars": "-#."
	"dontSplitChars": "."
}
Code Block
languagetextthemeFadeToGrey
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.