La situazione teorica è questa:
Diciamo che abbiamo un dizionario digitale (con cui intendo un elenco tradizionale di parole e definizioni, non un array associativo). Per semplicità, diciamo anche che ogni parola può essere sostituita dalla sua esatta definizione, e ha ancora senso in una frase; per esempio, se questo dizionario contiene la definizione della parola "oceano" per essere "grande corpo di acqua salata", quindi il seguente passaggio:
"We ourselves feel that what we are doing is just a drop in the ocean."
potrebbe essere modificato in:
"We ourselves feel that what we are doing is just a drop in the large body of salt water."
senza alcuna perdita di logica o significato. Ora la mia domanda è questa: dato un dizionario con tutte le parole in inglese, qual è un algoritmo che potrebbe essere applicato per comprimere il dizionario, attraverso la sostituzione di tutte le occorrenze di una determinata parola con la sua definizione, e nel fare quindi trovare un insieme di parole base attraverso cui poter esprimere tutti i significati della lingua originale?
Per chiarire ancora di più; se "tristezza" è definita come "un'emozione infelice", allora la parola tristezza può essere completamente rimossa dal dizionario sostituendo tutte le occorrenze della parola "tristezza" che si verificano nelle definizioni di altre parole con la sua definizione. La definizione di "depressione", ad esempio, potrebbe cambiare da "un periodo prolungato di tristezza" a "un periodo prolungato di un'emozione infelice". In questo modo, l'algoritmo alla fine arriverebbe a un insieme di parole base da cui potrebbero essere rappresentate tutte le altre parole.
Esistono degli algoritmi che possono farlo o qualcosa di simile? Come potrebbe essere fatto a livello di codice, senza usare la forza bruta? Qualsiasi comprensione è apprezzata.