|
|
|
|
|
|
|
|
| import uuid
|
| from dataclasses import dataclass, field
|
| from datetime import datetime
|
| from typing import List, Optional, Dict, Any
|
|
|
| @dataclass
|
| class EpistemicData:
|
| """Bir önerme ile ilişkili epistemik (bilgibilimsel) verileri tutar."""
|
| source_id: str
|
| timestamp: datetime = field(default_factory=datetime.now)
|
| initial_confidence: float = 0.5
|
| computed_confidence: float = 0.5
|
| source_type: Optional[str] = None
|
| reliability_score: Optional[float] = None
|
|
|
|
|
| supports: List[str] = field(default_factory=list)
|
| contradicts: List[str] = field(default_factory=list)
|
|
|
|
|
| bias_flags: List[str] = field(default_factory=list)
|
|
|
|
|
| plausibility_score: Optional[float] = None
|
| validation_notes: List[str] = field(default_factory=list)
|
|
|
| other_metadata: Dict[str, Any] = field(default_factory=dict)
|
|
|
| def __post_init__(self):
|
| self.computed_confidence = self.initial_confidence
|
|
|
| @dataclass
|
| class Proposition:
|
| """Metinden çıkarılan bir bilgi birimini (önermeyi) temsil eder."""
|
|
|
| text_span: str
|
| sentence_text: str
|
| epistemic_data: EpistemicData
|
|
|
|
|
| prop_id: str = field(default_factory=lambda: str(uuid.uuid4()))
|
| subject_lemma: Optional[str] = None
|
| relation_lemma: Optional[str] = None
|
| value_lemma: Optional[str] = None
|
| is_negated: bool = False
|
| other_analysis: Dict[str, Any] = field(default_factory=dict)
|
|
|
| def __str__(self):
|
|
|
| neg_str = "[NEGATED] " if self.is_negated else ""
|
| return (f"Prop({self.prop_id[:8]}): {neg_str}"
|
| f"{self.subject_lemma} - {self.relation_lemma} - {self.value_lemma} "
|
| f"(Conf: {self.epistemic_data.computed_confidence:.2f}, Src: {self.epistemic_data.source_id})")
|
|
|
|
|
| if __name__ == "__main__":
|
| print("Testing AEE Core Classes (Era Version)...")
|
| ed1 = EpistemicData(source_id="src_test", initial_confidence=0.7)
|
| ed1.plausibility_score = 0.9
|
| ed1.validation_notes.append("Seems plausible based on initial check.")
|
| print(f"Created EpistemicData (Era): {ed1}")
|
| prop1 = Proposition(
|
| text_span="Test span", sentence_text="Test sentence.", epistemic_data=ed1,
|
| subject_lemma="test", relation_lemma="be", value_lemma="ok"
|
| )
|
| print(f"Created Proposition (Era): {prop1}")
|
| print(f" Plausibility: {prop1.epistemic_data.plausibility_score}")
|
| print(f" Validation Notes: {prop1.epistemic_data.validation_notes}")
|
| print("\nCore classes (Era) seem functional.") |