Spaces:
Running
Running
File size: 1,492 Bytes
876b12f |
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 |
import logging
from typing import Dict, Any, List
logger = logging.getLogger(__name__)
class EvidenceAnalyzer:
def __init__(self):
self.citation_markers = [
"according to",
"said",
"reported",
"stated",
"shows",
"found",
"study",
"research",
"data",
"evidence"
]
self.vague_markers = [
"some say",
"many believe",
"people think",
"experts claim",
"sources say",
"it is believed",
"reportedly",
"allegedly"
]
def analyze(self, text: str) -> Dict[str, Any]:
"""Check for evidence-based reporting."""
try:
text_lower = text.lower()
citation_count = sum(1 for marker in self.citation_markers if marker in text_lower)
vague_count = sum(1 for marker in self.vague_markers if marker in text_lower)
base_score = min(citation_count * 20, 100)
penalty = vague_count * 10
evidence_score = max(0, base_score - penalty)
return {
"evidence_based_score": evidence_score
}
except Exception as e:
logger.error(f"Error in evidence analysis: {str(e)}")
return {
"evidence_based_score": 0
} |