sailorCat
작성일
2022. 3. 18. 23:52
작성자
sailorCat
728x90

단어의 의미를 나타내는 것은 NLP에서의 핵심적인 문제이다.

좋은 표현 방식은 단어들 간의 관계를 잘 표현하는 것이다.

 

어근 lemma

의미 sense

 

동의어 Synonyms

문맥상 같은 의미를 가지는 단어

 

filbert/hazelnut

couch/sofa

big/large

automobile/car

vomit/throw up

water/H2O

 

동의어라고 해서 모든 단어를 동의어 단어로 대체할 수 있는 것이 아니다.

상황에 따라 달라지는 단어들도 있다.

 

 

유사성 Simuilarity

동의어가 아니지만 유사한 의미를 가진 단어들이 있다.

car, bicycle

cow, horse

 

수작업으로 구한 유사성 0 - 10

 

 

 

연관성 Relatedness

단어들은 의미의 유사성 외에도 다양한 방식으로 연관된다.

Semantic Field

 

 

Semantic Frame

특정한 주제 topic 이나 영역 domain을 공유하는 단어들

 

hospitals - surgeon, scalpel, nurse, anaesthetic, hospital

restaurants - waiter, menu, food, plate, shef

houses - door, roof, kitchen, family, bed

 

또한 특정 행위에 참여하는 주체들의 역할에 관한 단어들

상거래 - buy, sell, pay

 

 

 

 

벡터로 의미 표현

단어들은 주변의 환경과 주변 단어들의 분포에 의해 의미가 결정된다.

만약 두 단어 A, B가 거의 동일한 주변 단어들의 분포를 가지고 있다면, 그 두 단어는 유사어이다.

 

Ong choy is delicious sauteed with garlic

Ong choy is superb over rice 

Ong choy leaves with salty sauce

 

spinach sauteed with garlic over rice

Chard stems and leaves are delicious

Collard greens and other salty leafy greens

 

다음 문장들에서 유사성이 있는 단어를 유추할 수 있고, Ong Choy는 시금치와 같은 채소라는 것을 유추할 수 있다.

 

 

단어의 의미를 분포적 유사성 Distributional Similarity 으로 표현한다.

벡터 공간 내에서 비슷한 단어들은 가까이에 위치한다.

 

이렇게 벡터로 표현된 단어를 임베딩 embedding이라고 부른다.

최근 거의 모든 NLP는 단어 임베딩을 사용하고 있다.

 

대부분의 원소가 0이 아닐때 밀집 벡터

대부분의 원소가 0일때 벡터가 희소 벡터라고 한다.

 

임베딩은 보통 밀집 벡터인 경우를 의미하지만 희소 벡터에서도 쓰일 수 있다.

 

 

 

 

임베딩을 사용하지 않는 경우

- 각 속성은 한 단어의 존재 유무이다

- 학습 데이터와 테스트 데이터에 동일한 단어가 나타나지 않으면 예측 결과가 좋지 않다.

 

임베딩 사용시 

- 각 속성은 단어 임베딩 벡터

- 테스트 데이터에 새로운 단어가 나타나도 학습 데이터에 존재하는 유사한 단어를 통해 학습한 내용이 유효하다.

 

 

 

728x90