Python - อินเทอร์เฟซ WordNet

WordNet เป็นพจนานุกรมภาษาอังกฤษคล้ายกับพจนานุกรมแบบดั้งเดิม NLTK รวมถึง WordNet ภาษาอังกฤษ เราสามารถใช้เป็นข้อมูลอ้างอิงในการรับความหมายของคำตัวอย่างการใช้งานและคำจำกัดความ การรวบรวมคำที่คล้ายกันนี้เรียกว่า lemmas คำใน WordNet มีการจัดระเบียบและโหนดและขอบที่โหนดแสดงถึงข้อความคำและขอบแสดงถึงความสัมพันธ์ระหว่างคำ ด้านล่างเราจะดูว่าเราสามารถใช้โมดูล WordNet ได้อย่างไร

Lemmas ทั้งหมด

from nltk.corpus import wordnet as wn
res=wn.synset('locomotive.n.01').lemma_names()
print res

เมื่อเรารันโปรแกรมข้างต้นเราจะได้ผลลัพธ์ดังต่อไปนี้ -

[u'locomotive', u'engine', u'locomotive_engine', u'railway_locomotive']

นิยามคำ

ความหมายตามพจนานุกรมของคำสามารถหาได้โดยใช้ฟังก์ชันนิยาม อธิบายความหมายของคำตามที่เราพบได้ในพจนานุกรมทั่วไป

from nltk.corpus import wordnet as wn
resdef = wn.synset('ocean.n.01').definition()
print resdef

เมื่อเรารันโปรแกรมข้างต้นเราจะได้ผลลัพธ์ดังต่อไปนี้ -

a large body of water constituting a principal part of the hydrosphere

ตัวอย่างการใช้งาน

เราสามารถรับประโยคตัวอย่างที่แสดงตัวอย่างการใช้คำโดยใช้ exmaples() ฟังก์ชัน

from nltk.corpus import wordnet as wn
res_exm = wn.synset('good.n.01').examples()
print res_exm

เมื่อเรารันโปรแกรมข้างต้นเราจะได้ผลลัพธ์ดังต่อไปนี้ -

['for your own good', "what's the good of worrying?"]

คำตรงข้าม

รับคำตรงข้ามทั้งหมดโดยใช้ฟังก์ชันตรงข้าม

from nltk.corpus import wordnet as wn
# get all the antonyms
res_a = wn.lemma('horizontal.a.01.horizontal').antonyms()
print res_a

เมื่อเรารันโปรแกรมข้างต้นเราจะได้ผลลัพธ์ดังต่อไปนี้ -

[Lemma('inclined.a.02.inclined'), Lemma('vertical.a.01.vertical')]