Versions Compared

Key

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

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 flag

Configuration

and possibly other flags as specified below.

Saga_is_recognizer
Recognizerfalse

Include Page
Generic Configuration Parameters
Generic Configuration Parameters

Configuration Parameters

  • case (boolean, optional) -
    Parameter
    summary
    If true, all tokens are separated on a case change
    (
    default
    = true)number (boolean, optional) -
    true
    namecase
    typeboolean
  • Parameter
    summaryIf true, all tokens are separated on a letter-number
    . (
    default
    = true)
    true
    namenumber
    typeboolean
  • Parameter
    summaryIf true, all tokens are separated on an alphanumeric-punctuation
    defaulttrue
    namepunctuation
    typeboolean
  • punctuation (boolean, optional) -
    Parameter
    summary
    If true, all tokens are separated on an alphanumeric-punctuation
    . (default = true)
    namesplitFlag


Code Block
languagejstitleExample Configuration
{
  	"type":"CharChangeSplitter",
  	"case": true,
	"number": true,
	"punctuation": true
}

Output Flags

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

  • If the token is "President" then that token will have the TITLE_CASE flag.
  • If a new lower-case normalized interpretation, "president" is added as an alternative, this alternative will have the "ALL_LOWER_CASE" flag.

Lex-Item Flags:

  • TOKEN - All tokens produced are tagged as TOKEN

Vertex Flags:

  • CHAR_CHANGE -  Identifies the vertex as a change between character formats

Example

...

Example Output

Code Block
languagetextthemeFadeToGrey
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

Code Block
languagejs
{
	"type":"CharChangeSplitter",
	"punctuation" : false
}
Code Block
languagetextthemeFadeToGrey
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]--^  

Without Number  Separation


No split on number change

Code Block
languagejs
Code Block
{
	"type":"CharChangeSplitter",
	"number" : false
}
Code Block
languagetextthemeFadeToGrey
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

Code Block
languagejs
{
	"type":"CharChangeSplitter",
	"case" : false
}
Code Block
languagetextthemeFadeToGrey
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).