The function

The input is one section. The output is a list of triples: a subject, a predicate, and an object, plus the quote they came from. “The commissioner may order a pre-hearing conference” becomes the commissioner → may order → a pre-hearing conference, tied to that section.

The student is NVIDIA’s Nemotron Nano, a few billion parameters, small enough to run on a single workstation. A larger teacher writes the training targets. A second small model, Laya, checks each proposed triple against the section. Extraction and verification are separate measurements: one asks what was found, the other asks whether a found triple is supported.

From raw text to labelled text

Labelling runs spaCy 3.8.16 with the en_core_web_sm 3.8.0 model. Connecticut section 1-205-2 is the whole path in one place. Highlighted rows are the verbs the checklist keeps.

  1. Keep the publisher text

    The input is the section as published: heading, operative sentence, and history note. Nothing is rewritten before the parser sees it.

    Sec. 1-205-2. Description
    The Freedom of Information Commission is empowered and described in sections 1-205 and 1-206 of the general statutes.
    (Effective December 23, 1986; Amended January 20, 1999; Amended February 11, 2026; Transferred from § 1-21j-2, February 11, 2026)
  2. Tag every token

    spaCy splits the sentence into tokens. Each token gets a part of speech, a fine tag, a dependency label, and the head token that label points at. On the operative sentence that table is:

    TokenPart of speechTagDependencyHead
    TheDETDTdetCommission
    FreedomPROPNNNPnmodCommission
    ofADPINprepFreedom
    InformationPROPNNNPpobjof
    CommissionPROPNNNPnsubjpassempowered
    isAUXVBZauxpassempowered
    empoweredVERBVBNROOTempowered
    andCCONJCCccempowered
    describedVERBVBNconjempowered
    inADPINprepdescribed
    sectionsNOUNNNSpobjin
    1NUMCDnummodsections
    -SYMSYMpunct205
    205NUMCDprep1
    andCCONJCCccsections
    1NUMCDconjsections
    -SYMSYMpunct206
    206NUMCDprep1
    ofADPINprep1
    theDETDTdetstatutes
    generalADJJJamodstatutes
    statutesNOUNNNSpobjof
    .PUNCT.punctempowered
  3. Build the predicate checklist

    The next pass walks those tags. It keeps a token when the part of speech is VERB, or when it is AUX and the dependency is ROOT, conj, or advcl. It then sets aside tokens whose dependency is aux, auxpass, or amod. For each verb that remains, it reads the subject from a child labelled nsubj, nsubjpass, or csubj. A verb joined by conj, such as “described,” takes that subject from the head verb when it has none of its own.

    On this sentence the checklist is two rows. Both name Commission as the subject.

    PredicateLemmaSubjectSentence
    empoweredempowerCommissionThe Freedom of Information Commission is empowered and described in sections 1-205 and 1-206 of the general statutes.
    describeddescribeCommissionThe Freedom of Information Commission is empowered and described in sections 1-205 and 1-206 of the general statutes.

    “is” stays in the token table as AUX / auxpass, the auxiliary of “empowered.” The checklist contains the two content verbs.

    Two more patterns run on the same text. A quoted term followed by “means” or “includes” is added as a definition, including when the parser tags “means” as a noun. A sentence containing “does not apply,” “shall not apply,” “need not include,” or “except for” is added as an exception that has to be attached to the rule it limits. This section has neither.

  4. Ask the teacher to account for the checklist

    The teacher’s first draft is written from the raw section, inside a <section_text> wrapper. Each checklist lemma is then compared with the predicates in that draft, and the subject lemma is compared with the draft subjects. A checklist row with a match is already represented. A row with no match goes back to the teacher with the source text, the draft, and the flag, and the teacher returns a patch: add the relationship, replace an existing one, or record why the flag is already covered or is not its own relationship.

    Here both lemmas, empower and describe, belong to one predicate, “is empowered and described in,” whose subject is the Commission. The checklist is covered. The history note is stored as a temporal qualifier on that same relationship.

  5. Show the relationship

    Nemotron is trained on the section text and the finished triples. On the reading page the sentence is highlighted, and a click opens the card:

    The Freedom of Information Commission is empowered and described in sections 1-205 and 1-206 of the general statutes
    The Freedom of Information Commission is empowered and described in sections 1-205 and 1-206 of the general statutes.

    Laya marked this claim supported. That card is what Sec. 1-205-2 shows.

Laya training and validation

