| |
|
| | from typing import List, Dict, Tuple
|
| | import data_models
|
| | from rich.console import Console
|
| |
|
| | console = Console()
|
| |
|
| |
|
| | FALLACY_THRESHOLD_LOW = 1
|
| | FALLACY_THRESHOLD_MEDIUM = 0
|
| |
|
| |
|
| | RHETORIC_THRESHOLD_HIGH = 5
|
| | RHETORIC_THRESHOLD_MEDIUM = 2
|
| |
|
| | def generate_summary_ratings(
|
| | components: List[data_models.ArgumentComponent],
|
| | findings: List[data_models.Finding]
|
| | ) -> Dict[str, str]:
|
| | """
|
| | Bulunan bileşenlere ve bulgulara göre basit özet değerlendirmeler üretir.
|
| | (Kanıt değerlendirmesi kaldırıldı).
|
| | """
|
| | summary = {}
|
| |
|
| |
|
| | fallacies = [f for f in findings if f.finding_type == "Fallacy"]
|
| | num_fallacies = len(fallacies)
|
| |
|
| | if num_fallacies >= FALLACY_THRESHOLD_LOW:
|
| | summary["Logical Soundness"] = "Low (Potential fallacies detected)"
|
| | elif num_fallacies == FALLACY_THRESHOLD_MEDIUM:
|
| | summary["Logical Soundness"] = "Medium (No obvious fallacies detected by current rules/model)"
|
| | else:
|
| | summary["Logical Soundness"] = "High (Potentially sound)"
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| | summary["Evidential Basis"] = "Not Evaluated"
|
| |
|
| |
|
| |
|
| | rhetorical_findings = [f for f in findings if f.finding_type == "RhetoricalDevice"]
|
| | num_rhetoric = len(rhetorical_findings)
|
| | if num_rhetoric >= RHETORIC_THRESHOLD_HIGH:
|
| | summary["Rhetorical Clarity"] = "Questionable (High use of rhetorical devices detected)"
|
| | elif num_rhetoric >= RHETORIC_THRESHOLD_MEDIUM:
|
| | summary["Rhetorical Clarity"] = "Mixed (Some rhetorical devices detected)"
|
| | else:
|
| | summary["Rhetorical Clarity"] = "Appears Clear (Few rhetorical devices detected)"
|
| |
|
| |
|
| | console.print(f" -> Synthesis engine generated summary ratings (Evidence analysis excluded).", style="dim")
|
| | return summary |