wozwize's picture
initial commit of media-unmasked-api to huggingface
876b12f
raw
history blame
1.49 kB
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
}