| 操作 | 構文 | 説明 | 例 |
|---|---|---|---|
| 検索要素を作成する | search_element_name( value_expression )search_element_name( token_variable1 + token_variable2 ) | 検索要素には、かっこ内で指定した値が割り当てられます。値はルールの左側部分で作成された変数で指定することも、引用符で囲んだ テキストとして直接渡すこともできます。複数の変数の値は、プラス記号を使って連結できます。 | [ t: “Contract” ] => kw_Contract( t ); トークン t の値を kw_Contract 検索要素に割り当てます。
[ “Contract” | “Contrato” ] => documentType( “Contract” ); 指定したキーワードが見つかった場合、文書タイプを定数文字列 “Contract” に設定します。[ org1: @NEROrganization( same ) ]+ [ kw_doingBusinessAs: “d/b/a” | “d / b/ a” ] [ org2: @NEROrganization( same )]+ => Supplier_FullName( org1 + kw_doingBusinessAs + org2 );“d/b/a” という略語でつながれた 2 つの組織名を見つけ、その全体を Supplier_FullName 検索要素に割り当てます。 |
| グループを作成する | group_name id | グループの新しいインスタンスが作成され、変数に割り当てられます。その後、この変数を使って入れ子の検索要素を作成できます。注: 非繰り返しグループの 2 つ目の インスタンスを作成しようとすると、ルール全体が実行されません。非繰り返しグループを扱う場合は、インスタンスがすでに存在する場合用と、存在しない場合用の 2 つの別々のルールを 記述してください。 | [“Grantor”] [”:”] [p: @NERPerson]+ => Grantor group, group.FullName( p ); Grantor グループの新しいインスタンスを作成し、左側部分で見つかった人名を
Grantor.FullName 検索要素に割り当てます。 |
| グループ内に子検索要素を作成する | id.search_element_name( value_expression ) | 新しい検索要素は、変数で指定されたグループ内に作成され、かっこ内で指定した値を受け取ります。 | 上記の例を参照してください。 |
| 左側部分からグループ内に子検索要素を作成する | left_hand_part_object.search_element_name( value_expression ) | 新しい検索要素は、ルールの左側部分で見つかったグループ内に作成されます。新しい検索要素の値は、かっこ内で指定します。注: 非繰り返しグループでは、 ルールの左側部分でインスタンスが存在することを確認し、そのグループに変数名を割り当てることができます。その後、右側部分でこの変数名を使用して入れ子要素を 作成できます。 | group: Tenant [p: @NERPerson]+ []{0,3} [“Tenant”] => group.FullName( p ); 既存の Tenant グループのインスタンスにアクセスし、左側部分で見つかった人名を
Tenant.FullName 検索要素に割り当てます。
[org: @BuyerGroup.organization_name]+ []{3,9} [addr: @NERAddress] => parent( obj( org ) ).buyer_address( addr ); 組織名の近くにある住所の固有表現を見つけ、
この住所を、organization_name 検索要素が属しているのと同じ BuyerGroup インスタンス内の buyer_address 検索要素に割り当てます。 |
構文
右側部分
NLP Extraction Rules コードにおける右側部分の操作 — 検索要素の作成、グループの作成、グループ内での子検索要素の作成。
