| token | [] | Los corchetes encierran un único token. | [] Cualquier palabra o signo de puntuación. | | |
| token text | "" | Las comillas indican un token con el texto especificado. | ["Grantor"] Un token con la palabra “Grantor”. | | |
| variable | : | Se utilizan dos puntos para asignar un nombre a la secuencia de tokens que le sigue. Nota: La variable estará disponible solo dentro de esa misma regla, es decir, hasta que la parte derecha finalice con un punto y coma. | [t: "Contract"] Encuentra un token que contiene la palabra “Contract” y lo asigna a la variable t. | | |
| lemma | L"word" Lemma"word" | ”L” o “Lemma” antes de una palabra significa que la búsqueda debe encontrar todas las formas de esa palabra. | [L"rule"] Se encontrarán tokens como “rule”, “rules”, “ruled” y “ruling”. | | |
| regular expression | /regular expression/ | Las barras diagonales simples encierran una expresión regular. Al igual que con los elementos de búsqueda Value from Regular Expression, se utiliza la sintaxis de expresiones regulares PCRE2. | `/[1]?\d:\d2\s+(([ap].m.) | ([AP]M))?/` La plantilla coincidirá con la hora en formato de 12 horas, por ejemplo, “2:00 p.m.”, “9:34 AM”. | |
| option setting for regular expressions | /regular expression/i | La configuración de opciones se puede colocar después de la barra diagonal que cierra la expresión regular. La opción “i”, por ejemplo, significa coincidencia sin distinción entre mayúsculas y minúsculas de la expresión regular. | /[1]?\d:\d{2}\s+([ap]\.?m\.?)?/i Esta plantilla simplifica el ejemplo anterior con la ayuda de la coincidencia sin distinción entre mayúsculas y minúsculas. Coincidirá con la hora en formato de 12 horas, por ejemplo, “2:00 p.m.”, “9:34 AM”. | | |
| token predicates | <first_in_paragraph> | El token es el primero en un párrafo. | ["Section" <first_in_paragraph>] La palabra “Section” inicia el párrafo. Puede usar esto, por ejemplo, para extraer el número de sección inmediatamente después de este token. | | |
| token predicates | <punctuator> | El token es un signo de puntuación. | ["Tenant"] [<punctuator>]{0,2} La palabra “Tenant” puede ir seguida de hasta dos signos de puntuación, por ejemplo, un corchete de cierre y una coma. | | |
| token predicates | <initial_letter_capitalized> | El token comienza con una letra mayúscula. | [L"agreement" <initial_letter_capitalized>] Esta plantilla coincidirá con “Agreement” y “Agreements”, pero no con “agreement”. | | |
| token predicates | <mixed_capitalization> | Algunas letras del token están en mayúscula, pero no todas. | [L"letter" <mixed_capitalization>] Esta plantilla coincidirá, por ejemplo, con “Letters” y “letteR”. | | |
| token predicates | <all_letters_capitalized> | El token está completamente en mayúsculas. | [t: @NEROrganization <all_letters_capitalized>]+ Esta plantilla coincidirá con entidades nombradas de organización escritas completamente en mayúsculas. | | |
| logical OR | ` | ` | Se utiliza una barra vertical para especificar texto de token alternativo o condiciones alternativas para el token. | `[“Lender" | "Co-Lender”] [“shall”] [“have”]` Esta plantilla coincidirá con cualquiera de estas cadenas: “Lender shall have” o “Co-Lender shall have” |
| logical AND | space | El espacio se utiliza como conjunción lógica para las condiciones de token. | [t: "Section" <first_in_paragraph>] Encuentra un token que contiene la palabra “Section” Y comienza un párrafo. | | |
| object condition | @object_name | Un signo de arroba (”@”) verifica que el token esté ubicado dentro de una región de objeto. Se admiten los siguientes objetos: Objetos de entidad nombrada, los mismos tipos que también están disponibles como elementos de búsqueda especializados, con el prefijo “NER”: NERPerson, NEROrganization, NERAddress, NERLocation, NERDate, NERDuration, NERMoney; Elementos de búsqueda; Sentence - Se crea un objeto separado para cada oración en el flujo de texto; Paragraph - Se crea un objeto separado para cada párrafo en el flujo de texto. | [t: @NEROrganization]+ ["Lender"] Asigna el nombre t a una secuencia de tokens que contiene una entidad NEROrganization y va seguida de la palabra clave “Lender”. [t: @NERPerson @Preamble_Segment ]+ Encuentra el nombre de una persona en el segmento de preámbulo (representado por un elemento de búsqueda Input field). | | |
| separating similar objects | @object_name( same ) | ”same” significa que en un token repetido, el mismo objeto se empareja con la secuencia de tokens en lugar de varios objetos de este tipo. Si la condición de objeto utiliza un OR lógico, no se debe usar “same”. | Por ejemplo, si tiene una lista de nombres de personas uno tras otro, todos se detectarán como NERPerson. Para extraer el nombre de una persona a la vez, use la condición “same”. [t: @NERPerson( same )]+ Asigna el nombre t a la primera persona encontrada. | | |
| relative position | @object_name( right_to( another_object )) @object_name( left_to( another_object )) | ”right_to” significa que object_name se encuentra después del another_object especificado entre paréntesis. “left_to” significa que object_name se encuentra antes del another_object especificado entre paréntesis. | [ t: @NERAddress( same, right_to( id1 ), left_to( id2 ) )] Encuentra una entidad nombrada NERAddress entre id1 e id2. | | |
| logical OR (as used in object conditions) | ` | ` | Una barra vertical también se puede utilizar como disyunción lógica para condiciones de objeto. | `[t: @NERPerson( right_to( id1 ) | right_to( id2 ) )]` Asigna el nombre t al nombre de una persona ubicada después de id1 o después de id2. |
| token sequence | space | Los tokens en una secuencia están separados por espacios. | ["Grantor"] [":"] Esta plantilla coincidirá con “Grantor:”. Los tokens se pueden especificar simplemente para contexto, incluso si estas palabras no necesitan ser extraídas. | | |
| secuencias de tokens alternativas | `[token1] | ([token2][token3])` | Se utiliza una barra vertical para especificar secuencias de tokens alternativas. Los paréntesis establecen la prioridad. | `[“will”] ([“start”] | ([“take”] [“place”])) [“on”]Esta plantilla coincidirá con cualquiera de estas cadenas: "will start on" o "will take place on". Tenga en cuenta que si hubiéramos omitido los paréntesis, la plantilla también habría coincidido con "will start place on". Los paréntesis garantizan que la frase "take place" esté presente por completo o no esté en absoluto. **Nota:** Para casos reales más complejos de secuencias de tokens alternativas, puede resultarle más conveniente escribir una regla independiente para cada alternativa:[“will”] [“start”] [“on”] => …; [“will”] [“take”] [“place”] [“on”] => …;` |
| token opcional | []? | Un signo de interrogación indica que el token es opcional. | ["Tenant"] ["."]? La palabra “Tenant” puede ir seguida de un punto. | | |
| token repetible opcional | []* | Un asterisco indica que el token es opcional y puede repetirse varias veces. | ["Grantor"] []* ["Tenant"] Las palabras clave “Grantor” y “Tenant” pueden estar separadas por cualquier cantidad de tokens, o ninguno. | | |
| token repetible obligatorio | []+ | Un signo más indica que el token debe encontrarse al menos una vez y puede repetirse. | [@NERPerson]+ Especifica que debe encontrarse el nombre de una persona, posiblemente distribuido en varios tokens, ya que el nombre generalmente consta de varias palabras. | | |
| token con número especificado de repeticiones | []{n,} []{n,m} | Los números entre llaves indican que el token debe repetirse de n a m veces. Si no se especifica el segundo número, el token debe repetirse al menos n veces. Nota: Como puede ver, {0,} es equivalente a *, mientras que {1,} es equivalente a +. | ["Grantor"] []{1,3} ["Tenant"] Las palabras clave “Grantor” y “Tenant” deben estar separadas por 1 a 3 tokens. Esto puede ser más útil que *, ya que le permite especificar que las dos palabras clave no estén demasiado distantes entre sí. | | |