Excerpt |
---|
Looks up matches to regular expressions in a dictionary within a single token and then tags the match with one or more semantic tags as an alternative representation. |
Operates On: Lexical Items with TOKEN
...
and possibly other flags as specified below.
Note |
---|
All possibilities are tagged, including overlaps and sub-patterns, with the expectation that later disambiguation stages will choose which tags are the correct interpretation. |
...
Parameter |
---|
summary | The resource containing the pattern database |
---|
name | patterns |
---|
required | true |
---|
|
- For the format see below.
Code Block |
---|
requiredFlags | token |
---|
language | js |
---|
|
saga_config_stage |
"patterns":"regex-provider:patterns" |
Example Output
In the following example, "number" is in the dictionary as a regex for using "[0-9]+" and "[0-9]+\\.[0-9]+" :
Code Block |
---|
language | text |
---|
theme | FadeToGrey |
---|
|
V--------------------------------------[What's your name 12 @#$ 25 63.3]---------------------------------------V
^-----[What's]-----V--[your]--V--[name]--V-----[12]-----V--[@#$]--V-----[25]-----V-----------[63.3]------------^
^--[What]--V--[s]--^ ^--[{number}]--^ ^--[{number}]--^-----[63]-----V-----[3]------^
^-----[what's]-----^ ^---------[{number}]----------^
^--[what]--^ ^--[{number}]--^--[{number}]--^
|
Note |
---|
Notice that on the example for Regex Pattern Stage the "self-name" tag would have a potential match with "What's your name". However, the Simple Regex Stage does not lookup for matches beyond a single token (as the Regex Patter Stage does). |
Output Flags
Lex-Item Flags:
- SEMANTIC_TAG - Identifies all lexical items that are semantic tags.PROCESSED - Placed on all tokens that compose the semantic tag.
Vertex Flags:
Info |
---|
No vertices are created in this stage |
Resource Data
The regex pattern must have an "pattern dictionary" (a string to JSON map) which is a list of JSON records, indexed by entity ID. In addition, there may also be a pattern map and a token index.
...
Each JSON record represents an entity. The format is as follows:
Code Block |
---|
|
saga_json |
"_id" : "KGAAJGsBemSwA0nZTLXA",
"tag" : "number",
"pattern" : "[0-9]+\\.[0-9]+",
"options" : {
"caseInsensitive" : true,
"literal" : false
},
"confAdjust": 0.95
. . . additional fields as needed go here . . . |
...
- Multiple patterns can have the same entry.
- Additional fielded data can be added to the record.
- As needed by downstream processes.
Fields
...
Parameter |
---|
summary | Tag which will identify any match in the graph, as an interpretation |
---|
name | tag |
---|
required | true |
---|
|
Parameter |
---|
summary | Pattern to match in the content |
---|
name | pattern |
---|
required | true |
---|
|
- Options
Parameter |
---|
summary | When this flag is specified then the input string that specifies the pattern is treated as a sequence of literal characters. Metacharacters or escape sequences in the input sequence will be given no special meaning. |
---|
default | false |
---|
name | literal |
---|
|
Parameter |
---|
summary | Set to true if the pattern is not case sensitive. |
---|
default | true |
---|
name | caseInsensitive |
---|
type | boolean |
---|
|
...