Downloads · 30 days
7
24% of all-time downloads
EconECPE/econecpe-qwen3.5-9b-lora
econecpe-qwen3.5-9b-lora is a text generation model from EconECPE. Use it when you need the model to write or continue text. It is set up for peft. The card lists the license as apache-2.0.
The distilled emotion-cause pair extractor from "EconECPE: A Span-Level Emotion-Cause Dataset for Financial Social Media" (Simone Adobati, Federico Lorenzo Bruno, Erik Cambria; IEEE ICDM 2026 Workshops, SENTIRE). This…
Downloads · 30 days
7
24% of all-time downloads
All-time downloads
29
Public
Repo size
136 MB
Likes
0
Public
Click a slice to open those files.
.safetensors116 MB · 85%
From the Hugging Face model README
The distilled emotion-cause pair extractor from "EconECPE: A Span-Level Emotion-Cause Dataset for Financial Social Media" (Simone Adobati, Federico Lorenzo Bruno, Erik Cambria; IEEE ICDM 2026 Workshops, SENTIRE). This is the labeler of record: it produced the full-corpus labels behind the paper's market study.
Given a Reddit comment and its thread context (post title, parent comment), it returns JSON with every emotion-cause pair the author expresses: a typed emotion (7 classes + neutral), verbatim emotion and cause spans, one of 16 economic cause categories, a target asset, intensity and a sarcasm flag.
Data, code and specification: doi.org/10.5281/zenodo.22913761 · code on GitHub: EconECPE/EconECPE
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.
| 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 $5 per million comments on one RTX 5090 (≈22 comments/s) against about $1,700 for the consensus.
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.
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.
@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}
}