Powered by Zoomin Software. For more details please contactZoomin

The Semaphore Fact Extraction Framework (FACTS)

Repeated Fact Per Each Taxonomy Fact Contexts

  • Last Updated: May 29, 2026
  • 5 minute read
    • Semaphore
    • Documentation

This is an abstract Concept Class (no concept can be made an instance of it in the model).

It represents all Repeated Fact Per Each Taxonomy Fact Contexts.

Summary

Repeated Fact Per Each Taxonomy Fact Contexts are used to extract lists of items where each item is a sequence of facts: one element is a Taxonomy Fact and another is a common fact. The goal is to output each Taxonomy Fact occurrence grouped with each common fact occurrence.

Pattern:

Repeated Fact Per Each Taxonomy Fact Contexts look for a pattern in content where there are lists of items, each item is a sequence of facts where one element is a Taxonomy Fact and another element is a single common fact that occurs in the sequence. We want to output each Taxonomy Fact occurrence grouped with each common fact occurrence.

The pattern is:

  • Fact group:
    • Common Fact
    • Taxonomy Fact 1
  • Fact group:
    • Common Fact
    • Taxonomy Fact 2
  • ...
  • Fact group:
    • Common Fact
    • Taxonomy Fact N

The extractor finds the first sequence that matches, then looks for subsequent sequences and returns those as long as there are no intervening semantic units between the matches. For example, with the “Across Phrases in Sentences” extractor, it will fire for the first sentence that matches, then the next, and so on, until a sentence does not match.

This behavior can be modified by using the Alt Label type, skip over repeat-breaking labels, which allows you to ignore intervening semantic units.

See Positive Example 3 below.

Usage Notes

Use this context when concepts from a taxonomy branch are used in a list of items, each item also has other facts, and you want to capture a fact group for each occurrence of a taxonomy concept with those other facts.


Repeated Fact Per Each Taxonomy Fact Contexts Properties

Hierarchical Relationships

Label Range Mandatory or
Optional
Constraints
fact Contexts Required one or more allowed
repeated per each fact from taxonomy Taxonomy Fact Required only one allowed
skip Skip Optional one or more allowed

Associative Relationships

Label Range Mandatory or
Optional
Constraints
depended on by context Contexts Optional only one allowed
depends on context Contexts Optional only one allowed
extract fact as Fact Name Optional only one allowed
group facts as Fact Name Optional only one allowed
location Location Optional only one allowed
precluded by context Contexts Optional only one allowed
precludes context Contexts Optional only one allowed
punctuation rule Punctuation Optional only one allowed

Alternative Labels

Label Mandatory or
Optional
Constraints
skip over repeat-breaking labels Optional one or more allowed
forced preclusion label Optional one or more allowed

Metadata

Label Range Mandatory or
Optional
Constraints
field String Optional only one allowed
return raw text also Boolean Optional only one allowed
return value using regex String Optional only one allowed
debug Boolean Optional only one allowed
loose Boolean Optional only one allowed
context position from document end Integer Optional only one of

these is allowed
context position from document start Integer Optional :::
greedy width for context Integer Optional only one of

these is allowed
non greedy width for context Integer Optional :::
fact position from context start Integer Optional only one of

these is allowed
fact position from context end Integer Optional :::

Example model and tests

The example is DF70 in the “FactExtraction-Example” model. Our example is a sequenced extractor that is looking for a concept anchor (“loss occurrence”) and then the repeated fact extractor. The repeated fact extractor is of type “Across Phrases in Sentences”:

The repeated fact extractor is looking for a common wildcard fact (“# consecutive hours”) followed by a repeating taxonomy fact from the “Perils” taxonomy branch, which contains concepts such as “earthquake”, “flood”, “hailstorm”, etc. The repeating taxonomy fact will return as a “Peril clause” group.

Important:
For this extractor to work, you need to change the broader relationship of the concept “DF70 - headed list / common fact” to “document-identifying document fact in”.

Positive Test Content - Example 1

Loss occurrence.

1 consecutive hours, earthquake.

“Loss occurrence” is the required anchor. “1 consecutive hours” is the common fact in the repeated fact extractor. “earthquake” is the repeated taxonomy fact. The repeated fact extractor extracts as the group “Peril clause”.

Positive Test Content - Example 2

Loss occurrence.

9 consecutive hours lost due to hailstorm in a hurricane.

Note that the “Peril clause” group is extracted for each repeated taxonomy fact - i.e. two “Peril clauses” are extracted, one for each occurrence of a repeated taxonomy fact (“hailstorm” and “hurricane”).

Positive Test Content - Example 3

Definition of "Loss Occurrence".

(A) 12 consecutive hours as regards and a typhoon and other things.

Intervening sentence.

(B) 24 consecutive hours as regards earthquake, and seaquake and hurricane.

Intervening sentence.

(C) 36 consecutive hours and riots within the limits of one City, Town or Village as regards civil commotion and malicious damage.

Intervening sentence.

(D) 48 consecutive hours as regards floods arising in a territory forming one and the same river basin (river basin being defined as the catchment area of a river including all its tributaries).

This will fire for all bullet points (A through D) even though there is an intervening sentence between the bullet point sentences. This is because the extractor has “skip over repeat-breaking labels” that skip over the intervening sentences and allows the extractor to keep firing.

If these Alt Labels are removed, than only the first bullet will result in extraction.

Negative Test Content

Loss occurrence.

1 consecutive hours. In an earthquake.

This will not fire since our extractor is looking for the facts within a sentence, whereas this content has the fact split across sentences. For this example to fire, you would need to change the extractor to Repeated Fact Per Each Taxonomy Fact Across Phrases In Document.

TitleResults for “How to create a CRG?”Also Available inAlert