Matches advanced recursive patterns of tokens and semantic tags. Pattern databases can be very large (millions) of entries.
Operates On: Lexical Items with either TOKEN or SEMANTIC_TAG.
$action.getHelper().renderConfluenceMacro("$codeS$body$codeE")
The following shows sample output from the advanced pattern matcher, which has multiple patterns for the {product} and {person-product-preference} semantic tags.
V--------------------[Abe Lincoln likes the iPhone-7]--------------------V ^---[Abe]----V--[Lincoln]--V--[likes]--V--[the]--V------[iPhone-7]-------^ ^---[iPhone]----V--[7]--^ ^---[abe]----^--[lincoln]--^ ^---[iphone]----^ ^--[{name}]--^--[{place}]--^ ^-----------[{product}]-----------^ ^-------[{product}]-------^ ^---------[{name}]---------^ ^--[{product}]--^ ^--------[{place}]---------^ ^------[iphone-7]-------^ ^--[{product}]--^ ^------[{product}]------^ ^-----------------[{person-product-preference}]------------------^ ^---------------------[{person-product-preference}]----------------------^
No vertices are created in this stage
The resource data will be a database of advanced patterns, and the resulting semantic tag which they produce.
Resource Format
The pattern database is a series of JSON records, typically indexed by "pattern block ID". Each JSON record represents an block of patterns (one or more) which all produce the same semantic tag. The format is as follows: $action.getHelper().renderConfluenceMacro("$codeS$body$codeE")
Tags are hierarchical representations of the same intent. For example, {city} → {administrative-area} → {geographical-area}
pattern ( type=string | required ) - Pattern to match in the content
Currently, tokens are separated on simple white-space and punctuation, and then reduced to lowercase.