Apa itu Wordnet?
Wordnet adalah pembaca korpus NLTK, basis data leksikal untuk bahasa Inggris. Ini dapat digunakan untuk menemukan arti kata, sinonim atau antonim. Seseorang dapat mendefinisikannya sebagai kamus bahasa Inggris yang berorientasi semantik. Itu diimpor dengan perintah berikut:
from nltk.corpus import wordnet as guru
Statistik mengungkapkan bahwa ada 155.287 kata dan 117.659 set sinonim disertakan dengan WordNet Inggris.
Metode berbeda yang tersedia dengan WordNet dapat ditemukan dengan mengetik dir (guru)
['_LazyCorpusLoader__args', '_LazyCorpusLoader__kwargs', '_LazyCorpusLoader__load', '_LazyCorpusLoader__name', '_LazyCorpusLoader__reader_cls', '__class__' __ '__doc____ __ge__ ',' __getattr__ ',' __getattribute__ ',' __gt__ ',' __hash__ ',' __init__ ',' __le__ ',' __lt__ ',' __module__ ',' __name__ ',' __ne__ ',' __new__ ',' __reduce__ , '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__unicode__', '__weakref__', '_unload', 'subdir', 'unicode_repr']
Mari kita pahami beberapa fitur yang tersedia dengan wordnet:
Synset : Ini juga disebut sebagai set sinonim atau kumpulan kata-kata sinonim. Mari kita lihat contohnya
from nltk.corpus import wordnetsyns = 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 hubungan semantik yang timbal balik. Jika ada hubungan antara {x1, x2,… xn} dan {y1, y2,… yn} maka ada juga hubungan antara {y1, y2,… yn} dan {x1, x2,… xn}. Misalnya Sinonim adalah kebalikan dari antonim atau hypernym dan hiponim adalah jenis konsep leksikal.
Mari kita tulis program menggunakan python untuk mencari sinonim dan antonim dari kata "aktif" menggunakan Wordnet.
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))
Output dari kode:
{'dynamic', 'fighting', 'combat-ready', 'active_voice', 'active_agent', 'partisipasi', 'hidup', 'aktif'} - Sinonim
{'stative', 'passive', 'quiet', 'passive_voice', 'extinct', 'dormant', 'inactive'} - Antonim
Penjelasan kode
- Wordnet adalah korpus, sehingga diimpor dari ntlk.corpus
- Daftar sinonim dan antonim dianggap kosong yang akan digunakan untuk menambahkan
- Sinonim dari kata aktif dicari di synset modul dan ditambahkan ke dalam daftar sinonim. Proses yang sama diulangi untuk yang kedua.
- Output dicetak
Kesimpulan:
WordNet adalah database leksikal yang telah digunakan oleh mesin pencari utama. Dari WordNet, informasi tentang kata atau frase tertentu dapat dihitung seperti
- sinonim (kata-kata yang memiliki arti yang sama)
- hypernyms (Istilah umum yang digunakan untuk menunjuk kelas spesifik (yaitu, makan adalah sarapan), hyponim (nasi adalah makanan)
- holonim (protein, karbohidrat adalah bagian dari makanan)
- meronim (makan adalah bagian dari asupan makanan sehari-hari)
WordNet juga menyediakan informasi tentang istilah koordinat, turunan, indra, dan lainnya. Ini digunakan untuk menemukan kesamaan antara dua kata apa pun. Ini juga menyimpan informasi tentang hasil dari kata terkait. Singkatnya, seseorang dapat memperlakukannya sebagai Kamus atau Tesaurus. Lebih dalam di wordnet, ini dibagi menjadi empat subnet total seperti
- Kata benda
- Kata kerja
- Kata sifat
- Kata keterangan
Ini dapat digunakan di bidang kecerdasan buatan untuk analisis teks. Dengan bantuan Wordnet, Anda dapat membuat korpus untuk pemeriksaan ejaan, terjemahan bahasa, deteksi Spam, dan banyak lagi.
Dengan cara yang sama, Anda dapat menggunakan korpus ini dan membentuknya untuk menjalankan beberapa fungsi dinamis. Ini seperti korpus yang siap dibuat untuk Anda. Anda bisa menggunakannya dengan cara Anda.