Mi sposto in questo forum dove possiamo parlare più per esteso.
I tuoi domini di conoscenza non sono reti semantiche perchè le reti semantiche hanno la proprietà di avere i nodi collegati fra loro.
Le reti di cui parlavo nell'articolo sono reti di apprendimento in quanto riescono ad aggiungere nuovi nodi ed archi modificando i pesi di questi relazioni. Un esempio di di sistemi di questo tipo sono le reti neurali.
Mi sono letto i post precedenti e ho testato il tuo esempio che trovo molto interessante.
Se volessi applicare una rete semantica al tuo programma punterei su una "definitional network", una rete che considera le relazioni IS-A; tanto per capirci "configurare server dhcp" e "configuare server linux" sono entrambi figli di "configurazione server".
Parlando del tuo sistema in particolare ho notato una cosa forse marginale ma che ho trovato interessante: tutti i sistemi che conosco implementano il concetto di "stop words", cioè si da per scontato che articoli, preposizioni etc. non diano significato aggiunto al testo e quindi vengono eliminati. Tu invece li mantieni anche se con peso marginale; in effetti penso che sia una scelta giusta, perchè a google fa differenza se li scrivi o no in una ricerca.
Buon esempio del fatto che a volte è utile provare a fare una cosa senza voler a tutti i costi seguire la strada già asfaltata.