Documentation Index
Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
Use this file to discover all available pages before exploring further.
Lorsque vous créez un élément et définissez ses propriétés dans le volet Properties, le programme génère automatiquement le code correspondant. Cette section vous aide à comprendre ce code généré automatiquement afin de pouvoir le modifier si nécessaire.
Structure de l’élément de recherche
Le code généré automatiquement pour l’élément de recherche Parties.Address sera le suivant :
~Root.Parties.Address,
t1 : Root.Parties.Organization,
t2 : Root.kw_PreNextParty
[ t: @NERAddress( same, right_to( t1 ), left_to( t2 ) ) ~@Root.Parties.Address ]+
=>
Root.Parties.Address( t );
Comme vous pouvez le constater, le code généré automatiquement fait toujours référence à chaque élément de recherche en utilisant le chemin complet afin d’éviter tout conflit de noms. Dans ce cas, nous pouvons raccourcir les noms des éléments en supprimant Root de chacun.
Règle avec des noms d’élément plus courts
~Parties.Address,
t1 : Parties.Organization,
t2 : kw_PreNextParty
[ t: @NERAddress( same, right_to( t1 ), left_to( t2 ) ) ~@Parties.Address ]+
=>
Parties.Address( t );
Nous pouvons maintenant détailler la signification de chaque instruction :
// Vérifier que l'élément de recherche Address n'a pas encore été trouvé, car seule la première instance est nécessaire
~Parties.Address,
// Récupérer l'élément de recherche Organization et l'élément de recherche par mot-clé de la partie suivante. Ils ont été trouvés avant Address
t1 : Parties.Organization,
t2 : kw_PreNextParty
// Trouver la séquence de jetons contenant une entité nommée NERAddress
// (le mot-clé "same" spécifie qu'un seul NERAddress doit être associé s'il y en a plusieurs)
// L'adresse doit être située après le nom de l'organisation et avant le mot-clé de la partie suivante
// Le signe + signifie que la séquence de jetons peut être composée de plusieurs mots
// La condition ~@Parties.Address à la fin garantit
// que l'adresse ne sera pas associée à nouveau aux mêmes jetons
[ t: @NERAddress( same, right_to( t1 ), left_to( t2 ) ) ~@Parties.Address ]+
=>
Parties.Address( t );