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.
Properties ペインで要素を作成し、そのプロパティを設定すると、プログラムがそれらのプロパティ用のコードを自動生成します。本セクションでは、その自動生成コードの内容を理解し、必要に応じて修正できるように解説します。
Parties.Address 検索要素の自動生成されるコードは次のようになります。
~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 );
ご覧のとおり、自動生成されたコードは、名前の競合を避けるため、常にフルパスで各検索要素を参照します。今回のケースでは、各要素名から Root を取り除くことで、要素名を短くできます。
~Parties.Address,
t1 : Parties.Organization,
t2 : kw_PreNextParty
[ t: @NERAddress( same, right_to( t1 ), left_to( t2 ) ) ~@Parties.Address ]+
=>
Parties.Address( t );
ここで各ステートメントの意味を順に見ていきましょう。
// Address検索要素がまだ見つかっていないことを確認します。最初のインスタンスのみが必要です
~Parties.Address,
// Organization検索要素と次のパーティキーワード検索要素を取得します。これらはAddressより前に見つかっています
t1 : Parties.Organization,
t2 : kw_PreNextParty
// 1つのNERAddress名前付きエンティティを含むトークンシーケンスを検索します
// (「same」キーワードは、複数存在する場合でも1つのNERAddressのみを一致させることを指定します)
// アドレスは組織名の後、次のパーティのキーワードの前に位置する必要があります
// +記号は、トークンシーケンスが複数の単語で構成される可能性があることを示します
// 最後の~@Parties.Address条件により
// 同じトークンで再度アドレスが一致しないことが保証されます
[ t: @NERAddress( same, right_to( t1 ), left_to( t2 ) ) ~@Parties.Address ]+
=>
Parties.Address( t );