자연어 처리 방법
- 단어 간의 유사도 - 단어를 수치적으로 표현하여 기계가 이해할 수 있도록 -> Word Embedding
- 문장의 context 이해
-Token : 단어처럼 의미를 가지는 요소
-Morphemes : 의미를 가지는 언어에서 최소 단위
-POS : Nouns, Verbs (문법적 역할)
-Stopword : I my, me, 조사, 접미사와 같이 자주 나타나지만 실제 의미에 큰 기여를 하지 못하는 단어들
-Stemming : 어간만 추출하는 것을 의미( running, runs, run -> run )
-Lemmatization : 앞뒤 문맥을 보고 단어를 식별하는 것
-Lexical Analysis (어휘분석)
-WSD (word sense disambiguation) : 동형어와 다의어
단어 중의성 해소
Lesk Algorithm (레스크 알고리즘) - 가장 간단한 사전 기반 중의성 해소 방법
가정) 문장 내에 같이 등장한 단어들은 공통 토픽을 공유한다.
1) 중의성 해소를 위해 사전 내 의미별 설명과 주어진 문장 내에 등장한 단어의 사전에서 의미별 설명 사이의 유사도를 구함.
def lesk ( sentence, word ) :
from nltk import lesk
best_synset = lesk(sentence.split(), word)
print(best_synset, best_synset.definition())
단점: 사전에 설명이 부실하거나 주어진 문장에 큰 특징이 없을 경우 단어 중의성 해소 능력 떨어짐.
동의어
상위어와 하위어
thesaurus -단어 간의 유사성을 맵핑할 수 있다면?
트리구조<---> 하나의 노드가 여러 상위 노드를 가질 수 있음
TF-IDF
'NLP' 카테고리의 다른 글
선택 선호도 (selectional preference) (0) | 2020.03.31 |
---|---|
sliding window (0) | 2020.03.30 |