jficr-modernbert-ja-310m-v4-seed42
Submitted system (seed 42 of 3). Trained on 1,697 instances including 600 style-matched synthetic examples generated to match the target task's input distribution (~59-character responses, balanced classes), which is what lifted mean single-seed agreement from 0.67 to 0.84. Ensemble the three seeds and decode under the stated 10-per-class prior to reproduce the submission.
Predicts the
degree of commitment a Japanese company's IR response expresses
toward a future action, decision, or policy stance, on the five-level JF-ICR
scale from the EBISU benchmark (
arXiv:2602.01479):
| Label | Meaning |
|---|
+2 | Strong Commitment — explicit, decided, unconditional |
+1 | Weak or Qualified Commitment — directional intent, hedged |
0 | Neutral or Hedged Intent — explanation without a forward stance |
-1 | Weak Refusal — time-bound or conditional rejection |
-2 | Strong Refusal — categorical, no room to reconsider |
This is commitment strength, not sentiment: a warm, detailed answer that commits
to nothing is 0.
Usage
1import torch
2from transformers import AutoModelForSequenceClassification, AutoTokenizer
3
4model_id = "paragdakle/jficr-modernbert-ja-310m-v4-seed42"
5tokenizer = AutoTokenizer.from_pretrained(model_id)
6model = AutoModelForSequenceClassification.from_pretrained(model_id).eval()
7
8text = "質問: 来期は増配を実施しますか。\n回答: 取締役会で1株当たり60円への増配を決議しました。"
9with torch.no_grad():
10 logits = model(**tokenizer(text, return_tensors="pt", truncation=True,
11 max_length=1024)).logits
12print(model.config.id2label[logits.argmax(-1).item()]) # -> "+2"
Input format matters — the model was trained on 質問: {question}\n回答: {response}.
Training data
1,697 instances: 253 public JF-ICR + 477 LLM-consensus (silver) instances harvested from real Japanese IR transcripts + 376 verified minimal pairs (265 refusal-side, 111 +2) + 600 style-matched synthetic instances (120 per class).
Silver labels come from a three-judge LLM ensemble (claude-opus-4-8,
gpt-5.5, gpt-5.6-sol) with tiered consensus (unanimous / majority /
ordinal-median) and a spread gate. Minimal pairs are real responses rewritten by
claude-opus-4-8 to change only the stance-bearing sentence-final clauses,
with the label shifted to match and confirmed by blind GPT judges
(gpt-5.5, gpt-5.6-sol) that never saw the intended label — deliberately a
different model family from the generator, so verification is independent.
Topic, entities, figures, and register are held fixed across a pair.
Results
- FinNLP 2026 public test slice (15 items, as an ensemble): accuracy 1.00
- our reading of all 50 test items (3-seed ensemble, balanced decoding): 45/50 = 0.90
- our reading of all 50 test items (this seed alone, argmax): 44/50
Limitations
- Silver and synthetic data dominate. Roughly two thirds of the training
pool is LLM-labeled or LLM-generated. Labels carry that noise; the paper's
best reported model reaches only ~0.61 accuracy on this task, so consensus
labels are wrong a meaningful fraction of the time.
- Evaluate against your own distribution. The two checkpoints rank in
opposite order on a naturally-skewed transcript split versus the short,
clean, balanced competition items. Neither split predicts the other.
- Small evaluation sets. Every number above rests on 50-51 items, with some
classes at supports of 1-6. Differences of a few points are noise.
- Narrow provenance. Source transcripts are Japanese mega-cap financials and
trading houses (2022-2026). Mid-caps, other sectors, and other market regimes
are unrepresented.
- Not suitable for automated investment decisions or regulatory interpretation
without human review.
Citation
The task and label scheme are from EBISU:
1@article{ebisu2026,
2 title={Ebisu: Benchmarking Large Language Models in Japanese Finance},
3 journal={arXiv preprint arXiv:2602.01479},
4 year={2026}
5}