본문 바로가기

Archive/자연어처리10

[밑딥2] CBOW 모델과 skip-gram 모델의 수식 이해 밑바닥부터 시작하는 딥러닝 ch3.5 정리 CBOW 모델과 확률 - 기호 정리 P(A) : 사건 A가 일어날 확률 P(A, B) : 동시 확률로, 사건 A와 B가 동시에 일어날 확률 P(A|B) : 사후확률. B가 주어질 때, A가 일어날 확률 - 확률적 해석 w1, w2, .... , w t-1, wt 라는 말 뭉치가 주어질 때, 윈도우 크기에 따른 맥락을 고려하자. 윈도우 = 1 일때, 맥락 wr-1, wr+1에서 target이 wr이 될 확률은 P(w_r | w_r-1, w_r+1)으로 주어지게 된다. 여기서 w_t는 one-hot encoding 된 상태이므로, 교차 엔트로피를 구하면 다음과 같다. L = -log P(w_r | w_r-1, w_r+1) 이를 말뭉치 전체로 확장할 수도 있다. sk.. 2021. 8. 2.
[밑딥2] 신경망에서의 단어 처리와 word2vec 목표 문장 상에서, 문맥을 통해 어떤 단어가 들어갈지를 추측하고자 한다. 이 때, 단순히 one-hot만 적용해서는 단어간 의미를 반영하기는 어렵다. 따라서 단어간 의미를 반영하는 벡터화를 하기 위한 방법이 바로 Word2Vec이다. Word2Vec의 방식 Word2Vec에는 다음 두 가지 방식이 존재한다. - CBOW(Continuous Bag of Words) : 주변 단어를 통해 중심 단어를 추론하기 - Skip-Gram : 중심 단어를 통해 주변 단어를 추론하기 여기서 중심 단어란, 예측해야 하는 단어를 의미하고, 주변 단어는 중심단어 앞 뒤로, 예측에 사용되는 단어를 의미한다. 즉 중심단어가 target이 되며, 주변 단어는 context, 맥락이 된다. 이 때, 주변단어 앞 뒤로 몇 개를 볼지.. 2021. 7. 31.
[밑딥2] 중요도, 유사도가 높은 단어 추출하기 상호 정보량을 고려하는 이유 corpus에서 단어들간의 동시 발생 횟수를 고려해보자. the 같은 단어는 빈도가 매우 많아서 다양한 단어와 강한 관련성이있다고 판단될 것이나, 의미까지 파악한다면 더 유사도가 높은 단어가 선택되어야 할 것이다. 이를 위해서 확률적 관점에서 바라보는 지표를 선택한다. PMI PMI(x, y) = log2 P(x,y)/(P(x) * P(y)) 로 정의된다. 여기서 P(x)는 x가 말뭉치에 등장할 확률을 의미한다. 예를들어 10,000개의 단어가 있는 말뭉치에서 the가 100번 등장한다면 P(the) = 0.01이 될 것이다. 동시발생 행렬과 PMI 앞에서 본 동시발생 행렬을 위의 식에 적용하면, P(x, y) = C(x, y)/N, P(x) = C(x) / N, P(y) =.. 2021. 7. 21.
[밑딥2] 시소러스(thesaurus)와 기본적인 전처리 앞으로, 밑딥 2를 통해 자연어 처리에 대해 기본적인 공부를 진행하고자 합니다. 크게 2장부터 내용을 시작하며, 내용 요약 및 추가로 찾은 내용을 정리합니다. 추가로, 패키지들의 사용법 또한 정리합니다. ----------------------------------------------------------------------- 시소러스란? 앞으로 NLP에서 단어의 의미는 '사전적 의미'보다는, 유의어에 집중하려고 한다. 유의어 집단을 통하여, 단어들과의 연관관계를 파악한다. 이러한 시소러스의 문제점은 다음과 같다. - 사람이 직접 레이블링해야 하므로, 시대의 변화에 대응하기는 어렵다. - 단어의 미묘한 차이를 표현하기 어렵다. 토큰화와 id부여 우리는 문장이나 긴 글을 분석을 위한 작은 단위로 나누어.. 2021. 7. 19.