NLTK WordNet: leidke sünonüüme NLTK WordNetist Python

⚡ Nutikas kokkuvõte

WordNet on inglise keele leksikaalne andmebaas ja NLTK korpuse lugeja, mis grupeerib nimisõnad, tegusõnad, omadussõnad ja määrsõnad sünhulkadeks, võimaldades Python Programmid otsivad loomuliku keele töötlemiseks sünonüüme, antonüüme, hüpernüüme ja sõnatähendusi.

  • 🧩 Korpuse lugeja: WordNet imporditakse nltk.corpusest ja see toimib semantiliselt orienteeritud inglise keele sõnaraamatuna.
  • 🔁 Süneesikomplektid: Sünühik on sünonüümsõnade kogum, näiteks sõna „koer” puhul tagastatud kaheksa meelt.
  • 🔗 Leksikaalsed suhted: Vastastikused semantilised seosed ühendavad sünonüüme, antonüüme, hüpernüüme ja hüponüüme.
  • 🧪 Sünonüümid ja antonüümid: Looping Sünonüümide ja lemmade kaudu kogub kokku kõik sõna sünonüümid ja antonüümid.
  • 🌳 Hierarhia: Hüpernüümid, hüponüümid, holonüümid ja meronüümid korraldavad sõnu nimisõna, tegusõna, omadussõna ja määrsõna alamvõrkudeks.
  • 🤖 Tehisintellekti eelised: WordNet toetab tekstianalüüsi ülesandeid, nagu õigekirja parandamine, tõlkimine ja rämpsposti tuvastamine.

NLTK WordNet

Mis on Wordnet?

WordNet on NLTK korpuse lugeja, inglise keele leksikaalne andmebaas. Seda saab kasutada sõnade tähenduse, sünonüümi või antonüümi leidmiseks. Seda saab defineerida semantiliselt orienteeritud inglise keele sõnaraamatuna. WordNet imporditakse järgmise käsuga:

from nltk.corpus import wordnet as guru

Kuna WordNet tarnitakse valmiskorpusena, saate selle üks kord laadida ja kohe sõnadevaheliste seoste päringuid alustada ilma ise sõnastikku loomata.

Otsige sünonüüme NLTK WordNetist Python

Statistika näitab, et neid on 155287 sõna ja 117659 sünonüümi Inglise keele WordNeti komplektid on kaasas. WordNeti erinevad meetodid leiate aadressilt typing dir(guru), mis loetleb kõik korpuse lugeja poolt avaldatud laaduri atribuudid ja abimeetodid.

Süneesikomplekt: Seda nimetatakse ka sünonüümide komplektiks või sünonüümsõnade kogumiks. Vaatleme näidet.

from nltk.corpus import wordnet
syns = 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 vastastikku avalduvad semantilised seosed. 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 antonüümi vastand, samas kui hüpernüümid ja hüponüümid on leksikaalsete mõistete tüübid.

Kirjutame programmi kasutades Python sõna „aktiivne“ sünonüümi ja antonüümi leidmiseks WordNeti abil.

from nltk.corpus import wordnet
synonyms = []
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:

{'dynamic', 'fighting', 'combat-ready', 'active_voice', 'active_agent', 'participating', 'alive', 'active'} -- Synonym
{'stative', 'passive', 'quiet', 'passive_voice', 'extinct', 'dormant', 'inactive'} -- Antonym

Koodi selgitus:

  • WordNet on korpus, seega imporditakse see paketist nltk.corpus.
  • Kaks sünonüümide ja antonüümide loendit võetakse tühjadeks ja neid kasutatakse lisamiseks.
  • Sõna „active“ sünonüüme otsitakse meetodis synsets ja lisatakse sünonüümide loendisse. Sama protsess kogub ka antonüüme.
  • Väljund trükitakse kujul Python komplektid, nii et duplikaatkirjed eemaldatakse automaatselt.

Lisaks sünonüümidele ja antonüümidele pakub WordNet ka hüpernüüme (laiemad terminid), hüponüüme (täpsemad terminid), holonüüme ja meronüüme, nii et ühe päringuga saab sõna paigutada tervesse "on-a" hierarhiasse. Need seosed muudavad WordNeti praktiliseks tesauruseks õigekirjakontrollide, keele tõlkimise, rämpsposti tuvastamise ja muude tehisintellekti tekstianalüüsi ülesannete jaoks.

KKK

WordNet on NLTK korpuse lugeja ja leksikaalne andmebaas inglise keelele. See toimib nagu semantiliselt orienteeritud sõnastik, võimaldades teil otsida sõna tähendust, sünonüüme ja antonüüme lihtsate märkide abil. Python käsud.

Sünset ehk sünonüümide komplekt on rühm sõnu, millel on sama mõiste. Funktsiooni wordnet.synsets(“koer”) kutsumine tagastab mitu sünsetti, millest igaüks esindab sõna „koer“ ühte erinevat tähendust.

Käi läbi tsükli wordnet.synsets(word) ja seejärel itereeri iga sünhulga lemmas(). Lisa lemma.name() sünonüümide kogumiseks ja kutsu lemma.antonyms() välja antonüümide kogumiseks. Murraping Funktsiooni set() tulemused eemaldavad duplikaatkirjed.

Hüpernüüm on laiem ja üldisem termin (ein on sõna „hommikusöök“ hüpernüüm), samas kui hüponüüm on täpsem termin (riis on sõna „ein“ hüponüüm). WordNet seob need omavahel, moodustades on-a hierarhia.

Inglise keele WordNet sisaldab umbes 155 287 sõna, mis on jaotatud ligikaudu 117 659 sünonüümikomplekti. Andmebaas hõlmab nelja kõneosa: nimisõnad, tegusõnad, omadussõnad ja määrsõnad, millest igaüks on salvestatud oma alamvõrgus.

Tehisintellekti valdkonnas toetab WordNet tekstianalüüsi ülesandeid, nagu sõnade tähenduse ühestamine, õigekirja parandamine, keele tõlkimine ja rämpsposti tuvastamine. Selle struktureeritud seosed annavad masinõppemudelitele rikkamad keelelised omadused kui ainult toored märgid.

Jah. Tehisintellekti ja masinõppe torujuhtmed kasutavad WordNeti sarnasuse mõõdikuid, näiteks tee sarnasus ja Wu-Palmeri sarnasus. Nad hindavad kahe sünonüümikomplekti lähedust teineteisele, mõõtes nende vahelist lühimat teed hüpernüümide ja hüponüümide hierarhias.

Tavaline sõnastik loetleb definitsioonid tähestikulises järjekorras. WordNet seob sõnu tähenduse järgi sünsettide ja leksikaalsete seoste kaudu, seega käitub see nagu kombineeritud sõnastik ja tesaurus, mida masinad saavad programmiliselt läbi vaadata.

Võta see postitus kokku järgmiselt: