일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 수학
- Flexbox
- Javascript
- dataframe
- 백준
- 에라토스테네스의 체
- Photoshop
- Prefix Sums
- SK바이오사이언스
- Gap
- 포토샵
- spring
- 강화학습
- 확률
- 상태
- 알고리즘
- CSS
- Design Pattern
- pandas
- margin
- align-items
- skt membership
- c
- grid
- stl
- c++
- 소수
- series
- 통신사할인
- Codility
- Today
- Total
목록NLP (3)
sliver__

[word2vec 개선 1] CBOW 모델은 단어 2개를 맥락으로 사용해 타깃을 추측한다. 100만 개의 단어를 학습시킬 때는 문제가 발생한다. 입력층의 원핫 벡터와 가중치 행렬($W_{in}$)의 계산 -> Embedding 계층 도입 은닉층과 가중치 행렬($W_{out}$)의 계산 -> negative sampling [Embedding 계층] 어휘가 100만개, 은닉층 뉴런이 100개일 경우의 모델 원핫 벡터와 가중치 행렬곱은 가중치 행렬의 특정 행만 추출하는 행위 => 필요없는 짓 Embedding 계층은 단어 ID에 해당하는 행을 추출하는 계층 [Embedding 계층 구현] 가중치 W에서 전달받은 idx로 특정 행만 return class Embedding: def __init__(self, ..

[통계 기반 기법의 문제점] 많은 수의 단어를 처리하려면 메모리 사이즈가 ( 단어 수 * 단어 수 ) 만큼 필요하다. SVD를 n*n 행렬에 적용하는데는 $O(n^3)$ 의 비용이 든다. 학습 데이터를 한꺼번에 처리한다. [추론 기반 기법 개요] 주변 단어들을 맥락으로 사용해 알고싶은 위치의 단어를 추론한다. 모델이 등장. 모델을 신경망으로 사용하며 맥락 정보를 입력받아 각 단어의 확률을 출력한다. [신경망에서의 단어 처리] 단어를 고정 길이의 벡터 'One-hot vector'로 표기한다. 원핫벡터를 입력으로 신경망에 넣어 신경망에서 유추되는 단어의 값을 출력한다. [단순한 word2vec] CBOW(continous bag of words), skip-gram은 word2vec에서 사용되는 신경망이다..
[자연어 처리란] NLP(Natural Language Processing) : 자연어를 처리하는 분야 우리의 말을 컴퓨터에게 이해시키기 위한 기술 [시소러스] 뜻이 같은 단어(동의어), 뜻이 비슷한 단어(유의어) [WordNet] NTLK(Natural Language Toolkit) 라이브러리 사용 품사 태깅, 구문 분석, 정보 추출, 의미 분석 등 자연어 처리에 편리한 기능 제공 예제 import nltk from nltk.corpus import wordnet nltk.download('wordnet') nltk.download('omw-1.4') print(wordnet.synsets('car')) car = wordnet.synset('car.n.01') #car.n.01 / 단어 이름. 속성..