Python-동의어 및 반의어

동의어와 반의어는 영어 어휘 데이터베이스 인 wordnet의 일부로 제공됩니다. nltk 말뭉치 액세스의 일부로 사용할 수 있습니다. wordnet에서 동의어는 동일한 개념을 나타내며 여러 문맥에서 상호 교환이 가능하여 순서가 지정되지 않은 집합 (synset)으로 그룹화되는 단어입니다. 우리는이 synset을 사용하여 아래 프로그램과 같이 동의어와 반의어를 도출합니다.

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