2011-02-07 11 views
6

Sto sviluppando un'applicazione JAVA in cui l'utente inserisce una parola in una casella di testo, i sinonimi della parola devono essere automaticamente rilevati a lui.Trova sinonimo e radice di una parola in java

Data una parola, è possibile trovare i suoi sinonimi e la sua radice in JAVA? Dovrei usare un dizionario?

esempio:

word: killer 
synonym: murderer butcher hitman 

word: killing 
root: kill 
+1

sì, avrete bisogno di qualche tipo di ricerca. – Randy

+0

Quanto è grande l'universo di parole che l'utente può inserire? Ho letto che ci sono quasi 1 milione di parole inglesi. Quindi ci sono alcuni vincoli di memoria. In secondo luogo, non penso che tu voglia memorizzare le parole più volte, questo potrebbe davvero far esplodere esponenzialmente l'utilizzo della memoria. Per esempio in un dizionario il killer indicherebbe assassino, macellaio, sicario ... ma poi l'assassino farebbe anche riferimento a killer, macellaio, sicario, ecc ... Idealmente, vuoi questi sinonimo di parole che puntano a se stessi quindi forse una struttura grafica sarebbe meglio –

+1

Questo non ha molto altro da fare con Java. –

risposta

4

Un'opzione sarebbe utilizzare WordNet con un'API Java, ad es. JAWS: http://lyle.smu.edu/~tspell/jaws

+0

Esistono numerosi progetti WordNet che potrebbero essere d'aiuto: l'OP dovrebbe scavare attorno a http://wordnet.princeton.edu / –

0

È sicuramente per usare un dizionario, almeno per i sinonimi, in quanto non esistono standard "sinonimo-liste" disponibili nel JRE.

1

vorrei suggerire alla ricerca di un'API per un sito online dove è possibile accedere a una sinonimi, invece di dover costruire il proprio. Sarà abbastanza grande che non vorrai tenerlo in memoria, quindi dovrai avere un po 'di spazio di archiviazione esterno se lo farai da solo.

Problemi correlati