2011-02-07 11 views
6

Pracuję nad aplikacją JAVA, w której użytkownik wpisuje słowo w polu tekstowym, synonimy słowa muszą być automatycznie do niego kierowane.Znajdź synonim i źródło słowa w java

Czy znasz słowo, czy można znaleźć jego synonimy i ich źródło w JAVA? Czy powinienem używać słownika?

np

word: killer 
synonym: murderer butcher hitman 

word: killing 
root: kill 
+1

Tak, będziesz potrzebować jakiegoś wyszukiwania. – Randy

+0

Jak duży jest wszechświat słów, które może wprowadzić użytkownik? Czytałem, że istnieje blisko 1 milion angielskich słów. Istnieją więc pewne ograniczenia pamięci. Po drugie, nie sądzę, że chcesz przechowywać słowa kilka razy, może to naprawdę eksplodować zużycie pamięci w postępie geometrycznym. Na przykład w słowniku morderca wskazywałby na mordercę, rzeźnika, hitmana ... ale wtedy morderca wskazywałby również na zabójcę, rzeźnika, hitmana itd ... Idealnie chciałbyś, aby te zestawy synonimów słów wskazywały na siebie, więc może struktura wykresu byłoby lepiej –

+1

To nie ma nic wspólnego z Javą. –

Odpowiedz

4

Jedną opcją byłoby użycie WordNet z interfejsem API języka Java, np. JAWS: http://lyle.smu.edu/~tspell/jaws

+0

Istnieje wiele projektów WordNet, które mogą pomóc - PO powinien kopać na http://wordnet.princeton.edu / –

0

pewno trzeba używać słownika, przynajmniej dla synonimów, ponieważ nie istnieją żadne standardowe synonim „listach” dostępnych na JRE.

1

Proponuję poszukać API dla strony internetowej, na której można uzyskać dostęp do słownika synonimów, zamiast tworzyć własne. Będzie na tyle duży, że nie będziesz chciał go przechowywać w pamięci, więc będziesz musiał mieć jakieś zewnętrzne miejsce przechowywania, jeśli zamierzasz zrobić to samemu.

Powiązane problemy