일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 첨가행렬
- 모수
- 표본공간
- 절삭평균
- 베르누이분포
- 이산형
- 수학적확률
- 균일분포
- pmf
- Anaconda
- 기댓값과 분산
- 사조사
- 조건부확률
- 기본행연산
- 표본평균
- 행사다리꼴
- 통계학개론
- 이산확률질량함수
- 이항분포
- 확률밀도함수
- jupyter notebook
- 통계학입문
- 피어슨상관계수
- 범주형자료
- 모평균
- 수치형자료
- 포아송분포
- 연속확률변수
- 누적분포함수
- 이변량자료
- Today
- Total
summ의 블로그
자연어처리 (1) 본문
자연어처리의 모든 것
https://www.boostcourse.org/ai330/joinLectures/369533
워드 임베딩
word embedding : 주어진 텍스트들을 숫자로 변환시키는 과정
기존의 자연어 처리는?
단어 별 어순으로 나누고, 번역하는 등 언어적 지식을 활용한 rule-based 모델
transformer
2017년 !
트랜스포머 transformer 모델: 언어학적 룰 기반이 아닌 번역된 영어&한글 번역 쌍을 학습 데이터로 사용하여 시퀀스 데이터를 처리하는 self-attention 구조를 사용한 딥러닝 기계번역 모델
→ 번역 성과가 월등히 향상하는 결과
- self-attention
self-attention 구조의 학습이며 범용적 task를 활용하여 학습
전이 학습의 형태로 사전에 학습된 모델을 큰 구조의 변화 없이도 특정 task 를 원하는 형식으로 적용가능
입력 데이터의 각 요소가 서로 얼마나 관련 있는지 계산하는 방식으로 동작
ex 입력문장이 주어져있을 때 일부 단어를 가려두고 앞뒤 문맥을 보고 가려진 단어를 맞추게 하는 task
→ 언어의 문법적, 의미적 정보 활용에 효과적
bert, gpt, 등등이 트랜스포머를 사용한 주요 모델로 이를 위해서 대규모 데이터와 gpu가 필요하다.
Bag - of - words representation
bag-of-words BoW: text를 숫자로 표현하는 방식
↔ word embedding 과 비교
문장에 쓰인 단어들을 사전으로 만들고 범주형 데이터로 처리하여 원핫인코딩 벡터로 만든다.
이때 단어의 순서, 의미와 상관없이 모두 동일하게 단어를 처리하기에
- 단어 간의 유사도는 유클리드 distance : 루트 2
- 내적값, 코사인 유사도: 0
쉽게 표현하면, Bag-Of-Words는 '가방'이라는 개념을 통해 문장을 구성하고 있는 단어들을 가방에 순차적으로 정리하는 것입니다. 가방에 있는 각 단어들은 각각 원-핫 벡터를 통해 숫자로 변환하며, 주어진 문장은 벡터의 합으로 표현됩니다.
나이브 베이즈 분류
P(c): c인 사전확률에서 P(d|c): c일 때 d가 나타날 확률이 최대가 되는 c 추정
MAP 추정: P(d∣c)*P(c)를 최대화하여 최적의 클래스를 찾는 방식이며 사전 확률과 우도를 고려
data | doc(d) | document(words, w) | class(c) |
training | 1 | Image recognition uses convolutional neural networks | cv |
2 | Transformers can be used for image classification task | cv | |
3 | Language modeling uses transformer | nlp | |
4 | Document classification task is language task | nlp |
위와 같은 예시를 통해 계산해 보자.
test 문장 <<< classification task uses transformer >>>
위의 문장이 어떠한 클래스 c로 분류될 수 있을까?
나이브 베이즈 분류기를 사용하여 계산해보자.
각각의 C로 분류될 확률 2/4 = 1/2
전체 단어 14개 / 10개
cv 1/2 * 1/14 * 1/14 * 1/14 * 1/14 = 1/76832
nlp 1/2 * 1/10 * 2/10 * 1/10 * 1/10 = 1/1000
값이 더 큰 nlp로 분류됨.
여기서 확인할 수 있는 분류기의 문제점은?
만약, 한 번이라도 나오지 않은 단어가 있다면 0이기에 최종 결괏값이 0이 되는 문제가 발생한다.
'자연어처리' 카테고리의 다른 글
자연어처리 (6) transformer (1) | 2024.11.09 |
---|---|
자연어처리 (5) 출력값 생성기법 (1) | 2024.10.29 |
자연어처리 (4) seq2seq with attention (1) | 2024.10.24 |
자연어처리 (3) RNN (0) | 2024.10.15 |
자연어처리 (2) w2v & glove (2) | 2024.09.30 |