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