File size: 17,382 Bytes
4abf400
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
---
license: mit
language:
- en
- tr
tags:
- argumentation-analysis
- fallacy-detection
- rhetoric-analysis
- nlp
- spacy
- bert
- argument-structure
- logical-reasoning
- discourse-analysis
- text-analysis
- python
datasets:
- text
---

# ETHOS - The AI Arbiter of Rational Discourse

![ETHOS Logo](https://img.shields.io/badge/ETHOS-v2.2-blue?style=for-the-badge)
![Status](https://img.shields.io/badge/Status-Production-success?style=for-the-badge)
![License](https://img.shields.io/badge/License-MIT-green?style=for-the-badge)

## 🔍 Model Description

**ETHOS (Evaluative Text Heuristic for Objective Scrutiny)** is a pioneering argument analysis system that evaluates the logical structure, validity, and rhetorical quality of text. Designed to serve as an AI arbiter of rational discourse, ETHOS provides comprehensive analysis of argumentation quality through sophisticated NLP techniques.

Using a combination of rule-based analysis and neural language models (BERT), ETHOS dissects texts to identify claims, premises, logical fallacies, and rhetorical devices—creating a complete picture of argument structure and quality. The system then visualizes these relationships and provides detailed assessments of logical soundness and rhetorical clarity.

### 🌟 Key Features

- **🧩 Advanced Argument Structure Analysis**: Extracts claims and premises from text with high accuracy using dependency parsing and linguistic markers
  
- **🔗 Semantic Argument Linking**: Uses BERT embeddings to establish relationships between premises and claims based on semantic similarity
  
- **⚠️ Sophisticated Fallacy Detection**: Identifies common logical fallacies (Ad Populum, Hasty Generalization, False Dichotomy) through both rule-based and ML-based approaches
  
- **🎭 Rhetoric Device Recognition**: Detects rhetorical questions, strong sentiment expressions, and superlatives that may influence argument perception
  
- **📊 Logical Soundness Scoring**: Evaluates the overall logical quality of arguments with nuanced ratings
  
- **📈 Comprehensive Visualization**: Generates clear argument graphs showing support relationships between premises and claims
  
- **💬 Natural Language Explanations**: Provides human-readable analysis of logical structure and potential issues

## 🚀 Why ETHOS is Revolutionary

ETHOS represents a significant advancement in automated argument analysis:

1. **Deeper than Syntax**: Goes beyond simple keyword matching by using semantic understanding to link arguments
   
2. **Multi-dimensional Analysis**: Examines both structural (argumentation form) and rhetorical (persuasive techniques) aspects simultaneously
   
3. **Visual Representation**: Transforms complex argumentative structures into intuitive graphs
   
4. **Balanced Assessment**: Provides nuanced evaluation rather than binary judgments about argument quality
   
5. **Transparency**: Clearly highlights the evidence for each assessment, allowing users to understand the system's reasoning

## 💡 Intended Uses

ETHOS is designed for applications requiring sophisticated argument analysis:

- **📝 Academic Research**: Analyze argument structures in papers, essays, and scholarly works
  
- **🎓 Educational Assessment**: Evaluate student essays and argumentation skills
  
- **📰 Media Analysis**: Assess the logical quality of news articles, editorials, and opinion pieces
  
- **💼 Professional Writing**: Improve the logical coherence and persuasiveness of business communications
  
- **🗣️ Debate Preparation**: Analyze strengths and weaknesses in argumentative positions
  
- **📊 Policy Evaluation**: Examine the logical structure of policy proposals and position papers

## 🛠️ System Architecture

ETHOS consists of several modular components that work together seamlessly:

1. **argument_analyzer**: Extracts argument components (claims and premises) using dependency parsing and linguistic indicators
   
2. **logic_analyzer**: Identifies logical fallacies through rule-based patterns and machine learning
   
3. **rhetoric_analyzer**: Detects rhetorical devices using sentiment analysis and linguistic patterns
   
4. **argument_visualizer**: Creates graph-based visualizations of argument structure using semantic similarity
   
5. **synthesis_engine**: Combines all analyses to produce overall evaluations of argument quality
   
6. **nlp_utils**: Provides NLP infrastructure including spaCy and BERT embedding functionality

## 📊 Performance Highlights

ETHOS demonstrates strong capabilities in:

- **Argument Component Identification**: Accurately extracts claims and premises with confidence scores
- **Semantic Relationship Detection**: Successfully links related premises and claims based on meaning
- **Fallacy Recognition**: Identifies common fallacies with explanatory context
- **Rhetorical Pattern Detection**: Effectively flags potential rhetorical techniques
- **Intuitive Visualization**: Generates clear argument graphs showing support relationships

## 📦 Installation and Usage

```bash
# Install required packages
pip install spacy transformers torch networkx typer rich vaderSentiment pydantic

# Download required model
python -m spacy download en_core_web_lg

# Clone the repository
git clone https://github.com/yourusername/ethos.git
cd ethos

# Run the CLI interface
python cli.py --text "Your text to analyze"
# Or analyze from file
python cli.py --file path/to/your/document.txt
```

## 💻 Example Usage

```python
import spacy
import nlp_utils
import argument_analyzer
import logic_analyzer
import rhetoric_analyzer
import argument_visualizer
import synthesis_engine

# Load models
nlp_utils.load_spacy_model()
nlp_utils.load_bert()

# Process text
text = "Climate change is definitely happening because global temperatures have risen significantly over the past century. Everyone knows this is a serious problem that requires immediate action."
doc = nlp_utils.process_text_spacy(text)

# Get sentence embeddings for semantic linking
sentence_embeddings = nlp_utils.get_all_sentence_embeddings(doc)

# Analyze arguments
argument_components = argument_analyzer.enhanced_component_analyzer(doc)

# Detect fallacies
fallacy_findings = logic_analyzer.enhanced_fallacy_analyzer(doc)

# Analyze rhetoric
rhetoric_findings = rhetoric_analyzer.simple_rhetoric_analyzer(doc)

# Combine findings
all_findings = fallacy_findings + rhetoric_findings

# Generate summary ratings
analysis_summary = synthesis_engine.generate_summary_ratings(argument_components, all_findings)

# Create argument graph
argument_graph = argument_visualizer.build_argument_graph(argument_components, sentence_embeddings)

# Print results
print("Argument Components:")
for comp in argument_components:
    print(f"{comp.component_type}: {comp.text} (Confidence: {comp.confidence:.2f})")

print("\nFindings:")
for finding in all_findings:
    print(f"{finding.finding_type}: {finding.description}")

print("\nSummary Ratings:")
for category, rating in analysis_summary.items():
    print(f"{category}: {rating}")
```

## 🔧 Customization Options

ETHOS can be customized in several ways:

- **Fallacy Detection Rules**: Extend or modify rules for identifying additional fallacy types
- **Linguistic Indicators**: Add new claim/premise indicators for different domains or languages
- **Similarity Threshold**: Adjust the semantic similarity threshold for argument linking
- **Visualization Format**: Customize the representation of argument structures

## 📈 Future Development

The ETHOS project is continuously evolving, with planned enhancements including:

- **Expanded Fallacy Detection**: Additional fallacy types and improved ML-based detection
- **Cross-Document Analysis**: Analyze arguments spanning multiple documents
- **Multi-language Support**: Extend capabilities to additional languages
- **Interactive Visualizations**: Enhanced visual representations with interactive elements
- **API Implementation**: RESTful API for seamless integration with other applications

## 📋 Citation

If you use ETHOS in your research, please cite:

```
@software{ethos_2025,
  author = {Abdullah Kocaman},
  title = {ETHOS: The AI Arbiter of Rational Discourse},
  year = {2025},
  url = {https://huggingface.co/NextGenC/ETHOS},
  version = {2.2},
  description = {A comprehensive system for argument analysis, fallacy detection, and rhetorical evaluation}
}
```

---

# ETHOS - Rasyonel Söylem için Yapay Zeka Hakemi

![ETHOS Logo](https://img.shields.io/badge/ETHOS-v2.2-blue?style=for-the-badge)
![Durum](https://img.shields.io/badge/Durum-Üretim-success?style=for-the-badge)
![Lisans](https://img.shields.io/badge/Lisans-MIT-green?style=for-the-badge)

## 🔍 Model Açıklaması

**ETHOS (Değerlendirici Metin Buluşsal Objektif İnceleme Sistemi)**, metinlerin mantıksal yapısını, geçerliliğini ve retorik kalitesini değerlendiren öncü bir argüman analiz sistemidir. Rasyonel söylemin yapay zeka hakemi olarak hizmet etmek üzere tasarlanan ETHOS, sofistike NLP teknikleri aracılığıyla kapsamlı argümantasyon kalitesi analizi sağlar.

Kural tabanlı analiz ve sinir dili modellerinin (BERT) bir kombinasyonunu kullanan ETHOS, iddiaları, gerekçeleri, mantık safsatalarını ve retorik araçları tanımlamak için metinleri detaylı bir şekilde inceler—böylece argüman yapısı ve kalitesinin tam bir resmini oluşturur. Sistem daha sonra bu ilişkileri görselleştirir ve mantıksal sağlamlık ve retorik netlik hakkında ayrıntılı değerlendirmeler sunar.

### 🌟 Temel Özellikler

- **🧩 Gelişmiş Argüman Yapısı Analizi**: Bağımlılık ayrıştırma ve dilbilimsel belirteçleri kullanarak metinden iddiaları ve gerekçeleri yüksek doğrulukla çıkarır
  
- **🔗 Anlamsal Argüman Bağlama**: Anlamsal benzerliğe dayalı olarak gerekçeler ve iddialar arasında ilişkiler kurmak için BERT gömüleri kullanır
  
- **⚠️ Sofistike Safsata Tespiti**: Hem kural tabanlı hem de ML tabanlı yaklaşımlarla yaygın mantık safsatalarını (Ad Populum, Aceleci Genelleme, Yanlış İkilem) tespit eder
  
- **🎭 Retorik Araç Tanıma**: Argüman algısını etkileyebilecek retorik soruları, güçlü duygu ifadelerini ve üstünlük belirteçlerini tespit eder
  
- **📊 Mantıksal Sağlamlık Puanlaması**: Argümanların genel mantıksal kalitesini nüanslı derecelendirmelerle değerlendirir
  
- **📈 Kapsamlı Görselleştirme**: Gerekçeler ve iddialar arasındaki destek ilişkilerini gösteren net argüman grafikleri oluşturur
  
- **💬 Doğal Dil Açıklamaları**: Mantıksal yapı ve potansiyel sorunlar hakkında insan tarafından okunabilir analizler sunar

## 🚀 ETHOS Neden Devrim Niteliğinde

ETHOS, otomatik argüman analizinde önemli bir ilerlemeyi temsil eder:

1. **Sözdiziminden Daha Derin**: Argümanları bağlamak için anlamsal anlayış kullanarak basit anahtar kelime eşleştirmesinin ötesine geçer
   
2. **Çok Boyutlu Analiz**: Hem yapısal (argümantasyon formu) hem de retorik (ikna teknikleri) yönleri eş zamanlı olarak inceler
   
3. **Görsel Temsil**: Karmaşık argümantatif yapıları sezgisel grafiklere dönüştürür
   
4. **Dengeli Değerlendirme**: Argüman kalitesi hakkında ikili yargılar yerine nüanslı bir değerlendirme sunar
   
5. **Şeffaflık**: Her değerlendirme için kanıtları açıkça vurgular, kullanıcıların sistemin mantığını anlamasına olanak tanır

## 💡 Amaçlanan Kullanımlar

ETHOS, sofistike argüman analizi gerektiren uygulamalar için tasarlanmıştır:

- **📝 Akademik Araştırma**: Makalelerde, denemelerde ve bilimsel çalışmalarda argüman yapılarını analiz etme
  
- **🎓 Eğitim Değerlendirmesi**: Öğrenci denemelerini ve argümantasyon becerilerini değerlendirme
  
- **📰 Medya Analizi**: Haber makalelerinin, editöryel yazıların ve görüş yazılarının mantıksal kalitesini değerlendirme
  
- **💼 Profesyonel Yazım**: İş iletişimlerinin mantıksal tutarlılığını ve ikna ediciliğini iyileştirme
  
- **🗣️ Tartışma Hazırlığı**: Argümantatif pozisyonlardaki güçlü ve zayıf yönleri analiz etme
  
- **📊 Politika Değerlendirmesi**: Politika önerilerinin ve pozisyon belgelerinin mantıksal yapısını inceleme

## 🛠️ Sistem Mimarisi

ETHOS, sorunsuz bir şekilde birlikte çalışan çeşitli modüler bileşenlerden oluşur:

1. **argument_analyzer**: Bağımlılık ayrıştırma ve dilbilimsel belirteçleri kullanarak argüman bileşenlerini (iddialar ve gerekçeler) çıkarır
   
2. **logic_analyzer**: Kural tabanlı kalıplar ve makine öğrenimi yoluyla mantıksal safsataları tanımlar
   
3. **rhetoric_analyzer**: Duygu analizi ve dilbilimsel kalıpları kullanarak retorik araçları tespit eder
   
4. **argument_visualizer**: Anlamsal benzerliği kullanarak argüman yapısının grafik tabanlı görselleştirmelerini oluşturur
   
5. **synthesis_engine**: Argüman kalitesinin genel değerlendirmelerini üretmek için tüm analizleri birleştirir
   
6. **nlp_utils**: spaCy ve BERT gömme işlevselliği dahil olmak üzere NLP altyapısı sağlar

## 📊 Performans Öne Çıkanları

ETHOS, şu alanlarda güçlü yetenekler göstermektedir:

- **Argüman Bileşeni Tanımlama**: İddiaları ve gerekçeleri güven skorlarıyla doğru bir şekilde çıkarır
- **Anlamsal İlişki Tespiti**: İlgili gerekçeleri ve iddiaları anlamlarına dayalı olarak başarıyla birbirine bağlar
- **Safsata Tanıma**: Açıklayıcı bağlamla yaygın safsataları tanımlar
- **Retorik Kalıp Tespiti**: Potansiyel retorik teknikleri etkili bir şekilde işaretler
- **Sezgisel Görselleştirme**: Destek ilişkilerini gösteren net argüman grafikleri oluşturur

## 📦 Kurulum ve Kullanım

```bash
# Gerekli paketleri yükleyin
pip install spacy transformers torch networkx typer rich vaderSentiment pydantic

# Gerekli modeli indirin
python -m spacy download en_core_web_lg

# Depoyu klonlayın
git clone https://github.com/kullaniciadi/ethos.git
cd ethos

# CLI arayüzünü çalıştırın
python cli.py --text "Analiz edilecek metniniz"
# Veya dosyadan analiz edin
python cli.py --file path/to/your/document.txt
```

## 💻 Örnek Kullanım

```python
import spacy
import nlp_utils
import argument_analyzer
import logic_analyzer
import rhetoric_analyzer
import argument_visualizer
import synthesis_engine

# Modelleri yükleyin
nlp_utils.load_spacy_model()
nlp_utils.load_bert()

# Metni işleyin
text = "İklim değişikliği kesinlikle gerçekleşiyor çünkü küresel sıcaklıklar son yüzyılda önemli ölçüde yükseldi. Herkes bunun acil eylem gerektiren ciddi bir sorun olduğunu biliyor."
doc = nlp_utils.process_text_spacy(text)

# Anlamsal bağlantı için cümle gömüleri alın
sentence_embeddings = nlp_utils.get_all_sentence_embeddings(doc)

# Argümanları analiz edin
argument_components = argument_analyzer.enhanced_component_analyzer(doc)

# Safsataları tespit edin
fallacy_findings = logic_analyzer.enhanced_fallacy_analyzer(doc)

# Retoriği analiz edin
rhetoric_findings = rhetoric_analyzer.simple_rhetoric_analyzer(doc)

# Bulguları birleştirin
all_findings = fallacy_findings + rhetoric_findings

# Özet derecelendirmeleri oluşturun
analysis_summary = synthesis_engine.generate_summary_ratings(argument_components, all_findings)

# Argüman grafiği oluşturun
argument_graph = argument_visualizer.build_argument_graph(argument_components, sentence_embeddings)

# Sonuçları yazdırın
print("Argüman Bileşenleri:")
for comp in argument_components:
    print(f"{comp.component_type}: {comp.text} (Güven: {comp.confidence:.2f})")

print("\nBulgular:")
for finding in all_findings:
    print(f"{finding.finding_type}: {finding.description}")

print("\nÖzet Derecelendirmeleri:")
for category, rating in analysis_summary.items():
    print(f"{category}: {rating}")
```

## 🔧 Özelleştirme Seçenekleri

ETHOS birkaç şekilde özelleştirilebilir:

- **Safsata Tespit Kuralları**: Ek safsata türlerini tanımlamak için kuralları genişletin veya değiştirin
- **Dilbilimsel Göstergeler**: Farklı alanlar veya diller için yeni iddia/gerekçe göstergeleri ekleyin
- **Benzerlik Eşiği**: Argüman bağlantısı için anlamsal benzerlik eşiğini ayarlayın
- **Görselleştirme Formatı**: Argüman yapılarının temsilini özelleştirin

## 📈 Gelecek Geliştirmeler

ETHOS projesi sürekli gelişmekte olup, planlanan iyileştirmeler şunları içerir:

- **Genişletilmiş Safsata Tespiti**: Ek safsata türleri ve geliştirilmiş ML tabanlı tespit
- **Çapraz Belge Analizi**: Birden fazla belgeye yayılan argümanları analiz etme
- **Çoklu Dil Desteği**: Yetenekleri ek dillere genişletme
- **Etkileşimli Görselleştirmeler**: Etkileşimli öğelerle geliştirilmiş görsel temsiller
- **API Uygulaması**: Diğer uygulamalarla sorunsuz entegrasyon için RESTful API

## 📋 Alıntı

Araştırmanızda ETHOS'u kullanıyorsanız, lütfen şu şekilde alıntı yapın:

```
@software{ethos_2025,
  author = {Abdullah Kocaman},
  title = {ETHOS: Rasyonel Söylem için Yapay Zeka Hakemi},
  year = {2025},
  url = {https://huggingface.co/NextGenC/ETHOS},
  version = {2.2},
  description = {Argüman analizi, safsata tespiti ve retorik değerlendirme için kapsamlı bir sistem}
}
```