본문 바로가기

NLP

자연어 처리

자연어 처리 방법
- 단어 간의 유사도 - 단어를 수치적으로 표현하여 기계가 이해할 수 있도록 -> 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