NLTK WordNet: Temukan Sinonim dari NLTK WordNet di Python

⚡ Ringkasan Cerdas

WordNet adalah basis data leksikal dan pembaca korpus NLTK untuk bahasa Inggris yang mengelompokkan kata benda, kata kerja, kata sifat, dan kata keterangan ke dalam synset, sehingga memungkinkan Python Program-program tersebut mencari sinonim, antonim, hipernim, dan makna kata untuk pemrosesan bahasa alami.

  • 🧩 Pembaca korpus: WordNet diimpor dari nltk.corpus dan berfungsi sebagai kamus bahasa Inggris yang berorientasi semantik.
  • 🔁 Synset: Synset adalah kumpulan kata-kata sinonim, seperti delapan makna yang ditemukan untuk kata "anjing".
  • 🔗 Hubungan leksikal: Hubungan semantik timbal balik menghubungkan sinonim, antonim, hipernim, dan hiponim.
  • 🧪 Sinonim dan antonim: Looping Mengumpulkan semua sinonim dan antonim dari suatu kata melalui synset dan lemma.
  • 🌳 Hirarki: Hipernim, hiponim, holonim, dan meronim mengelompokkan kata-kata ke dalam sub-kategori kata benda, kata kerja, kata sifat, dan kata keterangan.
  • 🤖 Manfaat AI: WordNet mendukung tugas analisis teks seperti koreksi ejaan, penerjemahan, dan deteksi spam.

Jaringan Kata NLTK

Apa itu Wordnet?

WordNet WordNet adalah pembaca korpus NLTK, sebuah basis data leksikal untuk bahasa Inggris. Ia dapat digunakan untuk menemukan arti kata, sinonim, atau antonim. Dapat didefinisikan sebagai kamus bahasa Inggris yang berorientasi semantik. WordNet diimpor dengan perintah berikut:

from nltk.corpus import wordnet as guru

Karena WordNet dikirimkan sebagai korpus yang sudah jadi, Anda dapat memuatnya sekali dan langsung mulai menanyakan hubungan antar kata tanpa perlu membuat kamus sendiri.

Temukan Sinonim dari NLTK WordNet di Python

Statistik mengungkapkan bahwa ada 155287 kata dan 117659 sinonim Set yang disertakan dengan English WordNet. Berbagai metode yang tersedia dengan WordNet dapat ditemukan dengan mengetikkanping dir(guru), yang mencantumkan setiap atribut loader dan metode pembantu yang diekspos oleh pembaca korpus.

Synset: Ini juga disebut himpunan sinonim atau kumpulan kata-kata sinonim. Mari kita periksa sebuah contoh.

from nltk.corpus import wordnet
syns = wordnet.synsets("dog")
print(syns)

Keluaran:

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

Hubungan Leksikal: Ini adalah relasi semantik yang bersifat timbal balik. Jika ada relasi antara {x1,x2,…xn} dan {y1,y2,…yn}, maka ada juga relasi antara {y1,y2,…yn} dan {x1,x2,…xn}. Misalnya, sinonim adalah lawan kata dari antonim, sedangkan hipernim dan hiponim adalah jenis konsep leksikal.

Mari kita menulis program menggunakan Python untuk menemukan sinonim dan antonim dari kata “aktif” menggunakan WordNet.

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

Keluaran kode:

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

Penjelasan kodenya:

  • WordNet adalah sebuah korpus, jadi diimpor dari paket nltk.corpus.
  • Dua daftar untuk sinonim dan antonim dianggap kosong, yang akan digunakan untuk penambahan.
  • Sinonim dari kata “aktif” dicari menggunakan metode synsets dan ditambahkan ke daftar sinonim. Proses yang sama juga dilakukan untuk mengumpulkan antonim.
  • Output dicetak sebagai Python mengatur agar entri duplikat dihapus secara otomatis.

Selain sinonim dan antonim, WordNet juga menampilkan hipernim (istilah yang lebih luas), hiponim (istilah yang lebih spesifik), holonim, dan meronim, sehingga satu kueri dapat menempatkan sebuah kata di dalam seluruh hierarki "is-a". Hubungan-hubungan ini menjadikan WordNet sebagai tesaurus praktis untuk pemeriksa ejaan, penerjemahan bahasa, deteksi spam, dan tugas analisis teks lainnya dalam kecerdasan buatan.

Pertanyaan Umum Demo Slot

WordNet adalah pembaca korpus NLTK dan basis data leksikal untuk bahasa Inggris. Cara kerjanya seperti kamus yang berorientasi semantik, memungkinkan Anda mencari arti, sinonim, dan antonim suatu kata dengan mudah. Python perintah.

Synset, singkatan dari synonym set, adalah kelompok kata yang memiliki konsep yang sama. Memanggil wordnet.synsets(“dog”) akan mengembalikan beberapa synset, yang masing-masing mewakili satu makna berbeda dari kata “dog”.

Lakukan perulangan melalui wordnet.synsets(word), lalu ulangi lemmas() dari setiap synset. Tambahkan lemma.name() untuk mengumpulkan sinonim, dan panggil lemma.antonyms() untuk mengumpulkan antonim. Selesai.ping Hasil dalam set() menghapus entri duplikat.

Hipernim adalah istilah yang lebih luas dan umum (makan adalah hipernim dari sarapan), sedangkan hiponim adalah istilah yang lebih spesifik (nasi adalah hiponim dari makan). WordNet menghubungkan keduanya untuk membentuk hierarki "adalah".

English WordNet mencakup sekitar 155,287 kata yang dikelompokkan menjadi sekitar 117,659 set sinonim. Basis data ini mencakup empat bagian kata: kata benda, kata kerja, kata sifat, dan kata keterangan, yang masing-masing disimpan dalam sub-jaringan tersendiri.

Dalam kecerdasan buatan, WordNet mendukung tugas analisis teks seperti disambiguasi makna kata, koreksi ejaan, penerjemahan bahasa, dan deteksi spam. Relasi terstrukturnya memberikan model pembelajaran mesin fitur linguistik yang lebih kaya daripada hanya token mentah saja.

Ya. Alur kerja AI dan pembelajaran mesin menggunakan ukuran kemiripan WordNet seperti kemiripan jalur dan kemiripan Wu-Palmer. Mereka menilai seberapa dekat dua synset dengan mengukur jalur terpendek di antara keduanya dalam hierarki hipernim dan hiponim.

Kamus biasa mencantumkan definisi secara alfabetis. Sebaliknya, WordNet menghubungkan kata-kata berdasarkan maknanya melalui synset dan relasi leksikal, sehingga berperilaku seperti gabungan kamus dan tesaurus yang dapat dijelajahi mesin secara terprogram.

Ringkaslah postingan ini dengan: