Chrizz67 commited on
Commit
8516d4b
Β·
verified Β·
1 Parent(s): 3a81580

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +73 -77
README.md CHANGED
@@ -1,4 +1,3 @@
1
- ```markdown
2
  # Decida-small: 10-Pillar Automated Debate Adjudication Engine
3
 
4
  [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
@@ -7,26 +6,30 @@
7
  [![Inference Latency](https://img.shields.io/badge/Latency-~4.2s%20(Local%20GPU)-orange.svg)]()
8
  [![Zero External Daemons](https://img.shields.io/badge/Stack-100%25%20PyTorch%20Local-purple.svg)]()
9
 
10
- **Decida-small** is an ultra-fast, 10-pillar automated debate adjudication engine tailored specifically for competitive Indonesian parliamentary and online debate tournaments. Powered by fine-tuned **IndoBERT**, **Sentence-Transformers**, and local **DeBERTa NLI Cross-Encoders**, it evaluates multi-turn Affirmative vs. Opposition cases across 10 analytical dimensions, outputting calibrated floating-point scores and constructive verbal feedback in ~4.2 secondsβ€”without external LLM calls or cloud dependencies.
 
 
 
 
11
 
12
  ---
13
 
14
- ## ⚑ Core Highlights
15
 
16
- - **Sub-5s Local Inference:** Evaluates two teams across 6 dense multi-paragraph speeches in ~4.22 seconds on consumer GPU hardware.
17
  - **Dedicated Indonesian NLP Stack:** Utilizes fine-tuned IndoBERT (`indobert-base-p1`) for fallacy classification and semantic evaluation tuned to formal Indonesian argumentation register.
18
  - **Zero-Daemon / Self-Contained:** 100% Python and PyTorch. Eliminates external Ollama/HTTP dependencies, connection resets, and malformed JSON parsing timeouts.
19
  - **Non-Judgmental Grounded Verbalizer:** Combinatorial slot-filling synthesis engine featuring 250+ modular stylistic variants that quotes real evidentiary claims from the winning team to deliver positive adjudication feedback.
20
 
21
  ---
22
 
23
- ## πŸ›οΈ 10 Evaluation Pillars & Scoring Topology
24
 
25
- Total final score is computed as a weighted sum ($100\%$ aggregate):
26
 
27
- $$\text{Final Score} = \sum_{i=1}^{10} (w_i \times P_i)$$
28
 
29
- | Pillar | Metric Dimension | Weight ($w_i$) | Underlying Method / Model |
30
  |:---:|---|:---:|---|
31
  | **P1** | **Kepadatan Semantik (Semantic Relevance)** | 10% | Dense cosine similarity vs. motion centroid via `all-MiniLM-L6-v2` |
32
  | **P2** | **Integritas Logika (Fallacy & Logic)** | 15% | Fine-tuned IndoBERT Sequence Classifier (`./model_indobert_fallacy`) |
@@ -41,32 +44,35 @@ $$\text{Final Score} = \sum_{i=1}^{10} (w_i \times P_i)$$
41
 
42
  ---
43
 
44
- ## πŸ“Š Benchmark Run Sample
45
 
46
  ```text
47
  Mosi: "Dewan ini akan mewajibkan transisi 100% armada transportasi umum ke kendaraan listrik murni (EV) dalam waktu lima tahun ke depan."
 
48
  Waktu Eksekusi: 4.22 detik
49
 
50
- Metrik Pilar | TIM PRO | TIM KONTRA
51
- -----------------------------------------------------------------
52
- P1: Kepadatan Semantik | 82.65 | 80.92
53
- P2: Integritas Logika | 75.00 | 25.00
54
- P3: Daya Respons/Bantahan | 66.67 | 78.33
55
- P4: Struktur A-R-E-L | 52.50 | 59.17
56
- P5: Pertarungan Dampak | 57.85 | 83.38
57
- P6: Alur Wacana / Dinamika | 91.56 | 93.20
58
- P7: Kepadatan Leksikal/Gaya | 56.75 | 78.59
59
- P8: Konsistensi Internal Tim | 89.00 | 83.12
60
- P9: Pertahanan & Komparasi | 49.14 | 53.90
61
- P10: Eksploitasi & Kepadatan | 81.93 | 84.72
62
- -----------------------------------------------------------------
63
- TOTAL SKOR AKHIR | 69.10 | 67.39
64
- =================================================================
 
