Res Agentica
Reading

No saved reading position.

Reading

No saved reading position.

Sense Gluing

Pomegranates, properly

14 min read
Aa
Text size
A28Written accountMatching local sense assignments under declared overlap constraints.

Discovery is the privilege of the child: the child who is not yet afraid of being wrong, of looking like an idiot, of not appearing serious, of not doing things like everyone else.

— Adapted translation of Alexander Grothendieck, Récoltes et Semailles, I §1, p. 1

This chapter formalizes the gluing of sense assignments across contexts, defining Anchor A28 (Sense Gluing). A28 specifies when local sense assignments for a polysemous term can be composed into a global sense, and what structured artifacts the system must produce when they cannot: sense obstructions, sense forks, or sense arbitrations. The construction identifies conditions under which A13 (Sheaf Condition) applies to sense-assignment data, develops the transport obligations deferred by A6 (Sense Boundary), and applies the witnessed equivalence machinery of A10 and A16 to lexical synonymy. The corresponding narrative development appears in Volume I, Chapters 5 and 8, where polysemy and the pomegranate example motivate the need for scoped disambiguation.

The Word That Splits

A search for "pomegranate" might return paint chips, recipes, and a rug. A reader exploring the word could want all three. A purchasing operation needs to know which of them it is being asked to buy.

In the illustrative records below, the paint chip carries a deep-red color label; the recipe calls for the fruit; the rug features a stylized image of it. One word leads to three different objects.

These different uses do not by themselves constitute a gluing failure. A retrieval can usefully present all three, or it can conflate their meanings. To establish a formal failure, we need to identify a common assignment on which its restrictions disagree. The subsequent operation determines which assignments need comparison.

For a query whose next step requires choosing one of those uses, a scoped response can look like this:

Example(What the System Should Return)
Query: "pomegranate"
Result: SenseFork

SenseFork = {
  term: "pomegranate",
  scoped_senses: [
    { sense: fruit, scope: grocery, query: "pomegranate@grocery", 
      examples: ["Organic pomegranate 4-pack", "Pomegranate juice 32oz"] },
    { sense: color, scope: paint, query: "pomegranate@paint",
      examples: ["Pomegranate #8B0000 interior satin"] },
    { sense: motif, scope: textile, query: "pomegranate@textile",
      examples: ["Persian pomegranate silk scarf", "Armenian tapestry"] }
  ],
  message: "3 senses found. Specify scope to proceed.",
  fork_witness: ref(FW-2847)
}

The user sees options, not conflated results. These are illustrative labels and records, not a retrieved catalog or a standard color definition. Their assignments still require evidence.

This proposed interface uses a fork when the next operation requires a sense selection. An exploratory query can instead show a mixed ranking, preserve separate panes or apply a disclosed default. What matters is whether the chosen response warrants the use made of it; displaying several senses together does not itself conflate them.

Interlude I-A introduced A6 (Sense Boundary) to name the structure: a context-indexed equivalence that partitions uses into sense classes. We said that sense boundaries exist, must persist, and are scoped to contexts. We deferred the hard question: what happens when contexts merge and their sense assignments disagree?

The required comparison draws on witnessed equivalence (A10), transport certificates (A16) and the sheaf condition (A13). Those constructions can establish agreement among assignments; deciding what the assignments should describe remains part of the inquiry.

Disambiguation as Gluing

Traditional word sense disambiguation treats sense selection as a classification problem. Given a word in context, output a label: fruit, color, or motif. Train a classifier on examples. At inference time, predict.

A later use adds questions that a label alone does not answer:

  • What happens when two contexts merge and their classifiers disagree?
  • When does a sense assignment transfer to a new context?
  • How do you record that two contexts assigned different senses to the same referent?

Better classifiers can improve sense assignments. The additional question is whether assignments intended to answer the same question agree after their contexts and labels have been aligned. A shared referent alone does not make two uses of a word the same: a fruit can be named as food and described as a decorative subject.

For the reconciliation operations developed here, a label is accompanied by the applicable outcome:

  • A global assignment (if compatible local assignments cover the declared domain under the stated sheaf hypotheses)
  • A sense obstruction (if they disagree, with resolution options)
  • A sense fork (if both senses are maintained with scope annotations)
  • A sense arbitration (if an authorized choice makes one canonical within its scope)
  • An inconclusive result (if required assignments or checks are missing)

The record distinguishes retaining assignments from revising them. Its presence alone does not establish that the comparison or choice was warranted.

Anchor A28: Sense Gluing

A28
A28: Sense Gluing

