티스토리 뷰
Text Representation- Distributed Representation (NNLM- Neural Network Language Model)
데이터사이엔티스트 2021. 9. 13. 12:27Word Embedding
- 언어에서 사용되는 단어들을 특정한 공간의 벡터 스페이스에 매핑
- 목적은 의미론적은 유사한 단어들은 서로 가까운 공간에 위치
- BoW에서 사용되던 원핫인코딩은 단어의 수만큼 차원을 만들어야되서, 비효율적임
원 핫 벡터
- 가장 직관적이고, 간단한 방법
- 단어의 수만큼 벡터 스페이스를 생성해서 단어에 해당되는 벡터의 값을 1로 변경하고 나머지는 0으로 유지
- 단어들의 유사성은 보존할 수 없다는게 큰 단점
다시 돌아와서 워드 임베딩은,
특정한 단어들을 임의의 차원을 가진 벡터로 바꾸는 작업
- 단어들을 100차원, 300차원 등 기존에 사용되던 차원보다 훨씬 작은 차원을 사용
- 각 벡터들을 값들은 0,1 값이 아닌 연속형의 숫자값인 실수로 표현
- King, Queen와 Male, Woman의 거리 차이가 유사하게 남 (의미론적인 차이를 보존하고 있음)
NNLM의 주요 목적은 단어들의 동시에 고정된 공간 상에 가장 좋은 벡터로 학습시키는 것과 일련의 단어의 시퀀스들의 확률을 높게 나타나도록 학습한다.
Count-based Language Model
- 이전의 조합들이 주어진다는 가정하에 chain rule 사용
- 100개의 단어를 보려면 99개의 단어들을 베이스로 100번째 단어의 가장 높은 확률을 도출해내야되는데,
이렇게 긴 단어들의 시퀀스를 가진 문장들은 거의 찾기가 불가능
- 이를 보완하기 위해서, Markov assumption을 적용해서 과거의 모든 단어들을 보는게 아니라 n-gram을 적용해 몇 개의 단어를 보는 것으로 대체
NNLM
- 단어들은 특정 공간 내에서의 dense vector이다 (sparse vector가 아니다)
- 앞서 t-1 단어들이 주어지면, 임베딩 된 벡터들과 뉴럴 네트워크의 가중치를 동시에 학습시키는 모델
- 주어진 단어들의 w^(t-n+1) 이전의 n개들의 단어들을 활용해서 w^(t) 단어를 예측해야된다.
두개의 제한
- 이후 단어들의 생성 확률의 총 합은 1
- 각 단어가 생성된 확률은 0보다 크거나 같아야함
잘 이해가 안되는 부분
- 좌측이 원핫 벡터이고 우측이 워드 임베딩 매핑 테이블
- 제가 이해하는 바로는, 원핫 벡터는 해당 단어만 1 나머지는 0의 값을 가진다
- 우측 임베딩 테이블은, 해당 단어의 차원에 m 차원의 실수값들이 존재
- 그럼 임베딩 테이블은 단어 * m 차원으로 원 핫 벡터보다 훨씬 공간을 잡아먹는게 아닌지 궁금합니다.
(필요한 단어들만 꺼내서 쓴다라는 의미인지 제가 잘못 이해하고 있는 것 같아서 질문 드립니다)
- g라는 함수의 probability function은 앞 단어들을 베이스로 t 번째의 단어의 확률들을 계산한다.
- i 번째의 단어 값이 최대가 되도록 하는 nnlm 모델을 만드는게 최종 목적
- 뉴럴 네트워크의 히든 레이어는 한개 (2003년도에 만들어져서 적음)
- X 값들은 input layer (기존에 세팅한 n-gram 단어들)
- 중간에 히든 노드는 H의 사이즈를 가지고 있어 input layer와 히든 레이어 가중치는 H * (n-1)*m의 사이즈를 가지고 있음
- 아웃풋 레이어는 V(단어)들의 사이즈만큼 결과값이 나와야되고, 히든 레이어는 H개의 결과값이 나오기 때문에
가운데 compute 되는 과정의 가중치 U는 H * V 사이즈만큼의 매트릭스를 구성해야되기 때문에 연산에 가장 큰 burden을 차지하는 부분
- W는 optional value(초록색 점선)으로 단어에서 바로 아웃풋 레이어로 보내지는 값
Stochastic gradient ascent
- 강의 내에서는 descent로 말씀하시는데 확인할 필요가 있음
- 전체 목적함수를 세타로 편미분하는 방식
'텍스트분석' 카테고리의 다른 글
02. Text Preprocessing (0) | 2021.09.12 |
---|---|
Topic Modeling - 2. LSA & LDA (0) | 2021.04.13 |
Topic Modeling - 1. 개요 (0) | 2021.04.03 |
1. 개인 프로젝트 - 주식 가격 예측하기 (0) | 2020.08.17 |
1. 파이썬 웹크롤링 with Selenium, Chrome (0) | 2019.09.16 |
- Total
- Today
- Yesterday
- 분류 모델 성능 평가지표
- wordembedding
- kaggle
- 딥러닝추천시스템
- 데이터분석 척도
- recommendationsystem
- 국립국어원대회
- denserepresentation
- 데이터분석
- 표본 추출
- 국어정보처리시스템경진대회2020
- 자연어처리공모전
- kaggle competition
- 통계 분류 검증
- 빅데이터공모전
- 통계 척도
- 데이터분석공모전
- instantgratification
- featureselection
- 대응표본 검정
- 비전공자데이터분석
- significant level
- featureextraction
- 일표본 검정
- 캐글
- 텍스트분석
- 추천시스템논문
- 딥러닝추천모델
- 주식종목예측시나리오
- 독립표본 t 검정
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |