MeSH Training Matrix: Building One 53-Column Candidate Row

One stable query-candidate row receives 53 features from shared training and inference producers.

RI.MV.006·Maintained reference·Revised 2026-08-06

The MeSH ranker uses one row for each query-candidate pair. The stable row key remains unchanged while feature producers append values. Training and inference call the same feature functions.

500 candidates per query
53 feature columns
7 construction operations

Row contract: Stable identity with additive feature columns

Construction path: Seven ordered operations

  1. Read record fields and expected labels.
  2. Tokenize with the deterministic query tokenizer.
  3. Retrieve 500 frequency candidates.
  4. Join vocabulary and hierarchy attributes.
  5. Run semantic and hierarchy encoders.
  6. Append named feature-stage outputs.
  7. Write features, relevance labels, and query groups.

Training and inference parity: Producers stay identical

ConcernTrainingInference
RecordHistorical labeled recordLive query record
CandidatesFrequency top 500Frequency top 500
FeaturesShared producersShared producers
OutputRow plus labelRow for scoring

Feature producers: Six sources supply every value

ProducerSupplies
Record loaderPubMed titles and abstracts; trial titles, summaries, conditions, interventions
Frequency index500 candidates, association scores, token counts, source support, original rank
MeSH catalogNames, synonyms, scope notes, identifiers, hierarchy paths
Corpus aggregatesDocument frequencies, prevalence, acronym maps, ambiguity
Batch encodersSource MiniLM, hard-negative MiniLM, SapBERT, hierarchy roots
Cross-encoderJoint scores for the strongest 50 candidates

Appended columns: Values 31 through 53

ColumnsValuesGeneration
31–35Preferred overlap, synonym overlap, keyword match, acronym count, character similarityPer candidate from stored vocabulary values
36–39Separate record-field overlapsPreserve caller-supplied fields
40–44Two source MiniLM scores, hard-negative score, two prevalence valuesBatch models plus stored aggregates
45–48Query hierarchy probabilities, mismatch, relative summariesOnce per query and candidate group
49–50Cross-encoder and SapBERT scoresTop 50 joint scoring plus stored vectors
51–53Name ambiguity, raw rank, reciprocal rankCatalog aggregate and retriever order

Leakage control: Fit every producer on training records only

  1. Preserve the stable record hash and 10,021 untouched test groups.
  2. Build dictionaries, aggregates, keyword statistics, and encoders from training records.
  3. Run producers on all splits without reading expected labels.
  4. Add binary relevance only after all 53 features exist.
  5. Train the ranking model, which learns to order candidates within each query group.