반응형
지난 포스팅
https://jamjamzo.tistory.com/124
참고
https://github.com/rickiepark/aiml4coders
6장 임베딩을 사용한 감성 프로그래밍
5장 내용은 단어를 토큰으로 인코딩하는 방법이다. 신경망 훈련에 사용 가능한 데이터 형태를 갖추도록 적절하게 시퀀스에 패딩을 추가하거나 길이를 줄였다. 하지만 모델링을 하는 방법은 아니었다. 토큰별로 나누어 인코딩을 했지만, 단어의 의미를 절대적인 수치로 인코딩하는 방법은 없다.
하지만, 단어의 의미를 상대적인 수치로 인코딩하는 고차원 공간의 벡터로 단어를 표현하는 임베딩에 대해 다룬다. 말뭉치에서 단어가 사용되는 방식을 기반으로 벡터의 방향을 학습시킬 수 있다.
- 사용하게 될 데이터셋: Scrcasm 데이터셋
6.1 단어의 의미 구축하기
고차원 임베딩 벡터를 만들기 전 간단한 예제를 통해 숫자에서 의미를 유도하는 방식 시각화
6.1.1 간단한 방법: 양수와 음수
- 빈정거리는 헤드라인: 각 단어마다 1을 부여
- Christian bale given neutered male statuette named oscar
- (크리스천 베일이 오스카라는 중성의 남성 조각상을 받았다.)
- 평범한 헤드라인: 각 단어마다 -1을 부여
- Gareth bale scores wonder goal against germany.
- (개러스 베일이 독일을 상대로 놀라운 골을 넣었다.)
- 중복되는 단어: 0, 빈정거리는 헤드라인에만 있는 단어: 1, 평범한 헤드라인에만 있는 단어: -1
6.1.2 조금 더 어려운 방법: 벡터
- 6.1.1에 나온 방법으로 보면 컴퓨터가 개별 단어의 의미를 이해하지 못한다.
- 차원을 증가하는 방법?
- 제인 오스틴의 『오만과 편견』에 나오는 등장인물을 성별과 귀족 차원으로 생각해보자.
- x축: 성별
- y축: 귀족
- 벡터의 길이: 각 등장인물의 재산
※ 나머지 내용은 colabortory notebook을 참고하십시오.
https://colab.research.google.com/drive/14bgWd-NXHveDI5UKdIHtvk0MhG-W_Zdx?usp=sharing
반응형
'그냥, 코딩' 카테고리의 다른 글
(python)백준 2단계 조건문(파이썬) (0) | 2022.12.10 |
---|---|
[개발자를 위한 머신러닝&딥러닝] 자연어 처리를 위한 순환 신경망 (0) | 2022.11.09 |
[개발자를 위한 머신러닝&딥러닝] 자연어 처리 소개 (0) | 2022.10.26 |
[개발자를 위한 머신러닝&딥러닝] 텐서플로 데이터셋으로 공개 데이터셋 사용하기 (0) | 2022.10.24 |
[개발자를 위한 머신러닝&딥러닝] 전이학습 (0) | 2022.10.19 |