목록Deep Learning/NLP (23)
Note
1. 잠재 의미 분석 ( Latent Semantic Analysis, LSA ) 토픽 모델링을 위해 최적화된 알고리즘은 아니지만, 아이디어를 제공하여 밑바탕이 된 알고리즘이다. BoW에 기반한 알고리즘은 기본적으로 단어 빈도수에 기반한 수치화 방법이기 때문에 의미를 고려하지 못한다는 단점이 있는데, 의미를 고려하지 못하는 것을 보완하기 위해 잠재적인 의미를 끌어내는 방법으로 사용한다. 특이값 분해를 통해 차원을 축소하고 축소된 차원에서 근접 단어들을 토픽으로 묶는다. 2. 잠재 디리클레 할당 ( Latent Dirichlet Allocation, LDA ) LDA는 문서 집합으로부터 어떤 토픽이 존재하는지 알아내기 위한 알고리즘이며, 단어의 수는 신경 쓰지 않는다. 즉, 단어가 특정 토픽에 존재할 확률..

Word2Vec은 추론 기반 방법이다. 여기서 사용하는 추론이란 주변 단어나 맥락이 주어졌을 때, 무슨 단어가 들어가는지를 추측하는 것이다. 통계기반 방법의 단점 대규모 말뭉치를 다룰 때 메모리상의 문제가 발생한다. 한 번에 학습 데이터 전체를 진행한다. 학습을 통해서 개선하기가 어렵다. Word2Vec은 위 단점을 보완하기 위한 방법이다. 정의 - 단어간 유사도를 반영하여 단어를 벡터로 바꿔주는 임베딩 방법론이다. 원-핫 벡터 형태의 sparse matrix가 가지는 단점을 보완하기 위해 저 차원의 공간에 벡터로 매핑하는 것이 특징이다. - Word2Vec은 비슷한 위치에 등장하는 단어들은 비슷한 의미를 가진다라는 가정을 기반으로 학습을 진행한다. 1) CBOW 주변에 있는 단어들을 가지고 중간에 있는..

1. 유클리드 거리 유클리드 거리는 좌표 평면 위에서 두 점 사이의 직선거리를 구하는 공식이다. 자연어 처리에서는 단어 사이의 거리를 나타내고자 하기 위해 유클리드 거리를 구한다. 위 식은 다차원에서 유클리드 공식이다. 2. 코사인 유사도 코사인 유사도는 직접적인 거리 방식이 아닌 두 벡터 간의 코사인 각도를 이용한 유사도 방식이다. 코사인 유사도는 -1 에서 1 사이의 값을 가지며, -1은 반대 방향, 0은 유사하지 않음, 1은 유사함을 나타낸다. 3. 자카드 유사도 자카드 유사도는 두 문서에서 공통된 비율로 유사한지를 알아보는 방식이다. 즉, 두 문서의 합집합에서 가지고 있는 공통된 벡터 교집합의 비율로 유사도를 측정하는 것이다. 자카드 유사도는 0에서 1사이 값을 가지며, 1에 가까울수록 두 문서는..
언어 모델이란? 단어 또는 문장에 확률을 할당하는 것을 하는 모델이다. 즉, 이전 단어 다음에 어떤 단어가 올 확률이 가장 높은 것인지를 찾아내는 것이다. 다른 유형으로는 두 사이에 어떤 단어가 올 확률이 높은 것인지를 찾는 모델이 있다. 흔히 말하는 언어 모델링은 주어진 단어를 토대로 주어지지 않은 단어를 예측하는 것이다. 단어 시퀀스에 확률을 할당해줄 때, 기본적으로 문장의 흐름이 자연스러운 쪽에 확률을 높게 할당한다. 기계 번역, 오타 교정, 음성 인식 등에서 문장의 구성이 좀 더 자연스러운 쪽으로 높은 확률을 할당한다. 예를 들면, '떠났다'와 '쩌났다'가 있다고 한다면 '떠났다'에 더 높은 확률을 할당하는 것이다. 이처럼 번역 과정, 오타, 음성 인식에서도 같이 활용된다. 크게 통계적 언어 모델..
1. 정규 표현식이란? 특정 규칙이 있는 텍스트 데이터를 좀 더 간편하고 빠르게 전처리 할 수 있는 방식이다. 2. 문법 문자 규칙 의미 \(역슬래쉬) 문자 자체 \d 모든 숫자( = [0-9] ) \D 숫자를 제외한 모든 문자 ( = [^0-9] ) \s 공백을 의미 ( = [\t\n\r\f\v] ) \S 공백을 제외한 문자 ( = [^\t\n\r\f\v] ) \w 문자 또는 숫자 ( = [a-zA-z0-9] ) \W 문자 또는 숫자가 아닌 문자 ( = [^a-zA-z0-9] ) ^문자가 오면 해당하는 것을 제외하고 라는 것을 알 수 있다. 특수 문자 의미 . 한 개의 임의 문자 ( \n은 제외 ) ? 앞에 문자가 있을수도 없을수도 있다.( 0 or 1개 ) * 앞에 문자가 무한개로 있을수도 없을수도 ..