Powered by Zoomin Software. For more details please contactZoomin

Semaphore Classification Server Rulebase Reference

FROM

  • Last Updated: May 13, 2026
  • 2 minute read
    • Semaphore
    • Documentation

New in Semaphore 5.10.1

This rule works just like a COMBINE as far as scoring and evidence.

However it can only be used as a child of a SELECT rule

Modifying Attributes

Parent Restrictions

Only SELECT may be a parent

This rule is optionally used for a SELECT to specify which child’s evidence may be selected from. Without a FROM both sides of an intersection will be selected - where a FROM is used only evidence in the FROM will be selected (the intersection will be calculated as normal)

This rule was added as an alternative way of doing this to using the SELECT_TAG rule. While SELECT_TAG is more generic it doesn’t play as well if you have extractions already tagged before doing the SELECT. This made it trickier for FACTS since that typically tags the FACTS fairly low down in the tree then uses rules like SELECT to find occurrences of the FACTS in various windows.

The simplest way of describing FROM is probably by example.

Example 1

The following rulebase fragment:

<select >
    <phrase data="A B" />
    <phrase data="B C" />
</select>

Evaluating the following document text:

This has A B C in it.

Will fire with a score of “1.00” and have 2 evidence phrase ranges attached (“A B” and “B C”). That is because “A B” and “B C” have an intersection so the SELECT (as its name suggests) selects both sides of the intersection (note the intersection itself is just “B”)

However using the FROM rule you can restrict the selection to the appropriate side of the intersection

<select >
    <from>
        <phrase data="A B" />
    </from>
    <phrase data="B C" />
</select>

Will fire on the same text with a score of “1.00” but will have only a single evidence phrase range (“A B”) attached.

Similarly

<select >
    <phrase data="A B" />
    <from>
        <phrase data="B C" />
    </from>
</select>

Will fire on the same text with a score of “1.00” but will have only a single evidence phrase range (“B C”) attached.

The same result can be achieved with SELECT_TAG

<select_tag data="pick-me" >
   <intersection>
       <phrase data="A B" />    
       <phrase data="B C" tag="pick-me"/>
    </intersection>
</select_tag>

As said the difficulty with using SELECT_TAG comes if (for example) the “B C” had been tagged for extraction - whilst using FROM will bubble up the extractions as expected

<extract>
 <select_tag data="pick-me" >
   <intersection>
       <phrase data="A B" />    
       <phrase data="B C" tag="pick-me" extract_name="found" />
    </intersection> 
  </select_tag>
</extract>

Here because of using the SELECT_TAG for “pick-me” the other tag (“found” as an extraction name) will be discarded and so nothing ends up being extracted. Using FROM solves this problem which allows the FACTS framework in particular to tag for extraction lower in the tree

<extract>
 <select>
       <phrase data="A B" />
       <from>    
           <phrase data="B C" extract_name="found" />
        </from>
  </select>
</extract>

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