Nested micro-F1 (%): E-span = emotion span matched (IoU ≥ 0.5); +E also the
emotion; +CS also the cause span; +C also the cause category.
Neut. = accuracy on the emits-no-pairs decision.
Table with columns: E-span, +E, +CS, +C, Neut. | E-span | +E | +CS | +C | Neut. |
|---|
| r/economics (in domain) | 60.6 | 53.4 | 31.4 | 23.9 | 89.0 |
| r/investing (zero-shot, 200 comments) | 62.4 | 54.8 | 34.9 | 23.7 | 85.5 |
It is statistically indistinguishable from the multi-LLM consensus it was
distilled from (61.8 E-span), at about 5permillioncommentsononeRTX5090(≈22comments/s)againstabout1,700 for the consensus.
How to use
The adapter was trained on one prompt contract: the frozen specification as the
system prompt, and the comment plus its context as the user turn, with no
few-shot examples and greedy decoding. Use the release code, which reproduces
that contract and validates the output:
# 1. merge the adapter into the base model (Unsloth; ~18 GB of fp16 weights)python -m pipeline.merge_adapter --adapter EconECPE/econecpe-qwen3.5-9b-lora --out merged/ # or a local download of this repo# 2. label comments with vLLM: same prompt as training, JSON validated + one repair turn# (reads comments + context from the corpus index built by pipeline.context)python -m pipeline.label_corpus --model merged/ --limit 2000
⚠ Merge first. vLLM's runtime-LoRA path cannot parse this adapter's
regex-string target_modules and silently serves the un-adapted base model.
Training details: LoRA rank 16, α 16, no dropout, on all attention and MLP
projections of the text model; bf16 (not QLoRA); AdamW-8bit, cosine schedule, peak
LR 1e-4, effective batch 16; checkpoint 1300 of the recall run, whose targets are
every silver pair with support ≥ 1. Split: 18,187 train / 1,500 dev silver
comments; the 300 gold comments were never trained on.
Limitations
- The training labels are model-generated (multi-LLM consensus over
DeepSeek-V4-Flash, MiMo-V2.5 and MiniMax-M3, with a DeepSeek-V4-Pro judge). It
inherits their shared errors and their framing of politically charged topics.
- Cause localization is the weak point: requiring the cause span to match
costs ~22 F1 points (+E → +CS).
- Domain: r/economics, 2018–2026, English. The emotion marginal is dominated
by anger/disgust (68.9% of pairs), so the minority emotions rest on few
training examples.
- The sarcasm flag is auxiliary metadata, not an evaluated field.
- Not investment advice, and not suitable for judging individual users.
License
The adapter follows its base model's license (Apache 2.0). The annotations it was
trained on are released under CC BY-NC 4.0.
Citation
@inproceedings{adobati2026econecpe, title = {{EconECPE}: A Span-Level Emotion-Cause Dataset for Financial Social Media}, author = {Adobati, Simone and Bruno, Federico Lorenzo and Cambria, Erik}, booktitle = {2026 IEEE International Conference on Data Mining Workshops (ICDMW)}, note = {SENTIRE 2026 workshop}, year = {2026}}