Passer au contenu principal
OpérationSyntaxeDescriptionExemple
token[]Les crochets encadrent un seul token.[] N’importe quel mot ou signe de ponctuation.
texte du jeton""Les guillemets indiquent un jeton correspondant au texte spécifié.[“Grantor”] Un jeton contenant le mot “Grantor”.
variable:Un deux-points est utilisé pour attribuer un nom à la séquence de jetons qui le suit. Remarque : La variable sera disponible uniquement dans cette même règle, c’est-à-dire jusqu’à ce que la partie droite soit terminée par un point-virgule.[t: “Contract”] Recherche un jeton contenant le mot “Contract” et l’assigne à la variable t.
lemmeL”word”Lemma”word""L” ou “Lemma” placé devant un mot signifie que la recherche trouvera toutes les formes de ce mot.[L”rule”] Des jetons tels que “rule”, “rules”, “ruled” et “ruling” seront tous trouvés.
expression régulière/regular expression/Une expression régulière est encadrée par des barres obliques simples. Comme pour les éléments de recherche Value from Regular Expression, la syntaxe des expressions régulières PCRE2 est utilisée./[1]?\d:\d{2}\s+(([ap].m.)|([AP]M))?/ Le template correspondra à une heure au format 12 heures, par exemple “2:00 p.m.”, “9:34 AM”.
option pour les expressions régulières/regular expression/iLe paramètre d’option peut être placé après la barre oblique qui ferme l’expression régulière. L’option “i”, par exemple, indique que la mise en correspondance de l’expression régulière ne tient pas compte de la casse./[1]?\d:\d{2}\s+([ap].?m.?)?/i Ce modèle simplifie l’exemple ci-dessus grâce à une mise en correspondance insensible à la casse. Il permet de faire correspondre l’heure au format 12 heures, par exemple, “2:00 p.m.”, “9:34 AM”.
prédicats de jeton<first_in_paragraph>Le jeton est le premier du paragraphe.[“Section” <first_in_paragraph>] Le mot “Section” commence le paragraphe. Vous pouvez l’utiliser, par exemple, pour extraire le numéro de section situé immédiatement après ce jeton.
prédicats de jeton<punctuator>Le jeton est un signe de ponctuation.[“Tenant”] [<punctuator>]{0,2} Le mot “Tenant” peut être suivi d’au plus deux signes de ponctuation, par exemple une parenthèse fermante et une virgule.
prédicats de token<initial_letter_capitalized>Le token commence par une majuscule.[L”agreement” <initial_letter_capitalized>] Ce Template correspondra à “Agreement” et “Agreements”, mais pas à “agreement”.
prédicats de token<mixed_capitalization>Certaines lettres du token, mais pas toutes, sont en majuscule.[L”letter” <mixed_capitalization>] Ce Template correspondra, par exemple, à “Letters” et “letteR”.
prédicats de token<all_letters_capitalized>Le token est entièrement en majuscules.[t: @NEROrganization <all_letters_capitalized>]+ Ce Template correspond aux Named Entities d’organisation écrites entièrement en majuscules.
OU logique|Une barre verticale permet d’indiquer un texte de token alternatif ou des conditions alternatives pour le token.[“Lender” | “Co-Lender”] [“shall”] [“have”] Ce Template correspond à l’une des chaînes suivantes : “Lender shall have” ou “Co-Lender shall have”
ET logiqueespaceL’espace sert de conjonction logique pour les conditions de token.[t: “Section” <first_in_paragraph>] Trouve un token contenant le mot “Section” ET qui commence un paragraphe.
condition d’objet@object_nameLe signe arobase (”@”) vérifie que le token se trouve dans une région d’objet. Les objets suivants sont pris en charge : les objets d’entité nommée, c’est-à-dire les mêmes types également disponibles comme search elements spécialisés, préfixés par “NER” : NERPerson, NEROrganization, NERAddress, NERLocation, NERDate, NERDuration, NERMoney ; les search elements ; Sentence - Un objet distinct est créé pour chaque phrase dans le flux de texte ; Paragraph - Un objet distinct est créé pour chaque paragraphe dans le flux de texte.[t: @NEROrganization]+ [“Lender”] Attribue le nom t à une séquence de tokens qui contient une entité NEROrganization et qui est suivie du mot-clé “Lender”. [t: @NERPerson @Preamble_Segment ]+ Recherche un nom de personne dans le segment de préambule (représenté par un champ d’entrée search element).
séparation d’objets similaires@object_name( same )“same” signifie que, sur un jeton répété, le même objet est associé à la séquence de jetons au lieu de plusieurs objets de ce type. Si la condition de l’objet utilise un opérateur logique OR, “same” ne doit pas être utilisé.Par exemple, si vous avez une liste de noms de personnes qui se suivent, ils seront tous détectés en tant que NERPerson. Pour extraire le nom d’une seule personne à la fois, utilisez la condition “same”. [t: @NERPerson( same )]+ Attribue le nom t à la première personne trouvée.
position relative@object_name( right_to( another_object ))@object_name( left_to( another_object ))“right_to” signifie que object_name se trouve après another_object, spécifié entre parenthèses. “left_to” signifie que object_name se trouve avant another_object, spécifié entre parenthèses.[ t: @NERAddress( same, right_to( id1 ), left_to( id2 ) )] Recherche une entité nommée NERAddress entre id1 et id2.
OU logique (tel qu’utilisé dans les conditions d’objet)|Une barre verticale peut également être utilisée comme disjonction logique dans les conditions d’objet.[t: @NERPerson( right_to( id1 ) | right_to( id2 ) )] Attribue le nom t à un nom de personne situé soit après id1, soit après id2.
séquence de jetonsespaceLes jetons d’une séquence sont séparés par des espaces.[“Grantor”] [”:”] Ce Template correspondra à “Grantor:”. Les jetons peuvent être indiqués simplement à titre de contexte, même si ces mots n’ont pas besoin d’être extraits.
séquences de tokens alternatives[token1]|([token2][token3])Une barre verticale permet d’indiquer des séquences de tokens alternatives. Les parenthèses définissent la priorité.[“will”] ([“start”] | ([“take”] [“place”])) [“on”] Ce template correspondra à l’une des chaînes suivantes : “will start on” ou “will take place on”. Notez que, si nous avions omis les parenthèses, le template aurait également correspondu à “will start place on”. Les parenthèses garantissent que l’expression “take place” est soit entièrement présente, soit totalement absente. Remarque : Pour les cas réels plus complexes de séquences de tokens alternatives, il peut être plus pratique d’écrire une règle distincte pour chaque alternative :

