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.
Include Page |
---|
| Generic Configuration Parameters |
---|
| Generic Configuration Parameters |
---|
|
Configuration Parameters
- splitChars (optional) -
List of characters which should be used to split tokens |
|
.Note 1 or more of these characters in sequence will be a single split.- If not present, then tokens are split on any sequence of punctuation.
- dontSplitChars (optional) -
List of characters which will NOT be used to split tokens. | name | dontSplitChars |
---|
|
- This is typically used to identify exceptions (characters which are not used to split tokens) when splitChars is not present.
- dontSplitChars will be added to the appropriate token to which they belong (they are token characters)
- missing.
- These characters are included in the produced tokens.
Parameter |
---|
summary | if any character in this list occurs inside a token, that token will be split just before that character |
---|
name | splitBeforeChars |
---|
|
Parameter |
---|
summary | if any character in this list occurs inside a token, that token will be split just after that character |
---|
name | splitAfterChars |
---|
|
Parameter |
---|
summary | true/false whether to split on all punctuation (default: true) |
---|
name | splitPrefixChars |
---|
|
Parameter |
---|
summary | true/false whether to split on all punctuation (default: true) |
---|
name | splitSuffixChars |
---|
|
- splitFlag (optional) -
The flag to be put on the vertex between the two tokens |
|
- If missing, defaults Defaults to ALL_PUNCTUATION PUNCTUATION.
Code Block |
---|
boundaryFlags | text block split |
---|
stage | CharacterSplitter |
---|
requiredFlags | token |
---|
language | js |
---|
title | Example Configuration 1 |
---|
|
"dontSplitChars": ".",
"splitChars":"-",
"splitFlag":"DASH_SPLIT" |
Example Output
Code Block |
---|
boundaryFlags | text block split |
---|
stage | CharacterSplitter |
---|
requiredFlags | token |
---|
language | js |
---|
|
{
"dontSplitChars": "."
} |
Splits on all punctuation, except periods periods.
For example, the token: "SagaToolkit-1.0" will produce the following graph:
Code Block |
---|
|
V-------[SagaToolkit-1.0]-------V |
...
^----[SagaToolkit]--V--[1.0]----^ |
Code Block |
---|
|
V-----[Abe-Lincoln]-----V--[likes]--V--[the]--V-----[iPhone-*&@#*&7.0]-----V
^--[Abe]--V--[Lincoln]--^ ^--[iPhone]--V--[7]--V--[0]--^ |
Code Block |
---|
boundaryFlags | text block split |
---|
stage | CharacterSplitter |
---|
requiredFlags | token |
---|
language | js |
---|
title | Example Configuration 1 |
---|
|
{
"dontSplitChars":"."
} |
(split blocks on two new-lines)
Flags
Lex-Item Flags:
- TEXT_BLOCK - Flags all text blocks produced by the SimpleReader
Vertex Flags:
Code Block |
---|
|
V-----[Abe-Lincoln]-----V--[likes]--V--[the]--V--[iPhone-*&@#*&7.0]--V
^--[Abe]--V--[Lincoln]--^ ^--[iPhone]--V--[7.0]--^ |
Code Block |
---|
boundaryFlags | text block split |
---|
stage | CharacterSplitter |
---|
requiredFlags | token |
---|
language | js |
---|
title | With Split Chars Param |
---|
|
"splitChars": "-#."
"dontSplitChars": "." |
Code Block |
---|
|
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.
- TEXT_BLOCK_SPLIT - Identifies the vertex as a split between text blocks.
- OVERFLOW_SPLIT - Identifies that an entire buffer was read without finding a split between text blocks.
- The current maximum size of a text block is 64K characters.
Text blocks larger than this will be arbitrarily split, and the vertex will be marked with "OVERFLOW_SPLIT"\