|
Download README.md from vanishingMonk/Contrastive_Explainer: direct link, hf CLI and curl.
- Browser
- Download file 5.37 kB
-
https://huggingface.co/vanishingMonk/Contrastive_Explainer/resolve/main/README.md
- Command line
-
hf download hf://vanishingMonk/Contrastive_Explainer/README.md
-
curl -L -o README.md https://huggingface.co/vanishingMonk/Contrastive_Explainer/resolve/main/README.md
5.37 kB
| # ReCon: Contrastive Explanation Model for OWL Reasoning (LoRA) | |
| ## Model Details | |
| ### Model Description | |
| ReCon is a LoRA fine-tuned language model based on **meta-llama/Llama-3.1-8B-Instruct**, designed to generate **contrastive natural language explanations** for OWL reasoning tasks. | |
| The model translates structured outputs from a Description Logic (DL) reasoner into human-readable explanations that answer: | |
| > *“Why does fact A satisfy a class expression while foil B does not?”* | |
| Unlike standard explanations, ReCon focuses on **contrastive reasoning**, highlighting: | |
| * **Common evidence** (shared properties) | |
| * **Differences** (missing or distinguishing properties) | |
| * **Conflicts** (inconsistencies) | |
| This work is part of a system combining: | |
| * Symbolic reasoning (OWL reasoner) | |
| * Natural language explanation (LLM) | |
| * Graph-based visualization | |
| --- | |
| ### Key Contributions | |
| * Converts **formal OWL reasoning outputs (JSON)** into natural language | |
| * Reduces hallucination via **strict evidence-grounded prompting** | |
| * Supports **contrastive explanations (fact vs foil)** | |
| * Integrated into: | |
| * Flask-based UI | |
| --- | |
| ### Model Information | |
| * **Developed by:** Akash, Ashik and Sam (DICE Group, Paderborn University) | |
| * **Model type:** Causal Language Model (LoRA adapted) | |
| * **Base model:** meta-llama/Llama-3.1-8B-Instruct | |
| * **Language(s):** English (primary), German (supported) | |
| * **License:** Same as base model (Llama 3.1 license) | |
| --- | |
| ## Intended Use | |
| ### Direct Use | |
| * OWL reasoning explanation generation | |
| * Contrastive reasoning (fact vs foil) | |
| * Explainable AI (XAI) workflows | |
| * Knowledge graph interpretation | |
| ### Downstream Use | |
| * Integration with reasoning pipelines | |
| * Explainability layer for symbolic + neural systems | |
| * Educational tools for ontology reasoning | |
| ### Out-of-Scope Use | |
| * General chatbot usage | |
| * Open-ended reasoning without structured input | |
| * Tasks requiring external world knowledge | |
| --- | |
| ## How to Use | |
| ```python | |
| from transformers import AutoModelForCausalLM, AutoTokenizer | |
| from peft import PeftModel | |
| base_model = "meta-llama/Llama-3.1-8B-Instruct" | |
| tokenizer = AutoTokenizer.from_pretrained(base_model) | |
| base = AutoModelForCausalLM.from_pretrained(base_model) | |
| model = PeftModel.from_pretrained(base, "vanishingMonk/Contrastive_Explainer") | |
| ``` | |
| --- | |
| ## Training Details | |
| ### Training Objective | |
| The model is fine-tuned to generate **faithful, structured explanations grounded strictly in reasoning evidence**, rather than free-form generation. | |
| --- | |
| ### Training Data | |
| Training data was constructed from OWL reasoning tasks using datasets such as: | |
| * Family ontology | |
| * Carcinogenesis | |
| * Lymphography | |
| Each sample includes: | |
| * Class expression | |
| * Fact–foil pair | |
| * Structured reasoning output: | |
| * `common` | |
| * `different` | |
| * `conflicts` | |
| Both formats were used: | |
| * Instruction-based samples | |
| * Multi-turn chat-based samples | |
| --- | |
| ### Prompt Engineering | |
| A strict **three-layer prompt structure** was used: | |
| 1. **System Prompt** | |
| * Enforces evidence-only reasoning | |
| * Controls output format | |
| * Language constraints | |
| 2. **Role Prompt** | |
| * Defines model as: | |
| > "Formal logician + OWL reasoner debugger" | |
| 3. **Context Prompt** | |
| * Defines semantics of: | |
| * common / different / conflicts | |
| * Enforces exact reasoning patterns | |
| * Fixes verdict: | |
| * FACT = satisfies | |
| * FOIL = fails | |
| This significantly reduces hallucinations and improves logical consistency. | |
| --- | |
| ### Training Setup | |
| * **Method:** LoRA (PEFT) | |
| * **Rank (r):** 8 | |
| * **Alpha:** 16 | |
| * **Target modules:** | |
| * q_proj, v_proj, o_proj | |
| * gate_proj, up_proj, down_proj | |
| * **Precision:** bf16 | |
| * **Framework:** Torchtune | |
| --- | |
| ## Evaluation | |
| ### General Reasoning Benchmarks | |
| | Benchmark | Metric | Fine-tuned | Base | | |
| | -------------- | -------- | ---------- | ----- | | |
| | ARC-Challenge | Accuracy | 0.544 | 0.553 | | |
| | HellaSwag (EN) | Accuracy | 0.790 | 0.796 | | |
| | HellaSwag (DE) | Accuracy | 0.615 | 0.615 | | |
| | TruthfulQA | Accuracy | 0.533 | 0.545 | | |
| → Minimal degradation in general reasoning performance | |
| --- | |
| ### Explanation Quality | |
| | Metric | Fine-tuned | Base | | |
| | --------- | ---------- | ------ | | |
| | ROUGE-1 | 0.4066 | 0.5845 | | |
| | ROUGE-2 | 0.1424 | 0.3443 | | |
| | ROUGE-L | 0.2981 | 0.4013 | | |
| | BERTScore | 0.8475 | 0.8705 | | |
| **Important:** | |
| Lower ROUGE/BERTScore reflects **stylistic differences**, not worse reasoning. | |
| Human evaluation shows **higher logical fidelity and stability**. | |
| --- | |
| ## System Integration | |
| ReCon is part of a full pipeline: | |
| 1. OWL reasoner generates contrastive explanation (JSON) | |
| 2. ReCon converts it into natural language | |
| 3. Graphviz generates a visual explanation | |
| 4. UI presents: | |
| * Explanation | |
| * Graph | |
| * Chat interface | |
| Also integrated into: | |
| * Flask web interface | |
| * Protégé plugin | |
| --- | |
| ## Limitations | |
| * Requires structured reasoning input | |
| * Cannot perform standalone logical inference | |
| * Sensitive to prompt format | |
| * May hallucinate if constraints are relaxed | |
| --- | |
| ## Future Work | |
| * Scaling to larger ontologies | |
| * Support for more DL constructs | |
| --- | |
| ## Citation | |
| This model is part of an academic project at Paderborn University. | |
| If you use this model, please reference this repository. | |
| --- | |
| ## Contact | |
| For questions, collaborations, or research discussions, feel free to reach out to Akash. Email: akbaum@mail.uni-paderborn.de | |