단어의 의미를 나타내는 것은 NLP에서의 핵심적인 문제이다.
좋은 표현 방식은 단어들 간의 관계를 잘 표현하는 것이다.
어근 lemma
의미 sense
동의어 Synonyms
문맥상 같은 의미를 가지는 단어
filbert/hazelnut
couch/sofa
big/large
automobile/car
vomit/throw up
water/H2O
동의어라고 해서 모든 단어를 동의어 단어로 대체할 수 있는 것이 아니다.
상황에 따라 달라지는 단어들도 있다.
유사성 Simuilarity
동의어가 아니지만 유사한 의미를 가진 단어들이 있다.
car, bicycle
cow, horse
연관성 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일때 벡터가 희소 벡터라고 한다.
임베딩은 보통 밀집 벡터인 경우를 의미하지만 희소 벡터에서도 쓰일 수 있다.
임베딩을 사용하지 않는 경우
- 각 속성은 한 단어의 존재 유무이다
- 학습 데이터와 테스트 데이터에 동일한 단어가 나타나지 않으면 예측 결과가 좋지 않다.
임베딩 사용시
- 각 속성은 단어 임베딩 벡터
- 테스트 데이터에 새로운 단어가 나타나도 학습 데이터에 존재하는 유사한 단어를 통해 학습한 내용이 유효하다.
'인공지능 AI > 자연어처리 NLP' 카테고리의 다른 글
NLP 딥 모델 Transformer Bert RNN(LSTM) TextCNN GPT (0) | 2022.03.23 |
---|---|
NLP 단어임베딩 Word2Vec 코사인 유사도 TF-IDF (0) | 2022.03.21 |
NLP 문서분류 감성분류 주제분류 규칙기반모델 snorkel Naive Bayes (0) | 2022.03.18 |
NLP 언어모델 N-grams 조건부 확률 계산 MLE perplexity 평가 (0) | 2022.03.16 |
NLP 언어모델 결합확률 조건부확률 Markov assumption N-grams (0) | 2022.03.16 |