Python - interfejs WordNet
WordNet to słownik języka angielskiego, podobny do tradycyjnego tezaurusa. NLTK obejmuje angielski WordNet. Możemy go użyć jako odniesienia do zrozumienia znaczenia słów, przykładu użycia i definicji. Zbiór podobnych słów nosi nazwę lematów. Słowa w WordNet są zorganizowane, a węzły i krawędzie, w których węzły reprezentują tekst słowa, a krawędzie reprezentują relacje między słowami. poniżej zobaczymy, jak możemy wykorzystać moduł WordNet.
Wszystkie lematy
from nltk.corpus import wordnet as wn
res=wn.synset('locomotive.n.01').lemma_names()
print res
Po uruchomieniu powyższego programu otrzymujemy następujące dane wyjściowe -
[u'locomotive', u'engine', u'locomotive_engine', u'railway_locomotive']
Definicja słowa
Słownikową definicję słowa można uzyskać za pomocą funkcji definicji. Opisuje znaczenie tego słowa, jakie można znaleźć w zwykłym słowniku.
from nltk.corpus import wordnet as wn
resdef = wn.synset('ocean.n.01').definition()
print resdef
Po uruchomieniu powyższego programu otrzymujemy następujące dane wyjściowe -
a large body of water constituting a principal part of the hydrosphere
Przykłady użycia
Możemy uzyskać przykładowe zdania pokazujące przykłady użycia słów przy użyciu exmaples() funkcjonować.
from nltk.corpus import wordnet as wn
res_exm = wn.synset('good.n.01').examples()
print res_exm
Po uruchomieniu powyższego programu otrzymujemy następujący wynik -
['for your own good', "what's the good of worrying?"]
Przeciwne wyrazy
Uzyskaj wszystkie przeciwne słowa, używając funkcji antonimu.
from nltk.corpus import wordnet as wn
# get all the antonyms
res_a = wn.lemma('horizontal.a.01.horizontal').antonyms()
print res_a
Po uruchomieniu powyższego programu otrzymujemy następujący wynik -
[Lemma('inclined.a.02.inclined'), Lemma('vertical.a.01.vertical')]