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')]