65
  Pemenang: TIM AFIRMASI (PRO) (Margin: 1.71)
66
 
67
- -----------------------------------------------------------------
68
  ULASAN ANALITIS DEWAN JURI (DECIDA-SMALL FEEDBACK):
69
- -----------------------------------------------------------------
 
70
  Kemenangan dengan margin kompetitif 1.71 poin berhasil direngkuh oleh TIM AFIRMASI (PRO).
71
 
72
  Penguasaan materi mendasar terbukti lewat susunan argumen yang utuh seperti terlihat saat menegaskan bahwa "Berdasarkan laporan Kementerian Lingkungan Hidup, lebih dari 65% polusi partikulat PM2.5 bersumber...", membangun alur berpikir yang meyakinkan.
@@ -74,65 +80,67 @@ Penguasaan materi mendasar terbukti lewat susunan argumen yang utuh seperti terl
74
  Memasuki babak pembelaan dan penegasan posisi, alur penalaran tim mengalir secara organik (skor 89.00), di mana pembicara lanjutan bertindak sebagai akselerator kasus yang efektif.
75
 
76
  Keunggulan paling menentukan hadir pada ketelitian berpikir tim, membentengi setiap kesimpulan dengan premis pendukung yang sah. Keberhasilan tim dalam menjaga beban pembuktian secara konsisten menjadi alasan fundamental di balik hasil ini.
77
- =================================================================
78
 
 
79
  ```
80
 
81
  ---
82
 
83
- ## πŸ“ Repository Structure
84
 
85
  ```text
86
  decida-small/
 
87
  β”œβ”€β”€ pillar/
88
  β”‚ β”œβ”€β”€ __init__.py
89
- β”‚ β”œβ”€β”€ nli_client.py # Local PyTorch batch NLI Cross-Encoder wrapper
90
- β”‚ β”œβ”€β”€ verbalizer.py # Combinatorial grounded feedback generator (~0.001s)
91
- β”‚ β”œβ”€β”€ pillar1.py # P1: Semantic density & motion relevance
92
- β”‚ β”œβ”€β”€ pillar2.py # P2: Logical integrity (IndoBERT fallacy detection)
93
- β”‚ β”œβ”€β”€ pillar3.py # P3: Rebuttal validity & direct clash
94
- β”‚ β”œβ”€β”€ pillar4.py # P4: A-R-E-L structure analysis
95
- β”‚ β”œβ”€β”€ pillar5.py # P5: Impact weighing & clash balance
96
- β”‚ β”œβ”€β”€ pillar6.py # P6: Discourse trajectory & flow
97
- β”‚ β”œβ”€β”€ pillar7.py # P7: Lexical density, register, & diversity
98
- β”‚ β”œβ”€β”€ pillar8.py # P8: Multi-turn internal team consistency
99
- β”‚ β”œβ”€β”€ pillar9.py # P9: Premise defense & comparative delta
100
- β”‚ └── pillar10.py # P10: Strategic premise exploitation & density
101
- β”œβ”€β”€ model_indobert_fallacy/ # Fine-tuned weights (or pull via Hugging Face Hub)
102
- β”œβ”€β”€ model_minilm/ # Local sentence-transformer cache
 
 
103
  β”œβ”€β”€ .gitignoxre
104
  β”œβ”€β”€ LICENSE
105
  β”œβ”€β”€ README.md
106
  β”œβ”€β”€ requirements.txt
107
- └── run_judger.py # CLI driver script with batch execution benchmark
108
-
109
  ```
110
 
111
  ---
112
 
113
- ## πŸš€ Installation & Setup
114
 
115
  ### 1. Prerequisites
116
 
117
- * Python 3.10 or higher
118
- * NVIDIA CUDA-compatible GPU (recommended for sub-5s performance) or modern multi-core CPU
119
 
120
  ### 2. Clone and Environment Setup
121
 
122
  ```bash
