Python - คำพ้องความหมายและคำตรงข้าม
คำพ้องความหมายและคำตรงข้ามมีให้เป็นส่วนหนึ่งของ wordnet ซึ่งเป็นฐานข้อมูลคำศัพท์สำหรับภาษาอังกฤษ สามารถใช้ได้เป็นส่วนหนึ่งของการเข้าถึง nltk corpora ใน wordnet คำพ้องความหมายคือคำที่แสดงถึงแนวคิดเดียวกันและใช้แทนกันได้ในหลายบริบทเพื่อให้ถูกจัดกลุ่มเป็นชุดที่ไม่เรียงลำดับ (synsets) เราใช้ synsets เหล่านี้เพื่อสร้างคำพ้องความหมายและคำตรงข้ามตามที่แสดงในโปรแกรมด้านล่าง
from nltk.corpus import wordnet
synonyms = []
for syn in wordnet.synsets("Soil"):
for lm in syn.lemmas():
synonyms.append(lm.name())
print (set(synonyms))
เมื่อเรารันโปรแกรมข้างต้นเราจะได้ผลลัพธ์ดังต่อไปนี้ -
set([grease', filth', dirt', begrime', soil',
grime', land', bemire', dirty', grunge',
stain', territory', colly', ground'])
เพื่อให้ได้คำตรงข้ามเราเพียงแค่ใช้ฟังก์ชันตรงข้าม
from nltk.corpus import wordnet
antonyms = []
for syn in wordnet.synsets("ahead"):
for lm in syn.lemmas():
if lm.antonyms():
antonyms.append(lm.antonyms()[0].name())
print(set(antonyms))
เมื่อเรารันโปรแกรมข้างต้นเราจะได้ผลลัพธ์ดังต่อไปนี้ -
set([backward', back'])