[“will”] [“start”] [“on”]
=>
…;
[“will”] [“take”] [“place”] [“on”]
=>
…;
élément facultatif[]?Un point d’interrogation indique que l’élément est facultatif.[“Tenant”] [”.”]? Le mot “Tenant” peut être suivi d’un point.
jeton facultatif répétable[]*Un astérisque indique que le jeton est facultatif et peut être répété plusieurs fois.[“Grantor”] []* [“Tenant”] Les mots-clés “Grantor” et “Tenant” peuvent être séparés par un nombre quelconque de jetons, ou ne pas être séparés du tout.
jeton répétable obligatoire[]+Le signe plus signifie que le jeton doit être trouvé au moins une fois et qu’il peut être répété.[@NERPerson]+ Indique qu’un nom de personne doit être trouvé, éventuellement sur plusieurs jetons, car un nom se compose généralement de plusieurs mots.
jeton avec un nombre de répétitions spécifié[]{n,}[]{n,m}Les nombres entre accolades signifient que le jeton doit être répété entre n et m fois. Si le second nombre n’est pas spécifié, le jeton doit être répété au moins n fois. Remarque : Comme vous pouvez le voir, {0,} équivaut à *, tandis que {1,} équivaut à +.[“Grantor”] []{1,3} [“Tenant”] Les mots-clés “Grantor” et “Tenant” doivent être séparés par 1 à 3 jetons. Cela peut être plus utile que *, car vous pourrez préciser que les deux mots-clés ne sont pas trop éloignés l’un de l’autre.