Fulfills: A6's deferred transport obligations.

Types:

A Sense is a structured object:

Sense = {
  id: SenseID,
  taxonomy_path: [Category...],
  definition: Text,
  provenance: Source
}

Sense assignment (relative to a declared use and classification criterion):

σU:(term,referent)→Sense\sigma_U : (\text{term}, \text{referent}) \to \text{Sense}

For term tt and reference rr in context UU, σU(t,r)\sigma_U(t, r) returns the selected sense. The reference must distinguish the relevant occurrence or descriptive role where one object admits several uses. A one-sense function is a modeling choice; intentionally ambiguous uses may need a set of senses or another representation.

Restriction (agreement on shared referents):

Define two levels of overlap:

  • O=overlap(U,V)O = \text{overlap}(U, V): the set of shared entities (items, documents, records) between contexts
  • Ot⊆OO_t \subseteq O: the subset where both contexts have a witnessed assignment (or declared unknown) for term tt at referent rr

A context "assigns a sense" to (t,r)(t, r) when it holds a witnessed label, not merely a classifier output. Unwitnessed guesses do not count; declared unknowns do.

Formally: σU(t,r)∈Sense∪{unknown(reason,evidence_ref?)}\sigma_U(t, r) \in \text{Sense} \cup \{\text{unknown}(\text{reason}, \text{evidence\_ref}?)\}

An unknown is not a contrary sense assignment. The operational contract can block a fully determined GlobalSense while allowing the source records to coexist. Two unknown records may agree as records of uncertainty; that does not identify the intended sense.

For gluing to succeed:

∀r∈Ot:σU(t,r)=σV(t,r)\forall r \in O_t: \sigma_U(t, r) = \sigma_V(t, r)

Unequal known values under the same assignment criterion prevent an exact amalgamation of those functions. A missing assignment calls for an incomplete result. A disagreement about which criterion to use is an earlier modeling question.

Transport (along context equivalence):

If e:U≃Ve : U \simeq V is a witnessed context equivalence with transport certificate per A16:

transporte(σU) defines σV\text{transport}_e(\sigma_U) \text{ defines } \sigma_V

Transport is not automatic. It requires a certificate specifying what sense properties survive the move.

Explicit Fork (when restriction fails):

If σU(t,r)≠σV(t,r)\sigma_U(t, r) \neq \sigma_V(t, r) for some r∈Otr \in O_t, the system may:

  • Maintain both senses with scope annotations
  • Record a ForkWitness explaining the divergence
  • Require downstream queries to specify scope: term@<scope> (e.g., pomegranate@textile)

Result Types:

SenseGluingResult =
    GlobalSense(term, assignment, scope, witness)
  | SenseObstruction(term, overlap, sense_U, sense_V, resolution_options)
  | SenseFork(term, scoped_senses, fork_witness)
  | SenseArbitration(term, chosen_sense, authority, arbitration_witness)
  | Inconclusive(term, unchecked_obligations, reason)

Sense predicate (derived from assignment):

psense(item)→Boolp_{\text{sense}}(\text{item}) \to \text{Bool}

A sense boundary becomes a predicate only when we choose a referent domain and an evaluation test (A24): items, documents, spans, or entities. The assignment σU(t,r)\sigma_U(t, r) is lexical; the predicate psensep_{\text{sense}} is operational.

For a fixed domain of identified uses X and fixed codomain of labels L, take F(U)F(U) to be all functions U→LU\to L, with restriction to subsets. Compatible functions on a cover glue uniquely: define the value at a use from any covering function containing it; overlap agreement makes the choice independent, and coverage gives uniqueness. This is the ordinary sheaf of functions, not a new disambiguation theorem.

The hypothesis does real work. Classifiers have to supply the intended labels under an aligned criterion, and a restricted class of “admissible” assignments need not itself satisfy the sheaf condition. Gluing a function also does not make it constant: a global assignment can give fruit to one occurrence and motif to another. Nor does it prove an arbitrary derived predicate valid. A28 separates these formal and evidentiary tasks.

The Pomegranate Resolution

Return to the running example. The word pomegranate has three senses:

Sense IDTaxonomy PathDefinition
fruit[food, produce, fruit]The spherical, red-ariled fruit
color[color, red, deep_red]Deep red, between crimson and burgundy
motif[decorative, motif, botanical]Stylized pattern depicting the fruit