123
- git clone [https://github.com/USERNAME/decida-small.git](https://github.com/USERNAME/decida-small.git)
124
  cd decida-small
125
 
126
  python -m venv venv
127
 
128
- # Windows (PowerShell):
129
  .\venv\Scripts\Activate.ps1
130
- # Linux / macOS:
 
131
  source venv/bin/activate
132
 
133
  pip install --upgrade pip
134
  pip install -r requirements.txt
135
-
136
  ```
137
 
138
  ### 3. Weights Configuration
@@ -141,59 +149,47 @@ Ensure the fine-tuned IndoBERT directory (`./model_indobert_fallacy`) and Senten
141
 
142
  ```python
143
  # pillar/pillar2.py
144
- MODEL_PATH = "USERNAME_HF/decida-indobert-fallacy"
145
 
 
146
  ```
147
 
148
  ---
149
 
150
- ## πŸ’» Usage
151
 
152
  Run the standard evaluation interface:
153
 
154
  ```bash
155
  python run_judger.py
156
-
157
  ```
158
 
159
- * **Mode 1 (Template):** Automatically loads the built-in EV fleet transition motion along with 3 Affirmative and 3 Opposition speeches for immediate profiling.
160
- * **Mode 2 (Live):** Prompts for interactive speech-by-speech input with live multi-line terminal entry (`--end` to conclude debate turns).
161
 
162
  ---
163
 
164
- ## πŸ—£οΈ Verbalizer Architecture
165
 
166
  Unlike LLM prompt generators that can hallucinate or produce demoralizing critiques, `pillar/verbalizer.py`:
167
 
168
  1. Computes the maximum comparative margin across all 10 pillars.
169
  2. Extracts verbatim evidentiary phrases directly from the winning team's text.
170
  3. Assembles a 4-paragraph formal critique using a slot-filling combination engine with over 250 verified positive rhetorical options.
171
- 4. Completes execution in **<0.002 seconds**.
172
 
173
  ---
174
 
175
- ## πŸ“œ Citation & License
176
 
177
- This project is open-sourced under the [MIT License](https://www.google.com/search?q=LICENSE).
178
 
179
  ```bibtex
180
  @software{decida_small_2026,
181
- author = {Decida AI Team},
182
- title = {Decida-small: 10-Pillar Automated Debate Adjudication Engine for Indonesian Debate},
183
- year = {2026},
184
- publisher = {GitHub},
185
- journal = {GitHub repository},
186
- howpublished = {\url{[https://github.com/USERNAME/decida-small](https://github.com/USERNAME/decida-small)}}
187
  }
188
-
189
- ```
190
-
191
- ```
192
-
193
- <ElicitationsGroup message="Pilihan langkah berikutnya untuk melengkapi repositori:">
194
- <Elicitation label="Buat template file LICENSE (MIT)" query="Buatkan teks lengkap file LICENSE berlisensi MIT untuk proyek Decida-small tahun 2026."/>
195
- <Elicitation label="Buatkan file upload_model.py otomatis ke Hugging Face Hub" query="Buatkan skrip lengkap upload_model.py untuk push folder model_indobert_fallacy ke Hugging Face Hub dengan validasi token otomatis."/>
196
- <Elicitation label="Buatkan unit test PyTest (test_engine.py)" query="Buatkan berkas tests/test_engine.py untuk memverifikasi eksekusi 10 pilar dan verbalizer sebelum di-push ke GitHub."/>
197
- </ElicitationsGroup>
198
-
199
  ```
 
 
1
  # Decida-small: 10-Pillar Automated Debate Adjudication Engine
2
 
3
  [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
 
6
  [![Inference Latency](https://img.shields.io/badge/Latency-~4.2s%20(Local%20GPU)-orange.svg)]()
7
  [![Zero External Daemons](https://img.shields.io/badge/Stack-100%25%20PyTorch%20Local-purple.svg)]()
8
 
9
+ **Decida-small** is an ultra-fast, 10-pillar automated debate adjudication engine tailored specifically for competitive Indonesian parliamentary and online debate tournaments.
10
+
11
+ Powered by fine-tuned **IndoBERT**, **Sentence-Transformers**, and local **DeBERTa NLI Cross-Encoders**, it evaluates multi-turn Affirmative vs. Opposition cases across 10 analytical dimensions, producing calibrated floating-point scores and constructive verbal feedback in approximately 4.2 seconds, without external LLM calls or cloud dependencies.
12
+
13
+ **Author: Christopher Alberto Hamonangan**
14
 
15
  ---
16
 
17
+ ## Core Highlights
18
 
19
+ - **Sub-5s Local Inference:** Evaluates two teams across 6 dense multi-paragraph speeches in approximately 4.22 seconds on consumer GPU hardware.
20
  - **Dedicated Indonesian NLP Stack:** Utilizes fine-tuned IndoBERT (`indobert-base-p1`) for fallacy classification and semantic evaluation tuned to formal Indonesian argumentation register.
21
  - **Zero-Daemon / Self-Contained:** 100% Python and PyTorch. Eliminates external Ollama/HTTP dependencies, connection resets, and malformed JSON parsing timeouts.
22
  - **Non-Judgmental Grounded Verbalizer:** Combinatorial slot-filling synthesis engine featuring 250+ modular stylistic variants that quotes real evidentiary claims from the winning team to deliver positive adjudication feedback.
23
 
24
  ---
25
 
26
+ ## 10 Evaluation Pillars & Scoring Topology
27
 
28
+ The total final score is computed as a weighted sum with a 100% aggregate weight:
29
 
30
+ Final Score = Ξ£ (w_i Γ— P_i), for i = 1 to 10
31
 
32
+ | Pillar | Metric Dimension | Weight (\(w_i\)) | Underlying Method / Model |
33
  |:---:|---|:---:|---|
34
  | **P1** | **Kepadatan Semantik (Semantic Relevance)** | 10% | Dense cosine similarity vs. motion centroid via `all-MiniLM-L6-v2` |
35
  | **P2** | **Integritas Logika (Fallacy & Logic)** | 15% | Fine-tuned IndoBERT Sequence Classifier (`./model_indobert_fallacy`) |
 
44
 
45
  ---
46
 
47
+ ## Benchmark Run Sample
48
 
49
  ```text
50
  Mosi: "Dewan ini akan mewajibkan transisi 100% armada transportasi umum ke kendaraan listrik murni (EV) dalam waktu lima tahun ke depan."
51
+
52
  Waktu Eksekusi: 4.22 detik
53
 
54
+ Metrik Pilar | TIM PRO | TIM KONTRA
55
+ ----------------------------------------------------
56
+ P1: Kepadatan Semantik | 82.65 | 80.92
57
+ P2: Integritas Logika | 75.00 | 25.00
58
+ P3: Daya Respons/Bantahan | 66.67 | 78.33
59
+ P4: Struktur A-R-E-L | 52.50 | 59.17
60
+ P5: Pertarungan Dampak | 57.85 | 83.38
61
+ P6: Alur Wacana / Dinamika | 91.56 | 93.20
62
+ P7: Kepadatan Leksikal/Gaya | 56.75 | 78.59
63
+ P8: Konsistensi Internal Tim | 89.00 | 83.12
64
+ P9: Pertahanan & Komparasi | 49.14 | 53.90
65
+ P10: Eksploitasi & Kepadatan | 81.93 | 84.72
66
+ ----------------------------------------------------
67
+ TOTAL SKOR AKHIR | 69.10 | 67.39
68
+ ====================================================
69
+
70
  Pemenang: TIM AFIRMASI (PRO) (Margin: 1.71)
71
 
72
+ ----------------------------------------------------
73
  ULASAN ANALITIS DEWAN JURI (DECIDA-SMALL FEEDBACK):
74
+ ----------------------------------------------------
75
+
76
  Kemenangan dengan margin kompetitif 1.71 poin berhasil direngkuh oleh TIM AFIRMASI (PRO).
77
 
78
  Penguasaan materi mendasar terbukti lewat susunan argumen yang utuh seperti terlihat saat menegaskan bahwa "Berdasarkan laporan Kementerian Lingkungan Hidup, lebih dari 65% polusi partikulat PM2.5 bersumber...", membangun alur berpikir yang meyakinkan.
 
80
  Memasuki babak pembelaan dan penegasan posisi, alur penalaran tim mengalir secara organik (skor 89.00), di mana pembicara lanjutan bertindak sebagai akselerator kasus yang efektif.
81
 
82
  Keunggulan paling menentukan hadir pada ketelitian berpikir tim, membentengi setiap kesimpulan dengan premis pendukung yang sah. Keberhasilan tim dalam menjaga beban pembuktian secara konsisten menjadi alasan fundamental di balik hasil ini.
 
83
 
84
+ ====================================================
85
  ```
86
 
87
  ---
88
 
89
+ ## Repository Structure
90
 
91
  ```text
92
  decida-small/
93
+ β”‚
94
  β”œβ”€β”€ pillar/
95
  β”‚ β”œβ”€β”€ __init__.py
96
+ β”‚ β”œβ”€β”€ nli_client.py # Local PyTorch batch NLI Cross-Encoder wrapper
97
+ β”‚ β”œβ”€β”€ verbalizer.py # Combinatorial grounded feedback generator (~0.001s)
98
+ β”‚ β”œβ”€β”€ pillar1.py # P1: Semantic density & motion relevance
99
+ β”‚ β”œβ”€β”€ pillar2.py # P2: Logical integrity (IndoBERT fallacy detection)
100
+ β”‚ β”œβ”€β”€ pillar3.py # P3: Rebuttal validity & direct clash
101
+ β”‚ β”œβ”€β”€ pillar4.py # P4: A-R-E-L structure analysis
102
+ β”‚ β”œβ”€β”€ pillar5.py # P5: Impact weighing & clash balance
103
+ β”‚ β”œβ”€β”€ pillar6.py # P6: Discourse trajectory & flow
104
+ β”‚ β”œβ”€β”€ pillar7.py # P7: Lexical density, register, & diversity
105
+ β”‚ β”œβ”€β”€ pillar8.py # P8: Multi-turn internal team consistency
106
+ β”‚ β”œβ”€β”€ pillar9.py # P9: Premise defense & comparative delta
107
+ β”‚ └── pillar10.py # P10: Strategic premise exploitation & density
108
+ β”‚
109
+ β”œβ”€β”€ model_indobert_fallacy/ # Fine-tuned weights (or pull via Hugging Face Hub)
110
+ β”œβ”€β”€ model_minilm/ # Local sentence-transformer cache
111
+ β”‚
112
  β”œβ”€β”€ .gitignoxre
113
  β”œβ”€β”€ LICENSE
114
  β”œβ”€β”€ README.md
115
  β”œβ”€β”€ requirements.txt
116
+ └── run_judger.py # CLI driver script with batch execution benchmark
 
117
  ```
118
 
119
  ---
120
 
121
+ ## Installation & Setup
122
 
123
  ### 1. Prerequisites
124
 
125
+ - Python 3.10 or higher
126
+ - NVIDIA CUDA-compatible GPU (recommended for sub-5s performance) or modern multi-core CPU
127
 
128
  ### 2. Clone and Environment Setup
129
 
130
  ```bash
131
+ git clone https://github.com/USERNAME/decida-small.git
132
  cd decida-small
133
 
134
  python -m venv venv
135
 
136
+ # Windows (PowerShell)
137
  .\venv\Scripts\Activate.ps1
138
+
139
+ # Linux / macOS
140
  source venv/bin/activate
141
 
142
  pip install --upgrade pip
143
  pip install -r requirements.txt
 
144
  ```
145
 
146
  ### 3. Weights Configuration
 
149
 
150
  ```python
151
  # pillar/pillar2.py
 
152
 
153
+ MODEL_PATH = "USERNAME_HF/decida-indobert-fallacy"
154
  ```
155
 
156
  ---
157
 
158
+ ## Usage
159
 
160
  Run the standard evaluation interface:
161
 
162
  ```bash
163
  python run_judger.py
 
164
  ```
165
 
166
+ - **Mode 1 (Template):** Automatically loads the built-in EV fleet transition motion along with 3 Affirmative and 3 Opposition speeches for immediate profiling.
167
+ - **Mode 2 (Live):** Prompts for interactive speech-by-speech input with live multi-line terminal entry (`--end` to conclude debate turns).
168
 
169
  ---
170
 
171
+ ## Verbalizer Architecture
172
 
173
  Unlike LLM prompt generators that can hallucinate or produce demoralizing critiques, `pillar/verbalizer.py`:
174
 
175
  1. Computes the maximum comparative margin across all 10 pillars.
176
  2. Extracts verbatim evidentiary phrases directly from the winning team's text.
177
  3. Assembles a 4-paragraph formal critique using a slot-filling combination engine with over 250 verified positive rhetorical options.
178
+ 4. Completes execution in **less than 0.002 seconds**.
179
 
180
  ---
181
 
182
+ ## Citation & License
183
 
184
+ This project is open-sourced under the [MIT License](LICENSE).
185
 
186
  ```bibtex
187
  @software{decida_small_2026,
188
+ author = {Christopher Alberto Hamonangan},
189
+ title = {Decida-small: 10-Pillar Automated Debate Adjudication Engine for Indonesian Debate},
190
+ year = {2026},
191
+ publisher = {Huggingface},
192
+ journal = {Huggingface Organization},
193
+ howpublished = {\url{https://huggingface.co/BhinnekaAI/Decida-small}
194
  }
 
 
 
 
 
 
 
 
 
 
 
195
  ```