NLTK WordNet: NLTK WordNet의 동의어 찾기 Python
⚡ 스마트 요약
WordNet은 영어 명사, 동사, 형용사, 부사를 동의어 집합(synset)으로 묶는 어휘 데이터베이스이자 NLTK 코퍼스 판독기입니다. Python 프로그램은 자연어 처리를 위해 동의어, 반의어, 상위어 및 단어 의미를 검색합니다.

워드넷이란 무엇입니까?
워드 넷 (WordNet) WordNet은 영어 어휘 데이터베이스인 NLTK 코퍼스 리더입니다. 단어의 의미, 동의어 또는 반의어를 찾는 데 사용할 수 있습니다. 의미 중심의 영어 사전이라고 정의할 수 있습니다. WordNet은 다음 명령어를 사용하여 가져올 수 있습니다.
from nltk.corpus import wordnet as guru
WordNet은 완성된 코퍼스 형태로 제공되므로, 한 번만 로드하면 별도의 사전을 구축할 필요 없이 바로 단어 간의 관계를 검색할 수 있습니다.
NLTK WordNet의 동의어 찾기 Python
통계에 따르면 단어 155287개, 동의어 117659개 WordNet 영어판에 포함된 세트들입니다. WordNet에서 사용할 수 있는 다양한 학습 방법은 유형별로 확인할 수 있습니다.ping dir(guru)는 코퍼스 리더가 노출하는 모든 로더 속성과 헬퍼 메서드를 나열합니다.
Synset: 동의어 집합 또는 동의어 모음이라고도 합니다. 예를 들어 보겠습니다.
from nltk.corpus import wordnet syns = wordnet.synsets("dog") print(syns)
출력:
[Synset('dog.n.01'), Synset('frump.n.01'), Synset('dog.n.03'), Synset('cad.n.01'), Synset('frank.n.02'), Synset('pawl.n.01'), Synset('andiron.n.01'), Synset('chase.v.01')]
어휘적 관계: 이러한 관계는 상호적인 의미 관계입니다. {x1, x2, … xn}과 {y1, y2, … yn} 사이에 관계가 있다면, {y1, y2, … yn}과 {x1, x2, … xn} 사이에도 관계가 있습니다. 예를 들어, 동의어는 반의어의 반대말이며, 상위어와 하위어는 일종의 어휘 개념입니다.
다음을 사용하여 프로그램을 작성해 보자. Python WordNet을 사용하여 "active"라는 단어의 동의어와 반의어를 찾아보세요.
from nltk.corpus import wordnet synonyms = [] antonyms = [] for syn in wordnet.synsets("active"): for l in syn.lemmas(): synonyms.append(l.name()) if l.antonyms(): antonyms.append(l.antonyms()[0].name()) print(set(synonyms)) print(set(antonyms))
코드 출력:
{'dynamic', 'fighting', 'combat-ready', 'active_voice', 'active_agent', 'participating', 'alive', 'active'} -- Synonym
{'stative', 'passive', 'quiet', 'passive_voice', 'extinct', 'dormant', 'inactive'} -- Antonym
코드 설명:
- WordNet은 코퍼스이므로 nltk.corpus 패키지에서 가져옵니다.
- 동의어와 반의어 목록 두 개는 비어 있는 상태로 간주되며, 이는 나중에 내용을 추가하는 데 사용될 것입니다.
- "active"라는 단어의 동의어를 synsets 방법을 사용하여 검색하고 동의어 목록에 추가합니다. 동일한 과정을 통해 반의어도 수집합니다.
- 출력 결과는 다음과 같습니다. Python 중복 항목이 자동으로 제거되도록 설정합니다.
WordNet은 동의어와 반의어를 넘어 상위어(더 광범위한 용어), 하위어(더 구체적인 용어), 전체어, 부분어 관계까지 제공하므로, 단 한 번의 검색으로 단어를 전체 'is-a' 계층 구조 내에 배치할 수 있습니다. 이러한 관계 덕분에 WordNet은 맞춤법 검사, 언어 번역, 스팸 탐지 및 기타 인공지능 텍스트 분석 작업에 실용적인 유의어 사전으로 활용될 수 있습니다.
