File size: 1,157 Bytes
5e572ba
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
# evidence.py
import re
from collections import defaultdict

# seed hints – extend over time
BUCKET_HINTS = {
    "2019–2022": ["covid", "covid-19", "sars-cov-2", "lockdown", "n95", "zoom", "pfizer", "pcr", "remote school"],
    "2023–present": ["chatgpt", "gpt-4", "llm", "generative ai", "tiktok", "threads", "hybrid work"],
    "1991–2008": ["myspace", "y2k", "dial-up", "iraq war", "windows xp"],
    "1946–1990": ["cold war", "sputnik", "berlin wall", "vietnam", "ussr"],
    "1900–1945": ["world war i", "world war ii", "blitz", "rationing", "great depression"],
    "2009–2015": ["iphone 4", "ipad", "app store", "snapchat", "vine"],
    "2016–2018": ["fidget spinner", "fortnite", "instagram stories"],
    "pre-1900": ["telegraph", "steam locomotive", "victorian"],
}

YEAR_RE = re.compile(r"\b(1[89]\d{2}|20\d{2})\b")

def extract_evidence(text: str):
    t = text.lower()
    years = YEAR_RE.findall(t)
    hits = defaultdict(list)
    for bucket, terms in BUCKET_HINTS.items():
        for term in terms:
            if term in t:
                hits[bucket].append(term)
    return {"years": years, "keyword_hits": dict(hits)}