--- language: en license: mit library_name: transformers base_model: microsoft/deberta-v3-large pipeline_tag: text-classification inference: false tags: - deberta-v3 - schema-conditioned - candidate-scoring - zero-shot-classification - structured-output --- # Schema-conditioned candidate scorer (DeBERTa-v3-large) One DeBERTa-v3-large encoder with a **single scalar head** scores `(state, question + candidate)` pairs. Deterministic code groups the scalar logits per question and decodes them into three answer primitives: | primitive | input schema | answer | |---|---|---| | `choice` | `criteria: {option_id: description}` | argmax option id + probabilities | | `noul` | optional `criteria: {"true": ..., "false": ...}` | p(proposition is true) | | `score` | `criteria: [level 0 description, level 1, ...]` | expected level index + per-level probabilities | The question text, criteria and option ids are **read at inference time**, never baked into the weights, so the same checkpoint answers new questions over new label sets without retraining. Try it in the Space: **[mobarmg/jev-schema-scorer](https://huggingface.co/spaces/mobarmg/jev-schema-scorer)**. ## How it works For every candidate of a question the model sees a sentence pair: ``` sequence_a = the state (free text, or a JSON object serialised) sequence_b = {"candidate": {"id": "