Three contexts assign senses. (We expose scopes as user-facing names for contexts: grocery = UgroceryU_{\text{grocery}}, etc.) For any referent rr in each domain:

  • U_grocery: Grocery catalog. σgrocery("pomegranate",r)=fruit\sigma_{\text{grocery}}(\text{"pomegranate"}, r) = \text{fruit} for rr in produce
  • U_paint: Paint catalog. σpaint("pomegranate",r)=color\sigma_{\text{paint}}(\text{"pomegranate"}, r) = \text{color} for rr in swatches
  • U_textile: Textile catalog. σtextile("pomegranate",r)=motif\sigma_{\text{textile}}(\text{"pomegranate"}, r) = \text{motif} for rr in textiles

Case A: Disjoint Scopes

If the catalogs have no overlapping products:

overlap(U_grocery, U_paint) = ∅
overlap(U_grocery, U_textile) = ∅
overlap(U_paint, U_textile) = ∅

These functions can glue over the disjoint union, retaining different labels on the different domains. No choice of one universal sense is required. A query for "pomegranate" in the grocery context returns fruit; in the textile context, returns items with the motif. No conflict, no obstruction.

This is scoped coexistence: multiple senses of the same word, each valid in its domain.

Case B: Overlapping Scopes

A product appears in both U_grocery and U_textile:

"Pomegranate silk scarf with fruit pattern"

The scarf is sold in the gourmet food section as a gift item (U_grocery) and cataloged as a textile product (U_textile).

overlap(U_grocery, U_textile) = {SKU_12345}

σ_grocery("pomegranate", SKU_12345) = fruit
σ_textile("pomegranate", SKU_12345) = motif

The fields differ, but the food department may be recording the subject depicted while the textile department records the kind of decoration. If so, they answer different questions. If both instead purport to classify the same occurrence under the same one-sense criterion, their unequal labels fail that exact comparison.

Example(Sense Obstruction)
SenseObstruction = {
  term: "pomegranate",
  failing_overlap: [SKU_12345],
  sense_U: fruit (U_grocery),
  sense_V: motif (U_textile),
  reason: "non-gluable without refinement",
  resolution_options: [reconcile, fork, arbitrate]
}

The obstruction is not a logical contradiction. The scarf can be a motif depicting the fruit. The record must first establish which assignment the contexts intended. A forced one-sense criterion can create a conflict that a representation of depicted subject and decorative form would avoid.

Resolution Options

Option 1: Revise the representation. The description says “fruit pattern,” suggesting a motif depicting the fruit. A proposed combined label can record that relationship:

RevisedSenseProposal = {
  term: "pomegranate",
  sense: {
    id: "fruit_motif",
    taxonomy_path: [decorative, motif, botanical, pomegranate],
    definition: "motif depicting the pomegranate fruit",
    provenance: reconciliation_from_obstruction
  },
  scope: U_grocery ∪ U_textile,
  witness: ReconciliationWitness(evidence: "fruit pattern" phrase)
}

Option 2: Fork. Maintain both senses with explicit scope:

SenseFork = {
  term: "pomegranate",
  scoped_senses: [
    { sense: fruit, scope: U_grocery, query_syntax: "pomegranate@grocery" },
    { sense: motif, scope: U_textile, query_syntax: "pomegranate@textile" }
  ],
  fork_witness: ForkWitness(reason: "legitimate polysemy")
}

Downstream queries must specify scope. A search for pomegranate@textile retrieves items with the motif; pomegranate@grocery retrieves fruit-related items.

Option 3: Arbitrate. A governance authority picks one sense as canonical:

SenseArbitration = {
  term: "pomegranate",
  chosen_sense: motif,
  authority: textile_taxonomy_team,
  arbitration_witness: {
    reason: "Product is primarily a textile; food-section placement is merchandising",
    override_scope: U_grocery
  }
}

The combined label is a revision, not an exact gluing that retains the two unequal labels unchanged. The other options retain separate assignments or authorize a canonical choice. Each record must disclose which operation occurred and what it displaced.

Case C: Transport Along Equivalence

Two textile catalogs merge: U_textile_A and U_textile_B. Both assign senses to the pomegranate motif, but with different terms:

  • U_textile_A: pomegranate → motif
  • U_textile_B: granada (Spanish) → motif

An equivalence witness exists. This is lexical synonymy within textile_domain: two terms that refer to the same sense. This is not entity identity (A10); it is a term-level equivalence scoped to a domain.

Equivalence(e) = {
  terms: [pomegranate, granada],
  kind: lexical_synonym,  // not entity_identity
  scope: textile_domain,
  witness: CatalogUsageEvidence(assumption: both catalogs use these terms for the stipulated motif),
  certificate: { sense: yes, price: no }
}

