[토크ON세미나] 자연어 언어모델 ‘BERT’ 1강 - 자연어 처리 (NLP) | T아카데미
- 규칙/지식 기반 접근법
- 확률/통계 기반 접근법 - 예) TF-IDF를 이용한 키워드 추출
[데이터 전처리]
: 개행 문자 제거, 특수 문자 제거, 공백 제거, 중복 표현 제거, 이메일/링크 제거, 제목 제거, 불용어 제거, 조사 제거, 띄어쓰기/문장 분리 보정, 사전 구축 등
-> [토크나이징]
: 문장을 특별한 의미가 있는 단위로 자르는 것. - 예) 한국어는 어절이 의미를 가지는 최소단위가 아니다. 따라서 형태소 단위로 자름.
-> <Word Embedding>
[특징 추출과 분류]
: 자연어에서는 어떻게 데이터를 좌표평면 위에 표현할 수 있을까? -> one hot 인코딩을 이용할 수 O. 다만 단어의 의미를 나타내지는 못하고, sparse해지기 때문에 나오게 된 방법이 "word2vec"이다.
[word2vec]
: 자연어를 의미 공간에 임베딩하는 알고리즘 중 하나. 주변 단어를 통해 의미를 파악한다. 예를 들어, ___이 멍멍 짖었다.와 ___이 멍멍하고 짖었다.라는 문장이 있다면 ___에 들어갈 단어는 비슷한 의미를 가졌다는 걸 파악할 수 있다.
- CBOW 모델
- Skip-gram 모델
word2vec은 '입력층 - 은닉층 - 출력층'의 간단한 신경망 구조로 되어 있다. 인풋으로는 one hot 벡터를 넣고, 아웃풋은 맞추고자 하는 주변단어의 one-hot이 나오게 된다. 실습은 gensim을 이용하여 해볼 수 있다.
[FastText]
: word2vec을 대체할 수 있는 모델. 기존의 word2vec에서 n-gram으로 잘라서 학습한다는 점만 다르다. OOV(Out-Of-Vocabulary) 문제가 발생하더라도 대처할 수 있다는 장점을 가진다. (+) 한국어에서의 n-gram은 음절이나 자소단위를 생각해볼 수 있다. 이 때 음절로 나눌 경우 oov 대처가 잘 되지 않아 자소 단위를 사용한다고 한다.)
[Word Embedding 검증 방법]
1) 유사도 비교(예) WordSim353 데이터)
2) Semantic/syntactic analogy(예) 한국 - 서울 + 도쿄 = 일본) : 단어가 벡터 형태로 관계를 표현할 수 있기 때문에 가능함!
[한국어에서의 워드 임베딩]
: 한국어는 다양한 용언 형태를 가진다. 이에 맞는 워드 임베딩을 한다면 더 좋은 성능이 나올 수도 있을 것이다.
[Word Embedding의 활용]
: 보통 다른 자연어처리의 가장 밑단(입력)으로 사용된다. 즉, feature를 인풋으로 넣는 것이다. 학습 데이터의 양이 작은 경우 바로 신경망에 적용하면 학습이 제대로 이뤄지지 않지만, 워드 임베딩을 거치면 활용할 수 있게 된다.
[Word Embedding의 한계]
: 동형어, 다의어 등에 대해선 임베딩 성능이 좋지 않다. 주변 단어를 통해 '학습'이 이루어지기에 '문맥'을 고려할 수 없기 때문이다.
'✨ 공부 기록 > NLP' 카테고리의 다른 글
[T아카데미] 자연어 언어모델 ‘BERT’ 2강 정리(1) - 언어 모델(language model) (0) | 2023.01.04 |
---|