Passer au contenu principal
OpérationSyntaxeDescriptionExemple
jeton[]Les crochets encadrent un seul jeton.[] N’importe quel mot ou signe de ponctuation.
texte du jeton""Les guillemets désignent un jeton avec le texte spécifié.["Grantor"] Un jeton avec le mot “Grantor”.
variable:Un deux-points est utilisé pour attribuer un nom à la séquence de jetons qui le suit. Remarque : La variable ne sera disponible que dans cette même règle, c’est-à-dire jusqu’à ce que la partie droite se termine par un point-virgule.[t: "Contract"] Trouve un jeton qui contient le mot “Contract” et l’attribue à la variable t.
lemmeL"word" Lemma"word"”L” ou “Lemma” avant un mot signifie que la recherche doit trouver 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/Les barres obliques simples encadrent une expression régulière. Comme pour les éléments de recherche Valeur à partir d’une expression régulière, la syntaxe d’expression régulière PCRE2 est utilisée.`/[1]?\d:\d2\s+(([ap].m.)([AP]M))?/` Le modèle correspondra à l’heure au format 12 heures, par exemple “2:00 p.m.”, “9:34 AM”.
paramètre d’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, signifie une correspondance insensible à la casse de l’expression régulière./[1]?\d:\d{2}\s+([ap]\.?m\.?)?/i Ce modèle simplifie l’exemple ci-dessus à l’aide d’une correspondance insensible à la casse. Il correspondra à 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 dans un paragraphe.["Section" <first_in_paragraph>] Le mot “Section” commence le paragraphe. Vous pouvez utiliser ceci, par exemple, pour extraire le numéro de section qui suit immédiatement ce jeton.
prédicats de jeton<punctuator>Le jeton est un signe de ponctuation.["Tenant"] [<punctuator>]{0,2} Le mot “Tenant” peut être suivi de jusqu’à deux signes de ponctuation, par exemple un crochet fermant et une virgule.
prédicats de jeton<initial_letter_capitalized>Le jeton commence par une lettre majuscule.[L"agreement" <initial_letter_capitalized>] Ce modèle correspondra à “Agreement” et “Agreements”, mais pas à “agreement”.
prédicats de jeton<mixed_capitalization>Certaines lettres du jeton, mais pas toutes, sont en majuscules.[L"letter" <mixed_capitalization>] Ce modèle correspondra, par exemple, à “Letters” et “letteR”.
prédicats de jeton<all_letters_capitalized>Le jeton est entièrement en lettres majuscules.[t: @NEROrganization <all_letters_capitalized>]+ Ce modèle correspondra aux entités nommées d’organisation écrites entièrement en majuscules.
OU logique``Une barre verticale est utilisée pour spécifier un texte de jeton alternatif ou des conditions alternatives pour le jeton.`[“Lender""Co-Lender”] [“shall”] [“have”]` Ce modèle correspondra à l’une ou l’autre de ces chaînes : “Lender shall have” ou “Co-Lender shall have”
ET logiqueespaceL’espace est utilisé comme conjonction logique pour les conditions de jeton.[t: "Section" <first_in_paragraph>] Trouve un jeton qui contient le mot “Section” ET commence un paragraphe.
condition d’objet@object_nameUn arobase (”@”) vérifie que le jeton est situé dans une région d’objet. Les objets suivants sont pris en charge : Objets d’entité nommée, les mêmes types qui sont également disponibles en tant qu’éléments de recherche spécialisés, préfixés par “NER” : NERPerson, NEROrganization, NERAddress, NERLocation, NERDate, NERDuration, NERMoney ; Éléments de recherche ; 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 jetons qui contient une entité NEROrganization et est suivie du mot-clé “Lender”. [t: @NERPerson @Preamble_Segment ]+ Trouve le nom d’une personne dans le segment de préambule (représenté par un élément de recherche Champ d’entrée).
séparation d’objets similaires@object_name( same )”same” signifie que sur un jeton répétitif, le même objet est associé à la séquence de jetons au lieu de plusieurs objets de ce type. Si la condition d’objet utilise un OU logique, “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 comme NERPerson. Pour extraire le nom d’une 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 est trouvé après le another_object spécifié entre parenthèses. “left_to” signifie que object_name est trouvé avant le another_object spécifié entre parenthèses.[ t: @NERAddress( same, right_to( id1 ), left_to( id2 ) )] Trouve 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 pour les conditions d’objet.`[t: @NERPerson( right_to( id1 )right_to( id2 ) )]` Attribue le nom t au nom d’une 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 modèle correspondra à “Grantor:”. Les jetons peuvent être spécifiés simplement pour le contexte, même si ces mots n’ont pas besoin d’être extraits.
séquences de jetons alternatives`[token1]([token2][token3])`Une barre verticale permet de spécifier des séquences de jetons alternatives. Les parenthèses définissent la priorité.`[“will”] ([“start”]([“take”] [“place”])) [“on”]Ce modèle correspondra à l&#39;une ou l&#39;autre de ces chaînes : « will start on » ou « will take place on ». Notez que si nous avions omis les parenthèses, le modèle aurait également correspondu à « will start place on ». Les parenthèses garantissent que l&#39;expression « take place » est soit entièrement présente, soit totalement absente. **Remarque :** Pour des cas réels plus complexes de séquences de jetons alternatives, il peut être plus pratique d&#39;écrire une règle distincte pour chaque alternative :[“will”] [“start”] [“on”] => …; [“will”] [“take”] [“place”] [“on”] => …;`
jeton optionnel[]?Un point d’interrogation indique que le jeton est optionnel.["Tenant"] ["."]? Le mot « Tenant » peut être suivi d’un point.
jeton répétitif optionnel[]*Un astérisque indique que le jeton est optionnel 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 par aucun.
jeton répétitif obligatoire[]+Un signe plus indique que le jeton doit être trouvé au moins une fois et peut être répété.[@NERPerson]+ Spécifie qu’un nom de personne doit être trouvé, éventuellement réparti sur plusieurs jetons, car le nom se compose généralement de plusieurs mots.
jeton avec nombre de répétitions spécifié[]{n,} []{n,m}Les nombres entre accolades indiquent que le jeton doit être répété de n à m fois. Si le deuxième nombre n’est pas spécifié, le jeton doit être répété au moins n fois. Remarque : Comme vous pouvez le constater, {0,} est équivalent à *, tandis que {1,} est équivalent à +.["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 pouvez ainsi spécifier que les deux mots-clés ne sont pas trop éloignés l’un de l’autre.