Mikä on Wordnet?
Wordnet on NLTK-korpuslukija, englanninkielinen leksikaalinen tietokanta. Sitä voidaan käyttää sanojen, synonyymien tai antonyymien merkityksen löytämiseen. Voidaan määritellä se semanttisesti suuntautuvaksi englannin sanakirjaksi. Se tuodaan seuraavalla komennolla:
from nltk.corpus import wordnet as guru
Tilastot paljastavat, että englanninkieliseen WordNetiin sisältyy 155287 sanaa ja 117659 synonyymisarjaa .
Eri tapoja, jotka ovat käytettävissä WordNetissä, löytyy kirjoittamalla dir (guru)
['_LazyCorpusLoader__args', '_LazyCorpusLoader__kwargs', '_LazyCorpusLoader__load', '_LazyCorpusLoader__name', '_LazyCorpusLoader__reader_cls', '__class__', __, __, _ __d __ge__ ',' __getattr__ ',' __getattribute__ ',' __gt__ ',' __hash__ ',' __init__ ',' __le__ ',' __lt__ ',' __module__ ',' __name__ ',' __ne__ ',' __new__ ',' __reduc , '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__unicode__', '__weakref__', '_unload', 'alihakemisto', 'unicode_repr']
Olkaamme ymmärrettyjä ominaisuuksia, joita Wordnet tarjoaa:
Synset : Sitä kutsutaan myös synonyymijoukoksi tai synonyymisanojen kokoelmaksi. Tarkistetaan esimerkki
from nltk.corpus import wordnetsyns = wordnet.synsets("dog")print(syns)
Tuotos:
[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')]
Leksikaaliset suhteet : Nämä ovat semanttisia suhteita, jotka ovat vastavuoroisia. Jos {x1, x2,… xn} ja {y1, y2, ... yn} välillä on suhde, on myös suhde {y1, y2, ... yn} ja {x1, x2,… xn}. Esimerkiksi Synonyymi on vastakohta antonyymille tai hypermeille ja hyponym on tyypiltään leksikaalinen käsite.
Kirjoitetaan ohjelma pythonilla sanan "aktiivinen" synonyymien ja antonyymien löytämiseksi Wordnetin avulla.
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))
Koodin lähtö:
{'dynaaminen', 'taistelu', 'taisteluvalmis', 'aktiivinen_voima', 'aktiivinen_agentti', 'osallistuva', 'elossa', 'aktiivinen'} - Synonyymi
{'staattinen', 'passiivinen', 'hiljainen', 'passiivinen_haku', 'sukupuuttoon kuollut', 'lepotilassa', 'ei-aktiivinen'} - Antonym
Koodin selitys
- Wordnet on korpus, joten se tuodaan ntlk.corpusista
- Sekä synonyymien että antonyymien luettelo pidetään tyhjänä, jota käytetään liitettäessä
- Aktiivisen sanan synonyymejä haetaan moduulin synketeistä ja ne liitetään luettelosynonyymeihin. Sama prosessi toistetaan toiselle.
- Tulosteet tulostetaan
Päätelmä:
WordNet on leksikaalinen tietokanta, jota suuri hakukone on käyttänyt. WordNetistä tietyn sanan tai lauseen tiedot voidaan laskea esimerkiksi
- synonyymi (sanat, joilla on sama merkitys)
- hypermanssit (yleinen termi, jota käytetään kuvaamaan erityisryhmää (eli ateria on aamiainen), hyponymit (riisi on ateria)
- holonyymit (proteiinit, hiilihydraatit ovat osa ateriaa)
- meronyymit (ateria on osa päivittäistä ruokaa)
WordNet tarjoaa myös tietoa koordinaattiehdoista, johdannaisista, aisteista ja muusta. Sitä käytetään kahden sanan yhtäläisyyksien löytämiseen. Siellä on myös tietoa vastaavan sanan tuloksista. Lyhyesti sanottuna tai pähkinänkuoressa voidaan kohdella sitä sanakirjana tai tesauruksena. Mennessä syvemmälle wordnet, se on jaettu neljään alaverkkoon, kuten
- Substantiivi
- Verbi
- Adjektiivi
- Adverbi
Sitä voidaan käyttää tekoälyn alueella tekstianalyyseihin. Wordnetin avulla voit luoda korpusosi oikeinkirjoituksen tarkistamiseen, kielenkääntämiseen, roskapostin havaitsemiseen ja paljon muuta.
Samalla tavalla voit käyttää tätä korpusta ja muovata sen toimimaan dynaamisesti. Tämä on kuin valmiina tehty korpus sinulle. Voit käyttää sitä omalla tavallasi.