Transport applies:

For any shared referent rr:

transporte(σtextile_A("pomegranate",r))=σtextile_B("granada",r)\text{transport}_e(\sigma_{\text{textile\_A}}(\text{"pomegranate"}, r)) = \sigma_{\text{textile\_B}}(\text{"granada"}, r)

In the merged context, "pomegranate" and "granada" refer to the same sense (the motif) with witnessed justification. The certificate specifies that sense transfers, but pricing information does not.

Morning Star and Evening Star

The canonical T2 example: "morning star" and "evening star" both refer to Venus. Same astronomical object, different modes of presentation. Identifying the referent does not make every use of the names interchangeable.

An embedding distance does not by itself establish the astronomical identity. A structured database can preserve both the shared referent and the distinct names with their evidence. The proposed record makes the scope of substitution explicit:

Equivalence(e) = {
  entities: [morning_star, evening_star],
  kind: identity,
  scope: astronomical_context,
  witness: OrbitalData(ephemeris, IAU_designation),
  certificate: {
    orbital_properties: yes,
    poetic_substitution: no
  }
}

The equivalence is:

  • Scoped: Valid in astronomical context
  • Kinded: Identity (same physical object)
  • Witnessed: Orbital data and official designation
  • Partially transportable: The certificate supports the declared orbital calculations and supplies no poetic-substitution warrant

"O morning star, how bright thou art!" is not the same poem as "O evening star, how bright thou art!" The certificate covers astronomical reference. It leaves the effect of changing the poem to another inquiry.

The example answers a particular substitution request while retaining the distinction that makes the two names interesting.

Sense as Predicate

A sense boundary is a nascent predicate. Drawing the boundary is the first step toward minting a certified predicate with A24 packaging.

Interlude I-A showed that the system needed a pomegranate_motif predicate but the schema did not have it. A6 said: sense boundaries exist. A28 says: sense boundaries can become predicates.

Sense Assignment to Predicate Package

From sense assignment (for any textile item rr):

σtextile("pomegranate",r)=motif\sigma_{\text{textile}}(\text{"pomegranate"}, r) = \text{motif}

Derive predicate:

ppomegranate_motif(item)=true iff item features the stylized pomegranate decorative patternp_{\text{pomegranate\_motif}}(\text{item}) = \text{true iff item features the stylized pomegranate decorative pattern}

Package per A24:

PredicatePackage(pomegranate_motif) = {
  signature: Item → Bool,
  intension: "Item features the stylized pomegranate decorative pattern",
  domain: textile_artifacts,  // disjoint from edible_items
  tests: {
    positive: [SKU_A, SKU_B, SKU_C],
    negative: [SKU_D, SKU_E]
  },
  invariants: {
    functional_assignment: "For any (term, referent, context), σ assigns exactly one sense",
    typed_domain: "pomegranate_motif ranges over textile_artifacts; pomegranate_fruit ranges over edible_items"
  },
  provenance: { derived_from: sense_boundary_textile_catalog },
  scope: textile_domain
}

The proposed package connects a lexical distinction to a testable use. It still needs an evaluator and the required evidence of its behavior. Identifying the sense supplies neither of those merely by giving the predicate a name.

Pricing Sense Resolution

Sense resolution has costs. The choice between reconcile, fork, and arbitrate is an engineering decision with budget implications:

ResolutionCost Profile
ReconcileInvestigation and mapping of the distinctions a shared use needs
ForkMaintenance of separate assignments and any later selection or comparison
ArbitrateAn authorized choice and the work of applying or challenging it
Global GlueConstruction and checking for the declared cover, with later rechecks as required

A21 can estimate work under a declared regime. Budget exhaustion does not authorize an institution to suppress a relevant sense or impose an unsupported canonical interpretation. A fork, revision or arbitration must also fit the receiving purpose and authority.

Consequence

A28 makes one part of disambiguation precise: compatible assignments to identified uses can be assembled under the stated function-sheaf hypotheses. The resulting function preserves those assignments. It does not decide whether the cataloger interpreted the motif correctly or whether a color comparison should govern a recommendation.

The pomegranate’s several senses can therefore remain available together. A later operation may need one, relate two, or preserve an unresolved description. The construction earns its place when it prevents that operation from silently replacing the assignment on which its result depends.

Chapter 27 turns from assembling assignments to admitting a new predicate. A proposed distinction can be useful before the required tests are finished. The next question is what its users may do during that interval.

Search the book

Use ↑ ↓ to move through results; Escape to close.

Search every published chapter, section and reference.

    In this chapter