メインコンテンツへスキップ
このセクションでは、コードエディターで作成した抽出ルールのサンプルをいくつか紹介します。コードエディターはグラフィカルユーザーインターフェースよりも柔軟で、使用する構文の詳細は Syntax セクションを参照してください。

名前付きエンティティの最後の出現箇所を見つける

この例では、抽出ルールを使用して賃貸借契約書における借主の組織名を見つけます。この名称は他のすべての組織名の後に現れ、GUI の設定では抽出できません。GUI では Instances > First しか選択できないためです。ただし、抽出ルールを使用して、角括弧で囲まれた “Tenant” という語の直前に現れる組織名を検索できます。 まず補助的な検索要素としてキーワード “Tenant” を見つけます。次に、そのキーワードの前に現れる組織名を探します。この例では、間に入るトークンが 2 つ(開き括弧と引用符)あるため、安全余裕を見込んで距離を 3 トークンに制限します。お使いのドキュメントでキーワードと組織名の間により多くのトークンが介在する場合は、この数値を適宜増やしてください。

直近の組織インスタンスを抽出するためのルール

賃貸借契約書の抜粋。テナントの組織名が TenantName 検索要素に抽出された例

金額が文字表記と数字表記の両方で記載されている場合の抽出

この例では、正規表現を用いた抽出ルールにより、まず文字で記載され、その後に丸括弧内で数字で示された金額を抽出します。例: Two Thousand One Hundred Forty-Seven Dollars and Sixty Cents ($2,147.60) Two Thousand One Hundred Forty-Seven Dollars and Sixty Cents (in numbers: $2,147.60)

合計金額を抽出するためのルール

単語による表記と括弧付きの数字表記を組み合わせた単一の値として合計金額が抽出された例

キーワードによるセグメントの検索

この例では、Segmentation アクティビティで確実に検出できないセグメントを見つけるために抽出ルールを使用します。ルールは、セグメントの開始または終了となるキーワードを探し、その間のテキストを抽出します。 ドキュメントには、すべて大文字で書かれた番号付きの第2レベル見出しがあると仮定します。例: 1.1 PREMISES、2.3 LIABILITY AND INDEMNITY など。また、第1レベルの見出しは、検索要素 “kw_Heading1” にすでに抽出済みであるとします(簡潔のため、該当する抽出ルールは省略します)。 まず、ドキュメントの各段落の先頭にあるキーワードを探し、それらを検索要素 “kw_Heading2.” に抽出します。次に、連続する2つのキーワードの間のテキストを検索要素 “Segment.” に格納します。 Advanced Designer の現行バージョンでは、コードエディターは固有表現の検出に使用される検索要素でのみ利用可能です。回避策として、コードで見出しやセグメントのようなテキストを抽出するには、サポートされている固有表現(例: Organization)の検索要素を作成し、その要素のコードエディターにルールのコードを入力してください。

第2レベル見出しを kw_Heading2 検索要素に抽出するためのルール

セグメントを「Segment search」要素に抽出するためのルール

連続する第2レベル見出しの間のドキュメントのテキストが Segment 検索要素に抽出される例
この例では、「3.1 FIRSTLY」と「3.2 SECONDLY」という語が kw_Heading2 検索要素に抽出され、その後、連続する2つの kw_Heading2 検索要素の間にあるテキストが、Segment 検索要素のインスタンスとして抽出されます。

各エンティティに関する情報のグループ化

この例では、合意書の各当事者に関する詳細が正しくグループ化されるよう、抽出ルールを使用します(つまり、各当事者の氏名と住所が1つのグループインスタンスにまとまり、複数のインスタンスに分割されたり、相手方の情報と混在したりしないようにします)。 考え方は、常に先頭に現れる当事者の識別情報を見つけることです。これは、合意書の作成方法によって複数のやり方が考えられます。 この例では、各組織の名称が常に先頭にあり、その後に住所と合意書における役割が続くと仮定します。したがって、次のようにします。
  1. 組織名を検出し、見つかった各名称に対して Party_Group のグループ検索要素の新しいインスタンスを作成し、その子検索要素「Organization_Name」に値を設定します。
  2. 各組織名のインスタンスから、例えば20トークン以内の範囲にある住所と役割を探し、その組織名の親である Party_Group のインスタンスにアクセスして、そのインスタンス内の子検索要素「Address」および「Role」に値を設定します。
データの検索対象は、Segmentation アクティビティで検出され、Extraction Rules アクティビティに Input field「Parties_Segment」として渡されたセグメント内に限定されます。

Organization_Name 検索要素の抽出ルール

Address 検索要素の抽出ルール

役割検索要素抽出のルール

検索要素は次のように抽出されます。
各当事者の組織名、住所、役割が正しくグループ化されて抽出された Party_Group インスタンス
データ フォームでは、各会社の名前、住所、役割も、それぞれ別のグループ インスタンスの下にまとめられていることがわかります。
各会社の名前、住所、役割がそれぞれ別の Party_Group インスタンス番号の下に表示されたデータ フォーム
各組織の詳細は、角括弧内のインスタンス番号が示すように、まとめてグループ化されています。

日付と時刻をまとめて検出する

この例では、抽出ルールを使って時刻と日付の組み合わせを検出します。 まず、Value from Regular Expression 型の検索要素「Time」を使用します(使用する正規表現は [1]?\d:\d{2}\s+(([ap]\.m\.)|([AP]M))?)。次に、その近傍にある Date という名前のエンティティを探します。最後に、検出したトークン列を連結し、結果を「TimeAndDate」という名前の検索要素に割り当てます。

日付と時刻の併記抽出ルール

連結された時刻と日付の固有表現を単一の TimeAndDate 検索要素に抽出した例