Mis on Wordnet?
Wordnet on NLTK korpuselugeja, ingliskeelne leksikaalne andmebaas. Seda saab kasutada sõnade, sünonüümide või antonüümide tähenduse leidmiseks. Võib defineerida seda kui semantiliselt orienteeritud inglise keele sõnastikku. See imporditakse järgmise käsuga:
from nltk.corpus import wordnet as guru
Statistika näitab, et ingliskeelse WordNeti juurde kuulub 155287 sõna ja 117659 sünonüümikomplekti .
Erinevaid WordNetiga saadaolevaid meetodeid leiate, tippides dir (guru)
['_LazyCorpusLoader__args', '_LazyCorpusLoader__kwargs', '_LazyCorpusLoader__load', '_LazyCorpusLoader__name', '_LazyCorpusLoader__reader_cls', '__class__', _ __date '__ __ge__ ',' __getattr__ ',' __getattribute__ ',' __gt__ ',' __hash__ ',' __init__ ',' __le__ ',' __lt__ ',' __module__ ',' __name__ ',' __ne__ ',' __new__ ',' __rede , '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__unicode__', '__weakref__', '_unload', 'alamkataloog', 'unicode_repr']
Mõistame mõningaid Wordnetiga pakutavaid funktsioone:
Sünset : seda nimetatakse ka sünonüümikomplektiks või sünonüümsõnade kogumiks. Kontrollime näidet
from nltk.corpus import wordnetsyns = wordnet.synsets("dog")print(syns)
Väljund:
[Synset('dog.n.01'), Synset('frump.n.01'), Synset('dog.n.03'), Synset('cad.n.01'), Synset('frank.n.02'), Synset('pawl.n.01'), Synset('andiron.n.01'), Synset('chase.v.01')]
Leksikaalsed suhted : need on semantilised suhted, mis on vastastikused. Kui {x1, x2,… xn} ja {y1, y2, ... yn} vahel on seos, siis on seos ka {y1, y2, ... yn} ja {x1, x2, ... xn} vahel. Näiteks sünonüüm on vastand antonüümile või hüpermoonidele ja hüponüüm on leksikaalse kontseptsiooni tüüp.
Kirjutagem Pythoni abil programm Wordneti abil sõna "aktiivne" sünonüümide ja antonüümide leidmiseks.
from nltk.corpus import wordnetsynonyms = []antonyms = []for syn in wordnet.synsets("active"):for l in syn.lemmas():synonyms.append(l.name())if l.antonyms():antonyms.append(l.antonyms()[0].name())print(set(synonyms))print(set(antonyms))
Koodi väljund:
{'dünaamiline', 'võitlus', 'võitlusvalmis', 'aktiivne_hääl', 'aktiivne_agent', 'osalev', 'elus', 'aktiivne'} - sünonüüm
{'stative', 'passiivne', 'vaikne', 'passive_voice', 'väljasurnud', 'uinuv', 'passiivne'} - Antonüüm
Koodi selgitus
- Wordnet on korpus, seega imporditakse see ntlk.corpuselt
- Nii sünonüümide kui ka antonüümide loend loetakse tühjaks, mida kasutatakse lisamisel
- Sõna aktiivne sünonüüme otsitakse moodulite sünkroonkomplektidest ja need lisatakse loendi sünonüümidesse. Sama protsessi korratakse ka teise puhul.
- Väljund prinditakse
Järeldus:
WordNet on leksikaalne andmebaas, mida on kasutanud suurem otsingumootor. WordNeti kaudu saab teavet antud sõna või fraasi kohta arvutada näiteks
- sünonüüm (sama tähendusega sõnad)
- hüpermaanid (üldmõiste, mida kasutatakse spetsiifikaklassi tähistamiseks (st söök on hommikusöök), hüponüümid (riis on eine)
- holonüümid (valgud, süsivesikud on osa toidust)
- meronüümid (eine on osa päevasest toidukogusest)
WordNet pakub teavet ka koordineerivate terminite, tuletiste, meelte ja muu kohta. Seda kasutatakse mis tahes kahe sõna sarnasuste leidmiseks. See sisaldab ka teavet seotud sõna tulemuste kohta. Lühidalt või lühidalt võib seda käsitleda sõnaraamatu või tesauruse nime all. Sõnavõrgus süvenedes jaguneb see neljaks alamvõrguks, näiteks
- Nimisõna
- Tegusõna
- Omadussõna
- Määrsõna
Seda saab kasutada tehisintellekti valdkonnas teksti analüüsimiseks. Wordneti abil saate luua oma korpuse õigekirjakontrolliks, keelte tõlkimiseks, rämpsposti tuvastamiseks ja paljuks muuks.
Samamoodi saate seda korpust kasutada ja vormida selle dünaamilise funktsionaalsuse saavutamiseks. See on just nagu teie jaoks valmis korpus. Saate seda omal moel kasutada.