Laya is a 421-million-parameter verifier, fine-tuned from the English checkpoint convaiinnovations/laya. It answers three yes-or-no questions about one proposed triple and the full section that triple came from. Each answer is a probability that the answer is true.

  1. Three questions, one triple

    The state is the publisher section plus a reading of the candidate: subject, predicate, target, qualifiers, and any other participants. The questions are fixed:

    • direction_correct asks whether the subject, the action, and the target are the roles the sentence assigns.
    • claim_supported asks whether the whole proposition, including modality and negation, is what the section says.
    • scope_preserved asks whether the conditions, exceptions, quantities, recipients, and alternatives that govern this relationship are still attached to it.
  2. Labels from reviewed federal sections

    The training rows come from agent review of 5,000 Code of Federal Regulations sections. Each reviewed triple carries a gold probability of true and of false on all three questions. An exact input keeps one gold label. When review corrected the teacher’s judgment, that corrected row is repeated three times in the training split so the repair is seen more often than an untouched row. Connecticut sections stay out of this set. They are the later reading corpus.

    Sections are grouped by CFR part. A deterministic draw holds out 5 percent of those groups for development, and every row from a held-out group stays in development. Another 5 percent of the remaining groups is reserved, before optimization, to fit the confidence scale.

  3. One completed epoch

    The fine-tune was planned for two epochs. The checkpoint that was kept is the first completed epoch: 174,996 question items, 2,735 optimizer windows, seed 102301. Each example is the full section and the full question. The length budget is 8,192 tokens for the state and 2,048 for the question, and an example that would exceed either budget is refused rather than cut off.

  4. Held-out check

    After that epoch, temperature is fit on the 4,767 reserved questions. The development set is then scored once: 6,312 questions from source groups the optimizer never saw. Calibrated accuracy is 94.9 percent. Expected calibration error is 0.019. Mean confidence is 0.968. The fitted temperature sat at the top of its allowed range, so the published decision uses bands rather than the raw probability alone.

  5. Pass, flag, or fail

    On a new section the same three questions are asked of every extracted triple. The triple passes when every score is at least 0.65. It is flagged when the lowest score is below 0.65 and still at least 0.50. It fails when any score is below 0.50.

  6. What goes in, and what comes out

    One call is one triple. The input is the full section and a reading of that triple. For Sec. 1-205-2 the reading is:

    source_text: Sec. 1-205-2. Description
    The Freedom of Information Commission is empowered and described in sections 1-205 and 1-206 of the general statutes.
    (Effective December 23, 1986; …)
    
    reading:
      subject:    The Freedom of Information Commission
      predicate:  is empowered and described in
      target:     sections 1-205 and 1-206 of the general statutes
      qualifiers: Effective December 23, 1986; Amended January 20, 1999; Amended February 11, 2026; Transferred from § 1-21j-2, February 11, 2026

    The output is one probability for each question, then a band:

    direction_correct   0.9999
    claim_supported     0.9999
    scope_preserved     0.9998
    verdict             pass
  7. Why the count inside a triple matters

    Nemotron decides how many triples a section contains. The spaCy checklist is the count of verbs those triples have to cover. Laya then reads each triple alone, so its job is the count written inside the triple: “one,” “at least one-third,” “no more than one.”

    50 CFR 14.151 says “No more than one sloth, bat, or flying lemur (Cynocephalidae) shall be transported in a primary enclosure.” The reviewed triple keeps that limit in the subject:

    subject:    No more than one sloth, bat, or flying lemur (Cynocephalidae)
    predicate:  shall be transported in
    target:     a primary enclosure

    Review marked all three questions true, and the support note is that the “no more than one” cardinality is in the claim. A triple with the same verb and the same enclosure, and the subject reduced to “a sloth, bat, or flying lemur,” would still have the roles pointed the right way. The number of animals would have changed. claim_supported and scope_preserved are the scores that record whether that number is still the number in the section.

How well extraction does

On a reviewed Code of Federal Regulations holdout, the v1.1 Nemotron student scored 0.424 F1 on surface subject–predicate–object matches, and 0.303 F1 when the match also had to be a qualified assertion. It misses relationships, especially in definitions and long enumerations, and a supported triple can still get a role backwards. Laya’s 94.9 percent is the separate question of whether a triple that was written down is supported. A highlight on the Connecticut page is a triple Laya passed. Definition sections stay unmarked until their coverage is good enough to publish.