Python - Từ đồng nghĩa và trái nghĩa

Từ đồng nghĩa và trái nghĩa có sẵn như một phần của mạng từ, một cơ sở dữ liệu từ vựng cho ngôn ngữ tiếng Anh. Nó có sẵn như một phần của quyền truy cập kho tài liệu nltk. Trong wordnet Từ đồng nghĩa là những từ biểu thị cùng một khái niệm và có thể hoán đổi cho nhau trong nhiều ngữ cảnh để chúng được nhóm lại thành các tập hợp không có thứ tự (synsets). Chúng tôi sử dụng các tập hợp mã này để lấy các từ đồng nghĩa và trái nghĩa như được hiển thị trong các chương trình dưới đây.

from nltk.corpus import wordnet
synonyms = []
for syn in wordnet.synsets("Soil"):
    for lm in syn.lemmas():
             synonyms.append(lm.name())
print (set(synonyms))

Khi chúng tôi chạy chương trình trên, chúng tôi nhận được kết quả sau:

set([grease', filth', dirt', begrime', soil', 
grime', land', bemire', dirty', grunge', 
stain', territory', colly', ground'])

Để lấy từ trái nghĩa, chúng ta chỉ cần sử dụng hàm trái nghĩa.

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

Khi chúng tôi chạy chương trình trên, chúng tôi nhận được kết quả sau:

set([backward', back'])