feat: consolida lessico semantico, temi controllati e filler a quota tematica

This commit is contained in:
2026-04-15 15:37:52 +02:00
parent b172b9c04b
commit a1f8cb8577
8 changed files with 14030 additions and 46434 deletions

View File

@@ -83,8 +83,9 @@ TOPIC_KEYWORDS = {
"aula", "figura", "titolo",
},
"cinema": {
"film", "teatro", "attore", "scena", "dialogo", "regista", "pellicola", "voce", "visione",
"finale", "figura",
"film", "teatro", "attore", "scena", "dialogo", "regista", "pellicola", "cinema",
"doppiatore", "documentario", "cinegiornale", "colossal", "commedia", "comparsa",
"controfigura", "diva", "divo", "cabaret", "cartoon",
},
"literature": {
"libro", "poesia", "favola", "fiaba", "frase", "parola", "lettura", "autore", "storia",
@@ -99,8 +100,12 @@ TOPIC_KEYWORDS = {
"casale", "balcone", "finestra", "stazione",
},
"transport": {
"automobile", "barca", "vela", "treno", "motore", "viaggio", "ruota", "ponte", "pilota",
"volo", "aeroporto", "vettura",
"automobile", "auto", "automezzo", "autoveicolo", "autovettura", "autobus", "autocarro",
"aeromobile", "aeroplano", "aeroporto", "ambulanza", "autoambulanza", "astronave",
"barca", "barchetta", "bastimento", "bicicletta", "bici", "bimotore", "bireattore",
"bombardiere", "imbarcazione", "motrice", "motore", "nave", "pista", "porto",
"quadrimotore", "reattore", "rimorchio", "rimorchiatore", "rotaia", "ruota", "trattore",
"treno", "vapore", "vela", "veliero", "vettura", "volante", "volo",
},
"work": {
"lavoro", "opera", "progetto", "metodo", "tecnica", "strumento", "martello", "guida",
@@ -115,11 +120,6 @@ TOPIC_KEYWORDS = {
TOPIC_SUFFIXES = {
"actions": ("are", "ere", "ire"),
"abstract": ("zione", "zioni", "ismo", "ezza", "ita", "mento", "anza", "enza"),
"animals": ("cane", "gatto", "lupo", "pesce", "volpe", "orso"),
"plants": ("fiore", "foglia", "seme", "radice", "erba"),
"nature": ("mare", "lago", "bosco", "vento", "onda", "roccia"),
"geography": ("montagna", "isola", "deserto", "confine"),
"city": ("strada", "palazzo", "porta", "ponte"),
}
@@ -135,7 +135,7 @@ def infer_topics(word: str, tags: List[str]) -> List[str]:
if "verb_infinitive" in tags:
topics.add("actions")
if any(word.endswith(suffix) for suffix in ("tore", "trice", "zione", "ismo", "ista", "mento", "anza", "enza")):
if any(word.endswith(suffix) for suffix in ("zione", "zioni", "ismo", "ezza", "ita", "mento", "anza", "enza")):
topics.add("abstract")
for topic, keywords in TOPIC_KEYWORDS.items():